Compare commits

..

1687 Commits

Author SHA1 Message Date
James Seibel 0b802ca362 comment about LOD only depth issue 2026-06-08 21:42:29 -05:00
James Seibel ea4375b215 Check if save folder exists for better error messages 2026-06-08 07:15:44 -05:00
s809 a6e94c39a7 Fix level requests not being sent more than once per session 2026-06-07 14:30:49 +05:00
James Seibel 8bd6b4837c Fix auto updater checking when disabled 2026-06-06 19:38:55 -05:00
James Seibel 679f871788 Remove MemUtil references due to native crashing 2026-06-06 18:10:59 -05:00
James Seibel b46f10755e remove cloud darkness and make clouds less dense 2026-06-06 17:59:11 -05:00
James Seibel 3cf799a10f fix hard fade cut-off with fog at low render dist 2026-06-06 16:56:45 -05:00
s809 4e99594a3f Add original level resource to level init 2026-06-07 01:32:41 +05:00
James Seibel 8a4f991906 lower DH cloud min height slightly 2026-06-06 11:04:49 -05:00
James Seibel ab634b3204 Darken DH cloud layers slightly 2026-06-06 11:04:33 -05:00
James Seibel b836f675e1 fix 3-layer clouds culling at low render distances 2026-06-06 11:04:20 -05:00
James Seibel a4e2003e0e Fix underwater fog rendering 2026-06-06 09:12:08 -05:00
s809 28a8bc39f2 Make level key requests work kinda 2026-06-04 23:05:14 +05:00
James Seibel 4f0a3afd93 Improve render engine config description 2026-06-03 07:44:37 -05:00
James Seibel 4ac56774fb Add error messages if DB becomes corrupted 2026-06-02 21:42:26 -05:00
James Seibel 18b0582152 Improve world load fail error messages 2026-06-02 21:42:05 -05:00
James Seibel b85c504995 add javadoc since to useCameraPositionForQualityDropOff 2026-06-02 19:00:50 -05:00
James Seibel cbff0cd9e9 add useCameraPositionForQualityDropOff config/api 2026-06-02 18:05:16 -05:00
James Seibel c28cf643b3 Fix camera position off-by-one with immersive portals 2026-06-02 17:39:54 -05:00
James Seibel 44aed79e78 add Dh prefix to DH math objects 2026-06-01 22:07:03 -05:00
James Seibel e192abe666 Fix LOD clouds not showing the correct colors 2026-06-01 21:45:20 -05:00
James Seibel 9754943752 Reduce rare generic object VBO upload race condition 2026-06-01 21:44:59 -05:00
James Seibel 299ab0f856 remove unused standalone jar files 2026-06-01 19:11:37 -05:00
James Seibel b97c35387c improve world gen/retrieve message 2026-06-01 19:03:01 -05:00
James Seibel f69ad051d1 merge immersive portals compat
Thanks Acuadragon100!
2026-06-01 07:30:59 -05:00
James Seibel 9231a48998 Clarify the world gen progress message 2026-05-30 19:44:29 -05:00
James Seibel e8f27f7da8 Add the option for 3 layer clouds 2026-05-30 16:38:55 -05:00
James Seibel db47a9e99f Remove deprecated EDhApiVanillaOverdraw 2026-05-30 11:39:30 -05:00
James Seibel 16f72066a8 Pool BufferQuad objects 2026-05-30 11:32:46 -05:00
James Seibel ca4d6f158a RenderDataPointReducingList GC optimization attempt 2026-05-30 11:20:03 -05:00
James Seibel ad9092c45c minor LodQuadTree optimization 2026-05-30 11:17:39 -05:00
James Seibel 95e4db2998 Reduce render event GC pressure 2026-05-30 09:17:21 -05:00
James Seibel 9fe5dcc16e minor GC optimization 2026-05-22 14:37:45 -05:00
James Seibel 8cd926f4ac uniform buffer change prep 2026-05-22 14:08:08 -05:00
James Seibel 7239b51073 fix native GL instanced generic rendering 2026-05-22 12:51:01 -05:00
James Seibel 262dcae36b fix renderingEngine lang 2026-05-22 09:59:42 -05:00
James Seibel 062f86c036 add DhApiBeforeFogRenderEvent 2026-05-22 09:36:10 -05:00
James Seibel 5b4029f0ad update comment 2026-05-20 17:30:53 -05:00
James Seibel faa4fa3782 Fix render API vs Engine enum 2026-05-20 07:27:30 -05:00
James Seibel 9db045d614 document openGL interfaces not used on Blaze3D
Also add API logic to determine if DH is handling the rendering natively or using an interpretation layer
2026-05-19 21:52:11 -05:00
James Seibel c81dc83bb1 clean up config menu, remove fake transparency 2026-05-19 19:18:04 -05:00
James Seibel b14701ef6b Fix unit test compiling 2026-05-19 07:26:05 -05:00
James Seibel 78f84f17cd Fix holes on LOD borders 2026-05-18 22:24:27 -05:00
James Seibel 7739e1cafd improve quadBuilder var name 2026-05-18 21:25:21 -05:00
James Seibel d39c04d9cf add a few api event @see's 2026-05-18 20:20:30 -05:00
James Seibel 492afa7328 add IDhApiLevelWrapper.getBlockColorPreApi() 2026-05-18 19:59:06 -05:00
James Seibel 9465512491 Fix blaze3d shader inputs for Vulkan 2026-05-17 18:12:51 -05:00
James Seibel 51b52a7d2a rename render doc LOD buffer label 2026-05-17 16:06:50 -05:00
James Seibel f106867091 Fix LodQuad tree not using a deamon thread 2026-05-17 16:06:08 -05:00
James Seibel 1c4908bbc5 Merge branch 'detached' into 'main'
Make renderingString show correct value if rendering is disabled for this dimension

See merge request distant-horizons-team/distant-horizons-core!100
2026-05-17 00:07:10 +00:00
James Seibel baa9b94a5d minor format cleanup 2026-05-17 00:06:49 +00:00
James Seibel 21136ba1ef remove unneeded TODO lines 2026-05-16 18:46:19 -05:00
James Seibel ec6f8255b5 IMcRenderWrapper.getMcRenderingApi() 2026-05-16 18:25:15 -05:00
James Seibel 2f9504b167 fix reverseZDepth uniform name 2026-05-16 17:54:30 -05:00
James Seibel f67d9e4e04 blaze3D shaders work on both GL and Vulkan 2026-05-16 15:49:41 -05:00
James Seibel c1644ad419 fix inverted Z clip plane 2026-05-16 14:06:10 -05:00
James Seibel e07557e6e3 add EDhRenderDepth 2026-05-16 10:48:16 -05:00
James Seibel 52b8a91dc5 fix cleanup threadpool preventing JVM shutdown 2026-05-16 10:16:10 -05:00
Vojtěch Šokala 64fe804c40 Make renderingString show correct value if rendering is disabled for this dimension 2026-05-16 13:33:42 +02:00
James Seibel 2dd5b82be3 Merge branch 'Vulkan' 2026-05-15 21:58:21 -05:00
James Seibel d1f0325f87 up api version 6.1.1 -> 7.0.0 2026-05-15 21:41:09 -05:00
James Seibel b10a367ce6 Fix DhApiBlockColorOverrideEvent method name 2026-05-15 21:40:55 -05:00
James Seibel 4dec387ca1 remove a todo 2026-05-15 18:23:55 -05:00
James Seibel fd3a8f7ddf Add MC Version locking to the config 2026-05-15 07:44:00 -05:00
James Seibel e3f586da56 temp comment out PooledDataSourceCheckoutTest 2026-05-12 21:56:18 -05:00
James Seibel 775984f651 add TODO 2026-05-11 22:01:00 -05:00
James Seibel 269f2c30fd Initial changes for Vulkan 2026-05-11 21:56:53 -05:00
James Seibel b674f49600 up version number 3.0.3 -> 3.0.4 2026-05-04 07:41:32 -05:00
James Seibel b592012ba8 remove dev from version number 2026-05-03 18:20:22 -05:00
James Seibel 5d1e8a44fd up api version 6.1.0 -> 6.1.1 2026-05-03 18:20:12 -05:00
James Seibel 40b27335ea Add stack getting for render tasks 2026-05-03 16:45:23 -05:00
James Seibel d0b07a5d2f remove accidental debug code 2026-05-03 16:40:35 -05:00
James Seibel cb0fee9780 fix generic renderer buffer leak on level close 2026-05-03 16:36:32 -05:00
James Seibel 895e9276cd Fix GL buffer GC in RenderContainer canceling 2026-05-03 15:46:01 -05:00
James Seibel 9ee0af8b01 Add BasicPhantomReference for debugging 2026-05-03 15:45:52 -05:00
James Seibel 69941fb7f8 DhApiBlockColorOverrideEvent use default alpha 2026-05-02 21:15:48 -05:00
James Seibel 36862a968f fix rare skylight application bug 2026-05-02 21:14:54 -05:00
James Seibel 27204336b2 cleanup lod buffer container closing 2026-05-02 21:14:14 -05:00
James Seibel 4846cf5019 comment out unnecessary shutdown logging 2026-05-02 21:13:07 -05:00
James Seibel f7f3c1146f separate shared phantom logging logic 2026-05-02 21:12:26 -05:00
James Seibel aaa5e958f0 Fix LOD shading applying incorrectly with Iris 2026-05-02 15:14:25 -05:00
James Seibel 726da953bd Merge branch 'distant-horizons-core-optimizations' 2026-05-02 11:35:26 -05:00
James Seibel c4f4935fdd Remove unused mac render code 2026-05-02 10:36:44 -05:00
James Seibel 3ef8bd7e20 Add position finder debug config 2026-04-29 07:35:16 -05:00
James Seibel ec72762067 use camera pos for detail calculations 2026-04-28 07:09:22 -05:00
James Seibel 4d0ed2a6dc fix null pointer on dedicated server shutdown 2026-04-27 07:48:06 -05:00
James Seibel 7b252b173b Fix wyncraft getting stuck at low LOD quality 2026-04-27 07:27:03 -05:00
James Seibel 7b0c66e3ae up version number 3.0.2 -> 3.0.3 2026-04-24 06:51:39 -05:00
James Seibel 1b066327a8 remove dev from the version number 2026-04-24 06:50:47 -05:00
James Seibel 43d0a971f7 add todo commented code 2026-04-24 06:50:00 -05:00
James Seibel 9e60c698de move before render pass events into render api 2026-04-23 17:54:33 -05:00
James Seibel bf2affa6d1 Fix "fog" rendering when underwater with Iris 2026-04-23 17:39:40 -05:00
James Seibel 98f6cea86a Fix near clip plane to close with shaders 2026-04-23 17:09:24 -05:00
James Seibel 9ae01dc1f8 up api version 6.0.0 -> 6.1.0 2026-04-23 07:42:21 -05:00
James Seibel 40efc5cbf3 Add alpha to DhApiBlockColorOverrideEvent 2026-04-23 07:42:07 -05:00
James Seibel 66bba1c80a add opacity to API block state wrapper 2026-04-23 07:41:51 -05:00
James Seibel d9f3b31cc5 Add timeout to CSV block culling configs 2026-04-22 18:48:21 -05:00
James Seibel e465ef5325 Fix flashing when moving over root node boundaries 2026-04-22 18:36:09 -05:00
s809 225385a43f Clean up received payload buffer check a bit 2026-04-23 00:26:32 +05:00
James Seibel 7d7d07416b Fix quad tree unit tests 2026-04-22 07:41:44 -05:00
James Seibel 5ef308cbee fix rare race condition preventing world gen 2026-04-21 22:19:57 -05:00
James Seibel d61b601c14 fix potential exceptions after world shutdown 2026-04-21 22:19:46 -05:00
James Seibel 246c679a97 Maybe fix native GL crash due to buffer free 2026-04-21 21:40:20 -05:00
James Seibel 4b317a8e00 Fix garbage collector warning not using config 2026-04-21 19:59:17 -05:00
James Seibel 1debd4b875 Improve node out-of-bound logic
This fixes some overlapping rendering issues, fixes LOD generating outside of render distance, and fixes low-detail LODs flashing when moving into previously-explored LODs
2026-04-21 19:49:50 -05:00
James Seibel 5dcda31990 Try fixing LOD flashing/stuck low details 2026-04-21 07:48:07 -05:00
James Seibel ae16ed2341 Revert "Fix LODs loading outside render distance"
This reverts commit 2c266d2495.
2026-04-20 21:32:00 -05:00
James Seibel 2c266d2495 Fix LODs loading outside render distance
Fixes !1233
2026-04-19 21:48:26 -05:00
James Seibel 7e40546bc5 fix world gen not canceling for far away pos 2026-04-19 21:10:20 -05:00
James Seibel 5d391c83ea quad tree region/comment cleanup 2026-04-19 21:07:42 -05:00
James Seibel 0895bf53e3 renderDataPointUtil toString cleanup 2026-04-18 21:45:24 -05:00
James Seibel a7203f8f33 up version number 3.0.1 -> 3.0.2 2026-04-18 21:44:17 -05:00
James Seibel 22efbb211a remove dev from version number 2026-04-18 21:43:37 -05:00
James Seibel 95c4459d8a compile separate combined API jar 2026-04-18 15:47:23 -05:00
James Seibel 0ef11caaf2 API jar auto include sources 2026-04-18 12:07:24 -05:00
James Seibel 2e3dfab6c3 fix api javadoc compiling 2026-04-18 12:06:14 -05:00
James Seibel 42be139e94 remove google-collect 2026-04-18 11:07:12 -05:00
James Seibel f866e7f8e3 up version number 3.0.0 -> 3.0.1 2026-04-18 10:36:52 -05:00
James Seibel 53fcce9d7c remove dev from version number 2026-04-18 10:34:57 -05:00
James Seibel 7b8b22fd5a terrain data cash override close without exception 2026-04-15 07:46:49 -05:00
James Seibel 6f54cfacb5 fix unit test compiling 2026-04-14 20:38:05 -05:00
James Seibel 61eaf43ba0 Add DhApiBlockColorOverrideEvent 2026-04-14 20:35:38 -05:00
James Seibel 1d368e3adc Add DhApiBlockStateWrapperCreatedEvent 2026-04-14 19:43:37 -05:00
James Seibel 9e65e2dd4c comment/deprecate a few API events 2026-04-14 19:03:00 -05:00
James Seibel 2d878338cb Merge branch 'change/channel_name_compat' 2026-04-14 17:08:12 -05:00
James Seibel d62d21776d fix IBO buffer creation size 2026-04-12 15:17:48 -05:00
James Seibel a44c5d562d Move native dialog to common
Native dialog was changed with LWJGL 3.4.1
2026-04-12 13:53:31 -05:00
James Seibel 1d9bffe64e only run world gen for rendering levels
Also fix world gen progress getting stuck on a single level
2026-04-11 21:40:28 -05:00
James Seibel b4e0687e2a fix gitlab auto updater failing for MC 26 2026-04-11 16:58:23 -05:00
James Seibel 89804f1ba1 add documentation about nullable IDhApiUnsafeWrapper 2026-04-11 15:23:00 -05:00
James Seibel 9dbc5ef525 fix white beacons colored incorrectly 2026-04-11 12:34:10 -05:00
James Seibel e5dcb0999d minor optifine optimization 2026-04-11 11:11:48 -05:00
James Seibel 50e0e940d1 profile wrapper try-finally for pushes 2026-04-11 11:03:56 -05:00
James Seibel cb3e42fac4 Merge branch 'client-updates' into 'main'
Don't drop client updates if level is not loaded yet

See merge request distant-horizons-team/distant-horizons-core!98
2026-04-09 19:44:12 +00:00
Fabian Maurer 34cdaf02eb Don't drop client updates if level is not loaded yet 2026-04-08 22:53:58 +02:00
James Seibel 71e6b9b58e remove unused getFov() 2026-04-05 17:17:28 -05:00
Ran-Mewo 1ec342928f fix api tests 2026-03-30 17:06:05 +11:00
James Seibel d45a1379bd Fix running fabric via gradle/IDE 2026-03-29 16:04:37 -05:00
Ran-Mewo ecb3dce963 wao 2026-03-29 19:23:25 +11:00
James Seibel 2b8cddd424 disable thread pausing when render tasks exist 2026-03-27 07:00:38 -05:00
James Seibel 13895fec51 start cleaning up config 2026-03-24 19:37:52 -05:00
James Seibel 88c7245be6 change EDhApiRendererMode DEBUG -> DEBUG_TRIANGLE 2026-03-24 19:36:57 -05:00
James Seibel 6aad156a32 Fix Iris using the wrong far clip plane
https://github.com/IrisShaders/Iris/issues/2534
2026-03-24 07:16:31 -05:00
James Seibel 94535a213e LodRequestModule TODO cleanup 2026-03-22 21:40:32 -05:00
James Seibel 63d6d42356 ignore already closed repo close calls 2026-03-22 21:36:31 -05:00
James Seibel acecbede8e fix phantom log when there is sufficient memory 2026-03-21 16:57:38 -05:00
James Seibel e2a8953e4c minor cloud render cleanup 2026-03-21 16:35:33 -05:00
James Seibel 32eae23963 stage VBO/IBO upload and allow global IBO 2026-03-21 15:33:36 -05:00
James Seibel 480c3b3ec5 Drastically improve frame stability 2026-03-21 15:20:28 -05:00
James Seibel 6c0736a2a0 minor renderer refactoring 2026-03-19 07:28:41 -05:00
James Seibel c89abd414b Add render task profiling 2026-03-18 07:45:42 -05:00
James Seibel da2454b249 Add the ability to cull lilly pads, seaGrass, etc. 2026-03-15 20:53:21 -05:00
James Seibel 5933ef8245 Fix MC complaining about GL shader file names 2026-03-15 16:52:03 -05:00
James Seibel b9984c7723 remove unneeded chunk update warnings 2026-03-15 16:46:40 -05:00
James Seibel 2de50475f1 reduce the max time for render thread tasks 2026-03-15 16:19:33 -05:00
James Seibel bb838328a7 Show RenderApi config in UI 2026-03-15 16:15:34 -05:00
James Seibel 1980e64b2f Fix vertex buffer count calculation 2026-03-15 14:55:49 -05:00
James Seibel c3df26f5cb Disable Mac initial startup delay 2026-03-15 14:54:06 -05:00
James Seibel 17df533fa6 Improve warning logs for chunkUpdateManager 2026-03-14 15:55:38 -05:00
James Seibel 2393bdd8e8 clean up todo comments 2026-03-14 15:33:23 -05:00
James Seibel 082b364f52 default renderable box group to clean 2026-03-14 15:25:44 -05:00
James Seibel 8a39610b8c move beacon render enabling to LodQuadTree
Fixes beacons not always showing/hiding correctly
2026-03-14 14:32:19 -05:00
James Seibel aa53835772 fix generic rendering not uploading in some cases 2026-03-14 14:30:58 -05:00
James Seibel cd5a3ce52b Try fix concurrency issue with render closing 2026-03-14 10:18:40 -05:00
James Seibel 38e104a9fc Render task handler name tracking 2026-03-14 09:20:01 -05:00
James Seibel e27cee1f71 SharedApi set world lock 2026-03-14 09:19:41 -05:00
James Seibel 15d1d78954 Fix render task auto cleanup timer 2026-03-14 09:18:28 -05:00
s809 e2421c97ed Stop pregen on server shutdown 2026-03-13 00:47:44 +05:00
s809 8b72920652 Show real pregen speed quicker 2026-03-13 00:01:01 +05:00
s809 212031a05f Fix world generation not running with 0 players connected 2026-03-12 22:48:27 +05:00
s809 804293e291 Replace fix with debug wireframe stub 2026-03-12 22:38:37 +05:00
s809 cfdd464f30 Revert "Fix server not loading levels"
This reverts commit 4c9d703e15.
2026-03-12 21:12:04 +05:00
s809 4c9d703e15 Fix server not loading levels 2026-03-12 19:20:26 +05:00
James Seibel 0eba376e70 up Dh version 2.4.6 -> 3.0.0 2026-03-10 19:07:39 -05:00
James Seibel 89e6355d73 Merge branch 'blazeRender' 2026-03-10 19:06:58 -05:00
James Seibel 31b6d2dd05 Fix debug wireframes not rendering 2026-03-10 19:06:02 -05:00
James Seibel d75b65e6e7 hide render API config from UI 2026-03-10 18:44:48 -05:00
James Seibel 1bbe41c068 move GL shaders into the correct folder 2026-03-10 17:56:05 -05:00
James Seibel e426fc2380 Move lightmap wrapper methods into common 2026-03-10 17:33:55 -05:00
James Seibel 4e908b5b15 Make render interfaces consistent 2026-03-10 17:20:19 -05:00
James Seibel b51ab3d9cd clear up render task logging 2026-03-10 17:03:13 -05:00
James Seibel 9e7d0a1538 method rename 2026-03-10 16:58:57 -05:00
James Seibel 5b0bf59f00 fix iris rendering 2026-03-10 16:44:32 -05:00
James Seibel 0362d89173 Separate out some rendering logic 2026-03-10 14:50:53 -05:00
James Seibel 1b0f93db07 Changes for blaze/gl rendering config 2026-03-10 11:40:36 -05:00
James Seibel 559bad5676 Add rendering API definition 2026-03-09 20:12:40 -05:00
James Seibel f145444fd4 fix race condition in SharedApi setup 2026-03-09 20:07:31 -05:00
James Seibel 10b08ca116 Fix ClientApi profiler adding an incorrect layer 2026-03-09 19:14:21 -05:00
James Seibel 1dd244e889 Rename and reorganize render pass interfaces 2026-03-09 18:59:19 -05:00
James Seibel 2ea3d645e8 remove deprication warnings 2026-03-09 17:39:58 -05:00
James Seibel 49e34d78a5 update debug wireframe renderer 2026-03-09 17:35:24 -05:00
James Seibel 17cdb0f745 re-add some core rendering handlers 2026-03-09 16:35:17 -05:00
James Seibel 67b2467bee change where vertex size is found 2026-03-09 16:34:25 -05:00
James Seibel 82c832a4af Add RenderThreadTaskHandler 2026-03-09 16:30:45 -05:00
James Seibel c84dbfceaf update some imports 2026-03-09 16:26:48 -05:00
James Seibel 27b66940be Start moving OpenGL rendering to common 1 2026-03-09 16:22:55 -05:00
James Seibel 8240101a46 javadoc 2026-03-09 13:58:29 -05:00
James Seibel e1a932cf38 Only upload unique LOD uniforms once 2026-03-09 13:51:44 -05:00
James Seibel 39dd1c8509 renderable box cleanup 2026-03-09 12:28:49 -05:00
James Seibel fee0aadcbe MC -> blaze renaming 2026-03-09 12:19:53 -05:00
James Seibel a8c15d22c3 rename vbo containers 2026-03-09 11:16:50 -05:00
James Seibel bd833ba510 move blaze shader files 2026-03-09 09:57:03 -05:00
James Seibel a5a9a62e89 Fix ssao application 2026-03-08 21:14:48 -05:00
James Seibel e790bfb7e8 merge apply shaders 2026-03-07 14:32:02 -06:00
James Seibel 0f539f3a6f start separating out uniform logic 2026-03-05 17:32:19 -06:00
James Seibel d3f28f064b fix chunk update queue count flipped 2026-03-05 07:23:13 -06:00
James Seibel 40149bc1d1 fix chunk update queue count flipped 2026-03-05 07:23:02 -06:00
James Seibel 40703db763 uncomment deferred rendering 2026-03-05 07:22:22 -06:00
James Seibel 2a554395f7 debug rendering 2026-03-04 18:07:49 -06:00
James Seibel c3dce412fa Add far fade 2026-03-04 07:38:49 -06:00
James Seibel 225c2df8df add fog 2026-03-03 07:47:58 -06:00
James Seibel 84c212a780 add SSAO 2026-03-02 07:45:25 -06:00
James Seibel 3d9ae5f088 generic object rendering 2026-03-01 19:32:54 -06:00
James Seibel 200e089a33 re-add lighting 2026-02-28 12:13:34 -06:00
James Seibel 3f509be195 remove unneeded partial ticks from old vanilla fade 2026-02-28 11:34:48 -06:00
James Seibel 1a2c0b0be1 re-add vanilla fading 2026-02-28 11:34:39 -06:00
James Seibel c6a4355718 minor render cleanup 2026-02-28 08:13:26 -06:00
James Seibel 3e80961d18 Rough initial LOD renderering 2026-02-26 16:55:54 -06:00
James Seibel 9f483ee07a Fix fade test shader 2026-02-24 22:03:43 -06:00
James Seibel d1ba402f4d start of vanilla fade logic 2026-02-24 09:57:03 -06:00
James Seibel 87cead607f move test shader folder 2026-02-24 07:02:05 -06:00
James Seibel 1b2992f1dc proof-of-concept test renderer 2026-02-23 12:31:21 -06:00
James Seibel ed0e94ccb7 Fix chunks applying to the wrong dimension 2026-02-18 22:05:23 -06:00
James Seibel 364f8f7afc improve transformer comment 2026-02-18 07:08:44 -06:00
James Seibel 962f20460c Fix dark LODs with false tintWithAvoidedBlocks 2026-02-17 07:47:30 -06:00
James Seibel ce17ac71c6 Remove buffer mapping 2026-02-17 07:16:42 -06:00
James Seibel 5adb9afa0a always disable instanced rendering on mac 2026-02-16 07:16:32 -06:00
James Seibel 3c80c11888 comment on a partially broken unit test 2026-02-14 22:34:17 -06:00
James Seibel 0714697e05 Fix beacon update locks 2026-02-14 22:01:25 -06:00
James Seibel df52f41b87 Fix beacons not reloading (and improve logic) 2026-02-14 21:32:30 -06:00
James Seibel 66a1d0296e maybe fix deprecated warn in OptifineAcessor 2026-02-14 21:31:51 -06:00
James Seibel c827817a94 ClientLevelModule cleanup 2026-02-14 11:10:35 -06:00
James Seibel 9895676b63 Increase startup timeout for MAC 2026-02-14 08:32:44 -06:00
James Seibel 5d5c94e652 Force enable fog if MC is rendering fog
done to fix underwater/blindness rendering
2026-02-14 08:24:22 -06:00
James Seibel 0a568571d9 Add logs when changing vanilla settings 2026-02-13 07:49:31 -06:00
James Seibel 291c0470ad auto disable fancy graphics if enabled 2026-02-13 07:35:50 -06:00
James Seibel 2f4587579f Change quadElementBuffer to only use DATA 2026-02-13 07:35:38 -06:00
James Seibel 2d70388587 Maybe fix Mac crashing with sodium on world start? 2026-02-12 07:27:11 -06:00
James Seibel a758c0bb3f regions to initalizer 2026-02-12 07:13:05 -06:00
James Seibel dd6aed273d Hopefully fix a rare concurrency issue in buffer Builder 2026-02-11 07:45:42 -06:00
James Seibel e2d663ee34 remove some unneeded concurrency checks in render setup 2026-02-11 07:34:55 -06:00
James Seibel dfc920d9bb Fix a harmless error message 2026-02-11 07:15:49 -06:00
James Seibel c91631809e re-add chat warning if G1GC is used 2026-02-11 07:09:33 -06:00
James Seibel 457bbebbdd Reduce memory allocation slightly during LOD loading 2026-02-10 07:32:13 -06:00
James Seibel 4d3242a370 improve concurrency handling in LOD render loading 2026-02-09 07:44:03 -06:00
James Seibel f0d71027f1 Fix loosing some thread pool tasks 2026-02-09 07:43:53 -06:00
James Seibel a98d9239e6 document Vbo.getVertexCount() 2 2026-02-08 21:37:33 -06:00
James Seibel 365edd48f8 document Vbo.getVertexCount() 2026-02-08 21:37:17 -06:00
James Seibel 9f22e3f2b3 Improve render load error handling 2026-02-08 21:06:01 -06:00
James Seibel 78f83197d7 Hide non-rendering levels in the F3 screen 2026-02-08 20:42:32 -06:00
James Seibel 42ae79b76c remove deprecated OS enum (replaced by EPlatform) 2026-02-08 20:12:26 -06:00
James Seibel 1178ef0706 Remove unused ID mappings after data update
Requires re-downsampling all LODs
2026-02-08 19:56:24 -06:00
James Seibel a506d2ef1f FullDataSource regions 2026-02-08 19:55:09 -06:00
James Seibel 92d9e631a7 Fix update propagator only re-queueing once queue empty 2026-02-08 19:53:03 -06:00
James Seibel 8afe388eb6 DataIdMap to string 2026-02-08 19:52:32 -06:00
James Seibel df1dae70c2 FullDataPointUtil reformat 2026-02-08 19:52:23 -06:00
James Seibel 777ed9215a datasource v1 mapping decode cleanup 2026-02-08 17:25:27 -06:00
James Seibel 25f4bde825 delayed full data cache regions 2026-02-07 18:37:21 -06:00
James Seibel fbb1beb359 ConfigEntry tostring for debugging 2026-02-07 18:15:12 -06:00
James Seibel f0852235b2 LodQuadTree cleanup and todo remove 2026-02-07 18:13:27 -06:00
James Seibel 4faa82e895 DhServerLevel use base shouldDoWorldGen()
@pshsh @s809 do you know why DhServerLevel overrode AbstractDhServerLevel?
In a quick test it appears using the super method worked just fine.
2026-02-07 17:59:08 -06:00
James Seibel 7201df1eff retrieval queue cleanup 2026-02-07 17:57:03 -06:00
James Seibel b6b13843eb shader constructor cleanup 2026-02-07 17:46:30 -06:00
James Seibel 10208d4dfa fix vanilla fade order 2026-02-07 17:00:30 -06:00
James Seibel d04e156dd1 Move some world gen queue limiting into the LodQuadTree 2026-02-07 16:37:56 -06:00
James Seibel 19412f80c5 cleanup cloud render handler 2026-02-07 16:13:33 -06:00
James Seibel dea3557546 Add colors to the F3 screen 2026-02-07 14:14:13 -06:00
James Seibel a3c72dbcbc clientApi remove finished todo comments 2026-02-07 13:28:22 -06:00
James Seibel dffad16d27 Clean up ColumnArrayView 2026-02-07 13:20:06 -06:00
James Seibel 0a3756eb9d Remove swing UI classes 2026-02-07 13:19:44 -06:00
James Seibel 821acaa0b9 MovableGridRingList cleanup 2026-02-07 12:05:18 -06:00
James Seibel 0fc5c55712 ArrayGridList pos object merge 2026-02-07 11:55:16 -06:00
James Seibel c13d04ff2b vanillaFade shader cleanup 2026-02-07 11:54:44 -06:00
James Seibel c9925b0b6c full data point ID map regions 2026-02-07 11:00:51 -06:00
James Seibel 725602e61f handle extra sql db closed 2026-02-07 10:18:40 -06:00
James Seibel bdeeb4c93b remove TODO for LWJGL versioning 2026-02-07 10:01:05 -06:00
James Seibel b3185c00d6 Replace DhLodPos with DhSectionPos 2026-02-07 08:40:17 -06:00
James Seibel ce20d3da32 debug render cleanup 2026-02-07 08:31:51 -06:00
James Seibel 69653336bf Remove most SSAO configs
No one seems to need or use them so we can just hard-code in the values we know look good.
2026-02-05 21:58:30 -06:00
James Seibel 062f11df21 Change graphics configs from doubles to floats 2026-02-05 21:57:17 -06:00
James Seibel 9e68d11608 re-add ignored blocks to config UI 2026-02-05 21:37:37 -06:00
James Seibel 3d349cb292 Only allow rendering clouds in config set dimensions 2026-02-05 21:37:29 -06:00
James Seibel d13bd9c4d3 clean up QuadTree unit tests 2026-02-05 21:12:25 -06:00
James Seibel 4a256683ab comments and region for update prop threading 2026-02-05 18:01:21 -06:00
James Seibel 7325d57e88 Make GLState AutoClosable for more robustness 2026-02-05 17:36:40 -06:00
James Seibel 7348cb1c37 Remove incomplete standalone GUI and comment incomplete DB parsing 2026-02-05 17:29:19 -06:00
James Seibel 007a3bdefa remove legacy logo SVG
Still available in the core repo's misc folder
2026-02-05 17:11:29 -06:00
James Seibel 6d95eb1099 fix magic numbers for lightmap binding 2026-02-05 17:11:09 -06:00
James Seibel 86e21cdaf6 remove unused VertexFormats 2026-02-05 17:02:15 -06:00
James Seibel d0bb03288d Fix fog falloff config not being used 2026-02-05 16:57:39 -06:00
James Seibel be3e618aca shader reformatting 2026-02-05 16:49:30 -06:00
James Seibel 35d3614c88 add a TODO to GenFullDataSourceProvider 2026-02-05 07:40:47 -06:00
James Seibel ba32af2c58 improve priority task picker task counting 2026-02-05 07:40:34 -06:00
James Seibel 2a681ef8e6 Pool ZStd decompress contexts 2026-02-05 07:40:11 -06:00
James Seibel 24684b7760 Fix render loading queuing incorrectly 2026-02-05 07:39:58 -06:00
James Seibel d3d4312ff6 Handle cave block culling more generically 2026-02-04 07:47:54 -06:00
James Seibel 6086a8a957 null check to AbstractConfigBase 2026-02-04 07:47:18 -06:00
James Seibel cd2530ca88 cleanup TODO comments 2026-02-04 07:47:08 -06:00
James Seibel af0e5699e2 Fix !1088 (API config.getApiValue() not returning null) 2026-02-04 07:19:50 -06:00
James Seibel d0e14ac408 LZMA cache commenting 2026-02-03 21:32:16 -06:00
James Seibel 0636712f80 Fix a rare world gen phantom closing issue 2026-02-03 21:32:10 -06:00
James Seibel 9bfd2812a6 fix near clip plane flickering 2026-02-03 21:30:16 -06:00
James Seibel 5f12c9e1f3 rename normal.vert -> quadApply.vert 2026-02-03 20:50:45 -06:00
James Seibel f8f0e3f4b9 move phantom pool into a new namespace 2026-02-03 20:48:07 -06:00
James Seibel ac36ce4560 refactoring and TODO cleanup 2026-02-03 20:47:06 -06:00
James Seibel f2612f39c0 cleanup world gen queue todo comments 2026-02-03 20:35:15 -06:00
James Seibel e7e7bc866d Clean up RenderUtil near clip methods 2026-02-03 20:34:54 -06:00
James Seibel 39eed05d83 Fix Debug renderer on newer MC versions 2026-02-03 19:59:12 -06:00
James Seibel b0624c8714 up the api version 5.1.0 -> 6.0.0 2026-02-03 07:05:50 -06:00
James Seibel 40351d1894 Require a data cache for API Repo methods 2026-02-03 07:05:13 -06:00
James Seibel a488478b1d null check in level loading 2026-02-02 07:18:00 -06:00
James Seibel c4b49ef308 Remove MC Texture LodBias config 2026-02-02 07:17:49 -06:00
James Seibel b511ab4fb3 Add RenderWrapper.getPartialTickTime() 2026-02-02 07:09:06 -06:00
James Seibel bbf69c7911 Make generic object updating async 2026-01-31 17:33:03 -06:00
James Seibel 6de41cd384 LodRenderSection remove unused code 2026-01-31 16:01:34 -06:00
James Seibel 7e7ccf1f38 unindent RenberableBoxGroup 2026-01-31 12:50:16 -06:00
James Seibel 5a6aa00ae7 RenberableBoxGroup regions 2026-01-31 12:49:58 -06:00
James Seibel 9c71540928 clean up bufferQuad arg names 2 2026-01-31 12:49:49 -06:00
James Seibel ff1859de8d clean up BufferQuad arg names 2026-01-31 12:42:03 -06:00
James Seibel 00be9a3c4f Handle MC running at 0 FPS 2026-01-31 10:22:23 -06:00
James Seibel dfed2c8966 GLproxy regions 2026-01-31 09:16:44 -06:00
James Seibel b20aebb09c generic renderer regions 2026-01-31 09:15:22 -06:00
James Seibel 9cbe98f81b clean up more TODO comments 2026-01-30 07:49:24 -06:00
James Seibel a9bfc3fbe1 Clean up more TODOs 2026-01-29 07:48:10 -06:00
James Seibel c30e410132 Clean up some API TODOs 2026-01-29 07:14:30 -06:00
James Seibel 11cd36cdec Fix TODO in DependencyInjector 2026-01-28 07:20:05 -06:00
James Seibel 59e35ffad3 Fix beacons not rendering 2026-01-27 20:50:53 -06:00
James Seibel 7b26c0baeb Fix paused executors not running tasks 2026-01-27 20:49:54 -06:00
James Seibel 60e53ff20b remove debug log 2026-01-27 20:49:42 -06:00
James Seibel 0f756a370b Queue gen tasks outside the tree update thread 2026-01-27 20:06:25 -06:00
James Seibel f0f525ef79 Fix ZStd decompressions streams being to long 2026-01-27 20:05:50 -06:00
James Seibel 59a8e31507 Reduce GC pressure when loading LODs from disk 2026-01-27 18:21:08 -06:00
James Seibel 6d3288ec42 LodRenderSection remove rate limit and improve task ordering 2026-01-26 20:29:55 -06:00
James Seibel 4e979b1f00 LodQuadBuilder regions 2026-01-26 06:52:45 -06:00
James Seibel 396545340e Move Thread Pool stat string method 2026-01-26 06:52:07 -06:00
James Seibel 87bfbf1afe Add a bunch of TODO comments 2026-01-26 06:51:05 -06:00
James Seibel 4346a2e803 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2026-01-24 13:39:00 -06:00
James Seibel 6c228c1a17 Move Quad tree related objects 2026-01-24 13:38:02 -06:00
James Seibel d90361af59 Change LOD loading to start at lowest detail 2026-01-24 13:37:23 -06:00
s809 a0f06e4451 Merge branch 'feature/split-generation-toggles' 2026-01-18 22:39:43 +05:00
s809 2a4bfef7a6 Add correct descriptions 2026-01-18 22:38:01 +05:00
James Seibel 37d08b6dfa pause world gen when moving quickly 2026-01-17 17:03:43 -06:00
James Seibel eadf19405e add changes from DhRenderState 2026-01-17 16:15:46 -06:00
James Seibel f0757296f8 Add dynamic overdraw distance based on camera speed 2026-01-17 16:12:06 -06:00
James Seibel 3e29b361e6 Improve clientApi code regions 2026-01-17 10:46:45 -06:00
James Seibel 7b6fd03d78 Change render wrapper get Texture error returns 2026-01-17 09:56:21 -06:00
s809 7be65a2258 Split off server generation into a separate toggle 2026-01-17 01:43:05 +05:00
s809 1a540cf2bc Make sure payload chunk is readable 2026-01-14 22:17:46 +05:00
James Seibel 20fc2efb46 Improve concurrent iterating in QuadTree 2026-01-10 17:03:43 -06:00
James Seibel d8beba2498 minor cleanup in LodBufferContainer cleanup 2026-01-10 17:02:56 -06:00
James Seibel 9f0cb5a394 Add forge specific icon/logo
Done to fix a forge limitation where logos can't contain a file pathhttps://github.com/MinecraftForge/MinecraftForge/issues/7348
2026-01-10 11:56:08 -06:00
James Seibel df63401d11 DB updater use correct classloader 2026-01-10 08:21:09 -06:00
James Seibel db95951ade minor reformat and comment 2026-01-10 08:20:44 -06:00
s809 1e020f93a6 Reapply "Run plugin messages on a DH thread"
This reverts commit ff3145336d.
2026-01-09 20:29:23 +05:00
James Seibel 7aee6dfb44 Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2026-01-07 07:50:25 -06:00
James Seibel 546a51a295 expand distant beacon beams for visiblity 2026-01-07 07:50:22 -06:00
James Seibel ec7e791e9f Change EMinecraftColor -> MinecraftTextFormat
No need for an enum when all the values are strings
2026-01-06 07:10:40 -06:00
Jim C K Flaten b0e7c31964 Comment 2026-01-05 21:32:41 +01:00
James Seibel d60dec3d82 Merge branch 'main' into 'main'
Fix typo in high vanilla render distance warning

See merge request distant-horizons-team/distant-horizons-core!94
2026-01-05 13:00:17 +00:00
s809 89a80103f0 Wrong message target 2026-01-04 20:04:30 +05:00
s809 8e14a7223c Add a chat message for incompatible messages 2026-01-04 19:36:24 +05:00
Jim C K Flaten 2e906b57c4 Channel name should be 20 chars or shorter for compatibility with old version of Minecraft. 2026-01-03 23:36:46 +01:00
meanwhile131 7cf1e901f5 Fix typo in high vanilla render distance warning 2026-01-01 15:06:30 +04:00
James Seibel ba923fa829 Fix neoforge thread causing resource loading to fail 2025-12-26 14:13:27 -06:00
s809 505dbe2f62 Replace the failure state with future exceptions 2025-12-27 00:51:30 +05:00
James Seibel 48c5828e8f up version number 2.4.5 -> 2.4.6-dev 2025-12-24 22:41:27 -06:00
James Seibel eb2317934f up version number 2.4.4 -> 2.4.5 2025-12-24 22:06:53 -06:00
James Seibel 60537cda1b Replace MC color code strings with an enum 2025-12-24 22:04:50 -06:00
James Seibel 508ff2b776 Fix null pointer in ChunkUpdateQueueManager 2025-12-24 21:53:39 -06:00
James Seibel 7c4ac2bd7e remove dev from version number 2025-12-23 22:55:40 -06:00
James Seibel 8c13c2cf47 Fix toggling world gen not recreating queue 2025-12-23 22:55:40 -06:00
James Seibel 802019ff72 up DH api version 5.0.0 -> 5.1.0 2025-12-23 20:01:06 -06:00
James Seibel 141890556c Revert "remove deprecated getHeight() from DhApiLevelWrapper"
This reverts commit 50bdb73a52.
2025-12-23 19:56:28 -06:00
James Seibel 353838db41 add experimental option to ignore rendering dimensions by name 2025-12-23 12:22:00 -06:00
James Seibel f1547477c9 add clientLevelWrapper to DhApiRenderParam 2025-12-23 12:20:42 -06:00
James Seibel 535a645a84 minor internal API cleanup 2025-12-23 12:19:14 -06:00
James Seibel 2dc7f02b32 Remove experimental option onlyLoadCenterLods
option is now merged into main
2025-12-23 12:18:28 -06:00
James Seibel 50bdb73a52 remove deprecated getHeight() from DhApiLevelWrapper
use getMaxHeight() instead
2025-12-23 12:06:15 -06:00
James Seibel 53e6c95432 commenting DhTerrainShaderProgram 2025-12-23 08:57:51 -06:00
James Seibel 36f0029e45 Fix earth curvature shader compiling 2025-12-23 08:47:44 -06:00
s809 5067e970a2 Use another method to create a buffer 2025-12-23 12:50:02 +05:00
James Seibel 167ca94e69 Remove deprecated disableVanillaFog config 2025-12-22 20:31:24 -06:00
James Seibel 8d94b86bfd Hide network config changes by default 2025-12-22 14:51:29 -06:00
James Seibel a29567430e Net only log changed config values 2025-12-22 14:37:34 -06:00
James Seibel fb2dae48e2 re-enable remote timestamp getting 2025-12-22 14:21:12 -06:00
James Seibel 948b4bfd9c comment out debug log 2025-12-22 14:17:57 -06:00
James Seibel ca44256ca9 disable full data debug phantom array stacks 2025-12-22 14:17:47 -06:00
James Seibel a29b6a5aab remove unnecessary config appearance check 2025-12-22 14:17:13 -06:00
James Seibel 868254ccc8 try fixing rare leak in delayed data source cache
Didn't fix the problem, but shouldn't hurt
2025-12-22 14:16:34 -06:00
James Seibel 195fde8d73 quad tree spilt request cleanup 2025-12-22 13:58:26 -06:00
James Seibel ce7b9b94b6 fix/improve world gen/retrieval error handling 2025-12-22 13:58:26 -06:00
James Seibel 1f0c2e286a fix network splitting requests 2025-12-22 13:58:26 -06:00
James Seibel f79fd5e06f error handling in AbstactDhLevel chunk update 2025-12-22 13:58:26 -06:00
James Seibel 47c1d3955f failed attmpt to fix leaks
Breaks split world gen requests
2025-12-22 13:57:49 -06:00
James Seibel 2c5f5a3d4c minor refactors 2025-12-22 09:46:21 -06:00
James Seibel 81c533051e close errored data sources in full data provider 2025-12-22 08:35:15 -06:00
James Seibel 5cbe5ecfd8 Fix dis/re-enabling world gen queuing 2025-12-21 19:44:48 -06:00
James Seibel d4b4d28c9f Fix null error log in Data source provider 2025-12-21 08:53:27 -06:00
James Seibel b8e653b5f7 Fix phantom checkout not updating stack trace 2025-12-21 08:52:44 -06:00
James Seibel 80fea09598 Fix concurrency error in LodQuadTree 2025-12-21 08:52:25 -06:00
James Seibel 1d4f914a9f Merge branch 'worldGenRefactor' 2025-12-20 10:53:39 -06:00
James Seibel bf92dea2eb reduce stuttering at the cost of lighting quality 2025-12-20 10:52:51 -06:00
s809 2dd675b8da Handle generated LOD updates outside the render thread 2025-12-20 15:22:26 +05:00
s809 ff3145336d Revert "Run plugin messages on a DH thread"
This reverts commit 280181c91e.
2025-12-20 14:32:39 +05:00
James Seibel 280181c91e Run plugin messages on a DH thread 2025-12-19 16:54:29 -06:00
James Seibel 60232e713b refactor world gen queue 2025-12-19 16:54:07 -06:00
James Seibel 55d9030954 Remove extra particle for world gen 2025-12-18 10:20:01 -06:00
James Seibel 452bd75f5d remove chunkWrapper.isStillValid() 2025-12-18 10:18:07 -06:00
James Seibel 72be1e2602 Remove LodRenderSection.isFullyGenerated() 2025-12-18 10:17:36 -06:00
James Seibel 1c30213aca up version number 2.4.3 -> 2.4.4-dev 2025-12-18 10:04:41 -06:00
James Seibel e9a044308f remove dev from version number 2025-12-18 09:35:07 -06:00
James Seibel 1aabc0c792 remove chunkWrapper.isStillValid() 2025-12-18 09:35:02 -06:00
James Seibel 4a1513ed65 fix compiling 2025-12-17 22:41:22 -06:00
James Seibel 6d98c9cb84 start world gen refactoring 2025-12-17 22:39:23 -06:00
James Seibel b1b0642fbe LodRenderSection commenting/regions 2025-12-17 09:32:12 -06:00
James Seibel eecb28d11f Fix GLProxy error in multiplayer
Make some GLProxy methods static to prevent setup order issues
2025-12-17 09:02:07 -06:00
James Seibel 90564f2537 fix javadoc in LevelWrapper 2025-12-16 16:39:03 -06:00
James Seibel ded0b979cf Merge branch 'main' of gitlab.com:distant-horizons-team/distant-horizons-core 2025-12-16 14:45:57 -06:00
James Seibel ed9cc5485c Add SSAO fade out distance 2025-12-16 14:45:53 -06:00
s809 cbd5974657 Fix packet handle errors not showing on F3 screen 2025-12-17 00:15:55 +05:00
James Seibel 0e5fba58ab minor shader program refactor 2025-12-16 09:13:22 -06:00
James Seibel 2943e63382 slight light engine optimization 2025-12-15 14:37:15 -06:00
James Seibel 30564aade7 up version number 2.4.2 -> 2.4.3-dev 2025-12-15 10:17:28 -06:00
James Seibel aabb90ada6 remove dev from version number 2025-12-15 09:00:15 -06:00
James Seibel 963a8dc53f comment LevelWrapper getDimensionName() 2025-12-15 08:55:40 -06:00
James Seibel aa6d69385b Move GC warning into the log 2025-12-15 08:44:06 -06:00
James Seibel f42c9cf8fb Improve initial library check error handling 2025-12-14 22:29:08 -06:00
James Seibel 92e0011c8d Fix auto update success dialog 2025-12-14 21:50:56 -06:00
James Seibel c20d95a7c7 improve spacing for self updater version log 2025-12-14 21:21:45 -06:00
James Seibel 353aa1ed2c maybe improve ZStd version check 2025-12-14 21:20:42 -06:00
James Seibel 5aa43ebcc8 hide LODs when underwater 2025-12-14 17:22:35 -06:00
James Seibel b6145461b6 add note to ignored block CSV 2025-12-14 17:02:53 -06:00
James Seibel 478e431076 up version number 2.4.1 -> 2.4.2-dev 2025-12-14 17:00:34 -06:00
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 c67712d973 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-05-15 18:57:53 -05: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
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
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
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
s809 2664f96e0f Generation works, updates don't 2024-05-03 22:56:01 +05:00
s809 dde2bcc947 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-05-02 21:47:35 +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
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
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
s809 1cd2f75dd2 Fix compilation 2024-04-01 21:52:20 +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
s809 6829709123 Fix reconnection logic 2024-03-30 23:40:05 +05:00
s809 0d355f675a Incomplete 2024-03-26 00:30:57 +05:00
s809 af2f0e8582 Fix Forge 2024-03-18 21:37:58 +05:00
s809 3362570123 Add thread pool task buildup limiter 2024-03-16 12:28:38 +05:00
s809 e008eb8a13 Server side plugin networking
Untested port for Forge
2024-03-14 21:46:23 +05:00
s809 1f438d8f87 Fix world setting 2024-03-10 21:09:52 +05:00
s809 278ae04532 Initial buggy plugin channel support 2024-03-05 22:09:30 +05: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
s809 2e6c0ba356 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-02-22 23:06:21 +05: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
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
s809 48212ba746 Add another config option
Fix rate limiting issues (kinda)
2024-02-11 19:39:35 +05: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
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
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
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
s809 7e2019abd4 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-01-21 17:20:49 +05:00
s809 f0f3614b9d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-01-16 20:17:43 +05: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
s809 adc3f15c97 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-01-08 17:50:00 +05:00
s809 962f523af9 Fix 1.16.5 and 1.17.1 builds 2024-01-05 22:37:27 +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
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
s809 da60ca7560 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-21 19:17:51 +05:00
s809 a5a56c7eb7 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-21 11:47:51 +05:00
s809 ff8b1f24d0 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-20 23:18:57 +05: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
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
s809 077d72c23b Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-12-15 20:29:15 +05: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
s809 166cc55e3c Abstract away ChannelHandlerContext from user code 2023-11-27 23:46:05 +05:00
s809 f36bffa4b7 Add missing config entries in chat commands 2023-11-26 21:32:50 +05: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
s809 e98cf1f2b5 Hide all unrelated config entries 2023-11-23 20:58:09 +05: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
s809 c64d7fedd2 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-11-19 22:56:56 +05: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
s809 84d36df388 Do not clean up rendering on a dedicated server 2023-11-04 16:56:15 +05:00
s809 880abd0124 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-11-03 21:05:27 +05:00
s809 72274bfd7d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-10-30 15:26:29 +05:00
s809 9640169be9 Make post-relog update independent from generation toggle 2023-10-23 23:18:52 +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
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
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
s809 8bda3351b8 Make worldGenLoopingQueue lock free 2023-09-27 21:40:59 +05:00
Steveplays28 532f3adba8 Merge branch 'main-upstream' 2023-09-27 14:09:04 +02:00
s809 cc8b97f2fe Improve management of frequent real time updates 2023-09-26 22:03:04 +05:00
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
s809 4fb9126d49 Fix unloaded file check 2023-09-24 18:48:14 +05: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
s809 e4e6753a02 Add gen task rate display 2023-09-24 14:24:31 +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
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
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
s809 d325a69e3f Move context levels to requests 2023-09-21 10:16:34 +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
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
Steveplays28 f0a62c813a Merge remote-tracking branch 'upstream-core/main' 2023-09-12 17:35:29 +02:00
s809 21f03526f8 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-09-10 12:03:29 +05: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
Steveplays28 025484d5b4 Merge remote-tracking branch 'upstream-core/main' 2023-09-09 14:47:07 +02:00
Steveplays28 15e4b1316e Merge remote-tracking branch 'upstream-core/main' 2023-09-08 19:54:43 +02: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
s809 415f16507b Add post-rejoin updates 2023-09-02 01:23:56 +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
s809 517925a207 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-26 21:33:44 +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
Steveplays28 3630dc724d fix: Add null check to config GUI when adding a screen change listener 2023-08-22 10:52:19 +02:00
s809 627bfbc007 Incomplete 2023-08-21 22:08:35 +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
s809 ce4d50654d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-19 22:28:13 +05:00
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
s809 bf58654a10 Fix prioritization not working properly 2023-08-19 21:22:51 +05:00
Steveplays28 e4576c7d51 Merge remote-tracking branch 'upstream-core/main' 2023-08-19 11:41:38 +02: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
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
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
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
s809 0c155ac8cd Generation task prioritization (loaded > unloaded > ungenerated) 2023-08-13 18:59:08 +05:00
s809 271b193543 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-13 01:53:06 +05:00
s809 e4ac25f4ce Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-08 20:57:30 +05:00
s809 52f9e3e9e4 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-08-08 12:35:21 +05:00
s809 6bf32ff85c Add debug renderer for remote generation queue 2023-08-05 22:30:33 +05:00
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
s809 1788c18d59 Everything I've done so far (not working/finished) 2023-08-01 22:31:16 +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
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
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
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
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
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
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
747 changed files with 48247 additions and 32461 deletions
+1 -2
View File
@@ -4,14 +4,13 @@
[*] [*]
charset = utf-8 charset = utf-8
end_of_line = crlf
indent_size = 4 indent_size = 4
indent_style = space indent_style = space
insert_final_newline = false insert_final_newline = false
max_line_length = 1000 max_line_length = 1000
tab_width = 4 tab_width = 4
trim_trailing_whitespace = false trim_trailing_whitespace = false
ij_continuation_indent_size = 8 ij_continuation_indent_size = 4
ij_formatter_off_tag = @formatter:off ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = true ij_formatter_tags_enabled = true
+1
View File
@@ -0,0 +1 @@
Distant Horizons logos © 2024 by Pankakes are licensed under CC BY-SA 4.0
+3 -3
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. 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: Check out the mod's main GitLab page here:
https://gitlab.com/jeseibel/distant-horizons https://gitlab.com/distant-horizons-team/distant-horizons
## source code installation ## source code installation
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

+59 -23
View File
@@ -2,48 +2,63 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins { plugins {
id "java" id "java"
id "com.gradleup.shadow"
id "com.github.johnrengelman.shadow" version '7.1.2' apply false
} }
repositories {
shadowJar { mavenCentral()
// required for basic shadowJar setup
configurations = [project.configurations.shadow]
} }
task addSourcesToCompiledJar(type: ShadowJar) { tasks.withType(JavaCompile).configureEach {
options.release = 8
options.encoding = "UTF-8"
}
def sourceJarPath = "build/libs/DistantHorizons-api-${rootProject.versionStr}-sources.jar" configurations {
def secondJarFile = file(sourceJarPath) testImplementation.extendsFrom compileOnly
}
dependencies {
compileOnly "org.apache.logging.log4j:log4j-api:${rootProject.log4j_version}"
testImplementation "junit:junit:4.13"
}
java {
withSourcesJar()
}
task createReleaseApiJar(type: ShadowJar) {
mustRunAfter sourcesJar
dependsOn shadowJar
// the compiled "-all" jar is used since it's available at the time this task is run
def compiledJarPath = "build/libs/DistantHorizonsApi-${rootProject.api_version}-all.jar"
def compiledJarFile = file(compiledJarPath)
// doFirst is so these only run when the task is actually executed // doFirst is so these only run when the task is actually executed
doFirst { doFirst {
System.out.println("Adding source files from: \n" + System.out.println("Adding class files from: \n" +
"[" + sourceJarPath + "] to compiled API jar: \n" + "[" + compiledJarPath + "] to source API jar: \n" +
"[" + shadowJar.archivePath + "]") "[" + shadowJar.archiveFile.get().asFile + "]")
// Validate the input JAR file // Validate the input JAR file
if (!secondJarFile.exists()) { if (!compiledJarFile.exists()) {
throw new GradleException("Second JAR file not found: [${secondJarFile}]") throw new GradleException("Compiled JAR file not found: [${compiledJarFile}]")
} }
} }
// Set the name of the combined JAR file archiveFileName.set("DistantHorizonsApi-${rootProject.api_version}-combined.jar") // jar name
archiveFileName.set("DistantHorizonsApi-${rootProject.api_version}.jar") destinationDirectory = file('build/libs/') // jar location
// Set the destination directory for the combined JAR file
destinationDirectory = file('build/libs/merged/')
// Set the input JAR files to be combined // Set the input JAR files to be combined
from sourceSets.main.allJava from sourceSets.main.allJava
from { from {
configurations.shadow.collect { it.isDirectory() ? it : zipTree(it) } project.configurations.shadow.collect { it.isDirectory() ? it : zipTree(it) }
} }
// set the jars to merge // add the class files
from shadowJar.archivePath from zipTree(compiledJarFile)
from secondJarFile
// alternative method to Include the source files in the combined JAR // alternative method to Include the source files in the combined JAR
// and/or see which files are being included // and/or see which files are being included
@@ -77,6 +92,13 @@ task addSourcesToCompiledJar(type: ShadowJar) {
} }
} }
// always create a combined jar for easy deployment
assemble.dependsOn(createReleaseApiJar)
shadowJar {
// required for basic shadowJar setup
configurations = [project.configurations.shadow]
}
javadoc { javadoc {
options { options {
@@ -87,3 +109,17 @@ javadoc {
addStringOption('Xdoclint:all,-missing', '-quiet') addStringOption('Xdoclint:all,-missing', '-quiet')
} }
} }
// set the jar name
def configureJar = { task ->
// outputs in the format:
// "DistantHorizonsApi-6.0.0.jar"
// "DistantHorizonsApi-6.0.0-sources.jar"
task.archiveBaseName = rootProject.api_name
task.archiveVersion = rootProject.api_version
}
configureJar(tasks.named("jar").get())
configureJar(tasks.named("sourcesJar").get())
configureJar(tasks.named("shadowJar").get())
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -23,7 +23,9 @@ import com.seibel.distanthorizons.api.interfaces.events.IDhApiEventInjector;
import com.seibel.distanthorizons.api.interfaces.factories.IDhApiWrapperFactory; import com.seibel.distanthorizons.api.interfaces.factories.IDhApiWrapperFactory;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable; import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGeneratorOverrideRegister; 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.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.events.abstractEvents.DhApiAfterDhInitEvent;
import com.seibel.distanthorizons.api.methods.override.DhApiWorldGeneratorOverrideRegister; import com.seibel.distanthorizons.api.methods.override.DhApiWorldGeneratorOverrideRegister;
import com.seibel.distanthorizons.coreapi.ModInfo; import com.seibel.distanthorizons.coreapi.ModInfo;
@@ -123,10 +125,16 @@ public class DhApi
/** /**
* Used to create wrappers for Minecraft objects needed by other Distant Horizons API methods. * Used to create wrappers for Minecraft objects needed by other Distant Horizons API methods.
* @since API 1.1.0 * @since API 2.0.0
*/ */
public static IDhApiWrapperFactory wrapperFactory = null; 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;
} }
@@ -172,7 +180,7 @@ public class DhApi
* This version should be updated whenever non-breaking fixes are added to the Distant Horizons API. * This version should be updated whenever non-breaking fixes are added to the Distant Horizons API.
* @since API 1.0.0 * @since API 1.0.0
*/ */
public static int getApiPatchVersion() { return ModInfo.API_PATH_VERSION; } public static int getApiPatchVersion() { return ModInfo.API_PATCH_VERSION; }
/** /**
* Returns the mod's semantic version number in the format: Major.Minor.Patch * Returns the mod's semantic version number in the format: Major.Minor.Patch
@@ -198,7 +206,7 @@ public class DhApi
/** /**
* Returns true if the thread this method was called from is owned by Distant Horizons. * Returns true if the thread this method was called from is owned by Distant Horizons.
* @since API 1.1.0 * @since API 2.0.0
*/ */
public static boolean isDhThread() { return Thread.currentThread().getName().startsWith(ModInfo.THREAD_NAME_PREFIX); } public static boolean isDhThread() { return Thread.currentThread().getName().startsWith(ModInfo.THREAD_NAME_PREFIX); }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -24,7 +24,7 @@ package com.seibel.distanthorizons.api.enums;
* CHUNK - Detail Level: 4, width 16 block, <br> * CHUNK - Detail Level: 4, width 16 block, <br>
* REGION - Detail Level: 9, width 512 block <br> <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> * 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> * 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> * Example for the chunk detail level (4): 2^4 = 16 blocks wide <Br><br>
@@ -39,10 +39,6 @@ package com.seibel.distanthorizons.api.enums;
*/ */
public enum EDhApiDetailLevel public enum EDhApiDetailLevel
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** /**
* detail level: 0 <Br> * detail level: 0 <Br>
* width in Blocks: 1 * width in Blocks: 1
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -23,15 +23,11 @@ package com.seibel.distanthorizons.api.enums.config;
* NONE, <br> * NONE, <br>
* NON_COLLIDING, <br> * NON_COLLIDING, <br>
* *
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiBlocksToAvoid public enum EDhApiBlocksToAvoid
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
NONE(false), NONE(false),
NON_COLLIDING(true); NON_COLLIDING(true);
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -22,26 +22,23 @@ package com.seibel.distanthorizons.api.enums.config;
/** /**
* UNCOMPRESSED <br> * UNCOMPRESSED <br>
* LZ4 <br> * LZ4 <br>
* ZSTD <br> * Z_STD <br>
* XZ <br><br> * Z_STD_STREAM <br>
* LZMA2 <br><br>
* *
* Note: speed and compression ratios are examples * Note: speed and compression ratios are examples
* and should only be used for estimated comparisons. * and should only be used for estimated comparisons.
* *
* @version 2024-3-16 * @version 2024-3-16
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiDataCompressionMode public enum EDhApiDataCompressionMode
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** /**
* Should only be used internally and for unit testing. <br><br> * Should only be used internally and for unit testing. <br><br>
* *
* Read Speed: 1.64 MS / DTO <br> * Read Speed: 6.09 MS / DTO <br>
* Write Speed: 12.44 MS / DTO <br> * Write Speed: 6.01 MS / DTO <br>
* Compression ratio: 1.0 <br> * Compression ratio: 1.0 <br>
*/ */
@DisallowSelectingViaConfigGui @DisallowSelectingViaConfigGui
@@ -50,28 +47,42 @@ public enum EDhApiDataCompressionMode
/** /**
* Extremely fast (often faster than uncompressed), but generally poor compression. <br><br> * Extremely fast (often faster than uncompressed), but generally poor compression. <br><br>
* *
* Read Speed: 1.85 MS / DTO <br> * Read Speed: 3.25 MS / DTO <br>
* Write Speed: 9.46 MS / DTO <br> * Write Speed: 5.99 MS / DTO <br>
* Compression ratio: 0.3638 <br> * Compression ratio: 0.4513 <br>
*/ */
LZ4(1), LZ4(1),
/* /**
* Decent speed and good compression. <br><br> * Great speed and good compression. <br><br>
* *
* Read Speed: 11.78 MS / DTO <br> * Read Speed: 2.1 MS / DTO <br>
* Write Speed: 16.76 MS / DTO <br> * Write Speed: 4.9 MS / DTO <br>
* Compression ratio: 0.2199 <br> * Compression ratio: 0.2606 <br>
*/ */
//@Deprecated Z_STD_BLOCK(4),
//Z_STD(2),
/** /**
* Extremely slow, but very good compression. <br><br> * Similar to {@link EDhApiDataCompressionMode#Z_STD_BLOCK}
* except slower. <br><br>
* *
* Read Speed: 12.25 MS / DTO <br> * This option is only provided for legacy support when processing old databases. <br><br>
* Write Speed: 490.07 MS / DTO <br> *
* Compression ratio: 0.1242 <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); LZMA2(3);
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -20,7 +20,7 @@
package com.seibel.distanthorizons.api.enums.config; package com.seibel.distanthorizons.api.enums.config;
/** /**
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiGLErrorHandlingMode public enum EDhApiGLErrorHandlingMode
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -20,7 +20,7 @@
package com.seibel.distanthorizons.api.enums.config; package com.seibel.distanthorizons.api.enums.config;
/** /**
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiGlProfileMode public enum EDhApiGlProfileMode
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -23,35 +23,24 @@ package com.seibel.distanthorizons.api.enums.config;
* AUTO, <br> * AUTO, <br>
* BUFFER_STORAGE, <br> * BUFFER_STORAGE, <br>
* SUB_DATA, <br> * SUB_DATA, <br>
* BUFFER_MAPPING, <br>
* DATA <br> * DATA <br>
* *
* @author Leetom * @author Leetom
* @author James Seibel * @author James Seibel
* @version 2024-4-6 * @version 2024-4-6
* @since API 1.1.0 * @since API 3.0.0
*/ */
public enum EDhApiGpuUploadMethod public enum EDhApiGpuUploadMethod
{ {
/** Picks the best option based on the GPU the user has. */ /** Picks the best option based on the GPU the user has. */
AUTO(false, false), AUTO(false, false),
// commented out since it isn't currently in use
//BUFFER_STORAGE_MAPPING(true, true),
/** Fast rendering, no stuttering. */ /** Fast rendering, no stuttering. */
BUFFER_STORAGE(false, true), BUFFER_STORAGE(false, true),
/** Fast rendering but may stutter when uploading. */ /** Fast rendering but may stutter when uploading. */
SUB_DATA(false, false), SUB_DATA(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.
*/
BUFFER_MAPPING(true, false),
/** Fast rendering but may stutter when uploading. */ /** Fast rendering but may stutter when uploading. */
DATA(false, false); DATA(false, false);
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -24,15 +24,11 @@ package com.seibel.distanthorizons.api.enums.config;
* FADE_TO_DIRT <br> * FADE_TO_DIRT <br>
* AS_DIRT <br> * AS_DIRT <br>
* *
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-7 * @version 2024-4-7
*/ */
public enum EDhApiGrassSideRendering public enum EDhApiGrassSideRendering
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
AS_GRASS, AS_GRASS,
FADE_TO_DIRT, FADE_TO_DIRT,
AS_DIRT; AS_DIRT;
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -24,19 +24,14 @@ package com.seibel.distanthorizons.api.enums.config;
* LOW <br> * LOW <br>
* MEDIUM <br> * MEDIUM <br>
* HIGH <br> * HIGH <br>
* UNLIMITED <br> * EXTREME <br>
* *
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiHorizontalQuality public enum EDhApiHorizontalQuality
{ {
// Reminder: // Note: any quadraticBase less than 2.0f has issues with DetailDistanceUtil, and will always return the lowest detail level.
// when adding items up the API minor version
// when removing items up the API major version
// FIXME 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 // So for now we are limiting the lowest value to 2.0
// LOWEST was originally 1.0f and LOW was 1.5f // LOWEST was originally 1.0f and LOW was 1.5f
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -24,15 +24,11 @@ package com.seibel.distanthorizons.api.enums.config;
* ENABLED <br> * ENABLED <br>
* DISABLED <br> * DISABLED <br>
* *
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiLodShading public enum EDhApiLodShading
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** /**
* Uses Minecraft's shading for LODs. <Br> * Uses Minecraft's shading for LODs. <Br>
* This means if Minecraft's shading is disabled DH's shading will be as well. * This means if Minecraft's shading is disabled DH's shading will be as well.
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -17,28 +17,37 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.seibel.distanthorizons.core.enums; package com.seibel.distanthorizons.api.enums.config;
import org.apache.logging.log4j.Level;
/** /**
* Minecraft, <br> * ALL
* Lod_Builder, <br> * DEBUG
* Proxy_Worker, <br> * INFO
* None <br> * WARN
* ERROR
* DISABLED
* *
* @author James Seibel * @since API 5.0.0
* @version 10-1-2021 * @version 2024-4-6
*/ */
public enum EGLProxyContext public enum EDhApiLoggerLevel
{ {
/** Minecraft's render thread */ // ordered from most to least broad
MINECRAFT, 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; }
/** The context we send buffers to the GPU on */
LOD_BUILDER,
/** A context that can be used for miscellaneous tasks, owned by the GLProxy */
PROXY_WORKER,
/** used to un-bind threads */
NONE,
} }
@@ -1,54 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2023 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;
/**
* @since API 1.1.0
* @version 2024-4-6
*/
public enum EDhApiLoggerMode
{
DISABLED(Level.OFF, Level.OFF),
LOG_ALL_TO_FILE(Level.ALL, Level.OFF),
LOG_ERROR_TO_CHAT(Level.ALL, Level.ERROR),
LOG_WARNING_TO_CHAT(Level.ALL, Level.WARN),
LOG_INFO_TO_CHAT(Level.ALL, Level.INFO),
LOG_DEBUG_TO_CHAT(Level.ALL, Level.DEBUG),
LOG_ALL_TO_CHAT(Level.ALL, Level.ALL),
LOG_ERROR_TO_CHAT_AND_FILE(Level.ERROR, Level.ERROR),
LOG_WARNING_TO_CHAT_AND_FILE(Level.WARN, Level.WARN),
LOG_INFO_TO_CHAT_AND_FILE(Level.INFO, Level.INFO),
LOG_DEBUG_TO_CHAT_AND_FILE(Level.DEBUG, Level.DEBUG),
LOG_WARNING_TO_CHAT_AND_INFO_TO_FILE(Level.INFO, Level.WARN),
LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE(Level.INFO, Level.ERROR),
;
public final Level levelForFile;
public final Level levelForChat;
EDhApiLoggerMode(Level levelForFile, Level levelForChat)
{
this.levelForFile = levelForFile;
this.levelForChat = levelForChat;
}
}
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -33,7 +33,7 @@ import com.seibel.distanthorizons.coreapi.util.MathUtil;
* *
* @author James Seibel * @author James Seibel
* @author Leonardo Amato * @author Leonardo Amato
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiMaxHorizontalResolution public enum EDhApiMaxHorizontalResolution
@@ -64,10 +64,7 @@ public enum EDhApiMaxHorizontalResolution
/** How wide each LOD DataPoint is */ /** How wide each LOD DataPoint is */
public final int dataPointWidth; public final int dataPointWidth;
/** /** This is the same as detailLevel in LodQuadTreeNode */
* This is the same as detailLevel in LodQuadTreeNode,
* lowest is 0 highest is 9
*/
public final byte detailLevel; public final byte detailLevel;
/* Start/End X/Z give the block positions /* Start/End X/Z give the block positions
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -20,37 +20,35 @@
package com.seibel.distanthorizons.api.enums.config; package com.seibel.distanthorizons.api.enums.config;
/** /**
* NEVER, <br> * Handles how Minecraft's rendering
* DYNAMIC, <br> * is faded out to smooth the transition
* ALWAYS <br> <br> * between MC and DH rendering. <br><br>
* *
* This represents how far the LODs should overlap with * NONE, <br>
* the vanilla Minecraft terrain. * SINGLE_PASS, <br>
* DOUBLE_PASS, <br>
* *
* @author James Seibel * @since API 4.0.0
* @since API 1.1.0 * @version 2024-10-3
* @version 2024-4-6
*/ */
@Deprecated // not currently in use, if the config this enum represents is re-implemented, the deprecated flag can be removed public enum EDhApiMcRenderingFadeMode
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. * No fading is done, there will be a pronounced border between
* Use Overdraw Offset to tweak the border thickness. * Minecraft and Distant Horizons. <br>
* Fastest.
*/ */
NEVER, NONE,
/** /**
* Draw LODs over the farther minecraft chunks. * Fading only runs after the translucent render pass. <br>
* Dynamically decides the border thickness * Looks good for the tops of oceans and rivers, but
* doesn't fade the opaque blocks underwater.
*/ */
DYNAMIC, SINGLE_PASS,
/**
* Fading runs after both opaque and translucent render passes.
* Slowest, but oceans and rivers look better.
*/
DOUBLE_PASS;
/** Draw LODs over all minecraft chunks. */
ALWAYS,
} }
@@ -0,0 +1,17 @@
package com.seibel.distanthorizons.api.enums.config;
/**
* VULKAN, <br>
* OPEN_GL, <br>
*
* @see EDhApiRenderingEngine
*
* @since API 7.0.0
* @version 2026-3-10
*/
public enum EDhApiRenderingApi
{
VULKAN,
OPEN_GL;
}
@@ -0,0 +1,19 @@
package com.seibel.distanthorizons.api.enums.config;
/**
* AUTO, <br>
* OPEN_GL, <br>
* BLAZE_3D, <br><br>
*
* @see EDhApiRenderingApi
*
* @since API 7.0.0
* @version 2026-3-10
*/
public enum EDhApiRenderingEngine
{
AUTO,
OPEN_GL,
BLAZE_3D;
}
@@ -3,7 +3,7 @@
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2022 Tom Lee (TomTheFurry) * Copyright (C) 2022 Tom Lee (TomTheFurry)
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -30,16 +30,11 @@ package com.seibel.distanthorizons.api.enums.config;
* Determines how the multiplayer folders should be named. * Determines how the multiplayer folders should be named.
* *
* @author James Seibel * @author James Seibel
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiServerFolderNameMode public enum EDhApiServerFolderNameMode
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** Only use the server name */ /** Only use the server name */
NAME_ONLY, NAME_ONLY,
@@ -1,14 +1,41 @@
package com.seibel.distanthorizons.api.enums.config; package com.seibel.distanthorizons.api.enums.config;
import com.seibel.distanthorizons.coreapi.ModInfo;
/** /**
* AUTO, <br>
* STABLE, <br> * STABLE, <br>
* NIGHTLY, <br><br> * NIGHTLY, <br><br>
* *
* @since API 1.1.0 * @since API 2.1.0
* @version 2024-4-6 * @version 2024-6-8
*/ */
public enum EDhApiUpdateBranch public enum EDhApiUpdateBranch
{ {
AUTO,
STABLE, STABLE,
NIGHTLY 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;
}
}
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -26,21 +26,23 @@ import com.seibel.distanthorizons.coreapi.util.MathUtil;
* LOW <br> * LOW <br>
* MEDIUM <br> * MEDIUM <br>
* HIGH <br> * HIGH <br>
* VERY_HIGH <br>
* EXTREME <br> * EXTREME <br>
* PIXEL_ART <br>
* *
* @author Leonardo Amato * @author Leonardo Amato
* @version 2024-4-6 * @version 2024-4-6
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiVerticalQuality public enum EDhApiVerticalQuality
{ {
HEIGHT_MAP( new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}), HEIGHT_MAP( new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}),
LOW( new int[]{4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1}), LOW( new int[]{4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1}),
MEDIUM( new int[]{6, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1}), MEDIUM( new int[]{6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 1}),
HIGH( new int[]{16, 8, 4, 3, 3, 3, 3, 3, 3, 3, 1}), HIGH( new int[]{16, 16, 12, 12, 8, 8, 8, 8, 8, 8, 1}),
VERY_HIGH( new int[]{32, 16, 8, 4, 4, 3, 3, 3, 3, 3, 1}), VERY_HIGH( new int[]{32, 16, 12, 12, 12, 12, 12, 12, 12, 12, 1}),
EXTREME( new int[]{64, 32, 8, 4, 4, 3, 3, 3, 3, 3, 1}), EXTREME( new int[]{64, 32, 32, 32, 16, 16, 16, 16, 16, 16, 1}),
PIXEL_ART( new int[]{512, 64, 16, 8, 4, 3, 3, 3, 3, 3, 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 */ /** represents how many LODs can be rendered in a single vertical slice */
public final int[] maxVerticalData; public final int[] maxVerticalData;
@@ -51,7 +53,7 @@ public enum EDhApiVerticalQuality
public int calculateMaxVerticalData(byte dataDetail) public int calculateMaxNumberOfVerticalSlicesAtDetailLevel(byte dataDetail)
{ {
// for detail levels lower than what the enum defines, use the lowest quality item // for detail levels lower than what the enum defines, use the lowest quality item
int index = MathUtil.clamp(0, dataDetail, this.maxVerticalData.length - 1); int index = MathUtil.clamp(0, dataDetail, this.maxVerticalData.length - 1);
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -24,14 +24,10 @@ package com.seibel.distanthorizons.api.enums.config;
* VISUALLY_EQUAL <br><br> * VISUALLY_EQUAL <br><br>
* *
* @version 2024-3-27 * @version 2024-3-27
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiWorldCompressionMode public enum EDhApiWorldCompressionMode
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** /**
* Every block/biome change is recorded in the database. <br> * 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. * This is what DH 2.0 and 2.0.1 all used by default and will store a lot of data.
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -30,15 +30,11 @@ import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui
* HIGH, <br> * HIGH, <br>
* EXTREME, <br> * EXTREME, <br>
* *
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiQualityPreset public enum EDhApiQualityPreset
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
@DisallowSelectingViaConfigGui @DisallowSelectingViaConfigGui
CUSTOM, CUSTOM,
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -29,15 +29,11 @@ import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui
* BALANCED, <br> * BALANCED, <br>
* AGGRESSIVE, <br> * AGGRESSIVE, <br>
* *
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2024-4-6
*/ */
public enum EDhApiThreadPreset public enum EDhApiThreadPreset
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
@DisallowSelectingViaConfigGui @DisallowSelectingViaConfigGui
CUSTOM, CUSTOM,
@@ -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;
}
}
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -29,15 +29,10 @@ package com.seibel.distanthorizons.api.enums.rendering;
* @author Leetom * @author Leetom
* @author James Seibel * @author James Seibel
* @version 2024-4-6 * @version 2024-4-6
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiDebugRendering public enum EDhApiDebugRendering
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** LODs are rendered normally */ /** LODs are rendered normally */
OFF, OFF,
@@ -48,11 +43,7 @@ public enum EDhApiDebugRendering
SHOW_BLOCK_MATERIAL, SHOW_BLOCK_MATERIAL,
/** Only draw overlapping LOD quads. */ /** Only draw overlapping LOD quads. */
SHOW_OVERLAPPING_QUADS, SHOW_OVERLAPPING_QUADS;
/** LOD colors are based on renderSource flags. */
SHOW_RENDER_SOURCE_FLAG;
public static EDhApiDebugRendering next(EDhApiDebugRendering type) public static EDhApiDebugRendering next(EDhApiDebugRendering type)
{ {
@@ -65,7 +56,7 @@ public enum EDhApiDebugRendering
case SHOW_BLOCK_MATERIAL: case SHOW_BLOCK_MATERIAL:
return SHOW_OVERLAPPING_QUADS; return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS: case SHOW_OVERLAPPING_QUADS:
return SHOW_RENDER_SOURCE_FLAG; return OFF;
default: default:
return OFF; return OFF;
} }
@@ -76,8 +67,6 @@ public enum EDhApiDebugRendering
switch (type) switch (type)
{ {
case OFF: case OFF:
return SHOW_RENDER_SOURCE_FLAG;
case SHOW_RENDER_SOURCE_FLAG:
return SHOW_OVERLAPPING_QUADS; return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS: case SHOW_OVERLAPPING_QUADS:
return SHOW_DETAIL; return SHOW_DETAIL;
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -25,7 +25,7 @@ package com.seibel.distanthorizons.api.enums.rendering;
* *
* @author James Seibel * @author James Seibel
* @version 2024-4-6 * @version 2024-4-6
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiFogColorMode public enum EDhApiFogColorMode
{ {
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -24,20 +24,22 @@ package com.seibel.distanthorizons.api.enums.rendering;
* FOG_ENABLED, <br> * FOG_ENABLED, <br>
* FOG_DISABLED <br> * FOG_DISABLED <br>
* *
* @deprecated since API 4.0.0 since {@link EDhApiFogDrawMode#USE_OPTIFINE_SETTING} is no longer supported.
*
* @author James Seibel * @author James Seibel
* @since API 1.1.0 * @since API 2.0.0
* @version 2022-6-2 * @version 2022-6-2
*/ */
@Deprecated
public enum EDhApiFogDrawMode 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. * Use whatever Fog setting Optifine is using.
* If optifine isn't installed this defaults to FOG_ENABLED. * 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, USE_OPTIFINE_SETTING,
FOG_ENABLED, FOG_ENABLED,
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -25,18 +25,22 @@ package com.seibel.distanthorizons.api.enums.rendering;
* EXPONENTIAL_SQUARED <br> * EXPONENTIAL_SQUARED <br>
* *
* @author Leetom * @author Leetom
* @version 2022-6-30 * @version 2024-11-09
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiFogFalloff public enum EDhApiFogFalloff
{ {
// Reminder: LINEAR(0),
// when adding items up the API minor version EXPONENTIAL(1),
// when removing items up the API major version EXPONENTIAL_SQUARED(2);
LINEAR, /**
EXPONENTIAL, * Stable version of {@link EDhApiFogFalloff#ordinal()}
EXPONENTIAL_SQUARED, * @since API 4.0.0
*/
public final int value;
EDhApiFogFalloff(int value) { this.value = value; }
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -29,30 +29,25 @@ package com.seibel.distanthorizons.api.enums.rendering;
* *
* @author Leetom * @author Leetom
* @version 2024-4-6 * @version 2024-4-6
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiHeightFogMode public enum EDhApiHeightFogDirection
{ {
// Reminder: ABOVE_CAMERA (true, true, false),
// when adding items up the API minor version BELOW_CAMERA (true, false, true),
// when removing items up the API major version ABOVE_AND_BELOW_CAMERA (true, true, true),
ABOVE_SET_HEIGHT (false, true, false),
BELOW_SET_HEIGHT (false, false, true),
ABOVE_CAMERA(true, true, false), ABOVE_AND_BELOW_SET_HEIGHT (false, true, true);
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 basedOnCamera;
public final boolean above; public final boolean fogAppliesUp;
public final boolean below; public final boolean fogAppliesDown;
EDhApiHeightFogMode(boolean basedOnCamera, boolean above, boolean below) EDhApiHeightFogDirection(boolean basedOnCamera, boolean fogAppliesUp, boolean fogAppliesDown)
{ {
this.basedOnCamera = basedOnCamera; this.basedOnCamera = basedOnCamera;
this.above = above; this.fogAppliesUp = fogAppliesUp;
this.below = below; this.fogAppliesDown = fogAppliesDown;
} }
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -20,10 +20,11 @@
package com.seibel.distanthorizons.api.enums.rendering; package com.seibel.distanthorizons.api.enums.rendering;
/** /**
* BASIC <br> * SPHERICAL <br>
* IGNORE_HEIGHT <br> * CYLINDRICAL <br>
* ADDITION <br> * <br>
* MAX <br> * MAX <br>
* ADDITION <br>
* MULTIPLY <br> * MULTIPLY <br>
* INVERSE_MULTIPLY <br> * INVERSE_MULTIPLY <br>
* LIMITED_ADDITION <br> * LIMITED_ADDITION <br>
@@ -33,18 +34,40 @@ package com.seibel.distanthorizons.api.enums.rendering;
* *
* @author Leetom * @author Leetom
* @version 2024-4-6 * @version 2024-4-6
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiHeightFogMixMode public enum EDhApiHeightFogMixMode
{ {
BASIC, /**
IGNORE_HEIGHT, * Basic just means the fog will be based on the fragment depth
ADDITION, * not on any special height calculation IE spherical fog. <br><br>
MAX, *
MULTIPLY, * Not to be confused with {@link EDhApiHeightFogMixMode#CYLINDRICAL}
INVERSE_MULTIPLY, * which causes fog to only apply based on horizontal distance.
LIMITED_ADDITION, */
MULTIPLY_ADDITION, SPHERICAL(0),
INVERSE_MULTIPLY_ADDITION, /**
AVERAGE, * 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; }
} }
@@ -7,7 +7,7 @@ package com.seibel.distanthorizons.api.enums.rendering;
* *
* @author James Seibel * @author James Seibel
* @version 2024-1-30 * @version 2024-1-30
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiRenderPass public enum EDhApiRenderPass
{ {
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -20,22 +20,17 @@
package com.seibel.distanthorizons.api.enums.rendering; package com.seibel.distanthorizons.api.enums.rendering;
/** /**
* Default <br> * DEFAULT <br>
* Debug <br> * DEBUG_TRIANGLE <br>
* Disabled <br> * DISABLED <br>
* *
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2026-03-23
*/ */
public enum EDhApiRendererMode public enum EDhApiRendererMode
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
DEFAULT, DEFAULT,
DEBUG, DEBUG_TRIANGLE,
DISABLED; DISABLED;
@@ -45,8 +40,8 @@ public enum EDhApiRendererMode
switch (type) switch (type)
{ {
case DEFAULT: case DEFAULT:
return DEBUG; return DEBUG_TRIANGLE;
case DEBUG: case DEBUG_TRIANGLE:
return DISABLED; return DISABLED;
default: default:
return DEFAULT; return DEFAULT;
@@ -60,10 +55,10 @@ public enum EDhApiRendererMode
{ {
case DEFAULT: case DEFAULT:
return DISABLED; return DISABLED;
case DEBUG: case DEBUG_TRIANGLE:
return DEFAULT; return DEFAULT;
default: default:
return DEBUG; return DEBUG_TRIANGLE;
} }
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -21,30 +21,13 @@ package com.seibel.distanthorizons.api.enums.rendering;
/** /**
* DISABLED, <br> * DISABLED, <br>
* FAKE, <br>
* COMPLETE, <br> * COMPLETE, <br>
* *
* @since API 1.1.0 * @since API 2.0.0
* @version 2024-4-6 * @version 2026-05-19
*/ */
public enum EDhApiTransparency public enum EDhApiTransparency
{ {
// Reminder: DISABLED,
// when adding items up the API minor version COMPLETE;
// when removing items up the API major version
DISABLED(false, false),
FAKE(true, true),
COMPLETE(true, false);
public final boolean transparencyEnabled;
public final boolean fakeTransparencyEnabled;
EDhApiTransparency(boolean transparencyEnabled, boolean fakeTransparencyEnabled)
{
this.transparencyEnabled = transparencyEnabled;
this.fakeTransparencyEnabled = fakeTransparencyEnabled;
}
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -22,22 +22,18 @@ package com.seibel.distanthorizons.api.enums.worldGeneration;
/** /**
* PRE_EXISTING_ONLY <br> * PRE_EXISTING_ONLY <br>
* SURFACE <br> * SURFACE <br>
* FEATURES <br><br> * FEATURES <br>
* FULL <br><br>
* *
* In order of fastest to slowest. * In order of fastest to slowest.
* *
* @author James Seibel * @author James Seibel
* @author Leonardo Amato * @author Leonardo Amato
* @version 2022-12-10 * @version 2024-12-13
* @since API 1.0.0 * @since API 1.0.0
*/ */
public enum EDhApiDistantGeneratorMode public enum EDhApiDistantGeneratorMode
{ {
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** Don't generate any new terrain, just generate LODs for already generated chunks. */ /** Don't generate any new terrain, just generate LODs for already generated chunks. */
PRE_EXISTING_ONLY((byte) 1), PRE_EXISTING_ONLY((byte) 1),
@@ -73,7 +69,17 @@ public enum EDhApiDistantGeneratorMode
* NOTE: This may cause world generation bugs or instability, * NOTE: This may cause world generation bugs or instability,
* since some features can cause concurrentModification exceptions. * since some features can cause concurrentModification exceptions.
*/ */
FEATURES((byte) 5); 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);
@@ -0,0 +1,39 @@
/*
* 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;
/**
* OVERLAY <br>
* CHAT <br>
* LOG <br>
* DISABLED <br><br>
*
* @author James Seibel
* @version 2025-1-7
* @since API 4.0.0
*/
public enum EDhApiDistantGeneratorProgressDisplayLocation
{
OVERLAY,
CHAT,
LOG,
DISABLED;
}
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -20,6 +20,8 @@
package com.seibel.distanthorizons.api.enums.worldGeneration; package com.seibel.distanthorizons.api.enums.worldGeneration;
/** /**
* DOWN_SAMPLED, <br>
*
* EMPTY, <br> * EMPTY, <br>
* STRUCTURE_START, <br> * STRUCTURE_START, <br>
* STRUCTURE_REFERENCE, <br> * STRUCTURE_REFERENCE, <br>
@@ -37,6 +39,14 @@ package com.seibel.distanthorizons.api.enums.worldGeneration;
*/ */
public enum EDhApiWorldGenerationStep 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"), EMPTY(0, "empty"),
STRUCTURE_START(1, "structure_start"), STRUCTURE_START(1, "structure_start"),
STRUCTURE_REFERENCE(2, "structure_reference"), STRUCTURE_REFERENCE(2, "structure_reference"),
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -19,8 +19,8 @@
package com.seibel.distanthorizons.api.enums.worldGeneration; package com.seibel.distanthorizons.api.enums.worldGeneration;
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator; 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.concurrent.ExecutorService;
import java.util.function.Consumer; import java.util.function.Consumer;
@@ -28,29 +28,39 @@ import java.util.function.Consumer;
/** /**
* VANILLA_CHUNKS, <br> * VANILLA_CHUNKS, <br>
* API_CHUNKS <br> * API_CHUNKS <br>
* API_DATA_SOURCES <br>
* *
* @author Builderb0y, James Seibel * @author Builderb0y, James Seibel
* @version 2023-12-21 * @version 2024-10-5
* @since API 1.1.0 * @since API 2.0.0
*/ */
public enum EDhApiWorldGeneratorReturnType public enum EDhApiWorldGeneratorReturnType
{ {
/** /**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()}, * when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)} * {@link IDhApiWorldGenerator#generateChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain. * will be used when generating terrain.
* *
* @since API 1.1.0 * @since API 2.0.0
*/ */
VANILLA_CHUNKS, VANILLA_CHUNKS,
/** /**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()}, * when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateApiChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)} * {@link IDhApiWorldGenerator#generateApiChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain. * will be used when generating terrain.
* *
* @since API 1.1.0 * @since API 2.0.0
*/ */
API_CHUNKS; 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;
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -19,6 +19,8 @@
package com.seibel.distanthorizons.api.interfaces; package com.seibel.distanthorizons.api.interfaces;
import com.seibel.distanthorizons.api.interfaces.block.IDhApiBlockStateWrapper;
/** /**
* Implemented by wrappers so developers can * Implemented by wrappers so developers can
* access the underlying Minecraft object(s). * access the underlying Minecraft object(s).
@@ -38,7 +40,11 @@ public interface IDhApiUnsafeWrapper
* In order to cast this object to something usable, you may want * In order to cast this object to something usable, you may want
* to use <code>obj.getClass()</code> when in your IDE * to use <code>obj.getClass()</code> when in your IDE
* in order to determine what object this method returns for * in order to determine what object this method returns for
* the specific version of Minecraft you are developing for. * the specific version of Minecraft you are developing for. <br><br>
*
* Note:<br>
* This method may return null in some cases, IE {@link IDhApiBlockStateWrapper}
* when it is wrapping air.
*/ */
Object getWrappedMcObject(); Object getWrappedMcObject();
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -19,10 +19,14 @@
package com.seibel.distanthorizons.api.interfaces.block; package com.seibel.distanthorizons.api.interfaces.block;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiBlockMaterial;
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper; import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
/** /**
* A Minecraft version independent way of handling Blocks. * A Minecraft version independent way of handling Blocks. <br><br>
*
* Note: the wrapped object (IE the object returned by {@link IDhApiUnsafeWrapper#getWrappedMcObject})
* will be null if this object is wrapping air.
* *
* @author James Seibel * @author James Seibel
* @version 2023-6-11 * @version 2023-6-11
@@ -30,12 +34,31 @@ import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
*/ */
public interface IDhApiBlockStateWrapper extends IDhApiUnsafeWrapper public interface IDhApiBlockStateWrapper extends IDhApiUnsafeWrapper
{ {
/** @since API 1.0.0 */
boolean isAir(); boolean isAir();
/** @since API 1.0.0 */
boolean isSolid(); boolean isSolid();
/** @since API 1.0.0 */
boolean isLiquid(); boolean isLiquid();
// TODO: /**
// boolean hasNoCollision(); * Returns a value between 0 (fully transparent) and 16 (fully opaque).
// boolean noFaceIsFullFace(); * @since 6.1.0
*/
int getOpacity();
/**
* 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();
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -36,7 +36,6 @@ public interface IDhApiConfig
IDhApiWorldGenerationConfig worldGenerator(); IDhApiWorldGenerationConfig worldGenerator();
IDhApiMultiplayerConfig multiplayer(); IDhApiMultiplayerConfig multiplayer();
IDhApiMultiThreadingConfig multiThreading(); IDhApiMultiThreadingConfig multiThreading();
IDhApiGpuBuffersConfig gpuBuffers();
// 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. // 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 //IDhApiLoggingConfig logging(); // TODO implement
IDhApiDebuggingConfig debugging(); IDhApiDebuggingConfig debugging();
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -47,7 +47,7 @@ public interface IDhApiConfigValue<T>
* Returns the value of the config if it was set by the API. * 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. * Returns null if the config hasn't been set by the API.
* *
* @since API 1.1.0 * @since API 2.0.0
*/ */
T getApiValue(); T getApiValue();
@@ -68,7 +68,7 @@ public interface IDhApiConfigValue<T>
* use the value set in the config menu. * use the value set in the config menu.
* *
* @return true if the value was set, false otherwise. * @return true if the value was set, false otherwise.
* @since API 1.1.0 * @since API 2.0.0
*/ */
boolean clearValue(); boolean clearValue();
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -23,10 +23,10 @@ import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue; import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/** /**
* Distant Horizons' fog configuration. <br><br> * Distant Horizons' SSAO configuration. <br><br>
* *
* @author James Seibel * @author James Seibel
* @version 2022-9-6 * @version 2026-02-05
* @since API 1.0.0 * @since API 1.0.0
*/ */
public interface IDhApiAmbientOcclusionConfig extends IDhApiConfigGroup public interface IDhApiAmbientOcclusionConfig extends IDhApiConfigGroup
@@ -34,32 +34,4 @@ public interface IDhApiAmbientOcclusionConfig extends IDhApiConfigGroup
/** Determines if Ambient Occlusion is rendered */ /** Determines if Ambient Occlusion is rendered */
IDhApiConfigValue<Boolean> enabled(); 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();
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -44,7 +44,7 @@ public interface IDhApiFarFogConfig extends IDhApiConfigGroup
* 0.0 = fog starts at the camera <br> * 0.0 = fog starts at the camera <br>
* 1.0 = fog starts at the edge of the fake chunk render distance <br> * 1.0 = fog starts at the edge of the fake chunk render distance <br>
*/ */
IDhApiConfigValue<Double> farFogStartDistance(); IDhApiConfigValue<Float> farFogStartDistance();
/** /**
* Defines where the fog ends as a percent of the radius * Defines where the fog ends as a percent of the radius
@@ -54,18 +54,18 @@ public interface IDhApiFarFogConfig extends IDhApiConfigGroup
* 0.0 = fog ends at the camera <br> * 0.0 = fog ends at the camera <br>
* 1.0 = fog ends at the edge of the fake chunk render distance <br> * 1.0 = fog ends at the edge of the fake chunk render distance <br>
*/ */
IDhApiConfigValue<Double> farFogEndDistance(); IDhApiConfigValue<Float> farFogEndDistance();
/** Defines how opaque the fog is at its thinnest point. */ /** Defines how opaque the fog is at its thinnest point. */
IDhApiConfigValue<Double> farFogMinThickness(); IDhApiConfigValue<Float> farFogMinThickness();
/** Defines how opaque the fog is at its thickest point. */ /** Defines how opaque the fog is at its thickest point. */
IDhApiConfigValue<Double> farFogMaxThickness(); IDhApiConfigValue<Float> farFogMaxThickness();
/** Defines how the fog changes in thickness. */ /** Defines how the fog changes in thickness. */
IDhApiConfigValue<EDhApiFogFalloff> farFogFalloff(); IDhApiConfigValue<EDhApiFogFalloff> farFogFalloff();
/** Defines the fog density. */ /** Defines the fog density. */
IDhApiConfigValue<Double> farFogDensity(); IDhApiConfigValue<Float> farFogDensity();
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -42,22 +42,28 @@ public interface IDhApiFogConfig extends IDhApiConfigGroup
// inner configs // // inner configs //
//===============// //===============//
/** /** The advanced fog config. */
* The advanced fog config.
*/
IDhApiFarFogConfig farFog(); IDhApiFarFogConfig farFog();
/** /** The height fog config. */
* The height fog config.
*/
IDhApiHeightFogConfig heightFog(); IDhApiHeightFogConfig heightFog();
//====================// //====================//
// basic fog settings // // basic fog settings //
//====================// //====================//
/** Should be used to enable/disable fog rendering. */ /**
* Used to enable/disable DH fog rendering.
* @deprecated since API 4.0.0 use {@link IDhApiFogConfig#enableDhFog}
*/
@Deprecated
IDhApiConfigValue<EDhApiFogDrawMode> drawMode(); IDhApiConfigValue<EDhApiFogDrawMode> drawMode();
/**
* Used to enable/disable DH fog rendering.
*
* @since API 4.0.0
*/
IDhApiConfigValue<Boolean> enableDhFog();
/** Can be used to enable support with mods that change vanilla MC's fog color. */ /** Can be used to enable support with mods that change vanilla MC's fog color. */
IDhApiConfigValue<EDhApiFogColorMode> color(); IDhApiConfigValue<EDhApiFogColorMode> color();
@@ -65,7 +71,19 @@ public interface IDhApiFogConfig extends IDhApiConfigGroup
/** /**
* If enabled attempts to disable vanilla MC's fog on real chunks. <br> * If enabled attempts to disable vanilla MC's fog on real chunks. <br>
* May not play nice with other fog editing mods. * May not play nice with other fog editing mods.
*
* @deprecated since API 4.0.0 use {@link IDhApiFogConfig#enableVanillaFog()}
*/ */
@Deprecated
IDhApiConfigValue<Boolean> disableVanillaFog(); IDhApiConfigValue<Boolean> disableVanillaFog();
/**
* If set to false DH will attempt to disable vanilla MC's fog on real chunks. <br>
* May not play nice with other fog editing mods.
*
* @since API 4.0.0
*/
IDhApiConfigValue<Boolean> enableVanillaFog();
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -19,30 +19,28 @@
package com.seibel.distanthorizons.api.interfaces.config.client; package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup; import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue; import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/** /**
* Distant Horizons' OpenGL buffer configuration. * Distant Horizons' generic rendering configuration. <br><br>
* *
* @author James Seibel * @author James Seibel
* @version 2023-6-14 * @version 2024-7-11
* @since API 1.0.0 * @since API 3.0.0
*/ */
public interface IDhApiGpuBuffersConfig extends IDhApiConfigGroup public interface IDhApiGenericRenderingConfig extends IDhApiConfigGroup
{ {
/** Defines how geometry data is uploaded to the GPU. */
IDhApiConfigValue<EDhApiGpuUploadMethod> gpuUploadMethod();
/** /**
* Defines how long we should wait after uploading one * If enabled DH will render generic objects into its terrain pass. <br>
* Megabyte of geometry data to the GPU before uploading * This includes: clouds, beacons, and API added objects.
* the next Megabyte of data. <br>
* This can be set to a non-zero number to reduce stuttering caused by
* uploading buffers to the GPU.
*/ */
IDhApiConfigValue<Integer> gpuUploadPerMegabyteInMilliseconds(); IDhApiConfigValue<Boolean> renderingEnabled();
/** If enabled DH will render beacon beams. */
IDhApiConfigValue<Boolean> beaconRenderingEnabled();
/** If enabled DH will render clouds. */
IDhApiConfigValue<Boolean> cloudRenderingEnabled();
} }
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -41,6 +41,7 @@ public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
IDhApiFogConfig fog(); IDhApiFogConfig fog();
IDhApiAmbientOcclusionConfig ambientOcclusion(); IDhApiAmbientOcclusionConfig ambientOcclusion();
IDhApiNoiseTextureConfig noiseTexture(); IDhApiNoiseTextureConfig noiseTexture();
IDhApiGenericRenderingConfig genericRendering();
@@ -84,6 +85,18 @@ public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
/** Modifies the quadratic function fake chunks use for horizontal quality drop-off. */ /** Modifies the quadratic function fake chunks use for horizontal quality drop-off. */
IDhApiConfigValue<EDhApiHorizontalQuality> horizontalQuality(); IDhApiConfigValue<EDhApiHorizontalQuality> horizontalQuality();
/**
* If true DH will try to use the camera position when
* determining LOD quality drop-off. <br>
* If false DH will use the player's position.
* <br><br>
* Enabling helps free-cam mods render correctly. <br>
* Disabling helps multi-camera mods render correctly (ie Immersive Portals or camera mods).
*
* @since API 7.0.0
*/
IDhApiConfigValue<Boolean> useCameraPositionForQualityDropOff();
IDhApiConfigValue<EDhApiTransparency> transparency(); IDhApiConfigValue<EDhApiTransparency> transparency();
/** Defines what blocks won't be rendered as LODs. */ /** Defines what blocks won't be rendered as LODs. */
@@ -103,7 +116,7 @@ public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
* 2 = blending of 5x5 <br> * 2 = blending of 5x5 <br>
* ... <br> * ... <br>
*/ */
// IDhApiConfigValue<Integer> getBiomeBlending(); IDhApiConfigValue<Integer> getBiomeBlending();
@@ -121,21 +134,21 @@ public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
* Setting this to 0 will reduce/prevent holes in the world due to clipping to close to the camera * Setting this to 0 will reduce/prevent holes in the world due to clipping to close to the camera
* but may cause overdraw issues with transparent or non-full blocks. * but may cause overdraw issues with transparent or non-full blocks.
* *
* @since API 1.1.0 * @since API 2.0.0
*/ */
IDhApiConfigValue<Double> overdrawPreventionRadius(); IDhApiConfigValue<Float> overdrawPreventionRadius();
/** /**
* Modifies how bright fake chunks are. <br> * Modifies how bright fake chunks are. <br>
* This is done when generating the vertex data and is applied before any shaders. * This is done when generating the vertex data and is applied before any shaders.
*/ */
IDhApiConfigValue<Double> brightnessMultiplier(); IDhApiConfigValue<Float> brightnessMultiplier();
/** /**
* Modifies how saturated fake chunks are. <br> * Modifies how saturated fake chunks are. <br>
* This is done when generating the vertex data and is applied before any shaders. * This is done when generating the vertex data and is applied before any shaders.
*/ */
IDhApiConfigValue<Double> saturationMultiplier(); IDhApiConfigValue<Float> saturationMultiplier();
/** Defines if Distant Horizons should attempt to cull fake chunk cave geometry. */ /** Defines if Distant Horizons should attempt to cull fake chunk cave geometry. */
IDhApiConfigValue<Boolean> caveCullingEnabled(); IDhApiConfigValue<Boolean> caveCullingEnabled();
@@ -149,16 +162,10 @@ public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
/** If enabled vanilla chunk rendering is disabled and only fake chunks are rendered. */ /** If enabled vanilla chunk rendering is disabled and only fake chunks are rendered. */
IDhApiConfigValue<Boolean> lodOnlyMode(); IDhApiConfigValue<Boolean> lodOnlyMode();
/**
* Setting this to a non-zero number will modify vanilla Minecraft's LOD Bias,
* increasing how quickly its textures fade away.
*/
IDhApiConfigValue<Double> lodBias();
/** /**
* Determines how LODs should be shaded. * Determines how LODs should be shaded.
* *
* @since API 1.1.0 * @since API 2.0.0
*/ */
IDhApiConfigValue<EDhApiLodShading> lodShading(); IDhApiConfigValue<EDhApiLodShading> lodShading();
@@ -171,7 +178,7 @@ public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
* start/stop rendering incorrectly based on the camera direction, * start/stop rendering incorrectly based on the camera direction,
* but will also reduce FPS. * but will also reduce FPS.
* *
* @since API 1.1.0 * @since API 2.0.0
* @see IDhApiGraphicsConfig#disableShadowFrustumCulling() * @see IDhApiGraphicsConfig#disableShadowFrustumCulling()
*/ */
IDhApiConfigValue<Boolean> disableFrustumCulling(); IDhApiConfigValue<Boolean> disableFrustumCulling();
@@ -183,7 +190,7 @@ public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
* *
* Disable this if shadows render incorrectly. * Disable this if shadows render incorrectly.
* *
* @since API 1.1.0 * @since API 2.0.0
* @see IDhApiGraphicsConfig#disableFrustumCulling() * @see IDhApiGraphicsConfig#disableFrustumCulling()
*/ */
IDhApiConfigValue<Boolean> disableShadowFrustumCulling(); IDhApiConfigValue<Boolean> disableShadowFrustumCulling();
@@ -2,7 +2,7 @@
* This file is part of the Distant Horizons mod * This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License. * licensed under the GNU LGPL v3 License.
* *
* Copyright (C) 2020-2023 James Seibel * Copyright (C) 2020 James Seibel
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU Lesser General Public License as published by
@@ -21,7 +21,7 @@ package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogFalloff; import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogFalloff;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMixMode; import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMixMode;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMode; import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogDirection;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup; import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue; import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
@@ -42,31 +42,34 @@ public interface IDhApiHeightFogConfig extends IDhApiConfigGroup
/** Defines how the height fog mixes. */ /** Defines how the height fog mixes. */
IDhApiConfigValue<EDhApiHeightFogMixMode> heightFogMixMode(); IDhApiConfigValue<EDhApiHeightFogMixMode> heightFogMixMode();
/** Defines how the height fog is drawn relative to the camera or world. */ /**
IDhApiConfigValue<EDhApiHeightFogMode> heightFogMode(); * Defines which direction height fog is drawn relative to the world.
* @since API 4.0.0
*/
IDhApiConfigValue<EDhApiHeightFogDirection> heightFogDirection();
/** /**
* Defines the height fog's base height if {@link IDhApiHeightFogConfig#heightFogMode()} * Defines the height fog's base height if {@link IDhApiHeightFogConfig#heightFogDirection()}
* is set to use a specific height. * is set to use a specific height.
*/ */
IDhApiConfigValue<Double> heightFogBaseHeight(); IDhApiConfigValue<Float> heightFogBaseHeight();
/** Defines the height fog's starting height as a percent of the world height. */ /** Defines the height fog's starting height as a percent of the world height. */
IDhApiConfigValue<Double> heightFogStartingHeightPercent(); IDhApiConfigValue<Float> heightFogStartingHeightPercent();
/** Defines the height fog's ending height as a percent of the world height. */ /** Defines the height fog's ending height as a percent of the world height. */
IDhApiConfigValue<Double> heightFogEndingHeightPercent(); IDhApiConfigValue<Float> heightFogEndingHeightPercent();
/** Defines how opaque the height fog is at its thinnest point. */ /** Defines how opaque the height fog is at its thinnest point. */
IDhApiConfigValue<Double> heightFogMinThickness(); IDhApiConfigValue<Float> heightFogMinThickness();
/** Defines how opaque the height fog is at its thickest point. */ /** Defines how opaque the height fog is at its thickest point. */
IDhApiConfigValue<Double> heightFogMaxThickness(); IDhApiConfigValue<Float> heightFogMaxThickness();
/** Defines how the height fog changes in thickness. */ /** Defines how the height fog changes in thickness. */
IDhApiConfigValue<EDhApiFogFalloff> heightFogFalloff(); IDhApiConfigValue<EDhApiFogFalloff> heightFogFalloff();
/** Defines the height fog's density. */ /** Defines the height fog's density. */
IDhApiConfigValue<Double> heightFogDensity(); IDhApiConfigValue<Float> heightFogDensity();
} }

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