Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement DataProcessors #8

Closed
gabizou opened this issue Apr 24, 2015 · 166 comments
Closed

Implement DataProcessors #8

gabizou opened this issue Apr 24, 2015 · 166 comments

Comments

@gabizou
Copy link
Member

gabizou commented Apr 24, 2015

Given that Data API is rather large when it comes to the amount of data it is supposed to handle, this is a checklist of the data that is implemented.

If you'd like to implement one, please follow these guidelines by copy pasting this code block into your PR description and check mark as necessary:


Implementation of REPLACE_WITH_DATA_MANIPULATOR.

  • Registration of field getters and setters
  • Accurately used the appropriate AbstractData implementation

Implementation of REPLACE_WITH_IMMUTABLE_MANIPULATOR

  • Accurately extended the appropriate AbstractImmutableData implementation
  • Accurately instantiating final instance fields with an ImmutableValue counter part for any value getters
  • If necessary, creating a new ImmutableValue for a value that should not be cached, or, using the existing caching utils.

Implementation of the VALUE_PROCESSOR(s):

  • Appropriately extended AbstractSpongeValueProcessor
  • Individual processors for each source type possible (one for ItemStack/TileEntity/Entity as necessary).

Registration:

  • Registered the Key correctly by FIELD_NAME in the KeyRegistry
  • Registered the DataProcessors and DataManipulatorBuilder in SpongeSerializationRegistry
  • Registered the ValueProcessors in the SpongeSerializationRegistry

You should create and include a test plugin in your pull request. Preferably, it should test all possible value related methods with your DataManipulators and also test the serialization and deserialization of your DataManipulators.


The Checklist:

TileData

EntityData

ItemData

BlockData

Common Data

Updated as of January 30, 2018

@gabizou gabizou self-assigned this Apr 24, 2015
@Zidane Zidane changed the title Implement DataManipulator Utils Implement DataProcessors May 25, 2015
@gabizou
Copy link
Member Author

gabizou commented Aug 10, 2015

I am taking requests and offering the public to freely implement a DataProcessor and the associated ValueProcessors for the DataManipulator.

@RobertHerhold
Copy link
Contributor

VelocityData and SignData please :)

@Aaron1011
Copy link
Contributor

I'll take GamemodeData.

@mmonkey
Copy link

mmonkey commented Aug 12, 2015

I second the VelocityData!

@gabizou
Copy link
Member Author

gabizou commented Aug 12, 2015

I'm implementing SignData as we speak. I'll get to VelocityData likely tonight as well.

@ST-DDT
Copy link
Member

ST-DDT commented Aug 12, 2015

I'll help with StatisticData and AchievementData.

@gabizou
Copy link
Member Author

gabizou commented Aug 12, 2015

I'll help with StatisticData and AchievementData.

Note that you'll have to implement far more than just the StatisticDataProcessor and StatisticValueProcessor since there is NO implementation of statistics in general in SpongeCommon.

@ST-DDT
Copy link
Member

ST-DDT commented Aug 12, 2015

I know. I already mentioned it last weekend that I would start doing so before the data API merge.
I just checked in this issue, whether the data part is already implemented, and mentioned it here for documentation purposes.
However I cannot start immediately as I have to update my pending PRs first.

Thanks for your hint anyway.

@Lunaphied
Copy link

I'll work on TradeOfferData.

@hsyyid
Copy link
Contributor

hsyyid commented Aug 15, 2015

I'd like to work on PassengerData

@DDoS
Copy link
Contributor

DDoS commented Aug 15, 2015

Where's AABBData? It should be a common data (blocks and entities have it).

@hsyyid
Copy link
Contributor

hsyyid commented Aug 16, 2015

I'd like to work on Whitelist Data

@kamcio96
Copy link

I will work on TargetedLocationData.
But DataManipulatorBuilder has create method. I don't know what it should return.

@ryantheleach
Copy link
Contributor

Currently working on TameableData #134

@gabizou
Copy link
Member Author

gabizou commented Aug 18, 2015

Tagging SpongePowered/SpongeAPI#812

@Aaron1011
Copy link
Contributor

I'm taking PotionEffectData

@hsyyid
Copy link
Contributor

hsyyid commented Aug 18, 2015

I'm taking IgniteableData

@hsyyid
Copy link
Contributor

hsyyid commented Aug 18, 2015

I'd like to work on FlyingData

@lucdon
Copy link
Contributor

lucdon commented Sep 8, 2015

i will work on LoreData and PagedData

@JBYoshi
Copy link
Member

JBYoshi commented Sep 8, 2015

I'll work on BreakableData and PlaceableData. https://github.com/JBYoshi/SpongeCommon/tree/data/placeable-breakable

@gabizou
Copy link
Member Author

gabizou commented Sep 12, 2015

Just to alert people of various PR's and intentions to implement, there have been recent changes to implementing DataProcessors for Entity related data, so please, consider reading the changes.

@hsyyid
Copy link
Contributor

hsyyid commented Sep 12, 2015

Okay

@ghost
Copy link

ghost commented Sep 12, 2015

I'm working on WetData.

@ryantheleach
Copy link
Contributor

I'd like to request JoinData it's currently blocking any form of setting the spawn for players logging on for the first time, as it's currently not firing RespawnEvents(they were never dead, just not born)

@randombyte-developer
Copy link

I wanted to use TargetedLocationData, read the list of this issue and saw that TargetedLocationData isn't done. So I waited and waited, nothing happened. Today I wanted to implement it myself and saw this PR.
TargetedLocationData should be ticked in the list above.

@kashike
Copy link
Contributor

kashike commented Mar 28, 2016

@gabizou This list needs updating whenever you get time :)

@simon816
Copy link
Contributor

I have updated the list

@ryantheleach
Copy link
Contributor

Cheers simon! It's damned close to being closed.

@octylFractal
Copy link
Contributor

I'm going to take WireAttachmentData.

@gravityfox
Copy link

DisplayNameData does not work for Itemstacks. It doesn't seem to be fully implemented.

https://github.com/SpongePowered/SpongeCommon/blob/master/src/main/java/org/spongepowered/common/data/processor/data/DisplayNameDataProcessor.java#L129

The key Keys.DISPLAY_NAME seems to work fine though, for some reason.

@ZephireNZ
Copy link
Contributor

@gabizou Beds don't have a manipulator for their "part" property.

They're different enums, but should we just make it use PortionData instead? We could add a note that "TOP" corresponds to "HEAD" etc.

@kashike
Copy link
Contributor

kashike commented Aug 18, 2017

This has been updated, thanks to @Meronat.

@parlough
Copy link
Contributor

parlough commented Aug 18, 2017

I will start BedData and possibly LeashData later today or tomorrow.

@ghost
Copy link

ghost commented Aug 19, 2017

I am working on DominantHandData.

@ryantheleach
Copy link
Contributor

@Meronat @SanMan00 How are the data's going? Not many left!

@parlough
Copy link
Contributor

Working on it as time allows. Have a few PRs open implementing various data that should be good to go. Will be opening a PR to add disabled slot control to ArmorStandData soon, then I'll look into bed and leashes. Then from there we will see, I may look into the missing combat ones.

@JBYoshi
Copy link
Member

JBYoshi commented Nov 23, 2017

What's left for WireAttachmentData?

@ryantheleach
Copy link
Contributor

ryantheleach commented Jan 31, 2018

The ShortList:

@gabizou
Copy link
Member Author

gabizou commented Feb 2, 2018

@ryantheleach Maps API was abandoned again, so it's something that modwiz isn't going to be getting to anytime soon.

@XakepSDK
Copy link
Contributor

XakepSDK commented Apr 2, 2018

Keys.DISPLAY_NAME does not work for players.

@kashike
Copy link
Contributor

kashike commented Apr 2, 2018

...yes it does? If it didn't we'd have 100 issues opened by now.

@JBYoshi
Copy link
Member

JBYoshi commented Jun 6, 2018

I'm finishing up WireAttachmentData. #1934

@Zidane
Copy link
Member

Zidane commented Jun 18, 2021

Closing as this is more or less complete.

@Zidane Zidane closed this as completed Jun 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests