Commit Graph

475 Commits

Author SHA1 Message Date
Lukas Rieger (Blue)
498a4f3190
Minimum required Java version is now 16, drop support for spigot versions < 1.16.5 2024-03-29 13:08:59 +01:00
Lukas Rieger (Blue)
6e8247ae3a
Tentative fix for flickering with some custom animated textures 2024-03-21 14:40:20 +01:00
Gerber Lóránt Viktor
a847e247e5
Add mechanism for retrieving BlockEntity data (#524)
* 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.
2024-03-20 23:23:03 +01:00
Gerber Lóránt Viktor
10fb88df4b
Make TextureVariable references align with game behaviour (#525)
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.
2024-03-17 14:56:32 +01:00
Lukas Rieger (Blue)
e9e7042aed
Fix spotless testing for root-modules 2024-03-04 13:10:00 +01:00
Lukas Rieger (Blue)
aecbd23ba7
Implement animated textures 2024-02-26 01:59:28 +01:00
Lukas Rieger (Blue)
2899646adc
Swap chunk-scan direction for future stuff :) 2024-02-25 18:12:27 +01:00
Lukas Rieger (Blue)
5bb7a77fb9
Actually fix NPE when loading chunks sometimes 2024-02-24 23:51:23 +01:00
Lukas Rieger (Blue)
79ea7baba7
Fix biomes-packed array sometimes sized incorrectly 2024-02-24 13:37:02 +01:00
Lukas Rieger (Blue)
122ba83ebb
Correct content-type header and response for empty map tiles 2024-02-24 10:44:25 +01:00
Lukas Rieger (Blue)
d1aba560da
Fix possible self-supression 2024-02-23 23:55:17 +01:00
Lukas Rieger (Blue)
9e8dc8e5a8
Tentative fix for heightmap data being null 2024-02-23 23:55:01 +01:00
Lukas Rieger (Blue)
2c341fc894
Apply spotless fixes 2024-02-23 21:51:29 +01:00
Lukas Rieger (Blue)
40119127ee
Pack normals into one byte instead of 4 to save space :) 2024-02-23 18:02:29 +01:00
Lukas Rieger (Blue)
6e68a8f0e0
[breaking] Switch hires tile format to prbm (modified prwm) 2024-02-23 17:32:07 +01:00
Lukas Rieger (Blue)
3a1e723a51
Improve linear region efficiency by caching the whole region-file data 2024-02-23 00:55:11 +01:00
Lukas Rieger (Blue)
dbde93c9f5
Reimplement Linear region file format support 2024-02-22 23:23:56 +01:00
Lukas Rieger (Blue)
ff1e38a7e1
Fix Map-Updates not working correctly 2024-02-22 12:58:57 +01:00
Lukas Rieger (Blue)
cc50e05262
Use floats for model-positions instead of doubles 2024-02-09 15:30:23 +01:00
Lukas Rieger (Blue)
73a77e5e0e
Do light/cave testing before face-culling to improve performance 2024-02-08 15:26:45 +01:00
Lukas Rieger (Blue)
81e8da3b70
Fix storage performance 2024-02-08 13:18:49 +01:00
Lukas Rieger
16981f2797
Refactor World-Management and Region/Chunk-Loading (#496)
* 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
2024-02-07 20:43:37 +01:00
Lukas Rieger (Blue)
efd45658d5
Fix empty blockstates having the wrong block-properties 2024-02-03 00:59:41 +01:00
Lukas Rieger (Blue)
6ce32c56dc
Fix loading texture self-healing not working if its a json-syntax error 2024-01-04 17:19:34 +01:00
Lukas Rieger (Blue)
a0b47f1bd5
Fix texture-gallery not preserving textures that are missing after a resource(pack) change 2023-12-11 12:35:12 +01:00
Lukas Rieger (Blue)
78904b4051
Add resource-patch to make 1.20.3 resources more backwardscompatible with 1.20.2 2023-12-06 19:24:07 +01:00
Lukas Rieger (Blue)
6307fb1e6b
Add 1.20.3 resources 2023-12-06 17:25:30 +01:00
Lukas Rieger (Blue)
3f82a821a2
Fix keysize issue once more 2023-11-23 21:58:59 +01:00
Lukas Rieger (Blue)
5866cb5766
Add basic support for the resource-changes of the 1.20.3 snapshots 2023-11-21 16:15:54 +01:00
Lukas Rieger (Blue)
5f0942a8ae
Fix error when purging a map but the directory is already deleted. Fixes: #490 2023-11-18 16:32:05 +01:00
Lukas Rieger (Blue)
28c9166030
Define a safe collation for mysql tables. Fixes: #488 2023-11-18 16:26:56 +01:00
Lukas Rieger
665af5583f
Fix BlockProperties being stacked the wrong way around 2023-11-14 21:42:46 +01:00
TechnicJelle
48445db7b5
Add map config for having a different void colour (#477)
* 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..?)
2023-09-30 23:42:37 +02:00
Lukas Rieger
01027af969
Update Gradle and 1.20.2 support (#479)
* Update gradle

* Update Fabric-Loom and ForgeGradle

* Add fabric-1.20.2 implementation

* Finalize 1.20.2 update

---------

Co-authored-by: NikitaCartes <nikich98@yandex.ru>
2023-09-27 17:39:47 +02:00
YuRaNnNzZZ
aff64294af
Fix tall non-animated textures getting cut off (#472) 2023-08-23 21:55:51 +02:00
Lukas Rieger (Blue)
4386e35c59
Dont delete the file since we are replacing it anyways, to minimize the risk of deleting the file without a replacement 2023-08-10 16:08:48 +02:00
Lukas Rieger (Blue)
5028161b66
Correct compression naming for deflate compression 2023-07-13 12:27:34 +02:00
Lukas Rieger (Blue)
83b81bcca6
Add support for c2me-uncompressed chunks 2023-07-07 13:15:17 +02:00
Lukas Rieger (Blue)
838b22aa19
Add zlib and zstd to the usable compression formats
(They are available in the dependencies anyways so why not add them here ^^)
2023-07-05 11:02:22 +02:00
Lukas Rieger (Blue)
16c4b281ef
Fix settings.json and markers.json not being written with the correct charset 2023-07-03 13:03:52 +02:00
Lukas Rieger (Blue)
1b2dc45b4b
Add debug-log, improve logging in general and fix weblogger not closing correctly 2023-07-01 09:44:19 +02:00
Lukas Rieger (Blue)
7c56fc49a7
Apply Spotless fixes for BlueMapCore 2023-06-29 13:42:36 +02:00
Lukas Rieger (Blue)
d570884def
Add advanced webserver logging + settings 2023-06-29 13:37:31 +02:00
Lukas Rieger (Blue)
72264a2e86
Add supressed exception for more info 2 2023-06-21 15:13:27 +02:00
Lukas Rieger (Blue)
e66838cdbc
Add supressed exception for more info 2023-06-21 15:11:48 +02:00
Lukas Rieger (Blue)
2e572ddb11
Fix status command formatting and add last render times to status and maps commands 2023-06-18 13:46:41 +02:00
Lukas Rieger (Blue)
7097547301
Add sqlite support. Closes: #322 2023-06-18 01:02:13 +02:00
Lukas Rieger (Blue)
97f346534b
Fix 1.13.2 support 2023-06-16 20:23:28 +02:00
Lukas Rieger (Blue)
82f1e1321d
Rename Dialect interface 2023-06-12 23:09:25 +02:00
Lukas Rieger (Blue)
32f15d6555
Use fallback dialect instead of returning null 2023-06-12 23:07:00 +02:00