An instance of this block contains all the information needed to accurately reproduce the block, provided that the instance was made correctly. In some implementations, it may not be possible to get a snapshot of blocks correctly, so, for example, the NBT data for a block may be missing.
This class identifies blocks using an integer ID. However, IDs for a given block may differ between worlds so it is important that users of this class convert the ID from one "world space" to another "world space," a task that that is assisted with by working with the source and destination {@link WorldData} instances. Numeric IDs are utilized becausethey are more space efficient to store, and it also implies that internal uses of this class (i.e. history, etc.) do not need to worry about interning block string IDs.
A peculiar detail of this class is that it accepts {@code -1} as avalid data value. This is due to legacy reasons: WorldEdit uses -1 as a "wildcard" block value, even though a {@link Mask} would bemore appropriate.
|
|
|
|
|
|