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.
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.
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