Blocks API#66
Open
SpaceWalkerRS wants to merge 2 commits into
Open
Conversation
4994699 to
20d9abd
Compare
214d13e to
8f7ec06
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The main purpose of this API is to provide a hook for registering blocks. As a bonus it also injects one or two utility methods into the
Blockclass.Features
Block Registration
The
REGISTER_BLOCKSevent is invoked right after Vanilla block registration has completed. Custom block registration should be done in a listener to this event.The
BlockRegistryclass provides static access to the block registry:1.6 And Below
In Minecraft 1.6.4 and below, there was no block registry. Instead, blocks were stored in a single array. This API provides its own registry for these versions, and even registers all Vanilla blocks using the relevant namespaced IDs from 1.7.
Air Block
Air did not have a block associated with it until 13w38b. OSL provides an air block in versions before that.
Injected methods
Two methods are added to
Blockusing transitive inteface injection:boolean isAir()in 17w46a and below