* Add mechanism for retrieving BlockEntity data
This commit adds a mechanism for retrieving block entity data.
Block entity data is required to support for example text on signs,
banner patterns, or mods such as Domum Ornamentum.
* Fix the coordinate-packing for block entity-loading
This commit fixes the incorrect shifting of bits when
packing the chunk-local coordinates of a block entity
into a 64-bit long for lookups.
* Change mapping type of BlockEntity lookups
This commit changes the type stored for BlockEntity
mappings from a class of the type associated with the
ID to a method reference to its constructor.
* Tidy BlockEntity mappings
This commit introduces a small functional interface
to make the type less ungodly. Also silences the warning
about referencing subclasses in the superclass, it is
fine in this case, we're just storing a reference to
the constructor.
* Add missing license headers
The license headers were missing. Oops.
While the current implementation of reference handling in
this class was the correct way to go (only handling
texture names starting with # as references), the game is
happy to accept references without a leading hashtag, since
it just chops it off and continues on the same code path
regardless.
This commit makes the reference handling in BlueMap align
with this behaviour, potentially allowing "broken" models
to render as they do in game.
This method works for reference resolving, since if a string
passed into the texture field contains a ':' then it must be
a namespaced key, and if it contains a '/' it has to be a
resource key, because the 'minecraft' namespace is implied
in these cases. The other way around, if someone were to pass
in a string like 'oak_planks', it is safe to assume it is a
reference, since the implied resource key would be
'minecraft:oak_planks', but textures aren't at the root level
in that namespace.
* Implement PackedIntArrayAccess
* First working render with BlueNBT
* Progress converting chunkloaders
* Core rewrite done
* WIP - Restructuring configs and world-map mapping
* WIP - Compiling and starting without exceptions :)
* Fix cave detection
* Ensure configuration backwards compatibility (resolve dimension from configured world if missing)
* Implement support for 1.16+ chunks
* Implement support for 1.15+ chunks
* Implement support for 1.13+ chunks and some fixes
* Also find worlds based on their id again in BlueMapAPI
* Improve autogenerated config names
* Implement equals for all ServerWorld implementations
* Get rid of var usage
* Added global webapp option for not having a void
* Fix for non-default lighting conditions
* Replace `isVoid` with whole `voidColor` feature!
* Default void colour should be black
* And now the default sky colour can also be set back to what it was
* Fix the low-res void colour
* Add config option for the new void colour setting!
(I hope I haven't forgotten any place to add it, but it does work, so I don't think so..?)