Compare commits

..

2417 Commits

Author SHA1 Message Date
James Seibel 6feb7f1b42 remove dev from version number 2025-12-14 13:46:04 -06:00
James Seibel 016fc66293 Print a warning if G1GC is used
G1GC is known to cause stuttering
2025-12-13 16:46:59 -06:00
James Seibel 6d3e30d425 add Zstd decompress lib check in initalizer 2025-12-13 15:48:05 -06:00
James Seibel 5be5c5a5bc replace client ticks with a timer
Prevents DH loading issues when MC ticks are paused
2025-12-13 11:19:33 -06:00
James Seibel ed5aeb8951 minor texture setup reformatting 2025-12-13 10:43:01 -06:00
James Seibel 7f0ddadf26 up version number 2.4.0 -> 2.4.1-dev 2025-12-13 10:20:44 -06:00
James Seibel a2c61ed278 up version number 2.3.7 -> 2.4.0 2025-12-13 10:19:50 -06:00
James Seibel 99eb4ac8a1 Fix infinite loop in DhSectionPos 2025-12-13 09:10:12 -06:00
James Seibel c75902d9d6 debug particle cleanup 2025-12-13 08:50:15 -06:00
James Seibel 1743949ba5 fix GeneratedFullDataSourceProvider not adding update listener 2025-12-13 08:49:45 -06:00
James Seibel a74a37a0e8 world gen queue refactoring 2025-12-13 08:49:31 -06:00
James Seibel 4ed7941288 fix missing localization 2025-12-12 07:45:12 -06:00
James Seibel ec59a5f754 comment cleanup and enum renaming for API use 2025-12-11 07:35:37 -06:00
James Seibel 895e04b7cc Remove unused wrapper functions and refactor 2025-12-10 18:50:35 -06:00
James Seibel 8f0930fa02 Allow world gen limits on singleplayer 2025-12-10 07:09:29 -06:00
James Seibel c1c4328fa5 rename API getSoftCache -> createSoftCahe 2025-12-09 20:57:27 -06:00
James Seibel 91240e4f7a disable mip-mapping on textures
necessary to fix MC 1.21.11 rendering
2025-12-09 20:57:09 -06:00
James Seibel 17c61a97cc revert long windows filepath char 2025-12-09 07:21:40 -06:00
James Seibel b78b852ffb Merge branch 'batchGenRefactor' 2025-12-09 07:16:18 -06:00
James Seibel 26d4220967 Add logging/messaging for corrupted DB files 2025-12-09 07:12:33 -06:00
James Seibel 5edc73cc03 enable long file paths for the config file 2025-12-06 12:28:22 -06:00
James Seibel 6fcfc9379e Fix repo unit tests 2025-12-06 12:27:53 -06:00
James Seibel 149fbccfa5 Merge branch 'batchGenRefactor' 2025-12-06 12:19:17 -06:00
James Seibel 5ca754d2ac Fix world gen progress config resetting on reboot 2025-12-06 09:18:34 -06:00
James Seibel f13744e858 Add thread pool priority setting
Setting this to 1 higher than C2ME can reduce issues with Chunky overwhelming DH.
2025-12-05 07:35:16 -06:00
James Seibel 64ac218003 Improve empty LOD debugging slightly 2025-12-05 07:28:57 -06:00
James Seibel 385bd326cf minor world gen related refactoring 2025-12-04 07:39:09 -06:00
James Seibel 4e9559f230 enable long file paths on windows for the DB 2025-12-02 07:07:17 -06:00
James Seibel 6ea864ef6b TEST 2025-11-29 09:59:33 -06:00
James Seibel 4e96728c25 maybe fix concurrency error during world gen shutdown 2025-11-28 16:29:47 -06:00
James Seibel 1c44ef7f0c minor reformatting 2025-11-28 16:23:36 -06:00
James Seibel 227d0d09ba fix getDataPointAtBlockPos() relative Y 2025-11-28 15:53:47 -06:00
James Seibel d7ba3fa724 fix LOD only mode when transparency is disabled 2025-11-28 15:53:38 -06:00
James Seibel 7e46adf469 add the ability to ignore update chunk pos 2025-11-28 10:48:42 -06:00
James Seibel f43e2fa441 don't render thick snow layers 2025-11-28 09:39:03 -06:00
James Seibel f9819d3d46 fix vanilla fading for MC versions before 1.21.5 2025-11-28 08:42:20 -06:00
James Seibel 19b23bea5f add slow world gen warning config 2025-11-27 09:59:16 -06:00
James Seibel d1c0f7ebb4 Update .editorconfig 2025-11-26 13:55:33 -06:00
James Seibel 5a4ddafbbb Z_std_stream localization 2025-11-26 13:52:17 -06:00
James Seibel 7c40d96f2e DhApiTerrainDataPoint to string 2025-11-26 13:52:07 -06:00
James Seibel b535be16c0 auto merge API world gen data
done to reduce memory use with broken API world generators
2025-11-26 13:51:58 -06:00
James Seibel 22f5608f9a hide the compressor config option 2025-11-24 14:31:42 -06:00
James Seibel a498422843 stream cleanup 3 2025-11-24 14:30:17 -06:00
James Seibel bfd6efb4a4 handle ZStd streams 2025-11-24 14:28:06 -06:00
James Seibel c8c9df3a34 data stream cleanup 2025-11-24 14:15:23 -06:00
James Seibel 3349e5b898 clean up DhDataInputStream 2025-11-24 13:51:48 -06:00
James Seibel ed7511ff6a proof-of-concept block Zstd compression 2025-11-24 12:40:49 -06:00
James Seibel 8516e8f9ab re-enable varint unit tests 2025-11-24 12:38:34 -06:00
James Seibel 47a4d1535f minor variable refactoring 2025-11-22 11:01:53 -06:00
James Seibel 33a55dc7cd Delete EventTimer.java 2025-11-22 09:30:00 -06:00
James Seibel 1b4f9e8942 minor throw/this cleanup 2025-11-22 09:24:31 -06:00
James Seibel 2537c4a259 Rename IBatchGeneratorEvnWrapper 2025-11-22 08:16:30 -06:00
James Seibel b74b6e8068 minor RollingAverage refactor 2025-11-22 08:16:11 -06:00
James Seibel 25979d6a76 Move some exception logic into ExceptionUtil 2025-11-21 06:59:03 -06:00
James Seibel 3f287388d5 re-add biome blending to API config options 2025-11-18 07:42:43 -06:00
James Seibel 72d2ba6aae comment out phantom buffer cleanup log 2025-11-18 07:32:58 -06:00
James Seibel 611ed4e24a add mod note in memory low message 2025-11-18 07:32:48 -06:00
James Seibel eac7a38e73 hopefully reduce the chance of downsampling holes 2025-11-18 07:32:18 -06:00
James Seibel afd7da7763 Optimize full data update processing 2025-11-18 07:16:50 -06:00
James Seibel ff7abb6a18 Fix rendering when Iris isn't installed 2025-11-16 16:11:40 -06:00
James Seibel ca3f5da5de Add unit test for data source merging speed 2025-11-16 15:30:16 -06:00
James Seibel 69012ab7e6 rename and cleanup data source update methods 2025-11-16 15:29:13 -06:00
James Seibel e5e502b4f8 Remove unused/broken FullData LevelMinY 2025-11-15 19:09:16 -06:00
James Seibel 42dc0903de Fix shaders when far clip fading is active 2025-11-15 18:20:47 -06:00
James Seibel 4b20637e47 Fix WorldGen after restarting generation 2025-11-15 12:07:53 -06:00
James Seibel 3257ae8480 replace server tick/world gen tick with a timer 2025-11-15 09:47:15 -06:00
James Seibel a6ddc561a0 up protocol version 12 -> 13 2025-11-15 09:42:38 -06:00
James Seibel 7c82c9eb7b add adj data to DTO en/decoding 2025-11-15 09:42:20 -06:00
James Seibel 3c62e18502 Fix gitlab getter Long/Int cast 2025-11-15 07:55:56 -06:00
James Seibel eea5198fb6 Merge branch 'adjData' 2025-11-14 07:46:37 -06:00
James Seibel b82a59ecbc Speed up shutdown and reduce logging 2025-11-14 07:46:02 -06:00
James Seibel 6bfcf36687 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-11-13 07:19:19 -06:00
James Seibel 6fe0df7d0f Don't duplicate adjacent data 2025-11-13 07:18:09 -06:00
James Seibel b9746381eb Add varint encoding for full data
Closes Merge !93
Thanks Ryan Hitchman!
2025-11-12 07:21:54 -06:00
s809 91dffa3c3e Prevent auto-pause while pregen is running 2025-11-11 23:48:13 +05:00
James Seibel 6eb24ecde1 re-add GPU upload config including "none" 2025-11-10 07:33:03 -06:00
James Seibel 767753c004 add logging to infinite repo unit test 2025-11-10 06:56:24 -06:00
James Seibel 97442f8833 Fix config min/max validation default setup 2025-11-08 19:11:56 -06:00
James Seibel 62359e3dde remove LOD load pref logging 2025-11-08 19:08:30 -06:00
James Seibel b5199cfa87 Optimize ColumnBox building 2025-11-08 18:08:02 -06:00
James Seibel f0acc73c56 Add compass Index to Edirection 2025-11-08 17:48:30 -06:00
James Seibel f9dfc38bf1 Separate BlockBiomeWrapperPair from FullDataPointIdMap 2025-11-08 17:47:50 -06:00
James Seibel 5c5d39738e minor reformating 2025-11-08 17:44:08 -06:00
James Seibel 27fb629c22 default unsafe UI values to config option 2025-11-08 17:41:07 -06:00
James Seibel c374bf7ca8 test 2025-11-08 08:14:03 -06:00
James Seibel 7e04b12e37 Optimize PrefRecorder slightly 2025-11-07 07:41:59 -06:00
James Seibel 67637dbf10 detail level renaming 2025-11-06 21:50:43 -06:00
James Seibel 6456651d27 Handle non-adjacent data conversion 2025-11-06 21:28:25 -06:00
James Seibel 9343854b4a Clean up data source getters 2025-11-06 07:42:58 -06:00
James Seibel 5fd8ed840f Add adjacent data to FullDataDTO for faster loading 2025-11-06 07:35:23 -06:00
James Seibel 4d4d8fd8e9 Split up full data source provider into multiple classes 2025-11-04 07:46:06 -06:00
James Seibel bf05965015 remove IDataSource 2025-11-02 07:20:07 -06:00
James Seibel 47569f2b3c minor dataSourceHandler refactor 2025-11-01 16:33:07 -04:00
James Seibel 0567195f73 minor datasource renaming 2025-11-01 16:27:54 -04:00
James Seibel e355366ffc Clean up EDhDirection 2025-11-01 09:06:53 -04:00
James Seibel 3681d50eb2 minor comment cleanup 2025-11-01 08:42:25 -04:00
James Seibel e0c143881f Fix compression mode javadoc 2025-11-01 08:34:02 -04:00
James Seibel 2a49fdee7f Add experimental loading option and perfRecorder 2025-10-28 07:46:53 -05:00
James Seibel f39e06b6dc remove unused interrupt check 2025-10-28 07:36:28 -05:00
James Seibel 0d5c454dd4 remove unused ColumnQuadView methods 2025-10-28 07:24:24 -05:00
James Seibel 1b447fdc98 Fix logger builder doubling DH name 2025-10-28 07:23:58 -05:00
James Seibel d84ba05380 minor style reformatting 2025-10-27 06:52:36 -05:00
James Seibel 3e7f160fcd Merge Fade apply shaders 2025-10-25 11:54:32 -05:00
James Seibel dcaf334828 use same fade apply frag shader 2025-10-25 11:39:27 -05:00
James Seibel 789306ccff Add far clip fading 2025-10-25 11:06:19 -05:00
James Seibel e33fa3cb5e Rename fade renderer -> Vanilla Fade renderer 2025-10-25 09:36:11 -05:00
James Seibel 8f99117066 Fix iris not setting face culling in the MC state manager 2025-10-25 08:38:29 -05:00
James Seibel 2136c0fe83 framebuffer name consistency fix 2025-10-25 08:37:11 -05:00
James Seibel 7a6cffe19d Move getKeyedLevelDimensionName() to implementation 2025-10-23 07:17:46 -05:00
James Seibel 06bef93c82 run occlusion culling whenever saving a LOD
Also run culling for every column in an LOD, which improves compression by about 20%
- Thanks Scaevolus
2025-10-22 07:25:04 -05:00
James Seibel 939e45ce62 minor RenderBufferHandler optimization and bugfix 2025-10-19 16:40:57 -05:00
James Seibel 7f958269e4 Fix not reloading LODs on horizontal quality change 2025-10-19 16:16:35 -05:00
James Seibel 07e3091d13 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-10-19 16:06:24 -05:00
James Seibel f7ece2b02e Clean up LodRendering logic 2025-10-19 16:06:00 -05:00
s809 bd796c2ce0 Fix handling of empty server keys 2025-10-19 22:58:07 +05:00
s809 4e6be35da9 Merge branch 'feature/server-keys' 2025-10-19 22:57:50 +05:00
James Seibel 0e0e1e1b0f Make LodRenderer a singleton 2025-10-18 11:42:36 -05:00
James Seibel f4ab101403 Dh and level wrapper refactoring and commenting 2025-10-17 07:21:16 -05:00
James Seibel 0902d3f0f5 merge loggers and add logger builder 2025-10-15 17:37:08 -05:00
James Seibel 75c2758fd5 up version number 2.3.6 -> 2.3.7 2025-10-13 18:03:19 -05:00
James Seibel 9ddd917f3b remove dev from version number 2025-10-13 16:32:29 -05:00
James Seibel c5945b1254 remove unused EConfigEntryPerformance
It is a cool idea, but one that unfortunately never got implemented
2025-10-13 07:46:53 -05:00
James Seibel 9060579615 Fix world gen progress ui button 2025-10-13 07:42:46 -05:00
James Seibel 8f0217185f Improve config gui object casting 2025-10-13 07:33:27 -05:00
James Seibel 656971b0b9 typo fixing for major config refactoring 2025-10-12 21:10:18 -05:00
James Seibel 5fa3a11024 major config backend refactoring 2025-10-12 20:56:15 -05:00
James Seibel ed3d00bfce up version number 2.3.5 -> 2.3.6 2025-10-11 20:55:36 -05:00
James Seibel ba2681d7b2 remove dev from version number 2025-10-11 20:54:00 -05:00
James Seibel 168570f21f minor lodRenderer refactor 2025-10-11 18:40:32 -05:00
James Seibel b3928d3b1f rename renderFade -> renderFadeTransparent 2025-10-11 11:14:03 -05:00
James Seibel 57aec6092c comment out delayed save cache test to improve build speed 2025-10-10 07:00:32 -05:00
James Seibel 278f4b1642 move more logic into a global RenderState 2025-10-10 06:58:47 -05:00
James Seibel 26d0b5c571 disable world gen progress display by default 2025-10-09 20:12:31 -05:00
James Seibel 3cb8bbeaa7 Fix some tasks being dropped 2025-10-09 20:12:22 -05:00
James Seibel 009cfdce93 Fix VANILLA_CHUNKS API world gen 2025-10-08 17:27:04 -05:00
James Seibel 463565384b Re-add biome blending 2025-10-05 16:23:09 -05:00
James Seibel aed5bb4163 Separate DH pool threads and new executor "Render Loader"
Having separate threads for each task behind the scenes allows for easier performance monitoring vs having a single threadpool that handles everything.
2025-10-04 20:10:10 -05:00
James Seibel bd517e54cf remove duplicate "thread" name in ticker threads 2025-10-04 19:54:19 -05:00
James Seibel b323b7e52d rename uniforms in SSAO shader 2025-10-04 13:45:18 -05:00
James Seibel 32b3eac589 add nullable attributes to world getters 2025-10-04 10:48:34 -05:00
James Seibel 569a5442a9 fix a potential null pointer on world shutdown 2025-10-04 10:26:53 -05:00
James Seibel 25213cae39 Fix noise texture only applying changes on level change 2025-10-04 10:26:34 -05:00
James Seibel 82bb5ef64e fix typo in far falloff 2025-10-03 06:58:04 -05:00
James Seibel a8748471df Handle null pointer on server shutdown 2025-10-02 20:29:42 -05:00
James Seibel 721124b886 Write custom timeout logic for DelayedDataSourceCache
This should make the code a bit more transparent vs using the CacheBuilder, plus hopefully resolve a concurrent writing issue that causes monoliths
2025-10-02 20:29:26 -05:00
James Seibel 85e52301d6 typo in ApiEventInjector 2025-10-02 18:08:47 -05:00
James Seibel 08ede3351d Add DhApiChunkProcessingEvent 2025-10-02 18:03:27 -05:00
James Seibel 9690c898b0 handle null pointer on server shutdown 2025-10-02 07:33:05 -05:00
James Seibel 328336bd29 Allow unbinding Dependencies
TODO replacing may be a better way to handle it
2025-10-02 07:32:58 -05:00
James Seibel 75f0061d97 remove unused ServerPlayerWrapper methods 2025-10-02 07:07:31 -05:00
James Seibel be87c79b1b Handle a few rendering setup edge cases 2025-10-02 07:07:22 -05:00
James Seibel 12a885aa6e Manually close compression streams to try reducing GC reliance 2025-09-29 17:21:01 -05:00
James Seibel d33be490a7 cull LOD rendering on the quad tree 2025-09-29 07:28:03 -05:00
James Seibel cb654f2429 replace IConfigEntry apiValuePresent -> apiIsOverriding 2025-09-28 16:16:31 -05:00
James Seibel 2705cb679e minor config handler refactoring 2025-09-28 16:14:22 -05:00
James Seibel 372fcedc7c add IConfigEntry.apiValuePresent 2025-09-27 20:58:15 -05:00
James Seibel 25e909203d prep for Config UI refactoring 2025-09-27 20:55:37 -05:00
s809 b312582ce4 Add global bandwidth limit setting 2025-09-26 21:45:10 +05:00
James Seibel 73324c71ec Force Mac upload method to DATA
Maybe will help with crashing/memory corruption?
Data is the most basic upload method in GL so Mac should be able to support it a lot better than BUFFER_STORAGE.
2025-09-24 07:23:14 -05:00
James Seibel 0cdb5cf0ec Remove Mac state validation option 2025-09-24 07:13:51 -05:00
James Seibel cbfb1625bc add extra logic to proof-of-concept java swing UI 2025-09-21 21:28:56 -05:00
James Seibel 25e69d03ba Make config lang test return empty string if up to date 2025-09-21 21:28:36 -05:00
James Seibel 9564f02283 maybe fix freebsd OS crashing 2025-09-20 22:40:53 -05:00
James Seibel 9e7378be63 Merge branch 'merge-bedrock' 2025-09-20 16:16:36 -05:00
James Seibel 2495c38dc2 Merge branch 'merge-bedrock' 2025-09-20 15:23:34 -05:00
James Seibel 17fcdb428c finish glproxy comment 2025-09-20 15:14:28 -05:00
James Seibel 944e4f9cb4 Add experimental option to maybe help with Mac crashing 2025-09-20 15:10:54 -05:00
James Seibel 7c0b746220 re-add notnull anotation to ClientPluginChannelApi 2025-09-20 14:21:29 -05:00
Fabian Maurer b4cb390333 Use correct Supplier interface (1.7.10)
It works on modern since
com.google.common.base.Supplier implements
java.util.function.Supplier
but that is not guaranteed
2025-09-19 14:16:36 +02:00
Fabian Maurer 15cda35434 Remove dependency on org.checkerframework (1.7.10) 2025-09-19 14:16:36 +02:00
Fabian Maurer 361d251aa2 Replace isLessSpecificThan with helper function (for 1.7.10) 2025-09-19 14:16:36 +02:00
Fabian Maurer a565e7d906 User older netty functions (1.7.10) 2025-09-19 14:16:36 +02:00
James Seibel 57bbb12b39 Fix "CUSTOM" quality preset when Iris is present 2025-09-16 07:44:18 -05:00
James Seibel df17c1cc1b include world gen chunk/sec rate in progress log 2025-09-14 08:18:37 -05:00
James Seibel a4f7aad306 change world gen progress message to reduce confusion 2025-09-14 08:18:14 -05:00
James Seibel 1b2c1a59f9 Improve world gen task queue speed slightly 2025-09-13 17:59:39 -05:00
James Seibel f0bcf88b35 cache a few repo sql strings 2025-09-13 17:06:33 -05:00
James Seibel 5dbda75c0b add a unit test for SQL update performance testing 2025-09-13 17:01:40 -05:00
James Seibel 5caa945925 remove sea level from level wrapper 2025-09-11 07:07:21 -05:00
James Seibel 6bdfee3636 remove unexplored terrain rendering 2025-09-11 07:06:15 -05:00
James Seibel 1ec536b7df Add unexplored ocean for overworld 2025-09-10 07:46:21 -05:00
James Seibel 9ffda4d43e ColumnRenderSource doesn't need to be a IDataSource 2025-09-07 16:15:26 -05:00
James Seibel 670ec28b6f improve lod load time slightly
done by caching the ClientLevelWrapper used to determine block colors
2025-09-07 16:15:05 -05:00
James Seibel 771814af98 Fix typo in config 2025-09-06 22:10:24 -05:00
James Seibel 90f1d38233 make unexplored fog slightly lighter 2025-09-06 11:59:44 -05:00
James Seibel 54a4f380bd change world gen wireframe height to match unexplored fog 2025-09-06 11:59:44 -05:00
James Seibel bab421c381 add a config for unexplored fog 2025-09-06 11:59:44 -05:00
James Seibel 9c285c17a9 lower unexplored fog slightly 2025-09-06 11:59:44 -05:00
James Seibel 470a9ce8f1 Close #1036 (LODs reloading twice on config change)
Also clean up config event handling
2025-09-06 11:59:44 -05:00
James Seibel d6b79f8b06 fix concurrency issue during unexplored fog setup 2025-09-06 11:59:44 -05:00
James Seibel 71f1dce956 Add unexplored fog 2025-09-06 11:59:44 -05:00
James Seibel 9857eb337f Add remove(obj) and remove(index) to RenderableBoxGroup 2025-09-06 11:59:44 -05:00
James Seibel bced9938f3 Add unexplored fog proof of concept 2025-09-06 11:59:25 -05:00
James Seibel 7f46257e1a add TODO to testRenderer 2025-09-06 09:33:49 -05:00
James Seibel 5f8b566486 improve generic obj render perf logging 2025-09-06 09:33:29 -05:00
James Seibel 9fe2a3fa7b minor dontMergeColoredColumns reformat and comment 2025-09-06 08:53:09 -05:00
James Seibel eb6750bb8d Merge branch 'dontMergeColoredColumns' 2025-09-06 08:38:58 -05:00
James Seibel e86487ab9d Fix LOD-only rendering mode 2025-09-06 08:38:34 -05:00
James Seibel 5423b49f3d Merge !83 (Improve Chunk Update Queue) 2025-09-05 22:23:25 -05:00
James Seibel a2c6f906fa update compression unit test file path 2025-09-05 07:10:49 -05:00
Fabian Maurer d51474a64a Don't merge blocks that get colored by blocks above into columns 2025-09-04 17:56:54 +02:00
James Seibel 5b41c7d48a add (native) ZStd compression as default compressor 2025-09-03 07:39:58 -05:00
s809 034ec7d656 Bump protocol version 2025-08-16 21:01:45 +05:00
s809 fb5e15a2f1 Add a server keys feature 2025-08-16 20:59:28 +05:00
s809 674fc30e77 Replace pooled buffers with unpooled 2025-08-07 17:55:22 +05:00
s809 a05bd307f9 Reduce network logging by default 2025-07-27 23:21:13 +05:00
James Seibel d78a50ce49 up version number 2.3.4 -> 2.3.5 2025-07-19 14:59:14 -05:00
James Seibel 013eab9268 add space to self updater warning log 2025-07-19 14:57:22 -05:00
James Seibel 435cbde238 remove dev from version number 2025-07-19 14:56:53 -05:00
s809 d7040bad13 Load level on player add if missing 2025-07-19 19:05:52 +05:00
James Seibel a588070ce1 up version number 2.3.3 -> 2.3.4 2025-07-12 09:35:05 -05:00
James Seibel d156772438 remove dev from the version number 2025-07-12 09:34:18 -05:00
James Seibel de7ae41769 Fix API config renderingEnabled() changing the user value
Fixes #1083
2025-07-12 08:16:35 -05:00
James Seibel 618ad1938b full data DTO close data source if corrupted 2025-07-10 22:24:33 -05:00
James Seibel 5b10263f82 minor format cleanup 2025-07-10 07:27:23 -05:00
James Seibel 34f914c52f Mark a unit test as deprecated
Done to suppress warnings in compiler log
2025-07-10 07:26:41 -05:00
James Seibel 67b766c674 Fix monoliths when connected to a server 2025-07-10 07:26:14 -05:00
James Seibel a3e7469203 Fixes !1078 (lag due to beacon updating on server) 2025-07-09 07:28:25 -05:00
James Seibel 4ecaa6a9a1 Potentially fix an issue with AMD GPU shader compiling
Fix from Cortex and the Canvas mod
2025-07-08 07:22:36 -05:00
James Seibel 24f9dadc58 Disable vanilla fading when shaders are active 2025-07-07 07:49:36 -05:00
s809 b3ebaffa85 Disable enableAdaptiveTransferSpeed bby default 2025-07-01 22:03:12 +05:00
James Seibel b7ac1909d6 Fix config UI changes not always saving 2025-07-01 07:45:26 -05:00
James Seibel 32c3118afa comment out Z_STD compression 2025-06-30 06:54:27 -05:00
James Seibel 3a525f53f0 Rename world gen mode "Internal Server" -> "Full - Save Chunks" 2025-06-28 13:57:58 -05:00
James Seibel f3947312c1 Re-Add Z_STD compression for testing 2025-06-28 11:37:06 -05:00
James Seibel 839ea1e778 increase ram amount for unit tests
needed for compression tests
2025-06-28 11:36:17 -05:00
James Seibel d2becd2c03 Fix rare fade error when restarting the LodRenderer 2025-06-28 10:45:36 -05:00
James Seibel 7d87347199 Fix multiplayer null pointer 2025-06-28 09:22:23 -05:00
James Seibel f4117751c9 Fix world-gen progress not showing in release builds 2025-06-27 07:29:31 -05:00
James Seibel a8a085f296 Move RenderState to core 2025-06-26 07:50:53 -05:00
James Seibel 317319593e rename renderDeferredLods -> renderDeferredLodsForShaders 2025-06-25 07:47:08 -05:00
James Seibel 4633f90a03 Add null handling to ServerPlayerStateManager.handlePluginMessage() 2025-06-25 07:45:43 -05:00
James Seibel 5802bbb3f3 keep cave culling for medium quality preset
This may be changed back at some point in the future, but depending on the usecase (IE vanilla survival) cave culling is generally better than not having it, and if people see weirdness they can probably guess that increasing the quality preset may fix it.
2025-06-23 07:23:26 -05:00
James Seibel e93d5b90f1 Disable cave culling for medium quality and higher 2025-06-17 07:15:28 -05:00
James Seibel 9be56607a5 Reduce stuttering with fast world gen 2025-06-14 16:17:28 -05:00
James Seibel 91743bf742 Add Api Before/After Text Create events
Deprecate DhApiColorDepthTextureCreatedEvent since it is less obvious when it fires
2025-06-09 07:50:21 -05:00
James Seibel d40d293f54 Fix hash collisions in FullDataPointIdMap 2025-06-06 07:43:38 -05:00
James Seibel a075e60e3e Fix GLMC.glDeleteTextures() calls 2025-06-04 07:07:39 -05:00
s809 d72c7c3695 Check LOD timestamps in file handler threads 2025-06-03 23:41:47 +05:00
Ran 309fa07664 Merge branch 'fix_max_y' into 'main'
Fix max Y validation

See merge request distant-horizons-team/distant-horizons-core!85
2025-05-18 00:32:51 +00:00
Stewart Borle 0a017567c4 Fix max Y validation 2025-05-18 00:32:51 +00:00
James Seibel e01261da5c Remove line ending from editorconfig
Done to fix some issues with some devs on linux
2025-05-17 11:47:00 -05:00
James Seibel a0879d07c5 json indent 2 -> 4
for consistency
2025-05-17 11:25:18 -05:00
Ran bbb15263f2 Fix gradle versioning 2025-05-03 11:21:05 +10:00
s809 5ca3563c66 Bump protocol version 2025-05-03 00:08:03 +05:00
s809 30256a2779 Send scaled generation bounds coordinates 2025-05-03 00:08:03 +05:00
Ran 4b4f10f5e6 Fix gradle versioning for core application 2025-05-02 12:44:25 +10:00
s809 ad995544f7 Use bytesReceived instead of decreasing multiplicatively 2025-04-20 23:59:34 +05:00
s809 d521e931f4 Change data send tick rate 4 -> 20 2025-04-20 18:26:07 +05:00
s809 dd30a8274a Add a config entry and refactor 2025-04-20 18:25:27 +05:00
s809 3ca5efadc9 Adaptive data transfer speed 2025-04-20 03:02:18 +05:00
Ran 09174c2d2a Improve LodDataBuilder.java
- Use bitwise modulo
- Don't compute certain things 256 times when they can be computed once.
- Removed expressions that are always false
- Improved comments
2025-04-11 11:24:16 +10:00
James Seibel e079b28e77 maybe break n-sized rendering but fix LOD loading getting stuck 2025-04-07 06:56:53 -05:00
James Seibel 136124a703 up version number 2.3.2 -> 2.3.3 2025-04-05 09:11:19 -05:00
James Seibel 3ed50e5134 remove dev from version number 2025-04-05 09:10:01 -05:00
James Seibel b5e3e6867c Improve DH world gen progress message 2025-04-02 07:25:14 -05:00
James Seibel 3e04342148 Add FIXME comments to Lod and Fade renderers 2025-04-02 07:24:38 -05:00
James Seibel 6699b568df Fix memory leaks due to un-closed thread pools and worlds
How did it take this long to realize the DhWorld objects were never being closed?
2025-03-30 17:30:57 -05:00
James Seibel 53bee4ad42 Remove unused code in LodRenderer 2025-03-30 16:55:01 -05:00
James Seibel 5d5e462221 Fix the sun/moon and stars not rendering 2025-03-30 16:49:58 -05:00
James Seibel d9b924cfed Fix beacon beams now going through some blocks 2025-03-30 15:23:19 -05:00
James Seibel 8bd70d593c Fix flashing on MC 1.21.5 in non-overworld dimensions 2025-03-30 14:36:51 -05:00
James Seibel 5597044604 don't log InterruptedException during threadPool shutdown 2025-03-29 20:11:31 -05:00
James Seibel 5d7c043d06 Fix fog for MC 1.16.5 2025-03-29 19:22:51 -05:00
James Seibel 4aac61b37f hide repo double close warnings in release 2025-03-29 15:39:45 -05:00
James Seibel 22460fa1f5 Fix duplicate world gen due to short memoization time
Reverts 276f2adf00
2025-03-29 15:30:28 -05:00
James Seibel 2d127c7d98 Fix an infinite loop in the lighting engine
Not sure how I didn't catch this until MC 1.21.5
2025-03-29 15:29:34 -05:00
James Seibel 91e17c420a Fix SSAO applying to sky 2025-03-29 10:31:48 -05:00
James Seibel 93f5a85cb5 Fix MC 1.21.5 rendering and bright glass on sky 2025-03-29 10:31:34 -05:00
James Seibel b275971486 re-add stencil to GL state
shouldn't be needed, but just in case
2025-03-29 09:52:41 -05:00
James Seibel 1234ff4d28 up version number 2.3.1 -> 2.3.2 2025-03-25 07:17:27 -05:00
James Seibel f9bd7e2daf remove dev from version number 2025-03-25 07:16:43 -05:00
James Seibel 8ec4e235eb Add config to only log GL errors once 2025-03-19 22:02:53 -05:00
James Seibel b8a59d0ef6 Attempt to fix Linux complaining about glIsFramebuffer() 2025-03-19 18:34:02 -05:00
James Seibel e500143781 Potentially fix GL errors when accessing the default FBO on Linux 2025-03-19 17:00:30 -05:00
James Seibel 406468b54c Fix restoring textures to the default FBO 2025-03-18 20:18:13 -05:00
James Seibel 6857300ae2 Add stack tracing to GL error logging 2025-03-18 18:10:00 -05:00
James Seibel 6775ee23c3 fix passing in the wrong flags to glBufferStorage()
Might Resolve #964 and #950
2025-03-18 07:43:20 -05:00
James Seibel 44645943e2 Fix terrain API repo failing if no cache was provided 2025-03-18 07:42:31 -05:00
James Seibel f385c4a56b Fix changing graphics settings on world load via API 2025-03-16 14:29:56 -05:00
James Seibel 0cf5e6d594 Fix GL error logging 2025-03-14 10:17:52 -05:00
James Seibel 7b5b8da0d2 decrease gen message timeout 5 -> 2 seconds
done to make it consistently appear
2025-03-13 21:17:01 -05:00
James Seibel 851f2ccd06 Add additional error checking/handling to Shader compiling 2025-03-13 21:12:29 -05:00
James Seibel 6c40389c07 up version number 2.3.0-b -> 2.3.1-b-dev 2025-03-08 08:11:01 -06:00
James Seibel fada9e4cf6 Fix repo leak unit test failing in release 2025-03-08 08:10:43 -06:00
James Seibel 06198fdbb8 Revert "temporarily disable sqlite tests for release"
This reverts commit ebc1114a51.
2025-03-06 07:43:14 -06:00
James Seibel 3158eed5a3 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-03-06 07:42:32 -06:00
James Seibel e701c0e5ea remove dev from version number 2025-03-06 07:40:49 -06:00
James Seibel ebc1114a51 temporarily disable sqlite tests for release 2025-03-06 07:40:24 -06:00
s809 d2ff4a5806 Add some debugging info for DTOs 2025-03-02 20:08:45 +05:00
s809 eb8563482e Replace chunk counts with speed in pregen 2025-02-27 21:08:27 +05:00
s809 b53c33e454 Make generation info text a bit clearer 2025-02-27 21:08:02 +05:00
s809 2483671e5e Should be division instead of multiplication 2025-02-26 23:16:58 +05:00
s809 cc4733b052 Offset generation bounds by teleportation scale 2025-02-26 22:13:38 +05:00
James Seibel 34e5463718 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-02-25 07:25:49 -06:00
James Seibel 53011a13be duct tape fix to reduce chance of LOD uploading requiring MC reboot 2025-02-25 07:25:46 -06:00
s809 1c579675a2 Remember split section responses temporarily 2025-02-22 20:55:10 +05:00
James Seibel 69a4e6b27e Add TODO about why LODs sometimes fail to load 2025-02-22 08:55:41 -06:00
s809 b05eb78f3a Fix foreground thread sometimes blocking server shutdown 2025-02-19 21:17:38 +05:00
s809 83fabe3ee8 Show section numbers in pregen 2025-02-19 20:37:26 +05:00
s809 fdfab2b3a8 Use another method for enforcing non nsized generation 2025-02-19 20:15:34 +05:00
James Seibel 45c67d057a Fix IDhApiConfigValue.clearValue() failing for some deprecated functions 2025-02-17 21:16:22 -06:00
James Seibel c296795280 Fix DB leaks in FullDataV2Repo 2025-02-16 20:07:00 -06:00
James Seibel 2deb24ec1e Add javadocs to ClientWrapper getPlayer Pos methods 2025-02-16 19:53:44 -06:00
James Seibel 5ab7a3030a Fix DB leaks in FullDataV2Repo 2025-02-16 19:52:48 -06:00
James Seibel 1af4d23c14 improve DB leak tracking exception handling 2025-02-16 19:52:37 -06:00
James Seibel 977204abf0 Add DB leak tracking 2025-02-16 19:34:13 -06:00
James Seibel 276f2adf00 Revert 10 minute memoization for world gen
I thought this was only an issue for N-sized generation, but in testing found it to still be an issue for max-detail retrieval as well.
This will have to be looked into more another time
2025-02-15 11:56:21 -06:00
James Seibel 1b3c9e1a89 Fix beacon culling with auto overdraw prevention 2025-02-15 11:12:46 -06:00
James Seibel 6fbe0a9e72 Add missing cave blocks for cave culling 2025-02-15 11:06:43 -06:00
James Seibel 11a2b8bf5b Add TODO to PriorityTaskPicker about VisualVM 2025-02-15 11:06:30 -06:00
James Seibel 99f2d2f844 Add TODO comment about Immersive Portals only rendering 1 level 2025-02-14 07:48:05 -06:00
s809 a5c029203c Invert generateOnlyInHighestDetail and rename to enableNSizedGeneration 2025-02-11 22:08:25 +05:00
James Seibel 84015e4a40 Put N-sized generation and upsampling behind experimental configs 2025-02-11 07:47:24 -06:00
James Seibel 08f63470a5 Fix auto updater failing for nightly builds 2025-02-10 07:46:43 -06:00
James Seibel f2404b6455 remove unneeded IVersionConstant methods 2025-02-08 11:39:18 -06:00
James Seibel f20231ccbc fix rare null pointer in sharedApi 2025-02-08 11:38:36 -06:00
s809 3a94bbe804 Reduce queue size back to improve responsiveness 2025-02-07 23:23:15 +05:00
s809 15f1754922 Improve ordering of reading positions to update a bit 2025-02-07 23:21:41 +05:00
s809 28448941e1 Keep update propagation queue filled 2025-02-07 23:20:24 +05:00
James Seibel 18c29b9810 Attempt to fix threadpool shutdown rejection exception 2025-02-07 07:25:57 -06:00
James Seibel fa66cefbe2 Add comments to LodRenderSection memoized gen positions
also increase timeout from 15 sec -> 10 minutes
 - done to test if memoization is actually needed
2025-02-07 07:14:50 -06:00
James Seibel f7dc46cb55 Increase full data update task count to reduce down time 2025-02-06 20:10:30 -06:00
James Seibel 5cebee3be4 Flush world gen memory cache when full 2025-02-06 20:08:28 -06:00
s809 532ac8fe01 Fix incorrect distance being used in update propagation SQL and reduce queue size 2025-02-07 01:05:14 +05:00
James Seibel 8385eeb62c Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-02-05 17:31:26 -06:00
James Seibel 95db6885e7 add error logging to FullDataRequestHandler 2025-02-05 17:31:13 -06:00
James Seibel 10a3840373 Fix empty data sources when moving in multiplayer or with N-sized world gen
Increases Protocol version 9 -> 10
2025-02-05 17:30:59 -06:00
James Seibel cedaaa8a2e replace a few implicit datasource V2 repo statement setters 2025-02-04 19:29:39 -06:00
James Seibel 2c7f11c722 Improve DhApiBeforeRenderEvent javadocs 2025-02-03 20:30:28 -06:00
James Seibel 4fbda8f02b Fix render enabled config getting set by world gen progress config 2025-02-02 19:52:31 -06:00
James Seibel b0bd536248 Fix compiling with missing "E" 2025-02-02 15:52:17 -06:00
s809 a3ed0012e3 Balance tasks in thread pool using elapsed time instead of priorities 2025-02-02 20:30:35 +05:00
s809 9952481d77 Do not request already fulfilled sections again until some time passes 2025-02-02 20:30:35 +05:00
s809 5e137ee10d Auto-move old save data to new location 2025-02-02 20:30:35 +05:00
James Seibel f02ea68b6f Add missing Enum prefix to RequestResult -> ERequestResult 2025-02-01 16:08:15 -06:00
s809 1041e0a4dd Remove generationProgressDisableMessageDisplayTimeInSeconds from server config command 2025-02-01 19:38:43 +05:00
s809 6fb862ecfe Add GUI description for generateOnlyInHighestDetail 2025-02-01 19:38:25 +05:00
s809 1f8013c1cf Use generateOnlyInHighestDetail client-side 2025-02-01 18:30:07 +05:00
s809 157d72d8dc Decrease delay between missing generation rechecks 2025-01-31 14:54:18 +05:00
James Seibel 2c077f5224 Fix a null pointer in the chunk update queue 2025-01-30 20:13:53 -06:00
s809 6e5bd02ae0 Fix beacon beams flickering 2025-01-30 22:30:02 +05:00
s809 a7578b2a72 Process chunks only once with real-time updates enabled 2025-01-30 21:47:31 +05:00
s809 041cf4e0d4 Fix nightly self-updater after moving jars into zip root 2025-01-30 18:11:34 +05:00
s809 bb1154b036 Revert "Improve chunk processing throughput"
This reverts commit dd3903f66e.
2025-01-28 20:05:59 +05:00
James Seibel 9c9c90e786 Improve world gen import hiding message 2025-01-26 17:47:28 -06:00
James Seibel 3dbd05a4ae minor beacon beam height merge cleanup 2025-01-26 17:41:46 -06:00
James Seibel 042a0b6853 Merge branch 'distant-horizons-core-main' 2025-01-26 17:40:15 -06:00
James Seibel 39c621b8d9 Remove locks from LodRenderSection uploading 2025-01-26 17:12:39 -06:00
James Seibel dd3903f66e Improve chunk processing throughput 2025-01-26 17:05:37 -06:00
James Seibel 2d1859c77d change low memory warning to 4GB or more 2025-01-26 16:53:11 -06:00
James Seibel d62a801c43 Reduce locking in SharedApi.UpdateChunkPosManager 2025-01-25 10:10:10 -06:00
James Seibel cb40336fda Increase rolling average window for world gen queue
This should reduce fluctuations a bit
2025-01-24 21:53:13 -06:00
James Seibel 766c831af0 fix recalculate heightmap breaking stairs, slabs, and glass 2025-01-24 07:22:11 -06:00
s809 736df9f848 Check if session is ready before ignoring local chunks 2025-01-24 11:20:37 +05:00
James Seibel a347caafed Fix holes when moving with N-sized world gen/server side support 2025-01-23 19:44:58 -06:00
James Seibel 2d5902df28 Fix data source leaks for custom world generators 2025-01-23 19:38:01 -06:00
James Seibel 29e496757a Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-01-23 19:16:33 -06:00
James Seibel 7cf05ed31d Fix rare concurrency error on world gen shutdown 2025-01-23 19:15:55 -06:00
James Seibel e7eb8e24ae Speed up PhantomArrayListPool for large checkouts 2025-01-23 19:15:42 -06:00
s809 cdca7723a7 Ignore local chunks if realtime updates are enabled 2025-01-23 23:21:13 +05:00
s809 e0a0ba5222 Fix full data source being released too early 2025-01-23 22:06:20 +05:00
James Seibel 0f88c7c231 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-01-22 21:31:20 -06:00
James Seibel d9911f64b9 Simplify Full data hash logic to speed up saving 2025-01-22 21:31:07 -06:00
s809 8bddd6d503 Fix column order check breaking on tiny columns 2 2025-01-23 00:18:33 +05:00
s809 9b261f6472 Fix column order check breaking on tiny columns 2025-01-23 00:15:12 +05:00
James Seibel 00559b5d34 Remove unneeded locks and speed up FullDataId Entry retrieval 2025-01-22 07:16:04 -06:00
James Seibel 9cae54a079 Show instructions to disable world gen progress message for short time 2025-01-21 07:49:30 -06:00
James Seibel 363ec76450 fix isClosedException name 2025-01-21 07:07:33 -06:00
s809 ebd00df388 Fix task splitting causing generation of already generated sections 2025-01-21 17:26:54 +05:00
James Seibel 13882f44ce minor LodRenderSection rename 2025-01-20 21:51:04 -06:00
James Seibel fce1fa3f41 Fix cached RenderSource closing while in use 2025-01-20 21:50:33 -06:00
James Seibel fab8191ddd remove unneeded wal flush logic 2025-01-20 07:39:04 -06:00
James Seibel 582541d240 handle additional DB closed message on DTO get 2025-01-20 07:38:40 -06:00
s809 f609dcb468 Merge remote-tracking branch 'origin/main' 2025-01-20 11:00:13 +05:00
s809 a69936ca69 Merge branch 'feature/generation-bounds' 2025-01-20 10:59:11 +05:00
James Seibel 8c81c867b6 merge 2025-01-19 17:42:45 -06:00
James Seibel 995f80d553 Fix beacons disappearing and not updating correctly 2025-01-19 17:42:14 -06:00
s809 08f36b4371 Lower the log level of rate limit hits 2025-01-18 17:02:35 +05:00
s809 3d8d8bc0f7 Add generation bounds 2025-01-18 16:42:57 +05:00
s809 54a7cbcb84 Add a check for duplicate config command names and fix duplicate name 2025-01-18 16:26:33 +05:00
s809 a908fcdb69 Change valueConstrainer type in SessionConfig 2025-01-18 16:25:34 +05:00
s809 9f52a86b9e Return pooled objects after receiving LODs 2025-01-16 21:12:16 +05:00
James Seibel 09962acca6 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-01-16 07:20:06 -06:00
s809 f83725f05e Fix server not shutting down, again 2025-01-15 23:34:38 +05:00
s809 2afc7df596 Increase pregen rolling average 5x 2025-01-15 21:43:40 +05:00
James Seibel 663ad74724 Add missing localization 2025-01-14 21:34:42 -06:00
James Seibel 342a15b611 minor formatting fix 2025-01-14 21:19:36 -06:00
James Seibel 0518da6872 remove Logger.errorAndThrow() 2025-01-14 21:17:53 -06:00
James Seibel a3263ba5ba remove unneeded debug log 2025-01-14 19:48:25 -06:00
James Seibel 630547d794 Reduce holes when flying around a partially loaded world 2025-01-14 07:35:33 -06:00
James Seibel 0a9913e24d Fix errors when using LZ4 compression 2025-01-14 07:17:40 -06:00
James Seibel f3368f5a07 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-01-14 07:03:39 -06:00
James Seibel 1913e09303 Put several queries in try-finally blocks
this prevents leaks
2025-01-14 07:03:12 -06:00
s809 863bfbaff5 Release full data sources after sending to clients 2025-01-13 23:37:22 +05:00
James Seibel 8b88816499 add commented out WAL flushing logic 2025-01-13 07:02:41 -06:00
s809 fbecc8e02d Use dynamic precision for displaying pregen status 2025-01-12 21:56:48 +05:00
James Seibel 68e281d299 Remove year range from licensing headers
The license is still valid, now I just don't have to update them every year
2025-01-11 21:26:51 -06:00
James Seibel 9ede311c40 reminder comment about potential LodQuadTree concurrent issue 2025-01-11 21:06:47 -06:00
James Seibel 4f47c78acc Fix chunk updates not applying as soon as they should 2025-01-11 20:11:42 -06:00
James Seibel 9a3d36757f Add automatic overdraw prevention to improve fading 2025-01-11 17:59:21 -06:00
James Seibel 9adcfd8143 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-01-11 14:56:18 -06:00
James Seibel 8af67c8fcf minor comment add 2025-01-11 13:36:58 -06:00
James Seibel ac2bfd98cd fix rare columnRenderBuffer future nullpointer 2025-01-11 13:36:47 -06:00
James Seibel c80abeb567 Fix LodQuadTree render source leaks 2025-01-11 13:36:37 -06:00
s809 88ef153bc7 Pregen improvements 2025-01-11 23:55:16 +05:00
James Seibel 5c96937ab4 Fix CPU bottle neck for world gen when updating beacons 2025-01-11 10:50:24 -06:00
James Seibel cc2b7f6078 Fix some generic object rendering concurrent modification issues 2025-01-11 09:35:31 -06:00
James Seibel fd658a3d5b add missing renderableBoxGroup GLMC calls 2025-01-11 09:31:19 -06:00
Jan Trummer 9dcc7e1ad2 Replace set with setMinDefaultMax 2025-01-11 16:05:58 +01:00
James Seibel a577d69e8c Re-add a missing GLState revertion 2025-01-11 08:22:22 -06:00
Jan Trummer 72139f1f59 Add config to set max beacon render height 2025-01-11 13:38:44 +01:00
James Seibel 14c6707ff9 Fix compiling, forgot to move some QuadTree objects 2025-01-10 22:16:11 -06:00
James Seibel 3c1d9f3e3f Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-01-10 21:58:04 -06:00
James Seibel 430942788d Fix rendering LODs from different levels after changing dimensions 2025-01-10 21:57:51 -06:00
s809 ec19e43216 Add pregen command 2025-01-11 02:55:04 +05:00
James Seibel 29040519e0 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-01-10 07:26:30 -06:00
James Seibel f93b57e935 Improve initial LOD loading speed and add KeyedLockContainer 2025-01-10 07:26:27 -06:00
s809 ea34e9514b Simplify executor task submitting logic 2025-01-10 12:42:16 +05:00
James Seibel 506b2b0f7b Fix delayedSaveCache and fix slow LOD updating regression 2025-01-09 21:26:51 -06:00
James Seibel ffc982ba55 Fix a couple error messages 2025-01-09 21:23:43 -06:00
James Seibel 2936215f46 replace stacktrace prints with loggers 2025-01-09 18:43:52 -06:00
James Seibel e8956392cf Improve initial LOD loading speed and allow removing executor tasks 2025-01-09 18:33:28 -06:00
James Seibel fc87a1201d add logger to GitlabGetter 2025-01-09 17:26:43 -06:00
James Seibel eb7b03fbfe fix some data sources not being caught and closed
This should further reduce the max memory needed.

DelayedFullDataSourceSaveCache is problematic due to not properly closing all data sources it creates and has been deprecated and removed.
2025-01-09 17:19:49 -06:00
s809 f10c21f0a3 Change priorities a bit 2025-01-08 19:59:15 +05:00
s809 12e7aaa7b2 Ignore task rejections if shutting down 2025-01-08 18:46:19 +05:00
s809 475574d6fa Use separate debug renderer for sync on load 2025-01-08 17:18:49 +05:00
s809 c660aa9fb3 Fix server generation constantly subdividing in INTERNAL_SERVER mode 2025-01-08 14:33:57 +05:00
James Seibel 54cbead4eb Improve auto updater logging and fix potential issues with updating 2025-01-07 21:33:34 -06:00
James Seibel a49d74763a Add quick config to show/hide world gen progress 2025-01-07 20:30:29 -06:00
James Seibel e3722f2894 Fix missing LODs (especially when world gen is active) 2025-01-07 20:14:41 -06:00
James Seibel 5f76aaee97 Fix missing method from merge 2025-01-07 20:14:01 -06:00
James Seibel cd39831665 merge 2025-01-07 20:00:33 -06:00
James Seibel 036b42d197 Add world gen progress updates to the overlay 2025-01-07 19:18:21 -06:00
s809 fbd73b9b11 Fix some small issues and add comments 2025-01-07 17:08:19 +05:00
s809 7e222b7555 Merge branch 'refactor/thread-pool-executors' 2025-01-07 16:36:41 +05:00
s809 06b8f88403 Force highest detail in INTERNAL_SERVER mode 2025-01-07 02:35:53 +05:00
s809 56c09f5f5c Add a config option to force server to always send only the highest detail 2025-01-07 01:25:31 +05:00
s809 c49a61f118 Add more comments 2025-01-07 00:05:16 +05:00
s809 14cd0c4b09 Refactor thread pool handling 2025-01-06 23:32:20 +05:00
James Seibel 6ce6145912 Log a warning if the vanilla render distance is too high 2025-01-05 19:15:11 -06:00
s809 2c8c1e478d Remove + on start of the line 2025-01-04 23:31:25 +05:00
s809 a444e3b974 Add comments to UPDATE_POS_MANAGER.maxSize and refactor 2025-01-04 22:11:17 +05:00
James Seibel fa61e62df9 Add more detail to CPU preset config tooltip 2025-01-04 10:02:35 -06:00
James Seibel b8037e3bea Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-01-04 09:48:30 -06:00
James Seibel e0baf9be93 minor jarUtil comment change 2025-01-04 09:48:22 -06:00
James Seibel 673e7d14dd make ModInfo.IS_DEV_BUILD final 2025-01-04 09:45:08 -06:00
James Seibel 4f3e867e0b Fix chunk update queue max count for multiplayer player counts
also fix variable/logging
2025-01-04 09:42:05 -06:00
James Seibel 476b96bca6 prevent infinitely growing memory when rapidly changing between dimensions 2025-01-04 09:40:32 -06:00
James Seibel 6a9986ccd3 Move networked chunk updating to the LodBuilder thread
This is done both to prevent starvation, infinitely growing tasks/memory, and simplify the AbstractDhServerLevel.updateDataSourcesAsync() method.
2025-01-04 09:40:01 -06:00
James Seibel 4dd2faad67 Hide disableUnchangedChunkCheck from the UI 2025-01-04 09:31:52 -06:00
James Seibel 9622fc3bd7 Use soft references in array pool to prevent some memory crashes
Also log if there isn't enough memory
2025-01-04 09:31:42 -06:00
James Seibel 31490f97b9 add missing "this" to QuadElementBuffer 2025-01-04 09:02:50 -06:00
James Seibel cc006ebb5d limit queued render section loading to fix memory ballooning 2025-01-04 09:02:29 -06:00
James Seibel 184f261d6b Add deprecated Purge to RateLimitedThreadPoolExecutor 2025-01-04 08:58:33 -06:00
s809 a916fe1db1 Add a comment to priority calculation 2025-01-04 19:44:23 +05:00
s809 8686e1727f Move ThreadPoolExecutor#beforeExecute into correct place 2025-01-04 19:25:30 +05:00
s809 e770943fc9 Improve task prioritization 2025-01-04 19:23:25 +05:00
s809 5a31be1e42 Fix re-queueing of positions to reload cancelling the tick 2025-01-04 19:23:25 +05:00
s809 6774a84f61 Remove unused field 2025-01-04 19:23:25 +05:00
James Seibel 770fc10cdf Add missing types to GLEnums.getString() 2025-01-03 15:58:27 -06:00
James Seibel aa8659f62d Fix sqlite memory leaks 2025-01-03 14:46:53 -06:00
s809 5c03c6d99d Check for updates on launch on dedicated servers 2025-01-03 00:30:03 +05:00
s809 56e430dff2 Rename serversideShortName to chatCommandName 2025-01-02 19:42:57 +05:00
s809 3648c83b2a Convert section pos to readable format in one of logs 2025-01-01 21:24:15 +05:00
s809 3b1f49e0b7 Group related /dh config commands 2025-01-01 19:59:35 +05:00
s809 fb78b68b96 Use correct world folder name in LAN level key prefix 2025-01-01 18:13:21 +05:00
s809 38611237ac Remove renderDistanceRadius from server config 2025-01-01 18:12:45 +05:00
James Seibel 2bbc2440fb Add validateBufferIdsBeforeRendering config 2024-12-31 09:08:10 -06:00
James Seibel 570b7d1757 Potentially fix EXCEPTION_ACCESS_VIOLATION rendering crash
Fixes a race condition where a OpenGL buffer ID may be deleted after it has been created for a different buffer object.
2024-12-31 09:07:14 -06:00
James Seibel 6d6d142cf3 Add logging when a repo has finished closing 2024-12-30 20:44:28 -06:00
James Seibel 6c23990be2 Add number formatting to migration progress log 2024-12-30 20:44:06 -06:00
James Seibel cd91ba50b9 handle corrupted inputs 2024-12-28 09:15:58 -06:00
James Seibel 8511d6e6b8 Add networking thread pool to F3 screen 2024-12-28 09:15:24 -06:00
James Seibel 64b26f0267 Fix typo preventing threadpools from running 2024-12-27 18:11:51 -06:00
James Seibel 31a65d1ce5 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-12-27 08:47:33 -06:00
James Seibel 1e3b20a672 Increase default thread preset LOW -> BALANCED 2024-12-27 08:47:03 -06:00
James Seibel 607dbdbc08 Fix f3 screen thread run time "<" 2024-12-27 08:46:46 -06:00
James Seibel 6135bdf67c Only have a single thread config
This means that CPU use will be a lot more consistent since all internal thread pools share a single thread count semaphore.
2024-12-27 08:46:32 -06:00
s809 723d93428b Respond to incompatible packets so the client is able to display an error in F3 2024-12-27 17:05:01 +05:00
s809 9447510354 Fix failed counter working incorrectly 2024-12-27 15:00:06 +05:00
James Seibel 81654123d8 Fix phantomArrayList lock overhead for large thread counts 2024-12-26 16:27:56 -06:00
s809 cde804820e Fix null pointers when generation is disabled 2024-12-26 16:08:17 +05:00
s809 29aa50fbd6 Revert "roll back part of "Prune world gen tasks above limit in multiplayer""
This reverts commit 49da0e09
2024-12-26 13:57:49 +05:00
s809 1154f23f16 Revert "re-calculate LodRenderSection missing pos every minute"
This reverts commit 7270eb8fe2.
2024-12-26 13:53:21 +05:00
s809 8904872b85 Use library provided method for filling *ArrayLists 2024-12-25 23:12:47 +05:00
s809 5dd52d3a0f Fix full data source decoding failures 2024-12-25 23:11:55 +05:00
James Seibel 810172346f Fix DH preventing server shutdown on close 2024-12-25 09:04:42 -06:00
James Seibel 248f6db82e Fix rare null pointer race condition 2024-12-24 08:12:11 -06:00
James Seibel 0ca2b2f282 minor data point ID map optimization 2024-12-23 21:40:55 -06:00
James Seibel 4d7d8cc3c0 optimize DTO memory reading 2024-12-23 20:44:34 -06:00
James Seibel 2154e53898 Add F3 screen toggling configs 2024-12-22 09:17:31 -06:00
James Seibel 75273be90a Massively optimize array pooling
Separating pools for each object/use case prevents infinitely growing arrays (also the column render source fix in 481e0411ac prevents infinitely allocating arrays)
2024-12-22 08:43:47 -06:00
James Seibel 481e0411ac Fix array leaks in LodrenderSection loading 2024-12-22 08:03:25 -06:00
James Seibel 4d8469c486 Fix F3 menu showing incorrect pooled memory size 2024-12-21 13:06:35 -06:00
James Seibel 3d866c480f Add config assumePreExistingChunksAreFinished 2024-12-20 15:25:31 -06:00
James Seibel 61a06c87c2 Fix F3 menu typo 2024-12-20 15:24:18 -06:00
James Seibel 7ab2f49f01 Rename worldGen Tasks F3 row to avoid confusion 2024-12-20 14:22:11 -06:00
James Seibel e6ceba63f7 Fix null pointer in DataSourceHandler error handler 2024-12-20 13:49:17 -06:00
James Seibel 0ba030e4aa Repo and Obj Pool rewrite
This should provide a significant reduction in garbage generated, reducing GC pressure.
2024-12-20 13:38:44 -06:00
James Seibel 7e0c10a516 add StringUtil.convertBytesToHumanReadable() 2024-12-19 17:26:16 -06:00
James Seibel 7c8c4fa6e7 minor DataTransformer optimization 2024-12-19 08:28:39 -06:00
James Seibel aaa62ccd89 Fix unnecessary string allocatino in chunkLightStorage 2024-12-14 23:35:08 -06:00
James Seibel 991c77485d Fix concurrent ChunkWrapper modifications in SharedApi 2024-12-14 20:57:22 -06:00
James Seibel de5e4a6705 Add concurrency checks to ChunkLightStorage 2024-12-14 20:57:10 -06:00
James Seibel 52917e65bc sort Lod Builder configs 2024-12-14 18:59:35 -06:00
James Seibel 8e970b1ffb Attempt to fix a rare concurrency issue in ChunkLightStorage 2024-12-14 17:49:46 -06:00
James Seibel f89cd52e5c Add debug wireframe toggle for render section rendering toggle 2024-12-14 17:24:51 -06:00
James Seibel 76b3e81cb1 rename generation mode FULL -> INTERNAL_SERVER 2024-12-14 14:05:36 -06:00
James Seibel 69050bb840 Revert "Fix holes when using Chunky"
This reverts commit d398b3bc04.
2024-12-14 12:20:12 -06:00
James Seibel 3fe60946be Revert "put shared api particle behind debug config"
This reverts commit 23021153da.
2024-12-14 12:20:09 -06:00
James Seibel 04f0b454eb re-add full (server) distant generator mode 2024-12-13 07:26:49 -06:00
James Seibel 23021153da put shared api particle behind debug config 2024-12-13 07:26:05 -06:00
James Seibel d398b3bc04 Fix holes when using Chunky
(At the cost of some minor server lag)
2024-12-12 20:56:29 -06:00
James Seibel 7270eb8fe2 re-calculate LodRenderSection missing pos every minute
Should re-implement the removed code from 49da0e09a4
2024-12-12 16:55:45 -06:00
James Seibel 49da0e09a4 roll back part of "Prune world gen tasks above limit in multiplayer"
LodRenderSection was throwing null pointers during .isFullyGenerated() due to missing null checks
2024-12-12 07:46:27 -06:00
James Seibel cf8a9dc269 fix typo in LodQuadTree 2024-12-12 07:44:05 -06:00
James Seibel 688312b5e7 up file handler runtime ratio defaults 2024-12-12 07:19:59 -06:00
James Seibel 1f0290c37b Fix thread F3 avg time >0 when runtime ratio is 1 2024-12-12 07:19:44 -06:00
James Seibel 3c5225534f Remove world gen timeout config
It didn't work as originally intended. It was originally added to prevent world gen lock-ups if a thread hits and infinite loop, but it didn't do anything for that use case and just ended up being annoying for low-end users.
2024-12-12 06:59:03 -06:00
James Seibel a24527d679 Add average thread execution time to F3 screen 2024-12-11 21:24:34 -06:00
s809 2568e08b3c Show thread preset in config entries in server command 2024-12-10 00:10:06 +05:00
s809 66337e2493 Add player into request group before trying to fulfill 2024-12-09 16:48:19 +05:00
s809 979c3788f1 Prune world gen tasks above limit in multiplayer 2024-12-09 12:03:49 +05:00
s809 2dc9b9a43f Revert "Fix gen tasks sometimes not submitting after LOD level changes"
This reverts commit 585a288f
2024-12-08 19:09:18 +05:00
James Seibel 839aee7bfc Fix typos in DhApi world (un)load events 2024-12-07 15:16:30 -06:00
James Seibel 71364d861b Fix off-by-one error in DhAPI Terrain Repo 2024-12-07 15:08:11 -06:00
James Seibel f4d1823c50 Merge branch 'distant-horizons-core-fast-hidden-block-culling' 2024-12-07 11:44:41 -06:00
James Seibel 84ddcbf38e Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-12-07 11:20:16 -06:00
James Seibel a9314510fe re-add several necessary GLState calls 2024-12-07 11:19:56 -06:00
James Seibel 821fa086e6 Replace many GL32 calls with GLMC (IMinecraftGLWrapper)
Also fix wireframe rendering
2024-12-07 09:56:36 -06:00
s809 bdd816dbda Re-add pruning of visitedPositions 2024-12-06 23:32:56 +05:00
s809 5188474101 Use N-sized generation on server when available 2024-12-06 23:10:49 +05:00
s809 b1736ce669 Remove resolved TODO 2024-12-06 20:23:41 +05:00
James Seibel 872421f39f Add start for standalone jar DB exporting 2024-12-05 18:46:57 -06:00
s809 54dd65b0a3 Merge branch 'NSizedMultiplayerTest' 2024-12-04 23:38:42 +05:00
s809 53e3c5c11c Clean up 2024-12-04 22:54:45 +05:00
James Seibel 73e5c35fc4 Add a todo comment about potential GC reduction in DTO 2024-12-03 19:26:47 -06:00
s809 0b4fa1b2ed Up protocol version 2024-12-03 21:23:37 +05:00
s809 585a288f68 Fix gen tasks sometimes not submitting after LOD level changes 2024-12-03 21:10:58 +05:00
s809 56db5d7e1a Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into NSizedMultiplayerTest 2024-12-02 21:17:46 +05:00
James Seibel af932c5bc9 Add visited position removal timer in RemoteFullDataSourceProvider
This is done to hopefully prevent memory leaks
2024-12-02 07:51:07 -06:00
s809 aa5c4aa9c4 Lower log level of out of range warning 2024-11-22 14:54:37 +05:00
s809 97943107f7 Up protocol version 2024-11-22 14:49:39 +05:00
s809 00fd3c236a Fix config description indentation 2024-11-22 14:44:25 +05:00
s809 0f2e007eff Fix config descriptions & clean up 2024-11-22 13:29:06 +05:00
s809 36b719c361 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into feature/generation-distance-limiting 2024-11-22 12:51:35 +05:00
James Seibel 7455893ef8 Fix race condition in LodRenderSection loading 2024-11-21 19:00:27 -06:00
James Seibel b909214974 Fix caught null pointer 2024-11-21 17:21:14 -06:00
s809 b59965671c Make generation limit work 2024-11-22 00:16:30 +05:00
s809 cf5ba685f4 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into feature/generation-distance-limiting 2024-11-21 22:10:31 +05:00
James Seibel 23c160e948 Accidentally flipped an assertion last commit 2024-11-21 07:41:31 -06:00
James Seibel 6ff2c9f14c improve columnRenderbuffer assertion message 2024-11-21 07:17:20 -06:00
s809 d1b63f11a5 Merge branch 'main' into 'main'
Fix distant-horizons#870 : Correctly template regex

See merge request distant-horizons-team/distant-horizons-core!73
2024-11-20 16:27:44 +00:00
helpimnotdrowning f7926456a3 Fix distant-horizons#870: Correctly template regex 2024-11-19 16:15:23 -06:00
James Seibel eb749d6bb0 Fix a rare error where chunk lighting is set to -1 2024-11-18 07:46:24 -06:00
James Seibel deaccf53f9 Fix sometimes not loading high-detail LODs when on a server 2024-11-18 07:40:16 -06:00
James Seibel 9f966f0643 Remove manifold string plugin 2024-11-17 08:03:04 -06:00
James Seibel bcc44ab5e3 Add player's DhSectionPos to the F3 menu 2024-11-17 06:22:48 -06:00
James Seibel 37dd0c4d55 up version number 2.3.0-a -> 2.3.0-b 2024-11-16 22:07:31 -06:00
James Seibel 6595f5d90e Fix fog shader compiling on some software renderers 2024-11-16 21:57:58 -06:00
s809 587ea7017c Fail subsequent requests for already pending LOD 2024-11-15 18:06:33 +05:00
s809 74e8487fe4 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into feature/generation-distance-limiting 2024-11-15 12:30:14 +05:00
s809 f5fc0004d5 Replace Apache's base32 with guava 2024-11-15 09:32:51 +05:00
s809 5fe6c2cb7b Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into feature/generation-distance-limiting 2024-11-14 17:00:54 +05:00
s809 f92a1ccc27 Add a comment to #pluginMessageReceived methods 2024-11-14 15:52:41 +05:00
s809 5448b8890d Replace truncating the hashed seed with encoding it into base32 2024-11-14 15:23:35 +05:00
James Seibel 127ec81ade Add AbstractConfigType.typeIsFloatingPointNumber() 2024-11-13 18:26:20 -06:00
s809 3d11a208d7 Move request handling to another class and rewrite group locking logic 2024-11-13 18:20:57 +05:00
James Seibel 937b36bfa2 Catch a few FullDataSourceV2 Repo closed exceptions 2024-11-13 07:00:31 -06:00
James Seibel 7f761e415f Fix potential null pointers if other mods mess with the MVM or Proj matricies 2024-11-12 07:27:41 -06:00
s809 eeae8dbdc5 WIP generation distance limiting 2024-11-12 12:25:29 +05:00
s809 15b2d56d8c Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into NSizedMultiplayerTest 2024-11-12 12:07:22 +05:00
James Seibel ea55750c4b Hopefully fix some file path complaints for test files 2024-11-11 07:45:18 -06:00
James Seibel 8a61266651 fix level.getHashedSeed() and re-add default getDhIdentifier() 2024-11-09 21:17:09 -06:00
James Seibel de548c9a5e Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-11-09 20:58:48 -06:00
James Seibel 6413725eae Fix height fog 2024-11-09 20:58:45 -06:00
s809 bd264086e3 Remove seed hash from local & server worlds, and expose DH's level identifier to API 2024-11-09 22:36:25 +05:00
James Seibel 52452e356d fix upload canceling 2024-11-09 09:53:28 -06:00
James Seibel 6321a6f9af Attempt to fix concurrency in generic render direct rendering 2024-11-09 09:51:54 -06:00
James Seibel b0f2918daf Fix GLProxy renderThread skipping some tasks 2024-11-09 09:48:37 -06:00
James Seibel 9351b7b834 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-11-09 08:48:42 -06:00
James Seibel adce15f648 Improve Buffer uploading speed and remove buffer upload thread 2024-11-09 08:48:18 -06:00
coolGi 6699c4c452 Updated readme to use the new DH links 2024-11-09 14:42:47 +00:00
James Seibel ea1d79a1a6 Add todo to GenericObjRenderer about potential crash 2024-11-08 07:41:22 -06:00
James Seibel 0fb7131631 deprectate MC_CLIENT.executeOnRenderThread()
Use GLProxy instead
2024-11-08 07:41:02 -06:00
James Seibel 13b9e9b0d9 (test) remove GLProxy render thread timeout
This should cause upload tasks to finish much faster but will cause stuttering if too many tasks build up
2024-11-08 07:40:37 -06:00
James Seibel bbd6f2ea89 Move some buffer building logic off the render thread 2024-11-08 07:39:58 -06:00
James Seibel 32b9e723d1 Fix crashing after server shutdown in serverPlayerDisconnectEvent 2024-11-06 07:08:17 -06:00
James Seibel 14db049148 Fix unnecessary logging for JarUtil jarFile getting
Closes #733
2024-11-05 07:32:44 -06:00
James Seibel f8b1b8378a Fix Concurrent modification in DhServerWorld 2024-11-05 07:16:09 -06:00
James Seibel f396a650b4 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-11-04 18:29:08 -06:00
James Seibel 1dffedccb9 Add hashed seed to server level folders to replace multiverse similarity 2024-11-04 18:29:03 -06:00
s809 534684328e Fix Flashback crash on dimension loading 2024-11-03 19:20:14 +05:00
James Seibel 573c9912db add IChunkWrapper debug method 2024-11-02 13:08:26 -05:00
James Seibel f3af6ce74b add recalculate heightmap config (disabled by default) 2024-11-02 13:06:27 -05:00
James Seibel b7fccae64d Prep for MC 1.21.3 support 2024-11-02 11:19:29 -05:00
James Seibel 6fccaab841 Fix potential RejectedExecutionException error in ServerLevel 2024-11-02 11:19:10 -05:00
James Seibel 7e88ec4cc1 Improve ChunkLightStorage error logging 2024-11-01 18:07:42 -05:00
James Seibel 072fc0cb66 remove unused part of RenderUtil.shouldLodsRender() 2024-11-01 18:06:17 -05:00
James Seibel 5da0314556 Rename DummyRunExecutorService -> RunOnThisThreadExecutorService 2024-11-01 18:05:33 -05:00
James Seibel 415f0bb866 Remove unneeded ClientApi events 2024-10-31 20:28:43 -05:00
s809 13ab18d763 Add section splitting 2024-10-31 16:00:43 +05:00
James Seibel 23b2a62db2 proof-of-concept n-sized multiplayer request support 2024-10-27 16:14:56 -05:00
James Seibel 2dd83d182f Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-10-27 16:12:33 -05:00
James Seibel b7c06dd4ba fix update error pos log 2024-10-26 10:38:36 -05:00
James Seibel 1819569090 Fix manifold IDE issue 2024-10-26 10:37:55 -05:00
James Seibel 6cd8172ad2 Increase the default render distance 128 -> 256 2024-10-26 08:48:26 -05:00
s809 695fe10546 Fix too many chunks spam 2024-10-26 00:33:41 +05:00
s809 ea92ef1fd3 Set limit to infinite if maxDataTransferSpeed is 0 2024-10-25 23:59:02 +05:00
James Seibel 0e3d978a1f Cache arrays used by RenderableBoxGroup 2024-10-25 07:40:25 -05:00
James Seibel 240a29803c Improve generic object profiling 2024-10-25 07:40:04 -05:00
James Seibel b09b9d1b6f Fix cloud colors not updating 2024-10-24 22:02:35 -05:00
James Seibel d1923ee6b5 Fix generic renderer not using material type 2024-10-24 07:13:24 -05:00
James Seibel 9a05ffa730 Update logos in _misc Files 2024-10-24 06:59:56 -05:00
James Seibel 2a46f0349f Slightly increase DH cloud speed 2024-10-22 16:26:02 -05:00
James Seibel 58a756361e Fix DH fade corrupting the GL state 2024-10-22 16:25:54 -05:00
James Seibel eefbe1bba9 add cloud test grid for potential future use 2024-10-22 15:33:41 -05:00
James Seibel f4bcfa52c7 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-10-22 15:32:37 -05:00
James Seibel f2815c4e25 Change the cloud texture to smooth transitions 2024-10-22 15:30:07 -05:00
s809 45f4bd6949 Fix zero queue length in multiplayer 2024-10-22 23:54:56 +05:00
James Seibel 4d4a3d44fd CloudRenderHandler minor refactor 2024-10-22 12:23:50 -04:00
James Seibel 61cde9902f Increase far clip plane distance slightly 2024-10-22 12:21:58 -04:00
James Seibel a8ce63529c Optimize cloud rendering and cull clouds behind camera 2024-10-22 12:19:19 -04:00
James Seibel f7521ece83 Don't log overloaded messages on clients 2024-10-21 14:05:59 -04:00
James Seibel ab7fea580b Potentially fix DH fading causing rendering issues with Create 2024-10-21 13:56:54 -04:00
James Seibel 32154b2580 re-add overloaded warning log and config for chat messages
chat messages are disabled by default
2024-10-21 13:43:09 -04:00
James Seibel fd794cd55d Center update propagation around player position
This is done to make world gen appear faster since the LODs will be made visible sooner
2024-10-21 08:52:52 -04:00
s809 f94b55ff00 Fix incomplete buffers being released 2024-10-21 16:43:11 +05:00
s809 b8a862ddd8 Multiply update queue size by player count 2024-10-20 20:00:02 +05:00
s809 271f128de6 Make sure data source received from file handler is fully generated before sending to client 2024-10-20 15:15:04 +05:00
s809 c4ea887b03 Move commands under /dh, add /dh debug command 2024-10-20 15:14:03 +05:00
s809 d12e797732 Up protocol version 2024-10-18 11:16:53 +05:00
s809 afdbc47758 Rename CurrentLevelKeyMessage to LevelInitMessage and add server time offset calculation 2024-10-18 11:16:20 +05:00
s809 bea1ff34b4 Add LOD transfer speed setting 2024-10-18 01:08:12 +05:00
James Seibel 4a7881fbb5 Add ColorUtil.toColorInt() 2024-10-16 14:22:47 -04:00
James Seibel 06c7d84b57 minor columnRenderBuffer refactoring 2024-10-16 14:22:31 -04:00
James Seibel 59767c807b Fix javadoc compiling 2024-10-15 07:43:23 -05:00
James Seibel 82e1587c4e Replace JOptionPane's with TinyFD to fix some Mac issues 2024-10-15 07:43:13 -05:00
James Seibel 69a5fdc720 Fix default beacon culling setting 2024-10-14 07:40:57 -05:00
James Seibel bd6e6b47bb Split the config file, update the config UI, and remove a few unused configs 2024-10-12 20:39:11 -05:00
James Seibel 633ee7f0f9 Fix N-sized world gen causing holes when moving 2024-10-12 09:53:40 -05:00
James Seibel fd86826325 Reduce file handler task count when updating QuadTree nodes 2024-10-11 22:13:23 -05:00
James Seibel e721c59127 Merge !71 (Fix adjacent chunk lighting) 2024-10-11 21:59:10 -05:00
James Seibel fb42d19513 Fix LOD only mode near clip plane 2024-10-11 07:46:09 -05:00
James Seibel 4a8f802a57 Fix light references in SubDimensionLevelMatcher 2024-10-11 07:33:49 -05:00
James Seibel 65336860d2 Add proof-of-concept standalone jar DB parsing 2024-10-10 07:43:43 -05:00
James Seibel 01da4eb430 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-10-08 20:17:14 -05:00
James Seibel bec3b5b576 Fix world gen incorrectly returning some data sources to the pool 2024-10-08 20:17:11 -05:00
James Seibel 3b5208d774 Fix File Handler threads sometimes looping infinitely 2024-10-08 19:51:39 -05:00
s809 0925f20cac Fix incorrect name of a method 2024-10-08 22:58:56 +05:00
s809 f350e8a2f9 Fix incorrect folder being used without level keys 2024-10-08 22:37:51 +05:00
James Seibel 2d8bad9aec Decrease vertical quality drop off 2024-10-08 07:51:34 -05:00
James Seibel 20fedc7d6d Merge !70 (make DH's near clip plane unaffected by FOV) 2024-10-08 07:19:09 -05:00
James Seibel 4b07f6c8e4 minor ColumnRenderSource refactor 2024-10-08 07:08:51 -05:00
James Seibel f91d3d1ec2 Prevent returning out of bounds ColumnArrayView's 2024-10-08 07:07:48 -05:00
s809 e97e16e7d1 Fix keyed levels not changing 2024-10-08 09:04:54 +05:00
James Seibel 1b59a269e6 Update the API to allow for N-sized world generation requests
This breaks old world generators
2024-10-07 19:45:28 -05:00
James Seibel 28ec1e2960 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-10-07 19:45:19 -05:00
James Seibel 1449ceb22c Move API terrain data point creation into its own class 2024-10-07 17:23:31 -05:00
James Seibel 71581fb88a Allow world generation to queue for N-sized sections 2024-10-07 17:13:41 -05:00
James Seibel d86a0dc2b0 refactoring/renaming before adding N-sized world gen 2024-10-06 08:29:39 -05:00
James Seibel 1d8ac571cf Fix LOD sections not reloading correctly and showing old/empty data 2024-10-06 08:28:24 -05:00
s809 31fdf9fa43 Fix unhandled message spam in replay mod 2024-10-06 01:44:56 +05:00
s809 cc8a2a70e8 Use level key prefixes to in LAN multiplayer 2024-10-06 00:19:42 +05:00
s809 2aca8acaf6 Change level key prefix comment 2024-10-05 21:58:30 +05:00
s809 38d7ca4bec Prevent server crash on shutdown 2024-10-05 21:29:58 +05:00
s809 c1a405b755 Decouple beacon beam data handling from render handling, send beacon beams to clients 2024-10-05 14:03:02 +05:00
James Seibel 0b49d1a007 Close !69 (add IDhApiLevelWrapper.getDhSaveFolder()) 2024-10-04 07:45:53 -05:00
James Seibel 3fb4c254c1 Improve beacon fade rendering 2024-10-03 20:25:23 -05:00
James Seibel fcb933a2dd Fix zoom mods breaking DH's fade/near clip plane 2024-10-03 17:25:49 -05:00
James Seibel ea4d4bf955 Improve fade config, add localization, and add fading to the quality presets 2024-10-03 17:10:51 -05:00
James Seibel 38f3b46f8a Fix fade rendering when DH rendering is disabled 2024-10-02 18:16:32 -05:00
James Seibel b77828f984 replace random noise with Bayer for dithering 2024-10-02 18:08:53 -05:00
James Seibel ec151d398e Fix the near clip plane appearing at high vanilla render distances 2024-10-02 07:49:20 -05:00
James Seibel 85c00e50d9 Improve dithering quality 2024-10-02 07:35:32 -05:00
James Seibel fbaff8d850 Add dithered DH fading, double pass fading, and fix LOD clouds 2024-10-01 22:02:32 -05:00
James Seibel 72607a4fc9 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-09-30 21:59:39 -05:00
James Seibel f63e3d4b6d Add experimental DH/vanilla fading 2024-09-30 21:59:19 -05:00
s809 f9d008ef78 Fix real-time updates being sent to non-ready players 2024-09-29 22:45:36 +05:00
s809 7f0c42396b Use more correct distance function for real-time updates 2024-09-29 22:24:38 +05:00
James Seibel db524efba0 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2024-09-28 15:27:53 -05:00
s809 54cf9782ae Do not sync sections after generation, fix incorrect timestamp fetch pos range calculation 2024-09-29 01:17:59 +05:00
James Seibel a37a2c9c9d Capitalize EWorldEnvironment variables 2024-09-28 14:31:41 -05:00
James Seibel 03c7b48c5d Remove multiverse similarity percent and add IDhApiSaveStructure
Similarity percent should no longer be needed since the server support was added
2024-09-28 14:30:34 -05:00
James Seibel 5af706daa0 deprecate multiverse config 2024-09-28 11:06:32 -05:00
James Seibel 53bccbb161 Rename AbstractSaveStructure -> ISaveStructure 2024-09-28 11:06:26 -05:00
James Seibel 8547e78d9d Add Dh level tostring() methods 2024-09-28 10:22:38 -05:00
James Seibel 2aec3d980e Fix F3 menu showing the same level multiple times 2024-09-28 10:22:21 -05:00
James Seibel 566b536c8d Add Api world load/unload events and DhApiWorldProxy.get/setReadOnly() 2024-09-28 08:33:19 -05:00
James Seibel d89d99f126 Add temporary vertical Quality CUSTOM option 2024-09-26 22:34:10 -05:00
James Seibel c06283d403 Add hashCode() to FullDataPointIdMap 2024-09-26 07:42:24 -05:00
James Seibel fd0a4c55ac Change FullDataSourceDTO checksum/hash logic to hopefully be more consistent 2024-09-25 21:57:49 -05:00
James Seibel b0aa211464 Fix default generic rendering instanced mode 2024-09-25 18:44:39 -05:00
James Seibel 14e7918ea0 fix readme logo filepaths 2024-09-22 17:25:14 -05:00
James Seibel 524ea77ce5 Update readme logos 2024-09-22 17:23:35 -05:00
James Seibel 9f763bcd6a Add new logos 2024-09-22 17:18:33 -05:00
James Seibel 166875283c Fix cloud debug colors 2024-09-22 16:53:27 -05:00
James Seibel abb264bdf0 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-09-22 16:32:21 -05:00
James Seibel 70aa5724a9 Closes !68 (Allow toggling generic obj instanced rendering via config) 2024-09-22 16:32:10 -05:00
James Seibel 520d37f410 Add generic obj cube count to F3 menu 2024-09-22 16:31:06 -05:00
s809 29c2756e75 Merge branch 'feature/lan-support' 2024-09-23 00:46:30 +05:00
s809 6c278ea3b1 LAN multiplayer kinda works 2024-09-23 00:02:31 +05:00
s809 b18460b825 Abstract away serverside parts of world & level 2024-09-22 03:28:53 +05:00
James Seibel d0b50d9633 Add Sqlite library validation to Initializer 2024-09-21 11:45:44 -05:00
James Seibel c051b3584f Replace "jdbc:sqlite" with a constant 2024-09-21 11:43:58 -05:00
James Seibel d4cad8f718 Fix config file handler corruption due to reading/writing concurrently 2024-09-20 07:29:32 -05:00
James Seibel f7bf05b62f Update network semaphore comments 2024-09-17 07:40:28 -05:00
s809 840b0a7fe2 Bump protocol version because of removed InvalidSectionPosException 2024-09-17 12:41:46 +05:00
s809 5369bf628a Fix naming of some things and comments 2024-09-17 09:42:22 +05:00
James Seibel 79d2269218 Fix very high file handler jobs and pool some render data sources 2024-09-16 20:35:57 -05:00
James Seibel f21c791269 fix comment 2024-09-15 21:15:57 -05:00
James Seibel 11e58eecda Up API version 3.0.1 -> 4.0.0 2024-09-15 20:36:10 -05:00
James Seibel fbf13833a0 Up version 2.2.2 -> 2.3.0 2024-09-15 20:35:54 -05:00
James Seibel 2528f4a725 Merge server side branch and refactor 2024-09-15 20:35:38 -05:00
James Seibel 6d6cbd8a44 add more getDimensinoName() calls and minor cleanup 2024-09-11 17:11:55 -05:00
James Seibel 2fe3c261b0 Add DhClientWorld F3 debug string prep 2024-09-11 17:05:57 -05:00
James Seibel 5086f40d03 Add commit info to F3 screen 2024-09-11 17:04:18 -05:00
James Seibel 7766c49cbd Add DhChunkPos Vec3d constructor 2024-09-11 07:41:56 -05:00
James Seibel c6d86cfa3b remove unneeded IDimensionTypeWrapper.getTeleportationScale() 2024-09-11 07:40:44 -05:00
James Seibel 935cfec3d4 Add network compression thread config and pools 2024-09-11 07:37:39 -05:00
James Seibel ce2e64dc7e ClientOnlySaveStructure rename getDhDataFoldersForDimension -> getDhDataFoldersForLevel 2024-09-11 07:31:24 -05:00
James Seibel 15774ffe2a Only attempt to set Java Swing headless on clients 2024-09-11 07:25:01 -05:00
James Seibel 218cb04696 Don't load the client level in shouldLodsRender()
This might cause issues with the Replay mod, but we'll see
2024-09-11 07:20:29 -05:00
James Seibel 45fc36543b Add ILevelWrapper.getDimensionName() 2024-09-11 07:14:21 -05:00
James Seibel 554bb89690 remove unused message classes 2024-09-10 21:46:47 -05:00
James Seibel 2aa048b0cb Don't send chat messages on dedicated servers for configBasedLogger 2024-09-10 21:46:16 -05:00
James Seibel 570619b114 Ignore config preset UI updating when on the sever 2024-09-10 21:17:50 -05:00
James Seibel fb3e47ec3f Add FullDataSourceRepo.getTimestampForPos() 2024-09-10 20:46:18 -05:00
James Seibel 0f27dd79d7 minor refactoring and style cleanup 2024-09-10 07:24:56 -05:00
James Seibel abe0e284aa Remove unneeded networking classes 2024-09-10 07:15:37 -05:00
James Seibel 7a97b9dcbf Fix low quality LODs not loading when flying in a new straight line 2024-09-09 07:41:12 -05:00
James Seibel 23c98e2253 Clean up LodRenderSection async loading logic 2024-09-09 07:37:08 -05:00
James Seibel 06cce40ac6 hide attempting to... warnings for closed databases 2024-09-09 07:36:19 -05:00
s809 7cd1a37914 Restore ordering of session config entries 2024-09-08 21:21:38 +05:00
s809 8ca2052748 Refactor session config 2024-09-08 19:05:42 +05:00
James Seibel ce4259d98f add brown mushrooms to the list of ignored blocks to fix swamp issues 2024-09-07 14:22:41 -05:00
James Seibel d96ba5ae54 Add faster sky light engine from Builderb0y
Closes !67
2024-09-07 12:07:48 -05:00
s809 576d0f5666 Fix crash on F3 when commit hash was failed to retrieve 2024-09-07 21:47:43 +05:00
s809 877588ebed Fix rare NPE when receiving LODs 2024-09-07 21:47:02 +05:00
James Seibel 3bee25053f Add missing LightingTestChunkWrapper methods 2024-09-06 21:55:48 -05:00
James Seibel a75d3ec5b0 Fix unit test compiling 2024-09-06 19:36:32 -05:00
James Seibel d5222ed20f Closes #805 (Hide "Distant Horizons overloaded")
Also update chunks closest to the player first
2024-09-06 18:22:57 -05:00
s809 875b5fffcc Fix client crashing 2024-09-05 23:45:04 +05:00
James Seibel d03a887620 Add BuilderB0y's getBlockState optimization 2024-09-05 07:50:18 -05:00
s809 6293cc8c27 Prefill levelKeyPrefix in new worlds 2024-09-05 14:22:00 +05:00
James Seibel 847cfa3ca9 Add current size to rolling average 2024-09-04 16:40:17 -05:00
s809 0361e5c69b Fix compilation 2024-09-04 22:53:02 +05:00
s809 654355c991 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-09-04 18:22:47 +05:00
James Seibel 4712a77d00 Up version number 2.2.1 -> 2.2.2-dev 2024-09-04 06:58:59 -05:00
James Seibel 57c5b2d5fc Up version 2.2.1-dev -> 2.2.1 and API 3.0.0 -> 3.0.1 2024-09-04 06:58:20 -05:00
s809 a2949b8124 Change some string & remove unused config item 2024-09-03 16:52:10 +05:00
James Seibel 50c5701836 Fix referencing unavailable GLFW methods for MC 1.18.2 and lower 2024-09-02 08:00:43 -05:00
s809 6fe0477ca7 Limit number of retries on request errors
Add a delay if rate limit is hit
2024-09-02 15:31:39 +05:00
James Seibel 18e075538d Fix LODs flashing when moving and improve LodQuadTree code 2024-09-01 21:10:22 -05:00
James Seibel b00e8a08e9 add annotations to QuadTree 2024-09-01 21:09:50 -05:00
James Seibel ac4ab11a74 Fix LodRenderSection and QuadNode toString methods 2024-09-01 21:09:17 -05:00
James Seibel c26631db57 Cull beacons based on X/Z distance instead of 3D distance 2024-09-01 17:28:08 -05:00
James Seibel 1daa06fff4 Disable instanced rendering on Mac when Sodium is present
Closes !793 (Generic Rendering crashes with Sodium on M1 Mac)
2024-09-01 17:02:43 -05:00
James Seibel f3ef6f25f4 Fix some beacon rendering/updating issues 2024-09-01 16:36:37 -05:00
James Seibel ec012d9fd6 Fix glass panes not affecting beacon colors 2024-09-01 15:04:24 -05:00
James Seibel fc90cf3377 add disableUnchangedChunkCheck config 2024-08-31 22:11:25 -05:00
James Seibel e1e42d1caf Fix cloud color not matching MC 2024-08-31 21:55:54 -05:00
James Seibel 95ce29e355 Update all pos objects to use getters to match with DhBlockPos
I'd prefer not to need getters/setters since it's cleaner to just call pos.x, but that doesn't allow for immutable/mutable distinction.
2024-08-31 20:50:22 -05:00
James Seibel 0fd818b077 Allow users to re-activate DH rendering if a rendering error is thrown 2024-08-31 20:20:51 -05:00
James Seibel ba59daf747 Add beacon nearby culling 2024-08-31 20:20:24 -05:00
James Seibel b7d94c2ed1 Fix RenderableBoxGroup not supporting clear() 2024-08-31 20:06:04 -05:00
James Seibel 7a057a8d53 fix Lod builder not showing the correct stacktrace in Intellij 2024-08-31 15:04:30 -05:00
James Seibel 49c6ab97a9 Remove unused threadpool 2024-08-31 15:04:12 -05:00
James Seibel ed0d80b37e Reduce deplayed LOD modified save from 2 sec -> 500 ms
This should make some LOD update operations appear faster
2024-08-31 15:01:37 -05:00
James Seibel 9768728c92 Add RollingAverage object 2024-08-31 14:58:08 -05:00
James Seibel 0c68544f2f Fix DhLightingEngine putting lights at relative (0,0) and add debug logic 2024-08-31 12:45:39 -05:00
s809 048b36f80d Add comment 2024-08-31 20:50:50 +05:00
s809 40f902e2f5 Delay loading first level when on server 2024-08-31 20:46:58 +05:00
James Seibel b1f154a0ea Add DhBlockPosMutable and make the original immutable
This is to prevent issues with some methods accidentally mutating shared positions
2024-08-30 07:35:59 -05:00
James Seibel 628c9b071f DhBlockPos cleanup 2024-08-29 20:05:26 -05:00
James Seibel ed39b6181f Fix DH beacon detection logic mutating input block pos
alternate title: Fix DH beacon detection logic breaking the lighting engine
2024-08-29 19:54:36 -05:00
James Seibel 1d6d712483 Fix LODs not updating in the nether or when blocks are changed underground 2024-08-29 07:32:55 -05:00
s809 62ddb46674 Restore LOD fetching by distance 2024-08-29 17:09:08 +05:00
James Seibel 73c4f0ffcd Add a quick DH cloud UI config 2024-08-28 07:16:20 -05:00
s809 375cd44cbd Do not start generator until server responds with config 2024-08-27 16:35:22 +05:00
s809 ce057525d3 Show incompatible protocol version in F3 2024-08-27 16:02:15 +05:00
s809 01c879951c Fix sync on login 2024-08-26 16:53:59 +05:00
s809 4f19f05f3b Change naming of rate limit related items 2024-08-26 00:39:28 +05:00
s809 47f68c7ed3 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-08-24 02:58:17 +05:00
s809 39db421aa1 Remove mentions of generation task priorities 2024-08-23 17:28:15 +05:00
s809 f4b0c08822 Fix network compression pool not shutting down 2024-08-23 17:11:32 +05:00
s809 f17c3fa267 "Fix" buffer release errors in FullDataPayload 2024-08-23 14:16:20 +05:00
James Seibel 48d1005be6 Up version number 2.2.0 -> 2.2.1-dev 2024-08-20 19:16:18 -05:00
James Seibel e71e8d1966 Up version number 2.1.3-dev -> 2.2.0 2024-08-20 17:44:41 -05:00
James Seibel 489b3d3ae1 Fix Legacy GL causing fog to smear 2024-08-20 17:44:41 -05:00
s809 81e6f55dbf Use same packet resource for all versions 2024-08-19 17:55:59 +05:00
James Seibel 1b162f10e6 Add sharedApi.isChunkAtChunkPosAlreadyUpdating() 2024-08-18 14:46:12 -05:00
James Seibel 301cce3d11 Remove unused chunkUnloadEvent 2024-08-18 14:25:51 -05:00
James Seibel e68d0d5c45 Fix fog and SSAO being broken by some mods 2024-08-17 22:29:28 -05:00
s809 b5e2019d28 Add logging of request group lifecycle 2024-08-15 15:46:24 +05:00
James Seibel 2cf952fb76 Deprecate IDhApiWorldGenerator.isBusy(), task queuing is now handled internally 2024-08-12 22:20:06 -05:00
James Seibel c7c5ab17bc Add optional DhApiChunk validation for world gen 2024-08-12 21:47:48 -05:00
James Seibel a98955530f Allow adding empty lists to DhApiChunk 2024-08-11 22:01:24 -05:00
James Seibel c63a509f9e Fix DhApiChunk setDataPoints failing for empty lists 2024-08-11 21:55:11 -05:00
s809 84dca85447 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-08-11 20:59:23 +05:00
James Seibel dac51a9eea Add mod compat warning message config 2024-08-11 09:54:54 -05:00
s809 8c3e8136be Do not clear keyed level on close event 2024-08-10 23:53:22 +05:00
s809 606c157958 Make encode/decode error handling work correctly 2024-08-10 23:26:04 +05:00
s809 ba3677b641 Make error handling somewhat work 2024-08-10 19:49:33 +05:00
James Seibel 8d78a1ad74 Rename BeaconBeamDTO.pos -> blockPos 2024-08-09 07:25:49 -05:00
James Seibel 7c11bb4258 Fix beacons not enabling/disabling correctly 2024-08-09 07:25:24 -05:00
James Seibel 0d6ec3d836 Fix frustum culling when the screen is warped 2024-08-07 18:55:02 -05:00
s809 dee13a4ec4 Merge branch 'serverside-experimental/prevent-disconnects' into serverside 2024-08-07 22:20:29 +05:00
James Seibel 9449433fe8 Fix deleting beacons 2024-08-07 07:47:11 -05:00
James Seibel 2c976c9fb1 Improve fast chunk hash to respect surface block heights 2024-08-07 07:47:02 -05:00
James Seibel 90fdfbbe61 Fix direct memory leak and remove config for GpuUpload 2024-08-07 07:29:52 -05:00
James Seibel a8df13fdd2 Fix LodRenderSection holding onto unnecessary memory 2024-08-06 21:47:03 -05:00
James Seibel f05eac2637 test 2024-08-06 20:47:23 -05:00
s809 71e4cd6272 Fix real-time updates 2024-08-06 23:12:13 +05:00
s809 82c5de7dfe Fix Neoforge not being able to connect to vanilla servers 2024-08-05 14:51:17 +05:00
James Seibel 4ae30b3d47 Improve LOD detail level detection and hole filling 2024-08-04 08:30:58 -05:00
James Seibel 8abefdcfd5 Attempt to improve LOD building speed and reduce broken lighting on servers 2024-08-03 17:11:18 -05:00
James Seibel 801a126de0 Fix chunk has being saved before LOD update 2024-08-03 16:50:12 -05:00
James Seibel 377d0fbe12 Allow DhApiChunk to accept top down or bottom up data point orders 2024-08-03 09:32:57 -05:00
James Seibel 1ecf968668 Remove unused ChunkToLodBuilder 2024-08-03 09:32:29 -05:00
s809 9d11733444 Fix dimension switching (untested) 2024-08-03 15:42:43 +05:00
James Seibel c43b985f4e Fix off by 1 error in Render data transformer 2024-08-02 18:30:55 -05:00
James Seibel b7fea64925 Fix out of bounds exception in Full Data Transformer 2024-08-02 17:56:25 -05:00
s809 e62c6a5c55 [skip ci] Prevent disconnects on encode/decode/handle errors 2024-08-01 22:19:10 +05:00
James Seibel 116d7f4a3f Fix incorrect comment in DhSectionPos 2024-08-01 06:52:05 -05:00
James Seibel 0c36dc03a5 Fix cave culling affecting floating islands and add LOD reload to some configs 2024-07-31 19:06:44 -05:00
James Seibel c658269eb7 Remove deprecated methods and move method to StringUtil 2024-07-30 17:06:55 -05:00
James Seibel defaea86f0 Remove unused sodium and McRenderWrapper methods
Removed methods were originally used to cull LODs if MC had loaded chunks, however this turned out to be more trouble than it was worth and caused more problems than it solved.
2024-07-30 17:00:59 -05:00
James Seibel f1564cc90b Fix presets only using "custom" after any value was changed 2024-07-30 15:47:48 -05:00
James Seibel 66feb0b9c2 Fix SSAO shader crashing when entering empty config values 2024-07-30 15:35:01 -05:00
s809 93b57ae2e1 Increase defaults for network compression threads 2024-07-30 10:52:27 +05:00
James Seibel 79bfa21115 Fix default logging debug to file 2024-07-29 20:40:23 -05:00
James Seibel 5588b0d2fa Add TODO to cleanup LodRenderSection futures 2024-07-29 07:29:48 -05:00
James Seibel e9788acb46 Fix rapidly changing dimensions causing the game to crash 2024-07-29 07:13:06 -05:00
James Seibel 8056a5b8bf Add Buffer Builder/Uploader thread pools to the F3 menu 2024-07-29 07:08:42 -05:00
s809 e5033a0c0f Use FullDataPayload instead of reusing messages 2024-07-29 13:10:04 +05:00
James Seibel e0ad956e34 Fix incorrect DhApiChunk create constructor parameter order (again) 2024-07-28 20:18:15 -05:00
s809 32abe15b09 Add build number on F3 screen 2024-07-28 20:19:38 +05:00
s809 2b65e33aa7 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-07-28 19:44:25 +05:00
James Seibel 9546f9cbc8 Close !66 (fix incorrect positions being fed into biome color code) 2024-07-28 09:33:24 -05:00
s809 bc6ab6c840 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-07-28 19:01:28 +05:00
James Seibel 9834b20a9f Revert and Deprecate DhApiChunk and DhApiTerrainDataPoint constructors 2024-07-28 08:56:18 -05:00
James Seibel 752008e8ac Re-add deprecated IDhApiLevelWrapper.getHeight() 2024-07-28 08:55:54 -05:00
James Seibel fbe81021c0 Update API javadocs 2024-07-28 08:55:35 -05:00
s809 ccbb071704 Reapply "Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside"
This reverts commit d26cb41048.
2024-07-28 17:05:58 +05:00
James Seibel 882c5399bd Fix holes in LODs boarding different detail levels 2024-07-27 21:06:50 -05:00
James Seibel dbe0461d5f Fix LOD upload warning 2024-07-27 20:25:55 -05:00
James Seibel d3d166dd02 Undo experimental change to LOD reloading 2024-07-27 20:11:28 -05:00
James Seibel d0dd1f38ff Fix LODs flashing twice when changing configs 2024-07-27 20:11:00 -05:00
James Seibel 53300a3028 Update IDhApiRenderProxy.clearRenderDataCache() to also clear cached block colors 2024-07-27 17:36:40 -05:00
James Seibel 56303dd82a level wrapper renamings 2024-07-27 16:51:08 -05:00
s809 d26cb41048 Revert "Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside"
This reverts commit a15aaa573d, reversing
changes made to 83c1a2fd63.
2024-07-27 23:06:34 +05:00
s809 a15aaa573d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-07-27 21:43:21 +05:00
James Seibel 19d8c89bd8 Fix ice/water vertical LOD lighting 2024-07-27 09:30:41 -05:00
James Seibel adba3e4c15 clear testing default debug config values 2024-07-27 08:40:59 -05:00
James Seibel 479ce8093e minor cleanup/refactor 2024-07-27 08:28:31 -05:00
James Seibel 1ed6c619d9 Add localization for new column builder debug options 2024-07-27 08:26:46 -05:00
Builderb0y 825f439ffb fix incorrect positions being fed into biome color code. 2024-07-27 02:32:31 +00:00
James Seibel b1b487e63f Improve RenderDataPointUtil toString() 2024-07-24 06:46:28 -05:00
James Seibel 2763a7ca75 add missing brackets 2024-07-23 20:41:22 -05:00
James Seibel b4b1a2a549 remove deprecated RenderDataPointUtil logic 2024-07-23 20:05:41 -05:00
James Seibel 5865317394 Remove deprecated LodQuadBuilder code 2024-07-23 19:53:13 -05:00
James Seibel b70c090e94 Refactor and cleanup buffer building 2024-07-23 19:39:44 -05:00
James Seibel a9f6b924c2 Move CubicLodTemplate to ColumnRenderBufferBuilder 2024-07-23 07:05:28 -05:00
James Seibel 9c25a6450a comment ColumnArrayView 2024-07-22 20:47:34 -05:00
James Seibel 448982fbaf refactor FullDataToRenderDataTransformer 2024-07-22 19:50:23 -05:00
James Seibel 2ee06c59f1 Add configs for testing the ColumnRenderBufferBuilder 2024-07-22 17:34:04 -05:00
James Seibel d38711ca4b Fix replay mod not showing LODs 2024-07-21 20:05:36 -05:00
James Seibel c9b650fb7f remove unused clientLevelWrapper.getGameDirectory() 2024-07-21 19:27:11 -05:00
James Seibel 3cef8b9a4f Improve cave culling and add config for ignored/cave blocks 2024-07-21 17:27:17 -05:00
James Seibel d9d9f3dad8 minor logging fixes 2024-07-21 17:06:58 -05:00
James Seibel 44fe1eafb1 Fix ConfigEntry String value saving 2024-07-21 16:09:46 -05:00
James Seibel 36fcc46445 Minor DataTransofmer refactor 2024-07-21 07:48:52 -05:00
James Seibel 64895ba521 Remove unnecessary suffix from SectionPos encode method 2024-07-21 07:42:40 -05:00
James Seibel 589340f2db Clean up SectionPos wording for chunk/block pos converters 2024-07-21 07:35:35 -05:00
James Seibel de7d22766a Fix RenderDataPointUtil.toString() ARGB order 2024-07-21 07:19:21 -05:00
James Seibel 568ff40df6 Fix API chunk world gen 2024-07-20 17:57:58 -05:00
s809 83c1a2fd63 Fix handler registration 2024-07-20 23:56:24 +05:00
James Seibel 17b5ba0ae1 Fix potential issues with WorldGenQueue not being marked as stopped
closes !61
2024-07-20 11:25:00 -05:00
James Seibel 4d4eeacbdd Add IDhApiWrapperFactory resourceLocation string methods for block/biomes 2024-07-20 11:20:48 -05:00
James Seibel 99dc644adf Add AbstractDhApiChunkWorldGenerator.generateApiChunk() 2024-07-20 10:45:43 -05:00
James Seibel f442ab56c0 Remove unnecessary glIsProgram() call 2024-07-18 07:40:04 -05:00
James Seibel 9147b139c7 Increase max VBO size 1 MB -> 10 MB 2024-07-18 07:39:52 -05:00
s809 0e904a388c Raise full data chunk size limit 2024-07-16 23:56:48 +05:00
s809 3723137fea Remove unused method 2024-07-16 23:52:28 +05:00
s809 71e54cc9ab Up protocol version 2024-07-16 23:51:30 +05:00
s809 b4cf962a85 Fix event handler registration 2024-07-16 23:40:20 +05:00
s809 1a30f240ef Client-side chunk handling 2024-07-16 17:49:09 +05:00
James Seibel 4f2b8e6d8d VBO handler commenting 2024-07-15 20:22:29 -05:00
s809 b3b5ac63c8 Server-side logic is pretty much finished 2024-07-16 00:27:22 +05:00
s809 16abc0faa1 [skip ci] Initial chunked full data message payloads 2024-07-15 07:57:20 +05:00
James Seibel 7165c086e4 Remove render param from DhApiAfterRenderEvent
This was causing confussion if deferred rendering (iris shaders) was enabled since the render parameters would change.
2024-07-14 09:30:56 -05:00
James Seibel fa22a4f27b Add a optional memory cache to the IDhApiTerrainDataRepo 2024-07-14 08:41:18 -05:00
James Seibel 9c0f5865f6 add missing genericRendering to IDhApiGraphicsConfig 2024-07-14 07:25:45 -05:00
James Seibel 1d0cb048cd Default logging to only write errors to chat 2024-07-13 12:54:21 -05:00
James Seibel 641d399a8e Merge branch 'distant-horizons-core-main' 2024-07-13 12:30:06 -05:00
James Seibel 32861e757d Add shader uniform "u" prefix 2024-07-13 12:04:05 -05:00
James Seibel 634738a1fc Remove minimum near fog distance and rename fog uniforms 2024-07-13 11:35:25 -05:00
James Seibel 859cbb6161 Fix fog reading/writing to the same buffer 2024-07-13 11:09:49 -05:00
James Seibel 6c960a81c0 testDisable beacon SSAO 2024-07-13 11:07:44 -05:00
James Seibel 1695c41ef2 Increase default fog start distance 2024-07-13 08:14:29 -05:00
James Seibel 8eabc6ad4c make clouds smaller and thinner 2024-07-12 21:47:06 -05:00
James Seibel a153ca1fe1 Fix repo connections not getting closed 2024-07-12 20:21:57 -05:00
James Seibel cab9f7c830 Clone API event parameters to reduce listener contamination 2024-07-12 19:22:20 -05:00
James Seibel 6bb832a488 Add renderEventParam to generic rendering shader binding by IMS request 2024-07-12 17:27:17 -05:00
s809 778c2f894e Fix level handling for real time updates 2024-07-12 23:11:36 +05:00
James Seibel e7dda9590a Add generic object setup/cleanup events 2024-07-12 07:15:57 -05:00
James Seibel 0483edd2f3 Fix material typo 2 2024-07-11 22:51:37 -05:00
James Seibel 122ef4dce0 Fix material typo 2024-07-11 22:07:09 -05:00
James Seibel e9d254f8c4 Add generic object materials 2024-07-11 18:12:58 -05:00
James Seibel 17aa85ad24 Add EDhApiBlockMaterial 2024-07-11 17:57:54 -05:00
James Seibel 8e1dfd688e Fix inverting gener rendering event cancling 2024-07-11 17:57:30 -05:00
James Seibel 691d5caded Add api for generic rendering config 2024-07-11 17:38:51 -05:00
James Seibel 31c089f82f Add DhApiBeforeGenericObjectRenderEvent 2024-07-11 17:32:17 -05:00
James Seibel 8eceeb0226 Add namespace/path to generic rendering (including F3 piechart) 2024-07-11 17:20:02 -05:00
James Seibel c178afa4b9 Minor refactoring/renaming 2024-07-11 16:40:32 -05:00
James Seibel 116df0d999 Add IDhApiGenericObjectShaderProgram 2024-07-11 16:35:38 -05:00
s809 2617cd294d Add cache for ignoring responses for cancelled requests 2024-07-11 23:06:23 +05:00
s809 43b421042d Add a comment to semaphores 2024-07-11 22:08:10 +05:00
s809 af69678545 Fix player tracking on server 2024-07-10 23:51:39 +05:00
James Seibel ef3cd4b43d Add "IP Only" to multiplayer tooltip 2024-07-10 07:45:07 -05:00
James Seibel 4b27f39a04 Fix generic rendering at extreme distances 2024-07-10 07:37:11 -05:00
James Seibel 53a2bf1748 mark ConfigLinkedEntry localization broken 2024-07-09 19:31:14 -05:00
James Seibel edec8bc0a2 Update localization 2024-07-09 19:30:59 -05:00
James Seibel 066b23c785 Add toggleable logging for GL Buffer garbage collection
Will need to be tested by someone who is experiencing issue #718, so far I've been unable to reproduce anything meaningful.
2024-07-09 17:40:21 -05:00
s809 85341f7a6d Add missing semaphore release 2024-07-09 18:06:16 +05:00
James Seibel 1f74f19cd9 minor cleanup 2024-07-09 07:49:56 -05:00
James Seibel 232c727b4f Move IBlockStateWrapper constants into LodUtil 2024-07-09 07:38:45 -05:00
James Seibel cd5da82d0c Add a TODO to LevelWrapper 2024-07-09 07:33:56 -05:00
James Seibel b762c0561d Add beacon colors 2024-07-09 07:33:17 -05:00
s809 9e0edd0cf3 Prevent request cancellation deadlock 2024-07-09 14:47:45 +05:00
James Seibel f144a9ebc1 Optimize beacon detection 2024-07-08 20:20:48 -05:00
James Seibel 29ef95387c Shrink cloud texture to improve performance 2024-07-08 19:56:20 -05:00
James Seibel 0d79a856b2 Add cloud greedy meshing 2024-07-08 18:45:42 -05:00
s809 84e90a7a9b Use dedicated thread pool for data compression 2024-07-08 23:07:58 +05:00
James Seibel bd5054e762 re-arrange the generic rendering config 2024-07-08 07:44:41 -05:00
James Seibel 63dea2515e Add generic rendering US localization 2024-07-08 07:42:56 -05:00
James Seibel baa89edd03 Add a few missing items from beacon render handler 2024-07-08 07:35:34 -05:00
James Seibel c45f9f442f Clean up beacon render handling logic 2024-07-08 07:32:29 -05:00
James Seibel 9e13b27197 Fix double unloading beacons 2024-07-07 19:54:17 -05:00
James Seibel 3c173685ea Fix beacons disappearing when unloading LODs 2024-07-07 19:45:27 -05:00
James Seibel 8eb70cbaed fix unloading chunks removing beacon beams 2024-07-07 19:18:40 -05:00
James Seibel 22167081f0 Fix generic render un-binding when moving between levels 2024-07-07 19:16:33 -05:00
James Seibel 23d07aa92d Disable cloud rendering if instanced rendering isn't available 2024-07-07 18:42:11 -05:00
James Seibel 578a9f9309 add directional shading to direct generic rendering 2024-07-07 18:31:43 -05:00
James Seibel bacdfa96e3 rename ILevelWrapper.getHeight -> getMaxHeight 2024-07-07 18:16:00 -05:00
James Seibel c73c3f8490 Add missing generic rendering config options 2024-07-07 18:11:18 -05:00
James Seibel f4a8bfeb0a Add cloud rendering 2024-07-07 18:02:43 -05:00
James Seibel 197e6e8178 add vec3f distance methods 2024-07-07 14:52:30 -05:00
s809 48a8cdc365 Disable parent update propagation 2024-07-07 19:46:47 +05:00
s809 171e6b9bcd Reset state of level detection on world exit 2024-07-07 01:49:44 +05:00
James Seibel c2c8bf8613 minor generic render refactor 2024-07-05 06:56:46 -05:00
James Seibel fce703579f Fix concurrent modification for GenericObjectRenderer 2024-07-04 21:41:57 -05:00
James Seibel e98f17f63b Remove useless IServerLevelWrapper.tryGetClientLevelWrapper() 2024-07-04 16:23:39 -05:00
James Seibel 120dddf844 Fix Api client level not containing the generic renderer 2024-07-04 16:14:32 -05:00
James Seibel ca711bbc72 Instance beacon rendering 2024-07-04 14:34:12 -05:00
James Seibel cc4cb10307 Fix uploading generic objects crashing 2024-07-04 14:34:01 -05:00
James Seibel 88db5c9594 re-add generic rendering to the API 2024-07-03 22:37:52 -05:00
James Seibel 81bfa9a02b Add generic rendering to the F3 menu 2024-07-03 20:46:11 -05:00
James Seibel ae72e627c5 Add a config to use pre-existing lighting 2024-07-03 20:30:49 -05:00
James Seibel 131b2835e5 Make generic renderer level dependent 2024-07-02 22:11:06 -05:00
James Seibel 5b905a9ab3 minor LodRenderer refactor 2024-07-02 19:23:02 -05:00
James Seibel e90c7cd8a0 Add beacon activation logic from merge 60
Closes !60
2024-07-02 17:50:25 -05:00
James Seibel 3b4a0ff4bc test 2024-07-02 17:08:55 -05:00
James Seibel 55cb4595bd Fix beacons un-loading incorrectly in some situations
Specifically neighboring chunks updating and in some cases flying away too fast
2024-07-02 07:50:21 -05:00
James Seibel e91afc17a3 Fix beacon beams for loaded chunks 2024-07-01 19:02:36 -05:00
James Seibel 6a398e6514 Start adding beacon beam repo handling 2024-07-01 07:51:08 -05:00
James Seibel 51de347bdd Add temporary proof-of-concept beacon rendering 2024-06-30 18:08:47 -05:00
James Seibel 72d6cb9697 Disable debug generic object rendering 2024-06-30 18:08:00 -05:00
James Seibel 4a025de9d6 Add generic object sky/block light 2024-06-30 17:45:50 -05:00
James Seibel 6c8060fa87 Up API version 2.1.0 -> 3.0.0 2024-06-30 16:33:54 -05:00
James Seibel 0c0987b66b Replace Vec3f and Mat4f in API with API versions 2024-06-30 16:33:38 -05:00
James Seibel 5a71e4015c Add javadocs to generic rendering objects 2024-06-30 15:28:00 -05:00
James Seibel f68edcbfea Add debug render code toggle 2024-06-30 14:38:35 -05:00
James Seibel aefa0d6797 generic renderable active flag and renaming cube -> box 2024-06-30 14:27:09 -05:00
s809 7e48c49e33 Make data source encoding lazy and move it off server thread 2024-07-01 00:15:54 +05:00
James Seibel 305a6bb459 Improve generic rendering pos objects 2024-06-30 14:02:44 -05:00
James Seibel 28c8614550 Store generic object instance VBOs if possible 2024-06-30 13:46:03 -05:00
s809 1b48d61d3f Rename CloseEvent 2024-06-30 22:35:41 +05:00
James Seibel f282d78fb9 minor generic obj cleanup 2024-06-30 09:31:45 -05:00
James Seibel 7f8b5579c5 Add generic rendering profilers and move some vertex attribs to uniforms 2024-06-30 09:25:12 -05:00
yeshi db786290e8 tell user to restart the game if the renderer dies 2024-06-29 21:56:38 +02:00
James Seibel 2c71d97c15 fix instanced generic duplicate rendering 2024-06-29 11:00:53 -06:00
James Seibel bf1361c7c3 GenericObjectRenderer forgot cached uniform location 2024-06-29 10:34:58 -06:00
James Seibel f2bba7f3df Add instanced and direct genericObject rendering 2024-06-29 10:29:30 -06:00
James Seibel 62e5183c54 Improve GLProxy creation validation/logging 2024-06-29 10:18:27 -06:00
James Seibel c1a90c9350 Add instanced generic object rendering 2024-06-29 09:11:49 -06:00
James Seibel 0d0826f319 Separate out Generic object rendering 2024-06-28 16:53:05 -06:00
s809 47541fa99c Move fixing the dimension name into even more correct place 2024-06-28 23:18:24 +05:00
s809 13638cedee Move fixing the dimension name into correct place 2024-06-28 19:28:36 +05:00
s809 4cdf31cfe8 Fix paths unable to be created on Windows 2024-06-28 17:25:09 +05:00
s809 3ff9a93066 Fix test compilation failing 2024-06-28 15:52:39 +05:00
s809 083a036666 Use level's ResourceLocation instead of dimension type's 2024-06-28 15:28:33 +05:00
James Seibel 6bfa3a422e Move generic cube rendering into it's own class 2024-06-27 06:36:30 -06:00
James Seibel 352abc40e6 Add proof-of-concept cube rendering 2024-06-27 06:22:15 -06:00
s809 a0efe44e8d Clean up package structure 2024-06-26 23:57:37 +05:00
James Seibel 58d26dedd6 Show overloaded message in chat and increase message timeout 5 -> 30 sec 2024-06-26 12:58:18 -05:00
s809 8d110e22dd Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into refactor/remove-tcp-connection 2024-06-26 15:13:03 +05:00
s809 4d6e11fdeb Fix compilation 2024-06-26 14:55:21 +05:00
s809 454b15ff60 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into refactor/remove-tcp-connection 2024-06-26 14:54:00 +05:00
James Seibel 321afa2a9e Up version 2.1.2 -> 2.1.3-dev 2024-06-25 19:25:30 -05:00
James Seibel 71ffbfb7b9 add "warning" to the low memory warning message 2024-06-25 19:24:07 -05:00
James Seibel 2ab7949ce5 Fix database file paths 2024-06-25 19:23:53 -05:00
James Seibel 28e1eaae77 Up version 2.1.1-dev -> 2.1.2 2024-06-24 20:53:36 -05:00
James Seibel 30dda058fe Throw an exception if the file handler can't read/write to the DB 2024-06-23 08:22:35 -05:00
James Seibel 0d16c037f5 Increase default world gen timeout to 3 minutes (from 60 sec) 2024-06-18 07:11:48 -05:00
James Seibel 7f50de17c0 Fix file handler tooltip 2024-06-17 07:40:49 -05:00
James Seibel 67819b30eb Improve F3 menu logic and visuals 2024-06-15 19:20:20 -05:00
s809 d2f4972693 Put messages received before player joining into queue 2024-06-16 00:45:16 +05:00
James Seibel ad38722304 add a todo to shared api 2024-06-15 11:26:46 -05:00
James Seibel 4da48c4c55 Lower the default CPU presets 2024-06-15 11:26:01 -05:00
James Seibel 6542e9e889 comment out unused showMigrationChatWarning 2024-06-15 11:04:56 -05:00
James Seibel 2f7e3d43d1 Add a startup low memory warning 2024-06-15 11:04:43 -05:00
James Seibel edaafb5cf0 Fix saving the chunk hash incorrectly 2024-06-15 10:37:59 -05:00
James Seibel 81d1ed419e Prevent creating LODs for already processed chunks 2024-06-15 09:42:43 -05:00
James Seibel 385e3dc964 Add ChunkWrapper BlockBiome HashCode 2024-06-15 08:11:16 -05:00
James Seibel 9592cd80f3 Improve position error logging 2024-06-15 07:20:38 -05:00
James Seibel 7b153a8aad Fix SelfUpdater list logging 2024-06-14 07:11:06 -05:00
s809 acb299530d Avoid reloading levels when unnecessary 2024-06-14 16:25:20 +05:00
James Seibel 54c2213eb6 Merge in JustALittleWolf's optimizations 2024-06-13 07:30:17 -05:00
s809 7c705015e6 Use level keys 2024-06-13 16:44:37 +05:00
JustAlittleWolf 1274a8e097 Directly access childNodes in LodQuadTree
This changes `LodQuadTree::recursivelyUpdateRenderSectionNode` to directly iterate on the children, instead of creating a childpositerator, and searching for the sectionpos. This lowers memory usage, as the iterators add quite a lot of object garbage (see https://i.imgur.com/r0qlxzc.png)
2024-06-13 13:15:39 +02:00
JustAlittleWolf bd1d0063e5 Change iterator Queue from LinkedList to ArrayDequeue
This improves performance and memory allocation, whenever the iterators are used. See https://docs.oracle.com/javase/8/docs/api/java/util/ArrayDeque.html
2024-06-13 13:14:30 +02:00
James Seibel af9b55ad6c Add lighting engine unit tests 2024-06-11 19:33:08 -05:00
James Seibel 97b86d69c4 Move shared ChunkWrapper code form Main to Core 2024-06-11 18:34:57 -05:00
James Seibel c6b4eacf03 Improve the overloaded chunk loading message 2024-06-11 07:35:28 -05:00
s809 bcb21be848 Show dimension names 2024-06-10 23:39:57 +05:00
s809 562594de2f Better error on invalid dimension 2024-06-09 22:01:30 +05:00
s809 03a00bb7ca Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into refactor/remove-tcp-connection 2024-06-09 21:18:08 +05:00
James Seibel e011ce3ee0 Remove OpenGL multithreading 2024-06-08 12:49:08 -05:00
James Seibel 1dd6359c89 Try changing LZMA preset from 4 -> 3 (faster, less compressed) 2024-06-08 11:06:26 -05:00
James Seibel e41abdd176 Improve config comment spacing 2024-06-08 08:33:32 -05:00
James Seibel b7a5bfd274 Add update branch config "auto" 2024-06-08 08:11:09 -05:00
James Seibel c3abfb123d Up the version number 2.1.0-a -> 2.1.1-a-dev 2024-06-07 17:42:36 -05:00
s809 dc3aa939db Fix logging errors 2024-06-08 00:07:24 +05:00
s809 39391b944f Add toString to messages & fix incorrect call 2024-06-06 21:25:19 +05:00
s809 a6fc8f1702 Fix compilation 2024-06-02 20:00:09 +05:00
s809 b0777789fd Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into refactor/remove-tcp-connection 2024-06-02 19:58:53 +05:00
s809 24a2a48deb Increase section reload delay 2024-06-01 19:49:23 +05:00
s809 e08faa7943 Fix requests breaking on rejoining 2024-06-01 12:17:04 +05:00
James Seibel 76f28e648c Up the version number 2.0.4-a-dev -> 2.1.0-a 2024-05-30 20:13:55 -05:00
s809 a000afbc60 Kinda works, rejoining is broken 2024-05-29 23:36:34 +05:00
James Seibel f49a79b54a remove unused lightmapBindingIndex in DhApiRenderParam 2024-05-27 17:57:45 -05:00
James Seibel 3cf385c2a2 Potentially fix memory leaks when rendering is disabled 2024-05-27 17:37:52 -05:00
s809 a3e34c9738 [skip ci] Still a mess 2024-05-27 22:01:57 +05:00
s809 1f63bdf124 [skip ci] Somewhere 2024-05-22 23:18:18 +05:00
s809 44205664b5 [skip ci] Incomplete 2024-05-21 22:54:57 +05:00
James Seibel 8c91a84795 Fix LZ4 in retail MC 2024-05-21 07:43:33 -05:00
James Seibel 4af63758f2 Add error logging to stream wrappers 2024-05-21 07:42:22 -05:00
James Seibel 969b02dc18 Put config button hide option only in file 2024-05-20 22:15:38 -05:00
Ran 2111ad64c4 Properly shade libraries when using Java version Ω 2024-05-21 02:09:04 +00:00
James Seibel e02deb2fb0 Merge branch 'main' into 'main'
thing part 2 (last mr didn't include core)

See merge request jeseibel/distant-horizons-core!57
2024-05-20 19:57:16 +00:00
Yeshi0 410e34b147 remove unnecessary reference to zstd 2024-05-20 17:53:02 +02:00
s809 40d019d7e8 Merge remote-tracking branch 'origin/main' 2024-05-18 22:14:19 +05:00
s809 96755e6174 Move overrides in LAN to config 2024-05-18 22:09:19 +05:00
James Seibel 9cebd7ee54 Add ConfigBasedLogger.errorAndThrow() 2024-05-18 08:07:41 -05:00
James Seibel cfec32746d Fix shading for MC 1.20.6 IE Java 21 2024-05-18 07:27:17 -05:00
s809 bd5866787f Update Config.java 2024-05-17 12:41:09 +00:00
s809 d9651bbd27 Merge branch 'main' into 'main'
rewrite config comments

See merge request s809/distant-horizons-core!1
2024-05-17 12:39:54 +00:00
James Seibel fabe5d77ea Merge branch 'SectionPosRewrite' 2024-05-16 22:15:03 -05:00
James Seibel 894a2dbe7d Fix incorrect DhSectionPos method var order 2024-05-16 22:14:34 -05:00
James Seibel 172e7560fd Replace DhSectionPos with long primitives to reduce GC 2024-05-16 22:07:57 -05:00
James Seibel c67712d973 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-05-15 18:57:53 -05:00
James Seibel cd5ff8ce35 Start adding new DhSectionPos and unit tests 2024-05-15 18:48:25 -05:00
James Seibel 6e717a383d Remove unused OldSectionPos methods and add serialize methods to V1 repo 2024-05-15 18:47:51 -05:00
James Seibel bef873b875 Add comments to EDhDirection 2024-05-15 18:47:09 -05:00
James Seibel 331d75a3bc Rename DhSectionPos -> OldDhSectionPos before rewrite 2024-05-15 07:50:52 -04:00
James Seibel cec6438602 Replace QuadTree iterator linked list with ArrayDeque
Thanks JustALittleWolf!
2024-05-15 07:36:32 -04:00
Yeshi0 a1f4442a53 rewrite config comments 2024-05-14 20:16:44 +02:00
s809 e6b140245b Fix awt dependency error 2024-05-12 17:34:58 +05:00
James Seibel f5e0c112e3 Revert max world gen tasks 2 -> 20
I was hoping it would fix LODs not appearing, although it appears there was a different problem which has since been fixed.
2024-05-11 16:23:20 -05:00
James Seibel 899c4aca91 Add Quad Tree Render Status debug wireframe 2024-05-11 16:21:53 -05:00
James Seibel a4ac483e5b Potentially fix LODs not loading in 2024-05-11 16:19:10 -05:00
s809 08336027b2 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into feature/2.0.4 2024-05-11 19:16:01 +05:00
James Seibel 723f67ea0c Attempt to prevent thread starvation due to world gen
Hopefully this should help prevent issues on low end machines not loading in LODs
2024-05-10 22:27:22 -05:00
s809 543b5ed49a Fix dimension switching (at cost of breaking immersive portals) 2024-05-10 23:56:07 +05:00
s809 3d86c5c5ee Fix generated sections not appearing 2024-05-10 21:13:40 +05:00
James Seibel 4575701bd4 disable sql timeout 2024-05-09 23:21:35 -05:00
James Seibel 7cfcfb0695 Handle missing/corrupted block/biome ID's in the full data 2024-05-09 19:45:54 -05:00
James Seibel f33bfa1d69 Fix monoliths due to duplicate IDs
This would specifically happen if moving from one MC version that has more blockstate attributes to one with fewer. If that was done then the both blockstates would act like they were the same, screwing up the ID map.
2024-05-09 19:44:33 -05:00
James Seibel a3c1f1563d minor FullDataToRenderDataTransformer reformat 2024-05-09 19:35:43 -05:00
James Seibel 361d197c5e Add DataCorruptedException(message, exception) constructor 2024-05-09 19:04:07 -05:00
James Seibel 04379691bc Potential fix for NaN multiverse similarity 2024-05-09 07:34:47 -05:00
s809 8e1009ab3f Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into feature/2.0.4 2024-05-05 19:51:21 +05:00
s809 551a5f1a72 Fix updates 2024-05-05 16:55:15 +05:00
James Seibel 7e45a98e8f Up the API version 1.1.0 -> 2.0.0
There were several breaking changes and I forgot to up the major version number appropriately.
2024-05-04 18:16:19 -05:00
James Seibel e1ca398b8f Fix updating chunk count not clearing on world close 2024-05-04 15:35:29 -05:00
James Seibel f34e67e6bb Fix F3 levels not closing with multiverse 2024-05-04 15:12:26 -05:00
James Seibel aad095ca1a Fix #670 Remove outdated world gen options from tooltip 2024-05-04 09:48:35 -05:00
s809 2664f96e0f Generation works, updates don't 2024-05-03 22:56:01 +05:00
James Seibel 950c951c2d minor ConfigBasedLogger cleanup 2024-05-02 17:31:53 -05:00
s809 dde2bcc947 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-05-02 21:47:35 +05:00
cola98765 37eaa2656a Update file FullDataToRenderDataTransformer.java 2024-05-01 10:31:43 +00:00
James Seibel 945853d014 Improve nightly build warning message 2024-04-30 21:53:00 -05:00
James Seibel 6bb38ad500 Improve migration queue messages 2024-04-30 21:52:13 -05:00
James Seibel 980086c533 Fix debug wireframes rendering on top of LODs 2024-04-30 21:23:54 -05:00
James Seibel c8f1154831 Remove ZStd compression option
Any ZStd data will be automatically deleted and re-generated
2024-04-30 21:17:26 -05:00
James Seibel 9196480e50 Remove references to FastUtil 8.5.13 2024-04-30 20:28:34 -05:00
James Seibel f0506d28e5 Fix incorrect refernce to fastutil in LzmaArrayCache 2024-04-30 20:26:34 -05:00
James Seibel 8ecd5dd9cb Fix optifine 1.16 support 2024-04-30 18:57:07 -05:00
James Seibel c83140a2d0 add IClientLevelWrapper.getPlainsBiomeWrapper() 2024-04-28 17:31:08 -05:00
James Seibel 3b600ce800 Add corrupt data read handling 2024-04-28 15:52:08 -05:00
James Seibel 7f874b4dc5 Revert a613540b 2024-04-27 12:56:08 -05:00
James Seibel 23e857a20d Fix some lib shading issues 2024-04-27 11:35:08 -05:00
James Seibel 2298ef0e0d up the version number 2.0.3 -> 2.0.4 2024-04-26 07:33:42 -05:00
James Seibel 7470455e50 Fix issues with compressors not appearing at runtime 2024-04-26 07:33:14 -05:00
James Seibel 614884c29e Merge Data_source_rewrite into main 2024-04-26 07:21:48 -05:00
James Seibel b41e54e6a6 shade in apache.logging for the standalone jar 2024-04-25 22:09:51 -05:00
James Seibel 2cc6c8d840 Change Initializer compressor test class 2024-04-25 21:52:44 -05:00
James Seibel a613540b6a Move most libraries from the main script to core 2024-04-25 21:51:48 -05:00
Cutiepie c89fcb094a Add core to gradle 2024-04-22 18:53:31 +10:00
James Seibel 10014d3729 Change default grass side rendering to fade_to_dirt 2024-04-20 19:00:33 -05:00
James Seibel 88ff9e7cde Drop high and extreme horizontal quality enums 2024-04-20 12:36:19 -05:00
James Seibel 459bc5fc0c Ops, forgot to remove this unused override in DataSourceProvider 2024-04-20 12:35:48 -05:00
James Seibel 3826c83d89 Remove "new" from AbstractDataSourceHandler's name 2024-04-20 11:41:02 -05:00
James Seibel 382917033a Fix a few warnings 2024-04-20 11:38:52 -05:00
James Seibel 37381896bc Fix warnings about updating empty maps 2024-04-20 11:38:31 -05:00
James Seibel 22f4757aae Fix rendering holes 2024-04-20 11:02:52 -05:00
James Seibel 57cd143009 Fix LodRenderSections not stopping load futures when closed 2024-04-20 08:49:44 -05:00
James Seibel 031742a951 speed up initial LOD loading 2024-04-18 21:06:25 -05:00
James Seibel a2e2559b26 Fix transparent blocks glowing (thanks IMS) 2024-04-18 07:47:42 -05:00
s809 3e3e97385b Fix 1.16.5 and 1.17.1 builds 2024-04-17 21:02:14 +05:00
s809 05fba12038 Prevent generation when config is not acknowledged by server 2024-04-16 21:55:02 +05:00
s809 c1f2803c56 Add missing newlines for override configs 2024-04-16 21:39:56 +05:00
s809 7006c669f0 More verbose invalid level error 2024-04-16 21:38:37 +05:00
s809 7cd0c956f6 Fix IPv6 addresses not being properly handled 2024-04-16 21:27:26 +05:00
s809 7c33dda11b Add FlushConsolidationHandler 2024-04-16 20:32:50 +05:00
James Seibel 6e0071a046 Fix migration chat message not appearing 2024-04-13 17:30:39 -05:00
James Seibel 352a59838d Fix double sending migration messages 2024-04-13 17:02:31 -05:00
James Seibel 63371e8111 improve migration deletion logic and add F3 logging 2024-04-13 16:58:52 -05:00
James Seibel 383ab1121d Fix migration getter SQL 2024-04-13 16:58:33 -05:00
James Seibel c9a7527bcb Improve migration message 2024-04-13 16:52:09 -05:00
James Seibel 7d4d899226 log migration status in F3 menu and chat 2024-04-13 14:25:28 -05:00
James Seibel 169429fe48 improve client level load logging 2024-04-13 13:35:04 -05:00
James Seibel 94304eb055 speed up initial loading when DB migration is necessary 2024-04-13 12:12:50 -05:00
James Seibel 4a40e19b34 suppress unchecked warning in LodRenderSection 2024-04-13 09:45:49 -05:00
James Seibel 22422321ab Remove unhelpful data source pooling in LodRenderSection 2024-04-13 08:22:36 -05:00
James Seibel eafaf2b4cd Fix compiler error in FullDataSourceV2 and minor reformat 2024-04-13 07:42:32 -05:00
James Seibel 281c85c283 Merge branch 'Data_Source_Rewrite' of https://gitlab.com/jeseibel/distant-horizons-core into Data_Source_Rewrite 2024-04-13 07:40:17 -05:00
James Seibel 8cecdebc05 Disable cave culling for any detail level above 0 2024-04-13 07:40:15 -05:00
James Seibel cba55aa643 Improve LOD load order 2024-04-12 22:40:08 -05:00
James Seibel f7c5b5725f Fix LodRenderSection adjacent source indicies 2024-04-12 22:39:32 -05:00
James Seibel 07b495d48c Increase file handler thread pool default runtime ratio 2024-04-12 22:19:44 -05:00
James Seibel b5d938475a Optimize LodRenderSection loading and data caching 2024-04-12 22:19:28 -05:00
s809 5f9f0f23b8 Fix integer overflows 2024-04-12 23:14:58 +05:00
s809 284191a904 Fix Neoforge 2024-04-12 22:36:04 +05:00
cola98765 f8b127a85d I may not be smart 2024-04-11 09:45:30 +00:00
cola98765 a216ba364d hopefully make old file conversion a bit faster. 2024-04-11 09:43:05 +00:00
James Seibel 6d0ec33316 fix minor line spacing 2024-04-10 18:51:14 -05:00
James Seibel 35681fe9a5 Fix Z-fighting at very high heights 2024-04-10 07:11:23 -05:00
James Seibel e560ddf3dc Fix sqlite database files not being unlocked 2024-04-09 21:29:12 -05:00
James Seibel 77fffb1a9b add a TODO to FullDataSourceProviderV2 2024-04-09 19:31:20 -05:00
James Seibel cf74d17e1b Fix world gen tasks being incorrectly removed from the queue at long distances 2024-04-09 19:27:57 -05:00
James Seibel a0e7bb94c6 Add a ApplyToParent DB index to improve file handling speed 2024-04-09 07:48:31 -05:00
James Seibel e10617ac19 increase update populator thread default run time ratio 2024-04-09 07:13:01 -05:00
James Seibel cd2b5fd668 Speed up world gen queue initial loading 2024-04-09 07:11:59 -05:00
James Seibel 336e8b99ec Reduce update thread pool default counts 2024-04-08 07:43:21 -05:00
James Seibel d8bac9df8c Remove deprecated DhApiScreenResizeEvent 2024-04-08 07:17:17 -05:00
James Seibel 1ff4a56e2d Improve grass side rendering and add a config 2024-04-07 21:42:31 -05:00
James Seibel 7bdafa28cc Fix debug detail render mode 2024-04-07 20:38:59 -05:00
James Seibel 03e11fbe3e Improve migration update timeout message and increase the time 2024-04-07 14:19:55 -05:00
James Seibel 74d193d294 Add a couple full data source null checks 2024-04-07 14:00:03 -05:00
James Seibel 46e3b98b62 Remove near fog option 2024-04-07 13:50:05 -05:00
James Seibel 2d323cef39 remove missed unlimited horizontal quality reference 2024-04-06 18:18:57 -05:00
James Seibel 8846ca5b5e Improve shutdown thread pool handling 2024-04-06 18:18:41 -05:00
James Seibel f310f1b316 Remove Unlimited horizontal quality setting
The setting was un-maintainable and would cause major issues for anything but the smallest render distances.
2024-04-06 18:03:54 -05:00
James Seibel 10d9282df7 Fix a couple FullDataPointUtilV2 references 2024-04-06 12:37:31 -05:00
James Seibel a751507f19 Have grass fade to dirt for walls 2024-04-06 12:37:18 -05:00
James Seibel b4b7738aa6 Fix API enums missing "DhApi" prefix and remove unused Enums/code 2024-04-06 10:06:03 -05:00
James Seibel 8fd37d72c7 Add Sqlite Write Ahead Log to Sqlite 2024-04-06 09:53:28 -05:00
James Seibel f09818e564 Update ELodShading names and descriptions 2024-04-06 08:42:29 -05:00
James Seibel bdd0fbe5ae Merge branch 'change_shading_lang' into Data_Source_Rewrite 2024-04-06 08:30:22 -05:00
James Seibel ddbad36d8a Remove FullDataPointUtilV2
Not sure what happened to make me think we needed to change the data point format, but luckily we don't have to deal with it any more and can just stick with the single file.
2024-04-06 08:17:09 -05:00
James Seibel ae829cbe3e Fix legacy migration conversion column order 2024-04-06 07:54:47 -05:00
James Seibel 5ef6cb2e0d Fix wrong data source Version ref in SubDim Matcher 2024-04-06 07:53:52 -05:00
James Seibel a1a45f50bf Change Sqlite Journaling to WAL to potentially improve concurrent performance 2024-04-04 07:50:02 -05:00
James Seibel 42675abef1 Comment out LodRenderSection neighbor collection 2024-04-04 07:09:17 -05:00
James Seibel 08f0f8ee17 Add a constant for LodRenderSection cache expiration 2024-04-04 07:08:51 -05:00
James Seibel 4e1155f8a7 Improve initial LOD loading speed 2024-04-03 22:07:25 -05:00
James Seibel 4bc7cf1e86 Fix LodRenderSections not disabling rendering 2024-04-03 21:26:05 -05:00
James Seibel 1491487328 Remove unneeded V1 -> V2 data migration validation 2024-04-03 07:28:59 -05:00
James Seibel 750d8b7bc3 Fix crash in 1.16 due to buffer upload happening before rendering is setup 2024-04-03 07:19:34 -05:00
s809 0ad60cd5d9 Merge branch 'feature/plugin-channel' 2024-04-02 22:34:45 +05:00
s809 8485d1585a Remove localhost from check 2024-04-02 22:27:36 +05:00
James Seibel b59d505725 Add IP only server folder mode 2024-04-02 07:17:31 -05:00
James Seibel 2cce71cf28 Add non-magic max pooled data source number 2024-04-01 20:26:13 -05:00
James Seibel 964f5feb4b Remove unused data source properties 2024-04-01 20:21:56 -05:00
James Seibel 9835af0845 remove unused ColumnRenderSource.worldGenStep 2024-04-01 20:19:31 -05:00
James Seibel 81f921623e rename IDataSource getSectionPos -> getPos 2024-04-01 20:18:44 -05:00
James Seibel dc5968b0b5 pool columnRenderSources 2024-04-01 20:16:07 -05:00
s809 1cd2f75dd2 Fix compilation 2024-04-01 21:52:20 +05:00
James Seibel 43392ca0e4 Have LodRenderSection cancel loading on render distance change 2024-03-31 18:57:23 -05:00
James Seibel 88d6092153 Clean up LodRenderSection and fix massive memory use at long render distances 2024-03-31 18:42:46 -05:00
s809 bdc4fa4477 Fix errors when on vanilla server 2024-04-01 00:55:15 +05:00
s809 ff7720a8d6 Adjust server port change behavior 2024-04-01 00:07:32 +05:00
James Seibel 0ddf1dd640 Remove ColumnRenderSourceLoader 2024-03-30 22:07:08 -05:00
s809 6829709123 Fix reconnection logic 2024-03-30 23:40:05 +05:00
James Seibel ddd475d537 Remove AbstractRenderBuffer 2024-03-30 08:07:53 -05:00
James Seibel 543c3ffc54 Fix compiler bugs 2024-03-28 17:14:08 -05:00
cola98765 cf97c08aaf @James check if it doesn't explote; This should help with rendering, and fix the issue with stacking water with 2block resolution 2024-03-28 21:27:01 +00:00
cola98765 ea0a62b6a3 panic fix 2024-03-28 20:14:19 +00:00
cola98765 57f3d44326 Update file FullDataToRenderDataTransformer.java 2024-03-28 19:01:42 +00:00
James Seibel e7eb2ff9cc Remove the DhRenderData DB table 2024-03-28 07:47:07 -05:00
James Seibel 6a3261394f Add compression mode config documentation and missing LodDataBuilder lines 2024-03-28 07:42:53 -05:00
James Seibel d41af88494 Add ColumnWorldCompressionMode to the database 2024-03-28 07:36:02 -05:00
James Seibel e83864fd02 Add world compression config 2024-03-27 19:09:09 -05:00
James Seibel 5722a92dc1 Add broken lossy chunk compression 2024-03-27 15:54:24 -06:00
s809 0d355f675a Incomplete 2024-03-26 00:30:57 +05:00
James Seibel 5249377199 Add data caching to Lzma data compression 2024-03-24 15:11:42 -05:00
James Seibel b3a20fb938 Use native bindings for LZ4 output compression to reduce GC load 2024-03-24 12:17:48 -05:00
James Seibel 74627fdf90 Use automatica Zstd buffer pooling 2024-03-24 12:00:51 -05:00
James Seibel bbe5ae9b7c Fix potential issues when java.awt.headless is true 2024-03-24 11:52:32 -05:00
James Seibel 63b6365128 Add swing headless setup to Initializer 2024-03-24 11:50:45 -05:00
James Seibel ed9cf526cd rename example unit tests to prevent naming issues 2024-03-24 11:38:30 -05:00
coolGi cb0c294df6 Removed test code being included in main repo code 2024-03-24 12:26:10 +10:30
James Seibel 661f286b77 Fix accidentally marking DTOs to update past the max parent detail level 2024-03-23 18:08:35 -05:00
James Seibel 8c5cd7f11f Remove render data file handling and related code 2024-03-23 17:55:59 -05:00
James Seibel b64df318ce Improve error handling in DebugRenderer 2024-03-23 17:18:05 -05:00
James Seibel a1c85d91fc Comment out trace logs
These logs aren't printed and will just increase GC pressure for strings
2024-03-23 16:18:21 -05:00
James Seibel ce95dfb3d1 Reduce some GC pressure in FullDataSourceV2.mergeInputTwoByTwoDataColumn 2024-03-23 16:14:34 -05:00
James Seibel cbfd4f9de3 Pool FullDataPointIdMap Entries and improve hash logic 2024-03-23 15:49:40 -05:00
James Seibel 5d50775932 re-implement data source pooling 2024-03-21 22:07:35 -05:00
James Seibel 18ad241025 Replace datasource v2 long[][] with LongArrayList[] and fix previous implementation 2024-03-21 21:53:15 -05:00
James Seibel 4b98882b41 Revert "Add FullDataSourceV2 pooling and replace long[][] arrays with LongArrayList[]"
This reverts commit f11e9a142f.
2024-03-21 20:12:47 -05:00
James Seibel 3ec9bfca1b comment out potenially unused world gen logic 2024-03-21 20:11:14 -05:00
James Seibel 6f7c46e086 Remove unnecessary async render source updates 2024-03-21 20:09:10 -05:00
James Seibel 7726335413 Fix FullDataSourceV2Repo.getColumnGenerationStepForPos ignoring compression 2024-03-21 19:59:12 -05:00
James Seibel f3d8a749fd Improve DhLodPos.getWidthAtDetail assertion 2024-03-21 18:12:37 -05:00
James Seibel f11e9a142f Add FullDataSourceV2 pooling and replace long[][] arrays with LongArrayList[] 2024-03-21 17:25:37 -05:00
James Seibel 72c601b2db change en_us "Horizontal Quality" -> "LOD Dropoff Distance" 2024-03-21 17:11:04 -05:00
James Seibel 4cdc6c9632 Compress the column gen step in the database 2024-03-20 07:25:38 -05:00
James Seibel 3b9962d7dc Fix transactionScript auto update variable flipped 2024-03-19 21:10:27 -05:00
James Seibel d926d11d3c Reduce string concatenations in assertions 2024-03-19 20:53:07 -05:00
James Seibel 9fb5182b78 Change the SQLite journal mode DELETE -> TRUNCATE 2024-03-19 20:07:21 -05:00
James Seibel a1950ebccc prevent world gen queue until half of the update tasks have finished 2024-03-19 07:28:14 -05:00
James Seibel 8f9caa5d9a Remove vacuum call in createFullDataSourceV2Tables SQL script 2024-03-19 07:27:57 -05:00
cola98765 c537084d07 potential fix to bright blocks when they reach build height limit 2024-03-19 12:27:05 +00:00
James Seibel 9f195231db up the version number 2.0.2 -> 2.0.3 2024-03-19 06:48:26 -05:00
James Seibel 805429722f Fix an issue where downsampling would sometimes corrupt the data souce 2024-03-18 21:14:35 -05:00
James Seibel 5b67f60e6f Fix black block lighting for super flat worlds 2024-03-18 20:05:12 -05:00
James Seibel 6557a1a7bd rename FullDataSourceV2.createFromCompleteDataSource 2024-03-18 20:01:39 -05:00
s809 af2f0e8582 Fix Forge 2024-03-18 21:37:58 +05:00
James Seibel a62ee8b3cf Merge !50 2024-03-17 19:09:01 -05:00
cola98765 7714569251 Merge branch 'blending_change' into 'main'
Update LodRenderer.java

See merge request jeseibel/distant-horizons-core!53
2024-03-17 23:47:26 +00:00
cola98765 8b9e48d4d3 Update LodRenderer.java 2024-03-17 23:47:25 +00:00
James Seibel 94e3426779 Remove ISourceProvider 2024-03-17 17:36:28 -05:00
James Seibel 6b13e9141c rename FullDataFileHandler -> FullDataSourceProvider and Remove IFullDataSourceProvider
IFullDataSourceProvider was removed so legacy providers don't have to implement methods they don't need
2024-03-17 17:32:41 -05:00
James Seibel bf00a23499 Rename IWorldGenerationQueue -> IFullDataSourceRetrievalQueue 2024-03-17 16:46:56 -05:00
James Seibel 569a4b16b4 Improve the nightly build warning text 2024-03-17 16:29:49 -05:00
James Seibel 8ec22189fd remove unneeded casting in RenderSourceFileHandler 2024-03-17 16:24:46 -05:00
James Seibel 9d539c4766 Update several todo comments 2024-03-17 16:15:06 -05:00
James Seibel fada27257c Write FullDataSourceV2 column length as a short instead of a int 2024-03-17 16:14:24 -05:00
James Seibel c55880bcb9 Fix empty data sources not updating and being regenerated 2024-03-16 22:43:22 -05:00
James Seibel cbadfab62a disable cave culling in the end 2024-03-16 22:43:07 -05:00
James Seibel c435b55576 Fix updating empty LODs (IE in the end) 2024-03-16 22:27:11 -05:00
James Seibel 69e3e2bca3 Add a config to render overlapping quad errors 2024-03-16 22:23:20 -05:00
James Seibel b20cbab012 Remove Seamless Overdraw Test
The result wasn't very good due to rendering issues with entities
2024-03-16 21:03:15 -05:00
James Seibel ce4c5db5df Fix incorrect FullDataSourceV2 downsampling for worldGenStep 2024-03-16 20:54:12 -05:00
James Seibel 6d2912e320 Add created and last modified unix time to FullDataSourceV2 2024-03-16 20:32:01 -05:00
James Seibel e14e122b6c Refactor FullDataSourceV2 variables 2024-03-16 20:19:24 -05:00
James Seibel dcd16cb84b rename NewFullDataSource -> FullDataSourceV2 and supporting objects 2024-03-16 19:53:01 -05:00
James Seibel 98183a4e75 Rename CompleteFullDataSource -> FullDataSourceV1 2024-03-16 19:40:36 -05:00
James Seibel 4ec1dea1ba merge CompleteFullDataSource and FullDataArrayAccessor 2024-03-16 19:34:36 -05:00
James Seibel 031bf754e8 Remove SingleColumnFullDataAccessor and IFullDataAccessor 2024-03-16 19:16:50 -05:00
James Seibel c081b6c57c Remove unusused AbstractDhRepo.get(TDTO) 2024-03-16 17:47:06 -05:00
James Seibel 6413e17e4b Add multiple compression options and unit tests 2024-03-16 17:25:15 -05:00
s809 3362570123 Add thread pool task buildup limiter 2024-03-16 12:28:38 +05:00
cola98765 01c1dbb146 Update en_us.json 2024-03-15 09:13:24 +00:00
cola98765 9e0046ba83 Update en_us.json 2024-03-15 09:07:24 +00:00
cola98765 150d929a45 Update EVerticalQuality.java 2024-03-15 08:58:26 +00:00
James Seibel d5074feda2 Add aggregate getters to NewFullDataSourceRepo for unit testing 2024-03-14 21:40:36 -05:00
James Seibel 4741e25349 Add NewFullDataSourceDTO.createUnitTestDataSource() 2024-03-14 21:35:52 -05:00
s809 e008eb8a13 Server side plugin networking
Untested port for Forge
2024-03-14 21:46:23 +05:00
James Seibel c3f99835db Multithread full data migration 2024-03-12 22:00:36 -05:00
James Seibel 996621887c Prevent world gen while migration is running 2024-03-12 21:43:26 -05:00
James Seibel 6f931c66bf Add migration fail capture 2024-03-12 21:42:53 -05:00
James Seibel 024176f97c Fix migrated downsampling light looking weird 2024-03-12 21:15:15 -05:00
James Seibel 968bc9addc Fix incorrect parent updating lock logic 2024-03-12 21:05:45 -05:00
James Seibel e83f7bd62e Add FullDataPointUtilV1 for use with CompleteFullDataSource 2024-03-12 21:00:50 -05:00
James Seibel c5787d0ff2 Add Legacy data source migration 2024-03-12 20:24:57 -05:00
James Seibel 30076f1b60 Minor comments and refactoring 2024-03-12 07:21:56 -05:00
James Seibel 34fdae1c78 remove debug code in NewFullDataSource 2024-03-10 21:50:13 -05:00
James Seibel dd7d7733f0 Rename and remove debug wireframe configs 2024-03-10 21:47:27 -05:00
James Seibel fd1944eb26 Remove unnecessary legacy debug rendering 2024-03-10 21:46:52 -05:00
James Seibel 64fce77a0a Fix repo castring for AbstractNewDataSourceHandler 2024-03-10 21:38:41 -05:00
James Seibel d569ae4052 Deprecate EHorizontalQuality.UNLIMITED 2024-03-10 21:30:59 -05:00
James Seibel 5f8eceee8d Remove unused override in RenderSourceFileHandler 2024-03-10 21:16:03 -05:00
James Seibel b49988af9e Remove an unused method added by Iris 2024-03-10 21:15:45 -05:00
James Seibel 46ba2630f1 Fix LodQuadTree clear render cache not working at extreme distances 2024-03-10 21:15:37 -05:00
James Seibel 02a1445732 Fix render data not regenerating on config change 2024-03-10 21:14:59 -05:00
James Seibel 8bdc4fe779 Add missing changed for 28de6f93 2024-03-10 21:05:13 -05:00
James Seibel 28de6f93af Fix world gen for extreme render distances 2024-03-10 20:44:12 -05:00
s809 1f438d8f87 Fix world setting 2024-03-10 21:09:52 +05:00
James Seibel 20394068b2 Add additional F3 lines for file updating 2024-03-09 17:06:17 -06:00
James Seibel 599340c4e8 Reduce data source update locking and add some data update batching 2024-03-09 17:05:54 -06:00
James Seibel e6c985a189 Add hash code and equals to NewFullDataSource 2024-03-09 09:06:39 -06:00
s809 278ae04532 Initial buggy plugin channel support 2024-03-05 22:09:30 +05:00
James Seibel 244d960ec0 minor render data bugfix 2024-03-04 21:34:00 -06:00
James Seibel eea2155e20 Temp fix for 0020 auto update script 2024-03-04 21:25:02 -06:00
James Seibel 8f6ff8c943 Fix data sources not saving correctly 2024-03-04 20:56:48 -06:00
James Seibel 97554ccae6 Increase Vertical Quality settings to hopefully reduce issues with floating islands 2024-03-04 07:13:43 -06:00
James Seibel c866fbfbfd Add update propagator thread pool 2024-03-04 07:10:20 -06:00
James Seibel 0c5c4f3a74 Fix multithreaded save calls to AbstractDhRepo 2024-03-04 07:08:32 -06:00
James Seibel 0f04453134 Make down sampling average values instead of grabbing the value closest to -inf 2024-03-03 19:17:24 -06:00
James Seibel a734bb6a69 Increase AbstractNewDataSourceHandler update lock count 2x -> 4x
Trying to reduce lock collisions.
2024-03-03 19:08:23 -06:00
James Seibel dc687f70ae Add LodUtil light constants 2024-03-03 14:53:10 -06:00
James Seibel e15ffe10c9 Improve FullDataPointUtil parameter names 2024-03-02 21:36:54 -06:00
James Seibel 3d999a1749 Change FullDataPointUtil to get/set sky and block lighting separately
The binary format is identical the only difference is the getter/setter methods
2024-03-02 21:31:21 -06:00
James Seibel 47391028d8 Prevent re-saving unmodified full data 2024-03-02 16:21:32 -06:00
James Seibel b8e03a2144 Deprecate DhApiScreenResizeEvent, replace with DhApiColorDepthTextureCreatedEvent 2024-03-02 15:21:22 -06:00
James Seibel 2a39a4cdc4 Add several TODO comments and minor reformatting 2024-03-02 15:20:51 -06:00
James Seibel 89012711ce rename ThreadPools -> ThreadPoolUtil 2024-03-02 14:02:54 -06:00
James Seibel 9b93125936 Add first draft of the new full data system 2024-03-02 11:44:50 -06:00
James Seibel 113c0f227f Improve debugging for FullDataPointUtil.remap() 2024-03-02 08:05:54 -06:00
James Seibel 28e230a2db Fix DhApiScreenResizeEvent incorrect description 2024-02-25 08:14:25 -06:00
s809 2d4f033891 Do not wait for world gen tasks to stop while shutting down queue 2024-02-25 18:05:45 +05:00
s809 1fd85f2249 Show server side messages in F3 on disconnect 2024-02-24 22:48:24 +05:00
s809 d966697ecb Change some wording 2024-02-24 21:37:54 +05:00
James Seibel bb5dd248d8 Add compound key repo support 2024-02-24 09:04:46 -06:00
s809 2e6c0ba356 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-02-22 23:06:21 +05:00
James Seibel 9b46613355 temporary multiverse null pointer fix 2024-02-22 07:05:07 -06:00
James Seibel a44469eac4 Add a temporary debug renderer to FullDataFileHandler for unsaved positions 2024-02-20 07:42:46 -06:00
coolGi 87e5647379 Refactored logos into assets/distanthorizons 2024-02-18 19:02:56 +10:30
James Seibel 045c9f46d2 Add resource (sql script) validation in Initializer.java 2024-02-17 22:27:23 -06:00
James Seibel 7826d756d0 Add stackoverflow source link to RenderUtil.getNearClipPlaneDistanceInBlocks() 2024-02-15 21:59:21 -06:00
James Seibel f37ed0cccf Revert Fog near end/far start distance to pre-RenderUtil fix 2024-02-15 21:54:21 -06:00
James Seibel 6fcdde8a9f Fix fog rendering 2024-02-15 20:36:34 -06:00
s809 ebb47990f4 Fix immersive portals 2024-02-15 23:15:01 +05:00
s809 15fe39c1bb Fix connection exception handling 2024-02-13 22:03:55 +05:00
James Seibel cd20fb1e34 Temp fix for near clip plane going too far in some cases 2024-02-13 07:53:01 -06:00
s809 7bb0ec3148 Fix compilation 2024-02-12 21:39:30 +05:00
s809 6fcfacd346 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-02-12 21:38:58 +05:00
James Seibel d7c96bbba4 Fix ocean floors showing at very low detail levels 2024-02-11 21:31:24 -06:00
James Seibel 5c30d077dd Add comments about corrupted data in full data transformer 2024-02-11 20:16:23 -06:00
James Seibel 7df442878d Fix NeverCullFrustum casting error 2024-02-11 18:29:47 -06:00
James Seibel b8f90ddc55 Add SharedApi.isChunkAtBlockPosAlreadyUpdating() 2024-02-11 16:39:03 -06:00
James Seibel cc134092ed Default to no culling for the shadow pass 2024-02-11 14:56:12 -06:00
s809 48212ba746 Add another config option
Fix rate limiting issues (kinda)
2024-02-11 19:39:35 +05:00
James Seibel 5d4268e902 Minor IDhLevel refactor and rename DhLevel -> AbstractDhLevel 2024-02-10 22:05:46 -06:00
James Seibel c718733104 Fix the API seeing the wrong far clip plane 2024-02-10 22:02:15 -06:00
James Seibel 97e7f05636 Fix using the wrong near clip plane 2024-02-10 21:58:20 -06:00
James Seibel b4269afc9f Add IDhApiShadowCullingFrustum and a config for shadow culling 2024-02-10 21:37:59 -06:00
James Seibel 46740f51a7 Merge branch 'distant-horizons-core-shadow.cull.fix' 2024-02-10 18:13:14 -06:00
James Seibel 9ccbc792b4 Minor file handler refactor 2024-02-10 18:08:08 -06:00
James Seibel 89ea4c5172 potentially fix world gen getting stuck 2024-02-10 18:06:37 -06:00
James Seibel 61c83e4c10 GeneratedFullDataFileHandler refactor 2024-02-10 18:06:24 -06:00
James Seibel 65e053db0d Add ColumnRenderBufferBuilder debug config options 2024-02-10 17:30:42 -06:00
NULL511 a9ccc6fa34 alter frustum culling api usage 2024-02-10 18:06:34 -05:00
James Seibel 3f5622debf Add "database has been closed" to DbConnectionClosedException 2024-02-10 12:10:10 -06:00
s809 7bf9ce141a Avoid doing requests on join 2024-02-10 17:06:49 +05:00
s809 2353bd7545 Fix compilation 2024-02-07 21:03:37 +05:00
s809 02ddf5773c Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-02-07 20:49:49 +05:00
NULL511 bddf9c85e8 lava ID fix 2024-02-07 10:01:25 -05:00
NULL511 cb6d4a1471 separate camera and shadow frustum culling 2024-02-07 09:44:33 -05:00
James Seibel 2651e3d435 Attempt to reduce queuing duplicate world gen tasks 2024-02-07 07:34:43 -06:00
coolGi 2f4c398852 Removed a forgotten debug log from a previous commit 2024-02-07 23:36:59 +10:30
James Seibel b255e0ac68 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-02-07 07:06:03 -06:00
James Seibel 848b75ad7d Add Lod Shading to the api config 2024-02-07 07:06:00 -06:00
coolGi 556550fea8 Fixed mod auto-updating on quilt 2024-02-07 23:23:07 +10:30
James Seibel 223326afe2 Add frustum culling config control to the API 2024-02-06 21:44:42 -06:00
James Seibel 0cfdf8f57e rename DhLodPos .getX/Z -> getMinX/Z 2024-02-06 21:44:30 -06:00
James Seibel 1859d0ea96 Add IDhApiCullingFrustum 2024-02-06 21:39:42 -06:00
James Seibel 9392decd35 Merge branch 'distant-horizons-core-shadow.frustum.culling' 2024-02-06 19:23:53 -06:00
James Seibel f6e2f2f52a Remove unnecessary warning log and broken asssertions 2024-02-06 17:48:55 -06:00
James Seibel bc1a4ec138 Add Joml Matrix constructor to Mat4f 2024-02-06 07:17:10 -06:00
James Seibel 06b43d6627 Merge branch 'minecraft-lod-mod-frustum.culling' 2024-02-05 21:38:28 -06:00
James Seibel 30055805d8 Fix Render Buffer count F3 menu not closing 2024-02-05 19:21:46 -06:00
s809 3e37e9ee08 Remove unused packets 2024-02-04 21:57:57 +05:00
s809 b1b907bfe5 Silence a warning 2024-02-04 21:33:21 +05:00
s809 d347dbd222 Fix typo 2024-02-04 21:29:21 +05:00
s809 44527630da Fix queue not filled when generation is toggled 2024-02-04 21:00:02 +05:00
s809 df6ac6d740 Add connection state on F3 screen
Hide refresh queue from debug when disabled
2024-02-04 20:20:57 +05:00
James Seibel a07e43ad5c Swap javax nullable annotations with jetbrains for unimined 2024-02-03 19:45:15 -06:00
s809 2ce08f8957 Merge remote-tracking branch 'origin/main' 2024-02-04 02:36:04 +05:00
s809 1baa666d23 Add priority distance limiting by ratio 2024-02-04 02:34:53 +05:00
s809 e5e4551038 Some logging changes 2024-02-03 23:02:31 +05:00
s809 0cfbe09558 Use ConfigBasedLogger
Add sub-sectioning to server networking section
2024-02-03 22:24:34 +05:00
s809 7d72e82325 Change a comment in Config 2024-02-03 20:17:21 +05:00
s809 3f823c58cc Fix exception while saving new data 2024-02-02 05:48:36 +00:00
James Seibel cbc34fad82 Add comment about potential Iris file handling 2024-02-01 21:05:27 -06:00
James Seibel 35af4eaed3 Fix debug renderer 2024-02-01 20:48:06 -06:00
James Seibel 15ee6a9512 Add render events for Iris 2024-01-31 21:48:50 -06:00
James Seibel ab88d06cff Remove fog config from LodRenderProgram 2024-01-30 19:50:23 -06:00
James Seibel b622095883 Add and fix OverrideInjector unbinding 2024-01-30 19:43:37 -06:00
James Seibel 4ab2fef1ac reword a couple comments and minor reformatting 2024-01-30 19:33:04 -06:00
James Seibel a27593149a Fix AbstractShaderRenderer free() null pointer 2024-01-30 19:29:51 -06:00
James Seibel 8a4172dda1 Improve DhApi readme string 2024-01-30 19:28:32 -06:00
s809 3932ea21c2 Limit rate+concurrency instead of only concurrency
Rename post-relog update to Login sync
2024-01-29 22:36:13 +05:00
s809 c9d426e581 Refactor ILevelRelatedMessage and RemotePlayerConnectionHandler 2024-01-28 22:37:50 +05:00
s809 61c516df1d Post-relog updates 2024-01-27 19:45:30 +05:00
NULL511 0e0f5ec3ea cleanup 2024-01-26 16:17:51 -05:00
NULL511 d0822213d5 make frustum culling 1.19.4+ only 2024-01-26 16:10:50 -05:00
NULL511 5e924a00b1 final 2024-01-26 16:10:50 -05:00
NULL511 71536230b6 fix view matrix 2024-01-26 16:10:50 -05:00
NULL511 08483d02c6 re-enable aabb 2024-01-26 16:10:50 -05:00
NULL511 e771f8a53c fix frustum check 2024-01-26 16:10:50 -05:00
NULL511 23b9f16747 aabb only 2024-01-26 16:10:50 -05:00
NULL511 7e287dab71 add frustum culling 2024-01-26 16:10:49 -05:00
James Seibel 4cb2bb97a8 Fix wireframe rendering 2024-01-21 22:00:21 -06:00
James Seibel d7eb8d9416 Add try-catches to F3Screen suppliers 2024-01-21 21:41:33 -06:00
James Seibel 9c8d77a4f3 Add showBlockMaterial debug rendering and fix a couple block materials 2024-01-21 21:35:05 -06:00
James Seibel 779431b123 deprecate SHOW_GENMODE 2024-01-21 21:33:56 -06:00
James Seibel d106a79532 Remove unnecessary warnings 2024-01-21 19:46:14 -06:00
James Seibel 0efa4c3de3 Merge branch 'distant-horizons-core-main' 2024-01-21 19:24:17 -06:00
s809 7e2019abd4 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-01-21 17:20:49 +05:00
James Seibel 1c90270eb6 Fix GLProxy concurrent modification 2024-01-20 11:53:39 -06:00
James Seibel a8bee52159 remove unused code 2024-01-20 09:37:43 -06:00
James Seibel 3adc37c63f Fix fullDataHandler createFromExistingDtos not using detail 0 data 2024-01-18 19:56:28 -06:00
James Seibel 9268a43446 Fix compiling in 3c4e57cf 2024-01-18 19:17:14 -06:00
James Seibel 3c4e57cff5 Move async GL calls to the render thread
Hopefully to fix potential crashes on non-Nvidia or less stable GPU drivers
2024-01-18 19:11:33 -06:00
James Seibel ac0eacb721 Add buffer count to the F3 menu 2024-01-18 07:25:04 -06:00
James Seibel b0c2874e71 Fixes #613 (multiplayer failing due to folder not existing) 2024-01-17 07:44:58 -06:00
James Seibel e61f6bb802 Fix render data holes due to async data update 2024-01-17 07:15:16 -06:00
s809 f0f3614b9d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-01-16 20:17:43 +05:00
James Seibel 69a2c18452 Confirm world gen for generated render sources 2024-01-16 07:44:16 -06:00
James Seibel 146dd85920 Fix infinitely growing timer task map in AbstractDataSourceHandler 2024-01-16 07:36:34 -06:00
James Seibel 163c0bf1fa Fix another repo closed issue 2024-01-14 15:52:36 -06:00
James Seibel 45c47533c2 Fix file handlers saving after repo shutdown 2024-01-14 15:07:15 -06:00
James Seibel 22c11b3eeb Fix repo connection closed not thrown/handled correctly 2024-01-14 15:05:47 -06:00
James Seibel 8a9f63ab25 Replace ThreadUtil relative priority with Thread.Priority 2024-01-14 14:27:37 -06:00
James Seibel 79b0b3dc0a Minor ThreadUtil reformat 2024-01-14 13:49:39 -06:00
James Seibel fe9695e889 Fix timers not being Daemonized, preventing MC shutdown 2024-01-14 13:49:27 -06:00
James Seibel d878e464f6 Attempt to fix database connections closing early 2024-01-13 23:12:02 -06:00
James Seibel 2667101453 Fix fog referencing a null texture with Optifine 2024-01-13 22:54:29 -06:00
James Seibel 7507cf98a7 Fix debug renderer rendering on top of LODs 2024-01-13 22:14:10 -06:00
James Seibel 9e63f7ed4d Attempt to fix re-queuing world gen tasks on handler.get() 2024-01-13 21:55:52 -06:00
James Seibel 0f5cf77f23 Attempt to fix AbstractDataSourceHandler queue canceled saves 2024-01-13 21:55:22 -06:00
James Seibel d52323ff44 Hide AbstractDataSourceHandler shutdown errors 2024-01-13 21:54:11 -06:00
s809 573a284580 Fix generation 2024-01-13 19:44:48 +05:00
s809 310c890474 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-01-13 16:51:12 +05:00
s809 8a309b56d9 Fix crash when changing config while disconnected 2024-01-13 16:08:49 +05:00
James Seibel 7549543268 attempt to fix Opifine fog rendering incorrectly 2024-01-12 22:54:14 -06:00
s809 adc3f15c97 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-01-08 17:50:00 +05:00
James Seibel 43366e1f6e Add JarUtil/SelfUpdater error handling 2024-01-07 20:32:05 -06:00
James Seibel 19aedc14cd Overhaul RenderFileHandler/FullFileHandler and remove metaData objects 2024-01-07 16:06:01 -06:00
James Seibel ec29ea8cc1 Overhaul and simplify FullDataFileHandler 2024-01-06 14:02:45 -06:00
James Seibel ab031d2961 Fix a couple full data source null pointers 2024-01-05 19:38:22 -06:00
s809 962f523af9 Fix 1.16.5 and 1.17.1 builds 2024-01-05 22:37:27 +05:00
s809 0da306225d Daemonize timers 2024-01-05 22:13:30 +05:00
s809 dbc1ad4cb7 Add names to network threads 2024-01-05 22:08:37 +05:00
s809 8b0f6a4414 Daemonize timers 2024-01-05 22:08:16 +05:00
James Seibel 51190efc66 Add missing Lod fog profiler call 2024-01-05 07:48:06 -06:00
s809 502aaf6a8a Add a config to delay generation requests, for cases when gen tasks are not filled properly yet 2023-12-28 18:58:50 +05:00
s809 5c644fbf5b Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-24 19:16:03 +05:00
coolGi 1b8ee5cd48 Renamed api's fabric.mod.json to not.fabric.mod.json 2023-12-23 05:28:31 +10:30
James Seibel fa12443cb1 Fix null pointers in DhApiChunk 2023-12-22 07:19:20 -06:00
James Seibel 798a5c6c96 Merge branch 'distant-horizons-core-datapoint-gen' 2023-12-21 22:14:21 -06:00
James Seibel 51c76fe5fb Refactor and rename DhApiChunkOfDataPoints -> DhApiChunk 2023-12-21 22:14:13 -06:00
James Seibel 9e8ca25a71 Improve error handling in WorldGenQueue 2023-12-21 21:24:29 -06:00
James Seibel 8299955a55 Add concurrent instructions for Gitlab runner 2023-12-21 21:12:57 -06:00
Builderb0y a691b27b4f expand API to allow world generator to generate chunks of data points in addition to actual chunks. 2023-12-22 01:15:25 +00:00
s809 da60ca7560 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-21 19:17:51 +05:00
James Seibel 47b6730f63 disable full data file pooling (temporary fix) 2023-12-21 07:48:18 -06:00
James Seibel c6ff1b60bb Improve fullData logging 2023-12-21 07:36:27 -06:00
James Seibel 796e8652a8 Revert "Potential fix for world gen lockup if files system fails"
This reverts commit f65b4205c3.
2023-12-21 07:28:41 -06:00
s809 a5a56c7eb7 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-21 11:47:51 +05:00
James Seibel f65b4205c3 Potential fix for world gen lockup if files system fails 2023-12-20 22:05:58 -06:00
s809 ff8b1f24d0 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-20 23:18:57 +05:00
James Seibel 0caf164e06 Fix EConfigEntryAppearance.ONLY_IN_FILE 2023-12-20 07:47:45 -06:00
s809 904c1a7d71 Add protection against hang on shutdown 2023-12-19 23:20:23 +05:00
s809 02aca6f044 Allow section state requests to be controlled separately 2023-12-19 22:52:19 +05:00
James Seibel 8dbeb16f33 update several comments 2023-12-19 07:18:23 -06:00
s809 b4ea632b93 Add kick trigger on repeated rate limit hitting
Remove some unused code
2023-12-18 23:10:39 +05:00
s809 a2cc1c2913 Revert "Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core"
This reverts commit 522a799516, reversing
changes made to 04e43ebec8.
2023-12-18 22:15:34 +05:00
s809 522a799516 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-18 19:17:14 +05:00
s809 04e43ebec8 Remove current post-relog update feature 2023-12-18 19:13:57 +05:00
James Seibel 1d88d12632 Fix RenderUtil deprecated warning 2023-12-16 17:49:28 -06:00
James Seibel c1309eb4e8 Add IDhApiWrapperFactory 2023-12-16 15:44:29 -06:00
James Seibel 7c678a4a41 Add DhApi.isDhThread() 2023-12-16 09:50:34 -06:00
James Seibel 25d51842a7 Increase max queued chunk updates and add a overload warning 2023-12-16 09:09:43 -06:00
James Seibel 532271ab10 Fix full data source downsample not overlapping errors 2023-12-16 08:51:05 -06:00
James Seibel b984345ca0 Improve IIncompleteFullDataSource.sampleFrom() assertion messages 2023-12-16 07:52:20 -06:00
s809 077d72c23b Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-15 20:29:15 +05:00
James Seibel ebebc5566e Optimize DH lighting for chunks with populated sections
Specifically improves lighting speed for BigGlobe worlds
2023-12-14 07:50:23 -06:00
James Seibel 77d8f413e6 Fix ThreadPool null pointers before world startup 2023-12-13 22:08:25 -06:00
coolGi 19d20f5591 Updated to new git url 2023-12-12 19:28:41 +10:30
James Seibel 706a423c5f Start world gen refactoring 2023-12-09 17:46:12 -06:00
James Seibel 88d78c53fd Fix 595 (crash on save and exit) 2023-12-09 16:18:52 -06:00
James Seibel 0c30c72d26 Fix SSAO and Fog not applying when Optifine shaders are enabled 2023-12-09 10:05:14 -06:00
James Seibel d0805ea775 Minor shader reformatting 2023-12-09 10:00:21 -06:00
James Seibel 2c154613a0 Add Config API methods getApiValue() and clearValue() 2023-12-07 07:13:37 -06:00
s809 cb95c45d76 Fix compilation 2023-12-06 22:06:37 +05:00
s809 a9de079132 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-06 21:09:19 +05:00
James Seibel 070b52da5e Up the api version number 1.0.0 -> 1.1.0 2023-12-06 07:49:38 -06:00
James Seibel 20452ceb76 change overdraw to a number config 2023-12-06 07:49:19 -06:00
James Seibel 1880c65078 Fix config handling failing for Doubles and add additional logging 2023-12-06 07:29:42 -06:00
James Seibel 104be7804c Add RenderDataPointUtil method renames and fast path for single target size 2023-12-05 07:15:09 -06:00
James Seibel 9460fc9b04 reformat 2023-12-04 07:46:18 -06:00
James Seibel e8bce52ead Merge branch 'distant-horizons-core-datapoint-reducer' 2023-12-04 07:19:56 -06:00
coolGi 614e1e027f Added version number to updated jar 2023-12-04 23:34:37 +10:30
James Seibel b999a321c7 up the version number 2.0.1-a -> 2.0.2-a 2023-12-03 19:13:06 -06:00
James Seibel f32e25f52f Remove "-dev" from the version number 2023-12-03 17:18:53 -06:00
James Seibel 5e413cfe93 Add a config to enable/disable using MC's lighting engine 2023-12-02 12:37:27 -06:00
James Seibel b5853d20ee Add a limit to the number of queued update chunks 2023-12-02 12:24:12 -06:00
James Seibel 39e477f8ca Fix Powdered Snow not rendering as a full block 2023-12-02 12:03:36 -06:00
James Seibel 22e91d62b6 Fix near clip plane on Lod only mode 2023-12-02 09:15:52 -06:00
Builderb0y ca9dfed516 use higher Y level instead of higher opacity when forcing the lowest segment to merge. 2023-12-01 15:50:38 +00:00
James Seibel 466ebe0503 Fix seeing the near clip plane on low render distances 2023-11-29 07:43:54 -06:00
s809 166cc55e3c Abstract away ChannelHandlerContext from user code 2023-11-27 23:46:05 +05:00
Builderb0y d21244ce23 handle edge case where there are many segments to merge but all of them are invisible. 2023-11-27 01:52:22 +00:00
NULL511 eee52c8f55 cleanup 2023-11-26 15:57:22 -05:00
NULL511 ddc3291bf7 fix shader near plane; remove dh near 2023-11-26 15:18:45 -05:00
NULL511 0dc267f038 add shader near clip using distance 2023-11-26 14:53:50 -05:00
s809 f36bffa4b7 Add missing config entries in chat commands 2023-11-26 21:32:50 +05:00
James Seibel efc2ce84e4 Fix null pointer when joining some multiverse servers 2023-11-25 11:39:39 -06:00
James Seibel bd3592ee5b Fix lighting on some servers 2023-11-25 11:08:36 -06:00
James Seibel e693e2f9e0 Add transparency constants to IBlockStateWrapper 2023-11-25 08:45:40 -06:00
James Seibel ab60df6240 Add out of bounds handling for LodDataBuilder 2023-11-25 08:44:41 -06:00
James Seibel 124dbe700f Attempt to prevent threadPool null pointers 2023-11-25 07:39:31 -06:00
James Seibel d1d7cc4dd2 catch unexpected ClientTick exceptions to prevent crashing MC 2023-11-25 07:39:06 -06:00
s809 6da1e75dad Fix server side generation setting being ignored 2023-11-25 18:04:25 +05:00
s809 82d66ca392 Basic chat commands 2023-11-25 17:44:51 +05:00
Builderb0y 42135636af add and make use of RenderDataPointReducingList. 2023-11-25 05:05:55 +00:00
James Seibel fc248d0956 Fix merging for transparent LODs over the void 2023-11-24 14:02:26 -06:00
James Seibel b641436d80 Add ColulmnRenderBufferBuilder TODOs 2023-11-24 13:35:48 -06:00
James Seibel 7959097fe3 Fix a potential concurrent error on DhClientServerWorld shutdown 2023-11-24 09:46:45 -06:00
s809 e98cf1f2b5 Hide all unrelated config entries 2023-11-23 20:58:09 +05:00
James Seibel e73e3a5587 add possible comments to IColumnDataView 2023-11-21 07:44:18 -06:00
James Seibel 9c918c7bbb Improve multiverse similarity logic and fix incorrect log 2023-11-21 07:43:46 -06:00
James Seibel 7e869105cb Fix null pointers when moving between multiverse levels 2023-11-20 07:35:10 -06:00
s809 77bd333fff Fix RejectedExecutionException when leaving server 2023-11-20 17:18:05 +05:00
s809 b791a185a2 Deduplicate code in MultiplayerConfigChangeListener 2023-11-20 16:54:17 +05:00
coolGi 8af14ad3e7 Added logging for % downloaded 2023-11-20 21:59:01 +10:30
s809 c64d7fedd2 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-11-19 22:56:56 +05:00
coolGi 1ebbd9f7e4 Fixed <br/> not being parsed correctly 2023-11-20 00:40:07 +10:30
coolGi f9b544cc11 Fixed updater's back up method deleting the wrong jar 2023-11-19 22:48:39 +10:30
coolGi 04b961b164 Fixed updater crashing without network 2023-11-19 20:06:05 +10:30
coolGi 09aa607a48 Added temporary solution to file update from 1.6 2023-11-18 23:52:20 +10:30
coolGi 5ee6141d3f Added backup file deletion method 2023-11-18 21:52:35 +10:30
coolGi 73facf1f35 Added dev comment about iris compat 2023-11-18 21:38:51 +10:30
coolGi f01001726a Bumped version number to 2.0.1-a-dev 2023-11-18 20:34:22 +10:30
James Seibel 3356af9cca re-add "-dev" to the version number
For future releases the version number should be changed immediately beforehand.
2023-11-16 19:09:23 -06:00
James Seibel 773f17ddfe Remove "-dev" from the version number 2023-11-16 18:54:29 -06:00
James Seibel 836332959c Fix Optifine rendering a blank screen until resized 2023-11-14 07:36:41 -06:00
James Seibel de514b1d1d reformat DhColorTexture, DhFramebuffer, and LodRenderer 2023-11-14 07:36:28 -06:00
s809 d2f5c02238 Bandaid fix to prevent duplicate section requests 2023-11-12 17:17:15 +05:00
s809 9cfcf37fb3 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-11-11 19:20:33 +05:00
James Seibel 8e46ce07e0 Merge branch 'fix/dimension-switch-sql-errors' into 'main'
Ignore input and return empty data when database connection is closed

See merge request jeseibel/distant-horizons-core!35
2023-11-10 13:02:28 +00:00
James Seibel d5b929f7a7 Merge branch 'fog-config-api-additions' into 'main'
Add far and height fog to the fog config API

See merge request jeseibel/distant-horizons-core!36
2023-11-10 13:01:13 +00:00
James Seibel 2eae46271b Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-11-08 19:41:05 -06:00
James Seibel 2d7e0d8b21 cleanup DhApplyShader 2023-11-08 19:38:01 -06:00
Steveplays28 ebc5f30863 feat: Add far and height fog to the fog config API 2023-11-07 20:23:07 +01:00
coolGi e90daa8e5b Added key detection through the new test screen 2023-11-08 01:26:32 +10:30
James Seibel 0a8847cdc0 Fix transparent water when transparency is disabled 2023-11-06 07:48:57 -06:00
James Seibel 3daa0eb6ce Fix ThreadPools not setting workerThreadSemaphoreCount at bootup 2023-11-05 15:53:57 -06:00
s809 7ba3fc0dda Ignore input and return empty data when connection is closed 2023-11-04 23:03:30 +05:00
James Seibel d07a285323 move the russian lang file to (hopefully) disable it
Apparently the previous renaming didn't work
2023-11-04 11:34:53 -05:00
James Seibel 5610d9bc0a fix a typo in LodRenderer 2023-11-04 10:01:24 -05:00
s809 84d36df388 Do not clean up rendering on a dedicated server 2023-11-04 16:56:15 +05:00
James Seibel 4b8f27ed78 Add invalid fullData ID handling 2023-11-03 19:42:47 -05:00
James Seibel b3a09a12fa fix null pointer in ThreadPools shutdown 2023-11-03 17:51:16 -05:00
s809 880abd0124 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-11-03 21:05:27 +05:00
James Seibel 0b3958eb58 Fix Optifine shaders not rendering 2023-11-02 21:44:57 -05:00
James Seibel 528499215a re-add CPU option I_PAID_FOR_THE_WHOLE_CPU 2023-11-01 21:13:38 -05:00
James Seibel ad2e3e738e Add try-finally for FullDataPointIdMap locks 2023-11-01 21:05:13 -05:00
coolGi e3eb08a983 Refactor of GitInfo. Removed core commit, and added Build Source 2023-10-31 19:35:07 +10:30
James Seibel 4c5204172e fix server shutdown null pointer 2023-10-30 18:43:04 -05:00
s809 72274bfd7d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-10-30 15:26:29 +05:00
James Seibel 645567c474 Merge branch 'distant-horizons-core-refactor/client-world-close' 2023-10-29 16:09:54 -05:00
James Seibel 446c274094 Reduce CPU load when moving around the world
Should've made this multiple commits, but too late now

- Create ConfigThreadPool to remove duplicate thread setup/config code
- Move configurable thread pools into their own ThreadPools class
- Add a semaphore to limit how many LOD builder/lighting/bufferBuilder threads can be active at once
2023-10-29 15:04:32 -05:00
James Seibel 23ebfcb9bf Remove duplicate "DH" name for world ticker threads 2023-10-28 17:42:59 -05:00
James Seibel 643112953e Replace GeneratedFullDataFileHandler wait threads with a timer
It's still a bad solution, but now it won't create several hundred threads, so that's nice
2023-10-28 12:19:43 -05:00
James Seibel 488b598d97 Close #447 Add the ability to limit LOD chunk update rate 2023-10-28 12:18:55 -05:00
James Seibel fecefc8bdf Remove broken chunkSaveEvent, was actually chunkUnloadEvent 2023-10-28 11:52:53 -05:00
James Seibel 30dd5f5d59 Remove deprecated DhBlockPos getters 2023-10-28 11:10:50 -05:00
James Seibel b9896d3020 comment out GL message logging for MC 1.20.2 2023-10-28 10:23:23 -05:00
James Seibel 1d0a979e5c Fix GLBuffer not clearing some phantom references 2023-10-28 10:18:32 -05:00
James Seibel 8b47c3ea5b Fix GPU buffer uploading options 2023-10-28 10:18:20 -05:00
James Seibel 79340dd9f2 GLBuffer reformat 2023-10-28 10:16:45 -05:00
James Seibel 117bfb7f31 Add commented out LodRenderer VBO validation 2023-10-28 10:13:12 -05:00
s809 5e2accadca Move closing of client world to a proper place 2023-10-28 19:43:10 +05:00
James Seibel f746f8b4ec temp 2023-10-28 08:56:27 -05:00
James Seibel b3c4ea47d7 Fix ColumnRenderBuffer never finishing when synced 2023-10-28 08:44:33 -05:00
James Seibel b244a17358 GLBuffer reformat 2023-10-27 21:23:39 -05:00
James Seibel ca425eae6d Fix index out of bounds 2023-10-27 20:01:44 -05:00
James Seibel 2cd1dc6e92 Fix GLVertexBuffer memory leak 2023-10-27 19:42:12 -05:00
James Seibel 0942f0f1a3 Attempt to reduce memory leaking when flying 2023-10-25 07:52:13 -05:00
James Seibel 135b950db1 Add stubbed out AbstractOptifineAccessor.getIsShaderActive() 2023-10-24 20:16:11 -05:00
James Seibel 917e532408 Fix Optifine shader rendering 2023-10-24 20:12:50 -05:00
James Seibel 0d76a8edfe Reformat GL objects 2023-10-24 07:30:17 -05:00
James Seibel b1e97214ec Fix a null pointer in LodRenderer cleanup 2023-10-24 07:22:28 -05:00
James Seibel 639c24dd8e Merge branch 'distant-horizons-core-render' 2023-10-24 07:16:20 -05:00
James Seibel 5b6836d184 Add Sqlite to the readme 2023-10-23 20:29:36 -05:00
s809 9640169be9 Make post-relog update independent from generation toggle 2023-10-23 23:18:52 +05:00
IMS212 fa1527243f Add framebuffer 2023-10-21 16:16:30 -07:00
IMS212 cbd404913f Rewrite framebuffers to look more decent 2023-10-21 15:55:03 -07:00
James Seibel b57d7c13df Fix outdated world gen thread tooltip 2023-10-21 11:26:03 -05:00
James Seibel bf2c36369e Fix localization renamings 2023-10-21 11:23:28 -05:00
James Seibel 41b313943b Fix an error when double-closing a GLBuffer 2023-10-21 11:14:20 -05:00
James Seibel c4d0b693eb Fix LodRenderSection memory leak 2023-10-21 09:34:35 -05:00
James Seibel 611aae667c Fix missing localization for noiseSteps.@tooltip 2023-10-20 20:11:08 -05:00
James Seibel 2900417a3a Add a config to change the number of light baking threads 2023-10-20 20:09:16 -05:00
James Seibel 146d9da417 Fix memory leaks when moving between dimensions 2023-10-20 19:23:07 -05:00
Steveplays28 9daf0c7317 chore: Add missing language entries for the server networking config 2023-10-20 14:07:42 +02:00
Steveplays28 a4df5a8ed8 style: Rename renderDistance to renderDistanceRadius to stay in sync with the main config 2023-10-20 14:03:19 +02:00
Steveplays28 df3d20f94e fix: Fix getting LOD render distance radius from the config
This config option was renamed recently, to fix LODs not rendering out to the LOD render distance border. Also removed an unused import.
2023-10-20 13:49:55 +02:00
Steveplays28 f3b40f51a2 Merge branch 'main-upstream'
# Conflicts:
#	core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/GeneratedFullDataFileHandler.java
#	core/src/main/java/com/seibel/distanthorizons/core/level/DhClientLevel.java
#	core/src/main/java/com/seibel/distanthorizons/core/level/DhServerLevel.java
2023-10-20 13:41:33 +02:00
James Seibel 2d4f057eb0 Merge branch 'fix/close-db-file' into 'main'
Fix database file not being closed when leaving the world

See merge request jeseibel/distant-horizons-core!31
2023-10-20 03:15:22 +00:00
James Seibel 9ef25bdee0 bandaid fix for World gen holes 2023-10-19 22:13:38 -05:00
James Seibel 363a1aea4d Add an assert to world gen and minor reformat FullDataMetaFile 2023-10-19 21:45:05 -05:00
James Seibel fa03336a5d Fix never ending world gen tasks 2023-10-19 20:45:47 -05:00
James Seibel b38b33e87e Fix Sqlite memory leak
All Sqlite statements must be in a try-resource block otherwise a native memory leak will occur
2023-10-19 20:11:39 -05:00
s809 96074c2f50 Merge branch distant-horizons-core:main into fix/close-db-file 2023-10-19 18:01:52 +00:00
s809 5f7e9c16f4 Fix database file not closed when leaving the world 2023-10-19 22:57:07 +05:00
coolGi b1ed91af2a Re-Enabled the updater by default on windows 2023-10-20 00:57:39 +10:30
James Seibel 416c0db163 Fix Render Distance localization 2023-10-19 07:25:30 -05:00
James Seibel f387a2ca1b Fix LOD renderer setup for MC 1.16 2023-10-19 07:16:31 -05:00
James Seibel ad24cbebe3 Fix Forge not rendering 2023-10-19 07:04:19 -05:00
James Seibel 8eb4afef68 temporarily comment out GL message building
the message generation was changed in MC 1.20.2 and needs to be changed. However for a release build it isn't necessary.
2023-10-18 22:04:24 -05:00
James Seibel b0ad8fa637 Fix LOD render distance measured as the diameter instead of radius 2023-10-18 07:50:59 -05:00
James Seibel b014317e1a remove DhApplyShader commented out code 2023-10-18 07:24:13 -05:00
James Seibel 50257c6b94 Fix transparent fog rendering 2023-10-18 07:24:02 -05:00
James Seibel 29fabe1849 Fix DH auto update jar deletion and add more logging 2023-10-17 21:42:54 -05:00
James Seibel 201c0c3e3e Add GLStates around the DhApplyShader 2023-10-16 21:57:56 -05:00
James Seibel bafbbf225e Fix transparent LODs overwriting opaque LOD alpha values 2023-10-16 21:33:38 -05:00
James Seibel 451b3cfdbe Refactor/rename VertexAttribute -> AbstractVertexAttribute 2023-10-16 20:44:50 -05:00
James Seibel c6104e2dd9 minor VertexAttributePreGL43 and ScreenQuad reformatting 2023-10-16 20:38:39 -05:00
James Seibel 70b3460928 Fix ScreenQuad rendering on Mac or OpenGL 4.3 and lower 2023-10-16 20:35:39 -05:00
James Seibel 35d2d638d4 Refactor VertexAttribute Pre/Post GL43 2023-10-16 07:19:39 -05:00
James Seibel c40067359f Fix incorrect texture RGB values -> RGBA8
Thanks IMS
2023-10-15 20:10:29 -05:00
James Seibel d69e6b7d8d Add (mac broken) FrameBuffer application 2023-10-15 18:05:13 -05:00
James Seibel 5921dfa749 Add the ability to manually choose OpenGL version 2023-10-15 18:04:42 -05:00
s809 e3d7598501 Fix compilation 2023-10-14 22:13:01 +05:00
s809 596b822a5d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-10-14 22:09:15 +05:00
coolGi 62bf59f098 Disabled updater on windows by default 2023-10-14 22:47:58 +10:30
coolGi 06478a56bb Lod's are now enabled with special fog 2023-10-14 22:45:58 +10:30
coolGi 6c915c571a Merge branch 'fog-fixes' into 'main'
fix: Fix fog rendering

See merge request jeseibel/distant-horizons-core!30
2023-10-14 12:13:14 +00:00
Steveplays28 80ed8127f5 fix: Fix fog rendering 2023-10-14 14:05:44 +02:00
James Seibel 1e5a4d43f7 Have GLProxy attempt creating contexts with all supported GL versions 2023-10-13 21:56:06 -05:00
James Seibel 78e2b4ff3f Rename Platform -> EPlatform 2023-10-13 20:22:56 -05:00
James Seibel c45ed9aa70 Refactor GLProxy 2023-10-13 20:22:36 -05:00
James Seibel 4c2c89de57 Add IDhApiRenderProxy for getting/setting framebuffers and textures 2023-10-13 19:58:03 -05:00
James Seibel c724c6211e Remove DhApiResult.createFail() to prevent empty error messages 2023-10-13 19:56:55 -05:00
coolGi 4b14fe82e7 Fixed lod's being rendered underwater 2023-10-13 23:25:03 +10:30
James Seibel 31971e03db Fix missing MC sky 2023-10-12 21:35:04 -05:00
James Seibel 6e87a31e2e Disable the russian translation 2023-10-12 19:47:16 -05:00
James Seibel df097b9425 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-10-12 19:42:27 -05:00
James Seibel d3a575542d Improve SSAO class readability 2023-10-12 19:42:21 -05:00
coolGi 7ce89e9903 Fixed yet another issue relating to spaces in the path 2023-10-12 18:38:56 +00:00
coolGi 7f4e5d9e58 Surrounded the Java location with quotations so paths with spaces work 2023-10-13 02:54:29 +10:30
coolGi ae65fb8e93 Attempt to find Java's binary to use for the self updater on Windows 2023-10-13 02:00:12 +10:30
coolGi 2bf997e882 Updater now works with spaces in file paths 2023-10-13 00:06:57 +10:30
James Seibel f4e7eb6a38 Fix SSAO rendering 2023-10-12 07:49:01 -05:00
James Seibel 229e042994 Re-add OpenGL debug config options, also remove debug LOD update configs 2023-10-10 20:40:45 -05:00
James Seibel fb5b16e557 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-10-10 19:34:56 -05:00
James Seibel ff90dc04b7 Fix Light map flickering when multiple client levels are active 2023-10-10 19:32:08 -05:00
coolGi 21b5470863 Changed self updater location to use the class' path 2023-10-10 23:05:33 +10:30
coolGi 05c523ffdf Set the update timeout from a minute to an hour 2023-10-10 22:56:49 +10:30
James Seibel 82b2bf1434 Merge branch 'distant-horizons-core-depth-buffer' 2023-10-10 06:53:43 -05:00
James Seibel 83999fd516 Fix render cache clearing deleting the database instead of removing the cache data 2023-10-08 21:17:35 -05:00
James Seibel 9caad6ee41 Fix forge (and fabric) not updating LODs when placing/breaking blocks 2023-10-08 20:56:08 -05:00
James Seibel f3a83addd4 Add a todo comment to ClientApi 2023-10-07 21:29:32 -05:00
James Seibel 28649f4287 Replace Insert/Update SQL scripts with preparedStatements
necessary for inserting large BLOB data
2023-10-07 20:16:11 -05:00
James Seibel 1a5bd288c8 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-10-07 18:50:59 -05:00
James Seibel 94f1d99672 minor FullDataMetaFile comment update 2023-10-07 18:50:30 -05:00
James Seibel bf62ecff0b Improve metaDataFile saving logic 2023-10-07 17:00:01 -05:00
James Seibel 974cd95867 revert accidental GLProxy PROFILE change 2023-10-07 16:21:47 -05:00
James Seibel edaee7edd2 Add missing Full Data error logging 2023-10-07 16:11:06 -05:00
James Seibel 526f483bfb Move data source meta data from the compressed binary into DB columns 2023-10-07 16:10:16 -05:00
James Seibel 444090ed39 Convert DataSource ID from an int to a string
Since everything will be stored in a database binary space constraints aren't as big of a concern
2023-10-07 16:07:15 -05:00
James Seibel e0d25fdd88 Improve logging for failed DB queries 2023-10-07 15:53:07 -05:00
James Seibel 4ddfb8342d Fix a DB issue with parsing short, byte, and long values 2023-10-07 15:51:27 -05:00
James Seibel 8f0c820c09 Rename BaseMetaData.dataLevel -> dataDetailLevel 2023-10-06 22:23:40 -05:00
James Seibel bbcf1d0071 Fix abstractDhRepo on Forge 2023-10-06 22:12:37 -05:00
James Seibel ece2fc5e6a Fix DatabaseUpdater on Forge 2023-10-06 22:12:26 -05:00
James Seibel 513fc4c686 fix incorrect DhRepo closing 2023-10-06 07:25:30 -05:00
coolGi 417cf0a891 Used .renameTo instead of .canWrite to check if file is unlocked 2023-10-06 18:02:28 +10:30
coolGi 820683783b Changed name to DeleteOnUnlock 2023-10-06 17:24:31 +10:30
coolGi ffb1ce4355 Fixed (hopefully) updater on Windows 2023-10-06 17:23:14 +10:30
coolGi 1bea96b050 Temporary fix for windows file locking 2023-10-06 16:26:39 +10:30
James Seibel 3231a2df3e update Schema table and allow for multiple statements in update scripts 2023-10-05 20:52:16 -05:00
James Seibel 756af2bec4 save AbstractMetaDataRepo byte arrays to the database as binary 2023-10-05 19:10:42 -05:00
James Seibel bbaea5e614 Remove unneeded code from AbstractDhRepo and refactor 2023-10-05 19:07:48 -05:00
Steveplays28 6409cbad09 fix: Fix depth test and GL state restoration 2023-10-05 20:18:09 +02:00
coolGi 18ed2e7eee Disabled updating to the same commit 2023-10-05 13:12:35 +10:30
coolGi f45a4b8d62 Seeing if this will fix DH auto-updates on windows 2023-10-05 13:09:42 +10:30
James Seibel f0238dc4ea Remove references to old DH files and allow sub-dim matching to work with the database 2023-10-04 18:18:09 -05:00
James Seibel 6011a16e11 rename and comment GeneratedFullDataFileHandler variable 2023-10-04 07:49:43 -05:00
James Seibel 5c6302edbd re-enable genFullDataFileHandler.fireOnGenPosSuccessListeners() 2023-10-04 07:41:56 -05:00
James Seibel 0e57870ba9 Fix world gen not allowing down sampling 2023-10-04 07:41:36 -05:00
James Seibel cd55659331 remove "lod" from ILodRenderSourceProvider
to bring it inline with IFullDataSourceProvider
2023-10-03 18:23:24 -05:00
James Seibel 2516ba5524 Replace the loose file system with Sqlite 2023-10-03 18:21:35 -05:00
Steveplays28 45045de794 feat: Add renderbuffer for depth 2023-10-03 15:12:59 +02:00
coolGi f81b453c39 Removed test main function 2023-10-03 23:01:25 +10:30
coolGi e966d40ae2 Fixed jar reference with spaces in path 2023-10-03 22:48:04 +10:30
James Seibel 57c5c618f9 Add DhRepo.deleteByPrimaryKey() 2023-10-03 07:08:36 -05:00
James Seibel 30cf937539 Add Repo.exists() 2023-10-02 21:43:36 -05:00
James Seibel d1df845e79 Replace repo query with queryDictionary and improve auto update error checking 2023-10-02 21:24:41 -05:00
coolGi 877b0dae25 Revert "Fix option and changelog button missing backgrounds"
This reverts commit 5fb79325ce.
2023-10-03 12:44:36 +10:30
James Seibel 1ec06fa94e Add database auto updating 2023-10-02 19:54:43 -05:00
James Seibel 94b2b63767 git ignore sqlite databases 2023-10-02 19:37:54 -05:00
James Seibel 65751b0abd Temporary fix for world gen queue concurrency null pointer 2023-10-02 07:39:07 -05:00
James Seibel df859bd9fc Add automatic sql scripts to AbstractRepo 2023-10-02 07:35:23 -05:00
James Seibel 05349beb8d Add Sqlite delete DTO 2023-10-02 07:16:42 -05:00
coolGi b18fcb5815 Fixed updater on 1.20.2 2023-10-02 14:16:08 +10:30
coolGi 9b183aba93 Fixed strings not using string's "equals" function 2023-10-02 13:19:20 +10:30
coolGi d9e3293cf3 Added extra safety checks to nightly updater 2023-10-02 11:35:06 +10:30
Steveplays28 e1b448dd39 fix: Fix framebuffer blitting
The framebuffer and color texture are now recreated every frame, blitted, and deleted after rendering.
2023-10-01 00:07:21 +02:00
James Seibel ebef91601e add basic sqlite and unit tests 2023-09-30 15:25:35 -05:00
James Seibel fb424aadb6 Add commented out LodQuadTree debug code 2023-09-30 09:34:57 -05:00
James Seibel d15eba1185 Fix multiplayer similarity percent 2023-09-29 23:17:32 -05:00
James Seibel 03d2d0c3a2 move IChunkWrapper.setUseDhLighting into DhLightingEngine 2023-09-29 23:17:10 -05:00
James Seibel b0f1a6e70d Refactor and comment 2023-09-29 22:42:01 -05:00
Steveplays28 adae64f42c feat: Blit LOD framebuffer to MC's rendertarget framebuffer
Currently non-functional, since it renders black.
2023-09-28 20:42:02 +02:00
s809 e9e7ac48b1 Fix compilation 2023-09-28 23:28:18 +05:00
s809 2e2254fbbd Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-28 22:54:35 +05:00
Steveplays28 d12d132e4c fix: Fix framebuffer state not being restored properly 2023-09-28 16:39:56 +02:00
Steveplays28 a36b231ce8 feat: Implement basic framebuffer for LODs 2023-09-28 15:58:16 +02:00
James Seibel ee24bd0881 minor worldGenQueue method rename 2023-09-28 07:24:25 -05:00
James Seibel 1be2d24f42 Move IFullDataSource getUngeneratedPosList() into a separate class 2023-09-28 07:23:20 -05:00
James Seibel e6a5a65f21 minor world gen refactoring 2023-09-28 07:11:24 -05:00
s809 8bda3351b8 Make worldGenLoopingQueue lock free 2023-09-27 21:40:59 +05:00
James Seibel 42d80cbe34 minor world gen method renaming 2023-09-27 07:54:05 -05:00
James Seibel 2c6f2717f0 Fix partially generated sections not queuing world gen tasks
(Most of the time)
2023-09-27 07:53:32 -05:00
Steveplays28 532f3adba8 Merge branch 'main-upstream' 2023-09-27 14:09:04 +02:00
James Seibel bf17a72a7a Fix some holes when flying around in multiplayer 2023-09-26 18:55:10 -05:00
s809 cc8b97f2fe Improve management of frequent real time updates 2023-09-26 22:03:04 +05:00
coolGi f0575d0bc2 Close IO steams when done using them 2023-09-27 00:02:10 +09:30
coolGi 42a875ed8d Fixed problem when attempting to delete the temporary update directory 2023-09-26 23:59:27 +09:30
coolGi 312b32cd63 Merge remote-tracking branch 'origin/main' 2023-09-26 23:00:33 +09:30
coolGi 181232c18e Merge branch 'tmp' 2023-09-26 22:57:31 +09:30
coolGi cbf84639ca Added missing lang 2023-09-26 22:56:52 +09:30
coolGi 2142799fab Added nightly to be auto-updated 2023-09-26 22:53:12 +09:30
coolGi db218adcf4 Added ability for downloading nightly builds 2023-09-26 21:16:27 +09:30
s809 db31c54309 Fix Enable Distant Generation config being ignored 2023-09-26 13:21:37 +05:00
s809 375e81b17d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-26 11:40:38 +05:00
James Seibel da692ab928 Minor ColumnRenderBuffer refactor 2023-09-25 18:52:48 -05:00
James Seibel 9bbb861b4e Fix AbstractFullDataSourceLoader locking issue
Both locations should've been write locks
2023-09-25 07:16:07 -05:00
James Seibel 37acd4a130 Add a todo comment to LodQuadTree 2023-09-24 21:22:07 -05:00
James Seibel 3004685235 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-24 21:08:49 -05:00
James Seibel 1b094576d7 Fix sampling source pooling 2023-09-24 21:03:11 -05:00
James Seibel 4333cf65a2 Fix a null pointer in FullDataArrayAccessor 2023-09-24 20:47:53 -05:00
James Seibel a4b7e3e021 Move all data sampling logic into IIncompleteFullDataSource 2023-09-24 20:37:41 -05:00
James Seibel e7021dff2b Merge branch 'main' into 'main'
Deleting comments

See merge request jeseibel/distant-horizons-core!28
2023-09-24 19:06:42 +00:00
James Seibel a91c6e7e9e Merge branch 'NoName24Gitlab-main-patch-00777' into 'main'
Fixed "multiplayer.serverFolderNameMode.@tooltip"

See merge request jeseibel/distant-horizons-core!27
2023-09-24 19:06:00 +00:00
NoName 24 26c86b4059 Deleting comments 2023-09-24 19:01:07 +00:00
NoName 24 14bc64ea6d Update en_us.json. Fixed "distant horizons.config.client.advanced.multiplayer.serverFolderNameMode.@tooltip" by adding "advanced." (it didn't exist before) 2023-09-24 14:17:12 +00:00
s809 4fb9126d49 Fix unloaded file check 2023-09-24 18:48:14 +05:00
coolGi a2ed27c1d3 Merge branch 'main' into 'main'
Update ru_ru.json (minor fixes + Description).

See merge request jeseibel/distant-horizons-core!26
2023-09-24 10:00:03 +00:00
Steveplays28 ed2fca240e fix: Fix compiling after merge 2023-09-24 11:33:49 +02:00
Steveplays28 f5549f2ebe Merge remote-tracking branch 'origin-core/main' 2023-09-24 11:28:38 +02:00
Steveplays28 18e9cfe2a5 Merge branch 'main-upstream' 2023-09-24 11:24:55 +02:00
NoName 24 ebbeb02489 Update ru_ru.json (небольшие исправления + добавлены комментарии от меня: "unused_comment_..." / google en. small corrections + added comments from me: "unused_comment_...") 2023-09-24 09:24:51 +00:00
s809 e4e6753a02 Add gen task rate display 2023-09-24 14:24:31 +05:00
James Seibel c46e12fb7a remove unused commented out code in FullDataMetaFile 2023-09-23 22:32:44 -05:00
James Seibel 752c4af676 Add a todo comment 2023-09-23 22:31:30 -05:00
James Seibel b5bd50f789 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-23 22:17:50 -05:00
James Seibel a5d0035f81 refactor and optimize full/render file handlers 2023-09-23 22:05:14 -05:00
coolGi 72e396bbcd Added Russian language file (Thx noname24_, pixsym (sym), and pshsh (пшш)) 2023-09-24 11:20:30 +09:30
James Seibel 7d7202950e Improve initial level loading time 2023-09-23 20:40:43 -05:00
coolGi cb0b610812 Made config use our lang for everything 2023-09-24 11:09:08 +09:30
James Seibel 19cde1bbd4 Add a config for synchronous GPU uploading
hopefully to help with Sodium/AMD issues
2023-09-23 16:05:56 -05:00
James Seibel 1fe209d72a Add some additional logging to GLProxy around GLFW context creation 2023-09-23 12:13:41 -05:00
James Seibel a61317aa57 Remove unhelpful GLProxy test configs 2023-09-23 11:53:44 -05:00
James Seibel 05a16e00ad Remove ReflectionHandler since it was only used by AbstractOptifineAccessor 2023-09-23 11:51:42 -05:00
James Seibel 03efa3c191 GLProxy reformat 2023-09-23 11:25:12 -05:00
James Seibel 9d5bfc4f16 Remove unimplemented IDhLevel.dumpRamUsage() 2023-09-23 11:21:29 -05:00
Steveplays28 8e7855405d Merge remote-tracking branch 'origin-core/main' 2023-09-23 16:34:07 +02:00
Steveplays28 381cae7307 feat: Add config option for server port 2023-09-23 16:33:43 +02:00
James Seibel 1aa45bd9d6 DhClientServerLevel reformat 2023-09-23 08:44:16 -05:00
James Seibel 04e8a99320 Improve World Gen tick method names and put queue work on queue thread 2023-09-23 08:44:01 -05:00
James Seibel 5b8649630c WorldGenerationQueue remove unused code and cleanup 2023-09-23 08:32:22 -05:00
James Seibel 89e92504e4 Fix null pointer in RenderDataMetaFile 2023-09-23 08:20:02 -05:00
s809 e94d67916d Fix compiling
Remove unused config category
Use pooling when receiving sections
Fix use of real time update config
Fix debug renderer not unregistered on queue close
2023-09-23 15:32:24 +05:00
Steveplays28 c98f9476cb Merge remote-tracking branch 'upstream-core/main'
# Conflicts:
#	core/src/main/java/com/seibel/distanthorizons/core/api/external/methods/config/client/DhApiDebuggingConfig.java
#	core/src/main/java/com/seibel/distanthorizons/core/config/Config.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/sources/CompleteFullDataSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/sources/HighDetailIncompleteFullDataSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/FullDataFileHandler.java
#	core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderDataMetaFile.java
#	core/src/main/java/com/seibel/distanthorizons/core/generation/WorldGenerationQueue.java
#	core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java
#	core/src/main/java/com/seibel/distanthorizons/core/render/renderer/DebugRenderer.java
#	core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java
2023-09-22 15:40:31 +02:00
James Seibel 6fa0c802dc fix merge for commit 5ae27310 2023-09-21 22:01:21 -05:00
James Seibel 10b3c94782 Fix some LodRenderSections not rendering when populated by the world generator 2023-09-21 21:56:36 -05:00
James Seibel cdb0ce63b8 Improve FullDataMetaFile debug colors 2023-09-21 19:40:32 -05:00
James Seibel 29d474c577 Improve full data sample pooling logic 2023-09-21 19:29:52 -05:00
James Seibel 74cac0c263 Restructure and optimize the debug wireframe renderer 2023-09-21 19:19:38 -05:00
s809 6c36f3c7e9 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-21 21:04:58 +05:00
s809 877a89d17a Add config for a few slow features 2023-09-21 21:00:23 +05:00
James Seibel 9a82b718a5 refactor DebugRenderer 2023-09-21 07:31:29 -05:00
James Seibel cd7463728f Add full Data source pooling for certain sampling operations
May cause some concurrency issues
2023-09-21 07:11:41 -05:00
s809 d325a69e3f Move context levels to requests 2023-09-21 10:16:34 +05:00
James Seibel f5fd27d513 Fix RenderDataMetaFile not updating if debug rendering wireframes were disabled 2023-09-20 21:23:57 -05:00
James Seibel 568a4b0a2e Improve FileUtil.renameCorruptedFile() messages 2023-09-19 22:05:19 -05:00
James Seibel 2c01b29dad Merge branch 'deadlock-fix' into 'main'
Fixed deadlock when drawLODs returns early because Iris is rendering shadow pass

See merge request jeseibel/distant-horizons-core!25
2023-09-19 23:12:31 +00:00
alex-huff 5ae2731008 Fixed deadlock when drawLODs returns early because Iris is rendering shadow pass 2023-09-19 17:44:39 -05:00
s809 08704aad2c Allow selecting specific IDebugRenderable's for rendering 2023-09-19 21:32:59 +05:00
s809 a80bb082b3 Validate response types 2023-09-19 20:19:25 +05:00
s809 fccd197cd5 Fix chunk updates sent to incomplete connections
Hide useless warns, for cases when listener is not configured yet
2023-09-19 18:53:10 +05:00
s809 2cfc2c81c8 Fix future id collisions between c<->s
(cause of occasional hangs on disconnection)
Add packet trace logging
2023-09-19 17:28:26 +05:00
James Seibel b096183388 Attempt to use existing arrays in CompleteFullDataSource if possible 2023-09-18 22:26:58 -05:00
James Seibel ae4fe153ed remove todo from FullDataArrayAccessor 2023-09-18 22:24:30 -05:00
James Seibel f92fc89073 Add sample error handling to FullDataFileHandler 2023-09-18 22:18:24 -05:00
James Seibel 15e03e03e9 add FullDataPointIdMap.clear() and minor reformat 2023-09-18 22:17:51 -05:00
James Seibel 4cddc9efe4 remove future parameter from FullDataToRenderDataTransformer 2023-09-18 22:14:49 -05:00
James Seibel 4a4a3bf297 Fix LowDetailIncompleteFullDataSource divide by zero 2023-09-18 22:08:20 -05:00
James Seibel 704da8cfc1 Minor SingleColumnFullDataAccessor optimization 2023-09-18 22:04:54 -05:00
s809 6f4e105542 Fix compiling 2023-09-18 13:44:19 +05:00
s809 633b3f2033 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-18 13:24:43 +05:00
James Seibel cd9f8a5f9b Fix low detail sampling from complete render sources 2023-09-17 19:56:04 -05:00
James Seibel 3555a9aa01 Minor optimization and refactor of FullDataFileHandler.sampleFromFileArray() 2023-09-17 16:15:12 -05:00
James Seibel f41552b760 minor FullDataToRenderDataTransformer refactor 2023-09-17 16:11:17 -05:00
James Seibel 064853c6ff minor FullDataArrayAccessor.downsampleFrom() reformat 2023-09-17 16:10:06 -05:00
James Seibel bc0437f78a Fix FullDataMetaFile load not returning if an error occured 2023-09-17 16:08:16 -05:00
James Seibel b4fe07643e Add config options for debug wireframe rendering 2023-09-16 10:10:11 -05:00
James Seibel b1c07c6204 DebugRenderer refactor 2023-09-16 08:53:14 -05:00
James Seibel 8a0e3a710c Add GL Context creation debug configs
In an attempt to fix Steam Deck crashing due to being unable to create the GL Context
2023-09-16 08:03:39 -05:00
James Seibel 1ae1f1f36f Add a mutable DhSectionPos 2023-09-15 07:34:37 -05:00
James Seibel 2cee805645 Optimize some DhSectionPos via mutating the pos and removing duplicate DhLodPos allocations 2023-09-14 22:04:52 -05:00
James Seibel db58aa117a Minor QuadTree refactor 2023-09-14 20:19:02 -05:00
James Seibel 1c247e0da2 Rename DhSectionPos.getMinCornerLodPos() 2023-09-14 20:11:09 -05:00
James Seibel 4d863adac5 replace DhSectionPos getCenter() with getCenterBlockPos() 2023-09-14 20:07:25 -05:00
James Seibel 96a39bce69 reformat DhBlockPos2D 2023-09-14 19:56:48 -05:00
James Seibel 9a89731a59 Add DhSectionPos getBlockWidth() and getWidthCountForLowerDetailedSection() 2023-09-14 19:16:05 -05:00
James Seibel 269b763b73 Add DhSectionPos.getNumberOfLodSectionsWide() 2023-09-14 07:52:04 -05:00
James Seibel 00806933e0 Optimize DhSectionPos constructors and add convertSelfToDetailLevel() 2023-09-14 07:21:01 -05:00
James Seibel 84236e7a31 Add additional DhSectionPos unit tests 2023-09-13 21:52:56 -05:00
James Seibel 5ee1bea7c0 reformat DhSectionPos 2023-09-13 21:37:31 -05:00
James Seibel a5178cecea Rename RenderMetaDataFile -> RenderDataMetaFile 2023-09-13 18:29:56 -05:00
James Seibel cc933b6bd0 comment out DataSourceReferenceTracker GC logic 2023-09-13 07:45:01 -05:00
James Seibel 03f50b168d Add DataSourceReferenceTracker to automatically free unused data sources 2023-09-12 20:16:32 -05:00
Steveplays28 f0a62c813a Merge remote-tracking branch 'upstream-core/main' 2023-09-12 17:35:29 +02:00
James Seibel 13b7a20ff6 DhLightingEngine reformat 2023-09-11 20:35:33 -05:00
Builderb0y 62e8bea246 I forgot a line of code. 2023-09-12 01:05:27 +00:00
Builderb0y a51bb760d0 inline LightPos, effectively preventing tens of thousands of them from being allocated. 2023-09-11 17:04:17 +00:00
Builderb0y a28eddc1d5 remove iteration over chunkArray, calculate index directly instead. 2023-09-11 16:55:52 +00:00
James Seibel 61564d8914 Merge branch 'distant-horizons-core-iris.shadow.fix' 2023-09-11 07:36:24 -05:00
James Seibel 378ea5599b Merge branch 'distant-horizons-core-abstract.shader.refactor' 2023-09-11 07:29:43 -05:00
James Seibel 5ec874d4a0 Improve LOD Building and Lighting speed for BigGlobe worlds
Thanks Builderb0y!
2023-09-11 07:25:58 -05:00
James Seibel d3865551a5 Minor Lighting Engine GC optimizations 2023-09-10 17:09:33 -05:00
NULL511 8f42acbd65 simplify matrix usage; uniform cleanup 2023-09-10 04:15:35 -04:00
NULL511 25f4ef3224 default viewport 2023-09-10 03:38:47 -04:00
NULL511 a37b0abd18 use init render events 2023-09-10 03:14:03 -04:00
s809 21f03526f8 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-10 12:03:29 +05:00
NULL511 22281d477c fix shader init; remove GL11 2023-09-10 01:37:55 -04:00
NULL511 0b2284e258 refactor abstract shader base class and ssao renderer 2023-09-10 00:47:04 -04:00
James Seibel 7d84e05b1f Move framebuffer unbinding to GLState 2023-09-09 18:26:00 -05:00
James Seibel 2d1729d325 Revert "Use MC's projection matrix in SSAO instead of creating a new one"
This reverts commit 5735599569.
2023-09-09 18:22:33 -05:00
James Seibel e415d1cb72 Fix shadow static rendering 2023-09-09 17:03:33 -05:00
James Seibel 5735599569 Use MC's projection matrix in SSAO instead of creating a new one 2023-09-09 16:45:20 -05:00
NULL511 d73c0b9531 cleanup 2023-09-09 16:33:27 -04:00
NULL511 faf51a57e7 fix ssao frame buffer binding 2023-09-09 16:33:27 -04:00
NULL511 d6d94804a0 cleanup 2023-09-09 16:33:27 -04:00
NULL511 a21edfeed6 remove unused frame buffer 2023-09-09 16:33:27 -04:00
NULL511 36092008ef fix fog texture bind + shaders 2023-09-09 16:33:27 -04:00
Steveplays28 0e7a96d308 fix: Fix missing IServerKeyedClientLevel import 2023-09-09 21:03:17 +02:00
Steveplays28 87572246a6 Merge remote-tracking branch 'upstream-core/main' 2023-09-09 20:53:44 +02:00
James Seibel ae8c95250c Reduce duplicate Client Chunk update calls 2023-09-09 13:36:59 -05:00
James Seibel e484926f62 Temporarily disable clientApi neighbor chunk updating 2023-09-09 12:47:23 -05:00
James Seibel 8ae78dbf60 Fix inconsistent QuadTree detail level variable names 2023-09-09 10:45:17 -05:00
James Seibel ac1beb732d Fix LodQuadTree corner sections rendering outside the square render distance 2023-09-09 10:43:23 -05:00
Steveplays28 025484d5b4 Merge remote-tracking branch 'upstream-core/main' 2023-09-09 14:47:07 +02:00
James Seibel 1e7b459b6a Add debug options to skip some full data update events 2023-09-08 22:32:19 -05:00
James Seibel b234c3e57e Merge branch 'distant-horizons-core-alpha.blend.state' 2023-09-08 19:57:08 -05:00
James Seibel e8dc6f12e0 Add LodQuadBuilder timing to the build log 2023-09-08 19:56:13 -05:00
James Seibel e8a7ec1cf8 Remove LodQuadBuilder transparent void fix
The fix was causing a lot of lag and I wasn't able to reproduce the problem after removal so it probably isn't worth it for the time being.
2023-09-08 19:54:28 -05:00
NULL511 c199cd60ec add blend-alpha to GLState 2023-09-08 18:36:07 -04:00
Steveplays28 15e4b1316e Merge remote-tracking branch 'upstream-core/main' 2023-09-08 19:54:43 +02:00
James Seibel 8c19fc60f8 Improve LodQuadBuilder speed and reduce GC pressure 2023-09-08 07:50:47 -05:00
James Seibel 3290ba3b34 minor refactors 2023-09-08 07:47:37 -05:00
James Seibel ea7f199c9b Clear the debug wireframes after leaving the current world. 2023-09-07 20:20:11 -05:00
s809 e02eddc60e Fix compiling 2023-09-07 21:07:16 +05:00
s809 1e1ddd505b Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-07 20:07:30 +05:00
James Seibel 36fc6aaea3 Reorganize SSAO config 2023-09-06 21:25:13 -05:00
James Seibel ea05ef3d3d Merge branch 'distant-horizons-core-ssao.improvements' 2023-09-06 17:54:20 -05:00
James Seibel 72ee854655 Overhaul FullDataMetaFile async completion stages and write queue application 2023-09-06 17:36:52 -05:00
James Seibel 65e6aa1aa0 Refactor AbstractFullDataSourceLoader phantom check/logging 2023-09-04 18:32:58 -05:00
James Seibel cc16e21352 Fix interface naming convention in MetaFileScanUtil 2023-09-04 18:12:09 -05:00
James Seibel 2cf798ed4c Remove CacheQueryResult from FullDataMetaFile 2023-09-04 18:11:02 -05:00
James Seibel 8c7d640f37 temp 2023-09-04 18:02:43 -05:00
James Seibel d98c052d0d RenderMetaDataFile null pointer fix 2023-09-04 17:55:57 -05:00
James Seibel 31faa9925a refactor AbstractMetaDataContainerFile and FullDataMetaFile 2023-09-04 17:17:44 -05:00
James Seibel ceda768f2b Fix allowUnsafeValues localization typo 2023-09-04 11:05:02 -05:00
James Seibel 4da4666aec Add named FullDataMetaFile constructors 2023-09-04 09:51:35 -05:00
James Seibel 08359b1b31 Move meta file scanning into FileScanUtil (now MetaFileScanUtil) 2023-09-04 09:46:32 -05:00
NULL511 1da2b3558e add sample count 2023-09-04 03:09:25 -04:00
NULL511 4cd6bc06f1 reset default ssao settings 2023-09-04 00:12:45 -04:00
NULL511 4f1f11e769 add debug ssao settings; improve vanilla matching 2023-09-03 23:33:30 -04:00
James Seibel f21545a3af RenderMetaDataFile refactor cleanup 2023-09-03 22:09:52 -05:00
James Seibel 33cb8c02e8 Move code from RenderSourceFileHandler to RenderMetaDataFile and refactor 2023-09-03 21:59:55 -05:00
James Seibel ed596955f7 Remove CacheQueryResult from RenderMetaDataFile 2023-09-03 17:42:47 -05:00
James Seibel 800ffc5611 Move RenderSourceFileHandler code into RenderMetaDataFile 2023-09-03 16:55:52 -05:00
James Seibel 89c6dc0333 rename ColumnRenderSource fastWrite() -> updateWithChunkData() 2023-09-02 21:05:45 -05:00
James Seibel 2e49bf299e Merge DataRenderTransformer and FullDataToRenderDataTransformer 2023-09-02 20:41:58 -05:00
James Seibel 2c71a2a63a Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-02 20:18:05 -05:00
James Seibel 3d62ca361d Refactor RenderSourceFileHandler and DataRenderTransformer 2023-09-02 20:17:56 -05:00
James Seibel dc1ce86cc3 Remove commented out code in FullDataToRenderDataTransformer 2023-09-02 20:17:08 -05:00
James Seibel a60f91ad00 refactor FileScanUtil 2023-09-02 11:53:12 -05:00
James Seibel 6976cb9bb0 Remove useless file lock from AbstractMetaDataContainerFile 2023-09-02 07:32:54 -05:00
coolGi d71ab1138b Fixed deep dark not blackening lods 2023-09-02 20:59:31 +09:30
coolGi a3a41c44a9 Fixed crash ran on version not on Modrinth 2023-09-02 20:10:56 +09:30
James Seibel 1af6e83086 Add missing licensing headers 2023-09-01 20:43:26 -05:00
NULL511 8c7937f9a2 cleanup 2023-09-01 18:25:37 -04:00
NULL511 f692ddaf93 dither fog 2023-09-01 17:56:59 -04:00
NULL511 3ee3b9c98c vanilla-matched ssao 2023-09-01 17:18:29 -04:00
s809 415f16507b Add post-rejoin updates 2023-09-02 01:23:56 +05:00
NULL511 88b02ef2f7 revert ssao tuning 2023-09-01 12:11:26 -04:00
James Seibel 7a0a217822 Update existing licensing headers 2023-09-01 07:44:15 -05:00
James Seibel 983703479f Remove unused IDE files and move Gitlab docker setup instructions 2023-09-01 07:41:44 -05:00
NULL511 e29974282e faster ssao 2023-09-01 03:22:40 -04:00
James Seibel aee6407941 Add file write locking to AbstractMetaDataContainerFile
Done to try preventing a rare bug where multiple threads would write the same file
2023-08-31 22:01:43 -05:00
James Seibel 9ba1b18fac Remove debug disable lighting engine configs 2023-08-31 21:43:17 -05:00
James Seibel c28ec12983 Improve a couple data update comments 2023-08-31 21:42:57 -05:00
James Seibel b894cc8836 Move Fog matrix inversion to the CPU 2023-08-31 21:15:49 -05:00
James Seibel 08f78c22f0 Move SSAO gInvProj to the CPU instead of GPU
Also make Mat4f.invert() return void instead of boolean to prevent confusion about trying to pass the result into shader uniforms.
2023-08-31 21:06:41 -05:00
James Seibel 751eb75c50 Fix GLProxy null pointer 2023-08-31 19:08:31 -05:00
James Seibel 7ac562c5e9 Fix DhBlockPos mutable methods 2023-08-31 19:01:57 -05:00
James Seibel 3148991667 Make light propagation mutate instead of create BlockPos to reduce GC pressure 2023-08-31 07:55:43 -05:00
James Seibel d4a75eb73c Rename StableLightPosArray -> StableLightPosStack and add cache reusing 2023-08-31 07:21:15 -05:00
James Seibel 9f46dd13a6 Create StableLightPosArrayList for DhLightingEngine 2023-08-30 18:32:40 -05:00
James Seibel f6df6e83a5 make DhBlockPos mutable 2023-08-30 18:31:58 -05:00
James Seibel 58378ffcba Fix disappearing LOD sections
Its still a bit of a duck tape solution, but should be good enough for now
2023-08-30 07:43:59 -05:00
James Seibel d3a7bb7b9d Add debug methods to ColRender Buffer/Source 2023-08-30 07:43:19 -05:00
James Seibel 5c03d7446b Add a temp debug option that disables the lighting engine and light baking 2023-08-30 07:07:25 -05:00
James Seibel fa93a22ab2 temp 2023-08-28 21:14:19 -05:00
s809 cb95978502 Fix compilation 2023-08-27 19:56:12 +05:00
s809 1b729f3fe7 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-27 19:10:25 +05:00
s809 d84e097fa2 Merge branch 'client-level-error' of https://gitlab.com/s809/distant-horizons-core into client-level-error 2023-08-27 18:43:06 +05:00
s809 51ad901206 Fix loading ClientLevel on server 2023-08-27 18:41:47 +05:00
James Seibel 93cfea4c84 Convert WorldGenQueue to use SectionPos instead of LodPos 2023-08-27 07:53:37 -05:00
James Seibel ee93122254 fix render source null pointer 2023-08-26 21:52:58 -05:00
James Seibel 44691f38f1 fix quality preset cache reset firing too often 2023-08-26 17:57:36 -05:00
James Seibel 4439983ace Fix some api:javadoc warnings and suppress future ones
I don't like suppressing warnings, but in this case they want the javadocs to be a bit more verbose then necessary.
2023-08-26 17:32:39 -05:00
James Seibel 0978f4a4d8 Fix API javadoc compiling 2023-08-26 15:29:44 -05:00
James Seibel 2cd2941cbe Add IDhApiConfigValue.addChangeListener() 2023-08-26 13:11:16 -05:00
James Seibel 2cb1e32817 Minor DhApi rename and comment cleanup 2023-08-26 12:04:00 -05:00
s809 517925a207 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-26 21:33:44 +05:00
James Seibel c6ee61777c Add a ReadMe to DhApi
Hey You. You're finally awake...
2023-08-26 11:19:49 -05:00
coolGi 781bcd318c Merge remote-tracking branch 'origin/main' 2023-08-27 01:38:15 +09:30
coolGi b3591066bd Fixed compiling 2023-08-27 01:36:42 +09:30
James Seibel 7a3f63040d Remove unused IDhApiConfigValue.getApiValue() 2023-08-26 10:56:31 -05:00
James Seibel f8857d2a1d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-26 10:43:26 -05:00
James Seibel cfa00010d9 Cache SSAO uniforms 2023-08-26 10:43:10 -05:00
coolGi 0979d75a5d Disabled SVG from being included in the jar 2023-08-27 01:02:05 +09:30
coolGi 53e8519aab Removed flatlaf 2023-08-27 00:59:36 +09:30
James Seibel 8871b893c1 Reduce SSAO artifacting 2023-08-26 10:15:17 -05:00
James Seibel 2216eed449 Remove unused SSAOShader (use SSAORenderer instead) 2023-08-26 08:57:40 -05:00
James Seibel 9e43076853 Add OpenGL error log config 2023-08-26 08:51:20 -05:00
coolGi 7470552576 Fixed up how file handling works in the config 2023-08-26 17:29:27 +09:30
coolGi a0bc44ca06 Proper fix for checking if the config is loaded 2023-08-26 15:21:04 +09:30
James Seibel 2e647b5781 Remove deprecated getX() and getZ() from DhChunkPos 2023-08-25 21:17:42 -05:00
James Seibel cdc6635a76 Refactor 2023-08-25 21:05:47 -05:00
James Seibel 89724e4a74 Merge branch 'distant-horizons-core-refactor/world-gen-module' 2023-08-25 20:09:53 -05:00
James Seibel d5922900b5 Attempt to fix LodRenderer freeing GL objects while they are in use 2023-08-25 07:52:16 -05:00
James Seibel 269cbf8355 Require a ILevelWrapper when deserializing BiomeWrappers 2023-08-24 21:37:55 -05:00
James Seibel 1fba04132b Revert "Fixed config system only working with dh"
This reverts commit f1b31a4cfe.
2023-08-24 21:16:13 -05:00
James Seibel e62ddc302b Require a ILevelWrapper when deserializing BlockStateWrappers 2023-08-24 20:05:54 -05:00
s809 2ab48e0a8b Decouple world generation parts from DhLevel's 2023-08-24 21:09:39 +05:00
coolGi 697abb520b Fixed javadocs reference, and updated core 2023-08-25 00:10:34 +09:30
coolGi f1b31a4cfe Fixed config system only working with dh 2023-08-24 22:56:19 +09:30
coolGi d553965f28 Refactored and fixed several config related things (javadocs, and warnings) 2023-08-24 22:56:03 +09:30
coolGi 089f887035 Merge remote-tracking branch 'origin/main' 2023-08-24 22:30:24 +09:30
coolGi 1d637668c6 Removed running button pressed process by default 2023-08-24 22:30:05 +09:30
James Seibel 3361ba2fab Fix config presets rewriting the config file before it loads 2023-08-24 07:41:08 -05:00
James Seibel 971caca9c9 Improve config render cache invalidation logic and add missing config listeners 2023-08-24 07:20:49 -05:00
James Seibel 48a3675eec Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-24 07:06:15 -05:00
coolGi c8f9c83935 Merge branch 'main' into 'main'
feat: Update rendering block ignores

See merge request jeseibel/distant-horizons-core!17
2023-08-24 11:49:46 +00:00
coolGi 81992f6a87 Formatted some resource files 2023-08-24 20:28:25 +09:30
James Seibel f8814e3a11 Merge branch 'steve-ignore-blocks' 2023-08-23 21:28:35 -05:00
James Seibel f6ee8048eb Have getRendererIgnoredBlocks()'s require a level and return a hashset 2023-08-23 21:23:58 -05:00
s809 c5abc22c58 Merge branch 'feat/server-updates' 2023-08-24 00:01:07 +05:00
s809 2330377212 Send updates at chunk level instead of sections 2023-08-23 23:55:16 +05:00
s809 9db56bbf87 test 2023-08-22 20:41:42 +05:00
s809 52a90fec6c Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into feat/server-updates 2023-08-22 19:12:43 +05:00
James Seibel 794e9afc10 Fix file saving 2023-08-22 07:45:25 -05:00
Steveplays28 ed6a4573eb feat: Update rendering block ignores
Barrier blocks, structure void blocks, light blocks, and air blocks now share 2 `HashMap`s that define blocks that should be ignored by the LOD builder.
2023-08-22 11:36:46 +02:00
Steveplays28 3630dc724d fix: Add null check to config GUI when adding a screen change listener 2023-08-22 10:52:19 +02:00
James Seibel 4ec4b2f8dd Reduce SSAO noise 2023-08-21 22:06:33 -05:00
s809 627bfbc007 Incomplete 2023-08-21 22:08:35 +05:00
James Seibel 1e05972e3c Fix potential null pointers in DhWorld shutdown 2023-08-21 07:46:51 -05:00
Steveplays28 d9283e938b feat: Update rendering block ignores
Barrier blocks, structure void blocks, light blocks, and air blocks now share 2 `HashMap`s that define blocks that should be ignored by the LOD builder.
2023-08-21 03:41:27 +02:00
James Seibel 786c445a91 Add a profiler section for debug wireframe rendering 2023-08-20 18:38:21 -05:00
James Seibel 3b14bd655c Add a world curvature listener and limiter 2023-08-20 18:22:10 -05:00
James Seibel d5f3ac9fb8 Fix renderer crash when enabling earth curvature 2023-08-20 18:11:12 -05:00
James Seibel 35f5bce149 Clean up World Gen Threads after termination 2023-08-20 17:59:58 -05:00
James Seibel 2964acfc8c Hide unused multiplayer settings 2023-08-20 15:06:59 -05:00
James Seibel 6babf730dc Merge branch 'distant-horizons-core-fix/incorrect-checksum' 2023-08-20 14:49:37 -05:00
James Seibel f57c52b2d0 add ILevelWrapper.onUnload() 2023-08-20 14:47:22 -05:00
James Seibel 3113263012 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-20 14:14:56 -05:00
James Seibel c0e0412de9 Add world gen task count to the F3 menu 2023-08-20 14:14:44 -05:00
s809 283f4c9782 Fix incorrect use of checksum stream
(for some reason each section goes twice through this method)
2023-08-20 20:23:28 +05:00
s809 ce4d50654d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-19 22:28:13 +05:00
coolGi 461302d290 Merge remote-tracking branch 'origin/main' 2023-08-20 02:54:40 +09:30
s809 7568ab56f6 Fix hang when near completion of loading from server
Replace total value with sum of pending+finished requests
2023-08-19 22:21:01 +05:00
coolGi d6352b9ea6 Fixed ui modify, and made file handeler use its own set function 2023-08-20 02:36:48 +09:30
s809 bf58654a10 Fix prioritization not working properly 2023-08-19 21:22:51 +05:00
James Seibel 4bf12c7fc4 Fix lighting and LOD generation for snow layers 2023-08-19 11:01:52 -05:00
coolGi 8431256b2c Re-arranged the git info 2023-08-20 01:31:04 +09:30
James Seibel 0e1c4c49c2 Change RenderSourceFileHandler cache log from info -> debug 2023-08-19 08:50:20 -05:00
Steveplays28 e4576c7d51 Merge remote-tracking branch 'upstream-core/main' 2023-08-19 11:41:38 +02:00
tom lee a30bfdf397 Implement cache invalidation, and have render cache be used. Can expect faster load times. 2023-08-19 16:49:09 +08:00
James Seibel 158a614482 Potentially fix custom world generator snow lighting 2023-08-18 20:51:29 -05:00
James Seibel 974953ae9d Remove height map optimization in LodDataBuilder 2023-08-18 18:44:37 -05:00
James Seibel 02449a909a Fix snow rendering take 2 2023-08-18 18:15:03 -05:00
James Seibel 42841fe2a1 Preventive fix for LodDataBuilder going outside the world 2023-08-18 17:44:16 -05:00
James Seibel 70989a9369 Attempt to fix snow lighting 2023-08-18 17:22:27 -05:00
James Seibel ef21987817 remove unimplemented world generator modes
specifically: BIOME_ONLY, BIOME_ONLY_SIMULATE_HEIGHT, and FULL
2023-08-18 15:55:32 -05:00
James Seibel 56c8441daf add a heightmap check/warning to DhLightingEngine 2023-08-18 15:54:53 -05:00
James Seibel b229d928c1 Have DhLightingEngine set centerChunk.setIsDhLightCorrect = true when done 2023-08-18 11:49:52 -05:00
James Seibel 3db7ffeb01 Remove world gen lighting engine config 2023-08-18 11:19:45 -05:00
James Seibel ec2382372e Fix DH lighting not being baked in correctly for loaded chunks 2023-08-18 11:19:15 -05:00
James Seibel 4c081fcf26 Tweak world gen threading presets 2023-08-18 10:30:54 -05:00
James Seibel 61b5ec1d70 Attempt to prevent OpenGL errors when teleporting 2023-08-18 10:13:40 -05:00
James Seibel 859fcaf1b8 Improve ThreadUtil logging and prefix handling 2023-08-18 09:10:18 -05:00
James Seibel 91f67cac9b Fix WorldGen ThreadFactory not being used 2023-08-18 08:25:15 -05:00
Steveplays28 a1f07c075e Merge remote-tracking branch 'upstream-core/main' 2023-08-18 15:12:11 +02:00
s809 84c4ad6cdd Add missing level wrapper argument (and a bunch of null checks) 2023-08-18 15:04:59 +02:00
James Seibel c7ac9faccd Fix preset configs not applying after the UI screen changes 2023-08-18 07:51:05 -05:00
James Seibel 123f17288c Temporary config file permission exception suppression 2023-08-18 07:47:51 -05:00
James Seibel 11ec8b1eaa Fix Render data attempting to recreate files on setting change 2023-08-18 07:47:18 -05:00
James Seibel c80136719d Temporary fix to ConfigFileHandling crashing when creating the file 2023-08-17 22:17:50 -05:00
James Seibel ff3949f353 Merge branch 'main' into 'main'
Fix wrong position being calculated and used for block colors (and possibly other things).

See merge request jeseibel/distant-horizons-core!14
2023-08-18 03:05:11 +00:00
James Seibel 8809fa88ce Fix incorrect vPos in curve.vert, thanks Null! 2023-08-17 21:21:49 -05:00
James Seibel 97d5429b34 Merge branch 'shader.cleanup' into 'main'
Shader Cleanup

See merge request jeseibel/distant-horizons-core!13
2023-08-18 01:59:07 +00:00
Builderb0y 3784458cba Fix wrong position being calculated and used for block colors (and possibly other things). 2023-08-18 01:58:11 +00:00
James Seibel 155648035b fix SSAO rendering 2023-08-17 20:56:35 -05:00
NULL511 c75c830ab2 revert cpu projection inverse fog 2023-08-17 13:06:37 -04:00
NULL511 ea5b19b4e7 cpu projection inverse fog 2023-08-17 12:35:16 -04:00
NULL511 be1d13e6ad cpu projection inverse 2023-08-17 12:08:45 -04:00
NULL511 4563e4872e shader syntax fix 2023-08-17 11:19:38 -04:00
NULL511 ceb0c215c5 shader cleanup initial 2023-08-17 10:34:54 -04:00
coolGi d239defb94 Merge remote-tracking branch 'origin/main' 2023-08-17 23:27:26 +09:30
coolGi ff7e945b07 Changed config file deletion error message, to info 2023-08-17 23:25:18 +09:30
coolGi 26b6e19753 Temporary "fix" for ant water 2023-08-17 23:21:55 +09:30
coolGi 4969d2362d Removed if statement for deleting config file 2023-08-17 23:16:51 +09:30
James Seibel 7dc054c1dd potentially reduce OpenGL errors when restoring GLStates 2023-08-17 07:23:08 -05:00
James Seibel e488cb8a4c Add some additional error checking to ConfigFileHandling 2023-08-17 07:12:07 -05:00
James Seibel 7aa432951c Add Javadoc "since API 1.0.0" to API methods and objects 2023-08-16 07:42:12 -05:00
James Seibel 468c8b134c Remove unused EDhApiWorldGenThreadMode 2023-08-16 07:42:01 -05:00
James Seibel 1139a6eec7 Disable cave culling for dimensions with a ceiling 2023-08-16 07:23:42 -05:00
Steveplays28 47aef1f349 Merge remote-tracking branch 'upstream-core/main'
# Conflicts:
#	core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientApi.java
#	core/src/main/java/com/seibel/distanthorizons/core/api/internal/SharedApi.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/FullDataPointIdMap.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/sources/CompleteFullDataSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/sources/HighDetailIncompleteFullDataSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/sources/LowDetailIncompleteFullDataSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/GeneratedFullDataFileHandler.java
#	core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/RemoteFullDataFileHandler.java
#	core/src/main/java/com/seibel/distanthorizons/core/level/ClientLevelModule.java
#	core/src/main/java/com/seibel/distanthorizons/core/level/DhClientLevel.java
#	core/src/main/java/com/seibel/distanthorizons/core/level/DhClientServerLevel.java
#	core/src/main/java/com/seibel/distanthorizons/core/level/DhServerLevel.java
#	core/src/main/java/com/seibel/distanthorizons/core/level/IDhServerLevel.java
#	core/src/main/java/com/seibel/distanthorizons/core/level/ServerLevelModule.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/NetworkEventSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/messages/AckMessage.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/messages/CloseReasonMessage.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/messages/HelloMessage.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/messages/PlayerUUIDMessage.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/messages/RemotePlayerConfigMessage.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/objects/RemotePlayer.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/protocol/EMessageHandlerSide.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/protocol/INetworkMessage.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/protocol/MessageRegistry.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/protocol/NetworkChannelInitializer.java
#	core/src/main/java/com/seibel/distanthorizons/core/network/protocol/NetworkExceptionHandler.java
#	core/src/main/java/com/seibel/distanthorizons/core/world/DhClientWorld.java
#	core/src/main/java/com/seibel/distanthorizons/core/world/DhServerWorld.java
#	core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/block/IBlockStateWrapper.java
#	core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/misc/IServerPlayerWrapper.java
#	core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IBiomeWrapper.java
2023-08-16 11:36:00 +02:00
James Seibel d4bc5bbc82 Fix default chunkLodConverter ratio config value 2023-08-15 22:04:26 -05:00
James Seibel e5ab12ef3e Create .editorconfig 2023-08-15 20:50:42 -05:00
James Seibel 55bf122bc1 Potentially fix lag when moving across chunk borders 2023-08-15 20:49:22 -05:00
coolGi 300834f582 Removed unused accessors 2023-08-15 13:00:41 +09:30
coolGi bde1c860b9 Merge remote-tracking branch 'origin/main' 2023-08-15 12:47:57 +09:30
coolGi 858bf3e99b Fix to sodium, now no longer requiring Mixins 2023-08-15 12:47:13 +09:30
James Seibel 8489003e0c Apply editorconfig auto formatting 2023-08-14 21:16:08 -05:00
Steveplays28 1e7a25046a fix: Fix BlockStateWrapper and Biome serializing to empty strings 2023-08-15 00:03:13 +02:00
Steveplays28 87a9e93278 fix: Fix server trying to access client instance 2023-08-14 19:23:39 +02:00
Steveplays28 2d3062008e Merge remote-tracking branch 'upstream-core/main' 2023-08-14 15:40:41 +02:00
James Seibel 56959094ae Fix ModGitInfo crashing on release MC
It won't show the commits or branches, but it won't crash either
2023-08-14 07:30:41 -05:00
James Seibel 2914ddd121 Cache the DhChunkPos hashCode to improve DhLightingEngine speed 2023-08-13 17:10:27 -05:00
James Seibel f67949dbc4 Fix DhLightingEngine for light positions outside the chunk(s) 2023-08-13 17:09:03 -05:00
Steveplays28 8dcec7a1bd refactor: Re-add old serialization method
This is used by some override methods that don't have access to the level.
These old serialization methods have `FIXME`s so they're easy to find in the future.
2023-08-13 23:18:55 +02:00
Steveplays28 d839b6e4bd Merge remote-tracking branch 'upstream-core/main'
# Conflicts:
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/FullDataPointIdMap.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/sources/CompleteFullDataSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/sources/HighDetailIncompleteFullDataSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/sources/LowDetailIncompleteFullDataSource.java
#	core/src/main/java/com/seibel/distanthorizons/core/pos/DhSectionPos.java
2023-08-13 22:59:43 +02:00
James Seibel 8df8ed4a02 Request a garbage collection after closing the DH world 2023-08-13 13:36:47 -05:00
James Seibel 470c9ff5b5 Fix DhLightingEngine overwhelming the GC 2023-08-13 13:36:32 -05:00
s809 0c155ac8cd Generation task prioritization (loaded > unloaded > ungenerated) 2023-08-13 18:59:08 +05:00
James Seibel d3cf47ccd7 Fix FullDataPointIdMap (de)serialization duplicate Entries
Also increase DATA_FORMAT_VERSION 2 -> 3
2023-08-12 16:17:34 -05:00
s809 271b193543 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-13 01:53:06 +05:00
James Seibel 2b97fa639a Fix SSAO shading being applied to the sky 2023-08-11 21:04:47 -05:00
James Seibel 91a6f4468a improve fog shader depth culling logic 2023-08-11 21:00:58 -05:00
James Seibel 27c5f308a8 Remove the outer profiler to LOD rendering 2023-08-11 21:00:09 -05:00
James Seibel c56cbb20c4 Fix DH fog rendering over the sun and sky 2023-08-11 18:43:09 -05:00
James Seibel e6f673783b reformat LodRenderer 2023-08-11 18:32:02 -05:00
James Seibel fe05594d45 remove some unneeded fog code in the main shader program 2023-08-11 18:02:35 -05:00
James Seibel a97d8bb8ee Fix a crash after changing the DH render distance 2023-08-11 17:52:00 -05:00
James Seibel 766ee0975e Fix disabling fog crashing the renderer 2023-08-11 07:45:44 -05:00
James Seibel a3efc652dc Fix Fog shader corrupted rendering 2023-08-11 07:26:11 -05:00
James Seibel 4df9c1ca01 reformat GLState 2023-08-11 07:21:46 -05:00
James Seibel d1ecec9ee9 reformat AbstractShaderRenderer 2023-08-11 07:08:43 -05:00
James Seibel 857979b7f2 Remove fog code from the flat_shaded (LodRenderProgram) shader 2023-08-10 07:49:18 -05:00
James Seibel 72e1e29a0b Minor reformat to FogShader 2023-08-10 07:25:33 -05:00
James Seibel 59c62aa6f0 Fix DH fog not rendering, but also corrupt vanilla rendering 2023-08-10 07:24:20 -05:00
s809 e4ac25f4ce Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-08 20:57:30 +05:00
James Seibel 510dc47943 Renderer reformatting 2023-08-08 07:25:48 -05:00
coolGi c2f7ca8f38 Temporary fix for sodium 0.5's fog occlusion 2023-08-08 21:23:25 +09:30
s809 52f9e3e9e4 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-08 12:35:21 +05:00
coolGi dc88c46dc9 Added a warning if value doesn't have a way to display it 2023-08-07 22:05:04 +09:30
coolGi fc54e0f893 Fixed crashing with forge-config-api-port-fabric 2023-08-07 21:54:41 +09:30
coolGi 9f9c542a6c DH Jar now knows git version that it was built from 2023-08-07 21:10:45 +09:30
James Seibel 2930a899d8 Remove IMinecraftRenderWrapper.tryDisableVanillaFog()
They are now handled via mixins
2023-08-06 19:21:46 -05:00
James Seibel 38a7a837e7 Fix incorrect unloaded chunk lighting 2023-08-06 19:18:31 -05:00
James Seibel df63dd1370 Add a FullDataMetaFile TODO comment 2023-08-06 17:47:07 -05:00
James Seibel 4de8812861 update the seamless overdraw config to state it only works on fabric 2023-08-06 17:39:34 -05:00
coolGi f8f6c9f877 Added a ui button option + debug menu option 2023-08-06 18:59:39 +09:30
coolGi 260358be93 Added pop-up notification on update success 2023-08-06 18:57:38 +09:30
coolGi e5dcc4189d Fixed bug with updater giving invalid update checksum 2023-08-06 18:56:16 +09:30
coolGi 475e4da4a7 Removed config entries from checking their own types as its already done in the config base 2023-08-06 17:30:27 +09:30
coolGi 7ccb5c1806 Added white world option 2023-08-06 17:15:17 +09:30
James Seibel ba0de99948 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-05 22:35:42 -05:00
James Seibel b53739a112 Comment out a couple missed Netty lines 2023-08-05 22:33:30 -05:00
James Seibel 8bcfe3e35d Increment Full Data Source version 1 -> 2
Done due to serialization changes
2023-08-05 22:25:06 -05:00
James Seibel 1345982795 Comment out all Netty related files
Done to allow 1.16 to compile
2023-08-05 22:22:51 -05:00
James Seibel ff1a1d5164 minor FullDataToRenderDataTransformer refactor 2023-08-05 22:21:58 -05:00
s809 6bf32ff85c Add debug renderer for remote generation queue 2023-08-05 22:30:33 +05:00
coolGi 783ceeb633 Some general fixes 2023-08-05 16:53:41 +09:30
coolGi 42f45f05c3 Merge remote-tracking branch 'origin/main' 2023-08-05 15:04:37 +09:30
coolGi 5800029206 Reverted previous removing fog from main shader 2023-08-05 15:03:26 +09:30
coolGi 146c2e6f1c Final save commit for another attempt to fix fog, before revert. 2023-08-05 14:58:03 +09:30
s809 9bd432ad7f Fix memory leak related to requests 2023-08-04 22:12:09 +05:00
s809 04fc4aa676 Remove unnecessary logging 2023-08-04 21:51:53 +05:00
s809 8ee4b8b4c9 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-04 21:10:41 +05:00
s809 5767668efa Somewhat proper request cancellation 2023-08-04 21:04:34 +05:00
s809 76b226b865 Fix switching dimensions (request cancellation is broken) 2023-08-04 13:06:56 +05:00
coolGi 76bc81233a Removed old fog 2023-08-02 23:29:30 +09:30
coolGi 3ea55065b3 Fog shader should be working 2023-08-02 23:23:06 +09:30
coolGi a724938f71 Shader save commit 2023-08-02 23:04:34 +09:30
James Seibel fc1bbd2f91 Add missing Lod Shading localization items 2023-08-02 07:04:30 -05:00
James Seibel 622a1633fa Add config for Lod Shading so Old Lighting can be enabled for shaders 2023-08-01 20:11:21 -05:00
s809 1788c18d59 Everything I've done so far (not working/finished) 2023-08-01 22:31:16 +05:00
James Seibel 66d3fc8151 Add a note to DhSectionPos about why a section is 2x2 chunks 2023-08-01 07:51:42 -05:00
James Seibel 5f68122336 temporarily comment out LodQuadTree concurrency warning
The warning doesn't appear to be causing any ill effects for now, but it will still need to be fixed in the future
2023-08-01 07:44:48 -05:00
James Seibel 8daa52f36e Add a 1 sec timeout before applying config presets 2023-08-01 07:42:12 -05:00
James Seibel 61c8288b99 Remove thread preset "paid for whole cpu" and tweak CPU preset options 2023-08-01 07:27:25 -05:00
s809 2251cd4c25 Attempt to fix dimension switching 2023-08-01 17:04:40 +05:00
s809 781b588980 Implement server-side rate limiting 2023-08-01 12:55:36 +05:00
James Seibel d9ef3670fa Slightly increase the default world gen thread count and activities 2023-07-31 21:44:16 -05:00
James Seibel 8f6ee82fc7 temporary fix for LodRenderSections not appearing 2023-07-31 20:51:40 -05:00
James Seibel 3179ba0db8 refactor and comment 2023-07-31 20:43:35 -05:00
s809 74ac4fe64f Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-07-31 17:43:16 +05:00
s809 6d1f9803ce Avoid losing requests due to concurrency 2023-07-31 17:42:14 +05:00
s809 95d721e1a3 World generation 2023-07-31 15:23:56 +05:00
James Seibel e58b1fffed Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-07-30 21:12:36 -05:00
James Seibel 84b50761bd Fix LOD Bias Effect -> Affect 2023-07-30 21:12:31 -05:00
coolGi b17f19efb3 Changed JSON format for hash map to use minimalInstance instead of fancyInstance 2023-07-30 14:43:07 +00:00
James Seibel 3f25472437 Remove HashMap from Config and add runtime Config type checking
HashMap isn't supported by NightConfig and can cause the game to crash in some situations
2023-07-29 17:33:11 -05:00
James Seibel 3415db58a6 Fix multiplayer networking configs and add missing localizations 2023-07-29 10:01:22 -05:00
James Seibel 9be69863ae Improve networked multiverse support
Also change "WorldChanged" -> "LevelChanged"
2023-07-29 09:04:02 -05:00
James Seibel 65ef693cb5 Fix null player in ClientTick when unloading a level 2023-07-28 07:24:13 -05:00
James Seibel d5fc8b760a band-aid solution to a temporary 2023-07-27 21:38:03 -05:00
James Seibel 895a0db542 Fix Forge client-side multiplayer 2023-07-27 21:35:03 -05:00
James Seibel 3062c29230 ClientOnlySaveStructure minor refactor for debugging 2023-07-25 22:10:29 -05:00
James Seibel fa8f7b2a37 Reduce NetworkClient reconnect attempts from 5 -> 3 2023-07-25 22:10:01 -05:00
s809 d2f2a3b8aa Attempt to use GeneratedFullDataFileHandler 2023-07-24 19:59:16 +05:00
s809 768ce5b8fd something 2023-07-24 19:16:05 +05:00
s809 3e9f741d62 Implement transferring of missing full data source types 2023-07-24 14:15:03 +05:00
s809 133f007bde Fix mistake 2023-07-24 11:01:10 +05:00
s809 a623a3bfab Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-07-24 10:41:17 +05:00
James Seibel af5bb351e8 Add a config to disable multiverse networking 2023-07-23 17:35:05 -05:00
s809 4157a39589 Somewhat working generation 2023-07-24 01:46:09 +05:00
s809 10e2873497 Downloads already visited chunks 2023-07-23 23:48:42 +05:00
s809 d7ef6c8a72 Got chunks to generate on server 2023-07-23 20:34:40 +05:00
s809 d29ba9d423 Requests now work properly
Merge request tracker into event source
2023-07-23 14:39:29 +05:00
s809 0c60395426 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-07-23 11:08:31 +05:00
James Seibel a00cfbb7de Fix lighting propagation when connected to a server 2023-07-22 21:02:50 -05:00
James Seibel 86683d85c8 Increase FullDataSource version numbers from 0 -> 1
This was done to prevent errors with the BlockStateWrapper (de)serialization change
2023-07-22 18:18:38 -05:00
James Seibel 30b6600b7d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-07-22 12:40:03 -05:00
James Seibel 860374fd1b Add a config for world gen timeout 2023-07-22 12:34:15 -05:00
James Seibel 4df1bd10a9 Rename DLodDirection -> EDhDirection and rename several methods 2023-07-22 12:20:35 -05:00
James Seibel f24bc112c3 Create a new lighting engine 2023-07-22 11:50:08 -05:00
James Seibel 57664ff1f1 LodDataBuilder reformat 2023-07-22 09:34:52 -05:00
coolGi c8e6a56467 Changed noiseDropoff to an int, and changed the order of noise and fog 2023-07-21 19:51:15 +09:30
coolGi 8401353e4d Another save commit for fog fix 2023-07-21 19:13:08 +09:30
coolGi 675682d631 Another save commit for fog fix 2023-07-20 21:06:07 +09:30
s809 4ac1c0d4b3 Sending some responses
Rejoin is horribly broken
2023-07-19 22:29:33 +05:00
Steveplays28 9a0c9e9b7d feat: Implement syncing of DhSectionPos for chunk requests/responses 2023-07-19 16:48:43 +02:00
coolGi 7f51aef384 Merge remote-tracking branch 'origin/main' 2023-07-19 22:19:38 +09:30
coolGi fdb470b5b3 Save commit for fog fix 2023-07-19 22:19:01 +09:30
s809 79408c081a Close network request tacker properly 2023-07-19 17:40:38 +05:00
s809 218411902e Incomplete something 2023-07-19 15:54:17 +05:00
s809 a42f8367a4 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-07-19 12:20:11 +05:00
s809 02acfaa3ed Finer control over message handling (untested) 2023-07-19 12:19:39 +05:00
James Seibel b71b9e13a6 Fix lang for debug menu and allowUnsafeValues 2023-07-17 21:43:59 -05:00
James Seibel 5db5bce308 rename runTimeRatioForDataConverterThreads -> ...TransformerThreads 2023-07-17 21:43:38 -05:00
TomTheFurry 6a87a87597 Merge remote-tracking branch 'origin/main' 2023-07-17 18:46:19 +08:00
TomTheFurry 388ea9050f Fixed the mem leak issue by nuking the whole save-when-exit 2023-07-17 18:44:42 +08:00
James Seibel 9d518a5fd6 fully remove band-aid fix for missing low detail LODs 2023-07-16 22:07:59 -05:00
James Seibel 6acb1a2e9f Fix missing low detail LODs if the file didn't exist 2023-07-16 21:56:05 -05:00
James Seibel f0d3ece345 Full Data source refactoring 2 2023-07-16 21:52:20 -05:00
James Seibel a00e1c22c3 Full Data source refactoring 2023-07-16 20:56:34 -05:00
James Seibel a7a54598b2 Add Thread runTime to the thread presets 2023-07-16 17:41:32 -05:00
James Seibel c3ed5f98a5 Add and use Rate Limited thread pools 2023-07-16 17:05:45 -05:00
James Seibel fe16c5a9ca Fix old thread pools not being shutdown when resized 2023-07-16 13:38:00 -05:00
coolGi dbcc15e185 Merge remote-tracking branch 'origin/main' 2023-07-17 02:14:43 +09:30
coolGi f6e68082b7 Added checking for the checksum of the update 2023-07-17 02:14:17 +09:30
coolGi 3190d60729 Slight fix to the reliability of the auto updater 2023-07-17 02:08:34 +09:30
TomTheFurry 3283a250ed Merge remote-tracking branch 'origin/main' 2023-07-17 00:06:35 +08:00
TomTheFurry 2444d7068f Tried and failed to fix a bug. But hey, better loading time...? 2023-07-17 00:05:51 +08:00
coolGi 24b32ad6c9 Slight changes to the api fabric.mod.json to make it look like a library in modmenu 2023-07-17 01:32:38 +09:30
coolGi 5a74249f8a Merge branch 'tmp' 2023-07-17 00:28:29 +09:30
coolGi 66f4595b7b Fixed values being able to go over number limit 2023-07-17 00:27:32 +09:30
coolGi ce3a06e410 fix to commit c5041de5 2023-07-16 23:57:27 +09:30
James Seibel 76b464d5d7 Revert LOD hole bandaid fix due to performance issues
reverts main change in 4a069b42d8
2023-07-16 09:25:44 -05:00
coolGi 8727cd09af Allowd option for values to go out of range 2023-07-16 23:40:35 +09:30
coolGi c5041de5d4 Added proper clamping so values don't get out of range 2023-07-16 23:07:14 +09:30
TomTheFurry 51bb3eec3d Fix f3 msg causing mem leaks & render file throwing (harmless) exceptions on shutdown 2023-07-16 17:23:31 +08:00
s809 9a2799e83b Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-07-16 12:47:44 +05:00
s809 73e6ce75b0 Replace "tell version to client" part with simple ack because YAGNI 2023-07-16 12:38:32 +05:00
James Seibel 060dca1574 Fix infinitely writing/creating FullDatafiles 2023-07-15 18:21:40 -05:00
James Seibel cb23b1ee55 Fix RenderSourceFileHandler thread pools not closing if files don't need saving 2023-07-15 12:31:34 -05:00
James Seibel fce04b419d Fix ChunkToLodBuilder creating multiple thread pools 2023-07-15 12:30:43 -05:00
James Seibel 7a5e1b5726 Fix RenderSourceFileHandler threadPools not closing
Closes #543 (slowdown when moving between dimensions)
2023-07-15 11:50:46 -05:00
James Seibel 2ead289ade Make ThreadUtil return ThreadPoolExecutor's instead of ExecutorService's
This was what was already being done by the Executors.newFixedThreadPool() method we were using; but this change means we don't have to cast the executors if we need additional functionality and we don't have to worry about Java changing Executors.newFixedThreadPool()'s implementation.
2023-07-15 11:34:55 -05:00
James Seibel f3414ed73d Abstract file and File handler refactor 2023-07-15 10:26:46 -05:00
James Seibel 693df3f88a Make render data saves async 2023-07-15 10:25:11 -05:00
James Seibel 187c15ddb4 Fix ChunkToLodBuilder never clearing impossible tasks 2023-07-15 08:51:23 -05:00
James Seibel 4a069b42d8 Bandaid fix to holes in previously generated LOD sections 2023-07-15 08:48:33 -05:00
James Seibel 80f9bcb148 Fix debug Renderer Mode localization 2023-07-14 07:03:06 -05:00
James Seibel 973e106882 Merge branch 'distant-horizons-core-main' 2023-07-11 18:50:47 -05:00
James Seibel ed9cccccea refactoring 2023-07-11 08:49:08 -05:00
James Seibel 5fb79325ce Fix option and changelog button missing backgrounds 2023-07-10 20:43:15 -05:00
James Seibel 96edfcb065 Add a shadowed library check 2023-07-08 11:54:57 -05:00
James Seibel 581ac02472 remove unused imports 2023-07-08 11:32:44 -05:00
s809 730216b761 Fix log string 2023-07-08 16:22:54 +05:00
s809 7d5b3c8917 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-07-08 12:26:12 +05:00
s809 83ab7e46b3 Base is pretty much finished 2023-07-08 12:25:20 +05:00
James Seibel 5a014f163d Add experimental Seamless Overdraw option 2023-07-06 22:16:59 -05:00
s809 62ff9606c1 Outline what interaction should somewhat look like
(not an actual interaction)
Fix client repeatedly registering handlers on reconnects
2023-07-06 21:57:02 +05:00
James Seibel f07973a1ce Refactor, remove unused class, add API docs 2023-07-04 15:41:08 -05:00
James Seibel 2fc74914b4 Merge branch 'distant-horizons-core-serverSupport' 2023-07-04 13:39:49 -05:00
James Seibel 2b0ee29a8c refactor and rename 2023-07-04 10:29:32 -05:00
James Seibel b50c2cf9a9 Add missing API Config javadocs 2023-07-03 06:50:12 -05:00
Cailin Smith 55f39996cb Rename class 2023-07-02 22:34:47 +02:00
Cailin Smith 44a66a3d93 Add ability for servers to communicate with the client to set the world.
This prevents the client from accidentally selected the wrong world
folder to load LODs from, since levels of the same dimension can't
naturally be distinguished from each other. With level similarity
detection, this can sometimes work, but in general is not reliable. This
mechanism instead allows servers to send a packet to the client on load,
enabling the override system, and then a second packet on world change,
which specifically sets the world key, based on knowledge that only the
server has, leading to a reliable way of detecting the correct world.
2023-07-02 21:44:54 +02:00
Cailin Smith 649cd5bbe8 Add ability for servers to communicate with the client to set the world.
This prevents the client from accidentally selected the wrong world
folder to load LODs from, since levels of the same dimension can't
naturally be distinguished from each other. With level similarity
detection, this can sometimes work, but in general is not reliable. This
mechanism instead allows servers to send a packet to the client on load,
enabling the override system, and then a second packet on world change,
which specifically sets the world key, based on knowledge that only the
server has, leading to a reliable way of detecting the correct world.
2023-07-02 21:41:14 +02:00
s809 748b484377 The real server side
(not tested)
2023-06-30 22:05:02 +05:00
James Seibel ea40006023 Add SSAO to the quick quality presets 2023-06-30 07:47:29 -05:00
James Seibel 52edbd7c18 Update javadocs for API enums
and move one core enum out of the API
2023-06-30 07:46:00 -05:00
James Seibel 10b9161188 update DhApiWorldGen javadoc 2023-06-30 07:30:40 -05:00
James Seibel 77b8b973dc Fix API fabric.mod.json crashing the game 2023-06-30 07:30:18 -05:00
James Seibel b9cfe535d1 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-06-29 20:56:45 -05:00
James Seibel 77bc3bd3c2 add package-info files for api and coreapi package documentation 2023-06-29 20:56:14 -05:00
James Seibel 81ac90feb4 Add a build.gradle for API building with source files 2023-06-29 20:52:30 -05:00
James Seibel 48ef896e06 set the api version in ModInfo to 1.0.0 and add patch version to the API 2023-06-29 20:46:33 -05:00
s809 e288302bfa Merge branch 'main' of https://gitlab.com/s809/distant-horizons-core 2023-06-29 21:21:09 +05:00
s809 2fc76e2842 Minimal ping-pong but less rigid impl
DhClientWorld#close is never fired smh
2023-06-29 20:58:43 +05:00
s809 e660c466f8 Remove unused param 2023-06-29 20:43:37 +05:00
s809 1f9aa2f70b Minimal working client-server
No cleanup logic yet
2023-06-29 20:41:08 +05:00
s809 8378b1f09a Add encoder 2023-06-29 20:38:50 +05:00
s809 8bae038612 Move everything to core 2023-06-29 20:38:38 +05:00
TomTheFurry 114d3210fb Prob fix the gl error? (might add mem leak tho.) & fix 1.18.2 build 2023-06-29 16:27:42 +08:00
James Seibel e2a3f23e91 Merge branch 'main' into 'main'
Fix small bugs + make level map concurrent to prevent exceptions

See merge request jeseibel/distant-horizons-core!9
2023-06-28 23:18:26 +00:00
Cailin Smith 98634e2a0b Fix small bugs + make level map concurrent to prevent exceptions 2023-06-28 18:16:33 -05:00
s809 2358797a82 Minimal working client-server
No cleanup logic yet
2023-06-28 22:46:49 +05:00
James Seibel d91cde2319 Remove unused GitLab CI file 2023-06-26 19:23:30 -05:00
s809 aee752a112 Add encoder 2023-06-26 21:56:44 +05:00
s809 cc35e50edc Move everything to core 2023-06-26 21:14:38 +05:00
TomTheFurry 007749c9ef Optimization on load time, fix gl bug, and improve transparency 2023-06-26 23:20:02 +08:00
James Seibel e3ae9126bf API CI include all files 2 2023-06-26 07:45:38 -05:00
James Seibel 88e2482068 API CI include all files 2023-06-26 07:42:51 -05:00
James Seibel 76dfff013f try exposing javadoc CI 2023-06-26 07:41:48 -05:00
James Seibel 88fbd76952 Add an API javadoc CI/CD script 2023-06-26 07:34:27 -05:00
James Seibel 7c9301745a Fix a couple API javadoc compiler errors 2023-06-26 07:26:50 -05:00
James Seibel 048b745be0 re-add horizontal micro-offset in vertex shader
It caused gaps on the edge of some LODs
2023-06-25 22:00:47 -05:00
James Seibel 35f239693d re-add quad.hasError red color
accidentally removed it
2023-06-25 19:01:10 -05:00
James Seibel 9789b5be12 Fix some black sky lighting, refactor ColumnBox and RenderDataPoint 2023-06-25 18:44:54 -05:00
James Seibel 89f0d719c8 refactor ColumnBox.makeAdjQuads -> makeAdjVerticalQuad 2023-06-25 18:44:46 -05:00
Cailin Smith 368541b09c Fix small bugs + make level map concurrent to prevent exceptions 2023-06-25 22:22:23 +02:00
coolGi d04b4c0d55 Moved SSAO to the new AbstractShader thing 2023-06-24 23:17:58 +09:30
James Seibel 1dad6fd83f Overhaul Dh API event definition system
Whether an event is a one time event or a cancelable event is now defined via their interface.
Also replace DhApiLevelSaveEvent with DhApiChunkModifiedEvent
2023-06-23 23:07:41 -05:00
TomTheFurry be38d82b26 Greatly improve Gen queue stability & improve loading times and performance 2023-06-24 00:24:11 +08:00
James Seibel b0f9122599 DhApiTerrainDataRepo reformat 2023-06-22 19:49:43 -05:00
James Seibel feb03efafa Add AbstractDhApiChunkWorldGenerator 2023-06-22 07:56:43 -05:00
James Seibel 6066b98a9b Remove micro vertical vertex offset
remove to attempt fixing a SSAO bug where some blocks have black borders.
Also the vertical offset shouldn't be necessary since all vertical LODs should be the same size.
2023-06-21 07:30:31 -05:00
James Seibel cf60322be6 Add a comment from leetom explaining granularity 2023-06-21 07:14:36 -05:00
James Seibel 5dcb73b30a Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-06-21 07:03:41 -05:00
James Seibel a3c991d769 Remove unimplemented IDhApiWorldGen.getThreadingMode() 2023-06-21 07:03:28 -05:00
coolGi 31a563ee90 Copied noise to its own shader, and maybe fixed fog fragment 2023-06-21 19:40:24 +09:30
coolGi 5bc9ce7c8a Moved SSAORenderer to shaders folder 2023-06-21 19:27:06 +09:30
James Seibel 56e4454e41 Fix Api runtime error and add comments on how to fix in future 2023-06-20 20:55:06 -05:00
TomTheFurry d5c1b7669d Fixed up last of the bugs 2023-06-20 19:04:23 +08:00
TomTheFurry 2f249c39d4 fixed and optimize a lot of stuff. 2023-06-20 15:47:52 +08:00
James Seibel 173e216fa3 Add (untested) DhApiTerrainDataRepo.overwriteChunkDataAsync() 2023-06-19 22:04:10 -05:00
James Seibel e760c6a4e3 Add an API event for modified render and full data files 2023-06-19 21:41:42 -05:00
James Seibel 419323bedb Fix config default thread counts being 0 2023-06-19 20:40:54 -05:00
coolGi 71f8bccb7d Forgot to turn down default noise intensity 2023-06-20 00:03:53 +09:30
coolGi 40225cb13f Started work on putting fog in its own shader 2023-06-20 00:01:54 +09:30
coolGi 1568f73c40 Edited some stuff so noise is less on transparent, bright, or dark objects 2023-06-20 00:01:37 +09:30
TomTheFurry 6127ca192d Fix the issues. (Tho now render buffer would need constant refresh. Todo: Add buffer dirty flag.) 2023-06-19 14:39:37 +08:00
TomTheFurry 64b7e2ef33 Continue on impl the gen queue re-queueing. (Might have broke buffer updates tho...) 2023-06-19 14:25:38 +08:00
James Seibel 808380b461 improve FileHandler directory creation logic 2023-06-18 08:51:12 -05:00
James Seibel 773cd3aaef Allow API override for configs by default 2023-06-17 21:53:05 -05:00
James Seibel 55019c51ed Fix Config setApi not firing listeners 2023-06-17 21:52:52 -05:00
James Seibel f5784c07b1 Fix some config setup not running if the UI isn't opened 2023-06-17 21:52:38 -05:00
James Seibel ac73b52b23 remove fixme in DhApiTerrainRepo 2023-06-17 21:01:14 -05:00
James Seibel 122e24ad6d Add validation to FullDataArray and SingleColumnData 2023-06-17 21:00:35 -05:00
James Seibel b7ca6dbd87 Fix DhLodPos.getDhSectionRelativePositionForDetailLevel()
It had an off by 1 error
2023-06-17 20:57:41 -05:00
James Seibel 594f42a889 rename namespace lod -> distanthorizons 2023-06-17 17:45:21 -05:00
James Seibel 5c2f89a0a5 uncomment debug code in DhApiTerrainDataRepo
Might as well keep the debug code up to date in case it is needed
2023-06-17 16:51:42 -05:00
James Seibel a5db19cfc9 Add a logger and fixme note to DhApiTerrainDataRepo 2023-06-17 16:44:51 -05:00
James Seibel fa8a62b8a9 rename IDhApiUnsafeWrapper method 2023-06-17 16:36:01 -05:00
James Seibel d0819fb6c1 rename DhApiMain -> DhApi
I missed a file
2023-06-17 16:12:06 -05:00
James Seibel d335e10057 rename DhApiMain -> DhApi 2023-06-17 12:01:37 -05:00
James Seibel f5a0789321 Fix DhApiWorldProxy.getSinglePlayerLevel() 2023-06-17 12:01:23 -05:00
TomTheFurry fb77c766a6 Refactor the DhLevel class structure.
Note: Known issue where sections need reload before gen is queued up. Will fix next
2023-06-18 00:23:51 +08:00
TomTheFurry 1c65d030b1 First baby step towards a pre-lod-loader. 2023-06-17 01:00:34 +08:00
TomTheFurry f98ab8a56b Merge remote-tracking branch 'origin/main' 2023-06-15 21:55:26 +08:00
TomTheFurry 175581ca76 Refactor and cleanup render buffer management 2023-06-15 21:55:18 +08:00
James Seibel ed61354ec0 Fix lines on screen from SSAO (thanks notalpha) 2023-06-15 07:42:29 -05:00
TomTheFurry 0631f7adf7 Ops. 2023-06-15 16:46:23 +08:00
TomTheFurry 9f81194d21 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java
2023-06-15 16:41:57 +08:00
TomTheFurry 419af81523 Fix lighting issues in both client-only and single player world 2023-06-15 16:41:17 +08:00
James Seibel 6832d21a3b config renaming and add new configs to DhApi 2023-06-14 21:32:10 -05:00
James Seibel 6db6c69983 Add LZ4 to the readme 2023-06-14 20:17:43 -05:00
James Seibel d502fd4daa Add a thread config for ChunkToLodBuilder 2023-06-14 19:42:34 -05:00
James Seibel b2196448f7 Improve thread pool names 2023-06-14 19:42:16 -05:00
James Seibel 2ab16b1fe5 reduce the render cache clear timeout ms 1000 -> 400 2023-06-13 20:05:08 -05:00
James Seibel d99d34683c Merge DetailDistanceUtil into LodQuadTree 2023-06-13 20:04:44 -05:00
James Seibel 500d3cde57 refactor DetailDistanceUtil 2023-06-13 19:26:56 -05:00
James Seibel 98ee3f9e5f Fix errors when rapidly changing config options 2023-06-13 19:26:40 -05:00
James Seibel 24a335565e Implement the Quick enable render toggle
Also improve the logic for setting UI only config values
2023-06-12 22:18:52 -05:00
James Seibel 12d5d9e32b Add an annotation to skip config enums 2023-06-12 20:24:49 -05:00
coolGi a00671c2e5 Merge branch 'ssao' into 'main'
SSAO

See merge request jeseibel/distant-horizons-core!8
2023-06-12 10:47:50 +00:00
coolGi 8ae03af7c2 Fixed up the merge 2023-06-12 10:47:16 +00:00
notalpha 2ea75821a1 feat: SSAO 2023-06-12 11:37:18 +02:00
TomTheFurry bb491f5de1 Merge remote-tracking branch 'origin/main' 2023-06-12 13:25:47 +08:00
TomTheFurry 082f7597b2 FIx misc bugs and issues, and polish, simplify and remove no-longer needed logic 2023-06-12 13:25:37 +08:00
James Seibel 758ff8a527 rename config extendedNearClip -> overdrawPrevention
Also add a few new options for it
2023-06-11 22:16:40 -05:00
James Seibel f785e75622 Fix BlockToAvoid and TintWithAvoidedBlocks 2023-06-11 21:24:34 -05:00
James Seibel 5a33a4511b hide ResetConfirmation config menu
I couldn't easily implement a reset button since I can't control the config UI from Core.
2023-06-11 18:25:19 -05:00
James Seibel 531af72173 move config preset handlers into a package 2023-06-11 18:03:49 -05:00
James Seibel 190a55e98b Add threading config presets 2023-06-11 18:02:53 -05:00
James Seibel 79a2e52e30 Fix multiThreading config value naming 2023-06-11 17:49:41 -05:00
James Seibel a1ca634891 add AbstractPresetConfigEventHandler 2023-06-11 16:39:05 -05:00
James Seibel 9829173928 add missing lang for debugWireframeRendering 2023-06-11 16:01:52 -05:00
James Seibel 19593d4ea7 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-06-11 15:53:53 -05:00
James Seibel cd53cd8ffa rename a few configs Ultra -> Extreme 2023-06-11 15:46:06 -05:00
James Seibel 72b89814b6 Merge Horizontal Quality and Scale
The separation was confusing most of the time
2023-06-11 15:10:16 -05:00
James Seibel 0179f10166 Improve the fog config option organization 2023-06-11 14:46:04 -05:00
James Seibel b3a36e4f1f Fix some quality settings not applying to the LodQuadTree 2023-06-11 13:27:03 -05:00
James Seibel b1d6429225 swap ConfigEntryWithPresetOptions generic params 2023-06-11 13:11:24 -05:00
James Seibel c9aa7553af Add config quality preset handler 2023-06-11 13:09:52 -05:00
TomTheFurry 0e6f294ad7 no longer gen stuff that is explored by players again 2023-06-11 20:42:07 +08:00
TomTheFurry 25ba274a36 Fix bug in DhLodPos & impl debug visuals for world gen tasks (very early) 2023-06-11 19:51:41 +08:00
TomTheFurry d2bb99fb4b Merge remote-tracking branch 'origin/main' 2023-06-11 18:31:08 +08:00
TomTheFurry 9902fbb424 Fix debug render leaking memories, clean up lod render section, fix concurrency bugs with sectionToReload 2023-06-11 18:30:55 +08:00
James Seibel 10b0cf9d8c Prefix "E" to a couple config enums 2023-06-10 09:12:05 -05:00
James Seibel 8f499d7320 Add a reset all settings button 2023-06-10 09:09:23 -05:00
James Seibel c9e2864c88 Update the config lang file
Also rename a few items
2023-06-09 22:10:27 -05:00
TomTheFurry a003ecf378 Add debug wireframe renderer config for toggling the debug renderer 2023-06-09 18:41:11 +08:00
TomTheFurry 46432e772c Add a debug renderer system for easy visual debugging 2023-06-09 18:08:16 +08:00
coolGi 7ba43286d9 Updated lang generator to whitelist linked options 2023-06-08 23:06:43 +09:30
James Seibel f4ece1816d Overhaul the config and start adding summary options
also:
- add DH vs MC lighting engine option
- add a toggle for wireframe rendering
2023-06-07 22:59:26 -05:00
coolGi add6ee6f11 Update ConfigEntryAppearance to better document things 2023-06-07 14:07:51 +00:00
coolGi 3b4054c3c7 Added linking config options 2023-06-06 19:06:04 +09:30
coolGi a67cbf3435 Fixed up short and long not saving properly 2023-06-06 18:38:02 +09:30
coolGi 3930641fb6 Added short to the debug config screen 2023-06-06 18:19:24 +09:30
coolGi a8682ec164 Added debug config type screen for checking support 2023-06-06 18:02:25 +09:30
coolGi 1ee254f38b Fixed and checked support for all available config types 2023-06-06 18:01:49 +09:30
coolGi fd42a94430 Refracted Config Internal Enums to its own package 2023-06-06 18:01:07 +09:30
James Seibel 6124f5cb4f update ThreadingConfig Api 2023-06-05 20:16:33 -05:00
James Seibel 5cb70b5e76 rename LodThreadFactory -> DhThreadFactory 2023-06-05 20:02:46 -05:00
James Seibel 8f6109768c Move the world gen thread pool into the WorldGenQueue
We want Core to handle the world gen threads, not the individual world generators.
2023-06-05 19:50:21 -05:00
James Seibel d64446ecda add thread config listeners 2023-06-05 09:10:33 -05:00
James Seibel 05d4e4bf61 fix config listener onValueSet and add ConfigChangeListener 2023-06-04 22:03:59 -05:00
James Seibel 4b29e96686 Revert "remove IConfigEntry.setWithoutSaving()"
This reverts commit d992bd05f4.
2023-06-04 21:45:21 -05:00
James Seibel a49a81be14 add thread config listener for FileHandler 2023-06-04 21:12:47 -05:00
James Seibel d992bd05f4 remove IConfigEntry.setWithoutSaving()
It wasn't implemented and was causing confusion since the listeners weren't being fired
2023-06-04 21:07:25 -05:00
James Seibel ed935f6a0f Add data transformer and file handler thread configs 2023-06-03 22:29:45 -05:00
James Seibel f58ac4b647 Attempt to fix world generator holes (take 2) 2023-06-03 21:36:43 -05:00
James Seibel dbfc434fa7 reduce batch generator max queue tasks 5 -> 3 2023-06-03 21:35:57 -05:00
James Seibel d16f763df0 reduce QuadTree warning to debug 2023-06-03 21:04:12 -05:00
coolGi e00d1c95e3 Added a comment to add DimensionWrapper (maybe to replace DimensionTypeWrapper) 2023-06-03 21:39:47 +09:30
James Seibel dc5086a29f Rename IChunkWrapper heightmap methods 2023-05-29 18:13:01 -05:00
James Seibel b46e85b542 Potentially fix duplicate world generator issue? 2023-05-29 13:19:43 -05:00
James Seibel 1dc3bc2889 LodQuadTree reloadPos out of bounds chnage 2023-05-29 12:51:43 -05:00
James Seibel 09eea400eb Full data source and WorldGen refactoring 2023-05-29 10:43:06 -05:00
James Seibel ea24d619e2 revert DataFileHandler and data transformer threads to 4 2023-05-28 18:07:07 -05:00
James Seibel 013a293052 Fix a crash when stopping the world generator 2023-05-27 12:28:59 -05:00
James Seibel 0cd04df689 Fix LodQuadTree not updating for low detail world gen 2023-05-27 10:30:29 -05:00
James Seibel 3d9f21df25 WorldGenQueue minor refactor 2023-05-27 09:29:37 -05:00
James Seibel f2ae458e7c columnRenderBufferBuilder reformatting 2023-05-27 09:28:51 -05:00
James Seibel 749491b520 drop the Transformer and File handler threads to 1 for testing 2023-05-22 07:49:25 -05:00
James Seibel 42fc173ae2 Fix crash if transparency is disabled 2023-05-22 07:18:08 -05:00
James Seibel c539a3f3be Improve how quickly world generation responds to changed location 2023-05-21 18:41:34 -05:00
James Seibel 041c2ad5d7 Fix quadTree unit tests failing 2023-05-21 17:47:37 -05:00
James Seibel 920ca5ec40 Add XZ compression for full and render data files
Any old files people may have will probably throw errors and need to be regenerated.
2023-05-21 17:35:33 -05:00
James Seibel 5986069eb9 comment out Compression Unit tests 2023-05-21 17:33:48 -05:00
coolGi 9eb0f18a52 Added changelog button to the config menu 2023-05-21 20:39:23 +09:30
James Seibel b38827a8de Add compression unit tests with results 2023-05-20 11:44:28 -05:00
James Seibel 7a723bdf14 rename the "cache" folder to "renderCache"
Just to make the folder's purpose a bit more obvious
2023-05-19 22:45:25 -05:00
James Seibel 7444670189 Fix exceptions when leaving a loading world 2023-05-19 22:41:49 -05:00
James Seibel f22be2b42c add commented out debug code for ColumnRenderBufferBuilder 2023-05-19 07:31:32 -05:00
James Seibel 762e099bf1 add an incomplete quadTree test 2023-05-19 07:31:16 -05:00
James Seibel 562b0a8da2 Fix worldGenQueue outOfBoundExceptions when moving quickly
Not a perfect solution, long term a fix should be done in the tree, but that can be done another time
2023-05-19 07:20:18 -05:00
James Seibel 95db633e09 update unit tests for QuadTree refactoring 2023-05-18 22:07:02 -05:00
James Seibel 6a6ea845ea QuadTree refactoring 2023-05-18 22:06:00 -05:00
James Seibel f8df9cd4e2 remove duplicate log filtering for ServerAPI 2023-05-18 21:58:55 -05:00
James Seibel 428a0cd10b Fix level F3 loggers not being removed 2023-05-18 07:56:17 -05:00
James Seibel aee6c84dae Fix transparent wall edge cases
Specifically transparent walls being rendered in oceans, and transparent walls incorrectly allowing users to see the void
2023-05-16 21:13:55 -05:00
James Seibel 98e55bb1a3 Fix RenderSource Building ignoring adjacent sections
The sections were never being passed in, only the initial section
2023-05-16 20:03:23 -05:00
James Seibel a3f2cdc72f fix minor ColumnBox equality 2023-05-16 07:56:11 -05:00
James Seibel 824a8f835c Fix seeing void through height map oceans 2023-05-16 07:55:24 -05:00
James Seibel b4eda2fc46 Add ColumnBox comments 2023-05-16 07:30:54 -05:00
James Seibel 3a80639538 Only limit greedy meshing size when earth curvature is enabled 2023-05-16 07:11:45 -05:00
James Seibel 84727148a8 add HeightMap EVerticalQuality 2023-05-15 18:28:34 -05:00
James Seibel 537f7164c7 Fix transparent LODs over the void 2023-05-15 18:28:14 -05:00
James Seibel 3bed312499 minor EVerticalQuality refactor 2023-05-15 18:24:46 -05:00
James Seibel ea76c29c23 ColorUtil add setter methods 2023-05-15 07:11:27 -05:00
James Seibel a2f0ff89ac cubicLodTemplate refactor 2023-05-15 07:04:36 -05:00
James Seibel 123c259831 Log updateQuadTreeRenderSources errors 2023-05-15 07:02:25 -05:00
James Seibel a7e64e7188 Fix null pointer when transparency is disabled 2023-05-13 15:36:36 -05:00
James Seibel 5894af6eca Add render cache listener to draw resolution config 2023-05-13 12:09:54 -05:00
James Seibel d87cf40b22 Fix harmless error messages when changing render distance 2023-05-13 11:18:30 -05:00
James Seibel edca69b789 Log QuadTree concurrency issues instead of throwing assertions 2023-05-13 11:08:22 -05:00
James Seibel fe16c34b6f minor refactoring and commenting 2023-05-12 22:14:41 -05:00
James Seibel 47c0cef4df Implement LowDetailIncompleteFullDataSource sampleFrom() 2023-05-12 22:11:35 -05:00
James Seibel e543f1ce73 rename FullToColumnTransformer -> FullDataToRenderDataTransformer 2023-05-12 20:43:27 -05:00
James Seibel 8b580c51d6 Have RenderSourceFileHandler update all detail levels 2023-05-12 20:34:18 -05:00
James Seibel b1b71ad021 Fix LowDetailIncompleteFullDataSource reading from stream 2023-05-09 21:29:07 -05:00
James Seibel 62c78b133d minor FullDataMetaFile write future fix 2023-05-09 21:14:24 -05:00
James Seibel ed6790458d Refactor RenderMetaDataFile 2023-05-09 21:13:54 -05:00
James Seibel d592f87d62 minor reformatting for AtomicsUtil 2023-05-08 19:23:12 -05:00
James Seibel 4470cea9b2 make FullDataMetaFile's data strongly typed 2023-05-07 18:45:24 -05:00
James Seibel 2400d999a3 Refactor FullDataMetaFile 2023-05-07 17:54:54 -05:00
James Seibel a2afe4de5f add ChunkSizedFullDataAccessor toString() 2023-05-07 17:53:41 -05:00
James Seibel 64ebadea65 move buffer building logic out of ColumnRenderBuffer 2023-05-06 19:40:01 -05:00
James Seibel 7bcef43ef9 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-05-06 19:06:20 -05:00
James Seibel 1fee51f344 GenFullDataFileHandler fix checkIfSectionNeedsGen for null dataSources 2023-05-06 19:02:55 -05:00
James Seibel d4712732ec fix LowDetailIncompleteFullDataSource.update not changing isColumnNotEmpty 2023-05-06 18:58:03 -05:00
coolGi dfd8818fe7 Merge remote-tracking branch 'origin/main' 2023-05-07 08:55:29 +09:30
coolGi 1c366bb75b Removed getFogColor from the BCLibAccessor 2023-05-07 08:55:10 +09:30
James Seibel c6a6e6c14d fix SingleColumnFullDataAccessor.doesColumnExist null pointer 2023-05-06 17:16:21 -05:00
James Seibel de6c8af95f reduce ColumnRenderSource timeout 10 -> 2 sec 2023-05-06 08:35:27 -05:00
James Seibel 2cb044f4b5 Create new world gen tasks when moving into new areas 2023-05-04 07:31:35 -05:00
James Seibel 05ca9bca15 partially fix WorldGenQueue's index out of bounds issue 2023-05-03 07:48:21 -05:00
James Seibel 2a8e4cec23 fix worldGenQueue skipping certain generation requests 2023-05-03 07:47:59 -05:00
James Seibel 03a36a80ff Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-05-02 19:46:04 -05:00
James Seibel 84d998e847 Fix render section flickering 2023-05-02 19:46:01 -05:00
coolGi 299742a4da Started work on adding immersive portal support 2023-05-02 23:21:09 +09:30
James Seibel 250ace6f28 rename lod.core.api -> lod.coreapi.api to file compiler issues 2023-05-02 07:33:22 -05:00
James Seibel 09dfa5477d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-05-01 22:16:44 -05:00
James Seibel 3aa097ab82 Add IFullDataSource.getUngeneratedPosList() 2023-05-01 22:16:35 -05:00
James Seibel bd3b263f1b minor data source method rearranging 2023-05-01 20:41:30 -05:00
James Seibel 6404216f9d Fix compiling for IStreamableFullDataSource 2023-05-01 07:34:22 -05:00
coolGi 7a715ff313 Made IStreamableFullDataSource.FullDataSourceSummaryData.worldGenStep public to fix building 2023-05-01 14:17:39 +09:30
James Seibel cf18554646 put full data source interfaces into their own package 2023-04-30 21:52:33 -05:00
James Seibel 99f94d8be0 Full Data source constant renaming
and remove an unneeded TODO comment
2023-04-30 21:51:21 -05:00
James Seibel ec1393ee85 Separate out FullDataSource stream handling into its own interface
This was done to both make sure all data source formats are similar and to prevent accidental datatype and content mismatches when modifying said data sources.
2023-04-30 21:29:41 -05:00
James Seibel c8c927d8f8 add a FIXME to LodQuadTree for worldGen in worlds without DH data 2023-04-30 20:34:05 -05:00
912 changed files with 76698 additions and 34919 deletions
+699
View File
@@ -0,0 +1,699 @@
# DH Core
# Note: please keep this and the main .editorconfig in sync
[*]
charset = utf-8
indent_size = 4
indent_style = space
insert_final_newline = false
max_line_length = 1000
tab_width = 4
trim_trailing_whitespace = false
ij_continuation_indent_size = 4
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = true
ij_smart_tabs = false
ij_visual_guides = none
ij_wrap_on_typing = false
[*.java]
indent_style = tab
ij_smart_tabs = true
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_deconstruction_list_components = false
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = false
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = false
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_records = false
ij_java_align_multiline_resources = false
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_text_blocks = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_align_types_in_multi_catch = false
ij_java_annotation_parameter_wrap = off
ij_java_array_initializer_new_line_after_left_brace = false
ij_java_array_initializer_right_brace_on_new_line = false
ij_java_array_initializer_wrap = normal
ij_java_assert_statement_colon_on_next_line = false
ij_java_assert_statement_wrap = off
ij_java_assignment_wrap = off
ij_java_binary_operation_sign_on_next_line = false
ij_java_binary_operation_wrap = off
ij_java_blank_lines_after_anonymous_class_header = 0
ij_java_blank_lines_after_class_header = 0
ij_java_blank_lines_after_imports = 1
ij_java_blank_lines_after_package = 1
ij_java_blank_lines_around_class = 1
ij_java_blank_lines_around_field = 0
ij_java_blank_lines_around_field_in_interface = 0
ij_java_blank_lines_around_initializer = 0
ij_java_blank_lines_around_method = 0
ij_java_blank_lines_around_method_in_interface = 0
ij_java_blank_lines_before_class_end = 1
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 1
ij_java_block_brace_style = next_line
ij_java_block_comment_add_space = false
ij_java_block_comment_at_first_column = true
ij_java_builder_methods = none
ij_java_call_parameters_new_line_after_left_paren = false
ij_java_call_parameters_right_paren_on_new_line = false
ij_java_call_parameters_wrap = normal
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = true
ij_java_class_annotation_wrap = off
ij_java_class_brace_style = next_line
ij_java_class_count_to_use_import_on_demand = 5
ij_java_class_names_in_javadoc = 1
ij_java_deconstruction_list_wrap = normal
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_not_wrap_after_single_annotation_in_parameter = false
ij_java_do_while_brace_force = never
ij_java_doc_add_blank_line_after_description = true
ij_java_doc_add_blank_line_after_param_comments = false
ij_java_doc_add_blank_line_after_return = false
ij_java_doc_add_p_tag_on_empty_lines = false
ij_java_doc_align_exception_comments = false
ij_java_doc_align_param_comments = false
ij_java_doc_do_not_wrap_if_one_line = true
ij_java_doc_enable_formatting = true
ij_java_doc_enable_leading_asterisks = true
ij_java_doc_indent_on_continuation = false
ij_java_doc_keep_empty_lines = true
ij_java_doc_keep_empty_parameter_tag = true
ij_java_doc_keep_empty_return_tag = false
ij_java_doc_keep_empty_throws_tag = true
ij_java_doc_keep_invalid_tags = true
ij_java_doc_param_description_on_new_line = false
ij_java_doc_preserve_line_breaks = false
ij_java_doc_use_throws_not_exception_tag = true
ij_java_else_on_new_line = true
ij_java_enum_constants_wrap = off
ij_java_extends_keyword_wrap = normal
ij_java_extends_list_wrap = normal
ij_java_field_annotation_wrap = off
ij_java_finally_on_new_line = true
ij_java_for_brace_force = always
ij_java_for_statement_new_line_after_left_paren = false
ij_java_for_statement_right_paren_on_new_line = false
ij_java_for_statement_wrap = off
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_if_brace_force = never
ij_java_imports_layout = *,|,javax.**,java.**,|,$*
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
ij_java_keep_blank_lines_before_right_brace = 10
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
ij_java_keep_blank_lines_in_code = 10
ij_java_keep_blank_lines_in_declarations = 10
ij_java_keep_builder_methods_indents = false
ij_java_keep_control_statement_in_one_line = true
ij_java_keep_first_column_comment = true
ij_java_keep_indents_on_empty_lines = true
ij_java_keep_line_breaks = true
ij_java_keep_multiple_expressions_in_one_line = true
ij_java_keep_simple_blocks_in_one_line = false
ij_java_keep_simple_classes_in_one_line = true
ij_java_keep_simple_lambdas_in_one_line = true
ij_java_keep_simple_methods_in_one_line = true
ij_java_label_indent_absolute = false
ij_java_label_indent_size = 0
ij_java_lambda_brace_style = end_of_line
ij_java_layout_static_imports_separately = true
ij_java_line_comment_add_space = false
ij_java_line_comment_add_space_on_reformat = false
ij_java_line_comment_at_first_column = false
ij_java_method_annotation_wrap = off
ij_java_method_brace_style = next_line
ij_java_method_call_chain_wrap = normal
ij_java_method_parameters_new_line_after_left_paren = true
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = normal
ij_java_modifier_list_wrap = false
ij_java_multi_catch_types_wrap = normal
ij_java_names_count_to_use_import_on_demand = 3
ij_java_new_line_after_lparen_in_annotation = false
ij_java_new_line_after_lparen_in_deconstruction_pattern = true
ij_java_new_line_after_lparen_in_record_header = false
ij_java_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
ij_java_parameter_annotation_wrap = off
ij_java_parentheses_expression_new_line_after_left_paren = false
ij_java_parentheses_expression_right_paren_on_new_line = false
ij_java_place_assignment_sign_on_next_line = false
ij_java_prefer_longer_names = true
ij_java_prefer_parameters_wrap = false
ij_java_record_components_wrap = normal
ij_java_repeat_synchronized = true
ij_java_replace_instanceof_and_cast = false
ij_java_replace_null_check = false
ij_java_replace_sum_lambda_with_method_ref = false
ij_java_resource_list_new_line_after_left_paren = false
ij_java_resource_list_right_paren_on_new_line = false
ij_java_resource_list_wrap = on_every_item
ij_java_rparen_on_new_line_in_annotation = false
ij_java_rparen_on_new_line_in_deconstruction_pattern = true
ij_java_rparen_on_new_line_in_record_header = false
ij_java_space_after_closing_angle_bracket_in_type_argument = false
ij_java_space_after_colon = true
ij_java_space_after_comma = true
ij_java_space_after_comma_in_type_arguments = true
ij_java_space_after_for_semicolon = true
ij_java_space_after_quest = true
ij_java_space_after_type_cast = true
ij_java_space_before_annotation_array_initializer_left_brace = false
ij_java_space_before_annotation_parameter_list = false
ij_java_space_before_array_initializer_left_brace = false
ij_java_space_before_catch_keyword = true
ij_java_space_before_catch_left_brace = true
ij_java_space_before_catch_parentheses = true
ij_java_space_before_class_left_brace = true
ij_java_space_before_colon = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_deconstruction_list = false
ij_java_space_before_do_left_brace = true
ij_java_space_before_else_keyword = true
ij_java_space_before_else_left_brace = true
ij_java_space_before_finally_keyword = true
ij_java_space_before_finally_left_brace = true
ij_java_space_before_for_left_brace = true
ij_java_space_before_for_parentheses = true
ij_java_space_before_for_semicolon = false
ij_java_space_before_if_left_brace = true
ij_java_space_before_if_parentheses = true
ij_java_space_before_method_call_parentheses = false
ij_java_space_before_method_left_brace = true
ij_java_space_before_method_parentheses = false
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
ij_java_space_before_quest = true
ij_java_space_before_switch_left_brace = true
ij_java_space_before_switch_parentheses = true
ij_java_space_before_synchronized_left_brace = false
ij_java_space_before_synchronized_parentheses = true
ij_java_space_before_try_left_brace = true
ij_java_space_before_try_parentheses = true
ij_java_space_before_type_parameter_list = false
ij_java_space_before_while_keyword = true
ij_java_space_before_while_left_brace = true
ij_java_space_before_while_parentheses = true
ij_java_space_inside_one_line_enum_braces = false
ij_java_space_within_empty_array_initializer_braces = true
ij_java_space_within_empty_method_call_parentheses = false
ij_java_space_within_empty_method_parentheses = false
ij_java_spaces_around_additive_operators = true
ij_java_spaces_around_annotation_eq = true
ij_java_spaces_around_assignment_operators = true
ij_java_spaces_around_bitwise_operators = true
ij_java_spaces_around_equality_operators = true
ij_java_spaces_around_lambda_arrow = true
ij_java_spaces_around_logical_operators = true
ij_java_spaces_around_method_ref_dbl_colon = false
ij_java_spaces_around_multiplicative_operators = true
ij_java_spaces_around_relational_operators = true
ij_java_spaces_around_shift_operators = true
ij_java_spaces_around_type_bounds_in_type_parameters = true
ij_java_spaces_around_unary_operator = false
ij_java_spaces_within_angle_brackets = false
ij_java_spaces_within_annotation_parentheses = false
ij_java_spaces_within_array_initializer_braces = false
ij_java_spaces_within_braces = true
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = false
ij_java_spaces_within_deconstruction_list = false
ij_java_spaces_within_for_parentheses = false
ij_java_spaces_within_if_parentheses = false
ij_java_spaces_within_method_call_parentheses = false
ij_java_spaces_within_method_parentheses = false
ij_java_spaces_within_parentheses = false
ij_java_spaces_within_record_header = false
ij_java_spaces_within_switch_parentheses = false
ij_java_spaces_within_synchronized_parentheses = false
ij_java_spaces_within_try_parentheses = false
ij_java_spaces_within_while_parentheses = false
ij_java_special_else_if_treatment = true
ij_java_subclass_name_suffix = Impl
ij_java_ternary_operation_signs_on_next_line = false
ij_java_ternary_operation_wrap = on_every_item
ij_java_test_name_suffix = Test
ij_java_throws_keyword_wrap = normal
ij_java_throws_list_wrap = normal
ij_java_use_external_annotations = false
ij_java_use_fq_class_names = false
ij_java_use_relative_indents = false
ij_java_use_single_class_imports = true
ij_java_variable_annotation_wrap = off
ij_java_visibility = public
ij_java_while_brace_force = always
ij_java_while_on_new_line = true
ij_java_wrap_comments = false
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false
[*.nbtt]
indent_style = tab
max_line_length = 150
ij_continuation_indent_size = 4
ij_nbtt_keep_indents_on_empty_lines = false
ij_nbtt_space_after_colon = true
ij_nbtt_space_after_comma = true
ij_nbtt_space_before_colon = true
ij_nbtt_space_before_comma = false
ij_nbtt_spaces_within_brackets = false
ij_nbtt_spaces_within_parentheses = false
[*.properties]
ij_properties_align_group_field_declarations = false
ij_properties_keep_blank_lines = false
ij_properties_key_value_delimiter = equals
ij_properties_spaces_around_key_value_delimiter = false
[.editorconfig]
ij_editorconfig_align_group_field_declarations = false
ij_editorconfig_space_after_colon = false
ij_editorconfig_space_after_comma = true
ij_editorconfig_space_before_colon = false
ij_editorconfig_space_before_comma = false
ij_editorconfig_spaces_around_assignment_operators = true
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.jspx,*.pom,*.rng,*.tagx,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}]
ij_xml_align_attributes = true
ij_xml_align_text = false
ij_xml_attribute_wrap = normal
ij_xml_block_comment_add_space = false
ij_xml_block_comment_at_first_column = true
ij_xml_keep_blank_lines = 2
ij_xml_keep_indents_on_empty_lines = false
ij_xml_keep_line_breaks = true
ij_xml_keep_line_breaks_in_text = true
ij_xml_keep_whitespaces = false
ij_xml_keep_whitespaces_around_cdata = preserve
ij_xml_keep_whitespaces_inside_cdata = false
ij_xml_line_comment_at_first_column = true
ij_xml_space_after_tag_name = false
ij_xml_space_around_equals_in_attribute = false
ij_xml_space_inside_empty_tag = false
ij_xml_text_wrap = normal
ij_xml_use_custom_settings = false
[{*.bash,*.sh,*.zsh}]
indent_size = 4
tab_width = 4
ij_shell_binary_ops_start_line = false
ij_shell_keep_column_alignment_padding = false
ij_shell_minify_program = false
ij_shell_redirect_followed_by_space = false
ij_shell_switch_cases_indented = false
ij_shell_use_unix_line_separator = true
[{*.comp,*.frag,*.fsh,*.geom,*.glsl,*.gsh,*.tesc,*.tese,*.vert,*.vsh}]
ij_glsl_space_after_colon = true
ij_glsl_space_after_comma = true
ij_glsl_space_after_for_semicolon = true
ij_glsl_space_after_quest = true
ij_glsl_space_before_colon = false
ij_glsl_space_before_comma = false
ij_glsl_space_before_for_semicolon = false
ij_glsl_space_before_quest = true
ij_glsl_spaces_around_additive_operators = true
ij_glsl_spaces_around_assignment_operators = true
ij_glsl_spaces_around_bitwise_operators = true
ij_glsl_spaces_around_equality_operators = true
ij_glsl_spaces_around_logical_operators = true
ij_glsl_spaces_around_multiplicative_operators = true
ij_glsl_spaces_around_relational_operators = true
ij_glsl_spaces_around_shift_operators = true
ij_glsl_spaces_within_brackets = false
ij_glsl_spaces_within_parentheses = false
[{*.gant,*.groovy,*.gy}]
ij_groovy_align_group_field_declarations = false
ij_groovy_align_multiline_array_initializer_expression = false
ij_groovy_align_multiline_assignment = false
ij_groovy_align_multiline_binary_operation = false
ij_groovy_align_multiline_chained_methods = false
ij_groovy_align_multiline_extends_list = false
ij_groovy_align_multiline_for = true
ij_groovy_align_multiline_list_or_map = true
ij_groovy_align_multiline_method_parentheses = false
ij_groovy_align_multiline_parameters = true
ij_groovy_align_multiline_parameters_in_calls = false
ij_groovy_align_multiline_resources = true
ij_groovy_align_multiline_ternary_operation = false
ij_groovy_align_multiline_throws_list = false
ij_groovy_align_named_args_in_map = true
ij_groovy_align_throws_keyword = false
ij_groovy_array_initializer_new_line_after_left_brace = false
ij_groovy_array_initializer_right_brace_on_new_line = false
ij_groovy_array_initializer_wrap = off
ij_groovy_assert_statement_wrap = off
ij_groovy_assignment_wrap = off
ij_groovy_binary_operation_wrap = off
ij_groovy_blank_lines_after_class_header = 0
ij_groovy_blank_lines_after_imports = 1
ij_groovy_blank_lines_after_package = 1
ij_groovy_blank_lines_around_class = 1
ij_groovy_blank_lines_around_field = 0
ij_groovy_blank_lines_around_field_in_interface = 0
ij_groovy_blank_lines_around_method = 1
ij_groovy_blank_lines_around_method_in_interface = 1
ij_groovy_blank_lines_before_imports = 1
ij_groovy_blank_lines_before_method_body = 0
ij_groovy_blank_lines_before_package = 0
ij_groovy_block_brace_style = end_of_line
ij_groovy_block_comment_add_space = false
ij_groovy_block_comment_at_first_column = true
ij_groovy_call_parameters_new_line_after_left_paren = false
ij_groovy_call_parameters_right_paren_on_new_line = false
ij_groovy_call_parameters_wrap = off
ij_groovy_catch_on_new_line = false
ij_groovy_class_annotation_wrap = split_into_lines
ij_groovy_class_brace_style = end_of_line
ij_groovy_class_count_to_use_import_on_demand = 5
ij_groovy_do_while_brace_force = never
ij_groovy_else_on_new_line = false
ij_groovy_enable_groovydoc_formatting = true
ij_groovy_enum_constants_wrap = off
ij_groovy_extends_keyword_wrap = off
ij_groovy_extends_list_wrap = off
ij_groovy_field_annotation_wrap = split_into_lines
ij_groovy_finally_on_new_line = false
ij_groovy_for_brace_force = never
ij_groovy_for_statement_new_line_after_left_paren = false
ij_groovy_for_statement_right_paren_on_new_line = false
ij_groovy_for_statement_wrap = off
ij_groovy_ginq_general_clause_wrap_policy = 2
ij_groovy_ginq_having_wrap_policy = 1
ij_groovy_ginq_indent_having_clause = true
ij_groovy_ginq_indent_on_clause = true
ij_groovy_ginq_on_wrap_policy = 1
ij_groovy_ginq_space_after_keyword = true
ij_groovy_if_brace_force = never
ij_groovy_import_annotation_wrap = 2
ij_groovy_imports_layout = *,|,javax.**,java.**,|,$*
ij_groovy_indent_case_from_switch = true
ij_groovy_indent_label_blocks = true
ij_groovy_insert_inner_class_imports = false
ij_groovy_keep_blank_lines_before_right_brace = 2
ij_groovy_keep_blank_lines_in_code = 2
ij_groovy_keep_blank_lines_in_declarations = 2
ij_groovy_keep_control_statement_in_one_line = true
ij_groovy_keep_first_column_comment = true
ij_groovy_keep_indents_on_empty_lines = false
ij_groovy_keep_line_breaks = true
ij_groovy_keep_multiple_expressions_in_one_line = false
ij_groovy_keep_simple_blocks_in_one_line = false
ij_groovy_keep_simple_classes_in_one_line = true
ij_groovy_keep_simple_lambdas_in_one_line = true
ij_groovy_keep_simple_methods_in_one_line = true
ij_groovy_label_indent_absolute = false
ij_groovy_label_indent_size = 0
ij_groovy_lambda_brace_style = end_of_line
ij_groovy_layout_static_imports_separately = true
ij_groovy_line_comment_add_space = false
ij_groovy_line_comment_add_space_on_reformat = false
ij_groovy_line_comment_at_first_column = true
ij_groovy_method_annotation_wrap = split_into_lines
ij_groovy_method_brace_style = end_of_line
ij_groovy_method_call_chain_wrap = off
ij_groovy_method_parameters_new_line_after_left_paren = false
ij_groovy_method_parameters_right_paren_on_new_line = false
ij_groovy_method_parameters_wrap = off
ij_groovy_modifier_list_wrap = false
ij_groovy_names_count_to_use_import_on_demand = 3
ij_groovy_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
ij_groovy_parameter_annotation_wrap = off
ij_groovy_parentheses_expression_new_line_after_left_paren = false
ij_groovy_parentheses_expression_right_paren_on_new_line = false
ij_groovy_prefer_parameters_wrap = false
ij_groovy_resource_list_new_line_after_left_paren = false
ij_groovy_resource_list_right_paren_on_new_line = false
ij_groovy_resource_list_wrap = off
ij_groovy_space_after_assert_separator = true
ij_groovy_space_after_colon = true
ij_groovy_space_after_comma = true
ij_groovy_space_after_comma_in_type_arguments = true
ij_groovy_space_after_for_semicolon = true
ij_groovy_space_after_quest = true
ij_groovy_space_after_type_cast = true
ij_groovy_space_before_annotation_parameter_list = false
ij_groovy_space_before_array_initializer_left_brace = false
ij_groovy_space_before_assert_separator = false
ij_groovy_space_before_catch_keyword = true
ij_groovy_space_before_catch_left_brace = true
ij_groovy_space_before_catch_parentheses = true
ij_groovy_space_before_class_left_brace = true
ij_groovy_space_before_closure_left_brace = true
ij_groovy_space_before_colon = true
ij_groovy_space_before_comma = false
ij_groovy_space_before_do_left_brace = true
ij_groovy_space_before_else_keyword = true
ij_groovy_space_before_else_left_brace = true
ij_groovy_space_before_finally_keyword = true
ij_groovy_space_before_finally_left_brace = true
ij_groovy_space_before_for_left_brace = true
ij_groovy_space_before_for_parentheses = true
ij_groovy_space_before_for_semicolon = false
ij_groovy_space_before_if_left_brace = true
ij_groovy_space_before_if_parentheses = true
ij_groovy_space_before_method_call_parentheses = false
ij_groovy_space_before_method_left_brace = true
ij_groovy_space_before_method_parentheses = false
ij_groovy_space_before_quest = true
ij_groovy_space_before_record_parentheses = false
ij_groovy_space_before_switch_left_brace = true
ij_groovy_space_before_switch_parentheses = true
ij_groovy_space_before_synchronized_left_brace = true
ij_groovy_space_before_synchronized_parentheses = true
ij_groovy_space_before_try_left_brace = true
ij_groovy_space_before_try_parentheses = true
ij_groovy_space_before_while_keyword = true
ij_groovy_space_before_while_left_brace = true
ij_groovy_space_before_while_parentheses = true
ij_groovy_space_in_named_argument = true
ij_groovy_space_in_named_argument_before_colon = false
ij_groovy_space_within_empty_array_initializer_braces = false
ij_groovy_space_within_empty_method_call_parentheses = false
ij_groovy_spaces_around_additive_operators = true
ij_groovy_spaces_around_assignment_operators = true
ij_groovy_spaces_around_bitwise_operators = true
ij_groovy_spaces_around_equality_operators = true
ij_groovy_spaces_around_lambda_arrow = true
ij_groovy_spaces_around_logical_operators = true
ij_groovy_spaces_around_multiplicative_operators = true
ij_groovy_spaces_around_regex_operators = true
ij_groovy_spaces_around_relational_operators = true
ij_groovy_spaces_around_shift_operators = true
ij_groovy_spaces_within_annotation_parentheses = false
ij_groovy_spaces_within_array_initializer_braces = false
ij_groovy_spaces_within_braces = true
ij_groovy_spaces_within_brackets = false
ij_groovy_spaces_within_cast_parentheses = false
ij_groovy_spaces_within_catch_parentheses = false
ij_groovy_spaces_within_for_parentheses = false
ij_groovy_spaces_within_gstring_injection_braces = false
ij_groovy_spaces_within_if_parentheses = false
ij_groovy_spaces_within_list_or_map = false
ij_groovy_spaces_within_method_call_parentheses = false
ij_groovy_spaces_within_method_parentheses = false
ij_groovy_spaces_within_parentheses = false
ij_groovy_spaces_within_switch_parentheses = false
ij_groovy_spaces_within_synchronized_parentheses = false
ij_groovy_spaces_within_try_parentheses = false
ij_groovy_spaces_within_tuple_expression = false
ij_groovy_spaces_within_while_parentheses = false
ij_groovy_special_else_if_treatment = true
ij_groovy_ternary_operation_wrap = off
ij_groovy_throws_keyword_wrap = off
ij_groovy_throws_list_wrap = off
ij_groovy_use_flying_geese_braces = false
ij_groovy_use_fq_class_names = false
ij_groovy_use_fq_class_names_in_javadoc = true
ij_groovy_use_relative_indents = false
ij_groovy_use_single_class_imports = true
ij_groovy_variable_annotation_wrap = off
ij_groovy_while_brace_force = never
ij_groovy_while_on_new_line = false
ij_groovy_wrap_chain_calls_after_dot = false
ij_groovy_wrap_long_lines = false
[{*.har,*.json,*.png.mcmeta,mcmod.info,pack.mcmeta}]
indent_size = 4
ij_json_array_wrapping = split_into_lines
ij_json_keep_blank_lines_in_code = 0
ij_json_keep_indents_on_empty_lines = false
ij_json_keep_line_breaks = true
ij_json_keep_trailing_comma = false
ij_json_object_wrapping = split_into_lines
ij_json_property_alignment = do_not_align
ij_json_space_after_colon = true
ij_json_space_after_comma = true
ij_json_space_before_colon = false
ij_json_space_before_comma = false
ij_json_spaces_within_braces = false
ij_json_spaces_within_brackets = false
ij_json_wrap_long_lines = false
[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
ij_html_align_attributes = true
ij_html_align_text = false
ij_html_attribute_wrap = normal
ij_html_block_comment_add_space = false
ij_html_block_comment_at_first_column = true
ij_html_do_not_align_children_of_min_lines = 0
ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
ij_html_enforce_quotes = false
ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
ij_html_keep_blank_lines = 2
ij_html_keep_indents_on_empty_lines = false
ij_html_keep_line_breaks = true
ij_html_keep_line_breaks_in_text = true
ij_html_keep_whitespaces = false
ij_html_keep_whitespaces_inside = span,pre,textarea
ij_html_line_comment_at_first_column = true
ij_html_new_line_after_last_attribute = never
ij_html_new_line_before_first_attribute = never
ij_html_quote_style = double
ij_html_remove_new_line_before_tags = br
ij_html_space_after_tag_name = false
ij_html_space_around_equality_in_attribute = false
ij_html_space_inside_empty_tag = false
ij_html_text_wrap = normal
[{*.kt,*.kts}]
ij_kotlin_align_in_columns_case_branch = false
ij_kotlin_align_multiline_binary_operation = false
ij_kotlin_align_multiline_extends_list = false
ij_kotlin_align_multiline_method_parentheses = false
ij_kotlin_align_multiline_parameters = true
ij_kotlin_align_multiline_parameters_in_calls = false
ij_kotlin_allow_trailing_comma = false
ij_kotlin_allow_trailing_comma_on_call_site = false
ij_kotlin_assignment_wrap = off
ij_kotlin_blank_lines_after_class_header = 0
ij_kotlin_blank_lines_around_block_when_branches = 0
ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1
ij_kotlin_block_comment_add_space = false
ij_kotlin_block_comment_at_first_column = true
ij_kotlin_call_parameters_new_line_after_left_paren = false
ij_kotlin_call_parameters_right_paren_on_new_line = false
ij_kotlin_call_parameters_wrap = off
ij_kotlin_catch_on_new_line = false
ij_kotlin_class_annotation_wrap = split_into_lines
ij_kotlin_continuation_indent_for_chained_calls = true
ij_kotlin_continuation_indent_for_expression_bodies = true
ij_kotlin_continuation_indent_in_argument_lists = true
ij_kotlin_continuation_indent_in_elvis = true
ij_kotlin_continuation_indent_in_if_conditions = true
ij_kotlin_continuation_indent_in_parameter_lists = true
ij_kotlin_continuation_indent_in_supertype_lists = true
ij_kotlin_else_on_new_line = false
ij_kotlin_enum_constants_wrap = off
ij_kotlin_extends_list_wrap = off
ij_kotlin_field_annotation_wrap = split_into_lines
ij_kotlin_finally_on_new_line = false
ij_kotlin_if_rparen_on_new_line = false
ij_kotlin_import_nested_classes = false
ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
ij_kotlin_keep_blank_lines_before_right_brace = 2
ij_kotlin_keep_blank_lines_in_code = 2
ij_kotlin_keep_blank_lines_in_declarations = 2
ij_kotlin_keep_first_column_comment = true
ij_kotlin_keep_indents_on_empty_lines = false
ij_kotlin_keep_line_breaks = true
ij_kotlin_lbrace_on_next_line = false
ij_kotlin_line_break_after_multiline_when_entry = true
ij_kotlin_line_comment_add_space = false
ij_kotlin_line_comment_add_space_on_reformat = false
ij_kotlin_line_comment_at_first_column = true
ij_kotlin_method_annotation_wrap = split_into_lines
ij_kotlin_method_call_chain_wrap = off
ij_kotlin_method_parameters_new_line_after_left_paren = false
ij_kotlin_method_parameters_right_paren_on_new_line = false
ij_kotlin_method_parameters_wrap = off
ij_kotlin_name_count_to_use_star_import = 5
ij_kotlin_name_count_to_use_star_import_for_members = 3
ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlinx.android.synthetic.**,io.ktor.**
ij_kotlin_parameter_annotation_wrap = off
ij_kotlin_space_after_comma = true
ij_kotlin_space_after_extend_colon = true
ij_kotlin_space_after_type_colon = true
ij_kotlin_space_before_catch_parentheses = true
ij_kotlin_space_before_comma = false
ij_kotlin_space_before_extend_colon = true
ij_kotlin_space_before_for_parentheses = true
ij_kotlin_space_before_if_parentheses = true
ij_kotlin_space_before_lambda_arrow = true
ij_kotlin_space_before_type_colon = false
ij_kotlin_space_before_when_parentheses = true
ij_kotlin_space_before_while_parentheses = true
ij_kotlin_spaces_around_additive_operators = true
ij_kotlin_spaces_around_assignment_operators = true
ij_kotlin_spaces_around_equality_operators = true
ij_kotlin_spaces_around_function_type_arrow = true
ij_kotlin_spaces_around_logical_operators = true
ij_kotlin_spaces_around_multiplicative_operators = true
ij_kotlin_spaces_around_range = false
ij_kotlin_spaces_around_relational_operators = true
ij_kotlin_spaces_around_unary_operator = false
ij_kotlin_spaces_around_when_arrow = true
ij_kotlin_variable_annotation_wrap = off
ij_kotlin_while_on_new_line = false
ij_kotlin_wrap_elvis_expressions = 1
ij_kotlin_wrap_expression_body_functions = 0
ij_kotlin_wrap_first_method_in_call_chain = false
[{*.markdown,*.md}]
ij_markdown_force_one_space_after_blockquote_symbol = true
ij_markdown_force_one_space_after_header_symbol = true
ij_markdown_force_one_space_after_list_bullet = true
ij_markdown_force_one_space_between_words = true
ij_markdown_format_tables = true
ij_markdown_insert_quote_arrows_on_wrap = true
ij_markdown_keep_indents_on_empty_lines = false
ij_markdown_keep_line_breaks_inside_text_blocks = true
ij_markdown_max_lines_around_block_elements = 1
ij_markdown_max_lines_around_header = 1
ij_markdown_max_lines_between_paragraphs = 1
ij_markdown_min_lines_around_block_elements = 1
ij_markdown_min_lines_around_header = 1
ij_markdown_min_lines_between_paragraphs = 1
ij_markdown_wrap_text_if_long = true
ij_markdown_wrap_text_inside_blockquotes = true
[{*.toml,Cargo.lock,Cargo.toml.orig,Gopkg.lock,Pipfile,poetry.lock}]
ij_toml_keep_indents_on_empty_lines = false
[{*.yaml,*.yml}]
indent_size = 4
ij_yaml_align_values_properties = do_not_align
ij_yaml_autoinsert_sequence_marker = true
ij_yaml_block_mapping_on_new_line = false
ij_yaml_indent_sequence_value = true
ij_yaml_keep_indents_on_empty_lines = false
ij_yaml_keep_line_breaks = true
ij_yaml_sequence_on_new_line = false
ij_yaml_space_before_colon = false
ij_yaml_spaces_within_braces = true
ij_yaml_spaces_within_brackets = true
+6
View File
@@ -24,3 +24,9 @@ run
# Files from Forge MDK
logs
forge*changelog.txt
# Sqlite databases
*.sqlite
*.sqlite-journal
*.sqlite-shm
*.sqlite-wal
+1
View File
@@ -0,0 +1 @@
Distant Horizons logos © 2024 by Pankakes are licensed under CC BY-SA 4.0
+9 -9
View File
@@ -1,10 +1,10 @@
# Distant Horizons
# <img src="https://gitlab.com/distant-horizons-team/distant-horizons-core/-/raw/main/_Misc%20Files/logo%20files/new/SVG/Distant-Horizons-Core.svg" height="128px">
This repo is for the Distant Horizons mod.
The purpose of this submodule is to isolate code that isn't tied to a specific version of minecraft. This prevents us from having duplicate code; reducing errors and potentially helping us port to different versions faster and easier.
The purpose of this submodule is to isolate code that isn't tied to a specific version of minecraft. This prevents us from having duplicate code; reducing errors and helping us port to different versions faster and easier.
Check out the mod's main GitLab page here:
https://gitlab.com/jeseibel/minecraft-lod-mod
https://gitlab.com/distant-horizons-team/distant-horizons
## source code installation
@@ -14,14 +14,14 @@ It should be automatically included when pulling the full mod.
## Open Source Acknowledgements
XZ for Java (data compression)\
https://tukaani.org/xz/java.html
LZ4 for Java (data compression)\
https://github.com/lz4/lz4-java
Json & Toml for Java (config handling)\
NightConfig for Json & Toml (config handling)\
https://github.com/TheElectronWill/night-config
SVG Salamander for SVG's\
SVG Salamander for SVG support (not being used atm)\
https://github.com/blackears/svgSalamander
FlatLaf for theming (for development testing, may remove later)\
https://www.formdev.com/flatlaf/
sqlite-jdbc\
https://github.com/xerial/sqlite-jdbc
@@ -1,390 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="21">
<profile kind="CodeFormatterProfile" name="Eclipse (James' Edit)" version="21">
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_record_components" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.text_block_indentation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_module_statements" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_annotations" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_constructor" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_string_concatenation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="99"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assertion_message" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="1200"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
</profile>
</profiles>
-11
View File
@@ -1,11 +0,0 @@
These Files are used when developing the mod.
Eclipse Auto Formatting
IntelliJ Auto Formatting
- These files are the auto-formatting settings that should be used when developing for the mod. We want to make sure the style of code is consistant regardless of who is writting the code.
renderDocMcDistantHorizonsSettings
- This file contains the configuration to run a remote debug instance so you can edit the mod in your IDE while also viewing the OpenGL code in RenderDoc.
minecraft launch options
- This file contains the Java command line arguments used to launch the mod from a development environment (specifically Eclipse, James didn't test it with IntelliJ), and is included to more easily edit the options for RenderDoc
@@ -1,50 +0,0 @@
<code_scheme name="Eclipse (James' Edit)" version="173">
<option name="RIGHT_MARGIN" value="1200" />
<JavaCodeStyleSettings>
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
<option name="JD_ADD_BLANK_AFTER_DESCRIPTION" value="false" />
<option name="JD_P_AT_EMPTY_LINES" value="false" />
<option name="JD_KEEP_INVALID_TAGS" value="false" />
<option name="JD_DO_NOT_WRAP_ONE_LINE_COMMENTS" value="true" />
<option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
<option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
<option name="JD_KEEP_EMPTY_RETURN" value="false" />
</JavaCodeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="10" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="10" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="10" />
<option name="BLANK_LINES_BEFORE_PACKAGE" value="1" />
<option name="BRACE_STYLE" value="2" />
<option name="CLASS_BRACE_STYLE" value="2" />
<option name="METHOD_BRACE_STYLE" value="2" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="INDENT_CASE_FROM_SWITCH" value="false" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_RESOURCES" value="false" />
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACES" value="true" />
<option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="RESOURCE_LIST_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="1" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="METHOD_ANNOTATION_WRAP" value="0" />
<option name="CLASS_ANNOTATION_WRAP" value="0" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<indentOptions>
<option name="USE_TAB_CHARACTER" value="true" />
<option name="KEEP_INDENTS_ON_EMPTY_LINES" value="true" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 899.94 1023">
<defs>
<style>
.cls-1 {
fill: #7ec138;
}
.cls-2 {
fill: #fff;
}
.cls-3 {
fill: #12af68;
}
</style>
</defs>
<g id="Layer_15">
<g>
<g>
<path d="M899.94,260.54c0-17.71-9.16-33.58-24.5-42.44l-141.37-81.64c-8.37-4.84-17.91-7.39-27.58-7.39s-19.21,2.56-27.58,7.39l-9.95,5.75c.82-3.59,1.27-7.31,1.27-11.12,0-17.71-9.16-33.58-24.5-42.44L504.97,7.39c-8.37-4.83-17.91-7.39-27.58-7.39s-19.21,2.56-27.58,7.39l-140.78,81.3c-15.34,8.86-24.5,24.73-24.5,42.44,0,.34.03.67.03,1l-45.34-26.17c-8.37-4.83-17.91-7.39-27.58-7.39s-19.2,2.55-27.58,7.39L42.7,187.57c-15.34,8.86-24.5,24.72-24.5,42.44,0,17.06,8.51,32.38,22.83,41.4-23.23,3.84-41.03,24.01-41.03,48.32v162.23c0,19.64,10.57,37.95,27.58,47.77l2.71,1.56v221.34c0,19.79,10.55,38.07,27.69,47.97l367.81,212.5c22.86,13.21,51.04,13.21,73.9,0l367.8-212.45c17.14-9.9,27.69-28.19,27.69-47.97v-429.48c0-10.87-2.42-21.39-6.83-30.94,7.41-8.68,11.59-19.77,11.59-31.71Z"/>
<path class="cls-1" d="M42.85,503.28l141.58,81.73c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.33l-141.58-81.73c-12.31-7.11-27.7,1.78-27.7,15.99v162.23c0,8.8,4.69,16.93,12.31,21.33Z"/>
</g>
<g>
<path class="cls-1" d="M682.81,673.17v168.68c0,11.85,12.82,19.25,23.08,13.33l146.2-84.37c7.62-4.4,12.32-12.53,12.32-21.33v-168.7c0-11.85-12.82-19.25-23.08-13.33l-146.2,84.4c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path id="_x3C_Path_x3E_" class="cls-2" d="M476.59,552.87v42.73c0,14.22,15.39,23.1,27.7,15.99l36.93-21.32c7.62-4.4,12.31-12.53,12.31-21.32v-42.73c0-14.22-15.39-23.1-27.7-15.99l-36.93,21.32c-7.62,4.4-12.31,12.53-12.31,21.32Z"/>
<g id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_">
<path class="cls-3" d="M293.15,393.42l37.53,21.67c7.62,4.4,17,4.4,24.62,0l37.53-21.67c12.31-7.11,12.31-24.88,0-31.99l-37.53-21.67c-7.62-4.4-17-4.4-24.62,0l-37.53,21.67c-12.31,7.11-12.31,24.88,0,31.99Z"/>
</g>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-2" d="M403.03,481.64l46.77,27c7.62,4.4,17,4.4,24.62,0l46.77-27c8.21-4.74,8.21-16.59,0-21.32l-46.77-27c-7.62-4.4-17-4.4-24.62,0l-46.77,27c-8.21,4.74-8.21,16.59,0,21.32Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-3" d="M384.25,710.23l36.93,21.32c12.31,7.11,27.7-1.78,27.7-15.99v-42.75c0-8.8-4.69-16.93-12.32-21.33l-36.93-21.32c-12.31-7.11-27.7,1.78-27.7,15.99v42.75c0,8.8,4.69,16.93,12.32,21.33Z"/>
<path class="cls-1" d="M73.38,770.26l141.58,81.73c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.33l-141.58-81.73c-12.31-7.11-27.7,1.78-27.7,15.99v162.23c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path class="cls-1" d="M282.68,891.09l138.51,79.95c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.32l-138.51-79.97c-12.31-7.11-27.7,1.78-27.7,15.99v162.26c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-2" d="M384.25,590.25l36.94,21.34c12.31,7.11,27.7-1.77,27.7-15.99v-42.74c0-8.8-4.69-16.93-12.32-21.33l-36.93-21.32c-12.31-7.11-27.7,1.78-27.7,15.99v42.72c0,8.8,4.69,16.92,12.31,21.32Z"/>
<path class="cls-3" d="M273.52,642.44l36.93,21.32c12.31,7.11,27.7-1.78,27.7-15.99v-162.7c0-8.8-4.69-16.92-12.31-21.32l-36.94-21.34c-12.31-7.11-27.7,1.77-27.7,15.99v162.72c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M578.16,494.23v42.72c0,14.22,15.39,23.1,27.7,15.99l36.93-21.32c7.61-4.4,12.31-12.52,12.31-21.31l.02-42.74c0-14.22-15.39-23.11-27.7-16l-36.95,21.34c-7.62,4.4-12.31,12.53-12.31,21.32Z"/>
<path class="cls-1" d="M324.3,147.12l140.78,81.24c7.62,4.4,17,4.4,24.62,0l140.76-81.27c12.31-7.11,12.31-24.88,0-31.99l-140.75-81.27c-7.62-4.4-17.01-4.4-24.63,0l-140.78,81.3c-12.31,7.11-12.31,24.88,0,31.99Z"/>
<path class="cls-1" d="M553.45,276.16l141.35,81.64c7.62,4.4,17.01,4.4,24.63,0l140.75-81.27c12.31-7.11,12.31-24.88,0-31.99l-141.37-81.64c-7.62-4.4-17.01-4.4-24.63,0l-140.73,81.27c-12.31,7.11-12.31,24.88,0,31.98Z"/>
<path class="cls-1" d="M682.81,433.81v162.7c0,14.21,15.39,23.1,27.7,16l141.58-81.71c7.62-4.4,12.32-12.53,12.32-21.33v-162.72c0-14.22-15.39-23.1-27.7-15.99l-141.58,81.73c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path class="cls-1" d="M476.59,792.09v163.35c0,14.21,15.37,23.09,27.68,16.01l138.53-79.74c7.63-4.39,12.34-12.53,12.34-21.34v-163.35c0-14.21-15.37-23.09-27.68-16.01l-138.53,79.74c-7.63,4.39-12.34,12.53-12.34,21.34Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M476.59,672.8v42.75c0,14.22,15.39,23.1,27.7,15.99l138.51-79.95c7.62-4.4,12.31-12.53,12.31-21.33v-42.75c0-14.22-15.39-23.1-27.7-15.99l-138.51,79.95c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path class="cls-1" d="M57.96,246l140.75,81.27c7.62,4.4,17.01,4.4,24.63,0l141.34-81.63c12.31-7.11,12.31-24.88,0-31.99l-140.73-81.24c-7.62-4.4-17-4.4-24.62,0L57.97,214.01c-12.31,7.11-12.31,24.88,0,31.99Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M428.16,351.42l141.39,81.63c7.62,4.4,17,4.4,24.62,0l36.9-21.31c12.31-7.11,12.31-24.88,0-31.99l-141.39-81.63c-7.62-4.4-17-4.4-24.62,0l-36.9,21.31c-12.31,7.11-12.31,24.88,0,31.99Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2891.6 1023">
<defs>
<style>
.cls-1 {
fill: #7ec138;
}
.cls-2 {
fill: #fff;
}
.cls-3 {
fill: #12af68;
}
</style>
</defs>
<g id="Layer_15">
<g>
<path d="M2864.43,472.26v-8.85c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.85c0-5.06-4.1-9.16-9.16-9.16h-162.78c-5.06,0-9.16,4.1-9.16,9.16v8.85c0,5.06-4.1,9.16-9.16,9.16h-18.02c-5.06,0-9.16-4.1-9.16-9.16v-8.85c0-5.06-4.1-9.16-9.16-9.16h-81.22c-5.06,0-9.16,4.1-9.16,9.16v8.85c0,5.06-4.1,9.16-9.16,9.16h-18.02c-5.06,0-9.16-4.1-9.16-9.16v-8.85c0-5.06-4.1-9.16-9.16-9.16h-8.89c-5.06,0-9.16-4.1-9.16-9.16v-126.74c0-5.06,4.1-9.16,9.16-9.16h36.06c5.06,0,9.16-4.1,9.16-9.16v-57.07c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-271.51c-5.06,0-9.16,4.1-9.16,9.16v11.88c0,5.06-4.1,9.16-9.16,9.16h-18.02c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-81.22c-5.06,0-9.16,4.1-9.16,9.16v11.88c0,5.06-4.1,9.16-9.16,9.16h-18.02c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-570.48c-5.06,0-9.16,4.1-9.16,9.16v11.88c0,5.06-4.1,9.16-9.16,9.16h-18.01c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-81.22c-5.06,0-9.16,4.1-9.16,9.16v39.05c0,5.06-4.1,9.16-9.16,9.16h-18.01c-5.06,0-9.16-4.1-9.16-9.16v-8.85c0-5.06-4.1-9.16-9.16-9.16h-8.89c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-165.71c-5.06,0-9.16,4.1-9.16,9.16v220.12c0,5.06,4.1,9.16,9.16,9.16h1.12c5.06,0,9.16,4.1,9.16,9.16h0c0,5.06-4.1,9.16-9.16,9.16h-1.12c-5.06,0-9.16,4.1-9.16,9.16v207.97c0,5.06,4.1,9.16,9.16,9.16h1.12c5.06,0,9.16,4.1,9.16,9.16v30.53c0,5.06-4.1,9.16-9.16,9.16h-1.12c-5.06,0-9.16,4.1-9.16,9.16v191.37c0,5.06,4.1,9.16,9.16,9.16h7.23c5.06,0,9.16,4.1,9.16,9.16v9.17c0,5.06,4.1,9.16,9.16,9.16h88.59c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h18.33c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h186.87c5.06,0,9.16-4.1,9.16-9.16v-36.64c0-5.06,4.1-9.16,9.16-9.16h87.9c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h15.26c5.06,0,9.16,4.1,9.16,9.15v9.17c0,5.06,4.1,9.16,9.16,9.16h87.08c5.06,0,9.16-4.1,9.16-9.16v-226.53c0-5.06,4.1-9.16,9.16-9.16h480.86c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h21.37c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h161.83c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h21.37c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h79.39c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h21.37c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h79.39c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h21.37c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h143.43c5.06,0,9.16-4.1,9.16-9.16v-8.52c0-5.06,4.1-9.16,9.16-9.16h8.85c5.06,0,9.16-4.1,9.16-9.16v-174.06c0-5.06-4.1-9.16-9.16-9.16h-8.85c-5.06,0-9.16-4.1-9.16-9.16Z"/>
<path id="Horizons" class="cls-1" d="M2787.46,494.87v-8.86c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h90.4c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-117.57c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h36.04c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16h-90.4c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-36.04c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16ZM2588.05,449.67h-36.04c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-90.4c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-171.93c0-5.06-4.1-9.16-9.16-9.16ZM2334.58,476.85h8.86c5.06,0,9.16,4.1,9.16,9.16v117.57c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-117.57c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-117.57c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16ZM2225.86,612.74h63.22c5.06,0,9.16-4.1,9.16-9.16v-117.57c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v117.57c0,5.06,4.1,9.16,9.16,9.16ZM2098.83,449.67h-171.93c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h90.4c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h171.93c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-90.4c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16ZM1863.38,630.76v-171.93c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16ZM1745.5,531.2h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-171.93c0-5.06,4.1-9.16,9.16-9.16h144.75c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16ZM1700.3,522.04v-36.04c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16ZM1492.03,476.85h8.86c5.06,0,9.16,4.1,9.16,9.16v117.57c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-117.57c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-117.57c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16ZM1455.69,603.58v-117.57c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v117.57c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16ZM1256.28,449.67h-36.04c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-63.22c-5.06,0-9.16-4.1-9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-63.22c0-5.06,4.1-9.16,9.16-9.16h63.22c5.06,0,9.16,4.1,9.16,9.16v63.22c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-171.93c0-5.06-4.1-9.16-9.16-9.16Z"/>
<g id="Distant">
<path class="cls-2" d="M2461.31,214.22v8.86c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v144.75c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-144.75c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h144.75c5.06,0,9.16,4.1,9.16,9.16ZM2261.9,205.06h-36.04c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-90.4c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-171.93c0-5.06-4.1-9.16-9.16-9.16ZM2008.43,241.3h8.86c5.06,0,9.16,4.1,9.16,9.16v135.69c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-135.69c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-17.92c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v17.92c0,5.06,4.1,9.16,9.16,9.16ZM1972.09,304.61v-63.22c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16ZM1799.86,205.06h-144.75c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16,4.1,9.16,9.16v144.75c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-144.75c0-5.06,4.1-9.16,9.16-9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16ZM1573.57,259.41h36.04c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-117.57c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h90.4c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-63.22c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h117.57c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-90.4c-5.06,0-9.16-4.1-9.16-9.16v-36.04c0-5.06,4.1-9.16,9.16-9.16h63.22c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16ZM1374.15,386.15v-171.93c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16ZM1247.42,259.41h8.86c5.06,0,9.16,4.1,9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-117.57c-5.06,0-9.16-4.1-9.16-9.16v-171.93c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16ZM1193.06,340.95h14.9c5.06,0,9.16-4.1,9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16h-14.9c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v117.57c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16Z"/>
</g>
<path class="cls-3" d="M1564.41,875.37v-171.93c0-5.06,4.1-9.16,9.16-9.16h36.04c5.06,0,9.16,4.1,9.16,9.16v171.93c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16ZM1510.05,730.62v63.22c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-90.4c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-171.93c0-5.06,4.1-9.16,9.16-9.16h144.75c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16ZM1446.53,721.46h-63.22c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16ZM1265.44,739.68v135.69c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-135.69c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-17.92c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v17.92c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16ZM1201.92,721.46h-63.22c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16Z"/>
</g>
<g>
<g>
<path d="M899.94,260.54c0-17.71-9.16-33.58-24.5-42.44l-141.37-81.64c-8.37-4.84-17.91-7.39-27.58-7.39s-19.21,2.56-27.58,7.39l-9.95,5.75c.82-3.59,1.27-7.31,1.27-11.12,0-17.71-9.16-33.58-24.5-42.44L504.97,7.39c-8.37-4.83-17.91-7.39-27.58-7.39s-19.21,2.56-27.58,7.39l-140.78,81.3c-15.34,8.86-24.5,24.73-24.5,42.44,0,.34.03.67.03,1l-45.34-26.17c-8.37-4.83-17.91-7.39-27.58-7.39s-19.2,2.55-27.58,7.39L42.7,187.57c-15.34,8.86-24.5,24.72-24.5,42.44,0,17.06,8.51,32.38,22.83,41.4-23.23,3.84-41.03,24.01-41.03,48.32v162.23c0,19.64,10.57,37.95,27.58,47.77l2.71,1.56v221.34c0,19.79,10.55,38.07,27.69,47.97l367.81,212.5c22.86,13.21,51.04,13.21,73.9,0l367.8-212.45c17.14-9.9,27.69-28.19,27.69-47.97v-429.48c0-10.87-2.42-21.39-6.83-30.94,7.41-8.68,11.59-19.77,11.59-31.71Z"/>
<path class="cls-1" d="M42.85,503.28l141.58,81.73c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.33l-141.58-81.73c-12.31-7.11-27.7,1.78-27.7,15.99v162.23c0,8.8,4.69,16.93,12.31,21.33Z"/>
</g>
<g>
<path class="cls-1" d="M682.81,673.17v168.68c0,11.85,12.82,19.25,23.08,13.33l146.2-84.37c7.62-4.4,12.32-12.53,12.32-21.33v-168.7c0-11.85-12.82-19.25-23.08-13.33l-146.2,84.4c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path id="_x3C_Path_x3E_" class="cls-2" d="M476.59,552.87v42.73c0,14.22,15.39,23.1,27.7,15.99l36.93-21.32c7.62-4.4,12.31-12.53,12.31-21.32v-42.73c0-14.22-15.39-23.1-27.7-15.99l-36.93,21.32c-7.62,4.4-12.31,12.53-12.31,21.32Z"/>
<g id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_">
<path class="cls-3" d="M293.15,393.42l37.53,21.67c7.62,4.4,17,4.4,24.62,0l37.53-21.67c12.31-7.11,12.31-24.88,0-31.99l-37.53-21.67c-7.62-4.4-17-4.4-24.62,0l-37.53,21.67c-12.31,7.11-12.31,24.88,0,31.99Z"/>
</g>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-2" d="M403.03,481.64l46.77,27c7.62,4.4,17,4.4,24.62,0l46.77-27c8.21-4.74,8.21-16.59,0-21.32l-46.77-27c-7.62-4.4-17-4.4-24.62,0l-46.77,27c-8.21,4.74-8.21,16.59,0,21.32Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-3" d="M384.25,710.23l36.93,21.32c12.31,7.11,27.7-1.78,27.7-15.99v-42.75c0-8.8-4.69-16.93-12.32-21.33l-36.93-21.32c-12.31-7.11-27.7,1.78-27.7,15.99v42.75c0,8.8,4.69,16.93,12.32,21.33Z"/>
<path class="cls-1" d="M73.38,770.26l141.58,81.73c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.33l-141.58-81.73c-12.31-7.11-27.7,1.78-27.7,15.99v162.23c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path class="cls-1" d="M282.68,891.09l138.51,79.95c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.32l-138.51-79.97c-12.31-7.11-27.7,1.78-27.7,15.99v162.26c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-2" d="M384.25,590.25l36.94,21.34c12.31,7.11,27.7-1.77,27.7-15.99v-42.74c0-8.8-4.69-16.93-12.32-21.33l-36.93-21.32c-12.31-7.11-27.7,1.78-27.7,15.99v42.72c0,8.8,4.69,16.92,12.31,21.32Z"/>
<path class="cls-3" d="M273.52,642.44l36.93,21.32c12.31,7.11,27.7-1.78,27.7-15.99v-162.7c0-8.8-4.69-16.92-12.31-21.32l-36.94-21.34c-12.31-7.11-27.7,1.77-27.7,15.99v162.72c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M578.16,494.23v42.72c0,14.22,15.39,23.1,27.7,15.99l36.93-21.32c7.61-4.4,12.31-12.52,12.31-21.31l.02-42.74c0-14.22-15.39-23.11-27.7-16l-36.95,21.34c-7.62,4.4-12.31,12.53-12.31,21.32Z"/>
<path class="cls-1" d="M324.3,147.12l140.78,81.24c7.62,4.4,17,4.4,24.62,0l140.76-81.27c12.31-7.11,12.31-24.88,0-31.99l-140.75-81.27c-7.62-4.4-17.01-4.4-24.63,0l-140.78,81.3c-12.31,7.11-12.31,24.88,0,31.99Z"/>
<path class="cls-1" d="M553.45,276.16l141.35,81.64c7.62,4.4,17.01,4.4,24.63,0l140.75-81.27c12.31-7.11,12.31-24.88,0-31.99l-141.37-81.64c-7.62-4.4-17.01-4.4-24.63,0l-140.73,81.27c-12.31,7.11-12.31,24.88,0,31.98Z"/>
<path class="cls-1" d="M682.81,433.81v162.7c0,14.21,15.39,23.1,27.7,16l141.58-81.71c7.62-4.4,12.32-12.53,12.32-21.33v-162.72c0-14.22-15.39-23.1-27.7-15.99l-141.58,81.73c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path class="cls-1" d="M476.59,792.09v163.35c0,14.21,15.37,23.09,27.68,16.01l138.53-79.74c7.63-4.39,12.34-12.53,12.34-21.34v-163.35c0-14.21-15.37-23.09-27.68-16.01l-138.53,79.74c-7.63,4.39-12.34,12.53-12.34,21.34Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M476.59,672.8v42.75c0,14.22,15.39,23.1,27.7,15.99l138.51-79.95c7.62-4.4,12.31-12.53,12.31-21.33v-42.75c0-14.22-15.39-23.1-27.7-15.99l-138.51,79.95c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path class="cls-1" d="M57.96,246l140.75,81.27c7.62,4.4,17.01,4.4,24.63,0l141.34-81.63c12.31-7.11,12.31-24.88,0-31.99l-140.73-81.24c-7.62-4.4-17-4.4-24.62,0L57.97,214.01c-12.31,7.11-12.31,24.88,0,31.99Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M428.16,351.42l141.39,81.63c7.62,4.4,17,4.4,24.62,0l36.9-21.31c12.31-7.11,12.31-24.88,0-31.99l-141.39-81.63c-7.62-4.4-17-4.4-24.62,0l-36.9,21.31c-12.31,7.11-12.31,24.88,0,31.99Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 899.55 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #e13e1e;
}
.cls-3 {
fill: #fea138;
}
</style>
</defs>
<g id="Layer_13">
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<g>
<path class="cls-2" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M464.18,534.03v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.27,403.13l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M387.68,459.95l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-3" d="M368.15,697.7l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path class="cls-2" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-2" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M368.14,572.91l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M262.5,636.72l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M569.82,473.04v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M397.94,340.39l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-2" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-2" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-2" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-2" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M464.18,658.77v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-2" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-2" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2975.95 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #e13e1e;
}
.cls-3 {
fill: #fea138;
}
</style>
</defs>
<g id="Layer_13">
<g>
<path d="M2947.69,450.19v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-169.3c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-84.47c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.24c-5.26,0-9.53-4.27-9.53-9.53v-131.82c0-5.26,4.27-9.53,9.53-9.53h37.51c5.26,0,9.53-4.27,9.53-9.53v-59.36c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-282.39c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-84.47c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-593.33c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-84.48c-5.26,0-9.53,4.27-9.53,9.53v40.62c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.24c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-172.35c-5.26,0-9.53,4.27-9.53,9.53v228.94c0,5.26,4.27,9.53,9.53,9.53h1.16c5.26,0,9.53,4.27,9.53,9.53h0c0,5.26-4.27,9.53-9.53,9.53h-1.16c-5.26,0-9.53,4.27-9.53,9.53v216.3c0,5.26,4.27,9.53,9.53,9.53h1.16c5.26,0,9.53,4.27,9.53,9.53v22.23c0,5.26-4.26,9.53-9.53,9.53h-1.16c-5.26,0-9.53,4.27-9.53,9.53v179.99c0,5.26,4.27,9.53,9.53,9.53h7.51c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h13.87c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h169.41c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h194.64c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.26-9.53,9.53-9.53h22.23c5.26,0,9.53,4.26,9.53,9.52v9.54c0,5.26,4.27,9.53,9.53,9.53h79.48c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h308.1c5.26,0,9.53-4.27,9.53-9.53v-94.84c0-5.26-4.27-9.53-9.53-9.53h-9.53c-5.26,0-9.53-4.27-9.53-9.53v-73.04c0-5.26,4.27-9.53,9.53-9.53h9.53c5.26,0,9.53-4.27,9.53-9.53v-29.61c0-5.26,4.27-9.53,9.53-9.53h133.25c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h168.32c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h82.57c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h82.57c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h149.18c5.26,0,9.53-4.27,9.53-9.53v-8.86c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-181.04c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53Z"/>
<path id="Horizons" class="cls-2" d="M2867.64,473.7v-9.21c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h94.02c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-122.29c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h37.48c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h65.75c5.26,0,9.53-4.27,9.53-9.53v-37.48c0-5.26-4.27-9.53-9.53-9.53h-94.02c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-37.48c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53ZM2660.24,426.7h-37.48c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-94.02c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-178.82c0-5.26-4.27-9.53-9.53-9.53ZM2396.61,454.96h9.21c5.26,0,9.53,4.27,9.53,9.53v122.29c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-122.29c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-122.29c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53ZM2283.54,596.3h65.75c5.26,0,9.53-4.27,9.53-9.53v-122.29c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v122.29c0,5.26,4.27,9.53,9.53,9.53ZM2151.42,426.7h-178.82c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h94.02c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h178.82c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-94.02c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-37.48c0-5.26-4.27-9.53-9.53-9.53ZM1906.53,615.04v-178.82c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53ZM1783.93,511.5h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-65.75c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-178.82c0-5.26,4.27-9.53,9.53-9.53h150.55c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26-4.27,9.53-9.53,9.53ZM1736.92,501.97v-37.48c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h65.75c5.26,0,9.53-4.27,9.53-9.53ZM1520.31,454.96h9.21c5.26,0,9.53,4.27,9.53,9.53v122.29c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-122.29c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-122.29c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53ZM1482.51,586.78v-122.29c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v122.29c0,5.26,4.27,9.53,9.53,9.53h65.75c5.26,0,9.53-4.27,9.53-9.53ZM1275.11,426.7h-37.48c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-65.75c-5.26,0-9.53-4.27-9.53-9.53v-65.75c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-65.75c0-5.26,4.27-9.53,9.53-9.53h65.75c5.26,0,9.53,4.27,9.53,9.53v65.75c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-178.82c0-5.26-4.27-9.53-9.53-9.53Z"/>
<g id="Distant">
<path class="cls-1" d="M2528.43,181.81v9.21c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v150.55c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-150.55c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h150.55c5.26,0,9.53,4.27,9.53,9.53ZM2321.02,172.28h-37.48c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-94.02c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-178.82c0-5.26-4.27-9.53-9.53-9.53ZM2057.4,209.97h9.21c5.26,0,9.53,4.27,9.53,9.53v141.13c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-37.48c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-141.13c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-18.64c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v18.64c0,5.26,4.27,9.53,9.53,9.53ZM2019.6,275.83v-65.75c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26,4.27,9.53,9.53,9.53h65.75c5.26,0,9.53-4.27,9.53-9.53ZM1840.47,172.28h-150.55c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53,4.27,9.53,9.53v150.55c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-150.55c0-5.26,4.27-9.53,9.53-9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53ZM1605.11,228.82h37.48c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-122.29c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h94.02c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26-4.27,9.53-9.53,9.53h-65.75c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h122.29c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-37.48c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-94.02c-5.26,0-9.53-4.27-9.53-9.53v-37.48c0-5.26,4.27-9.53,9.53-9.53h65.75c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53ZM1397.71,360.63v-178.82c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53ZM1265.89,228.82h9.21c5.26,0,9.53,4.27,9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-122.29c-5.26,0-9.53-4.27-9.53-9.53v-178.82c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53ZM1209.36,313.62h15.5c5.26,0,9.53-4.27,9.53-9.53v-65.75c0-5.26-4.27-9.53-9.53-9.53h-15.5c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v122.29c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53Z"/>
</g>
<path class="cls-3" d="M1510.79,699.84v-9.21c0-5.26-4.27-9.53-9.53-9.53h-122.3c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v122.3c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h122.3c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-122.3c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53ZM1473,850.73h-65.77c-5.26,0-9.53-4.27-9.53-9.53v-122.3c0-5.26,4.27-9.53,9.53-9.53h65.77c5.26,0,9.53,4.27,9.53,9.53v122.3c0,5.26-4.27,9.53-9.53,9.53ZM1793.46,756.37v-37.47c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-150.56c-5.26,0-9.53,4.27-9.53,9.53v178.83c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-65.77c0-5.26,4.27-9.53,9.53-9.53h65.74c5.26,0,9.53,4.27,9.53,9.53v65.77c0,5.26,4.27,9.53,9.53,9.53h37.51c5.26,0,9.53-4.27,9.53-9.53v-65.77c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53ZM1727.37,765.9h-65.74c-5.26,0-9.53-4.27-9.53-9.53v-37.47c0-5.26,4.27-9.53,9.53-9.53h65.74c5.26,0,9.53,4.27,9.53,9.53v37.47c0,5.26-4.27,9.53-9.53,9.53ZM1284.64,728.11v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-122.3c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v122.3c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h122.3c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.47c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-65.77c-5.26,0-9.53-4.27-9.53-9.53v-122.3c0-5.26,4.27-9.53,9.53-9.53h65.77c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h37.47c5.26,0,9.53-4.27,9.53-9.53ZM2010.09,709.37h-94.03c-5.26,0-9.53,4.27-9.53,9.53v37.47c0,5.26,4.27,9.53,9.53,9.53h65.74c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-65.74c-5.26,0-9.53,4.27-9.53,9.53v37.51c0,5.26,4.27,9.53,9.53,9.53h94.03c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-150.57c-5.26,0-9.53-4.27-9.53-9.53v-178.82c0-5.26,4.27-9.53,9.53-9.53h47.01s103.56,0,103.56,0c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53Z"/>
</g>
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<g>
<path class="cls-2" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M464.18,534.03v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.27,403.13l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M387.68,459.95l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-3" d="M368.15,697.7l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path class="cls-2" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-2" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M368.14,572.91l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M262.5,636.72l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M569.82,473.04v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M397.94,340.39l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-2" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-2" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-2" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-2" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M464.18,658.77v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-2" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-2" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 899.55 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #e8c58e;
}
.cls-3 {
fill: #3083d6;
}
.cls-4 {
fill: #3eaf3e;
}
</style>
</defs>
<g id="Layer_16">
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<g>
<path class="cls-4" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M464.18,534.03v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.27,403.13l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M387.68,459.95l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-2" d="M368.15,697.7l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path class="cls-2" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-2" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M368.14,572.91l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M262.5,636.72l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M569.82,473.04v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M397.94,340.39l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-3" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-3" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-4" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-4" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-4" d="M464.18,658.77v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-3" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-3" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 899.55 1023">
<defs>
<style>
.cls-1 {
fill: #8c6cdc;
}
.cls-2 {
fill: #fff;
}
.cls-3 {
fill: #eae0b0;
}
</style>
</defs>
<g id="Layer_11">
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<path class="cls-1" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-1" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-2" d="M396.92,590.66l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M495.33,647.47l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.93,652.53l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-1" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-1" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-1" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-3" d="M249.7,532.86v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-2" d="M355.34,471.87v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M249.7,407.5v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-1" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path id="Left__x3C_Path_x3E_" class="cls-2" d="M477.06,510.97l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M477.06,386.18l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M582.63,571.92l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2975.95 1023">
<defs>
<style>
.cls-1 {
fill: #8c6cdc;
}
.cls-2 {
fill: #fff;
}
.cls-3 {
fill: #eae0b0;
}
</style>
</defs>
<g id="Layer_11">
<g>
<path d="M2966.43,459.72h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-169.3c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-84.47c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.24c-5.26,0-9.53-4.27-9.53-9.53v-131.82c0-5.26,4.27-9.53,9.53-9.53h37.51c5.26,0,9.53-4.27,9.53-9.53v-59.36c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-282.39c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-84.47c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-593.33c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-84.48c-5.26,0-9.53,4.27-9.53,9.53v40.62c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.24c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-172.35c-5.26,0-9.53,4.27-9.53,9.53v228.94c0,5.26,4.27,9.53,9.53,9.53h1.16c5.26,0,9.53,4.27,9.53,9.53h0c0,5.26-4.27,9.53-9.53,9.53h-1.16c-5.26,0-9.53,4.27-9.53,9.53v216.3c0,5.26,4.27,9.53,9.53,9.53h1.16c5.26,0,9.53,4.26,9.53,9.52h0c0,5.26-4.26,9.53-9.53,9.53h-1.16c-5.26,0-9.53,4.27-9.53,9.53v230.79c0,5.26,4.27,9.53,9.53,9.53h7.51c5.26,0,9.53,4.27,9.53,9.53v9.54c0,5.26,4.27,9.53,9.53,9.53h89.23c5.26,0,9.53-4.27,9.53-9.53v-38.11c0-5.26,4.27-9.53,9.53-9.53h75.91c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h19.06c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h202.68c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.26-9.53,9.53-9.53h21.06c5.26,0,9.53,4.26,9.53,9.52v9.54c0,5.26,4.27,9.53,9.53,9.53h181.45c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.52c0,5.26,4.27,9.53,9.53,9.53l418.75-.23c5.26,0,9.52-4.27,9.52-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.55c0,5.25,4.25,9.51,9.5,9.53l65.93.19c5.27.02,9.55-4.25,9.55-9.53v-235.58c0-5.26,4.27-9.53,9.53-9.53h180.38c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h82.57c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h149.18c5.26,0,9.53-4.27,9.53-9.53v-8.86c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-181.04c0-5.26-4.27-9.53-9.53-9.53Z"/>
<path id="Horizons" class="cls-1" d="M2867.64,473.86v-9.53c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h37.8c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37ZM2660.4,426.7h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37ZM2396.46,454.96h9.53c5.17,0,9.37,4.19,9.37,9.37v122.6c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-122.6c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM2283.38,596.3h66.07c5.17,0,9.37-4.19,9.37-9.37v-122.6c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37ZM2151.58,426.7h-179.14c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h179.14c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37ZM1906.53,615.2v-179.14c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37ZM1784.09,511.5h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-179.14c0-5.17,4.19-9.37,9.37-9.37h150.87c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37ZM1736.92,502.13v-37.8c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1520.15,454.96h9.53c5.17,0,9.37,4.19,9.37,9.37v122.6c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-122.6c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1482.51,586.94v-122.6c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1275.27,426.7h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-66.07c-5.17,0-9.37-4.19-9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-66.07c0-5.17,4.19-9.37,9.37-9.37h66.07c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37Z"/>
<g id="Distant">
<path class="cls-2" d="M2528.43,181.65v9.53c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v150.87c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-150.87c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h150.87c5.17,0,9.37,4.19,9.37,9.37ZM2321.18,172.28h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37ZM2057.24,209.97h9.53c5.17,0,9.37,4.19,9.37,9.37v141.45c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-141.45c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-18.95c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v18.95c0,5.17,4.19,9.37,9.37,9.37ZM2019.6,275.99v-66.07c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1840.63,172.28h-150.87c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37,4.19,9.37,9.37v150.87c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-150.87c0-5.17,4.19-9.37,9.37-9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37ZM1604.95,228.82h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-122.6c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-66.07c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h122.6c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17,4.19-9.37,9.37-9.37h66.07c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1397.71,360.79v-179.14c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37ZM1265.74,228.82h9.53c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-179.14c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1209.2,313.62h15.81c5.17,0,9.37-4.19,9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-15.81c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37Z"/>
</g>
<g>
<path id="N" class="cls-3" d="M2334.7,681.11h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37Z"/>
<g id="O_2">
<path class="cls-3" d="M1385,709.37v-18.89c0-5.17-4.19-9.37-9.36-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h150.88c5.17,0,9.37-4.19,9.37-9.36v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.35c-5.17,0-9.37-4.19-9.37-9.37v-131.99Z"/>
</g>
<rect id="I" class="cls-3" x="1962.45" y="751.78" width="197.88" height="56.54" rx="9.37" ry="9.37" transform="translate(2841.43 -1281.34) rotate(90)"/>
<g id="R">
<path class="cls-3" d="M1256.37,700v-9.53c0-5.17-4.19-9.37-9.37-9.37h-150.88c-5.17,0-9.37,4.19-9.37,9.37v179.15c0,5.17,4.19,9.37,9.37,9.37h37.79c5.17,0,9.37-4.19,9.37-9.37v-66.09c0-5.17,4.19-9.37,9.37-9.37h94.35c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.79c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37ZM1218.74,765.9h-66.09c-5.17,0-9.37-4.19-9.37-9.37v-37.79c0-5.17,4.19-9.37,9.37-9.37h66.09c5.17,0,9.37,4.19,9.37,9.37v37.79c0,5.17-4.19,9.37-9.37,9.37Z"/>
</g>
<g id="O_1">
<path class="cls-3" d="M1736.28,690.48v150.87c0,5.17-4.19,9.37-9.36,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-150.87c.01-5.17,4.21-9.37,9.38-9.37h37.79c5.17,0,9.37,4.2,9.37,9.37v150.87c0,5.17,4.19,9.37,9.36,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37v-150.87c0-5.17,4.19-9.37,9.37-9.37h37.79c5.17,0,9.37,4.19,9.37,9.37Z"/>
</g>
<g id="O_2-2" data-name="O_2">
<path class="cls-3" d="M1925.45,765.91h-18.91c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.54c5.17,0,9.37,4.19,9.37,9.37v37.81c0,5.17-4.19,9.37-9.37,9.37h-66.06c-5.17,0-9.37-4.19-9.37-9.37v-122.62c0-5.17,4.19-9.37,9.37-9.37h66.06c5.17,0,9.37,4.19,9.37,9.37v9.54c0,5.17,4.19,9.37,9.37,9.37h37.8c5.18,0,9.37-4.2,9.37-9.37v-9.54c0-5.17-4.2-9.36-9.37-9.36h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-122.59c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v122.62c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.32c5.17,0,9.37-4.19,9.37-9.37v-3.18c0-5.17,4.19-9.37,9.37-9.37h9.53c5.18,0,9.37,4.2,9.37,9.37v3.17c0,5.18,4.19,9.37,9.37,9.37h9.54c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17-4.19-9.37-9.37-9.37h-47.18Z"/>
</g>
</g>
</g>
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<path class="cls-1" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-1" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-2" d="M396.92,590.66l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M495.33,647.47l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.93,652.53l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-1" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-1" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-1" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-3" d="M249.7,532.86v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-2" d="M355.34,471.87v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M249.7,407.5v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-1" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path id="Left__x3C_Path_x3E_" class="cls-2" d="M477.06,510.97l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M477.06,386.18l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M582.63,571.92l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 903.26 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
</style>
</defs>
<g id="Layer_18">
<g>
<g>
<path id="Outline" d="M488.91,997.61l371.02-214.31c17.29-9.98,27.93-28.43,27.93-48.39v-433.24c0-26.62-14.2-51.22-37.25-64.53L479.58,22.89c-17.29-9.99-38.6-9.99-55.89,0L52.65,237.14c-23.05,13.31-37.25,37.91-37.25,64.53v433.19c0,19.96,10.65,38.41,27.93,48.39l371.03,214.36c23.06,13.32,51.48,13.33,74.55,0Z"/>
<path id="Outline-2" data-name="Outline" class="cls-1" d="M451.63,15.4c9.65,0,19.3,2.5,27.95,7.49l371.03,214.25c23.05,13.31,37.25,37.91,37.25,64.53v433.24c0,19.96-10.65,38.41-27.93,48.39l-371.02,214.31c-11.53,6.66-24.4,9.99-37.27,9.99s-25.75-3.33-37.28-9.99L43.33,783.25c-17.28-9.99-27.93-28.43-27.93-48.39v-433.19c0-26.62,14.2-51.22,37.25-64.53L423.68,22.89c8.65-4.99,18.3-7.49,27.95-7.49M451.63,0c-12.5,0-24.82,3.3-35.65,9.55L44.95,223.8C17.23,239.81,0,269.65,0,301.67v433.19c0,25.38,13.65,49.03,35.63,61.73l371.03,214.36c13.66,7.89,29.21,12.06,44.98,12.06s31.32-4.17,44.97-12.06l371.02-214.31c21.98-12.7,35.63-36.35,35.63-61.73v-433.24c0-32.02-17.23-61.86-44.95-77.87L487.28,9.55c-10.82-6.25-23.15-9.55-35.65-9.55h0Z"/>
</g>
<g>
<path class="cls-1" d="M673.63,654.71v170.15c0,11.95,12.93,19.42,23.28,13.45l147.48-85.11c7.69-4.44,12.42-12.64,12.42-21.51v-170.18c0-11.95-12.94-19.42-23.29-13.44l-147.48,85.14c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M465.6,533.35v43.11c0,14.34,15.52,23.3,27.94,16.13l37.26-21.51c7.69-4.44,12.42-12.64,12.42-21.51v-43.11c0-14.34-15.52-23.3-27.94-16.13l-37.26,21.51c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-1" d="M295.96,406.39l37.86,21.86c7.69,4.44,17.15,4.44,24.84,0l37.86-21.86c12.42-7.17,12.42-25.1,0-32.27l-37.86-21.86c-7.69-4.44-17.15-4.44-24.84,0l-37.86,21.86c-12.42,7.17-12.42,25.1,0,32.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M391.41,461.5l47.18,27.24c7.69,4.44,17.15,4.44,24.84,0l47.18-27.24c8.28-4.78,8.28-16.73,0-21.51l-47.18-27.24c-7.69-4.44-17.15-4.44-24.84,0l-47.18,27.24c-8.28,4.78-8.28,16.73,0,21.51Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-1" d="M372.46,692.09l37.26,21.5c12.42,7.17,27.94-1.8,27.94-16.13v-43.12c0-8.88-4.74-17.08-12.42-21.51l-37.26-21.5c-12.42-7.17-27.94,1.8-27.94,16.13v43.12c0,8.88,4.74,17.08,12.42,21.51Z"/>
<path class="cls-1" d="M58.87,752.64l142.82,82.45c12.42,7.17,27.94-1.79,27.94-16.13v-163.65c0-8.87-4.73-17.07-12.42-21.51l-142.82-82.45c-12.42-7.17-27.94,1.79-27.94,16.13v163.65c0,8.87,4.73,17.07,12.42,21.51Z"/>
<path class="cls-1" d="M270,874.54l139.72,80.65c12.42,7.17,27.94-1.79,27.94-16.13v-163.65c0-8.87-4.73-17.07-12.42-21.51l-139.72-80.67c-12.42-7.17-27.94,1.79-27.94,16.13v163.68c0,8.87,4.74,17.08,12.42,21.51Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M372.45,571.06l37.26,21.52c12.42,7.17,27.95-1.79,27.95-16.13v-43.11c0-8.88-4.74-17.08-12.42-21.51l-37.26-21.5c-12.42-7.17-27.94,1.8-27.94,16.13v43.09c0,8.87,4.73,17.07,12.41,21.51Z"/>
<path class="cls-1" d="M270,632.95l37.26,21.5c12.42,7.17,27.94-1.8,27.94-16.13v-164.12c0-8.87-4.73-17.07-12.42-21.51l-37.26-21.52c-12.42-7.17-27.95,1.79-27.95,16.13v164.14c0,8.88,4.74,17.08,12.42,21.51Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-1" d="M568.06,474.2v43.1c0,14.34,15.52,23.3,27.94,16.13l37.26-21.51c7.68-4.43,12.42-12.63,12.42-21.5l.02-43.11c0-14.34-15.52-23.31-27.94-16.14l-37.28,21.52c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-1" d="M401.36,345.54l142.62,82.34c7.69,4.44,17.15,4.44,24.84,0l37.23-21.49c12.42-7.17,12.42-25.1,0-32.27l-142.62-82.34c-7.69-4.44-17.15-4.44-24.84,0l-37.23,21.49c-12.42,7.17-12.42,25.1,0,32.27Z"/>
<path class="cls-1" d="M296.58,164.09l142.01,81.95c7.68,4.43,17.15,4.43,24.84,0l141.99-81.98c12.42-7.17,12.42-25.1,0-32.27l-141.99-81.98c-7.69-4.44-17.16-4.44-24.84,0l-142.01,82.01c-12.42,7.17-12.42,25.1,0,32.27Z"/>
<path class="cls-1" d="M506.18,285.03l142.58,82.35c7.69,4.44,17.16,4.44,24.84,0l141.98-81.98c12.42-7.17,12.42-25.09,0-32.27l-142.61-82.35c-7.69-4.44-17.16-4.44-24.84,0l-141.96,81.98c-12.42,7.17-12.42,25.09,0,32.26Z"/>
<path class="cls-1" d="M673.63,413.25v164.12c0,14.34,15.52,23.3,27.94,16.14l142.82-82.42c7.69-4.44,12.42-12.64,12.42-21.51v-164.15c0-14.34-15.52-23.3-27.94-16.13l-142.82,82.45c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path class="cls-1" d="M465.6,774.67v164.78c0,14.33,15.5,23.29,27.92,16.15l139.74-80.44c7.7-4.43,12.45-12.64,12.45-21.53v-164.78c0-14.33-15.5-23.29-27.92-16.15l-139.74,80.44c-7.7,4.43-12.45,12.64-12.45,21.53Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-1" d="M465.6,654.34v43.12c0,14.34,15.52,23.3,27.94,16.13l139.72-80.65c7.69-4.44,12.42-12.64,12.42-21.51v-43.12c0-14.34-15.52-23.3-27.94-16.13l-139.72,80.65c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path class="cls-1" d="M86.44,285.4l141.98,81.98c7.69,4.44,17.16,4.44,24.84,0l142.58-82.35c12.42-7.17,12.42-25.1,0-32.27l-141.96-81.95c-7.68-4.44-17.15-4.44-24.84,0l-142.61,82.32c-12.42,7.17-12.42,25.1,0,32.27Z"/>
<path class="cls-1" d="M58.87,511.05l142.82,82.45c12.42,7.17,27.94-1.79,27.94-16.13v-163.65c0-8.87-4.73-17.07-12.42-21.51l-142.82-82.45c-12.42-7.17-27.94,1.79-27.94,16.13v163.65c0,8.87,4.73,17.07,12.42,21.51Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2975.95 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #e8c58e;
}
.cls-3 {
fill: #3083d6;
}
.cls-4 {
fill: #3eaf3e;
}
</style>
</defs>
<g id="Layer_16">
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<g>
<path class="cls-4" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M464.18,534.03v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.27,403.13l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M387.68,459.95l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-2" d="M368.15,697.7l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path class="cls-2" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-2" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M368.14,572.91l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M262.5,636.72l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M569.82,473.04v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M397.94,340.39l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-3" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-3" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-4" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-4" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-4" d="M464.18,658.77v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-3" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-3" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
</g>
<g>
<path d="M1077.23,753.61h-7.51c-5.26,0-9.53-4.27-9.53-9.53v-225.93c0-5.26,4.27-9.53,9.53-9.53h2.86c5.26,0,9.53-4.27,9.53-9.53v-3.81c0-5.26-4.27-9.53-9.53-9.53h-2.86c-5.26,0-9.53-4.27-9.53-9.53v-225.77c0-5.26,4.27-9.53,9.53-9.53h172.35c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h9.24c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-40.62c0-5.26,4.27-9.53,9.53-9.53h84.48c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-12.35c0-5.26,4.27-9.53,9.53-9.53h593.33c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-12.35c0-5.26,4.27-9.53,9.53-9.53h84.47c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-12.35c0-5.26,4.27-9.53,9.53-9.53h282.39c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v59.36c0,5.26-4.27,9.53-9.53,9.53h-37.51c-5.26,0-9.53,4.27-9.53,9.53v131.82c0,5.26,4.27,9.53,9.53,9.53h9.24c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h84.47c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h169.3c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v181.04c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v8.86c0,5.26-4.27,9.53-9.53,9.53h-149.18c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-82.57c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-82.57c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-168.32c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-454.14c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-82.57c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-168.32c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-82.57c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.55c0,5.25-4.25,9.52-9.51,9.53l-88.93.2c-5.27.01-9.55-4.26-9.55-9.53v-13.74c0-5.26-4.27-9.53-9.53-9.53Z"/>
<path id="Horizons" class="cls-4" d="M2867.64,572.31v-9.53c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h37.8c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37ZM2660.4,525.15h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37ZM2396.46,553.41h9.53c5.17,0,9.37,4.19,9.37,9.37v122.6c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-122.6c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM2283.38,694.75h66.07c5.17,0,9.37-4.19,9.37-9.37v-122.6c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37ZM2151.58,525.15h-179.14c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h179.14c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37ZM1906.53,713.65v-179.14c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37ZM1784.09,609.95h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-179.14c0-5.17,4.19-9.37,9.37-9.37h150.87c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37ZM1736.92,600.58v-37.8c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1520.15,553.41h9.53c5.17,0,9.37,4.19,9.37,9.37v122.6c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-122.6c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1482.51,685.39v-122.6c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1275.27,525.15h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-66.07c-5.17,0-9.37-4.19-9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-66.07c0-5.17,4.19-9.37,9.37-9.37h66.07c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37Z"/>
<g id="Distant">
<path class="cls-1" d="M2528.43,280.1v9.53c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v150.87c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-150.87c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h150.87c5.17,0,9.37,4.19,9.37,9.37ZM2321.18,270.73h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37ZM2057.24,308.42h9.53c5.17,0,9.37,4.19,9.37,9.37v141.45c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-141.45c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-18.95c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v18.95c0,5.17,4.19,9.37,9.37,9.37ZM2019.6,374.44v-66.07c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1840.63,270.73h-150.87c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37,4.19,9.37,9.37v150.87c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-150.87c0-5.17,4.19-9.37,9.37-9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37ZM1604.95,327.27h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-122.6c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-66.07c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h122.6c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17,4.19-9.37,9.37-9.37h66.07c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1397.71,459.24v-179.14c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37ZM1265.74,327.27h9.53c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-179.14c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1209.2,412.07h15.81c5.17,0,9.37-4.19,9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-15.81c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37Z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before

Width:  |  Height:  |  Size: 191 KiB

After

Width:  |  Height:  |  Size: 191 KiB

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 172 KiB

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 194 KiB

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

@@ -1,6 +1,6 @@
The following is short tutorial to setup and register a gitlab runner in a docker container on windows.
Docker can be installed via a installer from their website and these instructions assume that has already been done.
Docker can be installed via an installer from their website and these instructions assume that has already been done.
longer tutorials can be found at the following links:
https://faun.pub/gitlab-runner-setup-run-in-docker-container-on-windows-44fee102d02e
@@ -32,6 +32,11 @@ gitlab project -> settings (on the left menu bar) -> CI/CD -> Runners
and you should see the newly registered runner (the description should show up under the runner's auto generated ID)
5. optional config
Open Docker Desktop -> Containers -> Files, go to the file "etc/gitlab-runner/config.toml"
concurrent can be changed to allow for concurrent builds.
Additional commands:
+89
View File
@@ -0,0 +1,89 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
id "java"
id "com.github.johnrengelman.shadow" version '8.1.1' apply false
}
shadowJar {
// required for basic shadowJar setup
configurations = [project.configurations.shadow]
}
task addSourcesToCompiledJar(type: ShadowJar) {
def sourceJarPath = "build/libs/DistantHorizons-api-${rootProject.versionStr}-sources.jar"
def secondJarFile = file(sourceJarPath)
// doFirst is so these only run when the task is actually executed
doFirst {
System.out.println("Adding source files from: \n" +
"[" + sourceJarPath + "] to compiled API jar: \n" +
"[" + shadowJar.archivePath + "]")
// Validate the input JAR file
if (!secondJarFile.exists()) {
throw new GradleException("Second JAR file not found: [${secondJarFile}]")
}
}
// Set the name of the combined JAR file
archiveFileName.set("DistantHorizonsApi-${rootProject.api_version}.jar")
// Set the destination directory for the combined JAR file
destinationDirectory = file('build/libs/merged/')
// Set the input JAR files to be combined
from sourceSets.main.allJava
from {
configurations.shadow.collect { it.isDirectory() ? it : zipTree(it) }
}
// set the jars to merge
from shadowJar.archivePath
from secondJarFile
// alternative method to Include the source files in the combined JAR
// and/or see which files are being included
eachFile { file ->
// can be set to true for debugging
def useAlternateEmbedMethod = false
def showFileEmbedding = false
if (showFileEmbedding || useAlternateEmbedMethod) {
System.out.println("attempting to add file: " + file)
def relativePath = file.relativePath.pathString
if (relativePath.endsWith('.class')) {
System.out.println("class file: " + relativePath)
def sourceFile = file.file.parentFile.resolveSibling('src/main/java/' + relativePath.replace('.class', '.java'))
if (sourceFile.exists()) {
System.out.println("adding source file: " + sourceFile)
if (useAlternateEmbedMethod) {
file.withInputStream { inputStream ->
copy {
from(inputStream)
into(relativePath.replace('.class', '.java'))
}
}
}
} else {
System.out.println('missing source file: ' + sourceFile)
}
}
}
}
}
javadoc {
options {
// Don't log warnings.
// There are a lot of warnings related to missing @param and @return javadocs
// that aren't necessary and would clutter up said javadocs.
// For more info see: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html
addStringOption('Xdoclint:all,-missing', '-quiet')
}
}
@@ -0,0 +1,213 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api;
import com.seibel.distanthorizons.api.interfaces.events.IDhApiEventInjector;
import com.seibel.distanthorizons.api.interfaces.factories.IDhApiWrapperFactory;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGeneratorOverrideRegister;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiCustomRenderObjectFactory;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiAfterDhInitEvent;
import com.seibel.distanthorizons.api.methods.override.DhApiWorldGeneratorOverrideRegister;
import com.seibel.distanthorizons.coreapi.ModInfo;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfig;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiWorldProxy;
import com.seibel.distanthorizons.coreapi.DependencyInjection.ApiEventInjector;
import com.seibel.distanthorizons.coreapi.DependencyInjection.OverrideInjector;
import com.seibel.distanthorizons.api.interfaces.data.IDhApiTerrainDataRepo;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IOverrideInjector;
/**
* This is the masthead of the API, almost everything you could want to do
* can be achieved from here. <br>
* For example: you can access singletons which handle the config or event binding. <br><br>
*
* <strong>Q:</strong> Why should I use this class instead of just getting the API singleton I need? <br>
* <strong>A:</strong> This way there is a lower chance of your code breaking if we change something on our end.
* For example, if we realized there is a much better way of handling dependency injection we would keep the
* interface the same so your code doesn't have to change. Whereas if you were directly referencing
* the concrete object we replaced, there would be issues.
*
* @author James Seibel
* @version 2023-12-16
* @since API 1.0.0
*/
public class DhApi
{
/**
* If you can see this Java Doc, this can be ignored. <br>
* This is just to let you know that Javadocs are available and that you should use the API jar
* instead of the full mod jar. <br><br>
*
* Note: Don't use this string in your code. It may change and is only for reference.
*/
public static final String READ_ME =
"If you don't see Javadocs something is wrong. \n" +
"If you are only using the full DH Mod in your build script, you won't have access to our javadocs and could potentially call into unsafe code. \n" +
"\n" +
"Please use the API jar in your build script as a compile time dependency " +
"and the full DH jar as a runtime dependency. \n" +
"\n" +
"Please refer to the example API project or the DH Developer Wiki for additional information " +
"and suggested setup. \n" + // DH Dev note: no links were included to prevent link rot.
"";
public static String readMe() { return READ_ME; }
/**
* This is just a humorous way to reference the {@link DhApi#READ_ME} constant string and hopefully peak a few people's attention
* vs the relatively boring "readMe".
*/
public static final String HEY_YOU_YOURE_FINALLY_AWAKE = READ_ME;
/**
* This is just a humorous way to reference the {@link DhApi#READ_ME} constant string and hopefully peak a few people's attention
* vs the relatively boring "readMe".
*/
public static String heyYou_YoureFinallyAwake() { return READ_ME; }
/**
* <strong>WARNING:</strong>
* All objects in this class will be null until after DH initializes for the first time. <br><br>
*
* Bind a custom {@link DhApiAfterDhInitEvent DhApiAfterDhInitEvent}
* to {@link DhApi#events ApiCoreInjectors.events} in order to be notified when this class can
* be safely used.
*
* @since API 1.0.0
*/
public static class Delayed
{
/**
* Used to interact with Distant Horizons' Configs.
* @since API 1.0.0
*/
public static IDhApiConfig configs = null;
/**
* Used to interact with Distant Horizons' terrain data.
* Designed to be used in conjunction with {@link DhApi.Delayed#worldProxy}.
* @since API 1.0.0
*/
public static IDhApiTerrainDataRepo terrainRepo = null;
/**
* Used to interact with Distant Horizons' currently loaded world.
* Designed to be used in conjunction with {@link DhApi.Delayed#terrainRepo}.
* @since API 1.0.0
*/
public static IDhApiWorldProxy worldProxy = null;
/**
* Used to interact with Distant Horizons' rendering system.
* @since API 1.0.0
*/
public static IDhApiRenderProxy renderProxy = null;
/**
* Used to create wrappers for Minecraft objects needed by other Distant Horizons API methods.
* @since API 2.0.0
*/
public static IDhApiWrapperFactory wrapperFactory = null;
/**
* Used to create custom renderable objects. <br>
* These objects can be added to the renderer in {@link IDhApiLevelWrapper}
* @since API 3.0.0
*/
public static IDhApiCustomRenderObjectFactory customRenderObjectFactory = null;
}
//==================//
// always available //
//==================//
// interfaces //
/**
* Used to bind/unbind Distant Horizons Api events.
* @since API 1.0.0
*/
public static final IDhApiEventInjector events = ApiEventInjector.INSTANCE;
/**
* Used to bind/unbind Distant Horizons Api events.
* @since API 1.0.0
*/
public static final IDhApiWorldGeneratorOverrideRegister worldGenOverrides = DhApiWorldGeneratorOverrideRegister.INSTANCE;
/**
* Used to bind overrides to change Distant Horizons' core behavior.
* @since API 1.0.0
*/
public static final IOverrideInjector<IDhApiOverrideable> overrides = OverrideInjector.INSTANCE;
// getters //
/**
* This version should only be updated when breaking changes are introduced to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiMajorVersion() { return ModInfo.API_MAJOR_VERSION; }
/**
* This version should be updated whenever new methods are added to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiMinorVersion() { return ModInfo.API_MINOR_VERSION; }
/**
* This version should be updated whenever non-breaking fixes are added to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiPatchVersion() { return ModInfo.API_PATCH_VERSION; }
/**
* Returns the mod's semantic version number in the format: Major.Minor.Patch
* with optional extensions "-a" for alpha, "-b" for beta, and -dev for unstable development builds. <br>
* Examples: "1.6.9-a", "1.7.0-a-dev", "2.1.0-b", "3.0.0", "3.1.4-dev"
* @since API 1.0.0
*/
public static String getModVersion() { return ModInfo.VERSION; }
/**
* Returns true if the mod is a development version, false if it is a release version.
* @since API 1.0.0
*/
public static boolean getIsDevVersion() { return ModInfo.IS_DEV_BUILD; }
/**
* Returns the network protocol version.
* @since API 1.0.0
*/
public static int getNetworkProtocolVersion() { return ModInfo.PROTOCOL_VERSION; }
// methods //
/**
* Returns true if the thread this method was called from is owned by Distant Horizons.
* @since API 2.0.0
*/
public static boolean isDhThread() { return Thread.currentThread().getName().startsWith(ModInfo.THREAD_NAME_PREFIX); }
}
@@ -1,36 +1,52 @@
package com.seibel.lod.api.enums;
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums;
/**
* BLOCK - Detail Level: 0, width 1 block, <br>
* CHUNK - Detail Level: 4, width 16 block, <br>
* REGION - Detail Level: 9, width 512 block <br> <br>
*
* Detail levels in Distant Horizons represent how large a section (of either LODs or MC chunks)
* Detail levels in Distant Horizons represent how large a LOD
* is, with the smallest being 0 (1 block wide). <br>
* The width of a detail level can be calculated by putting the detail level to the power of 2. <br>
* Example for the chunk detail level (4): 2^4 = 16 blocks wide <Br><br>
*
*
* This enum doesn't contain all valid detail levels, only those most likely to be needed.
* Detail levels 1,2,3, ... 255 are all technically valid detail levels
* (although anything beyond {@link EDhApiDetailLevel#REGION} may be difficult deal with).
*
* Detail levels 1,2,3, ... 255 are all technically valid detail levels
* (although anything beyond {@link EDhApiDetailLevel#REGION} may be difficult deal with).
*
* @author James Seibel
* @version 2022-12-5
* @since API 1.0.0
*/
public enum EDhApiDetailLevel
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/**
/**
* detail level: 0 <Br>
* width in Blocks: 1
* width in Blocks: 1
*/
BLOCK(0, 1),
/**
* detail level: 4 <Br>
* width in Blocks: 16
* width in Blocks: 16
*/
CHUNK(4, 16),
/**
@@ -0,0 +1,36 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Add this annotation to enum values that
* are valid config options, but shouldn't be selectable
* when toggling through the options. <br><br>
*
* Example: A preset's "custom" option shouldn't be selectable
*/
@Retention(RetentionPolicy.RUNTIME)
public @interface DisallowSelectingViaConfigGui
{
}
@@ -0,0 +1,38 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* NONE, <br>
* NON_COLLIDING, <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiBlocksToAvoid
{
NONE(false),
NON_COLLIDING(true);
public final boolean noCollision;
EDhApiBlocksToAvoid(boolean noCollision) { this.noCollision = noCollision; }
}
@@ -0,0 +1,113 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* UNCOMPRESSED <br>
* LZ4 <br>
* Z_STD <br>
* Z_STD_STREAM <br>
* LZMA2 <br><br>
*
* Note: speed and compression ratios are examples
* and should only be used for estimated comparisons.
*
* @version 2024-3-16
* @since API 2.0.0
*/
public enum EDhApiDataCompressionMode
{
/**
* Should only be used internally and for unit testing. <br><br>
*
* Read Speed: 6.09 MS / DTO <br>
* Write Speed: 6.01 MS / DTO <br>
* Compression ratio: 1.0 <br>
*/
@DisallowSelectingViaConfigGui
UNCOMPRESSED(0),
/**
* Extremely fast (often faster than uncompressed), but generally poor compression. <br><br>
*
* Read Speed: 3.25 MS / DTO <br>
* Write Speed: 5.99 MS / DTO <br>
* Compression ratio: 0.4513 <br>
*/
LZ4(1),
/**
* Great speed and good compression. <br><br>
*
* Read Speed: 2.1 MS / DTO <br>
* Write Speed: 4.9 MS / DTO <br>
* Compression ratio: 0.2606 <br>
*/
Z_STD_BLOCK(4),
/**
* Similar to {@link EDhApiDataCompressionMode#Z_STD_BLOCK}
* except slower. <br><br>
*
* This option is only provided for legacy support when processing old databases. <br><br>
*
* Read Speed: 9.31 MS / DTO <br>
* Write Speed: 15.13 MS / DTO <br>
* Compression ratio: 0.2606 <br>
*/
@Deprecated
@DisallowSelectingViaConfigGui
Z_STD_STREAM(2),
/**
* Extremely slow, but very good compression. <br>
* Often causes whole computer stuttering due to memory bandwidth saturation. <br><br>
*
* Read Speed: 13.29 MS / DTO <br>
* Write Speed: 70.95 MS / DTO <br>
* Compression ratio: 0.2068 <br>
*/
LZMA2(3);
/** More stable than using the ordinal of the enum */
public final byte value;
EDhApiDataCompressionMode(int value) { this.value = (byte) value; }
/** @throws IllegalArgumentException if the value doesn't map to a value */
public static EDhApiDataCompressionMode getFromValue(byte value) throws IllegalArgumentException
{
EDhApiDataCompressionMode[] enumList = EDhApiDataCompressionMode.values();
for (int i = 0; i < enumList.length; i++)
{
if (enumList[i].value == value)
{
return enumList[i];
}
}
throw new IllegalArgumentException("No compression mode with the value ["+value+"]");
}
}
@@ -0,0 +1,31 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiGLErrorHandlingMode
{
IGNORE,
LOG,
LOG_THROW;
}
@@ -0,0 +1,32 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiGlProfileMode
{
CORE,
COMPAT,
ANY;
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,51 +17,48 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.config;
/**
* AUTO, <br>
* BUFFER_STORAGE, <br>
* SUB_DATA, <br>
* BUFFER_MAPPING, <br>
* DATA <br>
*
* @author Leetom
* @author James Seibel
* @version 2022-7-2
* @version 2024-4-6
* @since API 3.0.0
*/
public enum EGpuUploadMethod
public enum EDhApiGpuUploadMethod
{
/** Picks the best option based on the GPU the user has. */
AUTO(false, false),
// commented out since it isn't currently in use
//BUFFER_STORAGE_MAPPING(true, true),
/**
* Default for NVIDIA if OpenGL 4.5 is supported. <br>
* Fast rendering, no stuttering.
*/
/** Fast rendering, no stuttering. */
BUFFER_STORAGE(false, true),
/**
* Backup option for NVIDIA. <br>
* Fast rendering but may stutter when uploading.
*/
/** Fast rendering but may stutter when uploading. */
SUB_DATA(false, false),
/**
* Default option for AMD/Intel. <br>
///** Don't upload, only should be used for debugging */
//@Deprecated
//NONE(false, false),
/**
* May end up storing buffers in System memory. <br>
* Fast rending if in GPU memory, slow if in system memory, <br>
* but won't stutter when uploading.
* but won't stutter when uploading.
*
* @deprecated not currently supported
*/
@Deprecated
BUFFER_MAPPING(true, false),
/**
* Backup option for AMD/Intel. <br>
* Fast rendering but may stutter when uploading.
*/
/** Fast rendering but may stutter when uploading. */
DATA(false, false);
@@ -69,7 +66,7 @@ public enum EGpuUploadMethod
public final boolean useEarlyMapping;
public final boolean useBufferStorage;
EGpuUploadMethod(boolean useEarlyMapping, boolean useBufferStorage)
EDhApiGpuUploadMethod(boolean useEarlyMapping, boolean useBufferStorage)
{
this.useEarlyMapping = useEarlyMapping;
this.useBufferStorage = useBufferStorage;
@@ -0,0 +1,36 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* AS_GRASS <br>
* FADE_TO_DIRT <br>
* AS_DIRT <br>
*
* @since API 2.0.0
* @version 2024-4-7
*/
public enum EDhApiGrassSideRendering
{
AS_GRASS,
FADE_TO_DIRT,
AS_DIRT;
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,42 +17,40 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.config;
/**
* LOWEST <br>
* LOW <br>
* MEDIUM <br>
* HIGH <br> <br>
* HIGH <br>
* EXTREME <br>
*
* this indicates the base of the quadratic function we use for the quality drop-off
*
* @author Leonardo Amato
* @version 9-29-2021
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EHorizontalQuality
public enum EDhApiHorizontalQuality
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
// Note: any quadraticBase less than 2.0f has issues with DetailDistanceUtil, and will always return the lowest detail level.
// So for now we are limiting the lowest value to 2.0
// LOWEST was originally 1.0f and LOW was 1.5f
LOWEST(2.0f, 4),
LOW(2.0f, 8),
MEDIUM(2.0f, 12),
HIGH(2.2f, 16),
EXTREME(2.4f, 32),
;
/** 1.0 AKA Linear */
LOWEST(1.0f),
/** exponent 1.5 */
LOW(1.5f),
/** exponent 2.0 */
MEDIUM(2.0f),
/** exponent 2.2 */
HIGH(2.2f);
public final double quadraticBase;
public final int distanceUnitInBlocks;
EHorizontalQuality(double distanceUnit)
EDhApiHorizontalQuality(double quadraticBase, int distanceUnitInBlocks)
{
this.quadraticBase = distanceUnit;
this.quadraticBase = quadraticBase;
this.distanceUnitInBlocks = distanceUnitInBlocks;
}
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,31 +17,32 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.config;
/**
* AUTO <br>
* Near_First <br>
* Far_First <br> <br>
* ENABLED <br>
* DISABLED <br>
*
* Determines which LODs should have priority when generating
* outside the normal view distance.
*
* @author Leonardo Amato
* @version 12-1-2021
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EGenerationPriority
public enum EDhApiLodShading
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** NEAR_FIRST when connected to servers and BALANCED when on single player */
/**
* Uses Minecraft's shading for LODs. <Br>
* This means if Minecraft's shading is disabled DH's shading will be as well.
*/
AUTO,
NEAR_FIRST,
/**
* Simulates Minecraft's shading. <Br>
* This is most useful for shaders that disable Minecraft's shading
* but still require shading on LODs.
*/
ENABLED,
BALANCED,
/** LODs will have no shading */
DISABLED;
FAR_FIRST
}
@@ -0,0 +1,53 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
import org.apache.logging.log4j.Level;
/**
* ALL
* DEBUG
* INFO
* WARN
* ERROR
* DISABLED
*
* @since API 5.0.0
* @version 2024-4-6
*/
public enum EDhApiLoggerLevel
{
// ordered from most to least broad
ALL(Level.ALL),
DEBUG(Level.DEBUG),
INFO(Level.INFO),
WARN(Level.WARN),
ERROR(Level.ERROR),
DISABLED(Level.OFF),
;
public final Level level;
EDhApiLoggerLevel(Level level)
{ this.level = level; }
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,12 +17,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.config;
import java.util.ArrayList;
import java.util.Collections;
import com.seibel.lod.coreapi.util.MathUtil;
import com.seibel.distanthorizons.coreapi.util.MathUtil;
/**
* BLOCK <Br>
@@ -30,12 +30,13 @@ import com.seibel.lod.coreapi.util.MathUtil;
* FOUR_BLOCKS <br>
* HALF_CHUNK <Br>
* CHUNK <br>
*
*
* @author James Seibel
* @author Leonardo Amato
* @version 2022-7-5
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EHorizontalResolution
public enum EDhApiMaxHorizontalResolution
{
/** render 256 LODs for each chunk */
BLOCK(16, 0),
@@ -54,8 +55,6 @@ public enum EHorizontalResolution
/**
* How many DataPoints should
* be drawn per side, per LodChunk
@@ -65,10 +64,7 @@ public enum EHorizontalResolution
/** How wide each LOD DataPoint is */
public final int dataPointWidth;
/**
* This is the same as detailLevel in LodQuadTreeNode,
* lowest is 0 highest is 9
*/
/** This is the same as detailLevel in LodQuadTreeNode */
public final byte detailLevel;
/* Start/End X/Z give the block positions
@@ -85,22 +81,22 @@ public enum EHorizontalResolution
* 2nd dimension: An array of all LodDetails that are less than or <br>
* equal to that detailLevel
*/
private static EHorizontalResolution[][] lowerDetailArrays;
private static EDhApiMaxHorizontalResolution[][] lowerDetailArrays;
EHorizontalResolution(int newLengthCount, int newDetailLevel)
EDhApiMaxHorizontalResolution(int newLengthCount, int newDetailLevel)
{
detailLevel = (byte) newDetailLevel;
dataPointLengthCount = newLengthCount;
dataPointWidth = 16 / dataPointLengthCount;
this.detailLevel = (byte) newDetailLevel;
this.dataPointLengthCount = newLengthCount;
this.dataPointWidth = 16 / this.dataPointLengthCount;
startX = new int[dataPointLengthCount * dataPointLengthCount];
endX = new int[dataPointLengthCount * dataPointLengthCount];
this.startX = new int[this.dataPointLengthCount * this.dataPointLengthCount];
this.endX = new int[this.dataPointLengthCount * this.dataPointLengthCount];
startZ = new int[dataPointLengthCount * dataPointLengthCount];
endZ = new int[dataPointLengthCount * dataPointLengthCount];
this.startZ = new int[this.dataPointLengthCount * this.dataPointLengthCount];
this.endZ = new int[this.dataPointLengthCount * this.dataPointLengthCount];
int index = 0;
@@ -108,11 +104,11 @@ public enum EHorizontalResolution
{
for (int z = 0; z < newLengthCount; z++)
{
startX[index] = x * dataPointWidth;
startZ[index] = z * dataPointWidth;
this.startX[index] = x * this.dataPointWidth;
this.startZ[index] = z * this.dataPointWidth;
endX[index] = (x * dataPointWidth) + dataPointWidth;
endZ[index] = (z * dataPointWidth) + dataPointWidth;
this.endX[index] = (x * this.dataPointWidth) + this.dataPointWidth;
this.endZ[index] = (z * this.dataPointWidth) + this.dataPointWidth;
index++;
}
@@ -122,27 +118,28 @@ public enum EHorizontalResolution
//================//
// static methods //
//================//
/**
* Returns an array of all LodDetails that have a detail level
* that is less than or equal to the given LodDetail
*/
public static EHorizontalResolution[] getSelfAndLowerDetails(EHorizontalResolution detail)
public static EDhApiMaxHorizontalResolution[] getSelfAndLowerDetails(EDhApiMaxHorizontalResolution detail)
{
if (lowerDetailArrays == null)
{
// run first time setup
lowerDetailArrays = new EHorizontalResolution[EHorizontalResolution.values().length][];
lowerDetailArrays = new EDhApiMaxHorizontalResolution[EDhApiMaxHorizontalResolution.values().length][];
// go through each LodDetail
for (EHorizontalResolution currentDetail : EHorizontalResolution.values())
for (EDhApiMaxHorizontalResolution currentDetail : EDhApiMaxHorizontalResolution.values())
{
ArrayList<EHorizontalResolution> lowerDetails = new ArrayList<>();
ArrayList<EDhApiMaxHorizontalResolution> lowerDetails = new ArrayList<>();
// find the details lower than currentDetail
for (EHorizontalResolution compareDetail : EHorizontalResolution.values())
for (EDhApiMaxHorizontalResolution compareDetail : EDhApiMaxHorizontalResolution.values())
{
if (currentDetail.detailLevel <= compareDetail.detailLevel)
{
@@ -154,7 +151,7 @@ public enum EHorizontalResolution
Collections.sort(lowerDetails);
Collections.reverse(lowerDetails);
lowerDetailArrays[currentDetail.detailLevel] = lowerDetails.toArray(new EHorizontalResolution[lowerDetails.size()]);
lowerDetailArrays[currentDetail.detailLevel] = lowerDetails.toArray(new EDhApiMaxHorizontalResolution[lowerDetails.size()]);
}
}
@@ -162,14 +159,13 @@ public enum EHorizontalResolution
}
/** Returns what detail level should be used at a given distance and maxDistance. */
public static EHorizontalResolution getDetailForDistance(EHorizontalResolution maxDetailLevel, int distance, int maxDistance)
public static EDhApiMaxHorizontalResolution getDetailForDistance(EDhApiMaxHorizontalResolution maxDetailLevel, int distance, int maxDistance)
{
EHorizontalResolution[] lowerDetails = getSelfAndLowerDetails(maxDetailLevel);
EDhApiMaxHorizontalResolution[] lowerDetails = getSelfAndLowerDetails(maxDetailLevel);
int distanceBetweenDetails = maxDistance / lowerDetails.length;
int index = MathUtil.clamp(0, distance / distanceBetweenDetails, lowerDetails.length - 1);
return lowerDetails[index];
}
}
@@ -0,0 +1,54 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* Handles how Minecraft's rendering
* is faded out to smooth the transition
* between MC and DH rendering. <br><br>
*
* NONE, <br>
* SINGLE_PASS, <br>
* DOUBLE_PASS, <br>
*
* @since API 4.0.0
* @version 2024-10-3
*/
public enum EDhApiMcRenderingFadeMode
{
/**
* No fading is done, there will be a pronounced border between
* Minecraft and Distant Horizons. <br>
* Fastest.
*/
NONE,
/**
* Fading only runs after the translucent render pass. <br>
* Looks good for the tops of oceans and rivers, but
* doesn't fade the opaque blocks underwater.
*/
SINGLE_PASS,
/**
* Fading runs after both opaque and translucent render passes.
* Slowest, but oceans and rivers look better.
*/
DOUBLE_PASS;
}
@@ -1,9 +1,9 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2022 Tom Lee (TomTheFurry)
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -18,36 +18,30 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.config;
/**
* AUTO, <br>
* NAME_ONLY, <br>
* IP_ONLY, <br>
* NAME_IP, <br>
* NAME_IP_PORT, <br> <br>
* NAME_IP_PORT, <br>
* NAME_IP_PORT_MC_VERSION, <br> <br>
*
* Determines how the multiplayer folders should be named.
*
*
* @author James Seibel
* @version 2022-7-1
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EServerFolderNameMode
public enum EDhApiServerFolderNameMode
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/**
* NAME_IP for LAN connections <Br>
* NAME_IP_PORT for all others
*/
AUTO,
/** Only use the server name */
NAME_ONLY,
/**
/** Only use the server IP */
IP_ONLY,
/**
* {SERVER_NAME} IP {IP} <br>
* Example: Minecraft Server IP 192.168.1.40
*/
@@ -59,10 +53,10 @@ public enum EServerFolderNameMode
*/
NAME_IP_PORT,
/**
/**
* {SERVER_NAME} IP {IP} <br>
* Example: Minecraft Server IP 192.168.1.40:25565 GameVersion 1.16.5 <Br> <br>
*
*
* Not normally recommended, since the game version can change if the
* server installs paper or some other jar. <br>
* This is just here to provide backwards compatibility.
@@ -0,0 +1,41 @@
package com.seibel.distanthorizons.api.enums.config;
import com.seibel.distanthorizons.coreapi.ModInfo;
/**
* AUTO, <br>
* STABLE, <br>
* NIGHTLY, <br><br>
*
* @since API 2.1.0
* @version 2024-6-8
*/
public enum EDhApiUpdateBranch
{
AUTO,
STABLE,
NIGHTLY;
/**
* If the updateBranch value is {@link EDhApiUpdateBranch#AUTO}
* this method will convert it either to {@link EDhApiUpdateBranch#STABLE} or {@link EDhApiUpdateBranch#NIGHTLY}
* based on this jar's state. <Br><br>
*
* If updateBranch is {@link EDhApiUpdateBranch#STABLE} or {@link EDhApiUpdateBranch#NIGHTLY}
* it just returns.
*/
public static EDhApiUpdateBranch convertAutoToStableOrNightly(EDhApiUpdateBranch updateBranch)
{
if (updateBranch != EDhApiUpdateBranch.AUTO)
{
return updateBranch;
}
else
{
return ModInfo.IS_DEV_BUILD ? EDhApiUpdateBranch.NIGHTLY : EDhApiUpdateBranch.STABLE;
}
}
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.config;
/**
* NEVER, <br>
@@ -26,17 +26,14 @@ package com.seibel.lod.api.enums.config;
*
* This represents how far the LODs should overlap with
* the vanilla Minecraft terrain.
*
*
* @author James Seibel
* @version 2022-6-30
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EVanillaOverdraw
@Deprecated // not currently in use, if the config this enum represents is re-implemented, the deprecated flag can be removed
public enum EDhApiVanillaOverdraw
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/**
* Don't draw LODs where a minecraft chunk could be.
* Use Overdraw Offset to tweak the border thickness.
@@ -0,0 +1,63 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
import com.seibel.distanthorizons.coreapi.util.MathUtil;
/**
* HEIGHT_MAP <br>
* LOW <br>
* MEDIUM <br>
* HIGH <br>
* VERY_HIGH <br>
* EXTREME <br>
* PIXEL_ART <br>
*
* @author Leonardo Amato
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiVerticalQuality
{
HEIGHT_MAP( new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}),
LOW( new int[]{4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1}),
MEDIUM( new int[]{6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 1}),
HIGH( new int[]{16, 16, 12, 12, 8, 8, 8, 8, 8, 8, 1}),
VERY_HIGH( new int[]{32, 16, 12, 12, 12, 12, 12, 12, 12, 12, 1}),
EXTREME( new int[]{64, 32, 32, 32, 16, 16, 16, 16, 16, 16, 1}),
PIXEL_ART( new int[]{512, 256, 128, 64, 32, 32, 16, 16, 16, 16, 1});
/** represents how many LODs can be rendered in a single vertical slice */
public final int[] maxVerticalData;
EDhApiVerticalQuality(int[] maxVerticalData) { this.maxVerticalData = maxVerticalData; }
public int calculateMaxVerticalData(byte dataDetail)
{
// for detail levels lower than what the enum defines, use the lowest quality item
int index = MathUtil.clamp(0, dataDetail, this.maxVerticalData.length - 1);
return this.maxVerticalData[index];
}
}
@@ -0,0 +1,66 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* MERGE_SAME_BLOCKS <br>
* VISUALLY_EQUAL <br><br>
*
* @version 2024-3-27
* @since API 2.0.0
*/
public enum EDhApiWorldCompressionMode
{
/**
* Every block/biome change is recorded in the database. <br>
* This is what DH 2.0 and 2.0.1 all used by default and will store a lot of data.
*/
MERGE_SAME_BLOCKS(0),
/**
* Only visible block/biome changes are recorded in the database. <Br>
* Hidden blocks (IE ores) are ignored.
*/
VISUALLY_EQUAL(1);
/** More stable than using the ordinal of the enum */
public final byte value;
EDhApiWorldCompressionMode(int value) { this.value = (byte) value; }
public static EDhApiWorldCompressionMode getFromValue(byte value)
{
EDhApiWorldCompressionMode[] enumList = EDhApiWorldCompressionMode.values();
for (int i = 0; i < enumList.length; i++)
{
if (enumList[i].value == value)
{
return enumList[i];
}
}
throw new IllegalArgumentException("No lossy compression mode with the value ["+value+"]");
}
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -16,26 +16,32 @@
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.config.quickOptions;
import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui;
/**
* NONE, GAME_SHADING
* CUSTOM, <br><br>
*
* MINIMUM, <br>
* LOW, <br>
* MEDIUM, <br>
* HIGH, <br>
* EXTREME, <br>
*
* @author James Seibel
* @version 7-25-2020
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EShadingMode
public enum EDhApiQualityPreset
{
/**
* LODs will have darker sides and bottoms to simulate
* Minecraft's fast lighting.
*/
GAME_SHADING,
@DisallowSelectingViaConfigGui
CUSTOM,
MINIMUM,
LOW,
MEDIUM,
HIGH,
EXTREME;
/**
* LODs will use ambient occlusion to mimic Minecraft's
* Fancy lighting.
*/
AMBIENT_OCCLUSION
}
@@ -0,0 +1,46 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config.quickOptions;
import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui;
/**
* CUSTOM, <br><br>
*
* MINIMAL_IMPACT, <br>
* LOW_IMPACT, <br>
* BALANCED, <br>
* AGGRESSIVE, <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiThreadPreset
{
@DisallowSelectingViaConfigGui
CUSTOM,
MINIMAL_IMPACT,
LOW_IMPACT,
BALANCED,
AGGRESSIVE,
I_PAID_FOR_THE_WHOLE_CPU,
}
@@ -0,0 +1,68 @@
package com.seibel.distanthorizons.api.enums.rendering;
/**
* contains the indices used by shaders to determine
* how different block types should be rendered. <br><br>
*
* UNKNOWN, <br>
* LEAVES, <br>
* STONE, <br>
* WOOD, <br>
* METAL, <br>
* DIRT, <br>
* LAVA, <br>
* DEEPSLATE, <br>
* SNOW, <br>
* SAND, <br>
* TERRACOTTA, <br>
* NETHER_STONE, <br>
* WATER, <br>
* GRASS, <br>
* AIR, <br>
* ILLUMINATED, <br>
*
* @author IMS
* @author James Seibel
* @since API 3.0.0
* @version 2024-7-11
*/
public enum EDhApiBlockMaterial
{
UNKNOWN(0),
LEAVES(1),
STONE(2),
WOOD(3),
METAL(4),
DIRT(5),
LAVA(6),
DEEPSLATE(7),
SNOW(8),
SAND(9),
TERRACOTTA(10),
NETHER_STONE(11),
WATER(12),
GRASS(13),
/** shouldn't normally be needed, but just in case */
AIR(14),
ILLUMINATED(15); // Max value
public final byte index;
EDhApiBlockMaterial(int index) { this.index = (byte)index;}
public static EDhApiBlockMaterial getFromIndex(int index)
{
for(EDhApiBlockMaterial material : EDhApiBlockMaterial.values())
{
if (material.index == index)
{
return material;
}
}
return EDhApiBlockMaterial.UNKNOWN;
}
}
@@ -0,0 +1,84 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.rendering;
/**
* OFF, <br>
* SHOW_DETAIL, <br>
* SHOW_GENMODE, <br>
* SHOW_OVERLAPPING_QUADS, <br>
* SHOW_RENDER_SOURCE_FLAG, <br>
*
* @author Leetom
* @author James Seibel
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiDebugRendering
{
/** LODs are rendered normally */
OFF,
/** LOD colors are based on their detail */
SHOW_DETAIL,
/** Block Materials are often used by Iris shaders to determine how LODs should be rendered */
SHOW_BLOCK_MATERIAL,
/** Only draw overlapping LOD quads. */
SHOW_OVERLAPPING_QUADS,
/** LOD colors are based on renderSource flags. */
SHOW_RENDER_SOURCE_FLAG;
public static EDhApiDebugRendering next(EDhApiDebugRendering type)
{
switch (type)
{
case OFF:
return SHOW_DETAIL;
case SHOW_DETAIL:
return SHOW_BLOCK_MATERIAL;
case SHOW_BLOCK_MATERIAL:
return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS:
return SHOW_RENDER_SOURCE_FLAG;
default:
return OFF;
}
}
public static EDhApiDebugRendering previous(EDhApiDebugRendering type)
{
switch (type)
{
case OFF:
return SHOW_RENDER_SOURCE_FLAG;
case SHOW_RENDER_SOURCE_FLAG:
return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS:
return SHOW_DETAIL;
default:
return OFF;
}
}
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,16 +17,17 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.rendering;
package com.seibel.distanthorizons.api.enums.rendering;
/**
* USE_DEFAULT_FOG_COLOR, <br>
* USE_SKY_COLOR, <br>
*
*
* @author James Seibel
* @version 2022-6-9
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EFogColorMode
public enum EDhApiFogColorMode
{
// Reminder:
// when adding items: up the API minor version
@@ -43,4 +44,5 @@ public enum EFogColorMode
* https://www.curseforge.com/minecraft/mc-mods/clear-skies-forge-port
*/
USE_SKY_COLOR,
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,26 +17,29 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.rendering;
package com.seibel.distanthorizons.api.enums.rendering;
/**
* USE_OPTIFINE_FOG_SETTING, <br>
* FOG_ENABLED, <br>
* FOG_DISABLED <br>
*
* @deprecated since API 4.0.0 since {@link EDhApiFogDrawMode#USE_OPTIFINE_SETTING} is no longer supported.
*
* @author James Seibel
* @since API 2.0.0
* @version 2022-6-2
*/
public enum EFogDrawMode
@Deprecated
public enum EDhApiFogDrawMode
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/**
* Use whatever Fog setting optifine is using.
* If optifine isn't installed this defaults to FOG_ENABLED.
* Use whatever Fog setting Optifine is using.
* If Optifine isn't installed this defaults to {@link EDhApiFogDrawMode#FOG_ENABLED}.
*
* @deprecated Since API 4.0.0 is equivalent to {@link EDhApiFogDrawMode#FOG_ENABLED}
*/
@Deprecated
USE_OPTIFINE_SETTING,
FOG_ENABLED,
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -16,25 +16,31 @@
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.rendering;
/**
* FAST, <br>
* FANCY,
* LINEAR, <br>
* EXPONENTIAL, <br>
* EXPONENTIAL_SQUARED <br>
*
* @author Leetom
* @version 2022-7-1
* @version 2024-11-09
* @since API 2.0.0
*/
public enum ELightGenerationMode
public enum EDhApiFogFalloff
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
LINEAR(0),
EXPONENTIAL(1),
EXPONENTIAL_SQUARED(2);
/** Fake light values using a height map */
FAST,
/** Run the lighting engine though the chunk to generate proper light values */
FANCY
/**
* Stable version of {@link EDhApiFogFalloff#ordinal()}
* @since API 4.0.0
*/
public final int value;
EDhApiFogFalloff(int value) { this.value = value; }
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.rendering;
package com.seibel.distanthorizons.api.enums.rendering;
/**
* ABOVE_CAMERA, <br>
@@ -28,30 +28,26 @@ package com.seibel.lod.api.enums.rendering;
* ABOVE_AND_BELOW_SET_HEIGHT, <br>
*
* @author Leetom
* @version 6-30-2022
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EHeightFogMode
public enum EDhApiHeightFogDirection
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
ABOVE_CAMERA(true, true, false),
BELOW_CAMERA(true, false, true),
ABOVE_AND_BELOW_CAMERA(true, true, true),
ABOVE_SET_HEIGHT(false, true, false),
BELOW_SET_HEIGHT(false, false, true),
ABOVE_AND_BELOW_SET_HEIGHT(false, true, true);
ABOVE_CAMERA (true, true, false),
BELOW_CAMERA (true, false, true),
ABOVE_AND_BELOW_CAMERA (true, true, true),
ABOVE_SET_HEIGHT (false, true, false),
BELOW_SET_HEIGHT (false, false, true),
ABOVE_AND_BELOW_SET_HEIGHT (false, true, true);
public final boolean basedOnCamera;
public final boolean above;
public final boolean below;
public final boolean fogAppliesUp;
public final boolean fogAppliesDown;
EHeightFogMode(boolean basedOnCamera, boolean above, boolean below)
EDhApiHeightFogDirection(boolean basedOnCamera, boolean fogAppliesUp, boolean fogAppliesDown)
{
this.basedOnCamera = basedOnCamera;
this.above = above;
this.below = below;
this.fogAppliesUp = fogAppliesUp;
this.fogAppliesDown = fogAppliesDown;
}
}
@@ -0,0 +1,73 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.rendering;
/**
* SPHERICAL <br>
* CYLINDRICAL <br>
* <br>
* MAX <br>
* ADDITION <br>
* MULTIPLY <br>
* INVERSE_MULTIPLY <br>
* LIMITED_ADDITION <br>
* MULTIPLY_ADDITION <br>
* INVERSE_MULTIPLY_ADDITION <br>
* AVERAGE <br>
*
* @author Leetom
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiHeightFogMixMode
{
/**
* Basic just means the fog will be based on the fragment depth
* not on any special height calculation IE spherical fog. <br><br>
*
* Not to be confused with {@link EDhApiHeightFogMixMode#CYLINDRICAL}
* which causes fog to only apply based on horizontal distance.
*/
SPHERICAL(0),
/**
* Fog is applied based on horizontal distance from the camera,
* IE cylindrical fog.
*/
CYLINDRICAL(1),
MAX(2),
ADDITION(3),
MULTIPLY(4),
INVERSE_MULTIPLY(5),
LIMITED_ADDITION(6),
MULTIPLY_ADDITION(7),
INVERSE_MULTIPLY_ADDITION(8),
AVERAGE(9);
/**
* Stable version of {@link EDhApiFogFalloff#ordinal()}
* @since API 4.0.0
*/
public final int value;
EDhApiHeightFogMixMode(int value) { this.value = value; }
}
@@ -0,0 +1,17 @@
package com.seibel.distanthorizons.api.enums.rendering;
/**
* OPAQUE_AND_TRANSPARENT, <br>
* OPAQUE, <br>
* TRANSPARENT, <br>
*
* @author James Seibel
* @version 2024-1-30
* @since API 2.0.0
*/
public enum EDhApiRenderPass
{
OPAQUE_AND_TRANSPARENT,
OPAQUE,
TRANSPARENT,
}
@@ -0,0 +1,65 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.rendering;
/**
* Default <br>
* Debug <br>
* Disabled <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiRendererMode
{
DEFAULT,
DEBUG,
DISABLED;
/** Used by the config GUI to cycle through the available rendering options */
public static EDhApiRendererMode next(EDhApiRendererMode type)
{
switch (type)
{
case DEFAULT:
return DEBUG;
case DEBUG:
return DISABLED;
default:
return DEFAULT;
}
}
/** Used by the config GUI to cycle through the available rendering options */
public static EDhApiRendererMode previous(EDhApiRendererMode type)
{
switch (type)
{
case DEFAULT:
return DISABLED;
case DEBUG:
return DEFAULT;
default:
return DEBUG;
}
}
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,33 +17,29 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.config;
package com.seibel.distanthorizons.api.enums.rendering;
/**
* Low <br>
* Medium <br>
* High <br>
* <br>
* this is a quality scale for the detail drop-off
* DISABLED, <br>
* FAKE, <br>
* COMPLETE, <br>
*
* @author Leonardo Amato
* @version 9-25-2021
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EHorizontalScale
public enum EDhApiTransparency
{
/** Lods are 2D with heightMap */
LOW(64),
DISABLED(false, false),
FAKE(true, true),
COMPLETE(true, false);
/** Lods expand in three dimension */
MEDIUM(128),
public final boolean transparencyEnabled;
public final boolean fakeTransparencyEnabled;
/** Lods expand in three dimension */
HIGH(256);
public final int distanceUnit;
EHorizontalScale(int distanceUnit)
EDhApiTransparency(boolean transparencyEnabled, boolean fakeTransparencyEnabled)
{
this.distanceUnit = distanceUnit;
this.transparencyEnabled = transparencyEnabled;
this.fakeTransparencyEnabled = fakeTransparencyEnabled;
}
}
}
@@ -0,0 +1,92 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.worldGeneration;
/**
* PRE_EXISTING_ONLY <br>
* SURFACE <br>
* FEATURES <br>
* FULL <br><br>
*
* In order of fastest to slowest.
*
* @author James Seibel
* @author Leonardo Amato
* @version 2024-12-13
* @since API 1.0.0
*/
public enum EDhApiDistantGeneratorMode
{
/** Don't generate any new terrain, just generate LODs for already generated chunks. */
PRE_EXISTING_ONLY((byte) 1),
/*
* Not currently implemented <br><br>
*
* Only generate the biomes and use biome
* grass/foliage color, water color, or ice color
* to generate the color. <br>
* Doesn't generate height, everything is shown at sea level.
*/
//BIOME_ONLY((byte) 2),
/*
* Not currently implemented <br><br>
*
* Same as BIOME_ONLY, except instead
* of always using sea level as the LOD height
* different biome types (mountain, ocean, forest, etc.)
* use predetermined heights to simulate having height data.
*/
//BIOME_ONLY_SIMULATE_HEIGHT((byte) 3),
/**
* Generate the world surface,
* this does NOT include caves, trees,
* or structures.
*/
SURFACE((byte) 4),
/**
* Generate including structures.
* NOTE: This may cause world generation bugs or instability,
* since some features can cause concurrentModification exceptions.
*/
FEATURES((byte) 5),
/**
* Ask the server to generate/load each chunk.
* This is the most compatible and will generate structures correctly,
* but may cause server/simulation lag. <br><br>
*
* Unlike other modes this option DOES save generated chunks to
* Minecraft's region files.
*/
INTERNAL_SERVER((byte) 6);
/** The higher the number the more complete the generation is. */
public final byte complexity;
EDhApiDistantGeneratorMode(byte complexity) { this.complexity = complexity; }
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,21 +17,23 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.enums.rendering;
package com.seibel.distanthorizons.api.enums.worldGeneration;
/**
* NEAR, FAR, or NEAR_AND_FAR.
*
* OVERLAY <br>
* CHAT <br>
* LOG <br>
* DISABLED <br><br>
*
* @author James Seibel
* @version 2022-6-2
* @version 2025-1-7
* @since API 4.0.0
*/
public enum EFogDistance
public enum EDhApiDistantGeneratorProgressDisplayLocation
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
OVERLAY,
CHAT,
LOG,
DISABLED;
NEAR,
FAR,
NEAR_AND_FAR
}
}
@@ -0,0 +1,36 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.worldGeneration;
/**
* SERVER_LEVEL, <br>
* CLIENT_LEVEL, <br>
* UNKNOWN <br>
*
* @author James Seibel
* @version 2022-7-13
* @since API 1.0.0
*/
public enum EDhApiLevelType
{
SERVER_LEVEL,
CLIENT_LEVEL,
UNKNOWN
}
@@ -0,0 +1,107 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.worldGeneration;
/**
* DOWN_SAMPLED, <br>
*
* EMPTY, <br>
* STRUCTURE_START, <br>
* STRUCTURE_REFERENCE, <br>
* BIOMES, <br>
* NOISE, <br>
* SURFACE, <br>
* CARVERS, <br>
* LIQUID_CARVERS, <br>
* FEATURES, <br>
* LIGHT, <br>
*
* @author James Seibel
* @version 2023-4-20
* @since API 1.0.0
*/
public enum EDhApiWorldGenerationStep
{
/**
* Only used when using N-sized world generators or server-side retrieval.
* This denotes that the given datasource was created using lower quality LOD data from above it in the quad tree. <br>
*
* This isn't a valid option for queuing world generation.
*/
DOWN_SAMPLED(-1, "down_sampled"),
EMPTY(0, "empty"),
STRUCTURE_START(1, "structure_start"),
STRUCTURE_REFERENCE(2, "structure_reference"),
BIOMES(3, "biomes"),
NOISE(4, "noise"),
SURFACE(5, "surface"),
CARVERS(6, "carvers"),
LIQUID_CARVERS(7, "liquid_carvers"),
FEATURES(8, "features"),
LIGHT(9, "light");
/** used when serializing this enum. */
public final String name;
public final byte value;
EDhApiWorldGenerationStep(int value, String name)
{
this.value = (byte) value;
this.name = name;
}
//=========//
// parsing //
//=========//
/** @return null if the value doesn't correspond to a {@link EDhApiWorldGenerationStep}. */
public static EDhApiWorldGenerationStep fromValue(int value)
{
for (EDhApiWorldGenerationStep genStep : EDhApiWorldGenerationStep.values())
{
if (genStep.value == value)
{
return genStep;
}
}
return null;
}
/** @return null if the value doesn't correspond to a {@link EDhApiWorldGenerationStep}. */
public static EDhApiWorldGenerationStep fromName(String name)
{
for (EDhApiWorldGenerationStep genStep : EDhApiWorldGenerationStep.values())
{
if (genStep.name.equals(name))
{
return genStep;
}
}
return null;
}
}
@@ -0,0 +1,66 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.worldGeneration;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import com.seibel.distanthorizons.api.objects.data.IDhApiFullDataSource;
import java.util.concurrent.ExecutorService;
import java.util.function.Consumer;
/**
* VANILLA_CHUNKS, <br>
* API_CHUNKS <br>
* API_DATA_SOURCES <br>
*
* @author Builderb0y, James Seibel
* @version 2024-10-5
* @since API 2.0.0
*/
public enum EDhApiWorldGeneratorReturnType
{
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 2.0.0
*/
VANILLA_CHUNKS,
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateApiChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 2.0.0
*/
API_CHUNKS,
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateLod(int, int, int, int, byte, IDhApiFullDataSource, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 4.0.0
*/
API_DATA_SOURCES;
}
@@ -0,0 +1,45 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces;
/**
* Implemented by wrappers so developers can
* access the underlying Minecraft object(s).
*
* @author James Seibel
* @version 2023-6-17
* @since API 1.0.0
*/
public interface IDhApiUnsafeWrapper
{
/**
* Returns the Minecraft object this wrapper contains. <br>
* <strong>Warning</strong>: This object will be Minecraft
* version dependent and may change without notice. <br> <br>
*
* In order to cast this object to something usable, you may want
* to use <code>obj.getClass()</code> when in your IDE
* in order to determine what object this method returns for
* the specific version of Minecraft you are developing for.
*/
Object getWrappedMcObject();
}
@@ -1,8 +1,8 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -17,15 +17,19 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.interfaces.block;
package com.seibel.distanthorizons.api.interfaces.block;
import com.seibel.lod.api.interfaces.IDhApiUnsafeWrapper;
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
/**
* A Minecraft version independent way of handling Biomes.
*
* @author James Seibel
* @version 3-5-2022
* @since API 1.0.0
*/
public interface IDhApiBiomeWrapper extends IDhApiUnsafeWrapper
{
String getName();
}
@@ -0,0 +1,55 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.block;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiBlockMaterial;
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
/**
* A Minecraft version independent way of handling Blocks.
*
* @author James Seibel
* @version 2023-6-11
* @since API 1.0.0
*/
public interface IDhApiBlockStateWrapper extends IDhApiUnsafeWrapper
{
/** @since API 1.0.0 */
boolean isAir();
/** @since API 1.0.0 */
boolean isSolid();
/** @since API 1.0.0 */
boolean isLiquid();
/**
* Returns the full serialized form of the given block
* as defined by DH's serialization methods.
* @since API 3.0.0
*/
String getSerialString();
/**
* Returns the byte value representing the {@link EDhApiBlockMaterial} enum.
* @see EDhApiBlockMaterial
* @since API 3.0.0
*/
byte getMaterialId();
}
@@ -0,0 +1,43 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config;
import com.seibel.distanthorizons.api.interfaces.config.both.IDhApiWorldGenerationConfig;
import com.seibel.distanthorizons.api.interfaces.config.client.*;
/**
* This interfaces holds all config groups
* the API has access to for easy access.
*
* @author James Seibel
* @version 2023-6-14
* @since API 1.0.0
*/
public interface IDhApiConfig
{
IDhApiGraphicsConfig graphics();
IDhApiWorldGenerationConfig worldGenerator();
IDhApiMultiplayerConfig multiplayer();
IDhApiMultiThreadingConfig multiThreading();
// note: DON'T add the Auto Updater to this API. We only want the user's to have the ability to control when things are downloaded to their machines.
//IDhApiLoggingConfig logging(); // TODO implement
IDhApiDebuggingConfig debugging();
}
@@ -0,0 +1,35 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
/**
* This interface is just used to organize API config groups so
* they can be more easily handled together.
*
* @author James Seibel
* @version 9-15-2022
* @since API 1.0.0
*/
public interface IDhApiConfigGroup extends IBindable
{
}
@@ -0,0 +1,89 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config;
import java.util.function.Consumer;
/**
* An interface for Distant Horizon's Config.
*
* @param <T> The data type of this config.
* @author James Seibel
* @version 2023-12-7
* @since API 1.0.0
*/
public interface IDhApiConfigValue<T>
{
/**
* Returns the active value for this config. <br>
* Returns the True value if either the config cannot be overridden by
* the API or if it hasn't been set by the API.
*/
T getValue();
/**
* Returns the value held by this config. <br>
* This is the value stored in the config file.
*/
T getTrueValue();
/**
* Returns the value of the config if it was set by the API.
* Returns null if the config hasn't been set by the API.
*
* @since API 2.0.0
*/
T getApiValue();
/**
* Sets the config's value. <br>
* If the newValue is set to null then the config
* will revert to using the True Value
* (IE the value visible in the config menu).<br>
* If the config cannot be set via the API this method will return false. <br><br>
*
* @return true if the value was set, false otherwise.
*/
boolean setValue(T newValue);
/**
* Un-sets the config's API value. <br>
* After this method is called this config will
* use the value set in the config menu.
*
* @return true if the value was set, false otherwise.
* @since API 2.0.0
*/
boolean clearValue();
/** @return true if this config can be set via the API, false otherwise. */
boolean getCanBeOverrodeByApi();
/** Returns the default value for this config. */
T getDefaultValue();
/** Returns the max value for this config, null if there is no max. */
T getMaxValue();
/** Returns the min value for this config, null if there is no min. */
T getMinValue();
/** Adds a {@link Consumer} that will be called whenever the config changes to a new value. */
void addChangeListener(Consumer<T> onValueChangeFunc);
//void removeListener(Consumer<T> onValueChangeFunc); // not currently implemented
}
@@ -0,0 +1,47 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.both;
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
/**
* Distant Horizons' world generation configuration. <br><br>
*
* Note: Chunks generated via DH's world generator are NOT saved in Minecraft's vanilla save system.
*
* @author James Seibel
* @version 2022-9-15
* @since API 1.0.0
*/
public interface IDhApiWorldGenerationConfig extends IDhApiConfigGroup
{
/**
* Defines whether LOD chunks will be generated
* outside Minecraft's vanilla render distance.
*/
IDhApiConfigValue<Boolean> enableDistantWorldGeneration();
/** Defines to what level LOD chunks will be generated. */
IDhApiConfigValue<EDhApiDistantGeneratorMode> distantGeneratorMode();
}
@@ -0,0 +1,65 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' fog configuration. <br><br>
*
* @author James Seibel
* @version 2022-9-6
* @since API 1.0.0
*/
public interface IDhApiAmbientOcclusionConfig extends IDhApiConfigGroup
{
/** Determines if Ambient Occlusion is rendered */
IDhApiConfigValue<Boolean> enabled();
/**
* Determines how many points in space are sampled for the occlusion test.
* Higher numbers will improve quality and reduce banding, but will increase GPU load.
*/
IDhApiConfigValue<Integer> sampleCount();
/** Determines the radius Screen Space Ambient Occlusion is applied, measured in blocks. */
IDhApiConfigValue<Double> radius();
/** Determines how dark the Screen Space Ambient Occlusion effect will be. */
IDhApiConfigValue<Double> strength();
/** Increasing the value can reduce banding at the cost of reducing the strength of the effect. */
IDhApiConfigValue<Double> bias();
/**
* Determines how dark the occlusion shadows can be. <br>
* 0 = totally black at the corners <br>
* 1 = no shadow
*/
IDhApiConfigValue<Double> minLight();
/**
* The radius, measured in pixels, that blurring is calculated. <br>
* Higher numbers will reduce banding at the cost of GPU performance.
*/
IDhApiConfigValue<Integer> blurRadius();
}

Some files were not shown because too many files have changed in this diff Show More