-
Notifications
You must be signed in to change notification settings - Fork 0
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 BlockData for blocks [$140] #28
Comments
For implementing the BlockData API, is it intended to use the interfaces present in Glowkit or should each of the interfaces be reimplemented in Glowstone? |
We should be implementing the Glowkit interfaces within Glowstone. |
I'm going to assume that we're going to replace net.glowstone.block.data.BlockData with org.bukkit.block.data.BlockData, and implement all relevant interaces? |
That class is just playing around with a way to store block data in Glowstone. The actual implementation is in net.glowstone.block.flattening.GlowBlockData. |
Should we rename that class then in order to avoid confusion? The Glowstone BlockData interface, I mean. |
Sure, that sounds good! |
So, here's what I've learned so far: The block data are going to need to be fetched from the vanilla server using the tool implemented in #5. The data is going to be stored in ./generated/reports/blocks.json. The schema of this file is as follows (written in the JSON schema format):
In plain English, the file contains each vanilla block entity, along with each property and its associated values, and a unique permutation of all these properties' values for each value mapped to a unique block ID. For now, as part of this work, I'm going to assume that the data has been retrieved and saved into ./generated. I'll read in this file and generate the appropriate mappings. All properties not defined within this mapping will be considered custom tags. All tags will be represented in NBT format when they are asked for as a string. |
This is done. |
This issue is part of the 1.13.x compatibility Epic.
All contributions are subject to the Glowstone CLA. In short, contributions must not contain any content (code or otherwise) copied from,
inspired by or based upon content from Mojang or third-party projects that are based on such content (CraftBukkit, Spigot, Forge, ...).
Description:
BlockData needs to be used in block functionality, and its properties/API must be implemented. This will require a registry for BlockData so that states are properly applied with the relevant BlockData properties.
Reference Documentation:
Related to:
#10
There is a $140 open bounty on this issue. Add to the bounty at Bountysource.
The text was updated successfully, but these errors were encountered: