By introducing fixed maps, we are able to reduce the overhead of needing to store arbitrary numbers; fixed maps start at one number and must be sequential. This commit also reduces some overhead of lecterns in block updating as we are able to utilize our own maps to reduce object boxing and removing the function of Map#compute of trying to re-insert a value.
This commit implements 1.16.210 support while still keeping 1.16.100 and 1.16.210 compatibility.
Co-authored-by: AJ Ferguson <AJ-Ferguson@users.noreply.github.com>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
Custom skulls are now implemented within the world when placed as a block. This is achieved by placing a fake player entity in the same spot.
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
Co-authored-by: bundabrg <brendan@grieve.com.au>
Co-authored-by: bundabrg <bundabrg@grieve.com.au>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
* BlockEntity performance improvements
* Use chunk cache if possible for block caching
* Get new block state from ViaVersion if block entity
* Add Javadoc for FlowerPotBlockEntityTranslator.isFlowerBlock
* Remove debug line
* Don't add all RequiresBlockState instances if cache chunks is enabled
* Double chest map get optimization
* Last changes
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
* Implement command block and jigsaw support
- Command block UI is now fully implemented to match Java Edition.
- Command block minecarts are now supported.
- Command blocks now show the correct type of command block.
- Jigsaw blocks are translated.
Structure blocks can be implemented, but these will be trickier as there are significant GUI differences between Java and Bedrock.
* Add more detail about command block minecart color
* Set PlayerPermission.OPERATOR to allow command blocks to be destroyed
* Initial work on flower pots
* Flowers work in-game, not yet chunk load
* Don't overwrite my code before merge
* Finish up flower pots; add piston support on chunk load
* Clean up
* Remove debug line; update mappings
The refactors in this commit go a bit beyond the scope of what the sound/effects branch was meant to accomplish, however most of these changes are necessary so chunk caching could be reintroduced for the standalone version. The chunk caching here allows for us to get the block ID before the block was broken, and in the future allow us to implement newer features. Chunk caching is optional (and disabled by default) as on non-Bukkit versions, it can eat up a lot of RAM with many players online.
2020-04-29 15:01:53 -05:00
Renamed from connector/src/main/java/org/geysermc/connector/network/translators/block/BlockStateValues.java (Browse further)