Compare commits

...

2962 Commits

Author SHA1 Message Date
s809 b2f98bdf63 Add tests 2024-09-26 17:39:05 +05:00
James Seibel fd0a4c55ac Change FullDataSourceDTO checksum/hash logic to hopefully be more consistent 2024-09-25 21:57:49 -05:00
James Seibel b0aa211464 Fix default generic rendering instanced mode 2024-09-25 18:44:39 -05:00
James Seibel 14e7918ea0 fix readme logo filepaths 2024-09-22 17:25:14 -05:00
James Seibel 524ea77ce5 Update readme logos 2024-09-22 17:23:35 -05:00
James Seibel 9f763bcd6a Add new logos 2024-09-22 17:18:33 -05:00
James Seibel 166875283c Fix cloud debug colors 2024-09-22 16:53:27 -05:00
James Seibel abb264bdf0 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2024-09-22 16:32:21 -05:00
James Seibel 70aa5724a9 Closes !68 (Allow toggling generic obj instanced rendering via config) 2024-09-22 16:32:10 -05:00
James Seibel 520d37f410 Add generic obj cube count to F3 menu 2024-09-22 16:31:06 -05:00
s809 29c2756e75 Merge branch 'feature/lan-support' 2024-09-23 00:46:30 +05:00
s809 6c278ea3b1 LAN multiplayer kinda works 2024-09-23 00:02:31 +05:00
s809 b18460b825 Abstract away serverside parts of world & level 2024-09-22 03:28:53 +05:00
James Seibel d0b50d9633 Add Sqlite library validation to Initializer 2024-09-21 11:45:44 -05:00
James Seibel c051b3584f Replace "jdbc:sqlite" with a constant 2024-09-21 11:43:58 -05:00
James Seibel d4cad8f718 Fix config file handler corruption due to reading/writing concurrently 2024-09-20 07:29:32 -05:00
James Seibel f7bf05b62f Update network semaphore comments 2024-09-17 07:40:28 -05:00
s809 840b0a7fe2 Bump protocol version because of removed InvalidSectionPosException 2024-09-17 12:41:46 +05:00
s809 5369bf628a Fix naming of some things and comments 2024-09-17 09:42:22 +05:00
James Seibel 79d2269218 Fix very high file handler jobs and pool some render data sources 2024-09-16 20:35:57 -05:00
James Seibel f21c791269 fix comment 2024-09-15 21:15:57 -05:00
James Seibel 11e58eecda Up API version 3.0.1 -> 4.0.0 2024-09-15 20:36:10 -05:00
James Seibel fbf13833a0 Up version 2.2.2 -> 2.3.0 2024-09-15 20:35:54 -05:00
James Seibel 2528f4a725 Merge server side branch and refactor 2024-09-15 20:35:38 -05:00
James Seibel 6d6cbd8a44 add more getDimensinoName() calls and minor cleanup 2024-09-11 17:11:55 -05:00
James Seibel 2fe3c261b0 Add DhClientWorld F3 debug string prep 2024-09-11 17:05:57 -05:00
James Seibel 5086f40d03 Add commit info to F3 screen 2024-09-11 17:04:18 -05:00
James Seibel 7766c49cbd Add DhChunkPos Vec3d constructor 2024-09-11 07:41:56 -05:00
James Seibel c6d86cfa3b remove unneeded IDimensionTypeWrapper.getTeleportationScale() 2024-09-11 07:40:44 -05:00
James Seibel 935cfec3d4 Add network compression thread config and pools 2024-09-11 07:37:39 -05:00
James Seibel ce2e64dc7e ClientOnlySaveStructure rename getDhDataFoldersForDimension -> getDhDataFoldersForLevel 2024-09-11 07:31:24 -05:00
James Seibel 15774ffe2a Only attempt to set Java Swing headless on clients 2024-09-11 07:25:01 -05:00
James Seibel 218cb04696 Don't load the client level in shouldLodsRender()
This might cause issues with the Replay mod, but we'll see
2024-09-11 07:20:29 -05:00
James Seibel 45fc36543b Add ILevelWrapper.getDimensionName() 2024-09-11 07:14:21 -05:00
James Seibel 554bb89690 remove unused message classes 2024-09-10 21:46:47 -05:00
James Seibel 2aa048b0cb Don't send chat messages on dedicated servers for configBasedLogger 2024-09-10 21:46:16 -05:00
James Seibel 570619b114 Ignore config preset UI updating when on the sever 2024-09-10 21:17:50 -05:00
James Seibel fb3e47ec3f Add FullDataSourceRepo.getTimestampForPos() 2024-09-10 20:46:18 -05:00
James Seibel 0f27dd79d7 minor refactoring and style cleanup 2024-09-10 07:24:56 -05:00
James Seibel abe0e284aa Remove unneeded networking classes 2024-09-10 07:15:37 -05:00
James Seibel 7a97b9dcbf Fix low quality LODs not loading when flying in a new straight line 2024-09-09 07:41:12 -05:00
James Seibel 23c98e2253 Clean up LodRenderSection async loading logic 2024-09-09 07:37:08 -05:00
James Seibel 06cce40ac6 hide attempting to... warnings for closed databases 2024-09-09 07:36:19 -05:00
s809 7cd1a37914 Restore ordering of session config entries 2024-09-08 21:21:38 +05:00
s809 8ca2052748 Refactor session config 2024-09-08 19:05:42 +05:00
James Seibel ce4259d98f add brown mushrooms to the list of ignored blocks to fix swamp issues 2024-09-07 14:22:41 -05:00
James Seibel d96ba5ae54 Add faster sky light engine from Builderb0y
Closes !67
2024-09-07 12:07:48 -05:00
s809 576d0f5666 Fix crash on F3 when commit hash was failed to retrieve 2024-09-07 21:47:43 +05:00
s809 877588ebed Fix rare NPE when receiving LODs 2024-09-07 21:47:02 +05:00
James Seibel 3bee25053f Add missing LightingTestChunkWrapper methods 2024-09-06 21:55:48 -05:00
James Seibel a75d3ec5b0 Fix unit test compiling 2024-09-06 19:36:32 -05:00
James Seibel d5222ed20f Closes #805 (Hide "Distant Horizons overloaded")
Also update chunks closest to the player first
2024-09-06 18:22:57 -05:00
s809 875b5fffcc Fix client crashing 2024-09-05 23:45:04 +05:00
James Seibel d03a887620 Add BuilderB0y's getBlockState optimization 2024-09-05 07:50:18 -05:00
s809 6293cc8c27 Prefill levelKeyPrefix in new worlds 2024-09-05 14:22:00 +05:00
James Seibel 847cfa3ca9 Add current size to rolling average 2024-09-04 16:40:17 -05:00
s809 0361e5c69b Fix compilation 2024-09-04 22:53:02 +05:00
s809 654355c991 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-09-04 18:22:47 +05:00
James Seibel 4712a77d00 Up version number 2.2.1 -> 2.2.2-dev 2024-09-04 06:58:59 -05:00
James Seibel 57c5b2d5fc Up version 2.2.1-dev -> 2.2.1 and API 3.0.0 -> 3.0.1 2024-09-04 06:58:20 -05:00
s809 a2949b8124 Change some string & remove unused config item 2024-09-03 16:52:10 +05:00
James Seibel 50c5701836 Fix referencing unavailable GLFW methods for MC 1.18.2 and lower 2024-09-02 08:00:43 -05:00
s809 6fe0477ca7 Limit number of retries on request errors
Add a delay if rate limit is hit
2024-09-02 15:31:39 +05:00
James Seibel 18e075538d Fix LODs flashing when moving and improve LodQuadTree code 2024-09-01 21:10:22 -05:00
James Seibel b00e8a08e9 add annotations to QuadTree 2024-09-01 21:09:50 -05:00
James Seibel ac4ab11a74 Fix LodRenderSection and QuadNode toString methods 2024-09-01 21:09:17 -05:00
James Seibel c26631db57 Cull beacons based on X/Z distance instead of 3D distance 2024-09-01 17:28:08 -05:00
James Seibel 1daa06fff4 Disable instanced rendering on Mac when Sodium is present
Closes !793 (Generic Rendering crashes with Sodium on M1 Mac)
2024-09-01 17:02:43 -05:00
James Seibel f3ef6f25f4 Fix some beacon rendering/updating issues 2024-09-01 16:36:37 -05:00
James Seibel ec012d9fd6 Fix glass panes not affecting beacon colors 2024-09-01 15:04:24 -05:00
James Seibel fc90cf3377 add disableUnchangedChunkCheck config 2024-08-31 22:11:25 -05:00
James Seibel e1e42d1caf Fix cloud color not matching MC 2024-08-31 21:55:54 -05:00
James Seibel 95ce29e355 Update all pos objects to use getters to match with DhBlockPos
I'd prefer not to need getters/setters since it's cleaner to just call pos.x, but that doesn't allow for immutable/mutable distinction.
2024-08-31 20:50:22 -05:00
James Seibel 0fd818b077 Allow users to re-activate DH rendering if a rendering error is thrown 2024-08-31 20:20:51 -05:00
James Seibel ba59daf747 Add beacon nearby culling 2024-08-31 20:20:24 -05:00
James Seibel b7d94c2ed1 Fix RenderableBoxGroup not supporting clear() 2024-08-31 20:06:04 -05:00
James Seibel 7a057a8d53 fix Lod builder not showing the correct stacktrace in Intellij 2024-08-31 15:04:30 -05:00
James Seibel 49c6ab97a9 Remove unused threadpool 2024-08-31 15:04:12 -05:00
James Seibel ed0d80b37e Reduce deplayed LOD modified save from 2 sec -> 500 ms
This should make some LOD update operations appear faster
2024-08-31 15:01:37 -05:00
James Seibel 9768728c92 Add RollingAverage object 2024-08-31 14:58:08 -05:00
James Seibel 0c68544f2f Fix DhLightingEngine putting lights at relative (0,0) and add debug logic 2024-08-31 12:45:39 -05:00
s809 048b36f80d Add comment 2024-08-31 20:50:50 +05:00
s809 40f902e2f5 Delay loading first level when on server 2024-08-31 20:46:58 +05:00
James Seibel b1f154a0ea Add DhBlockPosMutable and make the original immutable
This is to prevent issues with some methods accidentally mutating shared positions
2024-08-30 07:35:59 -05:00
James Seibel 628c9b071f DhBlockPos cleanup 2024-08-29 20:05:26 -05:00
James Seibel ed39b6181f Fix DH beacon detection logic mutating input block pos
alternate title: Fix DH beacon detection logic breaking the lighting engine
2024-08-29 19:54:36 -05:00
James Seibel 1d6d712483 Fix LODs not updating in the nether or when blocks are changed underground 2024-08-29 07:32:55 -05:00
s809 62ddb46674 Restore LOD fetching by distance 2024-08-29 17:09:08 +05:00
James Seibel 73c4f0ffcd Add a quick DH cloud UI config 2024-08-28 07:16:20 -05:00
s809 375cd44cbd Do not start generator until server responds with config 2024-08-27 16:35:22 +05:00
s809 ce057525d3 Show incompatible protocol version in F3 2024-08-27 16:02:15 +05:00
s809 01c879951c Fix sync on login 2024-08-26 16:53:59 +05:00
s809 4f19f05f3b Change naming of rate limit related items 2024-08-26 00:39:28 +05:00
s809 47f68c7ed3 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-08-24 02:58:17 +05:00
s809 39db421aa1 Remove mentions of generation task priorities 2024-08-23 17:28:15 +05:00
s809 f4b0c08822 Fix network compression pool not shutting down 2024-08-23 17:11:32 +05:00
s809 f17c3fa267 "Fix" buffer release errors in FullDataPayload 2024-08-23 14:16:20 +05:00
James Seibel 48d1005be6 Up version number 2.2.0 -> 2.2.1-dev 2024-08-20 19:16:18 -05:00
James Seibel e71e8d1966 Up version number 2.1.3-dev -> 2.2.0 2024-08-20 17:44:41 -05:00
James Seibel 489b3d3ae1 Fix Legacy GL causing fog to smear 2024-08-20 17:44:41 -05:00
s809 81e6f55dbf Use same packet resource for all versions 2024-08-19 17:55:59 +05:00
James Seibel 1b162f10e6 Add sharedApi.isChunkAtChunkPosAlreadyUpdating() 2024-08-18 14:46:12 -05:00
James Seibel 301cce3d11 Remove unused chunkUnloadEvent 2024-08-18 14:25:51 -05:00
James Seibel e68d0d5c45 Fix fog and SSAO being broken by some mods 2024-08-17 22:29:28 -05:00
s809 b5e2019d28 Add logging of request group lifecycle 2024-08-15 15:46:24 +05:00
James Seibel 2cf952fb76 Deprecate IDhApiWorldGenerator.isBusy(), task queuing is now handled internally 2024-08-12 22:20:06 -05:00
James Seibel c7c5ab17bc Add optional DhApiChunk validation for world gen 2024-08-12 21:47:48 -05:00
James Seibel a98955530f Allow adding empty lists to DhApiChunk 2024-08-11 22:01:24 -05:00
James Seibel c63a509f9e Fix DhApiChunk setDataPoints failing for empty lists 2024-08-11 21:55:11 -05:00
s809 84dca85447 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-08-11 20:59:23 +05:00
James Seibel dac51a9eea Add mod compat warning message config 2024-08-11 09:54:54 -05:00
s809 8c3e8136be Do not clear keyed level on close event 2024-08-10 23:53:22 +05:00
s809 606c157958 Make encode/decode error handling work correctly 2024-08-10 23:26:04 +05:00
s809 ba3677b641 Make error handling somewhat work 2024-08-10 19:49:33 +05:00
James Seibel 8d78a1ad74 Rename BeaconBeamDTO.pos -> blockPos 2024-08-09 07:25:49 -05:00
James Seibel 7c11bb4258 Fix beacons not enabling/disabling correctly 2024-08-09 07:25:24 -05:00
James Seibel 0d6ec3d836 Fix frustum culling when the screen is warped 2024-08-07 18:55:02 -05:00
s809 dee13a4ec4 Merge branch 'serverside-experimental/prevent-disconnects' into serverside 2024-08-07 22:20:29 +05:00
James Seibel 9449433fe8 Fix deleting beacons 2024-08-07 07:47:11 -05:00
James Seibel 2c976c9fb1 Improve fast chunk hash to respect surface block heights 2024-08-07 07:47:02 -05:00
James Seibel 90fdfbbe61 Fix direct memory leak and remove config for GpuUpload 2024-08-07 07:29:52 -05:00
James Seibel a8df13fdd2 Fix LodRenderSection holding onto unnecessary memory 2024-08-06 21:47:03 -05:00
James Seibel f05eac2637 test 2024-08-06 20:47:23 -05:00
s809 71e4cd6272 Fix real-time updates 2024-08-06 23:12:13 +05:00
s809 82c5de7dfe Fix Neoforge not being able to connect to vanilla servers 2024-08-05 14:51:17 +05:00
James Seibel 4ae30b3d47 Improve LOD detail level detection and hole filling 2024-08-04 08:30:58 -05:00
James Seibel 8abefdcfd5 Attempt to improve LOD building speed and reduce broken lighting on servers 2024-08-03 17:11:18 -05:00
James Seibel 801a126de0 Fix chunk has being saved before LOD update 2024-08-03 16:50:12 -05:00
James Seibel 377d0fbe12 Allow DhApiChunk to accept top down or bottom up data point orders 2024-08-03 09:32:57 -05:00
James Seibel 1ecf968668 Remove unused ChunkToLodBuilder 2024-08-03 09:32:29 -05:00
s809 9d11733444 Fix dimension switching (untested) 2024-08-03 15:42:43 +05:00
James Seibel c43b985f4e Fix off by 1 error in Render data transformer 2024-08-02 18:30:55 -05:00
James Seibel b7fea64925 Fix out of bounds exception in Full Data Transformer 2024-08-02 17:56:25 -05:00
s809 e62c6a5c55 [skip ci] Prevent disconnects on encode/decode/handle errors 2024-08-01 22:19:10 +05:00
James Seibel 116d7f4a3f Fix incorrect comment in DhSectionPos 2024-08-01 06:52:05 -05:00
James Seibel 0c36dc03a5 Fix cave culling affecting floating islands and add LOD reload to some configs 2024-07-31 19:06:44 -05:00
James Seibel c658269eb7 Remove deprecated methods and move method to StringUtil 2024-07-30 17:06:55 -05:00
James Seibel defaea86f0 Remove unused sodium and McRenderWrapper methods
Removed methods were originally used to cull LODs if MC had loaded chunks, however this turned out to be more trouble than it was worth and caused more problems than it solved.
2024-07-30 17:00:59 -05:00
James Seibel f1564cc90b Fix presets only using "custom" after any value was changed 2024-07-30 15:47:48 -05:00
James Seibel 66feb0b9c2 Fix SSAO shader crashing when entering empty config values 2024-07-30 15:35:01 -05:00
s809 93b57ae2e1 Increase defaults for network compression threads 2024-07-30 10:52:27 +05:00
James Seibel 79bfa21115 Fix default logging debug to file 2024-07-29 20:40:23 -05:00
James Seibel 5588b0d2fa Add TODO to cleanup LodRenderSection futures 2024-07-29 07:29:48 -05:00
James Seibel e9788acb46 Fix rapidly changing dimensions causing the game to crash 2024-07-29 07:13:06 -05:00
James Seibel 8056a5b8bf Add Buffer Builder/Uploader thread pools to the F3 menu 2024-07-29 07:08:42 -05:00
s809 e5033a0c0f Use FullDataPayload instead of reusing messages 2024-07-29 13:10:04 +05:00
James Seibel e0ad956e34 Fix incorrect DhApiChunk create constructor parameter order (again) 2024-07-28 20:18:15 -05:00
s809 32abe15b09 Add build number on F3 screen 2024-07-28 20:19:38 +05:00
s809 2b65e33aa7 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-07-28 19:44:25 +05:00
James Seibel 9546f9cbc8 Close !66 (fix incorrect positions being fed into biome color code) 2024-07-28 09:33:24 -05:00
s809 bc6ab6c840 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-07-28 19:01:28 +05:00
James Seibel 9834b20a9f Revert and Deprecate DhApiChunk and DhApiTerrainDataPoint constructors 2024-07-28 08:56:18 -05:00
James Seibel 752008e8ac Re-add deprecated IDhApiLevelWrapper.getHeight() 2024-07-28 08:55:54 -05:00
James Seibel fbe81021c0 Update API javadocs 2024-07-28 08:55:35 -05:00
s809 ccbb071704 Reapply "Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside"
This reverts commit d26cb41048.
2024-07-28 17:05:58 +05:00
James Seibel 882c5399bd Fix holes in LODs boarding different detail levels 2024-07-27 21:06:50 -05:00
James Seibel dbe0461d5f Fix LOD upload warning 2024-07-27 20:25:55 -05:00
James Seibel d3d166dd02 Undo experimental change to LOD reloading 2024-07-27 20:11:28 -05:00
James Seibel d0dd1f38ff Fix LODs flashing twice when changing configs 2024-07-27 20:11:00 -05:00
James Seibel 53300a3028 Update IDhApiRenderProxy.clearRenderDataCache() to also clear cached block colors 2024-07-27 17:36:40 -05:00
James Seibel 56303dd82a level wrapper renamings 2024-07-27 16:51:08 -05:00
s809 d26cb41048 Revert "Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside"
This reverts commit a15aaa573d, reversing
changes made to 83c1a2fd63.
2024-07-27 23:06:34 +05:00
s809 a15aaa573d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into serverside 2024-07-27 21:43:21 +05:00
James Seibel 19d8c89bd8 Fix ice/water vertical LOD lighting 2024-07-27 09:30:41 -05:00
James Seibel adba3e4c15 clear testing default debug config values 2024-07-27 08:40:59 -05:00
James Seibel 479ce8093e minor cleanup/refactor 2024-07-27 08:28:31 -05:00
James Seibel 1ed6c619d9 Add localization for new column builder debug options 2024-07-27 08:26:46 -05:00
Builderb0y 825f439ffb fix incorrect positions being fed into biome color code. 2024-07-27 02:32:31 +00:00
James Seibel b1b487e63f Improve RenderDataPointUtil toString() 2024-07-24 06:46:28 -05:00
James Seibel 2763a7ca75 add missing brackets 2024-07-23 20:41:22 -05:00
James Seibel b4b1a2a549 remove deprecated RenderDataPointUtil logic 2024-07-23 20:05:41 -05:00
James Seibel 5865317394 Remove deprecated LodQuadBuilder code 2024-07-23 19:53:13 -05:00
James Seibel b70c090e94 Refactor and cleanup buffer building 2024-07-23 19:39:44 -05:00
James Seibel a9f6b924c2 Move CubicLodTemplate to ColumnRenderBufferBuilder 2024-07-23 07:05:28 -05:00
James Seibel 9c25a6450a comment ColumnArrayView 2024-07-22 20:47:34 -05:00
James Seibel 448982fbaf refactor FullDataToRenderDataTransformer 2024-07-22 19:50:23 -05:00
James Seibel 2ee06c59f1 Add configs for testing the ColumnRenderBufferBuilder 2024-07-22 17:34:04 -05:00
James Seibel d38711ca4b Fix replay mod not showing LODs 2024-07-21 20:05:36 -05:00
James Seibel c9b650fb7f remove unused clientLevelWrapper.getGameDirectory() 2024-07-21 19:27:11 -05:00
James Seibel 3cef8b9a4f Improve cave culling and add config for ignored/cave blocks 2024-07-21 17:27:17 -05:00
James Seibel d9d9f3dad8 minor logging fixes 2024-07-21 17:06:58 -05:00
James Seibel 44fe1eafb1 Fix ConfigEntry String value saving 2024-07-21 16:09:46 -05:00
James Seibel 36fcc46445 Minor DataTransofmer refactor 2024-07-21 07:48:52 -05:00
James Seibel 64895ba521 Remove unnecessary suffix from SectionPos encode method 2024-07-21 07:42:40 -05:00
James Seibel 589340f2db Clean up SectionPos wording for chunk/block pos converters 2024-07-21 07:35:35 -05:00
James Seibel de7d22766a Fix RenderDataPointUtil.toString() ARGB order 2024-07-21 07:19:21 -05:00
James Seibel 568ff40df6 Fix API chunk world gen 2024-07-20 17:57:58 -05:00
s809 83c1a2fd63 Fix handler registration 2024-07-20 23:56:24 +05:00
James Seibel 17b5ba0ae1 Fix potential issues with WorldGenQueue not being marked as stopped
closes !61
2024-07-20 11:25:00 -05:00
James Seibel 4d4eeacbdd Add IDhApiWrapperFactory resourceLocation string methods for block/biomes 2024-07-20 11:20:48 -05:00
James Seibel 99dc644adf Add AbstractDhApiChunkWorldGenerator.generateApiChunk() 2024-07-20 10:45:43 -05:00
James Seibel f442ab56c0 Remove unnecessary glIsProgram() call 2024-07-18 07:40:04 -05:00
James Seibel 9147b139c7 Increase max VBO size 1 MB -> 10 MB 2024-07-18 07:39:52 -05:00
s809 0e904a388c Raise full data chunk size limit 2024-07-16 23:56:48 +05:00
s809 3723137fea Remove unused method 2024-07-16 23:52:28 +05:00
s809 71e54cc9ab Up protocol version 2024-07-16 23:51:30 +05:00
s809 b4cf962a85 Fix event handler registration 2024-07-16 23:40:20 +05:00
s809 1a30f240ef Client-side chunk handling 2024-07-16 17:49:09 +05:00
James Seibel 4f2b8e6d8d VBO handler commenting 2024-07-15 20:22:29 -05:00
s809 b3b5ac63c8 Server-side logic is pretty much finished 2024-07-16 00:27:22 +05:00
s809 16abc0faa1 [skip ci] Initial chunked full data message payloads 2024-07-15 07:57:20 +05:00
James Seibel 7165c086e4 Remove render param from DhApiAfterRenderEvent
This was causing confussion if deferred rendering (iris shaders) was enabled since the render parameters would change.
2024-07-14 09:30:56 -05:00
James Seibel fa22a4f27b Add a optional memory cache to the IDhApiTerrainDataRepo 2024-07-14 08:41:18 -05:00
James Seibel 9c0f5865f6 add missing genericRendering to IDhApiGraphicsConfig 2024-07-14 07:25:45 -05:00
James Seibel 1d0cb048cd Default logging to only write errors to chat 2024-07-13 12:54:21 -05:00
James Seibel 641d399a8e Merge branch 'distant-horizons-core-main' 2024-07-13 12:30:06 -05:00
James Seibel 32861e757d Add shader uniform "u" prefix 2024-07-13 12:04:05 -05:00
James Seibel 634738a1fc Remove minimum near fog distance and rename fog uniforms 2024-07-13 11:35:25 -05:00
James Seibel 859cbb6161 Fix fog reading/writing to the same buffer 2024-07-13 11:09:49 -05:00
James Seibel 6c960a81c0 testDisable beacon SSAO 2024-07-13 11:07:44 -05:00
James Seibel 1695c41ef2 Increase default fog start distance 2024-07-13 08:14:29 -05:00
James Seibel 8eabc6ad4c make clouds smaller and thinner 2024-07-12 21:47:06 -05:00
James Seibel a153ca1fe1 Fix repo connections not getting closed 2024-07-12 20:21:57 -05:00
James Seibel cab9f7c830 Clone API event parameters to reduce listener contamination 2024-07-12 19:22:20 -05:00
James Seibel 6bb832a488 Add renderEventParam to generic rendering shader binding by IMS request 2024-07-12 17:27:17 -05:00
s809 778c2f894e Fix level handling for real time updates 2024-07-12 23:11:36 +05:00
James Seibel e7dda9590a Add generic object setup/cleanup events 2024-07-12 07:15:57 -05:00
James Seibel 0483edd2f3 Fix material typo 2 2024-07-11 22:51:37 -05:00
James Seibel 122ef4dce0 Fix material typo 2024-07-11 22:07:09 -05:00
James Seibel e9d254f8c4 Add generic object materials 2024-07-11 18:12:58 -05:00
James Seibel 17aa85ad24 Add EDhApiBlockMaterial 2024-07-11 17:57:54 -05:00
James Seibel 8e1dfd688e Fix inverting gener rendering event cancling 2024-07-11 17:57:30 -05:00
James Seibel 691d5caded Add api for generic rendering config 2024-07-11 17:38:51 -05:00
James Seibel 31c089f82f Add DhApiBeforeGenericObjectRenderEvent 2024-07-11 17:32:17 -05:00
James Seibel 8eceeb0226 Add namespace/path to generic rendering (including F3 piechart) 2024-07-11 17:20:02 -05:00
James Seibel c178afa4b9 Minor refactoring/renaming 2024-07-11 16:40:32 -05:00
James Seibel 116df0d999 Add IDhApiGenericObjectShaderProgram 2024-07-11 16:35:38 -05:00
s809 2617cd294d Add cache for ignoring responses for cancelled requests 2024-07-11 23:06:23 +05:00
s809 43b421042d Add a comment to semaphores 2024-07-11 22:08:10 +05:00
s809 af69678545 Fix player tracking on server 2024-07-10 23:51:39 +05:00
James Seibel ef3cd4b43d Add "IP Only" to multiplayer tooltip 2024-07-10 07:45:07 -05:00
James Seibel 4b27f39a04 Fix generic rendering at extreme distances 2024-07-10 07:37:11 -05:00
James Seibel 53a2bf1748 mark ConfigLinkedEntry localization broken 2024-07-09 19:31:14 -05:00
James Seibel edec8bc0a2 Update localization 2024-07-09 19:30:59 -05:00
James Seibel 066b23c785 Add toggleable logging for GL Buffer garbage collection
Will need to be tested by someone who is experiencing issue #718, so far I've been unable to reproduce anything meaningful.
2024-07-09 17:40:21 -05:00
s809 85341f7a6d Add missing semaphore release 2024-07-09 18:06:16 +05:00
James Seibel 1f74f19cd9 minor cleanup 2024-07-09 07:49:56 -05:00
James Seibel 232c727b4f Move IBlockStateWrapper constants into LodUtil 2024-07-09 07:38:45 -05:00
James Seibel cd5da82d0c Add a TODO to LevelWrapper 2024-07-09 07:33:56 -05:00
James Seibel b762c0561d Add beacon colors 2024-07-09 07:33:17 -05:00
s809 9e0edd0cf3 Prevent request cancellation deadlock 2024-07-09 14:47:45 +05:00
James Seibel f144a9ebc1 Optimize beacon detection 2024-07-08 20:20:48 -05:00
James Seibel 29ef95387c Shrink cloud texture to improve performance 2024-07-08 19:56:20 -05:00
James Seibel 0d79a856b2 Add cloud greedy meshing 2024-07-08 18:45:42 -05:00
s809 84e90a7a9b Use dedicated thread pool for data compression 2024-07-08 23:07:58 +05:00
James Seibel bd5054e762 re-arrange the generic rendering config 2024-07-08 07:44:41 -05:00
James Seibel 63dea2515e Add generic rendering US localization 2024-07-08 07:42:56 -05:00
James Seibel baa89edd03 Add a few missing items from beacon render handler 2024-07-08 07:35:34 -05:00
James Seibel c45f9f442f Clean up beacon render handling logic 2024-07-08 07:32:29 -05:00
James Seibel 9e13b27197 Fix double unloading beacons 2024-07-07 19:54:17 -05:00
James Seibel 3c173685ea Fix beacons disappearing when unloading LODs 2024-07-07 19:45:27 -05:00
James Seibel 8eb70cbaed fix unloading chunks removing beacon beams 2024-07-07 19:18:40 -05:00
James Seibel 22167081f0 Fix generic render un-binding when moving between levels 2024-07-07 19:16:33 -05:00
James Seibel 23d07aa92d Disable cloud rendering if instanced rendering isn't available 2024-07-07 18:42:11 -05:00
James Seibel 578a9f9309 add directional shading to direct generic rendering 2024-07-07 18:31:43 -05:00
James Seibel bacdfa96e3 rename ILevelWrapper.getHeight -> getMaxHeight 2024-07-07 18:16:00 -05:00
James Seibel c73c3f8490 Add missing generic rendering config options 2024-07-07 18:11:18 -05:00
James Seibel f4a8bfeb0a Add cloud rendering 2024-07-07 18:02:43 -05:00
James Seibel 197e6e8178 add vec3f distance methods 2024-07-07 14:52:30 -05:00
s809 48a8cdc365 Disable parent update propagation 2024-07-07 19:46:47 +05:00
s809 171e6b9bcd Reset state of level detection on world exit 2024-07-07 01:49:44 +05:00
James Seibel c2c8bf8613 minor generic render refactor 2024-07-05 06:56:46 -05:00
James Seibel fce703579f Fix concurrent modification for GenericObjectRenderer 2024-07-04 21:41:57 -05:00
James Seibel e98f17f63b Remove useless IServerLevelWrapper.tryGetClientLevelWrapper() 2024-07-04 16:23:39 -05:00
James Seibel 120dddf844 Fix Api client level not containing the generic renderer 2024-07-04 16:14:32 -05:00
James Seibel ca711bbc72 Instance beacon rendering 2024-07-04 14:34:12 -05:00
James Seibel cc4cb10307 Fix uploading generic objects crashing 2024-07-04 14:34:01 -05:00
James Seibel 88db5c9594 re-add generic rendering to the API 2024-07-03 22:37:52 -05:00
James Seibel 81bfa9a02b Add generic rendering to the F3 menu 2024-07-03 20:46:11 -05:00
James Seibel ae72e627c5 Add a config to use pre-existing lighting 2024-07-03 20:30:49 -05:00
James Seibel 131b2835e5 Make generic renderer level dependent 2024-07-02 22:11:06 -05:00
James Seibel 5b905a9ab3 minor LodRenderer refactor 2024-07-02 19:23:02 -05:00
James Seibel e90c7cd8a0 Add beacon activation logic from merge 60
Closes !60
2024-07-02 17:50:25 -05:00
James Seibel 3b4a0ff4bc test 2024-07-02 17:08:55 -05:00
James Seibel 55cb4595bd Fix beacons un-loading incorrectly in some situations
Specifically neighboring chunks updating and in some cases flying away too fast
2024-07-02 07:50:21 -05:00
James Seibel e91afc17a3 Fix beacon beams for loaded chunks 2024-07-01 19:02:36 -05:00
James Seibel 6a398e6514 Start adding beacon beam repo handling 2024-07-01 07:51:08 -05:00
James Seibel 51de347bdd Add temporary proof-of-concept beacon rendering 2024-06-30 18:08:47 -05:00
James Seibel 72d6cb9697 Disable debug generic object rendering 2024-06-30 18:08:00 -05:00
James Seibel 4a025de9d6 Add generic object sky/block light 2024-06-30 17:45:50 -05:00
James Seibel 6c8060fa87 Up API version 2.1.0 -> 3.0.0 2024-06-30 16:33:54 -05:00
James Seibel 0c0987b66b Replace Vec3f and Mat4f in API with API versions 2024-06-30 16:33:38 -05:00
James Seibel 5a71e4015c Add javadocs to generic rendering objects 2024-06-30 15:28:00 -05:00
James Seibel f68edcbfea Add debug render code toggle 2024-06-30 14:38:35 -05:00
James Seibel aefa0d6797 generic renderable active flag and renaming cube -> box 2024-06-30 14:27:09 -05:00
s809 7e48c49e33 Make data source encoding lazy and move it off server thread 2024-07-01 00:15:54 +05:00
James Seibel 305a6bb459 Improve generic rendering pos objects 2024-06-30 14:02:44 -05:00
James Seibel 28c8614550 Store generic object instance VBOs if possible 2024-06-30 13:46:03 -05:00
s809 1b48d61d3f Rename CloseEvent 2024-06-30 22:35:41 +05:00
James Seibel f282d78fb9 minor generic obj cleanup 2024-06-30 09:31:45 -05:00
James Seibel 7f8b5579c5 Add generic rendering profilers and move some vertex attribs to uniforms 2024-06-30 09:25:12 -05:00
yeshi db786290e8 tell user to restart the game if the renderer dies 2024-06-29 21:56:38 +02:00
James Seibel 2c71d97c15 fix instanced generic duplicate rendering 2024-06-29 11:00:53 -06:00
James Seibel bf1361c7c3 GenericObjectRenderer forgot cached uniform location 2024-06-29 10:34:58 -06:00
James Seibel f2bba7f3df Add instanced and direct genericObject rendering 2024-06-29 10:29:30 -06:00
James Seibel 62e5183c54 Improve GLProxy creation validation/logging 2024-06-29 10:18:27 -06:00
James Seibel c1a90c9350 Add instanced generic object rendering 2024-06-29 09:11:49 -06:00
James Seibel 0d0826f319 Separate out Generic object rendering 2024-06-28 16:53:05 -06:00
s809 47541fa99c Move fixing the dimension name into even more correct place 2024-06-28 23:18:24 +05:00
s809 13638cedee Move fixing the dimension name into correct place 2024-06-28 19:28:36 +05:00
s809 4cdf31cfe8 Fix paths unable to be created on Windows 2024-06-28 17:25:09 +05:00
s809 3ff9a93066 Fix test compilation failing 2024-06-28 15:52:39 +05:00
s809 083a036666 Use level's ResourceLocation instead of dimension type's 2024-06-28 15:28:33 +05:00
James Seibel 6bfa3a422e Move generic cube rendering into it's own class 2024-06-27 06:36:30 -06:00
James Seibel 352abc40e6 Add proof-of-concept cube rendering 2024-06-27 06:22:15 -06:00
s809 a0efe44e8d Clean up package structure 2024-06-26 23:57:37 +05:00
James Seibel 58d26dedd6 Show overloaded message in chat and increase message timeout 5 -> 30 sec 2024-06-26 12:58:18 -05:00
s809 8d110e22dd Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into refactor/remove-tcp-connection 2024-06-26 15:13:03 +05:00
s809 4d6e11fdeb Fix compilation 2024-06-26 14:55:21 +05:00
s809 454b15ff60 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into refactor/remove-tcp-connection 2024-06-26 14:54:00 +05:00
James Seibel 321afa2a9e Up version 2.1.2 -> 2.1.3-dev 2024-06-25 19:25:30 -05:00
James Seibel 71ffbfb7b9 add "warning" to the low memory warning message 2024-06-25 19:24:07 -05:00
James Seibel 2ab7949ce5 Fix database file paths 2024-06-25 19:23:53 -05:00
James Seibel 28e1eaae77 Up version 2.1.1-dev -> 2.1.2 2024-06-24 20:53:36 -05:00
James Seibel 30dda058fe Throw an exception if the file handler can't read/write to the DB 2024-06-23 08:22:35 -05:00
James Seibel 0d16c037f5 Increase default world gen timeout to 3 minutes (from 60 sec) 2024-06-18 07:11:48 -05:00
James Seibel 7f50de17c0 Fix file handler tooltip 2024-06-17 07:40:49 -05:00
James Seibel 67819b30eb Improve F3 menu logic and visuals 2024-06-15 19:20:20 -05:00
s809 d2f4972693 Put messages received before player joining into queue 2024-06-16 00:45:16 +05:00
James Seibel ad38722304 add a todo to shared api 2024-06-15 11:26:46 -05:00
James Seibel 4da48c4c55 Lower the default CPU presets 2024-06-15 11:26:01 -05:00
James Seibel 6542e9e889 comment out unused showMigrationChatWarning 2024-06-15 11:04:56 -05:00
James Seibel 2f7e3d43d1 Add a startup low memory warning 2024-06-15 11:04:43 -05:00
James Seibel edaafb5cf0 Fix saving the chunk hash incorrectly 2024-06-15 10:37:59 -05:00
James Seibel 81d1ed419e Prevent creating LODs for already processed chunks 2024-06-15 09:42:43 -05:00
James Seibel 385e3dc964 Add ChunkWrapper BlockBiome HashCode 2024-06-15 08:11:16 -05:00
James Seibel 9592cd80f3 Improve position error logging 2024-06-15 07:20:38 -05:00
James Seibel 7b153a8aad Fix SelfUpdater list logging 2024-06-14 07:11:06 -05:00
s809 acb299530d Avoid reloading levels when unnecessary 2024-06-14 16:25:20 +05:00
James Seibel 54c2213eb6 Merge in JustALittleWolf's optimizations 2024-06-13 07:30:17 -05:00
s809 7c705015e6 Use level keys 2024-06-13 16:44:37 +05:00
JustAlittleWolf 1274a8e097 Directly access childNodes in LodQuadTree
This changes `LodQuadTree::recursivelyUpdateRenderSectionNode` to directly iterate on the children, instead of creating a childpositerator, and searching for the sectionpos. This lowers memory usage, as the iterators add quite a lot of object garbage (see https://i.imgur.com/r0qlxzc.png)
2024-06-13 13:15:39 +02:00
JustAlittleWolf bd1d0063e5 Change iterator Queue from LinkedList to ArrayDequeue
This improves performance and memory allocation, whenever the iterators are used. See https://docs.oracle.com/javase/8/docs/api/java/util/ArrayDeque.html
2024-06-13 13:14:30 +02:00
James Seibel af9b55ad6c Add lighting engine unit tests 2024-06-11 19:33:08 -05:00
James Seibel 97b86d69c4 Move shared ChunkWrapper code form Main to Core 2024-06-11 18:34:57 -05:00
James Seibel c6b4eacf03 Improve the overloaded chunk loading message 2024-06-11 07:35:28 -05:00
s809 bcb21be848 Show dimension names 2024-06-10 23:39:57 +05:00
s809 562594de2f Better error on invalid dimension 2024-06-09 22:01:30 +05:00
s809 03a00bb7ca Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into refactor/remove-tcp-connection 2024-06-09 21:18:08 +05:00
James Seibel e011ce3ee0 Remove OpenGL multithreading 2024-06-08 12:49:08 -05:00
James Seibel 1dd6359c89 Try changing LZMA preset from 4 -> 3 (faster, less compressed) 2024-06-08 11:06:26 -05:00
James Seibel e41abdd176 Improve config comment spacing 2024-06-08 08:33:32 -05:00
James Seibel b7a5bfd274 Add update branch config "auto" 2024-06-08 08:11:09 -05:00
James Seibel c3abfb123d Up the version number 2.1.0-a -> 2.1.1-a-dev 2024-06-07 17:42:36 -05:00
s809 dc3aa939db Fix logging errors 2024-06-08 00:07:24 +05:00
s809 39391b944f Add toString to messages & fix incorrect call 2024-06-06 21:25:19 +05:00
s809 a6fc8f1702 Fix compilation 2024-06-02 20:00:09 +05:00
s809 b0777789fd Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into refactor/remove-tcp-connection 2024-06-02 19:58:53 +05:00
s809 24a2a48deb Increase section reload delay 2024-06-01 19:49:23 +05:00
s809 e08faa7943 Fix requests breaking on rejoining 2024-06-01 12:17:04 +05:00
James Seibel 76f28e648c Up the version number 2.0.4-a-dev -> 2.1.0-a 2024-05-30 20:13:55 -05:00
s809 a000afbc60 Kinda works, rejoining is broken 2024-05-29 23:36:34 +05:00
James Seibel f49a79b54a remove unused lightmapBindingIndex in DhApiRenderParam 2024-05-27 17:57:45 -05:00
James Seibel 3cf385c2a2 Potentially fix memory leaks when rendering is disabled 2024-05-27 17:37:52 -05:00
s809 a3e34c9738 [skip ci] Still a mess 2024-05-27 22:01:57 +05:00
s809 1f63bdf124 [skip ci] Somewhere 2024-05-22 23:18:18 +05:00
s809 44205664b5 [skip ci] Incomplete 2024-05-21 22:54:57 +05:00
James Seibel 8c91a84795 Fix LZ4 in retail MC 2024-05-21 07:43:33 -05:00
James Seibel 4af63758f2 Add error logging to stream wrappers 2024-05-21 07:42:22 -05:00
James Seibel 969b02dc18 Put config button hide option only in file 2024-05-20 22:15:38 -05:00
Ran 2111ad64c4 Properly shade libraries when using Java version Ω 2024-05-21 02:09:04 +00:00
James Seibel e02deb2fb0 Merge branch 'main' into 'main'
thing part 2 (last mr didn't include core)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

See merge request jeseibel/distant-horizons-core!8
2023-06-12 10:47:50 +00:00
coolGi 8ae03af7c2 Fixed up the merge 2023-06-12 10:47:16 +00:00
notalpha 2ea75821a1 feat: SSAO 2023-06-12 11:37:18 +02:00
TomTheFurry bb491f5de1 Merge remote-tracking branch 'origin/main' 2023-06-12 13:25:47 +08:00
TomTheFurry 082f7597b2 FIx misc bugs and issues, and polish, simplify and remove no-longer needed logic 2023-06-12 13:25:37 +08:00
James Seibel 758ff8a527 rename config extendedNearClip -> overdrawPrevention
Also add a few new options for it
2023-06-11 22:16:40 -05:00
James Seibel f785e75622 Fix BlockToAvoid and TintWithAvoidedBlocks 2023-06-11 21:24:34 -05:00
James Seibel 5a33a4511b hide ResetConfirmation config menu
I couldn't easily implement a reset button since I can't control the config UI from Core.
2023-06-11 18:25:19 -05:00
James Seibel 531af72173 move config preset handlers into a package 2023-06-11 18:03:49 -05:00
James Seibel 190a55e98b Add threading config presets 2023-06-11 18:02:53 -05:00
James Seibel 79a2e52e30 Fix multiThreading config value naming 2023-06-11 17:49:41 -05:00
James Seibel a1ca634891 add AbstractPresetConfigEventHandler 2023-06-11 16:39:05 -05:00
James Seibel 9829173928 add missing lang for debugWireframeRendering 2023-06-11 16:01:52 -05:00
James Seibel 19593d4ea7 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-06-11 15:53:53 -05:00
James Seibel cd53cd8ffa rename a few configs Ultra -> Extreme 2023-06-11 15:46:06 -05:00
James Seibel 72b89814b6 Merge Horizontal Quality and Scale
The separation was confusing most of the time
2023-06-11 15:10:16 -05:00
James Seibel 0179f10166 Improve the fog config option organization 2023-06-11 14:46:04 -05:00
James Seibel b3a36e4f1f Fix some quality settings not applying to the LodQuadTree 2023-06-11 13:27:03 -05:00
James Seibel b1d6429225 swap ConfigEntryWithPresetOptions generic params 2023-06-11 13:11:24 -05:00
James Seibel c9aa7553af Add config quality preset handler 2023-06-11 13:09:52 -05:00
TomTheFurry 0e6f294ad7 no longer gen stuff that is explored by players again 2023-06-11 20:42:07 +08:00
TomTheFurry 25ba274a36 Fix bug in DhLodPos & impl debug visuals for world gen tasks (very early) 2023-06-11 19:51:41 +08:00
TomTheFurry d2bb99fb4b Merge remote-tracking branch 'origin/main' 2023-06-11 18:31:08 +08:00
TomTheFurry 9902fbb424 Fix debug render leaking memories, clean up lod render section, fix concurrency bugs with sectionToReload 2023-06-11 18:30:55 +08:00
James Seibel 10b0cf9d8c Prefix "E" to a couple config enums 2023-06-10 09:12:05 -05:00
James Seibel 8f499d7320 Add a reset all settings button 2023-06-10 09:09:23 -05:00
James Seibel c9e2864c88 Update the config lang file
Also rename a few items
2023-06-09 22:10:27 -05:00
TomTheFurry a003ecf378 Add debug wireframe renderer config for toggling the debug renderer 2023-06-09 18:41:11 +08:00
TomTheFurry 46432e772c Add a debug renderer system for easy visual debugging 2023-06-09 18:08:16 +08:00
coolGi 7ba43286d9 Updated lang generator to whitelist linked options 2023-06-08 23:06:43 +09:30
James Seibel f4ece1816d Overhaul the config and start adding summary options
also:
- add DH vs MC lighting engine option
- add a toggle for wireframe rendering
2023-06-07 22:59:26 -05:00
coolGi add6ee6f11 Update ConfigEntryAppearance to better document things 2023-06-07 14:07:51 +00:00
coolGi 3b4054c3c7 Added linking config options 2023-06-06 19:06:04 +09:30
coolGi a67cbf3435 Fixed up short and long not saving properly 2023-06-06 18:38:02 +09:30
coolGi 3930641fb6 Added short to the debug config screen 2023-06-06 18:19:24 +09:30
coolGi a8682ec164 Added debug config type screen for checking support 2023-06-06 18:02:25 +09:30
coolGi 1ee254f38b Fixed and checked support for all available config types 2023-06-06 18:01:49 +09:30
coolGi fd42a94430 Refracted Config Internal Enums to its own package 2023-06-06 18:01:07 +09:30
James Seibel 6124f5cb4f update ThreadingConfig Api 2023-06-05 20:16:33 -05:00
James Seibel 5cb70b5e76 rename LodThreadFactory -> DhThreadFactory 2023-06-05 20:02:46 -05:00
James Seibel 8f6109768c Move the world gen thread pool into the WorldGenQueue
We want Core to handle the world gen threads, not the individual world generators.
2023-06-05 19:50:21 -05:00
James Seibel d64446ecda add thread config listeners 2023-06-05 09:10:33 -05:00
James Seibel 05d4e4bf61 fix config listener onValueSet and add ConfigChangeListener 2023-06-04 22:03:59 -05:00
James Seibel 4b29e96686 Revert "remove IConfigEntry.setWithoutSaving()"
This reverts commit d992bd05f4.
2023-06-04 21:45:21 -05:00
James Seibel a49a81be14 add thread config listener for FileHandler 2023-06-04 21:12:47 -05:00
James Seibel d992bd05f4 remove IConfigEntry.setWithoutSaving()
It wasn't implemented and was causing confusion since the listeners weren't being fired
2023-06-04 21:07:25 -05:00
James Seibel ed935f6a0f Add data transformer and file handler thread configs 2023-06-03 22:29:45 -05:00
James Seibel f58ac4b647 Attempt to fix world generator holes (take 2) 2023-06-03 21:36:43 -05:00
James Seibel dbfc434fa7 reduce batch generator max queue tasks 5 -> 3 2023-06-03 21:35:57 -05:00
James Seibel d16f763df0 reduce QuadTree warning to debug 2023-06-03 21:04:12 -05:00
coolGi e00d1c95e3 Added a comment to add DimensionWrapper (maybe to replace DimensionTypeWrapper) 2023-06-03 21:39:47 +09:30
James Seibel dc5086a29f Rename IChunkWrapper heightmap methods 2023-05-29 18:13:01 -05:00
James Seibel b46e85b542 Potentially fix duplicate world generator issue? 2023-05-29 13:19:43 -05:00
James Seibel 1dc3bc2889 LodQuadTree reloadPos out of bounds chnage 2023-05-29 12:51:43 -05:00
James Seibel 09eea400eb Full data source and WorldGen refactoring 2023-05-29 10:43:06 -05:00
James Seibel ea24d619e2 revert DataFileHandler and data transformer threads to 4 2023-05-28 18:07:07 -05:00
James Seibel 013a293052 Fix a crash when stopping the world generator 2023-05-27 12:28:59 -05:00
James Seibel 0cd04df689 Fix LodQuadTree not updating for low detail world gen 2023-05-27 10:30:29 -05:00
James Seibel 3d9f21df25 WorldGenQueue minor refactor 2023-05-27 09:29:37 -05:00
James Seibel f2ae458e7c columnRenderBufferBuilder reformatting 2023-05-27 09:28:51 -05:00
James Seibel 749491b520 drop the Transformer and File handler threads to 1 for testing 2023-05-22 07:49:25 -05:00
James Seibel 42fc173ae2 Fix crash if transparency is disabled 2023-05-22 07:18:08 -05:00
James Seibel c539a3f3be Improve how quickly world generation responds to changed location 2023-05-21 18:41:34 -05:00
James Seibel 041c2ad5d7 Fix quadTree unit tests failing 2023-05-21 17:47:37 -05:00
James Seibel 920ca5ec40 Add XZ compression for full and render data files
Any old files people may have will probably throw errors and need to be regenerated.
2023-05-21 17:35:33 -05:00
James Seibel 5986069eb9 comment out Compression Unit tests 2023-05-21 17:33:48 -05:00
coolGi 9eb0f18a52 Added changelog button to the config menu 2023-05-21 20:39:23 +09:30
James Seibel b38827a8de Add compression unit tests with results 2023-05-20 11:44:28 -05:00
James Seibel 7a723bdf14 rename the "cache" folder to "renderCache"
Just to make the folder's purpose a bit more obvious
2023-05-19 22:45:25 -05:00
James Seibel 7444670189 Fix exceptions when leaving a loading world 2023-05-19 22:41:49 -05:00
James Seibel f22be2b42c add commented out debug code for ColumnRenderBufferBuilder 2023-05-19 07:31:32 -05:00
James Seibel 762e099bf1 add an incomplete quadTree test 2023-05-19 07:31:16 -05:00
James Seibel 562b0a8da2 Fix worldGenQueue outOfBoundExceptions when moving quickly
Not a perfect solution, long term a fix should be done in the tree, but that can be done another time
2023-05-19 07:20:18 -05:00
James Seibel 95db633e09 update unit tests for QuadTree refactoring 2023-05-18 22:07:02 -05:00
James Seibel 6a6ea845ea QuadTree refactoring 2023-05-18 22:06:00 -05:00
James Seibel f8df9cd4e2 remove duplicate log filtering for ServerAPI 2023-05-18 21:58:55 -05:00
James Seibel 428a0cd10b Fix level F3 loggers not being removed 2023-05-18 07:56:17 -05:00
James Seibel aee6c84dae Fix transparent wall edge cases
Specifically transparent walls being rendered in oceans, and transparent walls incorrectly allowing users to see the void
2023-05-16 21:13:55 -05:00
James Seibel 98e55bb1a3 Fix RenderSource Building ignoring adjacent sections
The sections were never being passed in, only the initial section
2023-05-16 20:03:23 -05:00
James Seibel a3f2cdc72f fix minor ColumnBox equality 2023-05-16 07:56:11 -05:00
James Seibel 824a8f835c Fix seeing void through height map oceans 2023-05-16 07:55:24 -05:00
James Seibel b4eda2fc46 Add ColumnBox comments 2023-05-16 07:30:54 -05:00
James Seibel 3a80639538 Only limit greedy meshing size when earth curvature is enabled 2023-05-16 07:11:45 -05:00
James Seibel 84727148a8 add HeightMap EVerticalQuality 2023-05-15 18:28:34 -05:00
James Seibel 537f7164c7 Fix transparent LODs over the void 2023-05-15 18:28:14 -05:00
James Seibel 3bed312499 minor EVerticalQuality refactor 2023-05-15 18:24:46 -05:00
James Seibel ea76c29c23 ColorUtil add setter methods 2023-05-15 07:11:27 -05:00
James Seibel a2f0ff89ac cubicLodTemplate refactor 2023-05-15 07:04:36 -05:00
James Seibel 123c259831 Log updateQuadTreeRenderSources errors 2023-05-15 07:02:25 -05:00
James Seibel a7e64e7188 Fix null pointer when transparency is disabled 2023-05-13 15:36:36 -05:00
James Seibel 5894af6eca Add render cache listener to draw resolution config 2023-05-13 12:09:54 -05:00
James Seibel d87cf40b22 Fix harmless error messages when changing render distance 2023-05-13 11:18:30 -05:00
James Seibel edca69b789 Log QuadTree concurrency issues instead of throwing assertions 2023-05-13 11:08:22 -05:00
James Seibel fe16c34b6f minor refactoring and commenting 2023-05-12 22:14:41 -05:00
James Seibel 47c0cef4df Implement LowDetailIncompleteFullDataSource sampleFrom() 2023-05-12 22:11:35 -05:00
James Seibel e543f1ce73 rename FullToColumnTransformer -> FullDataToRenderDataTransformer 2023-05-12 20:43:27 -05:00
James Seibel 8b580c51d6 Have RenderSourceFileHandler update all detail levels 2023-05-12 20:34:18 -05:00
James Seibel b1b71ad021 Fix LowDetailIncompleteFullDataSource reading from stream 2023-05-09 21:29:07 -05:00
James Seibel 62c78b133d minor FullDataMetaFile write future fix 2023-05-09 21:14:24 -05:00
James Seibel ed6790458d Refactor RenderMetaDataFile 2023-05-09 21:13:54 -05:00
James Seibel d592f87d62 minor reformatting for AtomicsUtil 2023-05-08 19:23:12 -05:00
James Seibel 4470cea9b2 make FullDataMetaFile's data strongly typed 2023-05-07 18:45:24 -05:00
James Seibel 2400d999a3 Refactor FullDataMetaFile 2023-05-07 17:54:54 -05:00
James Seibel a2afe4de5f add ChunkSizedFullDataAccessor toString() 2023-05-07 17:53:41 -05:00
James Seibel 64ebadea65 move buffer building logic out of ColumnRenderBuffer 2023-05-06 19:40:01 -05:00
James Seibel 7bcef43ef9 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-05-06 19:06:20 -05:00
James Seibel 1fee51f344 GenFullDataFileHandler fix checkIfSectionNeedsGen for null dataSources 2023-05-06 19:02:55 -05:00
James Seibel d4712732ec fix LowDetailIncompleteFullDataSource.update not changing isColumnNotEmpty 2023-05-06 18:58:03 -05:00
coolGi dfd8818fe7 Merge remote-tracking branch 'origin/main' 2023-05-07 08:55:29 +09:30
coolGi 1c366bb75b Removed getFogColor from the BCLibAccessor 2023-05-07 08:55:10 +09:30
James Seibel c6a6e6c14d fix SingleColumnFullDataAccessor.doesColumnExist null pointer 2023-05-06 17:16:21 -05:00
James Seibel de6c8af95f reduce ColumnRenderSource timeout 10 -> 2 sec 2023-05-06 08:35:27 -05:00
James Seibel 2cb044f4b5 Create new world gen tasks when moving into new areas 2023-05-04 07:31:35 -05:00
James Seibel 05ca9bca15 partially fix WorldGenQueue's index out of bounds issue 2023-05-03 07:48:21 -05:00
James Seibel 2a8e4cec23 fix worldGenQueue skipping certain generation requests 2023-05-03 07:47:59 -05:00
James Seibel 03a36a80ff Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-05-02 19:46:04 -05:00
James Seibel 84d998e847 Fix render section flickering 2023-05-02 19:46:01 -05:00
coolGi 299742a4da Started work on adding immersive portal support 2023-05-02 23:21:09 +09:30
James Seibel 250ace6f28 rename lod.core.api -> lod.coreapi.api to file compiler issues 2023-05-02 07:33:22 -05:00
James Seibel 09dfa5477d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-05-01 22:16:44 -05:00
James Seibel 3aa097ab82 Add IFullDataSource.getUngeneratedPosList() 2023-05-01 22:16:35 -05:00
James Seibel bd3b263f1b minor data source method rearranging 2023-05-01 20:41:30 -05:00
James Seibel 6404216f9d Fix compiling for IStreamableFullDataSource 2023-05-01 07:34:22 -05:00
coolGi 7a715ff313 Made IStreamableFullDataSource.FullDataSourceSummaryData.worldGenStep public to fix building 2023-05-01 14:17:39 +09:30
James Seibel cf18554646 put full data source interfaces into their own package 2023-04-30 21:52:33 -05:00
James Seibel 99f94d8be0 Full Data source constant renaming
and remove an unneeded TODO comment
2023-04-30 21:51:21 -05:00
James Seibel ec1393ee85 Separate out FullDataSource stream handling into its own interface
This was done to both make sure all data source formats are similar and to prevent accidental datatype and content mismatches when modifying said data sources.
2023-04-30 21:29:41 -05:00
James Seibel c8c927d8f8 add a FIXME to LodQuadTree for worldGen in worlds without DH data 2023-04-30 20:34:05 -05:00
James Seibel 64a1120be2 Rename Sparse/Spotty Full data sources to High/LowDetailIncomplete
I liked the terms "sparse" and "spotty", however the difference between the two based on their names was not obvious, which made differentiating between the two difficult.
2023-04-23 15:30:01 -05:00
James Seibel be5d5ec404 refactoring and commenting 2023-04-23 14:57:08 -05:00
James Seibel 9ea5aba0ab rename SingleFullDataAccessor -> SingleColumnFullDataAccessor 2023-04-23 14:51:13 -05:00
James Seibel e1c0299368 refactor and document FullData sample methods 2023-04-23 14:50:38 -05:00
James Seibel 20dc5032ad Rename, refactor, and document FullData Accessors 2023-04-22 12:45:42 -05:00
James Seibel d8e5d588d9 Rename and refactor several FullData source/view files 2023-04-22 11:04:10 -05:00
James Seibel ecbadfb8c6 organize the fullData package 2023-04-22 09:19:49 -05:00
James Seibel 6103625911 Start adding WorldGenStep to full data sources 2023-04-22 08:43:20 -05:00
James Seibel f136fe9bde full data minor refactoring 2023-04-22 08:29:15 -05:00
James Seibel 3a4743b717 Replace all WorldGenStep Enums with the API version 2023-04-20 19:59:27 -05:00
James Seibel 553a125614 refactor and minor fixes for FullData 2023-04-20 19:46:19 -05:00
James Seibel eb5da6fa4d Fix RenderSection overlap and holes 2023-04-17 21:40:45 -05:00
James Seibel 158b7561bc update lodQuadTree calls 2023-04-15 16:38:40 -05:00
James Seibel 45a2e67341 separate isSectionEnabled and isSectionLoaded 2023-04-15 16:35:00 -05:00
James Seibel 6e67ce307e separate LodRenderSection load/enable methods 2023-04-15 16:33:16 -05:00
coolGi 7e3a5181d5 Merge remote-tracking branch 'origin/main' 2023-04-15 01:44:05 +09:30
coolGi b03ea39338 Deprecated getGameDirectory from IMinecraftClientWrapper. Use IMinecraftSharedWrapper.getInstallationDirectory() instead. 2023-04-15 01:36:53 +09:30
James Seibel 63e75fb508 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-04-10 21:18:49 -05:00
James Seibel 3d413b072b minor ParsedColumnData refactor 2023-04-10 21:18:21 -05:00
coolGi e017d3d599 Disabled lodBias by default 2023-04-11 00:13:04 +09:30
James Seibel 5c9170d13b temporary world Gen Queue out of bounds fixes 2023-04-08 16:01:47 -05:00
James Seibel e48e7fbf7a minor refactoring 2023-04-08 15:59:32 -05:00
James Seibel 39778fe944 Fix LodQuadTree out of bounds error 2023-04-08 13:16:50 -05:00
James Seibel 85a0e75786 Refactor QuadTree DoSquaresOverlap() and add UnitTest 2023-04-08 11:01:35 -05:00
James Seibel df646bb87c minor LodQuadTree refactor 2023-04-08 10:27:31 -05:00
James Seibel b11d1c4b3e Improve QuadNode.getChildValueCount() 2023-04-08 10:21:03 -05:00
James Seibel b013d93908 fix world generator not being started corrected in DhClientServerLevel 2023-04-08 10:19:22 -05:00
James Seibel 4d9264321c Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-04-03 21:33:46 -05:00
James Seibel 5f84f01fb8 Fix world gen queue and rendering for new QuadTree Iterators 2023-04-03 21:33:42 -05:00
James Seibel 3d13f6f46f Fix and update QuadTree/Node iterators 2023-04-03 21:18:25 -05:00
James Seibel 90295b7dcf Fix QuadNode.getDirectChildNodeIterator() 2023-04-02 21:31:17 -05:00
James Seibel d2a0057919 Replace consumer based QuadTree iteration with Iterators
This drastically improves debugging, because lambda consumers cause the stack trace to become messy very quickly.
2023-04-02 19:39:47 -05:00
coolGi 146a2d38cb Reverted back to using swing for the base run jar 2023-03-31 19:47:32 +10:30
James Seibel 45b410806b refactor worldGenQueue removeOutOfRangeTasks 2023-03-30 19:28:24 -05:00
James Seibel afc045dd4c Fix holes when moving around the world 2023-03-30 07:26:25 -05:00
James Seibel 8856843830 minor refactoring 2023-03-29 07:09:41 -05:00
James Seibel afd18ef56c add a TODO for areChildRenderSectionsLoaded 2023-03-27 21:20:21 -05:00
James Seibel 4f496958fb add TODO comments 2023-03-27 21:12:25 -05:00
James Seibel 82fe7c099d refactoring quadTree/Node, RenderSection, and ColRenderSource 2023-03-27 21:11:09 -05:00
James Seibel 779d93700f temporary fix for missing LOD corners 2023-03-27 20:11:15 -05:00
coolGi 7d060d8b85 Fixed up some things to do with the Java screen 2023-03-26 17:31:53 +10:30
coolGi f4c1c9ebbf Moved OS getting utils to its own Platform enum. 2023-03-26 16:03:02 +10:30
coolGi cb88a48d78 Changed default config values and fixed up lang for Lod bias. 2023-03-26 12:53:11 +10:30
James Seibel 3ffd4e9ff6 rename QuadNode .forEachDirectChildNode() 2023-03-25 18:44:09 -05:00
James Seibel ba64241774 Fix render sections incorrectly disabling/enabling when moving 2023-03-25 18:43:49 -05:00
James Seibel 1b682580fd Merge the data structure in LodQuadTree and RenderBufferHandler
This prevents needing to sync both data structures, reducing the chance for things to go wrong
2023-03-25 16:18:22 -05:00
James Seibel 7b795af7b3 update the quadTree tests to support the dynamical detail tree 2023-03-25 11:45:04 -05:00
James Seibel eec8db6223 make the quad tree max detail level dynamic 2023-03-25 11:44:47 -05:00
James Seibel a465a8da9d Replace WorldGen and LodQuadTree with the new QuadTree<T>
There are some issues for the render tree, but the world gen tree appears to be working correctly
2023-03-25 09:25:13 -05:00
James Seibel 0b05ced5b9 Add QuadTree toString() and getChildCountAtPos() 2023-03-25 09:23:24 -05:00
James Seibel a985e1c542 Fix quadNode getChildByIndex inconsistent with DhSectionPos 2023-03-25 07:43:55 -05:00
James Seibel 8a32d7f84a Add the ability to limit how deep a quad tree can go 2023-03-23 21:04:27 -05:00
James Seibel d4b6ec74a8 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-03-23 07:24:53 -05:00
James Seibel cda265b07f Add SquareIntersectTest 2023-03-23 07:24:49 -05:00
James Seibel 57fec0f805 Fix QuadTree adjacent position issues 2023-03-23 07:13:09 -05:00
coolGi 04b12a2715 New ui frame now shows 2023-03-23 19:25:19 +10:30
coolGi 63950edc96 Sava commit for the new Config UI 2023-03-23 18:08:36 +10:30
James Seibel 515ebb8c99 Fix QuadTree boundary issues and add tests 2023-03-20 20:12:27 -05:00
James Seibel 03acb159e0 separate a quadTree test 2023-03-20 19:55:12 -05:00
James Seibel 837f7d6b5f QuadTree refactoring and fixes 2023-03-20 19:52:13 -05:00
James Seibel ea8076db97 remove unused QuadTree code 2023-03-20 19:52:00 -05:00
James Seibel 38ff3b6942 QuadTree test refactoring 2023-03-20 19:50:45 -05:00
James Seibel 29b5cd9a50 Move SectionPos tests into their own file 2023-03-20 19:50:18 -05:00
James Seibel 4e0254154f Overhaul the QuadTree object
Previously the quad tree was closer to a 3D array than a traditional quadTree. This change brings it closer to a traditional quad tree.
2023-03-20 07:16:35 -05:00
James Seibel adf5d3eb14 fix LodQuadTree compiling and in-mobile functionality 2023-03-18 21:57:54 -05:00
James Seibel 3c4faf1cd0 incomplete LodQuadTree tick modification 2023-03-18 18:14:48 -05:00
James Seibel bf2ae21c21 Improve LodQuadTree assert messages 2023-03-18 09:53:45 -05:00
James Seibel 32e11062df Add a rough diagram to LodQuadTree 2023-03-18 09:50:59 -05:00
coolGi 7d2ab7f589 Updated logo svg so they can be defined in variables 2023-03-18 12:30:33 +10:30
coolGi aac99f1682 Fixed up more things to do with JavaFX, and added some extra stuff for the MinecraftScreen 2023-03-17 22:29:28 +10:30
coolGi 64bed83ddb Removed FlatLaf (which was used for theming) and replaced it with JavaFX 2023-03-17 19:45:18 +10:30
James Seibel 333dc4d0e0 add a message to a LodQuadTree assert 2023-03-16 07:55:30 -05:00
James Seibel d7338a7bb7 update world gen queue comments 2023-03-16 07:26:08 -05:00
James Seibel 0ddd68b6e6 Refactor worldGeneratorQueue thread and comments 2023-03-15 22:25:34 -05:00
James Seibel a9583a6227 Make world gen task queuing async 2023-03-14 22:12:06 -05:00
James Seibel 2020cae17a fix halfSize being the same for every detail level
This may not set the halfSize to the right value, but it is better than having a value of "10" for everything like before
2023-03-14 22:03:30 -05:00
James Seibel af3916b089 refactoring 2023-03-14 21:43:31 -05:00
James Seibel df0a5f5bd0 finish the world generatior 2023-03-14 07:30:42 -05:00
James Seibel 44e280e8b7 fix a class missing exception 2023-03-14 07:24:07 -05:00
James Seibel b6ef754d61 rename DhLodPos overlaps() -> overlapsExactly() 2023-03-12 18:50:58 -05:00
James Seibel 579302f643 start replacing WorldGenQueue's backend with a QuadTree
previously it was a list that grew too quickly for large distances
2023-03-12 18:45:51 -05:00
James Seibel cb23fddd53 add try catch to ServerApi 2023-03-12 17:53:07 -05:00
James Seibel 2f99de7900 remove unused imports 2023-03-12 17:51:46 -05:00
James Seibel 6056d7f7d1 refactoring 2023-03-11 21:10:42 -06:00
James Seibel 586c550c80 fix potential ColumnBox empty data point error 2023-03-11 21:10:09 -06:00
James Seibel 4b5bfe6799 Fix the QuadTree not updating when new LODs are generated 2023-03-11 12:02:22 -06:00
James Seibel 45cc0f38be fix incorrect commit for DhClientServerWorld 2023-03-11 12:01:54 -06:00
James Seibel 3c72765c9a refactoring 2023-03-11 12:00:08 -06:00
James Seibel ded7dde42a Fix generated data not saving 2023-03-11 11:00:37 -06:00
James Seibel 3510facd1e refactor fullDataMetaFile 2023-03-11 11:00:14 -06:00
James Seibel c5c298708f refactoring 2023-03-11 10:37:02 -06:00
James Seibel d687ec892a refactoring/renaming 2023-03-11 09:50:33 -06:00
James Seibel dbfde9f637 Fix files not saving 2023-03-10 22:49:11 -06:00
James Seibel f2be1bd034 rename Steps -> EGenerationStep 2023-03-10 22:00:26 -06:00
James Seibel dd8ee36487 replace OutputStream's with BufferedOutputStream for performance 2023-03-09 21:43:54 -06:00
James Seibel e5116e1ec9 Require Buffered Streams everywhere for performance 2023-03-09 21:02:48 -06:00
James Seibel ce472729d6 append Dh to unclosableStreams and refactor 2023-03-09 07:14:48 -06:00
James Seibel f691f016bc Fix file loaders not getting interrupted on level close 2023-03-07 20:39:07 -06:00
James Seibel 380f92e105 reformat fullDataMetaFile 2023-03-06 21:32:44 -06:00
James Seibel 7ab60df578 Fix QuadTree ringList removal assertion 2023-03-06 21:25:54 -06:00
James Seibel 03822f9e74 Add QuadTree.treeMaxDetailLevel 2023-03-06 20:58:40 -06:00
James Seibel b760a16416 Revert "Simplify Config auto complete"
This reverts commit 1a1d6370f9.
2023-03-06 20:50:17 -06:00
James Seibel e3567c923a Default vanillaOverdraw to "always" instead of "dynamic" 2023-03-06 20:39:57 -06:00
James Seibel 1a1d6370f9 Simplify Config auto complete
Make ConfigCategories private instead of public.
2023-03-06 20:39:42 -06:00
James Seibel a517e6997b refactor ColumnRenderBuffer 2023-03-06 20:30:59 -06:00
James Seibel b63c4b9e7e Remove deprecated ILodConfigWrapperSingleton, use Config instead 2023-03-06 07:44:49 -06:00
James Seibel 5bb14820b6 Add try-catch blocks to LodQuadTree and RenderBufferHandler
To prevent either system from out-right crashing if something goes wrong
2023-03-05 22:07:41 -06:00
James Seibel f09bfa7cfd Auto remove world gen tasks that are outside DH's render distance 2023-03-05 18:38:03 -06:00
James Seibel 825f424ae0 refactor GeneratedFullDateFileHandler 2023-03-05 18:29:21 -06:00
James Seibel 48ae72e0ce Refactor DhChunkPos and add isChunkPosBetween() 2023-03-05 18:28:42 -06:00
James Seibel 94de6380e8 refactor DhClientServerLevel 2023-03-05 18:28:23 -06:00
James Seibel 43de87be0d Limit QuadTree concurrently loading LodRenderSections 2023-03-04 21:15:50 -06:00
James Seibel 067730379f prepend "DH-" to all threads using ThreadUtil 2023-03-04 20:09:04 -06:00
James Seibel 32456c3110 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-03-04 20:06:50 -06:00
James Seibel 12cbcd9159 Fix threadUtil relativepriority 2023-03-04 20:06:36 -06:00
James Seibel 04e25499ac refactor EventLoop 2023-03-04 20:06:17 -06:00
coolGi 3158620440 Quick fix up to distantGeneratorMode lang 2023-03-05 12:13:32 +10:30
coolGi c65e8c068c Notification in the config if there is going to be an update on close 2023-03-05 11:57:56 +10:30
James Seibel cc4ffaf415 Move threading from LodUtil to ThreadUtil 2023-03-04 14:37:31 -06:00
James Seibel 1a047e14b6 refactor LodRenderSection and LodQuadTree 2023-03-04 14:23:42 -06:00
James Seibel daf4d8b975 refactor MovableGridRingList 2023-03-04 14:20:57 -06:00
James Seibel d35befdf8e Make QuadTree load renderSections from lowest detailLevel to highest
IE start with near sections and move out
2023-03-04 11:49:25 -06:00
James Seibel 6c9c6c9e99 Refactor LodQuadTree 2023-03-04 11:48:25 -06:00
James Seibel 51e5408bb6 Refactor GLProxy 2023-03-04 10:10:19 -06:00
James Seibel b967d94ece refactor LodQuadTree tick methods 2023-03-04 09:58:46 -06:00
James Seibel 07d92f95cb comment out "Merging data from..." logs 2023-03-02 21:34:49 -06:00
James Seibel 075364b26a refactor ChunkToLodBuilder and improve its level changing logic 2023-03-02 21:17:32 -06:00
James Seibel b53c6d8c76 Fix changing dimensions preventing chunk updates 2023-03-02 21:01:43 -06:00
James Seibel 209ccdae76 Add ClientServerWorld level dim type assertion 2023-03-02 20:45:14 -06:00
James Seibel 6beac75c0f comment out "loading render source" log 2023-03-02 20:44:49 -06:00
James Seibel 3fbc2bdb1c Fix render cache folder not being used by ClientRenderState 2023-03-02 20:44:36 -06:00
James Seibel ab92a5ba42 minor reformatting 2023-03-02 07:45:36 -06:00
James Seibel 382b006210 Fix high CPU usage when not moving
Refreshing the render source isn't necessary since it will automatically be updated whenever a given chunk is updated. (and because we don't currently have a versioning system to prevent re-loading the same data)
2023-03-02 07:33:40 -06:00
James Seibel 022a288c97 comment out height_map vertical option
and minor refactoring/commenting
2023-03-01 07:46:37 -06:00
James Seibel 9f601ea6b3 Fix reading/writing files after leaving the world
May have issues in Client-only mode
2023-03-01 07:31:40 -06:00
James Seibel cc474caf33 refactor and comment 2023-02-28 21:43:08 -06:00
coolGi 70369fa468 Removed api build.gradle 2023-02-28 16:57:45 +10:30
James Seibel 42d3e38daa Fix gradle mystery compiler error
Specifically fixes core gradle being unable to access packages found in API
2023-02-27 20:38:40 -06:00
coolGi 1234e47f55 Removed build.gradle for core 2023-02-27 22:32:24 +10:30
coolGi c44c501cd8 Maybe fixed bug with gradle??? 2023-02-27 21:11:37 +10:30
James Seibel 9a27cc1e65 implement ClientApi.clientChunkSaveEvent() 2023-02-26 16:33:58 -06:00
James Seibel 381d3fe216 Move shared Dh(Server)ClientLevel code into AbstractDhClientLevel
This fixes DhServerClientLevel's crashing
2023-02-25 21:31:18 -06:00
James Seibel 2376baf936 prevent potential null pointers in ServerApi 2023-02-25 21:29:56 -06:00
James Seibel be0ce75ceb refactor and prevent a potential null pointer in DhClientWorld 2023-02-25 21:27:35 -06:00
James Seibel ea41fbc664 make DhClientServerLevel extends DhClientLevel 2023-02-25 17:17:27 -06:00
James Seibel 5579b1dc95 equalize DhClientLevel and DhClientServerLevel 2023-02-25 15:43:20 -06:00
James Seibel 8d5926fb2d Add very rough client World support 2023-02-25 15:29:40 -06:00
James Seibel 03752509e7 improve ClientApi logging 2023-02-25 15:28:38 -06:00
James Seibel e7d16b2109 refactor DhClientServerWorld 2023-02-25 15:27:31 -06:00
James Seibel 54252d10f5 minor refactor 2023-02-25 14:29:22 -06:00
James Seibel 19d8306094 move DhClientServerLevel.RenderState into its own file 2023-02-25 10:58:03 -06:00
James Seibel 373b354b20 Add additional shutdown logging 2023-02-25 10:57:27 -06:00
James Seibel b9edf2ef93 Hard shutdown the world generator, don't wait 2023-02-25 10:22:45 -06:00
James Seibel b4ffd65fbc remove deprecated getServerFolderName() 2023-02-25 09:02:42 -06:00
James Seibel eaee05df3f Change the default multiplayer save mode to "name_only"
This is done to prevent issues with Realms
2023-02-25 08:56:40 -06:00
coolGi 7403657d83 Removed classifier's as they are no longer needed in gradle 18 2023-02-24 19:08:53 +10:30
coolGi 2a7e5ef9c9 Suppressed unchecked warning 2023-02-24 18:00:48 +10:30
James Seibel e0cc271cf1 Fix world generator not closing 2023-02-23 20:19:15 -06:00
James Seibel 5174c71363 Downgrade to Java 8 2023-02-23 19:27:29 -06:00
James Seibel af9215c849 Fix exceptions when closing a world 2023-02-21 21:25:06 -06:00
James Seibel acd78a6067 update a comment in ColumnRenderSource 2023-02-21 19:59:48 -06:00
James Seibel 5c0aef32c1 Partially fix LODs disappearing when moving 2023-02-21 19:56:18 -06:00
James Seibel 924465a788 comment out a couple debug loggers 2023-02-19 17:16:39 -06:00
James Seibel cf34457d20 remove duplicate renameCorruptedFile() code 2023-02-19 12:30:14 -06:00
James Seibel 0615a2917c refactoring 2023-02-18 20:25:25 -06:00
James Seibel 4a3b4a1e23 Move FileUtil into the util package 2023-02-18 20:00:21 -06:00
James Seibel 553c348a0d enable atomic move in MetaDataContainerFile 2023-02-18 18:19:52 -06:00
James Seibel be036fe67a rename MetaData -> BaseMetaData and AbstractMDF -> AbstractMDContainerF
The difference between MetaData and AbstractMetaDataFile wasn't obvious, this should make it a bit more clear
2023-02-18 18:02:44 -06:00
James Seibel 070cdc13e2 rename package dataType -> dataObjects and re-arange children 2023-02-18 17:07:36 -06:00
James Seibel 6ac762d415 remove AbstractRenderSourceLoader
There was only one type of RenderSource so it didn't make sense to keep it
2023-02-18 16:46:17 -06:00
James Seibel 40db02cce3 rename RenderFileHandler -> RenderSourceFileHandler 2023-02-18 16:41:21 -06:00
James Seibel cabc1d1de9 Remove unused array from ColumnRenderSource 2023-02-18 16:20:11 -06:00
James Seibel 5e12edb251 Delete IColumnDataType and refactor ColumnRenderSource
ColumnRenderSource was the only object that inherited it
2023-02-18 16:17:11 -06:00
James Seibel 42623b4583 improve FullDataPointUtil and RenderDataPointUtil header comments 2023-02-18 13:48:30 -06:00
James Seibel 5dfd8d3738 Fix RenderDataPointUtil capitalization 2023-02-18 13:34:05 -06:00
James Seibel 031bde07dd rename ColumnFormatUtil -> RenderDatapointUtil and move to util package 2023-02-18 13:33:09 -06:00
James Seibel 3f91c479f4 rename FullDataPoint -> FullDataPointUtil and move to util package 2023-02-18 13:10:17 -06:00
James Seibel 5afbe961e7 rename ColumnFormat -> ColumnFormatUtil 2023-02-18 12:37:47 -06:00
James Seibel f8e3665e14 Remove unused methods from ColumnFormat 2023-02-18 12:36:54 -06:00
James Seibel 01ebf690f0 refactor ColumnFormat 2023-02-18 12:34:05 -06:00
James Seibel 6f743380dc add long to bitShiftUtil 2023-02-18 12:32:06 -06:00
James Seibel 73edce1580 IColumnDataView minor refactor 2023-02-18 12:01:23 -06:00
James Seibel 3dbc0ee5cd Remove IRenderSource
There was only ColumnRenderSource and several pieces of logic required there to only be ColumnRenderSource, so it didn't make sense to keep the interface.
2023-02-18 12:01:15 -06:00
James Seibel a35a797ce0 move buffer building objects into datatype.render.bufferbuilding 2023-02-18 11:33:09 -06:00
James Seibel 912a7687c3 refactor columnArrayView and interface 2023-02-18 11:25:09 -06:00
James Seibel 16c6dffdd6 Move files into Full and Render dataType packages 2023-02-18 09:53:16 -06:00
James Seibel 3b621ac497 rename/refactor FullDataSource loaders 2023-02-18 09:45:56 -06:00
James Seibel 271bdb9f12 Move Full data sources into their own package 2023-02-18 09:36:59 -06:00
James Seibel fbcf687ef9 rename ChunkSizedFullData -> ChunkSizedFullDataSource 2023-02-18 09:30:12 -06:00
James Seibel e4b5a7cb93 rename several FullData objects 2023-02-18 09:28:58 -06:00
James Seibel 0832555ec0 minor SparesFullDataSource refactoring 2023-02-18 09:28:49 -06:00
James Seibel 13d4c74367 remove unused args in LodRenderSection 2023-02-18 09:13:05 -06:00
James Seibel a97f9cf9b4 Comment out metaData versioning 2023-02-18 08:55:50 -06:00
James Seibel 1916ad49c4 Improve RenderMetaDataFile constructors 2023-02-18 08:55:28 -06:00
James Seibel b16ae15f94 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-02-18 07:21:38 -06:00
coolGi e695c18871 Added ability to change vanilla's lod bias 2023-02-18 20:00:39 +10:30
James Seibel 3a1e9adab2 refactor render file and renderBufferHandler 2023-02-17 18:35:29 -06:00
James Seibel c95b0849e3 refactor RenderBufferHandler 2023-02-17 14:37:14 -06:00
James Seibel 0e9f7eb653 minor LodRenderer refactoring 2023-02-17 14:36:33 -06:00
James Seibel 95c59b775a improve RenderSection.reload() and implement isLoading() 2023-02-17 14:36:12 -06:00
James Seibel 4e6d69860b refactor RenderFile classes 2023-02-17 14:35:24 -06:00
James Seibel dc7ddfd527 refactoring 2023-02-17 14:29:23 -06:00
James Seibel 1675d01dfb implement ColumnRenderLoader isEmpty 2023-02-17 14:26:15 -06:00
James Seibel 1adeaad231 rename IDhLevel methods 2023-02-16 14:58:27 -06:00
James Seibel d6397d6444 Improve the casting around SharedApi.currentWorld 2023-02-16 11:30:11 -06:00
James Seibel 449aaf2d3a DhClientServer Level/World refactoring 2023-02-16 10:11:47 -06:00
James Seibel 97440d7a71 Server/Client/Shared Api refactoring 2023-02-16 10:11:27 -06:00
James Seibel d62e709c48 add a fixme comment 2023-02-16 09:53:06 -06:00
James Seibel a1123e89ce Improve Render File format and reading/writing 2023-02-16 09:46:47 -06:00
James Seibel bd9bfd7d0f refactoring 2023-02-16 09:23:20 -06:00
coolGi 49b345776f Merge remote-tracking branch 'origin/new_buildsystem' 2023-02-15 17:08:08 +10:30
James Seibel 7bc8b46ac0 Use the buffer builder thread config on startup
modified config values after start are ignored for now
2023-02-14 20:35:23 -06:00
James Seibel 7e2b5e65be reformatting and renaming 2023-02-14 20:34:28 -06:00
James Seibel c71ca6fd27 reformatting 2023-02-13 21:22:56 -06:00
James Seibel f76eb3c1b2 attempt to prevent an issue for full data with a lot of vertical slices 2023-02-13 21:22:45 -06:00
James Seibel 92a8e16375 refactoring 2023-02-13 21:02:06 -06:00
James Seibel 0cb46c9b57 rename objects from data -> fullData
Also rename SpottyDataSource to singleChunkDataSource
2023-02-13 20:43:55 -06:00
James Seibel 4697f942e2 up the version number from 1.7.0 -> 2.0.0 2023-02-13 20:26:48 -06:00
James Seibel 6ff1d92ce1 rename dataFile -> fullDataFile 2023-02-13 20:24:31 -06:00
James Seibel 228ba2b2e2 Improve corrupted Data File handling 2023-02-13 20:03:54 -06:00
James Seibel 5116cef99a file handling refactoring 2023-02-12 17:48:22 -06:00
coolGi 0c6e620406 Fabric now builds (and works outside the build environment) 2023-02-12 20:11:53 +10:30
James Seibel 41b9e1b404 Fix SparseDataSource array out of bounds exception when reading files 2023-02-11 21:04:36 -06:00
James Seibel 38dc13a34a refactor SparseDataSource read/write data methods 2023-02-11 21:02:37 -06:00
coolGi 5ec91475a4 Made API Jar name use mod_version instead of versionStr 2023-02-12 13:02:56 +10:30
James Seibel 6441f2aa6c Add vertical quality config listener and Api clearRenderCache 2023-02-09 20:24:53 -06:00
James Seibel 1b137eae50 Fix changing vertical quality not updating render data 2023-02-08 07:31:57 -06:00
James Seibel 6a2298dff9 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2023-02-07 07:03:21 -06:00
coolGi 3efeea8987 Optimised the lod noise and added drop off for it 2023-02-07 19:33:46 +10:30
coolGi 0f5efa2036 Merge remote-tracking branch 'origin/main' 2023-02-07 18:44:14 +10:30
coolGi d67cb6b2a9 Fixed up some maths when checking weather a number is valid in the config 2023-02-07 18:34:52 +10:30
James Seibel c001943a5e DataMetaFile and RenderSection minor changes 2023-02-06 07:08:44 -06:00
James Seibel 19e618ea00 Add heightmap vertical quality 2023-02-05 16:38:00 -06:00
James Seibel a08cd3107f Fix generatorMode localizations 2023-02-05 16:37:34 -06:00
James Seibel 8cc9636fa7 update todo comment 2023-02-04 22:51:32 -06:00
James Seibel f44230df40 minor comment updating in LodQuadTree 2023-02-04 22:22:48 -06:00
James Seibel c94cf2a6ec Improve naming/documentation for LodRenderSource/Provider 2023-02-04 22:16:30 -06:00
James Seibel d5a8e1eb1b Refactor LodQuadTree 2023-02-04 22:01:47 -06:00
James Seibel e3caab440a refactor MovableGridRingList 2023-02-04 15:49:44 -06:00
James Seibel 1adf6e0582 reformat movableGridRingList 2023-02-04 15:05:16 -06:00
coolGi 7f5a533827 Updated the lang to the tooltip for noise intensity 2023-01-31 01:35:31 +10:30
coolGi ee8c698d77 Made it so shader auto updates when noise settings change 2023-01-28 20:52:09 +10:30
coolGi deaef0b88d Added support for multiple shaders to be loaded 2023-01-25 19:42:53 +10:30
coolGi 226fa90561 Added noise to the lod's 2023-01-24 18:13:04 +10:30
James Seibel 8b9a2f80b7 add comments to DhBlockPos and Pos2D 2023-01-22 19:56:35 -06:00
James Seibel 365371c5b9 Refactor WorldGenerationQueue 2023-01-22 19:56:24 -06:00
James Seibel e698df0b19 Rename DhLodPos getters to make them more specific 2023-01-22 17:23:44 -06:00
James Seibel fde9f6f129 rename AbstractWorldGenTaskTracker.isValid -> isMemoryAddressValid 2023-01-22 17:12:23 -06:00
James Seibel a249631d76 Rename world generator task objects 2023-01-22 17:09:10 -06:00
James Seibel 3359d6c619 refactor Pos2D 2023-01-21 13:24:13 -06:00
James Seibel ab1967b17f Fix WorldGen crash when closing world with incomplete tasks 2023-01-19 07:49:49 -06:00
James Seibel 3de68248de Fix the world generator running slowly
Thanks for finding the issue Leetom!
2023-01-18 07:52:16 -06:00
James Seibel e631785c9c refactor FullDataSource.neededForPos -> firstDataPosCanAffectSecond
Many thanks to Leetom for explaining the method
2023-01-18 07:40:07 -06:00
James Seibel 7f79f4d39d refactor GenDataFileHandler.onCreateDataFile() 2023-01-18 07:23:36 -06:00
James Seibel 29cf0ead7d refactor and rename selfSearch() -> getDataFilesForPosition() 2023-01-18 07:22:58 -06:00
James Seibel 597cd4629f rename DhSectionPos.sectionDetail -> sectionDetailLevel 2023-01-16 07:54:11 -06:00
James Seibel 59d5b475c5 Remove unused AtomicReference<WorldGenerationQueue> from GeneratedDataFileHandler 2023-01-15 17:19:19 -06:00
James Seibel 7bc6b673ea reformat DataFileHandler 2023-01-15 17:18:48 -06:00
James Seibel 2b930f3fd7 refactor Core world gen queuing 2023-01-15 16:57:42 -06:00
James Seibel 0b6b14177e Minor render object reformatting 2023-01-14 11:11:06 -06:00
James Seibel a27e9bac0c Move ColumnRenderSource file parsing into ColumnRenderLoader 2023-01-13 07:50:21 -06:00
James Seibel 7ea614f257 reformat render source files 2023-01-13 07:09:16 -06:00
James Seibel 723a5f8281 rename RenderBuffer -> AbstractRenderBuffer 2023-01-10 21:47:11 -06:00
James Seibel 98fde3de74 Update the Readme 2023-01-08 20:12:56 -06:00
James Seibel 9b7dfa81da Remove unused methods from EVerticalQuality and DetailDistanceUtil 2023-01-02 13:40:25 -06:00
James Seibel 1a761aad4c Delete the deprecated LevelPosUtil (use DhLodPos or DhSectionPos instead) 2023-01-02 11:18:10 -06:00
James Seibel 9e3f729c8f Replace LevelPosUtil.convert() with DhLodPos.convertToDetailLevel() 2023-01-02 11:13:31 -06:00
James Seibel 7311664acd comment MetaData 2022-12-25 21:45:46 -06:00
James Seibel b02a2d0008 rename MetaDataFile -> AbstractMetaDataFile 2022-12-25 21:42:27 -06:00
James Seibel e26ac63dff Refactor MetaData and MetaDataFile 2022-12-25 21:42:00 -06:00
James Seibel b96622f1cd refactor the AbstractSaveStructure classes 2022-12-17 16:22:21 -06:00
James Seibel 763476e648 Move level (subDim) matching into its own package 2022-12-17 09:48:06 -06:00
James Seibel c0c4cf8b56 Partially update LevelToFileMatcher (File reading incomplete) 2022-12-17 09:44:14 -06:00
James Seibel 575bd5b1e6 Minor refactors for LevelToFileMatcher and PlayerData 2022-12-11 21:32:33 -06:00
James Seibel 38a8c73311 Minor MetaFile reformatting 2022-12-11 17:28:07 -06:00
James Seibel c3c170d07a Add the generatorMode to IDhApiWorldGenerator.generate() 2022-12-10 22:08:16 -06:00
James Seibel 0ab0aeeec6 rename EDistanceGenerationMode -> EDhApiDistantGeneratorMode
This includes moving it into the API and renaming NONE -> PRE_EXISTING_ONLY
2022-12-10 22:07:54 -06:00
James Seibel bf698ad7b9 Make IDhApiEventInjector extend IDependencyInjector<IDhApiEvent>
Some methods were missing when using the API
2022-12-10 21:05:51 -06:00
James Seibel d792031c57 Use bound API World Generators 2022-12-10 11:17:50 -06:00
James Seibel eff161fb24 Remove IWorldGenerator (everything is handled in IDhApiWorldGen) 2022-12-10 09:34:19 -06:00
James Seibel 1489cb0bdb Rename IChunkGenerator -> IWorldGenerator 2022-12-08 21:36:03 -06:00
James Seibel 434abcf1ae Set up the world generator interface for use with the API 2022-12-08 21:32:19 -06:00
James Seibel 581515efc4 Add EDhApiDetailLevel as a reference on DH detail levels 2022-12-05 22:08:01 -06:00
James Seibel 79441b0bdd Remove LodUtil.CEILED_DIMENSION_MAX_RENDER_DISTANCE
Reasoning: The value isn't in use anywhere, we shouldn't be setting a max value anyway since people can get on dimension roofs anyway, and it would be better to allow per-dimension values instead
2022-12-05 22:07:28 -06:00
James Seibel 24260a057a Prep the IChunkGenerator/BatchGenerator for using the API 2022-12-03 19:45:44 -06:00
coolGi 6fd47f360c Fix to issue 446. (special characters in folder name causes crash) 2022-12-01 21:32:37 +10:30
James Seibel be28ed8319 Separate inner classes and refactor world generator code 2022-11-25 17:11:54 -06:00
James Seibel 007e993148 reformat chunk generator code 2022-11-25 15:58:53 -06:00
James Seibel eb0bb8a67d Add a few missing comments to DhLoggerBuilder 2022-11-25 15:57:41 -06:00
James Seibel 00c7f7adaf Minor WorldGeneratorInjector refactoring 2022-11-25 10:08:47 -06:00
James Seibel 0a806c1218 Minor refactoring and Event Test fixes 2022-11-25 09:51:59 -06:00
James Seibel d6a83c8b61 Fix event related null pointer issues 2022-11-24 23:09:00 -06:00
James Seibel 0647d212d6 Fix Event tests not failing correctly 2022-11-24 22:32:37 -06:00
James Seibel 840b02c2db reformat DependencyInjector and ApiEventInjector 2022-11-24 22:32:12 -06:00
James Seibel 2b1837e812 Move Optifine code out of ReflectionHandler and into AbstractOptifineAccessor 2022-11-24 19:09:52 -06:00
James Seibel 4a7af41397 Put delayed objects in DhApiMain into a Delayed class
also improve a few comments
2022-11-24 18:24:13 -06:00
James Seibel aad3a5d2a3 rename DhApiResult.errorMessage -> message 2022-11-24 18:11:16 -06:00
James Seibel 0f06fedb95 rename DhApiEventInjector -> ApiEventInjector
This renaming was because the injector isn't designed to be used from the API, only internally; and externally available objects all start with "DhApi"
2022-11-24 18:05:07 -06:00
James Seibel 6ca2da3f7f Add one time API events (IE setup events)
This allows users to bind to setup events after they've happened and still have the event fire. This is useful for setup since mod load order isn't defined.
2022-11-21 19:26:14 -06:00
James Seibel 1b5a10591b Add IDhApiWorldProxy 2022-11-20 20:39:52 -06:00
James Seibel a935c648e2 un-deprecate McClientWrapper.getWrappedClientWorld()
This was originally done due to splitting up the code into server and client, however this object is just for the client so it shouldn't be an issue.
2022-11-20 20:27:04 -06:00
James Seibel 2ce8692d84 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-11-19 19:06:46 -06:00
James Seibel 0249894386 Add raycasting methods to IDhApiTerrainDataRepo 2022-11-19 18:59:55 -06:00
James Seibel c2d8e16bc0 remove API debug code from ClientApi 2022-11-19 17:03:31 -06:00
James Seibel e6c833a643 Add raycasting to DhApiTerrainDataRepo 2022-11-19 17:02:26 -06:00
James Seibel 1e235f0cd6 Add DhApiVec3i and DhApiRaycastResult objects 2022-11-19 17:02:04 -06:00
James Seibel d3e293db2c Improve the raycasting tests and fix a few directional issues 2022-11-19 17:01:29 -06:00
James Seibel 6eb97f654c Add RayCastUtil and unit tests 2022-11-19 10:20:14 -06:00
coolGi b64fdf214e Added the ChangelogScreen. New changelog screen done 2022-11-18 19:12:25 +10:30
coolGi 77519bde9d Updated updater screen (thanks a lot to Pankakes#0686) 2022-11-17 21:44:43 +10:30
James Seibel 103a03c90f partially functional raycasting 2022-11-16 22:35:56 -06:00
James Seibel d31013a680 Make the API TerrainRepo return all blocks in a given section instead of a single column 2022-11-14 21:40:40 -06:00
James Seibel d283922741 Minor refactoring 2022-11-14 21:39:38 -06:00
James Seibel 60af4429eb Add a couple missing parameters 2022-11-13 22:13:29 -06:00
James Seibel c67079c928 Rename FullDataPoint getDepth() -> getHeight() and getY() -> getBottomY() 2022-11-13 22:11:21 -06:00
James Seibel cd1c12be12 Implement DhApiTerrainDataPointRepo get methods 2022-11-13 21:49:26 -06:00
James Seibel 1099f5ec24 Add IDhApi Biome and BlockState Wrapper objects 2022-11-13 21:45:35 -06:00
James Seibel d723a1fa84 Add a optional payload to DhApiResult 2022-11-13 21:42:11 -06:00
James Seibel 0bd5730128 Add IDhLevel.getFileHandler() 2022-11-13 16:36:50 -06:00
James Seibel f11752da96 Refactor Dh Client/Server/ClientServer Level objects 2022-11-13 16:33:30 -06:00
James Seibel 51601e710a Add DhLodPos getSectionRelative and getSectionPos methods 2022-11-12 20:12:18 -06:00
James Seibel 3dfaed4409 Add a demo/debug method to DhApiTerrainDataRepo 2022-11-12 12:57:40 -06:00
James Seibel 571ecc5e9c minorly reformat IFullDataView 2022-11-12 12:35:37 -06:00
James Seibel c9947d0250 Remove LagSpikeCatcher from ClientApi 2022-11-12 12:35:03 -06:00
James Seibel 53813020d4 Add tryGet() and getMapping() to IDataSource objects 2022-11-12 12:00:22 -06:00
James Seibel 904288e6ec Refactor DataSources 2022-11-12 11:05:59 -06:00
James Seibel 244a1c273c refactor colorUtil 2022-11-10 07:48:48 -06:00
James Seibel 60112e9bce update a constructor comment 2022-11-10 07:48:31 -06:00
James Seibel 378c064629 Add DhBlockPos and DhChunkPos constructors to DhSectionPos 2022-11-10 07:47:59 -06:00
James Seibel 2429cbbb52 Add BitShiftUtil square() and pow() 2022-11-06 21:40:21 -06:00
James Seibel 8099925dc2 Refactor/comment DhSectionPos, DhLodPos, and DhLodUnit
Also add BitShiftUtil to hold bit shift operation aliases for easier reading
2022-11-06 21:25:37 -06:00
James Seibel ae7dd5ba7e minor formatting/comment updates 2022-11-06 16:59:00 -06:00
coolGi 4c2a2fffc1 Merge remote-tracking branch 'origin/main' 2022-11-04 17:35:52 +10:30
coolGi 87e40c0723 Added a lang auto formatter and a missing lang detector and fixed up the lang formatting and added missing options 2022-11-04 17:35:24 +10:30
Morippi 1965785ff6 small fix to cave culling 2022-11-03 18:59:08 +01:00
morippi 1caf6b03b4 I made some error with the commits 2022-11-03 17:51:21 +01:00
James Seibel f1ed837610 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-10-31 22:16:16 -05:00
James Seibel cddf27be45 Rename DhWorld -> AbstractDhWorld and WorldEnv -> EWorldEnv 2022-10-31 20:28:58 -05:00
coolGi b9abfaa573 Resized the logo to be an aspect ratio of 2:1 and updated auto-updater's text 2022-10-30 18:35:45 +10:30
coolGi ed0b03a680 Updated readme to add/remove the libraries we use 2022-10-29 09:16:35 +00:00
coolGi 56f02af579 Finished the self updater 2022-10-28 10:07:46 +10:30
coolGi c091566a86 Added the self updater to forge and fixed standalone jar 2022-10-21 17:31:52 +10:30
coolGi 2e9d118ab9 Added the self updater to forge 2022-10-20 22:47:14 +10:30
James Seibel f85d25900b Merge remote-tracking branch 'refs/remotes/origin/main' 2022-10-05 22:39:11 -05:00
James Seibel 2ec7cc8c6d Refactor ColumnRenderSource 2022-10-05 22:21:10 -05:00
coolGi b1ff93bb91 Changed out the json library with something that we already have 2022-10-04 17:24:25 +10:30
James Seibel ce991cd912 Basic refactoring 2022-10-02 22:22:54 -05:00
James Seibel b8af1794a6 rename FullDataPointIdMap setAndGetId -> addIfNotPresentAndGetId 2022-10-02 21:42:02 -05:00
James Seibel 9fcced23e4 Refactor GLProxy and GLMessage 2022-10-01 23:32:30 -05:00
James Seibel 54e35f0907 Refactor GLProxy 2022-10-01 22:03:05 -05:00
TomTheFurry 8d8de8692b FINALLY fix the issue where some data isn't saved and etc 2022-10-01 15:02:23 +08:00
James Seibel b34778952a rename FullFormat -> FullDataPoint and IdBiomeBlockStateMap -> FullDataPointIdMap
Also refactor FullDataPointIdMap
2022-09-30 21:21:26 -05:00
James Seibel a082f2ae86 basic reformatting 2022-09-30 20:20:22 -05:00
James Seibel 8b1cb258b4 Add interface and abstract prefixes to a few datatype objects 2022-09-29 22:38:23 -05:00
James Seibel 58be4da5ca Auto format and move around a few comments 2022-09-29 22:15:15 -05:00
James Seibel 956f13c674 Add "Dh" prefix to DistantHorizons Worlds 2022-09-29 21:50:47 -05:00
James Seibel 1f6f03745a Add "Dh" prefix to DistantHorizons levels 2022-09-29 21:49:11 -05:00
coolGi 52b26c2046 Fixed up some listener stuff in the config 2022-09-25 12:24:41 +09:30
coolGi 825c72d572 Merge remote-tracking branch 'origin/main' 2022-09-19 19:07:13 +09:30
coolGi dd11b89bb9 Added a way of just running the config ui by itself so I can do quicker tests 2022-09-19 19:07:07 +09:30
TomTheFurry 905e73fd1c Continue improving stabilises of the system 2022-09-19 14:54:45 +08:00
TomTheFurry 4158573129 Add render source flag debug mode & fix sparse source to render source transform bug 2022-09-19 12:28:39 +08:00
TomTheFurry b4ea8854a8 Fix critical issue causing chunk to lod build extremely slow, and also partly fix sparse data source loading (where I used wrong array instead of loaded data array.) Also improve ChunkToLodBuilder building loops to support multithreaded building 2022-09-18 16:30:39 +08:00
coolGi 22628983a7 Merge remote-tracking branch 'origin/main' 2022-09-18 15:31:17 +09:30
coolGi afd88470d8 Added some api notes and moved JarMain to the jar folder 2022-09-18 15:31:07 +09:30
TomTheFurry 2e773279b7 Rework the Level data member organization and make world gen enable/disable based on settings 2022-09-18 13:58:02 +08:00
TomTheFurry f91629bf21 Make it build again 2022-09-18 12:55:26 +08:00
James Seibel 47645a6346 Add worldGen, Override, and DataRepo variables to DhApiMain 2022-09-16 23:57:55 -05:00
James Seibel 52ed3c8733 Rearrange API packages 2022-09-16 23:41:57 -05:00
James Seibel 6c249335c5 Move some API objects into the DhApiMain object 2022-09-16 23:24:25 -05:00
James Seibel d0f43a6760 re-add level event parameters 2022-09-16 22:55:21 -05:00
James Seibel 9adf2a75f8 Make Core Level Wrappers implement API wrappers 2022-09-16 22:55:03 -05:00
TomTheFurry fc5cb6796b Clean up transparency and buffer render orders. 2022-09-16 17:54:08 +08:00
James Seibel 690dd319cb Set up the API config 2022-09-15 20:31:41 -05:00
James Seibel 541fbbb36b Remove "config" from API config method names
IE getFogConfig()
The additional config was already implied.
2022-09-15 20:30:49 -05:00
James Seibel 14bd059a88 implement and modify API config interfaces 2022-09-15 19:33:25 -05:00
TomTheFurry 6fc31192c2 No longer saving empty files & rework isEmpty flag to be more stable & work on genQueue issue
Note: Known half fixed issue where in large render distance, the genQueue will block server thread for ages to build up gen request index.
2022-09-16 00:18:26 +08:00
James Seibel ec738aea22 Re-add api event tests 2022-09-13 21:56:03 -05:00
James Seibel 92a98aba96 Hook up the API events (some are missing parameter objects) 2022-09-13 21:44:00 -05:00
James Seibel f6a1901ef8 Move several Dependency Injectors into the API 2022-09-13 21:38:57 -05:00
James Seibel cceb2c38e4 Fix several API packages missing from "methods" 2022-09-13 20:00:54 -05:00
James Seibel 6e229b86b0 fix the semantic version number 2022-09-13 07:42:32 -05:00
TomTheFurry 4d09441399 Start trying to get chunk updating to work... 2022-09-13 12:17:37 +08:00
James Seibel c80a5b102d Move config enums into API and setup groundwork for config interfacing 2022-09-12 22:16:13 -05:00
James Seibel 4f1203b32c Flip API -> Core dependency to Core -> API
Very rough, a decent amount of the API isn't hooked up to anything.
2022-09-12 21:53:55 -05:00
TomTheFurry 1bfc6db8b4 Fixed some bugs when moving across dimensions 2022-09-13 00:09:29 +08:00
TomTheFurry 54d41bfc3f Rename 'io' package to 'file' 2022-09-12 23:39:58 +08:00
TomTheFurry 0914b825fe Move ParsedIp class into 'util.objects' 2022-09-12 22:48:58 +08:00
TomTheFurry 3f23ef960b Reorganize all the classes and move them around to make more sense and be easier to navigate. Also removed/unwrapped the 'a7' temp package. 2022-09-12 22:43:06 +08:00
TomTheFurry dfc75f2a65 Nuke no longer used files and fix bugs where I'm using the wrong class for doing data formats 2022-09-12 22:13:20 +08:00
James Seibel f2c19ef3a3 comment out failing unit test 2022-09-11 22:41:14 -05:00
James Seibel 14b855ada6 Fix incorrect API tests (and move them to the API sub-project) 2022-09-11 22:25:22 -05:00
James Seibel d21e334e15 move Client/Server API back into the Core sub-project 2022-09-10 20:02:50 -05:00
James Seibel ba701eb014 Fix the level API events 2022-09-10 17:10:48 -05:00
TomTheFurry 0a70ec9986 Fix region load bug & fix corrupt file load error handling & fix downsampling bug & fix sparse failing to save the promoted version 2022-09-11 00:12:22 +08:00
coolGi 050d88dd13 Made the config abstract (so it can be used by other mods using our api) 2022-09-09 23:12:20 +09:30
TomTheFurry 1b0c97ffca Fix adj sections rendering quad merge bug 2022-09-09 14:37:03 +08:00
TomTheFurry 1dadf056da Fix lighting 2022-09-09 14:16:57 +08:00
James Seibel e61da323d8 suppress a couple unchecked cast warnings 2022-09-08 21:42:21 -05:00
James Seibel 2328f44e3a Fix API injector tests 2022-09-08 21:31:36 -05:00
James Seibel b0b5007341 Fix API Event Injector tests 2022-09-08 21:04:54 -05:00
James Seibel 35b00165a2 Partially implement/uncomment worldGeneratorOverride 2022-09-08 20:51:49 -05:00
James Seibel 659c62d4b4 Move worldGen Api Enums into the API sub-project 2022-09-08 20:15:54 -05:00
TomTheFurry 0e001dd2d3 *Kinda* working now. Async the updateCache to io thread, and fix stream close issue 2022-09-08 22:31:24 +08:00
TomTheFurry 00a18352d8 Fixed various bugs & Add some info to be logged to F3 2022-09-08 21:18:22 +08:00
TomTheFurry a53bdc6abf Finish the previous merge issue 2022-09-08 17:41:31 +08:00
James Seibel cecd01b7d9 Merge 2022-09-07 07:47:18 -05:00
James Seibel 09ceab5c70 Comment out API/API test code so we can get everything compiling 2022-09-07 07:37:07 -05:00
James Seibel 53ded97714 Move Core API items into the api.external.coreImplement package 2022-09-06 22:22:27 -05:00
James Seibel 5a2366eb13 Move CoreDhApiRenderParam into a better package 2022-09-06 22:10:09 -05:00
James Seibel 5e775e4c88 move The ConfigWrapper to the API sub-project 2022-09-06 21:39:51 -05:00
James Seibel 75b23ee904 Move and update API Events to the API sub-project 2022-09-06 21:25:11 -05:00
James Seibel dbae5a3b05 Move DhApiEventRegister to API sub-project 2022-09-05 21:41:32 -05:00
James Seibel b5a05bfe21 Add CoreDhApiRenderParam and move DhApiRenderParam to the API Sub-project 2022-09-05 21:38:52 -05:00
James Seibel 71f55ef0e3 Add (core)Mat4f -> DhApiMat4f constructor 2022-09-05 21:38:05 -05:00
James Seibel f323eaf666 Remove DhApiMat4f from Mat4f 2022-09-05 21:12:00 -05:00
James Seibel 7ee113ddff Replace the override priority enum with an int 2022-09-05 21:11:29 -05:00
James Seibel f61d113493 Move config API Enums to the API sub-project 2022-09-05 19:28:57 -05:00
James Seibel eaadd6fc71 Move API Interfaces into the API sub-project 2022-09-05 19:18:33 -05:00
James Seibel 89a46ae5e1 Move misc API items into the API sub-project 2022-09-05 19:14:43 -05:00
James Seibel 7a00ba09a2 Move API tests to the API sub-project 2022-09-05 18:53:12 -05:00
James Seibel 9eefd53fdc Fix test compiling in API
TODO: why do we need manifold to compile the API when any test file is present?
2022-09-05 16:08:40 -05:00
James Seibel 17d2e61688 Start moving API files to the API sub-project 2022-09-05 11:46:13 -05:00
James Seibel e24aa32cce Make public loggers private 2022-09-05 11:37:00 -05:00
James Seibel b33f7bbabd add commonInterface sub-project 2022-09-05 11:27:16 -05:00
James Seibel 758b5b6db6 Remove apiInterface and coreShared sub-projects 2022-09-05 11:27:01 -05:00
James Seibel 1f8bd81958 Remove dependencies on ClientApi.LOGGER
each class should have it's own logger instead
2022-09-05 11:25:46 -05:00
TomTheFurry 950a1d34ea Overhaul how files and partially loaded sources are handled
Note: Currently it DOES render, it just... requires the ENTIRE area to be generated. This bug will be fixed... tomorrow. I hope. (It's like 11:35pm here so gimme a break!)
2022-09-05 23:36:51 +08:00
coolGi bcc65b8153 Fixed issue when setting a config value in the file to a different type breaks game. 2022-09-02 15:59:00 +09:30
coolGi a5ade02dec Fixed issue #390 (problems with BCLib fog) 2022-09-02 15:14:03 +09:30
coolGi 1aaae5c1da Started work on auto updater screen 2022-09-02 12:12:50 +09:30
coolGi cf62774a78 Added auto updater lang 2022-09-02 10:41:38 +09:30
James Seibel 2fdf2b9cfc rename coreApiCommon -> coreShared 2022-08-30 21:50:33 -05:00
James Seibel 55463f2377 add apiInterface and coreApiCommon subprojects
Currently they are just shells and they may be renamed later
2022-08-30 07:54:57 -05:00
James Seibel 43d53e71c9 rename/reorganize the "_Msic Files" folder 2022-08-30 07:46:40 -05:00
James Seibel 14d0e65c68 Move the api sub-project into core 2022-08-30 07:39:59 -05:00
James Seibel 9799b0a263 move core into a folder named "core"
This is so we can have multiple sub-projects in the core repo
2022-08-30 07:36:19 -05:00
Morippi 519a4c1452 Added configs for transparency (currently I'm faking the light for ocean floor) 2022-08-25 11:23:49 +02:00
Morippi 30959cfdd0 fixed water "walls" 2022-08-25 00:03:47 +02:00
Morippi 717c33078f Added section ordering (by position) + small fixes on transparency 2022-08-24 23:02:27 +02:00
Morippi 8b877a5f1a Divided transparent from opaque in the rendering (transparent are not rendering for some reason) 2022-08-24 21:54:56 +02:00
Morippi 427105189b small fixes + removed lodBox 2022-08-24 16:32:01 +02:00
Morippi 821feae1d5 Improved ocean floor adjCulling 2022-08-24 15:43:46 +02:00
Morippi 29c5d70171 enabled and fixed ocean floor (light not working correctly) 2022-08-24 15:15:21 +02:00
Morippi 5e91824c7d Disabled fake floor 2022-08-24 13:53:06 +02:00
Morippi 9575429296 Fixed transparency and added some boolean to disable it 2022-08-24 13:35:51 +02:00
Morippi 22f9d20aae another small fix (sorry) 2022-08-24 13:16:55 +02:00
Morippi 45ec219bb5 Small fix 2022-08-24 13:16:09 +02:00
Morippi ae0eb0fd91 Redoing everything on transparency, I hope I'm not breaking anything 2022-08-24 13:15:01 +02:00
James Seibel 3785426793 Add Server save API Event 2022-08-23 22:43:24 -05:00
James Seibel d1126afc44 Add DhWorld.GetAllLevels() and ILevel.GetLevelWrapper() 2022-08-23 22:43:08 -05:00
James Seibel f203679de4 Add Client/Server load/unload events
Add client level save event
stub out server level save event
2022-08-23 21:32:46 -05:00
James Seibel e2d90f6627 Remove module-info
We are going to use a separate (intellij?) module instead for the API
2022-08-23 21:18:38 -05:00
TomTheFurry 75ab228e46 Created SparseDataSource 2022-08-23 13:27:33 +08:00
James Seibel 0b7bd84af5 Implement DhApi Before/After render events 2022-08-21 22:40:34 -05:00
James Seibel 322ccee672 Add helper methods to Mat4f objects 2022-08-21 22:37:56 -05:00
James Seibel 9c669c2fe6 Move Render helper methods into RenderUtil
Also refactor said methods along with ClientApit
2022-08-21 22:37:09 -05:00
James Seibel c69b7d14bf Simplify ClientApi rendering method 2022-08-20 22:38:50 -05:00
James Seibel ae60c8e974 Move logToChat to IMcClientWrapper 2022-08-20 18:27:33 -05:00
James Seibel 5819d8c3f3 Auto-format 2022-08-20 18:25:36 -05:00
James Seibel a179fb9ff9 auto-format ClientApi 2022-08-20 18:14:01 -05:00
James Seibel c491a36b71 Re-add the "here be dragons" dev build message 2022-08-20 18:03:12 -05:00
TomTheFurry 78ccb8aaf2 Making multi-level works a bit better... Needs more changes to work well though... 2022-08-20 21:24:42 +08:00
TomTheFurry 90fe892291 Bypass critical issue with map() returned buffer holding the file open til GC. 2022-08-20 20:56:17 +08:00
TomTheFurry b80bfe813c Fix bugs in CQCPTree 2022-08-20 15:49:12 +08:00
TomTheFurry 0dafdc527a Continue fixing gen related issues 2022-08-18 19:46:35 +08:00
TomTheFurry 1cc00b7174 Did the generation stuff change 2022-08-18 18:29:04 +08:00
James Seibel 3995e07d91 Stub out a potential fix for #287 (optifine resolution) 2022-08-16 20:29:12 -05:00
coolGi 04220584b3 Added an onModify to the config 2022-08-16 17:10:34 +09:30
James Seibel b13203c62e Fix a few DhApiResult constructors 2022-08-15 22:24:26 -05:00
James Seibel 68ef9126ed Hook up DhApiWorldGeneratorOverrideRegister
set up Dependency Injectors for clearing their bound items.
add simplified constructors for DhApiResult
2022-08-15 22:21:08 -05:00
James Seibel c7a84831e9 Replace system.out in DhApiEventInjector 2022-08-15 21:56:10 -05:00
Ran 633ad1f490 Add module-info.java 2022-08-15 13:37:26 +00:00
TomTheFurry 1fc6487374 Start rework on the generationQueue system so that it hooks directly into base DataFileHandler instead of watching for PlaceHolder obj.
This also means a hyper complex concurrent customized quad tree implementation... So, great.
2022-08-14 23:42:41 +08:00
James Seibel d3732306a6 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-08-13 17:39:05 -05:00
James Seibel 25d4b8ab3d Improve the curvature shader with code from stduhpf
Currently untested and the old code is still included
2022-08-13 17:38:48 -05:00
TomTheFurry e5f3e2e7b0 Start working on a new concurrent container... 2022-08-13 14:35:44 +08:00
TomTheFurry 43ec3a081d Make multi-level works again! 2022-08-10 20:47:10 +08:00
TomTheFurry 88ccc76045 First fix on light & impl render source direct write 2022-08-09 16:08:54 +08:00
TomTheFurry 6a49a100e7 Fixed multiple major RAM issues. Next one is the 100/s reload issue... 2022-08-08 23:00:30 +08:00
coolGi 6c8a7ef989 Merge remote-tracking branch 'origin/main' 2022-08-06 20:33:51 +09:30
coolGi 6aab2d287c Added an auto updater when game starts 2022-08-06 20:32:09 +09:30
TomTheFurry d58cd204cc Implemented untested FullDataType serialize & deserialize 2022-08-06 00:08:16 +08:00
coolGi be74011e5e Made jar use modrinth instead of gitlab 2022-08-05 21:53:44 +09:30
TomTheFurry f6e5bdbd2f Fixed block color & improve close 2022-08-04 20:03:43 +08:00
TomTheFurry 9a8145ff45 Fixed all the data view bugs 2022-08-04 19:07:32 +08:00
James Seibel 46bc17e9ac Add (commented out) module-info.java 2022-08-02 21:40:14 -05:00
TomTheFurry 6fe2b6f331 Something renders! And introduce mem leaks, missing texture color, and inverted lights! What a great set of features! 2022-07-30 16:06:54 +08:00
TomTheFurry 823da76896 Fix forge wrong proxies, fix generator shutdown, fix batch gen incorrect timeout, 2022-07-30 00:11:36 +08:00
morippi 2e833136f6 Added new merged (it's commented out, when build is working we can test it) 2022-07-28 14:54:29 +02:00
TomTheFurry f08e7974cd Fix up all file IO bugs, FullFormat bugs, FullToColumn bugs, & Tree assert issues 2022-07-28 19:33:47 +08:00
James Seibel 64ee49de03 Finish the WorldGenInjector tests 2022-07-27 21:58:27 -05:00
James Seibel c29289d602 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-07-27 07:53:22 -05:00
James Seibel b9cd99cb6c Add basic unit tests for WorldGenInjector 2022-07-27 07:53:19 -05:00
TomTheFurry 6862f5667b Improve generationQueue and add more and better logging and fix double close on DhLevels 2022-07-27 14:49:03 +08:00
James Seibel 30aba99c27 Add WorldGeneratorInjector and start unit tests 2022-07-26 22:09:49 -05:00
James Seibel a49512f750 Add generic typing to OverrideInjector 2022-07-26 21:24:52 -05:00
TomTheFurry 89e2d10f24 Fixed 1 wrong logging 2022-07-26 23:36:49 +08:00
TomTheFurry 2abb117d2e remove ghost imports.... 2022-07-26 23:31:28 +08:00
TomTheFurry c110e268b8 Fixed IO bugs 2022-07-26 23:14:28 +08:00
TomTheFurry 78c6ae3b90 Hey Fixed more maths! 2022-07-26 22:20:26 +08:00
TomTheFurry 50810c7406 Fixed realllly wrong maths 2022-07-26 21:54:32 +08:00
TomTheFurry e903ec53f5 Continue fixing bugs... Lots of bugs. 2022-07-26 20:17:26 +08:00
TomTheFurry a4546c63e3 Fix bunches of bugs. Quad tree ticks! Gen call is fired! Chunk gen works! Next to fix: File updates 2022-07-26 17:06:50 +08:00
TomTheFurry 50c5d044f1 Trying and failing to find a bug. Gonna call it a night. 2022-07-26 01:04:01 +08:00
TomTheFurry 5947716a6a Resolving one by one many bugs lying around 2022-07-26 00:13:00 +08:00
coolGi 85fec37bed Removed some jank code 2022-07-25 23:11:01 +09:30
TomTheFurry 49769d0aac Fix stuff so fabric works and no crash. Sadly nothing renders though... 2022-07-25 21:23:36 +08:00
James Seibel d7b73f378e Fix ApiEnum test failures 2022-07-25 07:46:25 -05:00
TomTheFurry ff2763df9e Rework forge to new a1.7 structure. Minecraft runs and it builds. But crash on loading into world due to... weirdness 2022-07-25 19:44:11 +08:00
TomTheFurry 973be40324 Fix and port batch generator to new Generator API. Now if we just fix up forge, and there's no bugs (impossible), then there's enough implemented to finally have something shown! Yay! 2022-07-25 13:38:33 +08:00
TomTheFurry 5f486b6258 Work on world generator integration to a1.7 rework 2022-07-23 16:40:19 +08:00
James Seibel cdbee5e239 Add a missing test case and fix a typing issue with dependencyInjector 2022-07-21 21:25:17 -05:00
cola98765 b95f095721 why did I root the alpha? 2022-07-21 18:35:27 +02:00
TomTheFurry 5b1568e9a6 Fixing stuff towards successful builds. Now stuck on thinking how the world gen stuff should return and apply the gen chunk to data though... 2022-07-21 17:40:27 +08:00
James Seibel 109f2ea7a4 Finish OverrideInjector and add unit tests 2022-07-20 07:11:46 -05:00
James Seibel 0e73aa1820 More test refactoring 2022-07-20 07:00:11 -05:00
James Seibel c4a9a72118 More refactoring 2022-07-19 20:22:11 -05:00
James Seibel d5f7818252 Refactor/Clean Dependency tests before adding Override tests 2022-07-19 19:57:03 -05:00
James Seibel 3f89c485e1 Add OverrideInjector 2022-07-19 19:46:17 -05:00
James Seibel c11f63f606 DependencyInjector children fixes 2022-07-19 19:40:06 -05:00
coolGi 1c2a4a43d0 Merge remote-tracking branch 'origin/main' 2022-07-18 15:16:30 +09:30
coolGi adc51bab9a Added runnable and performance impact to the config 2022-07-18 15:16:22 +09:30
James Seibel dc466e61d1 Add DhApi Client/Server Save events (and fix other events) 2022-07-17 20:48:28 -05:00
James Seibel 02157d52f6 Add DhApi level load/unload objects 2022-07-17 20:40:31 -05:00
James Seibel 299a7c67f0 Rename DhApi event Parameter objects 2022-07-17 20:33:50 -05:00
James Seibel 484c95e26a Make event parameter objects internal classes 2022-07-17 20:29:29 -05:00
James Seibel 45f7ca2954 Add DhApi Before/After Init Event objects 2022-07-17 20:15:07 -05:00
James Seibel a7c3f9ec20 Add DhApi Before/After Render Event objects 2022-07-17 20:09:14 -05:00
James Seibel c7e4781a95 Add unit tests for the DependencyInjectors 2022-07-16 22:40:14 -05:00
James Seibel 9a8ed301cb Rename SingletonHandler -> SingletonInjector
This was done with all Dependency Injection objects because there was a name conflict with DhApi event handlers. (This new name is also more specific and makes sense for dependency injection).
2022-07-16 22:09:22 -05:00
James Seibel 8c0767523d Add DhApiEventHandler and hook up EventRegister
add supporting event interface objects
refactor api.implementaion.interfaces
2022-07-16 22:06:29 -05:00
James Seibel 88915ca92f Improve DependencyHandler for DhApiEventHandler support
Specifically dependencyHandler can now optionally store multiple implementations for each dependency interface.
2022-07-16 22:02:37 -05:00
James Seibel 207eded4b4 Improve anotherQuestion docker documentation 2022-07-16 20:48:14 -05:00
James Seibel c01fc2ed86 Remove DhApi worldGenerator unregister methods
Also fix capitalization for the register methods
2022-07-15 22:07:32 -05:00
James Seibel 3d19fec723 Revamp DependencyHandler
The dependency handlers are now singletons instead of static, this prevents almost all duplicate code as each handler can now extend the parent DependencyHandler.

Handlers no longer have to finish binding before being used, and they no longer have to call runDelayedSetup() before being used either. However dependencies that have circular references still need the runDelayedSetup() method to be called at somepoint; there will just be a warning if they are get() before that setup was done.
2022-07-15 21:58:48 -05:00
James Seibel 6b5c14cdd9 fix a typo 2022-07-15 07:17:12 -05:00
James Seibel 1bd3ce8809 Major API Package refactor 2022-07-14 22:15:07 -05:00
James Seibel e6937d010f Start setting up the DhApi world generator overriding 2022-07-14 21:54:06 -05:00
James Seibel 51de4da845 Minor cosmetic/warning changes/fixes 2022-07-14 21:44:46 -05:00
James Seibel b1c6ff9588 Improve DhApi event handling names and organization 2022-07-14 07:48:46 -05:00
James Seibel 889e983cc5 Continue setting up the DhApi Rendering events 2022-07-13 22:06:52 -05:00
James Seibel 4f6433ee0f Improve IDhApi Render events 2022-07-13 21:24:11 -05:00
James Seibel e04f1d9dd5 Start adding a event API system 2022-07-13 07:54:34 -05:00
James Seibel 9673150fa1 Rename and add DhApi to a few classes 2022-07-13 07:30:22 -05:00
James Seibel 32747baadf Create the outline for the TerrainDataApi methods and objects 2022-07-11 22:14:14 -05:00
James Seibel 6629ec9dc0 Set up the API packages for data and overriding
data - getting/setting terrain data
overriding - overriding DH systems
2022-07-11 21:31:33 -05:00
James Seibel 9a91b8f306 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-07-11 20:56:37 -05:00
James Seibel 78fe3923e2 DhApi config refactoring 2022-07-11 20:56:34 -05:00
coolGi cca82fd67a Changed the design to the installer GUI 2022-07-11 16:06:29 +09:30
coolGi cd10fc013a Save commit 2022-07-10 23:34:05 +09:30
coolGi 7c6b4ef059 Merge remote-tracking branch 'origin/main' 2022-07-10 16:37:54 +09:30
coolGi 172a6d9239 Made version numbers more readable in jar 2022-07-10 16:37:42 +09:30
James Seibel ed312cb45e Add AnotherQuestion Docker setup instructions 2022-07-09 17:39:03 -05:00
coolGi d617d2b91d Added an auto installer (works with everything except when downloading from cursedforge cus it is being annoying) 2022-07-08 21:01:42 +09:30
James Seibel 027406ffca Fix a few misc DhApi's and comment World Gen DhApi 2022-07-05 21:49:35 -05:00
James Seibel 267da77a0a Update DhApi Threading comments 2022-07-05 21:35:18 -05:00
James Seibel e9c558eefe Improve/fix DhApi Multiplayer 2022-07-05 21:28:35 -05:00
James Seibel 9434275e51 Move some comments and improve DhApi Debugging 2022-07-05 21:23:42 -05:00
James Seibel cedffb03d8 Update the DhApi buffer comments and move one item
Geometry rebuild frequency is more of a graphic setting than a buffer setting.
2022-07-05 21:17:22 -05:00
James Seibel 2f9404e203 Improve the DhApi fog comments and add types 2022-07-05 21:12:32 -05:00
James Seibel f277121148 Add renderingEnabled to DhApi Graphics Config 2022-07-05 20:35:43 -05:00
James Seibel 5c6a511c42 Polish and fix DhApiGraphics
Add types to the generics
Add comments to the methods
Fix a incorrect type
2022-07-05 20:21:11 -05:00
James Seibel 890904cfe8 rename ERendererType -> ERendererMode
The enum didn't change what type of renderer was used, it just changed how the renderer was used (on/off/debug).
2022-07-04 23:01:23 -05:00
James Seibel c98ae392eb Clean up the headers for the API methods 2022-07-04 22:49:09 -05:00
James Seibel 6a6ab4bd78 add instructions to setup a docker runner 2022-07-04 22:09:18 -05:00
TomTheFurry ab7b97b29c Start nuking old files + work on FullData -> ColumnData logic 2022-07-04 00:18:00 +08:00
James Seibel 32fd3b6084 Add API Geometry Config 2022-07-02 22:42:17 -05:00
James Seibel e0947d3490 Add API Debug Config 2022-07-02 22:11:52 -05:00
James Seibel 0adf9b31cf Fix an incorrect API config generic type 2022-07-02 22:03:13 -05:00
James Seibel aabf087f55 Api threading config comments 2022-07-02 22:02:04 -05:00
James Seibel bff4797ab4 Add a missing graphic api method 2022-07-02 21:57:30 -05:00
James Seibel 6386cc5d88 Add Multiplayer config API 2022-07-02 21:52:09 -05:00
James Seibel d92b1f1032 Add World generator API config 2022-07-01 22:02:57 -05:00
James Seibel 1855e27d29 Rename and move EFogSettings -> FogSettings
It wasn't an enum so the prefix and package were wrong
2022-07-01 21:35:01 -05:00
James Seibel 957466b419 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-07-01 21:21:56 -05:00
James Seibel 3f757e8c32 Add DhApiGraphics settings 2022-07-01 21:21:54 -05:00
TomTheFurry 932146eea8 Milestone!! Both fabric:runclient & fabric:runserver now works!!!!! (in 1.18.2 for now) 2022-07-01 18:17:07 +08:00
TomTheFurry 1c63dd5183 It now able to join level without error spams! 2022-07-01 17:05:52 +08:00
TomTheFurry bdc8384c49 It... builds? 2022-07-01 15:05:55 +08:00
James Seibel c77f8e254b Add more DhApiGraphic configs 2022-06-30 22:51:05 -05:00
James Seibel 9299e2d53f Add Fog Config API methods 2022-06-30 22:16:37 -05:00
James Seibel 00118ea885 Add GenericEnumConverter 2022-06-30 20:37:00 -05:00
James Seibel 50dc8efafc Add converters to DhApiConfig
This allows Core and Api to use different objects.
2022-06-30 07:55:20 -05:00
coolGi 2399583841 Added network stuff to standalone jar 2022-06-26 20:28:32 +09:30
TomTheFurry 82ef1581dd Finish up 99% of file & cache handling + creation + management + many things 2022-06-25 23:12:17 +08:00
coolGi 2bb78fcc88 Forgot to push this 2022-06-24 22:53:22 +09:30
coolGi a374d58907 Added more stuff for the standalone installer 2022-06-24 22:50:21 +09:30
TomTheFurry 13b820e17a If this serializer stuff works first try than I'm surprised 2022-06-23 22:46:25 +08:00
coolGi 30248dcaac Added svg logo and started work on the installer 2022-06-23 23:13:44 +09:30
TomTheFurry 66c9feda6e Missed that 2022-06-23 21:20:50 +08:00
TomTheFurry 7cda3251eb Continue on the full data stuff 2022-06-23 21:18:13 +08:00
TomTheFurry 0df4011a9a Full Data Source half done! 2022-06-23 18:30:33 +08:00
TomTheFurry bc194f8e6c Start working on Full Datatype 2022-06-23 16:37:28 +08:00
TomTheFurry 491f8bea4c Cleanup 2022-06-23 13:23:41 +08:00
TomTheFurry b780a975ee Finish up the level split of 3 type of levels: ClientOnly, ClientServer, and ServerOnly 2022-06-23 13:22:16 +08:00
TomTheFurry 74e58f5043 Finish up the level split of 3 type of levels: ClientOnly, ClientServer, and ServerOnly 2022-06-23 11:19:57 +08:00
TomTheFurry 04bc771c6d Continue refactoring, and starting to hook up all the loose pieces 2022-06-22 22:13:08 +08:00
TomTheFurry dc1c130fb9 2nd Refactor started. Split to 3 type world structure 2022-06-22 20:43:00 +08:00
TomTheFurry 976e36e80c Moved a7 package 2022-06-22 17:01:11 +08:00
coolGi 1d4c292e06 Made jar run without fabric api 2022-06-19 14:41:20 +09:30
James Seibel 602d2c4016 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-06-16 19:57:41 -05:00
TomTheFurry fd58b10800 Merge branch 'FixTypos' into 'main'
Fix typos

See merge request jeseibel/distant-horizons-core!6
2022-06-16 13:28:59 +00:00
svr333 9ada9cc463 Fix typos 2022-06-16 13:51:37 +02:00
TomTheFurry 9ffc6e5a93 Continue chipping on it 2022-06-16 14:23:10 +08:00
TomTheFurry 742f8b53bb Continue work on the complex concurrent file system 2022-06-15 22:17:59 +08:00
unknown b2942f51e2 Work on async data system 2022-06-14 15:30:21 +08:00
James Seibel b13559b172 remove api version numbers and other renaming 2022-06-13 21:19:47 -05:00
coolGi 37384d8b8b Started work on 1.19 for main branch 2022-06-13 15:58:51 +09:30
coolGi fef487f698 Removed most cases of LodConfigWrapperSingleton 2022-06-11 22:27:15 +09:30
coolGi 33f999d139 Fixed a small bug fixing crash when config directory dosnt exist 2022-06-11 19:24:26 +09:30
James Seibel c880d80925 Extract a interface for DhApiConfig
DhApiConfig (and objects like it) should use interface wrapper combos so to prevent issues for implementing devs.
2022-06-09 21:32:19 -05:00
James Seibel 6a15705b51 Prepend "E" to all enums
Similar to how "I" is prepended to all interfaces.

Also Intellij appears to have removed some unneeded imports.
2022-06-09 21:07:08 -05:00
James Seibel fb83a2eaf9 Move several Api Enums back into Core 2022-06-09 20:59:33 -05:00
James Seibel 1743aad851 Add Api Enum Unit tests 2022-06-09 20:54:18 -05:00
James Seibel 6df38f9c7c Replace DhApiFogColorMode with FogColorMode 2022-06-09 20:52:33 -05:00
James Seibel 8c31236ccd Start adding API tests 2022-06-06 22:25:33 -05:00
coolGi 2410ad9f23 Why did this rename itself 2022-06-03 17:18:55 +09:30
coolGi cd721277e7 Merge branch 'tmp'
# Conflicts:
#	src/main/java/com/seibel/lod/core/config/types/ConfigEntry.java
2022-06-03 17:16:25 +09:30
coolGi e497b5f9e8 Renamed Main to ForgeMain and added some config ui comment stuff 2022-06-03 17:13:28 +09:30
James Seibel 83fac52334 Revamp the API to use API objects and enums 2022-06-02 22:33:52 -05:00
TomTheFurry 4d2e68e4e5 Fix up multiple errors and init issues everywhere 2022-06-02 17:38:19 +08:00
TomTheFurry 145260bf6d Fixup some init order errors and work on able to enter world. 2022-06-02 13:54:15 +08:00
TomTheFurry d5e24ad2bb Rework fabric hooks to use more fabric api if possible
(Since, honestly, their hooks location is way better when it exists...)
2022-06-02 12:57:32 +08:00
TomTheFurry f4f186ff78 Working on actually hook up events to use new one 2022-06-01 22:55:57 +08:00
TomTheFurry 94b20a363d Hey, Core builds now! (No clue what would happen though) 2022-05-30 22:35:58 +08:00
James Seibel e862124c68 Make API setters return success booleans 2022-05-28 18:22:09 -05:00
James Seibel 8133620fcf Add a couple missing helper methods to the config 2022-05-26 20:28:28 -05:00
James Seibel 1182a0cac3 Rename ConfigEntry.useApiOverwrite ->allowApiOverride 2022-05-26 20:28:14 -05:00
coolGi2007 1809721665 Why dosnt F3Screen not have a .java at the end of its name? 2022-05-26 09:25:06 +00:00
coolGi e8f79f8bec Added some stuff for the f3 screen 2022-05-26 08:48:58 +00:00
coolGi 030fb3b667 Refactored some config stuff and removed annotations 2022-05-26 17:55:16 +09:30
TomTheFurry 1dd947e573 Quick merge fix 2022-05-26 12:45:37 +08:00
TomTheFurry f35cf673e1 Working on connecting the dots with a7 stuff 2022-05-26 12:40:29 +08:00
James Seibel 510df79f90 Move Config into the config package 2022-05-25 21:55:53 -05:00
TomTheFurry 83540cf2d5 Clean up some stuff 2022-05-26 10:33:24 +08:00
TomTheFurry a10e82651d First I think somewhat prob should work renderbuffer impl? 2022-05-25 22:44:47 +08:00
TomTheFurry 987dfbc87f Continue work on Saving the data.. 2022-05-23 20:20:27 +08:00
TomTheFurry b391252c03 Continue work on Saving the data. 2022-05-21 14:46:17 +08:00
TomTheFurry af82e4a6d4 Fix up QuadTree 2022-05-17 19:48:49 +08:00
TomTheFurry 37a8183176 Make everything use renamed ColumnDataPoint 2022-05-17 19:06:19 +08:00
TomTheFurry 3e5d27505c Finish up the ColumnDatatype and related copy and stuff 2022-05-17 18:52:50 +08:00
TomTheFurry e0280cc038 The very start of file management. 2022-05-15 14:38:50 +08:00
TomTheFurry ad1e3ef62a Fix some slight stuff 2022-05-14 14:21:23 +08:00
TomTheFurry 8e296f98d7 Complete the dynamic section data detail offset quad tree. (Untested) 2022-05-13 14:10:33 +08:00
Morippi 8e524a915c changed some names 2022-05-12 19:44:00 +02:00
TomTheFurry 3ea3df62e9 Start impl the dynamic section data detail offset 2022-05-12 19:08:28 +08:00
TomTheFurry cb85e396f0 Trash unneeded stuff 2022-05-12 18:21:18 +08:00
TomTheFurry a6165d56b6 Mark a thing so people switch over 2022-05-12 18:13:09 +08:00
TomTheFurry 4d352b012f Continue making the structure of data 2022-05-12 13:34:27 +08:00
James Seibel d7962fbb4e Add the prefix "DhApi" to the external api classes 2022-05-11 19:11:43 -05:00
Morippi 4a0a541fff changed a function name 2022-05-11 16:26:41 +02:00
Morippi 67e32d31ac fixed a small error 2022-05-11 15:28:06 +02:00
Morippi 57cd396920 Modified the update to work with new merge 2022-05-11 15:03:46 +02:00
Morippi 1336997ce0 Added merge data to RenderDataContainer 2022-05-11 14:55:23 +02:00
Morippi d99b6270a6 Merge remote-tracking branch 'origin/main' into main 2022-05-11 14:54:22 +02:00
Morippi 9caed982e3 Added merge data to RenderDataContainer 2022-05-11 14:54:13 +02:00
coolGi e13c331f0a Now a triangle in the config screen (until you resize the window, then it crashes) 2022-05-11 12:23:05 +00:00
TomTheFurry 3044a25adc Continue making the basic structure of data thing 2022-05-11 18:27:58 +08:00
TomTheFurry c797b5397b Hooked up the stuff with buffer thingy 2022-05-11 17:39:25 +08:00
TomTheFurry 0c52fe8364 Continue work on buffer managements 2022-05-11 17:19:32 +08:00
Morippi 786e00e88f small fixes 2022-05-11 09:52:20 +02:00
Morippi e8b964d8b7 Added Air lod container 2022-05-11 09:35:42 +02:00
Morippi 3f6a2d5195 Added Air lod container 2022-05-11 09:33:57 +02:00
Morippi c01f81b4ad Added new comment + improved merge 2022-05-10 22:30:13 +02:00
Morippi d8bb79c533 Added Comments to the quadTree Class 2022-05-10 21:50:42 +02:00
James Seibel 2e9d95d29c remove "border" from the overdraw tooltip 2022-05-09 20:38:18 -05:00
Morippi 5b4643a5ae Added ProtoSection class 2022-05-09 18:12:23 +02:00
Morippi 8e0566c4f1 Changed DhChunk 2022-05-09 18:03:21 +02:00
TomTheFurry a872547d72 Start to work on actual rendering side of things. 2022-05-09 16:23:40 +08:00
TomTheFurry ff181761c2 Complete v1 of the QuadTree stuff. Good sturcturing too I would say ;) 2022-05-09 14:47:13 +08:00
coolGi 909707214f Set up theming for standalone jar and moved shadow stuff to main gradle 2022-05-08 15:28:43 +09:30
coolGi 1ba3647b6b Changed my name to coolGi 2022-05-07 22:36:44 +09:30
coolGi 586786fd18 Moved everything out of LodConfigWrapper (pls dont use this) 2022-05-07 22:28:09 +09:30
TomTheFurry c4258ca96c Continue a7 dev focused on qTree 2022-05-07 16:58:38 +08:00
TomTheFurry 037e890d0d Make some more change, (and also lost my changes... rip) 2022-05-06 15:02:45 +08:00
Morippi 961c936f92 Started working on lodSection, LodQUadTree and DhChunk (not completed) 2022-05-04 23:18:34 +02:00
James Seibel f8292e8daa Set the api version to 0.0 (since it hasn't been released yet) 2022-05-03 21:27:55 -05:00
TomTheFurry 06281321d0 Add new a1.7 rebuild first step 2022-05-03 19:22:36 +08:00
TomTheFurry 09a9e98937 Renamed RegionPos to DHRegionPos as per the suggestion 2022-05-03 14:21:52 +08:00
TomTheFurry b4bad71813 Del ChunkPosWrapper & BlockPosWrapper, Create DHChunkPos & DHBlockPos, and also their related changes so it runs. 2022-05-03 14:06:26 +08:00
CodeF53 5ddf4f6ddf Typos 2022-05-01 10:34:41 -06:00
CodeF53 79224bdca3 Add a toggle for avoided blocks tint. Close #281
This is off by default

Additional comments in #tech-talk:
https://discord.com/channels/881614130614767666/902896965354930217/970351193928921139
2022-05-01 09:59:36 -06:00
TomTheFurry 10943e0d7d Added pre merge quads for more performance!!!! 2022-05-01 16:05:05 +08:00
TomTheFurry 031539bd31 Added dataView system so no longer need to copy arrays around 2022-05-01 14:19:51 +08:00
TomTheFurry be7a077367 Improved throwable logging for two custom logger 2022-05-01 13:14:29 +08:00
coolGi2007 e116b891a8 Some api stuff for config and updated readme to add json 2022-04-29 23:30:25 +09:30
coolGi2007 4310721640 New config finally done 2022-04-29 14:18:29 +09:30
coolGi2007 2888091b47 Merge remote-tracking branch 'origin/newConfig' into HEAD
# Conflicts:
#	src/main/java/com/seibel/lod/core/Config.java
#	src/main/java/com/seibel/lod/core/JarMain.java
#	src/main/java/com/seibel/lod/core/config/ConfigBase.java
#	src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java
#	src/main/java/com/seibel/lod/core/config/types/ConfigEntry.java
#	src/main/java/com/seibel/lod/core/util/SingletonHandler.java
#	src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java
#	src/main/resources/assets/lod/lang/en_us.json
2022-04-29 10:52:19 +09:30
coolGi2007 600314e419 FINALLY! CLASSIC CONFIG GUI DONE 2022-04-28 14:17:27 +00:00
coolGi2007 768bd88982 (core didnt push) Fixed number values and got closer to completing the classic gui 2022-04-28 10:33:05 +00:00
James Seibel 7ee05282dd Remove invalid preprocessors from Core
Core can't use preprocessors
2022-04-27 21:56:00 -05:00
coolGi2007 417c3fcf8b Some api stuff for servers and stopped people setting invalid values trough file 2022-04-27 18:33:06 +09:30
James Seibel 76ac0ad3ff Add the first draft of the DH Api 2022-04-26 22:04:21 -05:00
James Seibel 170042620a use the dev preprocessor to display the dev build warning 2022-04-26 21:31:02 -05:00
coolGi2007 529777360b Add classic config GUI part 2/3 2022-04-25 15:02:18 +09:30
James Seibel f5d48ebcd3 Prep for the external DH API
All files previously in the "api" package have been moved to "api.internal"
2022-04-24 19:18:41 -05:00
James Seibel ad0eb208ea Replace the ApiShared Logger with class specific loggers
This should make the logs easier to understand.
2022-04-24 19:13:18 -05:00
James Seibel babc65217c minor refactors 2022-04-24 17:19:16 -05:00
James Seibel 5a79fac6b1 Update the licensing file
I forgot there was a file in Core
2022-04-24 16:46:57 -05:00
James Seibel bc0afd2bd5 Change the license from GPL to LGPL 2022-04-24 15:28:45 -05:00
coolGi2007 3fb4d631ac Even more abstraction to config stuff 2022-04-24 15:49:49 +10:00
James Seibel 83a2fa86d9 update the version number to 1.7.0a-dev
And re-enable the experimental build warning
2022-04-22 22:28:20 -05:00
James Seibel f0f18993d1 Update the mod version in ModInfo 2022-04-22 21:17:29 -05:00
James Seibel 026816053c Remove the experimental build warning 2022-04-22 21:08:04 -05:00
James Seibel 0d3c005e0f Slightly improve the wording in en_us 2022-04-22 20:38:08 -05:00
TomTheFurry a93c04a654 Updated some config defaults and min/maxs 2022-04-22 21:11:35 +08:00
TomTheFurry 1601f0d19f Add the cave culling switch logic 2022-04-22 21:07:10 +08:00
coolGi2007 1f80084377 Fixed not running 2022-04-21 10:58:23 +10:00
coolGi2007 69e0cfe97a Commit part 1 of trying to make the gui work vanilla 2022-04-21 10:17:55 +10:00
sasanaps@hotmail.com 85f16e749a Commit to fix 1 thing 2022-04-20 20:20:58 +10:00
sasanaps@hotmail.com a3bbdc421f Just a commit to save the progress 2022-04-20 20:00:33 +10:00
TomTheFurry 6ad6ecc731 Ops. 2022-04-18 16:11:38 +08:00
TomTheFurry 29fab65ee9 Improve overlapped quads handling + fix minLevel being used to clamp getMaxVerticalData(), causing invalid sized containers being added to incorrect detail level slot in a region. 2022-04-18 15:57:14 +08:00
TomTheFurry a3022d2c64 Fix critical mem leak in BlockDetail + Add spaced out worldGenThread + make worldGenUpdate update once per 10 ticks + Semi-impl proper EarthCurveRatio limits + make worldGenThreads terminate faster + impl temp bypass to stop deadlocks on BufferFactory destroy() + fix chat logging messages with Throwable twice 2022-04-17 18:07:50 +08:00
TomTheFurry d2fef22719 Add config settings for earthCurve thingy 2022-04-15 19:15:55 +08:00
TomTheFurry 1cb27f2f78 Fix dumb mistake + change a bit of stuff 2022-04-15 18:46:38 +08:00
TomTheFurry 892570a442 Add curve shader + fix/change ibo upload 2022-04-15 18:25:58 +08:00
TomTheFurry 705060fa97 Fix multiple little bugs 2022-04-15 16:48:49 +08:00
James Seibel b98082980b Merge 2022-04-14 19:37:35 -05:00
James Seibel d3b1635538 Reformat LodFogConfig 2022-04-14 19:36:19 -05:00
TomTheFurry 73f9edc091 Fix GpuUploadMethod that use mapping to use DynamicDraw instead of StaticDraw 2022-04-14 18:17:39 +08:00
TomTheFurry 7f6d123292 '*Fixed*' the T-junction pixel issue... kinda. 2022-04-14 17:00:21 +08:00
TomTheFurry ca64027b0c Rework cortex's ibo, and the buffer objects. 2022-04-14 15:42:37 +08:00
James Seibel 175c48a49e auto-format 2022-04-13 21:57:48 -05:00
James Seibel 6f75197085 auto-format 2022-04-13 21:46:31 -05:00
James Seibel c1d6541729 auto-format and fix version date formats 2022-04-13 21:23:05 -05:00
James Seibel 0905f60034 Merge branch 'MCRcortex/distant-horizons-core-IBO' 2022-04-13 21:07:50 -05:00
James Seibel f012ac44a7 Reformat comment and optimize the bind/unbind calls 2022-04-13 21:06:47 -05:00
mcrcortex c19e2613b4 Swapped GL 4.3 direct state accesses with GL 3.1 core features 2022-04-13 23:24:36 +10:00
mcrcortex 351decad34 Removed accidental imports 2022-04-13 23:18:13 +10:00
mcrcortex d22057e1b1 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core into IBO 2022-04-13 23:12:04 +10:00
mcrcortex a7e174cf74 Changed to using IBO drawElements for quads 2022-04-13 23:07:02 +10:00
TomTheFurry d88e0f5e9c Make far fog start at vanilla render distance + make fog multiply caps with inverse near fog if near fog is disabled 2022-04-13 15:00:29 +08:00
TomTheFurry 743e504ccc Fix Sodium non-fabulious causing lightmap flicker + add more log for load/unload world + no longer unloading world 3 times on exit due to sub-dim stuff 2022-04-13 14:14:02 +08:00
TomTheFurry 633b229d2e More logging & fix 1.16 getminbuildheight & improve blockdetailmap caching for waterlogged blocks 2022-04-13 13:38:36 +08:00
TomTheFurry ee803e10b5 Ops. Shouldn't comment out this two lines 2022-04-13 12:36:29 +08:00
TomTheFurry 3df603a0e2 Make the glProxy OpenGL version logging a bit better 2022-04-13 12:10:11 +08:00
James Seibel ce7217bad5 update the version number in ModInfo 2022-04-11 07:15:51 -05:00
James Seibel 3e42541fe9 Refactor LodQuadBuilder 2022-04-09 21:28:30 -05:00
James Seibel ff1c6cad2a auto-format 2022-04-09 11:08:15 -05:00
James Seibel 2bba421a5b auto-format 2022-04-09 10:54:13 -05:00
TomTheFurry 1fd1082a80 Add back 1.16.5 TerraForged basic support 2022-04-09 15:47:47 +08:00
TomTheFurry 25d2b9df7b Fix lightmap, again. 2022-04-09 15:21:59 +08:00
James Seibel 7eb0d62f75 Fix a typo in the license header 2022-04-06 22:28:34 -05:00
James Seibel 4fc816838d Update the license years 2022-04-06 22:24:32 -05:00
James Seibel 22bc6b5c9a Add the copyright header to files missing it 2022-04-06 22:21:41 -05:00
James Seibel 2e282433cc replace unnecessary error logs with info logs 2022-04-06 21:08:57 -05:00
James Seibel e76735a509 re-add the dev build warning 2022-04-06 21:04:44 -05:00
James Seibel 29aa95437e Replace the config button icon
Thanks Sjmarf!
2022-04-04 22:06:56 -05:00
coolGi2007 8296b006b4 Fixed stuff and made core use mc 1.16 version of log4j 2022-04-04 18:49:45 +09:30
TomTheFurry 02b0637adc Maybe fixed the light again? 2022-04-04 12:01:00 +08:00
TomTheFurry 9f12cc9528 Fix dumb stuff costing performance on world gen 2022-04-03 16:01:53 +08:00
TomTheFurry 0981870ea3 Fix up big blocks missing side faces 2022-04-03 13:06:08 +08:00
TomTheFurry 347383f440 Disabled framebuffer fix for now making optifine shaders to work again 2022-04-02 22:24:16 +08:00
TomTheFurry 4209937c35 Fix coolGi's java-8 port 2022-04-02 22:18:40 +08:00
TomTheFurry f877030eca Make lightmap fix works with Optifine shaders? 2022-04-02 21:09:52 +08:00
coolGi2007 a12f2e9e01 Made lots of things use java 8 and added access wideners for different versions 2022-04-02 19:29:01 +10:30
TomTheFurry 6d12acc30a Fix flickering lightmap by redo lightmap system 2022-04-02 15:25:10 +08:00
TomTheFurry 4bac38c99f MacOS Patch!??????? 2022-04-01 19:36:50 +08:00
James Seibel 3259f502e8 Fix the default folder selection if sub-dimensions are disabled 2022-03-31 21:23:31 -05:00
James Seibel aa3cde0537 Fix invalid files that use the server port 2022-03-30 21:18:53 -05:00
James Seibel e3018485ed Add additional logging to getFileBasePath 2022-03-30 19:56:58 -05:00
TomTheFurry 5a58fa92b3 Add debugging info for lodWorld 2022-03-30 19:52:27 +08:00
TomTheFurry 8a76c8cadc Make DataPointUtil's WORLD HEIGHT a final again 2022-03-30 18:56:10 +08:00
TomTheFurry 7f9b035665 Fix race & stuck playerData in sub-dim, add dataPoint verify 2022-03-30 18:38:48 +08:00
cola98765 368238821b change XZ setting 3 -> 1 made it easier to change it with static at the start of the file 2022-03-30 11:55:01 +02:00
James Seibel 4c984c5c10 Close #140 (no rendering if world named "No World Loaded" ) 2022-03-29 20:48:59 -05:00
coolGi2007 b431670255 Abstracted alot of stuff to do with the screen 2022-03-29 15:54:22 +10:30
TomTheFurry 7c935bb581 I think test renderer is now more correct? 2022-03-29 13:09:29 +08:00
CodeF53 3e825c11c4 small nitpicky changes to Lang Files 2022-03-28 19:24:28 -06:00
TomTheFurry 11982d701c Add RendererType & Debug Renderer + fix Logger bug 2022-03-28 17:04:06 +08:00
James Seibel 21d8f1124c Fix a null pointer error when moving empty folders 2022-03-27 21:49:20 -05:00
James Seibel b4009336a3 Fix old folders not moving if sub-dims are disabled 2022-03-27 00:09:32 -05:00
James Seibel a2d2e5d87b Make multi-Dim similarity = 0 disable the new system
By default the old system of 1 world per dimension is used
2022-03-26 23:15:47 -05:00
coolGi2007 0b28257f2f Added a warning when you try to run the jar 2022-03-27 13:54:05 +10:30
James Seibel f97815cac7 Update a log message in Sub-Dim 2022-03-26 21:34:36 -05:00
James Seibel 53c518b307 Fix incorrect files/folders crashing the sub-dim system 2022-03-26 21:27:16 -05:00
James Seibel 03f5a086f0 Automatically move old files to the new sub-dim system 2022-03-26 20:50:57 -05:00
James Seibel bc72142659 Merge for SubDim 2022-03-26 11:39:17 -05:00
TomTheFurry de51efc866 Fix logger bug, vertQual.next/pre missing ULTRA, subdim array compare 2022-03-26 23:31:04 +08:00
James Seibel 0658106822 Partially fix SubDimensionFinder 2022-03-26 10:20:01 -05:00
TomTheFurry 5178aa7def Overhaul Logging system to support runtime config switching 2022-03-26 18:55:02 +08:00
coolGi2007 6f7b1ac223 Allowed use of hash map rather than using MultiOption 2022-03-26 20:07:12 +10:30
coolGi2007 db2636946e Added a way to put multiple options into 1 item and added some code for standalone jar 2022-03-25 17:26:26 +10:30
James Seibel a80f69f522 Use a SubDimCompare object to compare subDims
This still needs cleaning, but it is going in the right direction.
2022-03-24 22:56:06 -05:00
James Seibel 665a5a8bee Lower the subDim vertical quality back to LOW 2022-03-23 21:14:40 -05:00
James Seibel 8a851a70c7 rename LodDimFileHelper -> LodSubDimFolderFinder 2022-03-23 20:59:48 -05:00
James Seibel 621bf7341d Improve logging and potentially fix a few substring crashes 2022-03-23 20:58:50 -05:00
James Seibel 4820c11f8e Move a few objects to the objects.opengl package 2022-03-22 21:51:26 -05:00
James Seibel ebc4ee2ab7 auto-format before editing 2022-03-22 21:50:22 -05:00
TomTheFurry 95c5854d8f Add CaveCullingHeight + 'Fun' mode into config 2022-03-22 18:23:52 +08:00
CodeF53 fe798bf90c Skylight culling below Y
https://canary.discord.com/channels/881614130614767666/881748253228531772/955696258754961429
2022-03-22 00:21:49 -06:00
TomTheFurry 4a2a6fb4bd Fix 0 size quad bug + improve black face filling 2022-03-22 13:05:22 +08:00
James Seibel ef80271f09 Fix an incorrect array index 2022-03-21 21:21:09 -05:00
tom lee 6a5263a8f4 Add overdraw offset setting 2022-03-21 17:29:10 +08:00
tom lee 260ba1a70e Fix color mixing issue 2022-03-21 16:55:36 +08:00
tom lee ca625f9f8b Remove Manifold from core. Remove use of awt.Colors.
Removing awt.Colors due to it being just slow. And unneeded to import
entire awt lib just because of Color.

Removed Manifold from core due to Manifold java compiler has quite some
bugs, and it is causing crashes on inferring a generic class args on
inline Iterator class def. Core arn't needing those preprocessor
features anyways.
2022-03-21 15:13:26 +08:00
tom lee 4f2bf9b834 Add overdraw offset 2022-03-20 23:18:08 +08:00
tom lee 467f4a260f Forgot to turn back on the greedy meshing 2022-03-20 16:30:28 +08:00
tom lee 21253d1308 Add Cave Culling setting + cleanup + fix leo's adjData 2022-03-20 16:26:50 +08:00
tom lee 8f534fb51c Fix/Improve Near Clip Plane + add pow2 function 2022-03-20 13:41:28 +08:00
James Seibel 6cd0281d0e Merge in multi-dim support 2022-03-19 12:38:42 -05:00
James Seibel df73d1d275 Re-Add the brightness/saturation config 2022-03-19 11:00:28 -05:00
tom lee 804738cfe5 Accedentally moved a folder. Ops 2022-03-19 22:33:36 +08:00
tom lee 254d908807 Nuke old WorldGen, reorganize and improve all GridList util 2022-03-19 22:30:27 +08:00
James Seibel 9fa7fa843d Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-03-18 23:56:29 -05:00
James Seibel 82065cd1ce Add a config for the MultiDimension Similarity 2022-03-18 23:56:25 -05:00
James Seibel d0da822813 make the dimFileHelper run async 2022-03-18 22:01:29 -05:00
James Seibel 595aa79eb6 Fix crashing in singleplayer 2022-03-18 22:01:05 -05:00
James Seibel 8cdc0fc830 Remove a few unneeded imports 2022-03-17 23:08:52 -05:00
James Seibel c869047b30 Closes #134 (Add multi dimension support)
I still need to add a config and multithreading (to prevent stuttering when changing dimensions).
2022-03-17 23:08:42 -05:00
TomTheFurry 2907c8e3e7 Fixed a deadlock on shutting down BufferBuilders 2022-03-16 18:52:55 +08:00
TomTheFurry 4097cf7619 ADVANCED FOGGGGGGGGGGGGGGGG~~~~~~~~~~~~~~~~ 2022-03-16 18:52:55 +08:00
TomTheFurry cf519c02be Pushed the stuff leetom did on my macbook 2022-03-15 21:17:07 +10:30
TomTheFurry 4f563c2be5 Add proper multi FrameBuffer support(And fix MacOS?) 2022-03-15 16:38:39 +08:00
TomTheFurry e8de59a226 Fixup MixinUtilBackgroudThread+more render log 2022-03-15 18:48:27 +10:30
TomTheFurry 323da0b12c Improve GLMessage Parser 2022-03-15 12:37:51 +08:00
TomTheFurry 1c0e7839c0 Add Advanced Fog config entries. Actual impl is a todo. 2022-03-15 00:00:35 +08:00
TomTheFurry d2056d824f Slight cleanup of lodRenderer 2022-03-14 16:22:19 +08:00
TomTheFurry 7da2b90611 Fix hasCliffFace() not crossing chunk boundaries.
Also temp added cave culling. Need logic to provide better cave culling.
2022-03-14 15:10:04 +08:00
TomTheFurry f1eb06bbb1 Fix nullptr exception on calling clear(d) with d being null (Thx @HyperSoop) 2022-03-14 14:36:42 +08:00
James Seibel 78a1cc3330 Auto Format 2022-03-13 21:08:29 -05:00
TomTheFurry fbd8f48433 Improved getMaximumRenderedChunk and fix GLMessage on forge 2022-03-13 22:57:06 +08:00
TomTheFurry 49cc46dc25 Update Config defaults 2022-03-13 16:15:28 +08:00
TomTheFurry 1c7d87b9d3 Add new config: Biome Blending 2022-03-13 15:39:34 +08:00
coolGi2007 2fa54347ea Renamed some stuff and updated core 2022-03-13 14:31:33 +10:30
James Seibel bca2b61800 Close #207 (re-add brightness/contrast configs) 2022-03-09 23:06:15 -06:00
TomTheFurry c9cabd8a32 Rework BlockDetail and stuff. 2022-03-08 23:26:41 +08:00
TomTheFurry 538df6000c Fixup that one line. With comments 2022-03-08 17:04:16 +08:00
TomTheFurry d731424e93 Fix it so I think java8 now works...? (Javadoc won't tell me versions) 2022-03-08 16:04:38 +08:00
James Seibel 510058b7df Closes #217 (Change Server Folder Name)
Adds multiple options for formatting the server folder name.
If LODs have already been generated with a previous setting the files will have to be transferred to the new folder.
2022-03-07 22:15:52 -06:00
James Seibel 05e70416b7 Manual refactoring 2022-03-07 06:34:06 -06:00
James Seibel d5eb094256 Replace constant values with their enum representations 2022-03-07 06:28:48 -06:00
James Seibel b7aa341961 Auto Format 2022-03-07 06:28:23 -06:00
James Seibel 3f091af3f8 Rename MinecraftWrapper -> MinecraftClientWrapper 2022-03-05 18:26:47 -06:00
James Seibel 566eb3651f remove WorldWrapper.isEmpty()
It wasn't used and there was a comment saying not to use it
2022-03-05 18:14:03 -06:00
James Seibel 58392a8ac1 Update the DependencyHandler to support circular references 2022-03-05 17:34:19 -06:00
James Seibel 2149da59df Replace string.strip() with string.trim() 2022-03-03 19:34:09 -06:00
coolGi2007 e41b19ba2e Fixed 1.16 (tough someone needs to fix core/objects/opengl/RenderRegion to work with java8) 2022-03-03 17:39:14 +10:30
James Seibel d84d535896 Refactor the dependency injectors 2022-03-01 21:19:45 -06:00
coolGi2007 509c9cb21c Getting ready for gui (SOMEONE, please fix core/config/file/ConfigFileHandling line 80) 2022-02-28 18:23:27 +10:30
tom lee e6f8c0d65f Cleanup Error logging + Polish OpenGL Error/Warning/Message handling 2022-02-27 17:01:03 +08:00
tom lee 7db3789bc2 Fix Overdraw Circles & Void chunk error spam due to genMode+1 2022-02-26 16:15:11 +08:00
coolGi2007 711658fe38 Finished file handling (all that is needed to fix it is to fix line 80 in core/config/file/ConfigFileHandling.java) 2022-02-26 04:48:43 +00:00
tom lee 8d18ba861e Fix missing move. Also moved needRegenBuffer flag to RenderRegion 2022-02-25 15:13:39 +08:00
tom lee 6e63e39cd8 Patch the merge commit cause I used wrong files and also -1 level bug 2022-02-24 22:27:21 +08:00
tom lee 1dcc973a24 Overhaul Rendering Buffer Management
+ Merging with Leo's fix to adjData and stuff
2022-02-24 21:59:20 +08:00
coolGi2007 ffa6bb5653 Sorry Ran, I accidentally somehow reloved your commit before 2022-02-24 11:56:16 +00:00
coolGi2007 44a16ef4fe Started more work on the new config system (file handling) 2022-02-24 06:47:12 +00:00
Morippi 7ad2e82646 Added comments 2022-02-23 18:26:35 +01:00
Morippi f32dfbcbe7 Added comments 2022-02-23 18:24:59 +01:00
Morippi 18b7835c4c Small fix to the region circle border 2022-02-23 17:16:05 +01:00
Morippi c5f23dabb2 Removed border from details circles and regions 2022-02-23 16:38:19 +01:00
tom lee d6ba5205ad Too many changes. See details:
- Fix new block color with tint system slowdown
- Fix leaves block color
- Fix rgba not translating to rgb properly
  - Which changed water color to be darker
- Optimized quad merging to be faster
- Fix All types of gray color texture issue
- Fix Textures that rely on BlockState
- Fix All types of tint
- (?)Create Model perhaps no longer purple
- Fixed LodBufferBuilder always in single thread mode
2022-02-22 23:10:49 +08:00
Morippi 6948e4e437 Alpha now uses max value in merge and not average value 2022-02-22 11:54:24 +01:00
tom lee d39912e235 Fix init error by moving bufferFactory to ClientApi 2022-02-22 11:35:42 +08:00
Ran fa3d07edb5 Put logger in ApiShared.java 2022-02-21 17:34:51 +06:00
Ran bf4eb954d3 Merge remote-tracking branch 'origin/main' into main
# Conflicts:
#	src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilder.java
2022-02-21 17:29:40 +06:00
Ran 1ddf2091b1 Put logger in ApiShared.java 2022-02-21 17:27:53 +06:00
tom lee 4708da8e8f Rework block color/shape stuff 2022-02-21 19:19:44 +08:00
Ran 59fa6eed73 Add protocol version 2022-02-21 09:21:27 +00:00
coolGi2007 0edca2402d Renamed RunMain to JarMain 2022-02-20 22:23:03 +00:00
Ran 081958db59 Update src/main/java/com/seibel/lod/core/config/ConfigBase.java 2022-02-20 13:17:35 +00:00
cola98765 59bf66ec58 wireframe again hides the culled faces, to maintain parity as to what is actually rendered in different modes. 2022-02-20 14:09:03 +01:00
coolGi2007 a14046ef88 Added something so you can run the jar(dosnt do anything yet) 2022-02-20 11:43:41 +00:00
cola98765 cff317937f removed dummy enum. made genmode a byte where it's not an enum 2022-02-20 11:50:58 +01:00
cola98765 cead0346ad probable fix 2022-02-20 11:03:29 +01:00
cola98765 f3f3c3d54d gen mode + 1 of what was before 2022-02-20 10:54:17 +01:00
tom lee 9765da97a6 Reorder lodData, now this is the new Version 9 2022-02-20 17:34:24 +08:00
tom lee 57f5ad5ea0 Fix fog using vert instead of per frag. Oh and impl greedy meshing 2022-02-20 16:11:31 +08:00
coolGi2007 83ec6f4da2 Updated some stuff 2022-02-20 07:30:07 +00:00
coolGi2007 6ff797c1cc Updated core 2022-02-20 13:22:06 +10:30
coolGi2007 d04247094a Added some stuff to the new config init 2022-02-20 13:12:01 +10:30
Morippi 3cd71c1c69 Fixed down (and Up even if not visible) shade 2022-02-20 00:48:55 +01:00
cola98765 d79c873145 reorganised datapoint. added full 4096 world height support 2022-02-20 00:21:25 +01:00
tom lee 401cbbd8eb Fix resource leaks from missing close() on stream (Thx Boston!!!!!) 2022-02-20 01:00:32 +08:00
tom lee a1652fe68a Add and improve buffer upload methods 2022-02-20 00:42:27 +08:00
tom lee c450f5b960 I think render fps pref improved??? 2022-02-19 22:14:24 +08:00
coolGi2007 bcf8237131 Removed new config stuff 2022-02-19 08:14:49 +00:00
tom lee 3e7fed7ad4 Start rework to allow individual render region swapping 2022-02-18 14:56:54 +08:00
James Seibel fd81a8e067 Update the version number to 1.6.2a 2022-02-17 20:11:00 -06:00
cola98765 891cfdf4a9 added squared color averaging to merge 2022-02-17 18:05:45 +01:00
TomTheFurry b1795079b8 Merge branch 'render_test' into 'main'
Merge the Render test branch with improvements

See merge request jeseibel/distant-horizons-core!4
2022-02-17 14:20:12 +00:00
TomTheFurry 8e347959e1 Merge the Render test branch with improvements 2022-02-17 14:20:12 +00:00
cola98765 acd5116223 close #188; fix lang parts in #189 2022-02-15 11:21:22 +01:00
James Seibel 2ba7c6be6e Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-02-13 07:37:19 -06:00
coolGi2007 77492a8abf Updated config and lang 2022-02-13 03:32:51 +00:00
James Seibel a0c7ebedcf Prepare for 1.6.1a 2022-02-12 12:01:20 -06:00
tom lee ae752c6f63 Fixed it so it works with Java 8 2022-02-12 22:47:49 +08:00
tom lee fbbccf4739 Add a DummyRunExecutorService 2022-02-12 21:57:54 +08:00
coolGi2007 cf1c371311 Re added some stuff so the gui still works 2022-02-12 10:24:00 +00:00
coolGi2007 87ff857b59 Added some stuff for new config (not redy yet so dont use) 2022-02-12 09:24:52 +00:00
James Seibel 50819c30da Update the version number to 1.6.1a-pre and re-enable dev code 2022-02-11 22:07:23 -06:00
James Seibel 67f12c136c I accidently removed the "a" 2022-02-11 20:00:32 -06:00
James Seibel b35db97abc Change the version number and comment out the debug code for a1.6.0 2022-02-11 19:58:18 -06:00
coolGi2007 241447d55a Updated lang 2022-02-11 09:29:08 +00:00
coolGi2007 5d72d321db Removed 1 line from the lang 2022-02-11 05:36:28 +00:00
tom lee 595b8ecbb5 Fixed hash bug for ChunkPos & incorrect shink causing overdraw issue 2022-02-11 13:34:04 +08:00
tom lee f422df6280 Cleanup debug logging and get rid of unused functions in vertContainer 2022-02-11 12:39:40 +08:00
coolGi2007 14d3418651 Removed cloud stuff (forgot to remove before) 2022-02-11 04:12:01 +00:00
James Seibel f7da53622c Slightly improve the tooltips for the config GUI 2022-02-10 22:05:58 -06:00
Morippi e5a636fccb Added Ultra setting to vertical quality and changed the others 2022-02-10 15:10:41 +01:00
tom lee 080d33baf1 Changed defaults and removed unneeded configs 2022-02-10 21:40:15 +08:00
tom lee d8c082ba42 Fixed stuck futures if BufferBuild throws exception in the Runnable 2022-02-10 17:05:48 +08:00
tom lee b169e246b4 Make BufferUpload & BufferBuild use CompletableFuture Pipeline 2022-02-10 16:13:49 +08:00
tom lee 07d4050502 Fix many stuff. See list below:
1. Fixed seeing previous dim's lod after going though a portal
2. Fixed changing VertQual live causes many issues (now force a reload)
3. Fixed loading old lod files with smaller than expected vert data
   causing the data container to be incorrectly sized
4. Improved BufferBuilder to use less RAM and cleanup
5. Shink BufferBuilder on calling end()
2022-02-10 14:50:33 +08:00
tom lee c70d2a27f2 Make alwaysDrawAtMaxQuality not do anything in here 2022-02-10 11:31:21 +08:00
tom lee 4919c0cabb Impl a better fix for Leo's mentioned issue 2022-02-10 11:21:53 +08:00
coolGi2007 40a8f228ac Removed config and saved it locally till after 1.6 gets released 2022-02-10 02:27:27 +00:00
cola98765 1b711e2b66 fixed what Leo started 2022-02-09 22:48:36 +01:00
Morippi 104d4a7400 Tried to fix the render distance min detail bug 2022-02-09 22:01:17 +01:00
cola98765 01870e4875 changed hasCliffFace so it works better with chunk borders 2022-02-09 18:32:34 +01:00
cola98765 7203acf628 fix connected lods 2022-02-09 18:25:06 +01:00
tom lee cbcb7ca6ac General update/polish. (Add more pref dumpping) 2022-02-09 18:03:49 +08:00
tom lee 1b27161518 Make Far Pos gen no longer saves all detail level, speed up far gen tons 2022-02-08 13:41:19 +08:00
tom lee b51cb7ca51 Fixed detail level stuck at 0 in far pos caused by overflow issues 2022-02-07 14:01:33 +08:00
James Seibel 1e08fc51ec Delete a1.4_Rendering_Flow_Diagram.drawio
It wasn't turning out how I was hoping.
2022-02-06 23:13:47 +00:00
James Seibel c2d4475d44 Add a few missing items to a1.6_Flow_Diagram_Overview.drawio 2022-02-06 23:08:11 +00:00
James Seibel ddefb5f67a Improve the coloring in a1.6_Flow_Diagram_Overview.drawio 2022-02-06 22:44:44 +00:00
James Seibel 8bdb3146ed Added a1.6_Flow_Diagram_Overview.drawio 2022-02-06 22:39:41 +00:00
tom lee 8860e46d9b Patch up stuff so changing DETAIL_OPTIONS should work without errors 2022-02-06 22:54:21 +08:00
tom lee a73da4102a Add DebugMode: DRAW_WIREFRAME 2022-02-06 22:07:37 +08:00
tom lee bb8df761bb Added dump memory stats for Buffers 2022-02-06 21:33:13 +08:00
coolGi2007 e459994d6d Getting config ready for after 1.6 gets released 2022-02-06 12:41:29 +00:00
tom lee 65f16463ec Added Memory Stat Dumping via pressing p 2022-02-06 18:07:53 +08:00
tom lee 31717ad202 Changed how key events work 2022-02-06 14:57:43 +08:00
tom lee de4dd44209 Clean up generics 2022-02-06 13:38:36 +08:00
coolGi2007 6c73f8b723 What is T??????????????????? 2022-02-06 05:19:23 +00:00
coolGi2007 67a171da56 Update ConfigEntry 2022-02-06 05:00:25 +00:00
coolGi2007 09b2d952b6 Removed the actual texture (Add these back when doing clouds) 2022-02-05 09:31:28 +00:00
coolGi2007 255d2adbb0 Removed cloud stuff 2022-02-05 09:21:52 +00:00
tom lee 069978ee1d Removed one default in wrapper. 2022-02-05 16:06:46 +08:00
tom lee aff7e90e37 Tweeked values for RAM check to make it actaully run 2022-02-05 14:35:27 +08:00
tom lee 1032f550ed Optimize some performance. Now less lag spikes and stuff
Also fixed the WorldGen Disable not working issue
2022-02-04 14:32:04 +08:00
tom lee ac32697204 Make the expend low RAM skip no longer skip the updates. 2022-02-04 00:31:45 +08:00
tom lee 95220d4fd7 Add failsafe for low RAM issue. 2022-02-04 00:11:53 +08:00
tom lee 068622895f BatchGen: Refactor the experGen into proper generator 2022-02-03 16:46:49 +08:00
coolGi2007 a0dd0d5aca Added some stuff to get ready for the new config 2022-02-03 03:41:54 +00:00
tom lee ca81ed1efe Solve most race issue around the move(), making world hole less likely 2022-02-02 15:55:16 +08:00
coolGi2007 35ab1ce47f Maybe fixed something? 2022-02-02 02:39:04 +00:00
James Seibel c5aeac5091 Remove the Seizure warning 2022-02-02 01:11:17 +00:00
tom lee 834cfe2e10 Add stack dump for threadFactory 2022-01-31 00:23:15 +08:00
tom lee 99ca5f6bc6 Fix crash on exit due to no shutdown for cutAndExpend thread
Also tweeked the values of vertQual on larger blocks to better support floating
islands.
2022-01-30 15:30:09 +08:00
tom lee 4bcb6c0acd Fixed bug on incorrect walls for overdraw prevention thingy 2022-01-27 14:07:09 +08:00
coolGi2007 4f63fbb14d Fixed issue 162 (renamed stuff) 2022-01-27 02:36:35 +00:00
cola98765 522a74e6e3 fixed mergeMultiData and lodBuilder with connected lods 2022-01-26 09:25:33 +01:00
cola98765 6ef789c087 removed /2 in merge multi data. now that we support a lot of connected lods it's needed 2022-01-26 09:07:00 +01:00
tom lee 410fe684ec Changed how blockUpdate works 2022-01-25 18:25:46 +08:00
tom lee 43feb2d7fe Forgot about GenPriority. Updated it + fixed now BALANCED mode issue 2022-01-25 17:08:01 +08:00
tom lee 7fa99ea070 WorldGen Config Overhaul + General cleanup 2022-01-25 16:26:34 +08:00
coolGi2007 bdd877abe8 Added FileComment 2022-01-25 04:54:53 +00:00
tom lee b2d5e18fe4 Raised distance limits to 8192. HYPER EXPERIMENTAL!!! 2022-01-24 23:36:40 +08:00
tom lee 880be5ed60 Fixed a NEAR_FIRST bug I introduced 2022-01-24 23:02:31 +08:00
tom lee 90440f3e06 Tweaked a bit around the FAR_FIRST gen stuff 2022-01-24 22:56:35 +08:00
tom lee c3abb9c46b Errr....
1. Make VerticalQuality overall is higher.
2. Rework how FAR_FIRST works.
3. Clean up some stuff.
2022-01-24 21:02:55 +08:00
tom lee ab3880a5e5 Trash ThreadMapUtil replaced by ThreadLocal. Trash an unused class 2022-01-23 23:15:08 +08:00
tom lee f939839941 Added Thread Priorities. Hopefully no more stealing TPS. 2022-01-23 21:19:08 +08:00
tom lee e9e2af2807 Add optimization on getPosToGenerate. 2022-01-23 19:09:09 +08:00
James Seibel a5a4a3e6e2 Set the default Generation Priority to NEAR_FIRST closes #160 2022-01-22 22:03:52 -06:00
tom lee 9e7703ac53 Fixed void chunks. Changed thread defaults. Added LagCatchers in render 2022-01-22 18:10:07 +08:00
tom lee 9580335692 Fixed Buffer leaks, cleanup Debug logging 2022-01-22 16:09:58 +08:00
tom lee 608dc443dc Removed using the slice() func, but haven't found the mem leaks 2022-01-21 23:55:40 +08:00
tom lee 14e72c68cb Added sub buffers. Greatly reducing fps stutters 2022-01-20 22:53:17 +08:00
tom lee dc0e48ae2a Renamed stuff so the underWaterFog also applies for other special fog 2022-01-20 21:54:10 +08:00
tom lee 0bfb47cc68 Fixed issue in FAR_FIRST where it can overlaod Ram resources 2022-01-20 20:02:55 +08:00
tom lee c69569c95f Fixed Critical Vanilla Save corrupt issue. Fixed? world gen not starting 2022-01-20 19:27:32 +08:00
tom lee 914a76297d New save structure. No more multi folders for Generation Mode
This also includes a converter that runs on "Joining World..." text. It
may stuck on that screen for a while, but it is indeed merging and
updating the old saves.

The old saves file after update is not deleted. Instead, the folders are
renamed so that you still have a way to recover old saves in case the
converter failed.
2022-01-19 23:28:56 +08:00
tom lee 22e47b9734 Reworked lodBuilder. Make it faster. 2022-01-19 18:59:55 +08:00
tom lee 930113a6f9 Add support for OptifineAccessor, and decrease light issue on forge 2022-01-19 13:50:53 +08:00
tom lee 6c77164a65 Fixed PosToGenerate issue 2022-01-18 22:34:23 +08:00
cola98765 546d60f1fc resolved warnings. part 3 2022-01-18 11:29:01 +01:00
cola98765 6b6d011cd5 resolved warnings. part 2 2022-01-18 11:00:07 +01:00
cola98765 7bf54d20c0 resolved warnings. now more carefully. 2022-01-18 10:38:31 +01:00
jas35484 bba7f34d46 Add the minor version number 1.6a -> 1.6.0a
Why do I always remember these things after I have done all of them?
2022-01-17 20:33:00 -06:00
jas35484 ade5500c6d I forgot CurseForge doesn't like a1.X.Y versioning, changed to 1.X.Ya 2022-01-17 20:29:31 -06:00
jas35484 a3bd2ed70b Increment the version from 'a1.5.4' to 'a1.6-pre' 2022-01-17 20:23:47 -06:00
cola98765 43304da80b small fix 2022-01-17 16:30:09 +01:00
cola98765 7d53da40ec Revert "resolved couple warnings. If it causes problems just revert it."
This reverts commit 4702aa7888.
2022-01-17 16:27:36 +01:00
cola98765 bd489a66c7 whatever... deprecation is too hard for me 2022-01-17 15:50:24 +01:00
tom lee a50ef74a5e Fixed a bug in posToGenerate and the buffer now reset on too far away 2022-01-17 22:03:35 +08:00
cola98765 4702aa7888 resolved couple warnings. If it causes problems just revert it. 2022-01-17 14:18:12 +01:00
cola98765 57a6483aec cleaned up code around connected lods. not sure if fixed anything, but it's working for me. 2022-01-17 12:43:18 +01:00
cola98765 31cb1ef401 cleaned up code around light 2022-01-17 10:53:36 +01:00
tom lee be5b5de170 Fix issues with generation filling up RAM 2022-01-16 17:33:20 +08:00
tom lee f665a8b8f6 Add empty StarlightAccessor for now 2022-01-15 21:54:35 +08:00
tom lee 0c4de076ca Add/Fix issue with writeData and Cut causing data loss 2022-01-15 18:59:02 +08:00
coolGi2007 4c122512ac Added more languages 2022-01-14 04:53:15 +00:00
tom lee 976874e7a3 Nuked the old removeLegacyFog due to it failing on Sodium 2022-01-13 22:24:39 +08:00
tom lee bb22ad58bc Fix critical crash on Multiplayer. 2022-01-12 18:01:15 +08:00
tom lee 0b2be5580f Changed ClientChunkLoad to work properly 2022-01-12 16:15:26 +08:00
coolGi2007 02143d0951 Why dont you have a .java? 2022-01-11 08:44:03 +00:00
coolGi2007 3ebdfd6e87 Added a mod checker to check if mod exists 2022-01-11 08:23:14 +00:00
James Seibel 3caf8facf9 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-01-10 18:08:06 -06:00
tom lee efd1d67f3f Render: Fixed mistakes and added more GridList stuff 2022-01-10 22:04:52 +08:00
coolGi2007 ee2c6e2a06 Added a cloud warning to the lang 2022-01-10 04:50:05 +00:00
tom lee d1e1970c18 Added ModAccessor sturcture for adding mod compats 2022-01-09 14:56:49 +08:00
tom lee 943a2d5cad Remove default light hack. Try the first patch to get light work 2022-01-09 00:25:58 +08:00
tom lee e5f5d33db9 Add missing default 2022-01-08 22:53:07 +08:00
tom lee 8b761ca31a Made IChunkWrapper also has the ability to return light data 2022-01-08 22:51:23 +08:00
tom lee a402fa5f0b Update lang file 2022-01-07 19:08:18 +08:00
tom lee d4123a44ed Add DropoffQuality 2022-01-07 18:58:29 +08:00
tom lee cba75123c7 Fixed Overdraw, mergeVertData error, wrong vanillaDist math. 2022-01-07 15:50:42 +08:00
tom lee 5ac51dd2a5 Fixed accidentally using java 9+ features. Now java 7 should work 2022-01-07 13:28:12 +08:00
coolGi2007 a8d52c1059 Updated lang 2022-01-06 09:58:00 +00:00
tom lee c664564fb0 Fixed FAR_FIRST gen. Impl proper cleanups on many place. 2022-01-06 16:27:28 +08:00
tom lee 1a5fd87346 Fixed saving. Guarrantee save is complete on exit. Trashed some logging
Also, tried (keyword: tried) fixing the FAR_FIRST generation.
2022-01-06 00:07:19 +08:00
tom lee e71660eb41 Fixed generation issues and buffer now update more aggresively 2022-01-05 19:18:23 +08:00
cola98765 d9dc33a105 added gen mode debug view 2022-01-05 10:53:56 +01:00
James Seibel 4bf004ae6b Add class_diagram.drawio 2022-01-05 05:26:39 +00:00
tom lee f9871ef16d WorldGen: Now no longer gen all chunks in higher than chunk details 2022-01-04 18:57:25 +08:00
tom lee 054988851d CutExpend: Fixed Cut bugs and some general fix to LodFileHandler stuff. 2022-01-04 16:43:21 +08:00
coolGi2007 44bcc5ae01 Added lower qulity clouds 2022-01-04 07:50:02 +00:00
tom lee 3b475886ef Buffers: Fixed critical render bugs and vertex buffer leaks 2022-01-04 15:10:41 +08:00
James Seibel ff6edec461 Merge branch 'main' of https://gitlab.com/jeseibel/distant-horizons-core 2022-01-03 21:23:31 -06:00
James Seibel ae7e416810 Add a missing comment 2022-01-03 21:20:46 -06:00
tom lee d72805d1fe Buffers: Basically redid the buffer management
Note: Backface Culling currently disabled
2022-01-03 00:04:54 +08:00
coolGi2007 f80c43385a Removed category annotation 2022-01-02 06:13:41 +00:00
coolGi2007 219ad9c45a Turned off custom clouds till it is fixed 2022-01-02 03:07:05 +00:00
James Seibel 662a1ec8bc Add a partially completed rendering flow diagram 2022-01-01 15:46:10 +00:00
cola98765 e60a0526ca even tho it is not used yet, updated texture so patterns are closer in size to vanilla 2022-01-01 15:05:21 +01:00
cola98765 1266ed6dc1 fixed updateData 2022-01-01 13:31:21 +01:00
tom lee 816c4fa76a BufferFactory: Added static bool for enabling time logging 2022-01-01 16:48:19 +08:00
tom lee 975c24c8a9 AMD: Fixed AMD render issue due to vertex data alignments 2022-01-01 15:25:37 +08:00
tom lee 4db3b7b729 LodRenderer: Add support for underwater fog 2022-01-01 13:50:59 +08:00
tom lee 32e341fe4f Reordered and chopped up some config desc 2022-01-01 12:12:08 +08:00
tom lee 0ce249ab17 Fixed up cloud configs and removed @nullable for 1.16.5 build 2021-12-31 21:44:46 +08:00
tom lee f9372c6a07 Save/Load: Fixed locking up files due to try-catch-resoure issue 2021-12-31 20:59:14 +08:00
coolGi2007 6ea7ecd215 Moved some resources to core 2021-12-31 10:40:40 +00:00
tom lee 6a828ee931 Load: Fixed load error on missing middle level data 2021-12-31 17:25:08 +08:00
tom lee e8d25daabf BufferUpload: Fixed bug on 0 size data not updating vert count 2021-12-31 17:01:40 +08:00
tom lee 7c8b073b02 Save: Fixed critical bug causing 0KB files on new world 2021-12-31 16:09:29 +08:00
coolGi2007 b623fc530f Abstracting clouds 2021-12-31 07:20:59 +00:00
tom lee 5fdf09209c Fixed Config names 2021-12-30 22:03:53 +08:00
cola98765 515afe4d45 moved where last pos is saved 2021-12-30 14:58:05 +01:00
cola98765 7f5eea865e made config for minimum back side culling distance. actual value is using prev player pos so on long flights it works better. 2021-12-30 13:19:46 +01:00
cola98765 13d6232790 made connected lods dependant on Vertical Quality config. 2021-12-30 12:04:40 +01:00
tom lee 607f3e8afe VertQuality: Fixed some stuff. Now High Qual loading works
Live config change still... a work in progress though
2021-12-30 16:07:49 +08:00
tom lee 8b3404e5f8 Cleanup for the saving in interface 2021-12-29 21:32:04 +08:00
tom lee df6253af39 LodUpdate: Make both cut and expand use spiral iteration 2021-12-29 20:36:40 +08:00
tom lee b1f3b23ba1 Load: Make it load via a spiral 2021-12-29 20:18:52 +08:00
tom lee c4708ed173 Save/Load: Slightly improved speed on loading 2021-12-29 19:40:34 +08:00
tom lee fcab0d3b20 Save/Load: Optimize Memory usage on save/load
It now directly read/write to file stream instead of via a temp byte[]
buffer.
2021-12-29 18:17:44 +08:00
tom lee 1034360b88 Renderer: Stored and reapplied more gl states to increase mod compat
Now at least iris shaders won't throw OpenGL errors. (Even though it
still aren't working correctly)
2021-12-29 13:44:37 +08:00
tom lee f92f656876 Changed some System.out to ClientApi.debug 2021-12-28 15:26:01 +08:00
coolGi2007 e052a0c96f Moved annotations to core 2021-12-28 05:31:56 +00:00
tom lee 8bb8217c7b GLProxy: Changed GL logger to new unique log file
Log file is: OpenGL-Lod-ProxyContext
and: OpenGL-LodWorkerContext
2021-12-28 00:09:10 +08:00
tom lee 0563cde3c2 GLProxy: Add temp debug enable via setting debugMode to SHOW_DETAIL` 2021-12-27 23:42:47 +08:00
tom lee 5fe192f4c5 BufferUpload: Changed/Improve Buffer Upload, and a new timeout
Now timeout length is based on how much data is uploaded.

Also, added LagSpikeCatcher in LodBufferBuilderFactory to debug catch
lag spike locations.
2021-12-27 16:07:55 +08:00
cola98765 428e12081c fixed void chunks... made it a bit more resilient 2021-12-26 17:22:56 +01:00
cola98765 ac102402cc disabled connected lods in hasCeiling dimensions 2021-12-26 16:19:06 +01:00
cola98765 966677b89e Add back face culling #109 2021-12-26 10:40:11 +01:00
cola98765 64e73b7d83 fixed light requiring Y offset 2021-12-25 13:19:01 +01:00
cola98765 52ea2e96b7 detect snow etc on connected lods; better comments to enable transparency 2021-12-25 12:25:48 +01:00
cola98765 c658697ecd fixed rogue faces when using connected lods 2021-12-25 11:32:35 +01:00
cola98765 a5b259f098 remove debug if 2021-12-25 10:45:01 +01:00
cola98765 e9da9c26f4 remove connected vertical faces 2021-12-25 10:44:12 +01:00
cola98765 2f6ff1a3ea fix avoided blocks with new method 2021-12-24 11:48:00 +01:00
cola98765 766e5a358d made connected lods configurable (TODO actually add it to config) 2021-12-24 09:29:48 +01:00
cola98765 a19189c2a8 commented the thing to enable colors 2021-12-23 23:43:55 +01:00
cola98765 0627f779d7 connected lods! 2021-12-23 19:19:32 +01:00
James Seibel 01bfb65d9e Add TestDiagram.drawio 2021-12-22 02:14:54 +00:00
James Seibel cccad08a61 Add a folder for wiki files 2021-12-22 02:13:32 +00:00
tom lee 96be86cacf RenderBuffer: Fixed BufferMapping OpenGL Errors
Thanks to nev at discord for pointing this issue out.
2021-12-21 21:12:15 +08:00
tom lee b75791006c General cleanup/fixup/improvement of render buffers 2021-12-21 15:48:25 +08:00
tom lee 9047ebb970 GLProxy: Now always log OpenGL supported version 2021-12-21 14:05:49 +08:00
tom lee 2d1c2d6efb GLProxy: Improved version not supported messages 2021-12-21 13:52:12 +08:00
tom lee 8577363438 added option for more WorldGenerater control 2021-12-19 00:29:50 +08:00
tom lee 4229ed75ae WorldGen: support 1.18 worldgen without locking the server up
Added getWorldGenerationCountPerThread() constant. Cleaned up the
LodWorldGenerator thread main lamda.
2021-12-17 15:57:37 +08:00
tom lee b8408bc6fa Renderer: Changed all to use GL32, set requirement to GL32
This should be the final commit on the renderer system rework if there are no
other bugs.
2021-12-17 14:52:24 +08:00
cola98765 56c4911316 changed where minHeight is set 2021-12-16 12:24:07 +01:00
tom lee 244ead9451 Renderer rework completed
The renderer rework is done. Fixed some non-issues and optimized away
some bind() calls. Also added some FIXME comments to some place that I
noticed needs to be fixed.
2021-12-16 00:16:09 +08:00
cola98765 5709a4c660 changed how minHeight is handled in VerticalLevelContainer 2021-12-15 12:09:47 +01:00
tom lee 3913b955be Renderer: Fixed and enabled GL43+ Vertex Attribute
Not sure if it's faster currently. It should in theory be.
2021-12-15 17:15:54 +08:00
tom lee a295dcafd4 Fix Init Null Exception (LodBuilder getMinHeight())
Fixed someone calling world.getMinHeight() on LodBuilder static init.
The world hasn't even been loaded... Also added it so that it updates on
world / dimension change.
2021-12-15 16:05:13 +08:00
James Seibel f9914f9336 slightly change some config wording 2021-12-14 23:27:46 -06:00
James Seibel 13e9df5b48 Change the sodium support to use a flat render distance
Newer versions of sodium store chunks in such a way that using reflection to get them is complicated at best. So for now we will just use the render distance and estimate which chunks should be loaded.
2021-12-14 23:27:27 -06:00
James Seibel 98c394bad1 Add a default createChunkPos(long) to IWrapperFactory 2021-12-14 20:51:29 -06:00
cola98765 444bf3b8bc made getMinHeight() default, so when it's not implemented it just returns 0 2021-12-14 21:40:33 +01:00
cola98765 455281a32d no longer using getMinimumWorldHeight() form version constants, added replacement in WorldWrapper. 2021-12-14 21:36:51 +01:00
cola98765 7b613ae8e3 rework for 1.18 y<0 2021-12-14 21:12:02 +01:00
cola98765 443d6165fa final fix for 1.18 y<0? 2021-12-14 20:45:38 +01:00
cola98765 a4ebe3e3c1 me stupid 2021-12-14 20:07:10 +01:00
cola98765 6ac3edf280 adding offset back 2021-12-14 19:59:33 +01:00
cola98765 a1163dc340 removed debug message 2021-12-14 19:41:01 +01:00
cola98765 38b7e66ef8 different debug message 2021-12-14 19:28:56 +01:00
cola98765 a843a0ed65 disable debug message 2021-12-14 19:24:20 +01:00
cola98765 e0d2d2530f disable debug message 2021-12-14 19:24:01 +01:00
cola98765 44e2936b68 made very logs for merge bug 2021-12-14 19:06:21 +01:00
cola98765 dfa717e0e3 revert everything around this merge bug 2021-12-14 19:04:06 +01:00
cola98765 69844417ce potential fix to that merge bug 2021-12-14 18:37:26 +01:00
cola98765 8370402dc1 potential fix to that merge bug 2021-12-14 18:27:01 +01:00
cola98765 cbb32bc996 potential fix to that merge bug 2021-12-14 18:24:42 +01:00
cola98765 ac876c0030 potential fix 2021-12-14 18:14:14 +01:00
cola98765 2176807a0a fixed lightmap 2021-12-14 18:09:39 +01:00
cola98765 47732b7f57 just playing around with <0 y 2021-12-14 17:57:27 +01:00
cola98765 ff9afee5b4 fixed loading data being corrupted 2021-12-14 17:29:55 +01:00
tom lee b5665a59c0 Renderer: Fix critical bug that black screen Minecraft 2021-12-15 00:04:04 +08:00
cola98765 483ecf2e4d fixed couple things around Leo's merge. 2021-12-14 14:57:49 +01:00
tom lee 30eab27a49 Removed build-breaking imports
Ha. Told me to always test the build before pushing. Turns out you also
didn't test it!
2021-12-14 21:38:14 +08:00
tom lee d1b5200fed Renderer: Fixup some stuff that maybe an issue 2021-12-14 21:28:09 +08:00
Morippi 4a4728d41e fixed some part and added the newUpdate for now (still unsuded and doesn't use the slice) 2021-12-14 14:11:11 +01:00
Morippi c9204a2094 fixed some part and made a splitted version (if we want to use it since it's possible) 2021-12-14 14:00:47 +01:00
Morippi c45f0b2414 completed the merge method 2021-12-14 13:46:10 +01:00
tom lee 97b2db84cd Quick Patch for GL43+
TODO: Check why GL43+ Vertex Attribute doesn't work
2021-12-14 18:21:40 +08:00
tom lee c389f3b391 Fix merge conflicts 2021-12-14 15:03:31 +08:00
tom lee 6049840aa6 MAJOR Renderer Rewrite
Rewriten almost all stuff in core.render. Changes made:

1. Added LightmapTexture object
2. Moved&Renamed LodShader & LodShaderProgram to be under render/objects/
3. All class under render/objects are actual objects for OpenGL
4. Add LodRenderProgram which is a ShaderProgram + VertexAttribute. If
   we change the method on how we render stuff (Like modifying
   input/output), we should change this file as this is the
   repesentation of the Rendering Program that we are using.
5. Add VertexAttribute, and a GL43+ vesion of it. I implemented both
   versions because the GL43+ will get a noticable speedup due to some
   additions to OpenGL standard. However I still included older version
   for backward compatibilities. To access VertexAttributes, it is
   recommended to access it though the VertexAttribute abstract class's
   method.
6. Rewritten the main renderLod() method. Now it will cache as much
   stuff as possible.
7. To do '6.', now the renderer has a setup() and a cleanup() method,
   both that must be called inside Render Thread. The renderer should
   automatically detects when it needs to call the setup() and
   cleanup(). However, you can expicitly request the renderer to do
   cleanup() on next rendering by calling markForCleanup().
8. ...I think that's all? Don't quite remember tbh. Hopefully I didn't
   miss any points.

Note: This overhaul of the renderer means that THERE WILL BE BUGS. I
can't test all versions on both Nvidia and AMD cards with all OPENGL
versions so please report any bugs to me straight away. Thanks in
advance!

Note 2: I will add more docs in the source code next.
2021-12-14 15:03:03 +08:00
tom lee 2dee6b0326 Add a try/catch and disable Renderer on error
Rendering exceptions usually happens every frame, which cause a lot of
spam. So I added a try/catch and a bool to check if Renderer has
encountered an error, in which the Renderer will be disabled until the
game restarts. (This could probibly be changed)
2021-12-14 14:51:00 +08:00
Morippi 27d9e6aeb7 Added slice in mergeAndAddData 2021-12-13 22:55:29 +01:00
Morippi c751b6fcc6 Added some other comment to the merge 2021-12-13 22:49:58 +01:00
Morippi 31f173c8e8 added the commented code to the mergeAndAddData to make the conversion to new system easier 2021-12-13 22:40:01 +01:00
Morippi 90ca3bd394 Added the position data merge 2021-12-13 22:37:40 +01:00
Morippi 30dd5526cd refactoring for future code 2021-12-13 22:12:13 +01:00
Morippi a9e31b8133 Added methods for the merge in the LevelContainer, to be implemented 2021-12-13 21:03:54 +01:00
Morippi e71cd864b4 Merge remote-tracking branch 'origin/main' into main 2021-12-13 18:59:52 +01:00
Morippi 8efc7d54e7 Changed the format 2021-12-13 18:59:42 +01:00
cola98765 e323e8d62e fixed wrong wrapper call 2021-12-13 18:38:01 +01:00
cola98765 b970ad0ab8 I hope I fixed what james broke 2021-12-13 16:13:43 +01:00
cola98765 c811e6bad6 another change to save format... now there is no static offset 2021-12-13 10:41:33 +01:00
James Seibel 8ef0d40f0c Merge branch 'main' of gitlab.com:jeseibel/distant-horizons-core 2021-12-12 17:42:25 -06:00
James Seibel 227f7d0a23 Closes #85 (Sodium Overdraw incompatibility)
One minor issue: Sodium returns chunks differently than vanilla MC or Optifine. Specifically as of 1.16.5 (12-12-2021) it also returns one layer of chunks further than what is currently rendered.
2021-12-12 17:42:23 -06:00
James Seibel b385b018f1 Remove a few unneeded lines 2021-12-12 17:32:38 -06:00
cola98765 4ece2de991 probable fix to a color bug that made no sense 2021-12-12 23:47:24 +01:00
cola98765 a172961112 probable fix to a color bug that made no sense 2021-12-12 21:26:40 +01:00
tom lee 9e882951ef WorldGen: Quick change to respect VersionConstants
Changed it so that even in FULL mode, it respects the VersionConstants
setting. Who knows if one day we might get even FULL chunk gen in
multithreading~
2021-12-12 23:14:52 +08:00
cola98765 1c9fe23633 fixed couple errors, but floating islands are still broken 2021-12-12 12:04:08 +01:00
James Seibel 92b6a9695d Improve the comment for the Horizontal Quality setting 2021-12-11 21:49:56 -06:00
James Seibel acc5e7af98 Add support for different Core behavior in different MC versions 2021-12-11 21:40:43 -06:00
coolGi2007 aa9e49b3e7 Please stop calling a forge wrapper from core 2021-12-12 01:30:40 +00:00
cola98765 7d86e24db5 attempt to fix generation below y=0 2021-12-12 00:25:51 +01:00
cola98765 71986d8818 attempt to fix generation below y=0 2021-12-12 00:16:34 +01:00
cola98765 e948b4dac1 attempt to fix generation below y=0 2021-12-11 23:48:04 +01:00
cola98765 0a5f7d0c11 reversed IF to attempt to avoid indexOutOfBounds 2021-12-11 23:30:11 +01:00
cola98765 1c65ef8323 made whatever leetom made build on my java 8 instance 2021-12-11 19:23:21 +01:00
cola98765 2c744dd22b made whatever leetom made build on my java 8 instance 2021-12-11 19:22:49 +01:00
tom lee 009d7ede1b WorldGen: Added support for single thread world gen
Reworked the world gen so that it no longer creates like 5 new threads
every server tick. And combined LodGenWorker into LodWorldGenerator as
being a seperate object is not needed.
2021-12-12 02:01:59 +08:00
cola98765 4199954843 fixed terraforged nullPointer. TODO fix the cause of the bug, bot it's symptoms 2021-12-11 18:06:58 +01:00
cola98765 c7ab36c6b7 since light no longer needs to be updated, I've reenabled partial regens 2021-12-11 16:58:37 +01:00
cola98765 1da6544550 actually fix FAR_FIRST 2021-12-11 16:33:27 +01:00
cola98765 c2896d1f73 now stuff should actually cull 2021-12-11 15:43:43 +01:00
cola98765 302abb1e57 fixed blocklight 2021-12-11 14:10:55 +01:00
cola98765 34c6f28173 fix nonFull and noCollision blocks not giving color 2021-12-11 10:54:26 +01:00
cola98765 75676df736 Merge remote-tracking branch 'origin/main' into main 2021-12-11 10:22:08 +01:00
coolGi2007 56b80f00e8 Fixed something that shouldnt be called 2021-12-11 09:13:12 +00:00
cola98765 c1651edb6a fix directional culling 2021-12-11 09:56:41 +01:00
Morippi c1375f7a10 small fixes, + changed variables name 2021-12-11 01:26:03 +01:00
Morippi a82ef3dcde Fixed position bug in the rendering 2021-12-11 00:42:08 +01:00
cola98765 74a97dab0d small fixes 2021-12-10 21:57:14 +01:00
cola98765 16621773af mall fix 2021-12-10 20:49:40 +01:00
Morippi c8988ad1b7 fixewd generation not working 2021-12-10 20:37:02 +01:00
Morippi 1f3f432fef Removed most of BlockPos and ChunkPos use 2021-12-10 20:36:51 +01:00
cola98765 56032b6d6b Merge remote-tracking branch 'origin/main' into main 2021-12-10 18:20:30 +01:00
cola98765 6157c659d2 fix fog for fixed render distance 2021-12-10 18:20:08 +01:00
cola98765 d2cae841e7 fix calculation of view range if it was k*32+x where k is int and 0<=x<16. To compare with old versions add 32 2021-12-10 18:02:07 +01:00
cola98765 d1711be390 fix calculation of view range. if it was k*32+x where k is int and 0<=x<16. To compare with old versions add 32 2021-12-10 18:01:19 +01:00
cola98765 93332d6256 changed debug key to F8 and added chat messages when using debug keys. 2021-12-10 17:45:54 +01:00
James Seibel 8292dc67c0 Remove Dynamic and Triangular Lod Templates 2021-12-09 21:49:48 -06:00
James Seibel 1b82acec9f Fix a incorrect merge 2021-12-09 18:17:50 -06:00
Morippi da4f423d10 Added maps to cache the biome blocks couples 2021-12-09 17:30:43 +01:00
Morippi 5a4c04b5a3 added getters and creators in the new format. 2021-12-09 17:30:18 +01:00
cola98765 cd50be6531 fix FAR_FIRST and AUTO options 2021-12-09 15:20:31 +01:00
cola98765 5d4698621c buffer rebuild due to time is no longer needed 2021-12-09 14:36:24 +01:00
Morippi aba392ace4 Fixed another small bug 2021-12-09 14:31:25 +01:00
Morippi d1c0ea123a Merge remote-tracking branch 'origin/main' into main 2021-12-09 14:30:12 +01:00
Morippi 816efb2837 Fixed a small bug 2021-12-09 14:30:06 +01:00
cola98765 0221a39819 wrong "-" sign 2021-12-09 14:20:30 +01:00
Morippi cc08707f32 Fixed some part of the new format 2021-12-09 13:50:59 +01:00
Morippi 8db253f886 Merge remote-tracking branch 'origin/main' into main 2021-12-09 13:50:48 +01:00
Morippi f59bdf15d7 Created the BlockBiomeCouple 2021-12-09 13:50:37 +01:00
cola98765 ac0d439b3f Merge remote-tracking branch 'origin/main' into main 2021-12-09 13:32:41 +01:00
cola98765 4e652c7573 just switch B and R and should be fine 2021-12-09 13:31:56 +01:00
Morippi 3686bfb4e0 switched two formats 2021-12-09 12:58:52 +01:00
Morippi fe1b2c2683 Added new format classes 2021-12-09 12:57:35 +01:00
cola98765 d5ed9a22fa more consistent skylight-blocklight order 2021-12-09 11:59:37 +01:00
cola98765 e3f9c974f8 partially fix shader based light 2021-12-09 11:57:05 +01:00
cola98765 daead98102 move where in region pos is calculated 2021-12-09 09:49:57 +01:00
James Seibel 5c31927d54 Add shaders files for shader based lighting (ops) 2021-12-08 23:07:10 -06:00
James Seibel f9fa1a5260 merge GLProxy 2021-12-08 23:05:14 -06:00
James Seibel d0472ee56d Add (buggy, unfinished) shader based lighting 2021-12-08 22:59:37 -06:00
Ran e4e21d2dc8 Merge branch 'main' into 'main'
Fix for WindowOS Render null Error

See merge request jeseibel/distant-horizons-core!3
2021-12-08 14:18:05 +00:00
TomTheFurry 79e4dce569 Fix for WindowOS Render null Error 2021-12-08 14:18:04 +00:00
cola98765 408f09c0f4 added and commented out time testing code 2021-12-07 13:05:34 +01:00
cola98765 65bfedc942 Merge remote-tracking branch 'origin/main' into main 2021-12-06 10:21:33 +01:00
cola98765 fab99cd4ec fix LOWEST HorizontalQuality 2021-12-06 10:21:15 +01:00
cola98765 019f4b7c1e fix LOWEST HorizontalQuality 2021-12-06 10:16:51 +01:00
cola98765 f3b6b15bcb reverted DrawResolutionOffset 2021-12-05 20:03:17 +01:00
cola98765 7c086cdc40 HorizontalScale is now a number 2-32 2021-12-05 17:03:38 +01:00
cola98765 5617e1312c updated DYNAMIC VanillaOverdraw setting. 2021-12-05 16:43:21 +01:00
cola98765 9dd51bfdde added DrawResolutionOffset to work with DrawResolution 2021-12-05 16:37:32 +01:00
James Seibel c9dc998eef Fix a few buffer building issues 2021-12-04 22:22:00 -06:00
Morippi 068df9d5e0 Change Box to VertexOptimizer and added the DataFormat folder with empty classes 2021-12-02 23:07:08 +01:00
cola98765 44dc7c96af UNTESTED: when loading and no save was found it will try to look in better DistanceGenerationMode AND VerticalQuality 2021-12-02 17:26:05 +01:00
cola98765 89cc3513f3 added save and load methods to be later used with server 2021-12-02 11:42:49 +01:00
cola98765 7a94db77ef small movements will no longer trigger buffer regen 2021-12-02 10:24:14 +01:00
James Seibel f2fc669b37 comment out configOverride for release a1.5.4 2021-12-01 22:41:56 -06:00
James Seibel a3d4163b67 Add GpuUpload auto selection and re-arrange the config options 2021-12-01 22:32:05 -06:00
James Seibel aea4542616 Add AUTO to generationPriority (chooses best based on current world) 2021-12-01 18:53:56 -06:00
Ran a489810d68 Remove @Nullable 2021-11-30 23:05:39 +06:00
cola98765 806a1e99db couple more warnings 2021-11-30 12:05:05 +01:00
cola98765 4843027e43 javadocs error (not really problem, but prevented me form scanning the code) 2021-11-30 11:50:36 +01:00
cola98765 af4ba453ca couple warnings 2021-11-30 11:45:47 +01:00
cola98765 adc5853f0b fix for potential bug with couple things at high altitudes 2021-11-30 11:21:03 +01:00
cola98765 c42ddd29a9 fix light on servers 2021-11-30 10:27:11 +01:00
James Seibel 9b7d3c083f Add buffer timeout and improve the uploading logic slightly 2021-11-29 21:23:45 -06:00
James Seibel 87bb4ae840 re-add applyConfigOverride 2021-11-29 20:18:14 -06:00
cola98765 b34f5e7f5f moved VERTICAL_OFFSET to DataPointUtil where WORLD_HEIGHT was 2021-11-29 09:09:24 +01:00
Eric a053a79d99 Simplify the createProjectionMatrix method and add VR support. 2021-11-28 21:33:12 -07:00
James Seibel 73c041e02f Fix a potential crash when teleporting 2021-11-28 18:14:28 -06:00
cola98765 f96a5fc794 potentially fix backwards compatibility 2021-11-29 00:20:47 +01:00
James Seibel d591458cd6 comment out the applyConfigOverrides for release a1.5.3 2021-11-28 16:54:11 -06:00
James Seibel 88305d8db3 Merge branch 'main' of gitlab.com:jeseibel/distant-horizons-core 2021-11-28 16:28:38 -06:00
James Seibel 40b0517656 Hopefully prevent a issue with linux file paths in GLProxy 2021-11-28 16:08:56 -06:00
cola98765 2289826363 implemented VERTICAL_OFFSET (-64) and change WORLD_HEIGHT (1024). those numbers mean the same as 1.17 "min_y" and "height" world settings.
TODO check if it's not significantly worse in performance.
2021-11-28 14:32:08 +01:00
James Seibel e1c2b2a0a9 Add a missing comment 2021-11-27 23:28:15 -06:00
James Seibel 70f7a2422b Add Legacy OpenGL vanilla fog removal 2021-11-27 23:16:45 -06:00
James Seibel 8ad6f184dd Add Black and white logo 2021-11-27 18:04:03 -06:00
James Seibel 4a93bde7be Improve the config descriptions 2021-11-27 16:17:01 -06:00
James Seibel b9dfd93b56 rename DistantHorizons_Server_Data -> Distant_Horizons_server_data 2021-11-27 14:48:34 -06:00
James Seibel 5e78c98f17 rename "lod server data" -> Distant_Horizons_Server_Data 2021-11-27 12:03:25 -06:00
James Seibel 31035ccb1e Add setUniform(color) 2021-11-27 10:32:04 -06:00
James Seibel e840a23d01 Add FogColorMode 2021-11-27 10:10:01 -06:00
James Seibel 08b8f8778a Merge branch 'skyfog' into 'main'
Added sky fog color option

See merge request jeseibel/distant-horizons-core!2
2021-11-27 15:38:59 +00:00
coolGi2007 044f87eef2 Added sky fog color option 2021-11-27 12:28:36 +00:00
James Seibel 30cd7fd4e0 remove a debug command 2021-11-26 21:20:32 -06:00
James Seibel fbf5dfaa9d Clean up Fog, remove Fast fog, close issue #77 (near-far incorrect center) 2021-11-26 21:13:54 -06:00
James Seibel 58d4bc7f0f Add fog as a fragment shader 2021-11-26 19:24:48 -06:00
James Seibel 511a771351 Add a few extra resource links to GLProxy 2021-11-25 12:00:52 -06:00
James Seibel e806098544 Fix rendering performance 2021-11-25 11:51:35 -06:00
James Seibel 4316cfbfd7 Merge branch 'ServerPatch' into 'main'
Fixed error when going into servers

See merge request jeseibel/distant-horizons-core!1
2021-11-25 14:02:51 +00:00
coolGi2007 6be4c0303f Fixed error when going into servers 2021-11-25 07:27:14 +00:00
James Seibel 7633c7bc70 Update Readme.md 2021-11-23 02:28:13 +00:00
James Seibel 0bc96a98cf Add support for disabling rendering 2021-11-21 22:14:46 -06:00
James Seibel a0529a310b Update Readme.md 2021-11-21 18:26:20 -06:00
James Seibel ace3c03019 Update IChunkWrapper.java 2021-11-21 15:28:19 -06:00
James Seibel 16b44695ec re-add the basic shaders 2021-11-21 15:27:33 -06:00
James Seibel 151ca3902f Replace MinecraftRenderWrapper with the interface 2021-11-21 15:27:23 -06:00
James Seibel 1ba24659bc Remove all Forge files 2021-11-21 14:01:39 -06:00
725 changed files with 74848 additions and 19593 deletions
+700
View File
@@ -0,0 +1,700 @@
# DH Core
# Note: please keep this and the main .editorconfig in sync
[*]
charset = utf-8
end_of_line = crlf
indent_size = 4
indent_style = space
insert_final_newline = false
max_line_length = 1000
tab_width = 4
trim_trailing_whitespace = false
ij_continuation_indent_size = 8
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = true
ij_smart_tabs = false
ij_visual_guides = none
ij_wrap_on_typing = false
[*.java]
indent_style = tab
ij_smart_tabs = true
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_deconstruction_list_components = false
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = false
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = false
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_records = false
ij_java_align_multiline_resources = false
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_text_blocks = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_align_types_in_multi_catch = false
ij_java_annotation_parameter_wrap = off
ij_java_array_initializer_new_line_after_left_brace = false
ij_java_array_initializer_right_brace_on_new_line = false
ij_java_array_initializer_wrap = normal
ij_java_assert_statement_colon_on_next_line = false
ij_java_assert_statement_wrap = off
ij_java_assignment_wrap = off
ij_java_binary_operation_sign_on_next_line = false
ij_java_binary_operation_wrap = off
ij_java_blank_lines_after_anonymous_class_header = 0
ij_java_blank_lines_after_class_header = 0
ij_java_blank_lines_after_imports = 1
ij_java_blank_lines_after_package = 1
ij_java_blank_lines_around_class = 1
ij_java_blank_lines_around_field = 0
ij_java_blank_lines_around_field_in_interface = 0
ij_java_blank_lines_around_initializer = 0
ij_java_blank_lines_around_method = 0
ij_java_blank_lines_around_method_in_interface = 0
ij_java_blank_lines_before_class_end = 1
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 1
ij_java_block_brace_style = next_line
ij_java_block_comment_add_space = false
ij_java_block_comment_at_first_column = true
ij_java_builder_methods = none
ij_java_call_parameters_new_line_after_left_paren = false
ij_java_call_parameters_right_paren_on_new_line = false
ij_java_call_parameters_wrap = normal
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = true
ij_java_class_annotation_wrap = off
ij_java_class_brace_style = next_line
ij_java_class_count_to_use_import_on_demand = 5
ij_java_class_names_in_javadoc = 1
ij_java_deconstruction_list_wrap = normal
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_not_wrap_after_single_annotation_in_parameter = false
ij_java_do_while_brace_force = never
ij_java_doc_add_blank_line_after_description = true
ij_java_doc_add_blank_line_after_param_comments = false
ij_java_doc_add_blank_line_after_return = false
ij_java_doc_add_p_tag_on_empty_lines = false
ij_java_doc_align_exception_comments = false
ij_java_doc_align_param_comments = false
ij_java_doc_do_not_wrap_if_one_line = true
ij_java_doc_enable_formatting = true
ij_java_doc_enable_leading_asterisks = true
ij_java_doc_indent_on_continuation = false
ij_java_doc_keep_empty_lines = true
ij_java_doc_keep_empty_parameter_tag = true
ij_java_doc_keep_empty_return_tag = false
ij_java_doc_keep_empty_throws_tag = true
ij_java_doc_keep_invalid_tags = true
ij_java_doc_param_description_on_new_line = false
ij_java_doc_preserve_line_breaks = false
ij_java_doc_use_throws_not_exception_tag = true
ij_java_else_on_new_line = true
ij_java_enum_constants_wrap = off
ij_java_extends_keyword_wrap = normal
ij_java_extends_list_wrap = normal
ij_java_field_annotation_wrap = off
ij_java_finally_on_new_line = true
ij_java_for_brace_force = always
ij_java_for_statement_new_line_after_left_paren = false
ij_java_for_statement_right_paren_on_new_line = false
ij_java_for_statement_wrap = off
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_if_brace_force = never
ij_java_imports_layout = *,|,javax.**,java.**,|,$*
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
ij_java_keep_blank_lines_before_right_brace = 10
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
ij_java_keep_blank_lines_in_code = 10
ij_java_keep_blank_lines_in_declarations = 10
ij_java_keep_builder_methods_indents = false
ij_java_keep_control_statement_in_one_line = true
ij_java_keep_first_column_comment = true
ij_java_keep_indents_on_empty_lines = true
ij_java_keep_line_breaks = true
ij_java_keep_multiple_expressions_in_one_line = true
ij_java_keep_simple_blocks_in_one_line = false
ij_java_keep_simple_classes_in_one_line = true
ij_java_keep_simple_lambdas_in_one_line = true
ij_java_keep_simple_methods_in_one_line = true
ij_java_label_indent_absolute = false
ij_java_label_indent_size = 0
ij_java_lambda_brace_style = end_of_line
ij_java_layout_static_imports_separately = true
ij_java_line_comment_add_space = false
ij_java_line_comment_add_space_on_reformat = false
ij_java_line_comment_at_first_column = false
ij_java_method_annotation_wrap = off
ij_java_method_brace_style = next_line
ij_java_method_call_chain_wrap = normal
ij_java_method_parameters_new_line_after_left_paren = true
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = normal
ij_java_modifier_list_wrap = false
ij_java_multi_catch_types_wrap = normal
ij_java_names_count_to_use_import_on_demand = 3
ij_java_new_line_after_lparen_in_annotation = false
ij_java_new_line_after_lparen_in_deconstruction_pattern = true
ij_java_new_line_after_lparen_in_record_header = false
ij_java_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
ij_java_parameter_annotation_wrap = off
ij_java_parentheses_expression_new_line_after_left_paren = false
ij_java_parentheses_expression_right_paren_on_new_line = false
ij_java_place_assignment_sign_on_next_line = false
ij_java_prefer_longer_names = true
ij_java_prefer_parameters_wrap = false
ij_java_record_components_wrap = normal
ij_java_repeat_synchronized = true
ij_java_replace_instanceof_and_cast = false
ij_java_replace_null_check = false
ij_java_replace_sum_lambda_with_method_ref = false
ij_java_resource_list_new_line_after_left_paren = false
ij_java_resource_list_right_paren_on_new_line = false
ij_java_resource_list_wrap = on_every_item
ij_java_rparen_on_new_line_in_annotation = false
ij_java_rparen_on_new_line_in_deconstruction_pattern = true
ij_java_rparen_on_new_line_in_record_header = false
ij_java_space_after_closing_angle_bracket_in_type_argument = false
ij_java_space_after_colon = true
ij_java_space_after_comma = true
ij_java_space_after_comma_in_type_arguments = true
ij_java_space_after_for_semicolon = true
ij_java_space_after_quest = true
ij_java_space_after_type_cast = true
ij_java_space_before_annotation_array_initializer_left_brace = false
ij_java_space_before_annotation_parameter_list = false
ij_java_space_before_array_initializer_left_brace = false
ij_java_space_before_catch_keyword = true
ij_java_space_before_catch_left_brace = true
ij_java_space_before_catch_parentheses = true
ij_java_space_before_class_left_brace = true
ij_java_space_before_colon = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_deconstruction_list = false
ij_java_space_before_do_left_brace = true
ij_java_space_before_else_keyword = true
ij_java_space_before_else_left_brace = true
ij_java_space_before_finally_keyword = true
ij_java_space_before_finally_left_brace = true
ij_java_space_before_for_left_brace = true
ij_java_space_before_for_parentheses = true
ij_java_space_before_for_semicolon = false
ij_java_space_before_if_left_brace = true
ij_java_space_before_if_parentheses = true
ij_java_space_before_method_call_parentheses = false
ij_java_space_before_method_left_brace = true
ij_java_space_before_method_parentheses = false
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
ij_java_space_before_quest = true
ij_java_space_before_switch_left_brace = true
ij_java_space_before_switch_parentheses = true
ij_java_space_before_synchronized_left_brace = false
ij_java_space_before_synchronized_parentheses = true
ij_java_space_before_try_left_brace = true
ij_java_space_before_try_parentheses = true
ij_java_space_before_type_parameter_list = false
ij_java_space_before_while_keyword = true
ij_java_space_before_while_left_brace = true
ij_java_space_before_while_parentheses = true
ij_java_space_inside_one_line_enum_braces = false
ij_java_space_within_empty_array_initializer_braces = true
ij_java_space_within_empty_method_call_parentheses = false
ij_java_space_within_empty_method_parentheses = false
ij_java_spaces_around_additive_operators = true
ij_java_spaces_around_annotation_eq = true
ij_java_spaces_around_assignment_operators = true
ij_java_spaces_around_bitwise_operators = true
ij_java_spaces_around_equality_operators = true
ij_java_spaces_around_lambda_arrow = true
ij_java_spaces_around_logical_operators = true
ij_java_spaces_around_method_ref_dbl_colon = false
ij_java_spaces_around_multiplicative_operators = true
ij_java_spaces_around_relational_operators = true
ij_java_spaces_around_shift_operators = true
ij_java_spaces_around_type_bounds_in_type_parameters = true
ij_java_spaces_around_unary_operator = false
ij_java_spaces_within_angle_brackets = false
ij_java_spaces_within_annotation_parentheses = false
ij_java_spaces_within_array_initializer_braces = false
ij_java_spaces_within_braces = true
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = false
ij_java_spaces_within_deconstruction_list = false
ij_java_spaces_within_for_parentheses = false
ij_java_spaces_within_if_parentheses = false
ij_java_spaces_within_method_call_parentheses = false
ij_java_spaces_within_method_parentheses = false
ij_java_spaces_within_parentheses = false
ij_java_spaces_within_record_header = false
ij_java_spaces_within_switch_parentheses = false
ij_java_spaces_within_synchronized_parentheses = false
ij_java_spaces_within_try_parentheses = false
ij_java_spaces_within_while_parentheses = false
ij_java_special_else_if_treatment = true
ij_java_subclass_name_suffix = Impl
ij_java_ternary_operation_signs_on_next_line = false
ij_java_ternary_operation_wrap = on_every_item
ij_java_test_name_suffix = Test
ij_java_throws_keyword_wrap = normal
ij_java_throws_list_wrap = normal
ij_java_use_external_annotations = false
ij_java_use_fq_class_names = false
ij_java_use_relative_indents = false
ij_java_use_single_class_imports = true
ij_java_variable_annotation_wrap = off
ij_java_visibility = public
ij_java_while_brace_force = always
ij_java_while_on_new_line = true
ij_java_wrap_comments = false
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false
[*.nbtt]
indent_style = tab
max_line_length = 150
ij_continuation_indent_size = 4
ij_nbtt_keep_indents_on_empty_lines = false
ij_nbtt_space_after_colon = true
ij_nbtt_space_after_comma = true
ij_nbtt_space_before_colon = true
ij_nbtt_space_before_comma = false
ij_nbtt_spaces_within_brackets = false
ij_nbtt_spaces_within_parentheses = false
[*.properties]
ij_properties_align_group_field_declarations = false
ij_properties_keep_blank_lines = false
ij_properties_key_value_delimiter = equals
ij_properties_spaces_around_key_value_delimiter = false
[.editorconfig]
ij_editorconfig_align_group_field_declarations = false
ij_editorconfig_space_after_colon = false
ij_editorconfig_space_after_comma = true
ij_editorconfig_space_before_colon = false
ij_editorconfig_space_before_comma = false
ij_editorconfig_spaces_around_assignment_operators = true
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.jspx,*.pom,*.rng,*.tagx,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}]
ij_xml_align_attributes = true
ij_xml_align_text = false
ij_xml_attribute_wrap = normal
ij_xml_block_comment_add_space = false
ij_xml_block_comment_at_first_column = true
ij_xml_keep_blank_lines = 2
ij_xml_keep_indents_on_empty_lines = false
ij_xml_keep_line_breaks = true
ij_xml_keep_line_breaks_in_text = true
ij_xml_keep_whitespaces = false
ij_xml_keep_whitespaces_around_cdata = preserve
ij_xml_keep_whitespaces_inside_cdata = false
ij_xml_line_comment_at_first_column = true
ij_xml_space_after_tag_name = false
ij_xml_space_around_equals_in_attribute = false
ij_xml_space_inside_empty_tag = false
ij_xml_text_wrap = normal
ij_xml_use_custom_settings = false
[{*.bash,*.sh,*.zsh}]
indent_size = 4
tab_width = 4
ij_shell_binary_ops_start_line = false
ij_shell_keep_column_alignment_padding = false
ij_shell_minify_program = false
ij_shell_redirect_followed_by_space = false
ij_shell_switch_cases_indented = false
ij_shell_use_unix_line_separator = true
[{*.comp,*.frag,*.fsh,*.geom,*.glsl,*.gsh,*.tesc,*.tese,*.vert,*.vsh}]
ij_glsl_space_after_colon = true
ij_glsl_space_after_comma = true
ij_glsl_space_after_for_semicolon = true
ij_glsl_space_after_quest = true
ij_glsl_space_before_colon = false
ij_glsl_space_before_comma = false
ij_glsl_space_before_for_semicolon = false
ij_glsl_space_before_quest = true
ij_glsl_spaces_around_additive_operators = true
ij_glsl_spaces_around_assignment_operators = true
ij_glsl_spaces_around_bitwise_operators = true
ij_glsl_spaces_around_equality_operators = true
ij_glsl_spaces_around_logical_operators = true
ij_glsl_spaces_around_multiplicative_operators = true
ij_glsl_spaces_around_relational_operators = true
ij_glsl_spaces_around_shift_operators = true
ij_glsl_spaces_within_brackets = false
ij_glsl_spaces_within_parentheses = false
[{*.gant,*.groovy,*.gy}]
ij_groovy_align_group_field_declarations = false
ij_groovy_align_multiline_array_initializer_expression = false
ij_groovy_align_multiline_assignment = false
ij_groovy_align_multiline_binary_operation = false
ij_groovy_align_multiline_chained_methods = false
ij_groovy_align_multiline_extends_list = false
ij_groovy_align_multiline_for = true
ij_groovy_align_multiline_list_or_map = true
ij_groovy_align_multiline_method_parentheses = false
ij_groovy_align_multiline_parameters = true
ij_groovy_align_multiline_parameters_in_calls = false
ij_groovy_align_multiline_resources = true
ij_groovy_align_multiline_ternary_operation = false
ij_groovy_align_multiline_throws_list = false
ij_groovy_align_named_args_in_map = true
ij_groovy_align_throws_keyword = false
ij_groovy_array_initializer_new_line_after_left_brace = false
ij_groovy_array_initializer_right_brace_on_new_line = false
ij_groovy_array_initializer_wrap = off
ij_groovy_assert_statement_wrap = off
ij_groovy_assignment_wrap = off
ij_groovy_binary_operation_wrap = off
ij_groovy_blank_lines_after_class_header = 0
ij_groovy_blank_lines_after_imports = 1
ij_groovy_blank_lines_after_package = 1
ij_groovy_blank_lines_around_class = 1
ij_groovy_blank_lines_around_field = 0
ij_groovy_blank_lines_around_field_in_interface = 0
ij_groovy_blank_lines_around_method = 1
ij_groovy_blank_lines_around_method_in_interface = 1
ij_groovy_blank_lines_before_imports = 1
ij_groovy_blank_lines_before_method_body = 0
ij_groovy_blank_lines_before_package = 0
ij_groovy_block_brace_style = end_of_line
ij_groovy_block_comment_add_space = false
ij_groovy_block_comment_at_first_column = true
ij_groovy_call_parameters_new_line_after_left_paren = false
ij_groovy_call_parameters_right_paren_on_new_line = false
ij_groovy_call_parameters_wrap = off
ij_groovy_catch_on_new_line = false
ij_groovy_class_annotation_wrap = split_into_lines
ij_groovy_class_brace_style = end_of_line
ij_groovy_class_count_to_use_import_on_demand = 5
ij_groovy_do_while_brace_force = never
ij_groovy_else_on_new_line = false
ij_groovy_enable_groovydoc_formatting = true
ij_groovy_enum_constants_wrap = off
ij_groovy_extends_keyword_wrap = off
ij_groovy_extends_list_wrap = off
ij_groovy_field_annotation_wrap = split_into_lines
ij_groovy_finally_on_new_line = false
ij_groovy_for_brace_force = never
ij_groovy_for_statement_new_line_after_left_paren = false
ij_groovy_for_statement_right_paren_on_new_line = false
ij_groovy_for_statement_wrap = off
ij_groovy_ginq_general_clause_wrap_policy = 2
ij_groovy_ginq_having_wrap_policy = 1
ij_groovy_ginq_indent_having_clause = true
ij_groovy_ginq_indent_on_clause = true
ij_groovy_ginq_on_wrap_policy = 1
ij_groovy_ginq_space_after_keyword = true
ij_groovy_if_brace_force = never
ij_groovy_import_annotation_wrap = 2
ij_groovy_imports_layout = *,|,javax.**,java.**,|,$*
ij_groovy_indent_case_from_switch = true
ij_groovy_indent_label_blocks = true
ij_groovy_insert_inner_class_imports = false
ij_groovy_keep_blank_lines_before_right_brace = 2
ij_groovy_keep_blank_lines_in_code = 2
ij_groovy_keep_blank_lines_in_declarations = 2
ij_groovy_keep_control_statement_in_one_line = true
ij_groovy_keep_first_column_comment = true
ij_groovy_keep_indents_on_empty_lines = false
ij_groovy_keep_line_breaks = true
ij_groovy_keep_multiple_expressions_in_one_line = false
ij_groovy_keep_simple_blocks_in_one_line = false
ij_groovy_keep_simple_classes_in_one_line = true
ij_groovy_keep_simple_lambdas_in_one_line = true
ij_groovy_keep_simple_methods_in_one_line = true
ij_groovy_label_indent_absolute = false
ij_groovy_label_indent_size = 0
ij_groovy_lambda_brace_style = end_of_line
ij_groovy_layout_static_imports_separately = true
ij_groovy_line_comment_add_space = false
ij_groovy_line_comment_add_space_on_reformat = false
ij_groovy_line_comment_at_first_column = true
ij_groovy_method_annotation_wrap = split_into_lines
ij_groovy_method_brace_style = end_of_line
ij_groovy_method_call_chain_wrap = off
ij_groovy_method_parameters_new_line_after_left_paren = false
ij_groovy_method_parameters_right_paren_on_new_line = false
ij_groovy_method_parameters_wrap = off
ij_groovy_modifier_list_wrap = false
ij_groovy_names_count_to_use_import_on_demand = 3
ij_groovy_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
ij_groovy_parameter_annotation_wrap = off
ij_groovy_parentheses_expression_new_line_after_left_paren = false
ij_groovy_parentheses_expression_right_paren_on_new_line = false
ij_groovy_prefer_parameters_wrap = false
ij_groovy_resource_list_new_line_after_left_paren = false
ij_groovy_resource_list_right_paren_on_new_line = false
ij_groovy_resource_list_wrap = off
ij_groovy_space_after_assert_separator = true
ij_groovy_space_after_colon = true
ij_groovy_space_after_comma = true
ij_groovy_space_after_comma_in_type_arguments = true
ij_groovy_space_after_for_semicolon = true
ij_groovy_space_after_quest = true
ij_groovy_space_after_type_cast = true
ij_groovy_space_before_annotation_parameter_list = false
ij_groovy_space_before_array_initializer_left_brace = false
ij_groovy_space_before_assert_separator = false
ij_groovy_space_before_catch_keyword = true
ij_groovy_space_before_catch_left_brace = true
ij_groovy_space_before_catch_parentheses = true
ij_groovy_space_before_class_left_brace = true
ij_groovy_space_before_closure_left_brace = true
ij_groovy_space_before_colon = true
ij_groovy_space_before_comma = false
ij_groovy_space_before_do_left_brace = true
ij_groovy_space_before_else_keyword = true
ij_groovy_space_before_else_left_brace = true
ij_groovy_space_before_finally_keyword = true
ij_groovy_space_before_finally_left_brace = true
ij_groovy_space_before_for_left_brace = true
ij_groovy_space_before_for_parentheses = true
ij_groovy_space_before_for_semicolon = false
ij_groovy_space_before_if_left_brace = true
ij_groovy_space_before_if_parentheses = true
ij_groovy_space_before_method_call_parentheses = false
ij_groovy_space_before_method_left_brace = true
ij_groovy_space_before_method_parentheses = false
ij_groovy_space_before_quest = true
ij_groovy_space_before_record_parentheses = false
ij_groovy_space_before_switch_left_brace = true
ij_groovy_space_before_switch_parentheses = true
ij_groovy_space_before_synchronized_left_brace = true
ij_groovy_space_before_synchronized_parentheses = true
ij_groovy_space_before_try_left_brace = true
ij_groovy_space_before_try_parentheses = true
ij_groovy_space_before_while_keyword = true
ij_groovy_space_before_while_left_brace = true
ij_groovy_space_before_while_parentheses = true
ij_groovy_space_in_named_argument = true
ij_groovy_space_in_named_argument_before_colon = false
ij_groovy_space_within_empty_array_initializer_braces = false
ij_groovy_space_within_empty_method_call_parentheses = false
ij_groovy_spaces_around_additive_operators = true
ij_groovy_spaces_around_assignment_operators = true
ij_groovy_spaces_around_bitwise_operators = true
ij_groovy_spaces_around_equality_operators = true
ij_groovy_spaces_around_lambda_arrow = true
ij_groovy_spaces_around_logical_operators = true
ij_groovy_spaces_around_multiplicative_operators = true
ij_groovy_spaces_around_regex_operators = true
ij_groovy_spaces_around_relational_operators = true
ij_groovy_spaces_around_shift_operators = true
ij_groovy_spaces_within_annotation_parentheses = false
ij_groovy_spaces_within_array_initializer_braces = false
ij_groovy_spaces_within_braces = true
ij_groovy_spaces_within_brackets = false
ij_groovy_spaces_within_cast_parentheses = false
ij_groovy_spaces_within_catch_parentheses = false
ij_groovy_spaces_within_for_parentheses = false
ij_groovy_spaces_within_gstring_injection_braces = false
ij_groovy_spaces_within_if_parentheses = false
ij_groovy_spaces_within_list_or_map = false
ij_groovy_spaces_within_method_call_parentheses = false
ij_groovy_spaces_within_method_parentheses = false
ij_groovy_spaces_within_parentheses = false
ij_groovy_spaces_within_switch_parentheses = false
ij_groovy_spaces_within_synchronized_parentheses = false
ij_groovy_spaces_within_try_parentheses = false
ij_groovy_spaces_within_tuple_expression = false
ij_groovy_spaces_within_while_parentheses = false
ij_groovy_special_else_if_treatment = true
ij_groovy_ternary_operation_wrap = off
ij_groovy_throws_keyword_wrap = off
ij_groovy_throws_list_wrap = off
ij_groovy_use_flying_geese_braces = false
ij_groovy_use_fq_class_names = false
ij_groovy_use_fq_class_names_in_javadoc = true
ij_groovy_use_relative_indents = false
ij_groovy_use_single_class_imports = true
ij_groovy_variable_annotation_wrap = off
ij_groovy_while_brace_force = never
ij_groovy_while_on_new_line = false
ij_groovy_wrap_chain_calls_after_dot = false
ij_groovy_wrap_long_lines = false
[{*.har,*.json,*.png.mcmeta,mcmod.info,pack.mcmeta}]
indent_size = 4
ij_json_array_wrapping = split_into_lines
ij_json_keep_blank_lines_in_code = 0
ij_json_keep_indents_on_empty_lines = false
ij_json_keep_line_breaks = true
ij_json_keep_trailing_comma = false
ij_json_object_wrapping = split_into_lines
ij_json_property_alignment = do_not_align
ij_json_space_after_colon = true
ij_json_space_after_comma = true
ij_json_space_before_colon = false
ij_json_space_before_comma = false
ij_json_spaces_within_braces = false
ij_json_spaces_within_brackets = false
ij_json_wrap_long_lines = false
[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
ij_html_align_attributes = true
ij_html_align_text = false
ij_html_attribute_wrap = normal
ij_html_block_comment_add_space = false
ij_html_block_comment_at_first_column = true
ij_html_do_not_align_children_of_min_lines = 0
ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
ij_html_enforce_quotes = false
ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
ij_html_keep_blank_lines = 2
ij_html_keep_indents_on_empty_lines = false
ij_html_keep_line_breaks = true
ij_html_keep_line_breaks_in_text = true
ij_html_keep_whitespaces = false
ij_html_keep_whitespaces_inside = span,pre,textarea
ij_html_line_comment_at_first_column = true
ij_html_new_line_after_last_attribute = never
ij_html_new_line_before_first_attribute = never
ij_html_quote_style = double
ij_html_remove_new_line_before_tags = br
ij_html_space_after_tag_name = false
ij_html_space_around_equality_in_attribute = false
ij_html_space_inside_empty_tag = false
ij_html_text_wrap = normal
[{*.kt,*.kts}]
ij_kotlin_align_in_columns_case_branch = false
ij_kotlin_align_multiline_binary_operation = false
ij_kotlin_align_multiline_extends_list = false
ij_kotlin_align_multiline_method_parentheses = false
ij_kotlin_align_multiline_parameters = true
ij_kotlin_align_multiline_parameters_in_calls = false
ij_kotlin_allow_trailing_comma = false
ij_kotlin_allow_trailing_comma_on_call_site = false
ij_kotlin_assignment_wrap = off
ij_kotlin_blank_lines_after_class_header = 0
ij_kotlin_blank_lines_around_block_when_branches = 0
ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1
ij_kotlin_block_comment_add_space = false
ij_kotlin_block_comment_at_first_column = true
ij_kotlin_call_parameters_new_line_after_left_paren = false
ij_kotlin_call_parameters_right_paren_on_new_line = false
ij_kotlin_call_parameters_wrap = off
ij_kotlin_catch_on_new_line = false
ij_kotlin_class_annotation_wrap = split_into_lines
ij_kotlin_continuation_indent_for_chained_calls = true
ij_kotlin_continuation_indent_for_expression_bodies = true
ij_kotlin_continuation_indent_in_argument_lists = true
ij_kotlin_continuation_indent_in_elvis = true
ij_kotlin_continuation_indent_in_if_conditions = true
ij_kotlin_continuation_indent_in_parameter_lists = true
ij_kotlin_continuation_indent_in_supertype_lists = true
ij_kotlin_else_on_new_line = false
ij_kotlin_enum_constants_wrap = off
ij_kotlin_extends_list_wrap = off
ij_kotlin_field_annotation_wrap = split_into_lines
ij_kotlin_finally_on_new_line = false
ij_kotlin_if_rparen_on_new_line = false
ij_kotlin_import_nested_classes = false
ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
ij_kotlin_keep_blank_lines_before_right_brace = 2
ij_kotlin_keep_blank_lines_in_code = 2
ij_kotlin_keep_blank_lines_in_declarations = 2
ij_kotlin_keep_first_column_comment = true
ij_kotlin_keep_indents_on_empty_lines = false
ij_kotlin_keep_line_breaks = true
ij_kotlin_lbrace_on_next_line = false
ij_kotlin_line_break_after_multiline_when_entry = true
ij_kotlin_line_comment_add_space = false
ij_kotlin_line_comment_add_space_on_reformat = false
ij_kotlin_line_comment_at_first_column = true
ij_kotlin_method_annotation_wrap = split_into_lines
ij_kotlin_method_call_chain_wrap = off
ij_kotlin_method_parameters_new_line_after_left_paren = false
ij_kotlin_method_parameters_right_paren_on_new_line = false
ij_kotlin_method_parameters_wrap = off
ij_kotlin_name_count_to_use_star_import = 5
ij_kotlin_name_count_to_use_star_import_for_members = 3
ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlinx.android.synthetic.**,io.ktor.**
ij_kotlin_parameter_annotation_wrap = off
ij_kotlin_space_after_comma = true
ij_kotlin_space_after_extend_colon = true
ij_kotlin_space_after_type_colon = true
ij_kotlin_space_before_catch_parentheses = true
ij_kotlin_space_before_comma = false
ij_kotlin_space_before_extend_colon = true
ij_kotlin_space_before_for_parentheses = true
ij_kotlin_space_before_if_parentheses = true
ij_kotlin_space_before_lambda_arrow = true
ij_kotlin_space_before_type_colon = false
ij_kotlin_space_before_when_parentheses = true
ij_kotlin_space_before_while_parentheses = true
ij_kotlin_spaces_around_additive_operators = true
ij_kotlin_spaces_around_assignment_operators = true
ij_kotlin_spaces_around_equality_operators = true
ij_kotlin_spaces_around_function_type_arrow = true
ij_kotlin_spaces_around_logical_operators = true
ij_kotlin_spaces_around_multiplicative_operators = true
ij_kotlin_spaces_around_range = false
ij_kotlin_spaces_around_relational_operators = true
ij_kotlin_spaces_around_unary_operator = false
ij_kotlin_spaces_around_when_arrow = true
ij_kotlin_variable_annotation_wrap = off
ij_kotlin_while_on_new_line = false
ij_kotlin_wrap_elvis_expressions = 1
ij_kotlin_wrap_expression_body_functions = 0
ij_kotlin_wrap_first_method_in_call_chain = false
[{*.markdown,*.md}]
ij_markdown_force_one_space_after_blockquote_symbol = true
ij_markdown_force_one_space_after_header_symbol = true
ij_markdown_force_one_space_after_list_bullet = true
ij_markdown_force_one_space_between_words = true
ij_markdown_format_tables = true
ij_markdown_insert_quote_arrows_on_wrap = true
ij_markdown_keep_indents_on_empty_lines = false
ij_markdown_keep_line_breaks_inside_text_blocks = true
ij_markdown_max_lines_around_block_elements = 1
ij_markdown_max_lines_around_header = 1
ij_markdown_max_lines_between_paragraphs = 1
ij_markdown_min_lines_around_block_elements = 1
ij_markdown_min_lines_around_header = 1
ij_markdown_min_lines_between_paragraphs = 1
ij_markdown_wrap_text_if_long = true
ij_markdown_wrap_text_inside_blockquotes = true
[{*.toml,Cargo.lock,Cargo.toml.orig,Gopkg.lock,Pipfile,poetry.lock}]
ij_toml_keep_indents_on_empty_lines = false
[{*.yaml,*.yml}]
indent_size = 4
ij_yaml_align_values_properties = do_not_align
ij_yaml_autoinsert_sequence_marker = true
ij_yaml_block_mapping_on_new_line = false
ij_yaml_indent_sequence_value = true
ij_yaml_keep_indents_on_empty_lines = false
ij_yaml_keep_line_breaks = true
ij_yaml_sequence_on_new_line = false
ij_yaml_space_before_colon = false
ij_yaml_spaces_within_braces = true
ij_yaml_spaces_within_brackets = true
+6
View File
@@ -24,3 +24,9 @@ run
# Files from Forge MDK
logs
forge*changelog.txt
# Sqlite databases
*.sqlite
*.sqlite-journal
*.sqlite-shm
*.sqlite-wal
+1
View File
@@ -0,0 +1 @@
Distant Horizons logos © 2024 by Pankakes are licensed under CC BY-SA 4.0
+165
View File
@@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
+18 -59
View File
@@ -1,68 +1,27 @@
# Distant Horizons
# <img src="https://gitlab.com/jeseibel/distant-horizons-core/-/raw/main/_Misc%20Files%2Flogo%20files%2Fnew%2FSVG%2FDistant-Horizons-Core.svg" height="128px">
This mod adds a Level Of Detail (LOD) system to Minecraft.\
This implementation renders simplified chunks outside the normal render distance\
allowing for an increased view distance without harming performance.
Or in other words: this mod lets you see farther without turning your game into a slide show.\
If you want to see a quick demo, check out a video covering the mod here:
<a href="https://www.youtube.com/watch?v=H2tnvEVbO1c" target="_blank">![Minecraft Level Of Detail (LOD) mod - Alpha 1.4](https://i.ytimg.com/vi_webp/H2tnvEVbO1c/mqdefault.webp)</a>
Forge version: 1.16.5-36.1.0
Notes:\
This version has been confirmed to work in Eclipse and Retail Minecraft.\
(Retail running forge version 1.16.5-36.1.0)
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 helping us port to different versions faster and easier.
Check out the mod's main GitLab page here:
https://gitlab.com/jeseibel/distant-horizons
## source code installation
See the Forge Documentation online for more detailed instructions:\
http://mcforge.readthedocs.io/en/latest/gettingstarted/
1. Create a system variable called "JAVA_MC_HOME" with the location of the JDK 1.8.0_251 (This is needed for gradle to work correctly)
2. replace JAVA_HOME with JAVA_MC_HOME in gradle.bat
3. open a command line in the project folder
**If using Ecplise:**
1. run the command: `./gradlew geneclipseruns`
2. run the command: `./gradlew eclipse`
3. Make sure eclipse has the JDK 1.8.0_251 installed. (This is needed so that eclipse can run minecraft)
4. Import the project into eclipse
**If using IntelliJ:**
1. open IDEA and import the build.gradle
2. run the command: `./gradlew genIntellijRuns`
3. refresh the Gradle project in IDEA if required
## Compiling
1. open a command line in the project folder
2. run the command: `./gradlew build`
3. the compiled jar file will be in the folder `build\libs`
## Other commands
`./gradlew --refresh-dependencies` to refresh local dependencies.
`./gradlew clean` to reset everything (this does not affect your code) and then start the process again.
## Note to self
The Minecraft source code is NOT added to your workspace in an editable way. Minecraft is treated like a normal Library. Sources are there for documentation and research purposes only.
Source code uses Mojang mappings.
The source code can be 'created' with the `./eclipse` command and can be found in the following path:\
`minecraft-lod-mod\build\fg_cache\mcp\ VERSION \joined\ RANDOM_STRING \patch\output.jar`
You shouldn't download this repo directly.
It should be automatically included when pulling the full mod.
## Open Source Acknowledgements
XZ for Java (data compression)\
https://tukaani.org/xz/java.html
LZ4 for Java (data compression)\
https://github.com/lz4/lz4-java
NightConfig for Json & Toml (config handling)\
https://github.com/TheElectronWill/night-config
SVG Salamander for SVG support (not being used atm)\
https://github.com/blackears/svgSalamander
sqlite-jdbc\
https://github.com/xerial/sqlite-jdbc
-390
View File
@@ -1,390 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="21">
<profile kind="CodeFormatterProfile" name="Eclipse (James' Edit)" version="21">
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_record_components" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.text_block_indentation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_module_statements" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_annotations" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_constructor" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_string_concatenation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="99"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assertion_message" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="1200"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
</profile>
</profiles>
-11
View File
@@ -1,11 +0,0 @@
These Files are used when developing the mod.
Eclipse Auto Formatting
IntelliJ Auto Formatting
- These files are the auto-formatting settings that should be used when developing for the mod. We want to make sure the style of code is consistant regardless of who is writting the code.
renderDocMcDistantHorizonsSettings
- This file contains the configuration to run a remote debug instance so you can edit the mod in your IDE while also viewing the OpenGL code in RenderDoc.
minecraft launch options
- This file contains the Java command line arguments used to launch the mod from a development environment (specifically Eclipse, James didn't test it with IntelliJ), and is included to more easily edit the options for RenderDoc
@@ -1,50 +0,0 @@
<code_scheme name="Eclipse (James' Edit)" version="173">
<option name="RIGHT_MARGIN" value="1200" />
<JavaCodeStyleSettings>
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
<option name="JD_ADD_BLANK_AFTER_DESCRIPTION" value="false" />
<option name="JD_P_AT_EMPTY_LINES" value="false" />
<option name="JD_KEEP_INVALID_TAGS" value="false" />
<option name="JD_DO_NOT_WRAP_ONE_LINE_COMMENTS" value="true" />
<option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
<option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
<option name="JD_KEEP_EMPTY_RETURN" value="false" />
</JavaCodeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="10" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="10" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="10" />
<option name="BLANK_LINES_BEFORE_PACKAGE" value="1" />
<option name="BRACE_STYLE" value="2" />
<option name="CLASS_BRACE_STYLE" value="2" />
<option name="METHOD_BRACE_STYLE" value="2" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="INDENT_CASE_FROM_SWITCH" value="false" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_RESOURCES" value="false" />
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACES" value="true" />
<option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="RESOURCE_LIST_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="1" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="METHOD_ANNOTATION_WRAP" value="0" />
<option name="CLASS_ANNOTATION_WRAP" value="0" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<indentOptions>
<option name="USE_TAB_CHARACTER" value="true" />
<option name="KEEP_INDENTS_ON_EMPTY_LINES" value="true" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -0,0 +1,221 @@
<mxfile host="app.diagrams.net" modified="2022-02-06T23:07:56.707Z" agent="5.0 (Windows)" etag="McdhDnDn_b3JSW_6sAfD" version="16.5.3" type="gitlab">
<diagram id="xLs7mM1S-vncSruOQYJG" name="Page-1">
<mxGraphModel dx="2854" dy="971" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<object label="Background" id="1">
<mxCell parent="0" />
</object>
<mxCell id="bW8zysbPbXfA33rAzGtO-46" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFE9CC;strokeColor=#d79b00;shadow=0;" vertex="1" parent="1">
<mxGeometry x="400" y="300" width="720" height="320" as="geometry" />
</mxCell>
<mxCell id="ZgqzLkNpqH_WLmXpxmUH-3" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFE9CC;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="30" y="10" width="1090" height="290" as="geometry" />
</mxCell>
<mxCell id="lUieYn43trCVNQSoQYE8-16" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#CBF2CB;strokeColor=#06962D;gradientColor=none;" parent="1" vertex="1">
<mxGeometry x="-680" y="70" width="200" height="220" as="geometry" />
</mxCell>
<mxCell id="lUieYn43trCVNQSoQYE8-18" value="Minecraft &lt;br&gt;Version Specific" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#CBF2CB;strokeColor=#06962D;gradientColor=none;" parent="1" vertex="1">
<mxGeometry x="-680" y="10" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="gNZkowd1tYjNP-PxMyY5-1" value="Minecraft" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#A5E8A5;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-650" y="205" width="140" height="50" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=3;" parent="1" source="lUieYn43trCVNQSoQYE8-14" target="XNAtI1EKQKx7pIlif8ke-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="lUieYn43trCVNQSoQYE8-14" value="Mod API&lt;br&gt;(Forge or Fabric)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#A5E8A5;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="-650" y="90" width="140" height="60" as="geometry" />
</mxCell>
<mxCell id="ZgqzLkNpqH_WLmXpxmUH-2" value="Distant Horizons Core&lt;br&gt;(Version Independent)" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFE9CC;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="450" y="10" width="220" height="60" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-1" target="XNAtI1EKQKx7pIlif8ke-11" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="10" y="120" />
<mxPoint x="10" y="176" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#FFFFFF;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-11" target="bW8zysbPbXfA33rAzGtO-39" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="134" y="90" />
<mxPoint x="1000" y="90" />
</Array>
<mxPoint x="997.5" y="165.0000000000001" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-1" value="Wrappers&lt;br&gt;Or&lt;br&gt;&lt;div&gt;DH-Object&lt;/div&gt;" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#FFD7B0;strokeColor=#d79b00;rounded=0;labelBackgroundColor=none;" parent="1" vertex="1">
<mxGeometry x="-170" y="80" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-3" target="XNAtI1EKQKx7pIlif8ke-21" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-3" value="Mixins" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#A5E8A5;strokeColor=#82b366;rounded=0;labelBackgroundColor=none;" parent="1" vertex="1">
<mxGeometry x="-470" y="190" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-4" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="gNZkowd1tYjNP-PxMyY5-1" target="XNAtI1EKQKx7pIlif8ke-3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-420" y="130" as="sourcePoint" />
<mxPoint x="-220" y="-25" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-5" target="XNAtI1EKQKx7pIlif8ke-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-5" value="Wrappers&lt;br&gt;Or&lt;br&gt;&lt;div&gt;DH-Object&lt;/div&gt;" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#FFD7B0;strokeColor=#d79b00;rounded=0;labelBackgroundColor=none;" parent="1" vertex="1">
<mxGeometry x="-170" y="190" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontColor=#FFFFFF;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-11" target="XNAtI1EKQKx7pIlif8ke-33" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-63" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontColor=#FFFFFF;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-11" target="lUieYn43trCVNQSoQYE8-19" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-11" value="core.api" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="60" y="165" width="147.5" height="45" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-21" target="XNAtI1EKQKx7pIlif8ke-5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-21" value="" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#C7C7C7;strokeColor=#666666;fontColor=#333333;rounded=0;labelBackgroundColor=none;" parent="1" vertex="1">
<mxGeometry x="-320" y="175" width="120" height="85" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-22" target="XNAtI1EKQKx7pIlif8ke-1" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-22" value="" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#C7C7C7;strokeColor=#666666;fontColor=#333333;rounded=0;labelBackgroundColor=none;" parent="1" vertex="1">
<mxGeometry x="-320" y="90" width="120" height="85" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-28" value="&lt;div&gt;Wrapper&lt;/div&gt;&lt;div&gt;Factory&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;fontColor=default;" parent="1" vertex="1">
<mxGeometry x="-290" y="110" width="60" height="130" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" edge="1" parent="1" source="XNAtI1EKQKx7pIlif8ke-31" target="bW8zysbPbXfA33rAzGtO-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-31" value="GPU Buffer building" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="710" y="165" width="130" height="45" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;fontColor=#FFFFFF;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-33" target="XNAtI1EKQKx7pIlif8ke-54" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-33" value="Lod Building" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="290" y="165" width="120" height="45" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-52" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="460" y="110" width="200" height="175" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-25" value="" style="group" vertex="1" connectable="0" parent="XNAtI1EKQKx7pIlif8ke-52">
<mxGeometry width="200" height="175" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-53" value="LOD Storage" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="bW8zysbPbXfA33rAzGtO-25" vertex="1">
<mxGeometry width="200" height="45" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-54" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFF4E8;strokeColor=#d79b00;" parent="bW8zysbPbXfA33rAzGtO-25" vertex="1">
<mxGeometry y="45" width="200" height="130" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-55" value="Memory Storage" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" parent="bW8zysbPbXfA33rAzGtO-25" vertex="1">
<mxGeometry x="10" y="115" width="180" height="45" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-56" value="&lt;div&gt;File Storage&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" parent="bW8zysbPbXfA33rAzGtO-25" vertex="1">
<mxGeometry x="10" y="60" width="180" height="45" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-61" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="130" y="310" width="220" height="200" as="geometry" />
</mxCell>
<mxCell id="lUieYn43trCVNQSoQYE8-13" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#C7C7C7;strokeColor=#666666;fontColor=#333333;" parent="XNAtI1EKQKx7pIlif8ke-61" vertex="1">
<mxGeometry y="70" width="220" height="130" as="geometry" />
</mxCell>
<mxCell id="lUieYn43trCVNQSoQYE8-19" value="Distant Horizons&lt;br&gt;(Version dependent)" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#C7C7C7;strokeColor=#666666;fontColor=#333333;" parent="XNAtI1EKQKx7pIlif8ke-61" vertex="1">
<mxGeometry width="220" height="70" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-19" value="Chunk Generation" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#EBEBEB;strokeColor=#666666;fontColor=#333333;" parent="XNAtI1EKQKx7pIlif8ke-61" vertex="1">
<mxGeometry x="12.5" y="80" width="195" height="45" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-29" value="&lt;div&gt;Chunk loading from file&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#EBEBEB;strokeColor=#666666;fontColor=#333333;" parent="XNAtI1EKQKx7pIlif8ke-61" vertex="1">
<mxGeometry x="12.5" y="140" width="195" height="45" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fontColor=#FFFFFF;strokeWidth=3;" parent="1" source="lUieYn43trCVNQSoQYE8-19" target="XNAtI1EKQKx7pIlif8ke-33" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="XNAtI1EKQKx7pIlif8ke-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontColor=#FFFFFF;strokeWidth=3;" parent="1" source="XNAtI1EKQKx7pIlif8ke-54" target="XNAtI1EKQKx7pIlif8ke-31" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-23" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="455" y="324" width="210" height="270" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-16" value="Memory Storage" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-23">
<mxGeometry width="210" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-17" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFF4E8;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-23">
<mxGeometry y="45" width="210" height="225" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-18" value="dimension" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-23">
<mxGeometry x="10.5" y="110" width="189" height="40" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-19" value="World" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-23">
<mxGeometry x="10.5" y="60" width="189" height="40" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-21" value="Region" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-23">
<mxGeometry x="10.5" y="160" width="189" height="40" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-22" value="Level Container&lt;br&gt;(Long primitive)" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-23">
<mxGeometry x="10.5" y="210" width="189" height="40" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-26" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="680" y="419" width="200" height="175" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-27" value="Config System" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-26">
<mxGeometry width="200" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-28" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFF4E8;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-26">
<mxGeometry y="45" width="200" height="130" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-29" value="Config GUI" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-26">
<mxGeometry x="10" y="115" width="180" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-30" value="Config File" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-26">
<mxGeometry x="10" y="60" width="180" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-38" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="900" y="165" width="200" height="175" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-39" value="Rendering" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-38">
<mxGeometry width="200" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-40" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFF4E8;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-38">
<mxGeometry y="45" width="200" height="130" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-41" value="Cloud Rendering" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-38">
<mxGeometry x="10" y="115" width="180" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-42" value="LOD Rendering" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-38">
<mxGeometry x="10" y="60" width="180" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-47" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="900" y="419" width="200" height="175" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-32" value="Mod Support" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-47">
<mxGeometry width="200" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-33" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFF4E8;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-47">
<mxGeometry y="45" width="200" height="130" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-34" value="Mod API" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-47">
<mxGeometry x="10" y="115" width="180" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-35" value="&lt;div&gt;Mod Accessors&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillColor=#FFD7B0;strokeColor=#d79b00;" vertex="1" parent="bW8zysbPbXfA33rAzGtO-47">
<mxGeometry x="10" y="60" width="180" height="45" as="geometry" />
</mxCell>
<mxCell id="bW8zysbPbXfA33rAzGtO-20" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="XNAtI1EKQKx7pIlif8ke-55" target="bW8zysbPbXfA33rAzGtO-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="-36" as="sourcePoint" />
<mxPoint x="360" y="-86" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2022-01-04T16:15:44.618Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62" etag="-Vdo5wDmcYQvA_9MRiBE" version="16.0.0" type="google"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">7V1db5s6GP41kbaLTHxDLpt063aWHfWs2zrtzgtOwhnBOcZpm/36Y2M7CRg60mGoNEuVGt44Bvw876eNGbmzzcMVBtv1BxTDdORY8cPIvRw5jmPZDv3HJHsuCQIhWOEk5iL7KLhJfkIhtIR0l8QwLzUkCKUk2ZaFC5RlcEFKMoAxui83W6K0fNYtWEFFcLMAqSq9TWKy5tLICY/ytzBZreWZ7WDCv9kA2VjcSb4GMbo/EbmvR+4MI0T4p83DDKZs8OS43L7b36bzH8HVX//k/4HP0/ef/v4y5p29Oecnh1vAMCNP7prcfA4vxsv3wY+3YTb+mb27Dq/GchhyspcDBmM6fuIQYbJGK5SB9PVROsVol8WQdWvRo2ObOUJbKrSp8F9IyF6QAewIoqI12aTi25xg9APOUIowlcRwCXYpvbEpzOILBjkVZiiDXPImSVNxKn6t7AIr2P5iYES7HO3wAj4yGq4vCArwCpLHGk4O+FPFgWgDCd7TH2KYApLclS8PCAavDu0OP71GCb1wxxLa5kqqCV1z/KjcBb8D8atTrNWOXlmu51Ga+1HgWGGp28NpZLf8fpVu6YeTuzuKCmKdQTJpCvol2eBkmrQkk+f2QiYvsp5MplJHftAzffw/kT6cFS3oE9i90Cd0PB22KLLakYliAfYnzbasQa6DbtIJ3IF0JwZvjuJbhGngUeVhfp9sUlCwY4kyIinJ+APSZJXRzwtKB0jd3PQOYpLQuORCfEEYEaeLdZLGc7BHO4ZxTsDihzyarhFOftJuwdFvAkwEY52g1OKG/VJQE8OctrmWTLQrog/godRwDnIiBAuUpmCbJ98Pt7GhcCTZFBGCNiXms9uBD0/gvspUGWt6Fe8nqXF/jNtsaXvWJzFbFDSTu8SOs6kQKFQYOVMWhSaQhaEXTD/3W6jwgo4MUeIcYUaW1IZURJIrKVySRqbkW7BIstW8aHPpHSUfxUgwEaK/XaaF1VoncQyzwhQSQACHlOEnVIdeqD+lf3RAZ9Yrf+TTC5/RY/t4TP9Yc0xmKKP3ApICXUj5cg8ZZ9pR4REtU7kgsQ/aQe9ogz6sgb6CcpoU6HGUZXJhPwniDQWr8FsC00+FlxrbCu6uirtbg3EKvsP0GuUJSRDrH/O2FewHg9d3Wmq2LnSjBsWm3a9R/IIp9Uuj3/oIELQ07fr0e1Ln5S+TDcxypjLG0/fo6d22dLBlNapzPniqRRjzqtQyWeXcFMzhHUzzWSEyJuF8k9BQNHkuLt92nRoOzJzRhZUy5GdM/ajLxydsOMoMHzrmQ9sYQRsfPNuEgPrgDaNhQ0BPVXYTAvZJgGhoex+5CqjPoK7YNDcyei71Rr+TcnVzPa++iuhblXKkVZnt+kX7wPcqhOFX0GnpUI7haVLxeJRg0ooO04qD+ThEEGpacShrl0yMdAbdexmvNq0o4skbuGCuWSQXH9AdM+BXOInnCR1PJyjUfn7SkspWhSngjtt4pHM9UtNMW3MGUk8XbRGnOvVgIs7O4K1JKGrh1RZxNs0m7LYxIHBOg84YUj+RFjpPFWKL8q/83zcRid4hegaj9x0To6b61K/eR6qX4MygkZjhxCCcqMlO+uWEbzVyIvuEoUlIO4f8UFweDvOmmsRiRwzmWjB31TJUv5jbVlNYkEPyEWYxxHTs36Rglb8wFl8nFQJvaCrYdYsOBBWuYAYxYJG14YJ+LkyGDgn9usmHggrgDl4mmOwPRQEDfsdlAHvw2K+mjohYkRi+BRlN2fGIndq1j8U0U1LUU1L0K6tgA9tuxw1taxL9unDB1Ija6n7T7MWZJUBdNSJfXZbEzX6KQGwsvibU3aEjv6Ap2Wfe3sCuCfbB636BGuSV53uMa+9vtjDyWtLBtxxdfFDrP2y28GTYCzBY3icfjzEG4RyD0PSs1HOZAAxVgzAWt8qgMfBrhb/tBKE+f6DmfeOi+lO4g2s29WPQ14V+zYLEntFXY/8y+t8M+trQt62hc4Cw3vkL+C9PZoELFnzfEzMf1D0N3KFzglBNBRkNtqJkckmHlBMgp2EhMUvBNPHAHzwUVNeCnYaCRx6wQTEs0MOCaOiIMKxfP7pgyBkK9JESWkOHhWF9UpCyUxsK9EGB4cvDdesDzZxPZ1WfljGfrkmfqGmuny8MrqwA5cHg18Onb/wTVTSIT6vHL40l6J4pQzuDoO4JAbFS+PokRXhh0O8e/cngfqBpqSBF/8tJYmDQ7x59t/XDZNrQb1odSNGfyYTAQK8Bem/wYkDTfkUU+rlMBAz0GqCXVdnhng1qXBpiPL529CdDx3th03qw3Hh83eh7ztDxXvjI8wDG4+uE3h882Gvy+Lnx+HqhD4cO9iaBguofvC+NXEjf05785+5L41U3LRY5etO+NNX2bmhVCKNhX5pIrRs8upehWWd6PpVbP0JyeDPKrwyMvs0uIzWuYFNKG/AgY8rySkMxsdT8zJHxOr/yOlwFn+/K00n9cgO+8WWCFyn8COIE7XLDiv5YMfiC1Kgu/TQTjx3B23bFqa55x0lTesnnHc1Gx3pgH3xrGds2GcapGkQtMwxNL2ryJuUA0ZfHT34lTv15qlti+uIdF2230JTvfdKaqkzUusccxdMdTSfM9pn9Jiqtt890K2+G6nBvHLMF9+84Iq5Mv5106Io/bEsNQKiy802PjLbr1faxUzHvrRc46FN3WRkx6v4kdRf69Hz1XTLHxJ18OKy+As/fhE1Vy+luuYTYhGVDGOogGtxQuyYu+y1DzTVqAENND48vLOc52/G17+7r/wE=</diagram></mxfile>
+44
View File
@@ -0,0 +1,44 @@
# Distant Horizons brand guidelines
To keep our look consistent and recognizable, weve created some simple guidelines for using our logos. We have a Primary logo, Core and API logos. Keep them cool 😎
## Logos
Please do not edit, change, distort, recolour, or reconfigure our logos.
| ![Distant Horizons primary logo](./PNG/Distant-Horizons.png) | ![Distant Horizons Core logo](./PNG/Distant-Horizons-Core.png) | ![Distant Horizons API logo](./PNG/Distant-Horizons-API.png) |
|--|--|--|
|Primary &nbsp; &nbsp; &nbsp; &nbsp; [.png](/PNG/Distant-Horizons.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-Logo.svg)| Core &nbsp; &nbsp; &nbsp; &nbsp; [.png](/PNG/Distant-Horizons-Core.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-Core.svg) | API &nbsp; &nbsp; &nbsp; &nbsp; [.png](./PNG/Distant-Horizons-API.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-API.svg) |
## Marks
Use these only when the Distant Horizons brand is clearly visible or has been well established elsewhere on the page or in the design. (When in doubt, use the other ones.)
> *Keep in mind the Distant Horizons API mark needs to be optically centered to align.*
<!-- | ![Distant Horizons primary mark](./PNG/Distant-Horizons-Mark.png) | ![Distant Horizons Core mark](./PNG/Distant-Horizons-Core-Mark.png) | ![Distant Horizons API mark](./PNG/Distant-Horizons-API-Mark.png) |
|--|--|--|
|Primary &nbsp; &nbsp; &nbsp; &nbsp; [.png](/PNG/Distant-Horizons-Mark.png.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-Mark.svg.svg)| Core &nbsp; &nbsp; &nbsp; &nbsp; [.png](/PNG/Distant-Horizons-Core-Mark.png.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-Core-Mark.svg.svg) | API &nbsp; &nbsp; &nbsp; &nbsp; [.png](./PNG/Distant-Horizons-API-Mark.png.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-API-Mark.svg.svg) | -->
| <img src="./PNG/Distant-Horizons-Mark.png" width="100"/> | <img src="./PNG/Distant-Horizons-Core-Mark.png" width="100"/> | <img src="./PNG/Distant-Horizons-API-Mark.png" width="100"/> |
|--|--|--|
|Primary &nbsp; &nbsp; &nbsp; &nbsp; [.png](/PNG/Distant-Horizons-Mark.png.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-Mark.svg.svg)| Core &nbsp; &nbsp; &nbsp; &nbsp; [.png](/PNG/Distant-Horizons-Core-Mark.png.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-Core-Mark.svg.svg) | API &nbsp; &nbsp; &nbsp; &nbsp; [.png](./PNG/Distant-Horizons-API-Mark.png.png) &nbsp; &nbsp; &nbsp; &nbsp; [.svg](./SVG/Distant-Horizons-API-Mark.svg.svg) |
## Spacing
Every logo needs room to breathe.
Ours needs the free space of the height and width of the letter **"H"** in Distant **H**orizons.
> *Some leeway is allowed for the Distant Horizons API mark due to it's shape.*
| ![Distant Horizons logo spacing](./Guidelines_images//Distant-Horizons-Logo-Spacing2.png) | ![Distant Horizons mark spacing](./Guidelines_images//Distant-Horizons-Mark-Spacing2.png) |
|--|--|
___
The logotype we are using in our logos is a modified [Karmatic Arcade font by Vic Fieger](https://www.dafont.com/karmatic-arcade.font?fpp=100&psize=s)
This branding guideline was influenced by [Discord's own](https://discord.com/branding)
Distant Horizons logos © 2024 by Pankakes are licensed under CC BY-SA 4.0
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 306.5 359.13"><defs><style>.cls-1{fill:#7ec138;}.cls-2{fill:#12af68;}.cls-3{fill:#fff;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Logo_RGB_White" data-name="Logo RGB White"><path id="Outline" d="M175.21,356.1l123.72-71.92A15.22,15.22,0,0,0,306.5,271V126.5a22.32,22.32,0,0,0-11.1-19.29L173.18,36.13a18.26,18.26,0,0,0-18.36,0L32.59,107.21A22.31,22.31,0,0,0,21.5,126.5V271a15.22,15.22,0,0,0,7.56,13.15L152.78,356.1A22.29,22.29,0,0,0,175.21,356.1Z"/><g id="Right_Path_" data-name="Right &lt;Path&gt;"><path class="cls-1" d="M224.5,254.1v51.61a8,8,0,0,1-4,6.92l-44,25.4a4,4,0,0,1-6-3.46V283a8,8,0,0,1,4-6.92l44-25.41A4,4,0,0,1,224.5,254.1Z"/></g><g id="_Path_" data-name="&lt;Path&gt;"><path class="cls-2" d="M113.82,173.07l-11-6.36a4,4,0,0,0-6,3.46v51.72a8,8,0,0,0,4,6.92l11,6.35a4,4,0,0,0,6-3.46V180A8,8,0,0,0,113.82,173.07Z"/></g><g id="_Path_2" data-name="&lt;Path&gt;"><path class="cls-2" d="M129.26,150.11l11.19-6.46a4,4,0,0,0,0-6.93l-11.19-6.46a8,8,0,0,0-8,0l-11.2,6.46a4,4,0,0,0,0,6.93l11.2,6.46A8,8,0,0,0,129.26,150.11Z"/></g><g id="Right_Path_2" data-name="Right &lt;Path&gt;"><path class="cls-2" d="M170.5,244v12.74a4,4,0,0,0,6,3.46l44-25.4a8,8,0,0,0,4-6.92V215.15a4,4,0,0,0-6-3.46l-44,25.4A8,8,0,0,0,170.5,244Z"/></g><g id="Right_Path_3" data-name="Right &lt;Path&gt;"><path class="cls-1" d="M243.5,299.35l45-26a8,8,0,0,0,4-6.92V136.92a4,4,0,0,0-6-3.46l-45,26a8,8,0,0,0-4,6.92V295.89A4,4,0,0,0,243.5,299.35Z"/></g><g id="Left_Path_" data-name="Left &lt;Path&gt;"><path class="cls-2" d="M157.5,244v12.74a4,4,0,0,1-6,3.46l-11-6.35a8,8,0,0,1-4-6.92V234.2a4,4,0,0,1,6-3.46l11,6.35A8,8,0,0,1,157.5,244Z"/></g><g id="Left_Path_2" data-name="Left &lt;Path&gt;"><path class="cls-1" d="M153.5,276.08l-112-64.66a4,4,0,0,0-6,3.46v51.57a8,8,0,0,0,4,6.92L151.5,338a4,4,0,0,0,6-3.46V283A8,8,0,0,0,153.5,276.08Z"/></g><g id="_Path_3" data-name="&lt;Path&gt;"><path class="cls-3" d="M157.5,205v12.74a4,4,0,0,1-6,3.46l-11-6.36a8,8,0,0,1-4-6.92V195.23a4,4,0,0,1,6-3.46l11,6.35A8,8,0,0,1,157.5,205Z"/></g><path d="M91.15,171.19V235a16,16,0,0,1-24,13.85L11.59,216.81A23.27,23.27,0,0,1,0,196.73V132.89A16,16,0,0,1,24,119l55.56,32.07A23.24,23.24,0,0,1,91.15,171.19Z"/><g id="_Path_4" data-name="&lt;Path&gt;"><path class="cls-1" d="M14,138.09v58.64a9.17,9.17,0,0,0,4.6,8l51.05,29.48a5,5,0,0,0,7.5-4.33V171.19a9.18,9.18,0,0,0-4.59-8L21.5,133.76A5,5,0,0,0,14,138.09Z"/></g><g id="_Path_5" data-name="&lt;Path&gt;"><path class="cls-3" d="M170.5,217.78V205.05a8,8,0,0,1,4-6.93l11-6.35a4,4,0,0,1,6,3.46V208a8,8,0,0,1-4,6.93l-11,6.35A4,4,0,0,1,170.5,217.78Z"/></g><g id="_Path_6" data-name="&lt;Path&gt;"><path class="cls-2" d="M209.5,202.19l11-6.36a8,8,0,0,0,4-6.92V176.18a4,4,0,0,0-6-3.47l-11,6.36a8,8,0,0,0-4,6.93v12.72A4,4,0,0,0,209.5,202.19Z"/></g><path d="M300.65,84.93a15.94,15.94,0,0,1-7.92,13.73L245.5,125.91a20,20,0,0,1-20.06,0L164,90.44l-61.45,35.48a20.11,20.11,0,0,1-20.06,0L35.27,98.66a15.84,15.84,0,0,1,0-27.44L154,2.69a20,20,0,0,1,20.06,0l118.7,68.53A15.89,15.89,0,0,1,300.65,84.93Z"/><g id="_Path_7" data-name="&lt;Path&gt;"><path class="cls-2" d="M169,117.4l-11,6.34a4,4,0,0,0,0,6.93l44.93,26a8,8,0,0,0,8,0l11-6.35a4,4,0,0,0,0-6.93L177,117.4A8,8,0,0,0,169,117.4Z"/></g><g id="_Path_8" data-name="&lt;Path&gt;"><path class="cls-3" d="M168,187.21l11.19-6.46a4,4,0,0,0,0-6.93L168,167.36a8,8,0,0,0-8,0l-11.2,6.46a4,4,0,0,0,0,6.93l11.2,6.46A8,8,0,0,0,168,187.21Z"/></g><g id="_Path_9" data-name="&lt;Path&gt;"><path class="cls-1" d="M280.42,87.31l-44.73,25.82a8,8,0,0,1-8,0L168,78.66a8,8,0,0,0-8,0l-59.7,34.47a8,8,0,0,1-8,0L47.58,87.31a4,4,0,0,1,0-6.93L160,15.47a8,8,0,0,1,8,0L280.42,80.38A4,4,0,0,1,280.42,87.31Z"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 285 325.47"><defs><style>.cls-1{fill:#e13e1e;}.cls-2{fill:#f7a612;}.cls-3{fill:#fff;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Logo_RGB_White" data-name="Logo RGB White"><path id="Outline" d="M153.72,322.45l123.71-71.93A15.22,15.22,0,0,0,285,237.36V92.84a22.32,22.32,0,0,0-11.1-19.29L151.68,2.47a18.31,18.31,0,0,0-18.36,0L11.1,73.55A22.32,22.32,0,0,0,0,92.84V237.35A15.2,15.2,0,0,0,7.57,250.5l123.71,71.94A22.31,22.31,0,0,0,153.72,322.45Z"/><g id="Right_Path_" data-name="Right &lt;Path&gt;"><path class="cls-1" d="M203,220.44v51.61a8,8,0,0,1-4,6.93l-44,25.39a4,4,0,0,1-6-3.46v-51.6a8,8,0,0,1,4-6.92L197,217A4,4,0,0,1,203,220.44Z"/></g><g id="Right_Path_2" data-name="Right &lt;Path&gt;"><path class="cls-2" d="M149,210.36v12.73a4,4,0,0,0,6,3.46l44-25.39a8,8,0,0,0,4-6.93V181.49a4,4,0,0,0-6-3.46l-44,25.4A8,8,0,0,0,149,210.36Z"/></g><g id="Right_Path_3" data-name="Right &lt;Path&gt;"><path class="cls-1" d="M222,265.69l45-26a8,8,0,0,0,4-6.93V103.26a4,4,0,0,0-6-3.46l-45,26a8,8,0,0,0-4,6.93V262.23A4,4,0,0,0,222,265.69Z"/></g><g id="Left_Path_" data-name="Left &lt;Path&gt;"><path class="cls-2" d="M136,210.36v12.73a4,4,0,0,1-6,3.46l-11-6.34a8,8,0,0,1-4-6.93V200.54a4,4,0,0,1,6-3.46l11,6.35A8,8,0,0,1,136,210.36Z"/></g><g id="Left_Path_2" data-name="Left &lt;Path&gt;"><path class="cls-1" d="M132,242.42,20,177.76a4,4,0,0,0-6,3.46v51.57a8,8,0,0,0,4,6.93l112,64.65a4,4,0,0,0,6-3.46V249.35A8,8,0,0,0,132,242.42Z"/></g><g id="_Path_" data-name="&lt;Path&gt;"><path class="cls-3" d="M136,171.39v12.73a4,4,0,0,1-6,3.46l-11-6.35a8,8,0,0,1-4-6.93V161.57a4,4,0,0,1,6-3.46l11,6.35A8,8,0,0,1,136,171.39Z"/></g><g id="_Path_2" data-name="&lt;Path&gt;"><path class="cls-2" d="M99,145.41l-11-6.35a4,4,0,0,0-6,3.46v51.71a8,8,0,0,0,4,6.93l11,6.34a4,4,0,0,0,6-3.46v-51.7A8,8,0,0,0,99,145.41Z"/></g><g id="_Path_3" data-name="&lt;Path&gt;"><path class="cls-1" d="M14.33,103.26V155a8,8,0,0,0,4,6.93l45,26a4,4,0,0,0,6-3.46v-51.7a8,8,0,0,0-4-6.93l-45-26A4,4,0,0,0,14.33,103.26Z"/></g><g id="_Path_4" data-name="&lt;Path&gt;"><path class="cls-3" d="M149,184.12V171.39a8,8,0,0,1,4-6.93l11-6.35a4,4,0,0,1,6,3.46V174.3a8,8,0,0,1-4,6.93l-11,6.35A4,4,0,0,1,149,184.12Z"/></g><g id="_Path_5" data-name="&lt;Path&gt;"><path class="cls-2" d="M188,168.53l11-6.35a8,8,0,0,0,4-6.93V142.52a4,4,0,0,0-6-3.47l-11,6.36a8,8,0,0,0-4,6.93v12.72A4,4,0,0,0,188,168.53Z"/></g><g id="_Path_6" data-name="&lt;Path&gt;"><path class="cls-1" d="M258.92,88.65l-44.73,25.82a8,8,0,0,1-8,0L146.5,80a8,8,0,0,0-8,0L78.8,114.47a8,8,0,0,1-8,0L26.08,88.65a4,4,0,0,1,0-6.93L138.5,16.82a8,8,0,0,1,8,0l112.42,64.9A4,4,0,0,1,258.92,88.65Z"/></g><g id="_Path_7" data-name="&lt;Path&gt;"><path class="cls-2" d="M138.5,94.74l-11,6.35a4,4,0,0,0,0,6.92l44.94,26a8,8,0,0,0,8,0l11-6.35a4,4,0,0,0,0-6.93L146.5,94.74A8,8,0,0,0,138.5,94.74Z"/></g><g id="_Path_8" data-name="&lt;Path&gt;"><path class="cls-2" d="M112.76,134.08,124,127.61a4,4,0,0,0,0-6.93l-11.19-6.46a8,8,0,0,0-8,0l-11.2,6.46a4,4,0,0,0,0,6.93l11.2,6.47A8,8,0,0,0,112.76,134.08Z"/></g><g id="_Path_9" data-name="&lt;Path&gt;"><path class="cls-3" d="M146.5,153.56l11.19-6.47a4,4,0,0,0,0-6.93L146.5,133.7a8,8,0,0,0-8,0l-11.19,6.46a4,4,0,0,0,0,6.93l11.19,6.47A8,8,0,0,0,146.5,153.56Z"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.2 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 285 325.47"><defs><style>.cls-1{fill:#38c138;}.cls-2{fill:#f6d182;}.cls-3{fill:#fff;}.cls-4{fill:#00a9f4;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Logo_RGB_White" data-name="Logo RGB White"><path id="Outline" d="M153.72,322.45l123.71-71.93A15.22,15.22,0,0,0,285,237.36V92.84a22.32,22.32,0,0,0-11.1-19.29L151.68,2.47a18.31,18.31,0,0,0-18.36,0L11.1,73.55A22.32,22.32,0,0,0,0,92.84V237.35A15.2,15.2,0,0,0,7.57,250.5l123.71,71.94A22.31,22.31,0,0,0,153.72,322.45Z"/><path id="Green" class="cls-1" d="M203,220.44v51.61a8,8,0,0,1-4,6.93l-44,25.39a4,4,0,0,1-6-3.46v-51.6a8,8,0,0,1,4-6.92L197,217A4,4,0,0,1,203,220.44Zm-54-10.08v12.73a4,4,0,0,0,6,3.46l44-25.39a8,8,0,0,0,4-6.93V181.49a4,4,0,0,0-6-3.46l-44,25.4A8,8,0,0,0,149,210.36Zm73,55.33,45-26a8,8,0,0,0,4-6.93V103.26a4,4,0,0,0-6-3.46l-45,26a8,8,0,0,0-4,6.93V262.23A4,4,0,0,0,222,265.69Z"/><path id="Yellow" class="cls-2" d="M136,210.36v12.73a4,4,0,0,1-6,3.46l-11-6.34a8,8,0,0,1-4-6.93V200.54a4,4,0,0,1,6-3.46l11,6.35A8,8,0,0,1,136,210.36Zm-4,32.06L20,177.76a4,4,0,0,0-6,3.46v51.57a8,8,0,0,0,4,6.93l112,64.65a4,4,0,0,0,6-3.46V249.35A8,8,0,0,0,132,242.42Z"/><g id="_Path_" data-name="&lt;Path&gt;"><path class="cls-3" d="M136,171.39v12.73a4,4,0,0,1-6,3.46l-11-6.35a8,8,0,0,1-4-6.93V161.57a4,4,0,0,1,6-3.46l11,6.35A8,8,0,0,1,136,171.39Z"/></g><g id="_Path_2" data-name="&lt;Path&gt;"><path class="cls-4" d="M99,145.41l-11-6.35a4,4,0,0,0-6,3.46v51.71a8,8,0,0,0,4,6.93l11,6.34a4,4,0,0,0,6-3.46v-51.7A8,8,0,0,0,99,145.41Z"/></g><g id="_Path_3" data-name="&lt;Path&gt;"><path class="cls-4" d="M14,103.26V155a8,8,0,0,0,4,6.93l45,26a4,4,0,0,0,6-3.46v-51.7a8,8,0,0,0-4-6.93l-45-26A4,4,0,0,0,14,103.26Z"/></g><g id="_Path_4" data-name="&lt;Path&gt;"><path class="cls-3" d="M149,184.12V171.39a8,8,0,0,1,4-6.93l11-6.35a4,4,0,0,1,6,3.46V174.3a8,8,0,0,1-4,6.93l-11,6.35A4,4,0,0,1,149,184.12Z"/></g><g id="_Path_5" data-name="&lt;Path&gt;"><path class="cls-4" d="M188,168.53l11-6.35a8,8,0,0,0,4-6.93V142.52a4,4,0,0,0-6-3.47l-11,6.36a8,8,0,0,0-4,6.93v12.72A4,4,0,0,0,188,168.53Z"/></g><g id="_Path_6" data-name="&lt;Path&gt;"><path class="cls-4" d="M258.92,88.65l-44.73,25.82a8,8,0,0,1-8,0L146.5,80a8,8,0,0,0-8,0L78.8,114.47a8,8,0,0,1-8,0L26.08,88.65a4,4,0,0,1,0-6.93L138.5,16.82a8,8,0,0,1,8,0l112.42,64.9A4,4,0,0,1,258.92,88.65Z"/></g><g id="_Path_7" data-name="&lt;Path&gt;"><path class="cls-4" d="M138.5,94.74l-11,6.35a4,4,0,0,0,0,6.92l44.94,26a8,8,0,0,0,8,0l11-6.35a4,4,0,0,0,0-6.93L146.5,94.74A8,8,0,0,0,138.5,94.74Z"/></g><g id="_Path_8" data-name="&lt;Path&gt;"><path class="cls-4" d="M112.76,134.08,124,127.61a4,4,0,0,0,0-6.93l-11.19-6.46a8,8,0,0,0-8,0l-11.2,6.46a4,4,0,0,0,0,6.93l11.2,6.47A8,8,0,0,0,112.76,134.08Z"/></g><g id="_Path_9" data-name="&lt;Path&gt;"><path class="cls-3" d="M146.5,153.56l11.19-6.47a4,4,0,0,0,0-6.93L146.5,133.7a8,8,0,0,0-8,0l-11.19,6.46a4,4,0,0,0,0,6.93l11.19,6.47A8,8,0,0,0,146.5,153.56Z"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

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

+64
View File
@@ -0,0 +1,64 @@
<?xml version="1.0" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" width="2040" height="2040">
<!-- Distant Horizons logo in svg format -->
<!-- Converted svg made by coolGi -->
<!-- Made by hand so there may be inaccuracies -->
<!--
Colors used
Blue: "fill:#465AA8"
Green: "fill:#5C7E3C"
Wierd green: "fill:#DCD7AA"
-->
<!-- Big Blue -->
<polygon points="1018.5,15 1434,255 1018.5,486 603,255" style="fill:#465AA8" />
<polygon points="1460,270 1875.5,509.5 1460,750 1045,509" style="fill:#465AA8" />
<polygon points="1889,531.5 1889,1012 1473,1252 1473,772" style="fill:#465AA8" />
<!-- Big Green -->
<polygon points="577,269 992,510 577,750 162,509.5" style="fill:#5C7E3C" />
<polygon points="149,532 564,772 564,1252 149,1012" style="fill:#5C7E3C" />
<polygon points="1889,1041 1889,1522 1474,1762 1473,1281" style="fill:#5C7E3C" />
<!-- Big Wierd Green -->
<polygon points="149,1042 564,1282 564,1762 149,1522" style="fill:#DCD7AA" />
<polygon points="590,1297 1006,1537 1006,2017 590,1777" style="fill:#DCD7AA" />
<polygon points="1031,1537 1447,1297 1447,1777 1031,2017" style="fill:#DCD7AA" />
<!-- Mid Blue -->
<polygon points="1239.5,652 1434,764.5 1239.5,877 1045,764.5" style="fill:#465AA8" />
<polygon points="1447,787 1447,1012 1252,1125 1252,899" style="fill:#465AA8" />
<!-- Mid Green -->
<polygon points="1018.5,525 1214,637 1018.5,749 824,637" style="fill:#5C7E3C" />
<polygon points="798,652 992,764.5 798,877 603,764.5" style="fill:#5C7E3C" />
<polygon points="590,787 785,899 785,1125 590,1012" style="fill:#5C7E3C" />
<polygon points="1447,1042 1447,1267 1252,1380 1252,1154" style="fill:#5C7E3C" />
<polygon points="1226,1170 1226,1395 1031,1507 1031,1282" style="fill:#5C7E3C" />
<!-- Mid Wierd Green -->
<polygon points="590,1042 785,1154 785,1379 590,1267" style="fill:#DCD7AA" />
<polygon points="811,1169 1006,1282 1006,1507 811,1395" style="fill:#DCD7AA" />
<!-- Out Small Blue -->
<polygon points="1018.5,779.5 1103,828 1018.5,877 934,828" style="fill:#465AA8" />
<polygon points="1129,843 1214,892 1129,941 1044,892" style="fill:#465AA8" />
<polygon points="1226,914 1226,1012 1142,1061 1142,963" style="fill:#465AA8" />
<polygon points="1226,1042 1226,1140 1142,1188 1142,1090" style="fill:#465AA8" />
<polygon points="1116,1105 1116,1203 1031,1252 1031,1154" style="fill:#465AA8" />
<!-- Out Small Green -->
<polygon points="908,843 993,892 908,941 823,892" style="fill:#5C7E3C" />
<polygon points="811,914 895,963 895,1061 811,1012" style="fill:#5C7E3C" />
<polygon points="921,1105 1006,1154 1006,1252 921,1203" style="fill:#5C7E3C" />
<!-- Out Small Wierd Green -->
<polygon points="811,1042 895,1090 895,1188 811,1140" style="fill:#DCD7AA" />
<!-- In Small Blue -->
<polygon points="1116,978 1116,1076 1031,1125 1031,1027" style="fill:#465AA8" />
<!-- In Small Green -->
<polygon points="1018.5,907 1103,956 1018.5,1004 934,956" style="fill:#5C7E3C" />
<polygon points="921,978 1006,1027 1006,1125 921,1076" style="fill:#5C7E3C" />
</svg>

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

@@ -0,0 +1,4 @@
FROM anapsix/alpine-java
MAINTAINER Ran
COPY anotherquestion-1.0-SNAPSHOT.jar /home/anotherquestion-1.0-SNAPSHOT.jar
CMD ["java","-jar","/home/anotherquestion-1.0-SNAPSHOT.jar"]
@@ -0,0 +1,51 @@
The following is short tutorial to setup and register a gitlab runner in a docker container on windows.
Docker can be installed via an installer from their website and these instructions assume that has already been done.
longer tutorials can be found at the following links:
https://faun.pub/gitlab-runner-setup-run-in-docker-container-on-windows-44fee102d02e
https://datawookie.dev/blog/2021/03/install-gitlab-runner-with-docker/
1. install the gitlab runner
run the following command in powershell, changing the config file location if need be
Note: This will NOT work in git bash, only powershell
docker run -d --name gitlab-runner --restart always -v C:\DistantHorizonsWorkspace\Docker\config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
2. to make sure the docker container was set up correctly run:
docker container list
it will display the docker containers that have been created
3. start and register the runner
run the following command in powershell. change the <ITEM>'s to whatever they should be for the runner you are creating.
docker run --rm -t -i -v C:\gitlab-runner\config:/etc/gitlab-runner gitlab/gitlab-runner register --non-interactive --executor "docker" --docker-image alpine:latest --url "https://gitlab.com/" --registration-token "<TOKEN>" --description "<DESCRIPTION THAT SHOWS UP ON GITLAB>" --run-untagged="true" --locked="false"
4. done
at this point the runner should be up and running, to confirm this go to your:
gitlab project -> settings (on the left menu bar) -> CI/CD -> Runners
and you should see the newly registered runner (the description should show up under the runner's auto generated ID)
5. optional config
Open Docker Desktop -> Containers -> Files, go to the file "etc/gitlab-runner/config.toml"
concurrent can be changed to allow for concurrent builds.
Additional commands:
manual registering (shouldn't be needed)
docker exec -it gitlab-runner gitlab-runner register
list gitlab runner info
docker exec -it gitlab-runner gitlab-runner list
list all commands the runner can use
(replace "help" with whatever command you want to use)
docker exec -it gitlab-runner gitlab-runner help
+89
View File
@@ -0,0 +1,89 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
id "java"
id "com.github.johnrengelman.shadow" version '8.1.1' apply false
}
shadowJar {
// required for basic shadowJar setup
configurations = [project.configurations.shadow]
}
task addSourcesToCompiledJar(type: ShadowJar) {
def sourceJarPath = "build/libs/DistantHorizons-api-${rootProject.versionStr}-sources.jar"
def secondJarFile = file(sourceJarPath)
// doFirst is so these only run when the task is actually executed
doFirst {
System.out.println("Adding source files from: \n" +
"[" + sourceJarPath + "] to compiled API jar: \n" +
"[" + shadowJar.archivePath + "]")
// Validate the input JAR file
if (!secondJarFile.exists()) {
throw new GradleException("Second JAR file not found: [${secondJarFile}]")
}
}
// Set the name of the combined JAR file
archiveFileName.set("DistantHorizonsApi-${rootProject.api_version}.jar")
// Set the destination directory for the combined JAR file
destinationDirectory = file('build/libs/merged/')
// Set the input JAR files to be combined
from sourceSets.main.allJava
from {
configurations.shadow.collect { it.isDirectory() ? it : zipTree(it) }
}
// set the jars to merge
from shadowJar.archivePath
from secondJarFile
// alternative method to Include the source files in the combined JAR
// and/or see which files are being included
eachFile { file ->
// can be set to true for debugging
def useAlternateEmbedMethod = false
def showFileEmbedding = false
if (showFileEmbedding || useAlternateEmbedMethod) {
System.out.println("attempting to add file: " + file)
def relativePath = file.relativePath.pathString
if (relativePath.endsWith('.class')) {
System.out.println("class file: " + relativePath)
def sourceFile = file.file.parentFile.resolveSibling('src/main/java/' + relativePath.replace('.class', '.java'))
if (sourceFile.exists()) {
System.out.println("adding source file: " + sourceFile)
if (useAlternateEmbedMethod) {
file.withInputStream { inputStream ->
copy {
from(inputStream)
into(relativePath.replace('.class', '.java'))
}
}
}
} else {
System.out.println('missing source file: ' + sourceFile)
}
}
}
}
}
javadoc {
options {
// Don't log warnings.
// There are a lot of warnings related to missing @param and @return javadocs
// that aren't necessary and would clutter up said javadocs.
// For more info see: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html
addStringOption('Xdoclint:all,-missing', '-quiet')
}
}
@@ -0,0 +1,213 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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;
import com.seibel.distanthorizons.api.interfaces.events.IDhApiEventInjector;
import com.seibel.distanthorizons.api.interfaces.factories.IDhApiWrapperFactory;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGeneratorOverrideRegister;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiCustomRenderObjectFactory;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiAfterDhInitEvent;
import com.seibel.distanthorizons.api.methods.override.DhApiWorldGeneratorOverrideRegister;
import com.seibel.distanthorizons.coreapi.ModInfo;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfig;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiWorldProxy;
import com.seibel.distanthorizons.coreapi.DependencyInjection.ApiEventInjector;
import com.seibel.distanthorizons.coreapi.DependencyInjection.OverrideInjector;
import com.seibel.distanthorizons.api.interfaces.data.IDhApiTerrainDataRepo;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IOverrideInjector;
/**
* This is the masthead of the API, almost everything you could want to do
* can be achieved from here. <br>
* For example: you can access singletons which handle the config or event binding. <br><br>
*
* <strong>Q:</strong> Why should I use this class instead of just getting the API singleton I need? <br>
* <strong>A:</strong> This way there is a lower chance of your code breaking if we change something on our end.
* For example, if we realized there is a much better way of handling dependency injection we would keep the
* interface the same so your code doesn't have to change. Whereas if you were directly referencing
* the concrete object we replaced, there would be issues.
*
* @author James Seibel
* @version 2023-12-16
* @since API 1.0.0
*/
public class DhApi
{
/**
* If you can see this Java Doc, this can be ignored. <br>
* This is just to let you know that Javadocs are available and that you should use the API jar
* instead of the full mod jar. <br><br>
*
* Note: Don't use this string in your code. It may change and is only for reference.
*/
public static final String READ_ME =
"If you don't see Javadocs something is wrong. \n" +
"If you are only using the full DH Mod in your build script, you won't have access to our javadocs and could potentially call into unsafe code. \n" +
"\n" +
"Please use the API jar in your build script as a compile time dependency " +
"and the full DH jar as a runtime dependency. \n" +
"\n" +
"Please refer to the example API project or the DH Developer Wiki for additional information " +
"and suggested setup. \n" + // DH Dev note: no links were included to prevent link rot.
"";
public static String readMe() { return READ_ME; }
/**
* This is just a humorous way to reference the {@link DhApi#READ_ME} constant string and hopefully peak a few people's attention
* vs the relatively boring "readMe".
*/
public static final String HEY_YOU_YOURE_FINALLY_AWAKE = READ_ME;
/**
* This is just a humorous way to reference the {@link DhApi#READ_ME} constant string and hopefully peak a few people's attention
* vs the relatively boring "readMe".
*/
public static String heyYou_YoureFinallyAwake() { return READ_ME; }
/**
* <strong>WARNING:</strong>
* All objects in this class will be null until after DH initializes for the first time. <br><br>
*
* Bind a custom {@link DhApiAfterDhInitEvent DhApiAfterDhInitEvent}
* to {@link DhApi#events ApiCoreInjectors.events} in order to be notified when this class can
* be safely used.
*
* @since API 1.0.0
*/
public static class Delayed
{
/**
* Used to interact with Distant Horizons' Configs.
* @since API 1.0.0
*/
public static IDhApiConfig configs = null;
/**
* Used to interact with Distant Horizons' terrain data.
* Designed to be used in conjunction with {@link DhApi.Delayed#worldProxy}.
* @since API 1.0.0
*/
public static IDhApiTerrainDataRepo terrainRepo = null;
/**
* Used to interact with Distant Horizons' currently loaded world.
* Designed to be used in conjunction with {@link DhApi.Delayed#terrainRepo}.
* @since API 1.0.0
*/
public static IDhApiWorldProxy worldProxy = null;
/**
* Used to interact with Distant Horizons' rendering system.
* @since API 1.0.0
*/
public static IDhApiRenderProxy renderProxy = null;
/**
* Used to create wrappers for Minecraft objects needed by other Distant Horizons API methods.
* @since API 2.0.0
*/
public static IDhApiWrapperFactory wrapperFactory = null;
/**
* Used to create custom renderable objects. <br>
* These objects can be added to the renderer in {@link IDhApiLevelWrapper}
* @since API 3.0.0
*/
public static IDhApiCustomRenderObjectFactory customRenderObjectFactory = null;
}
//==================//
// always available //
//==================//
// interfaces //
/**
* Used to bind/unbind Distant Horizons Api events.
* @since API 1.0.0
*/
public static final IDhApiEventInjector events = ApiEventInjector.INSTANCE;
/**
* Used to bind/unbind Distant Horizons Api events.
* @since API 1.0.0
*/
public static final IDhApiWorldGeneratorOverrideRegister worldGenOverrides = DhApiWorldGeneratorOverrideRegister.INSTANCE;
/**
* Used to bind overrides to change Distant Horizons' core behavior.
* @since API 1.0.0
*/
public static final IOverrideInjector<IDhApiOverrideable> overrides = OverrideInjector.INSTANCE;
// getters //
/**
* This version should only be updated when breaking changes are introduced to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiMajorVersion() { return ModInfo.API_MAJOR_VERSION; }
/**
* This version should be updated whenever new methods are added to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiMinorVersion() { return ModInfo.API_MINOR_VERSION; }
/**
* This version should be updated whenever non-breaking fixes are added to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiPatchVersion() { return ModInfo.API_PATCH_VERSION; }
/**
* Returns the mod's semantic version number in the format: Major.Minor.Patch
* with optional extensions "-a" for alpha, "-b" for beta, and -dev for unstable development builds. <br>
* Examples: "1.6.9-a", "1.7.0-a-dev", "2.1.0-b", "3.0.0", "3.1.4-dev"
* @since API 1.0.0
*/
public static String getModVersion() { return ModInfo.VERSION; }
/**
* Returns true if the mod is a development version, false if it is a release version.
* @since API 1.0.0
*/
public static boolean getIsDevVersion() { return ModInfo.IS_DEV_BUILD; }
/**
* Returns the network protocol version.
* @since API 1.0.0
*/
public static int getNetworkProtocolVersion() { return ModInfo.PROTOCOL_VERSION; }
// methods //
/**
* Returns true if the thread this method was called from is owned by Distant Horizons.
* @since API 2.0.0
*/
public static boolean isDhThread() { return Thread.currentThread().getName().startsWith(ModInfo.THREAD_NAME_PREFIX); }
}
@@ -0,0 +1,72 @@
/*
* 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;
/**
* BLOCK - Detail Level: 0, width 1 block, <br>
* CHUNK - Detail Level: 4, width 16 block, <br>
* REGION - Detail Level: 9, width 512 block <br> <br>
*
* Detail levels in Distant Horizons represent how large a LOD
* is, with the smallest being 0 (1 block wide). <br>
* The width of a detail level can be calculated by putting the detail level to the power of 2. <br>
* Example for the chunk detail level (4): 2^4 = 16 blocks wide <Br><br>
*
* This enum doesn't contain all valid detail levels, only those most likely to be needed.
* Detail levels 1,2,3, ... 255 are all technically valid detail levels
* (although anything beyond {@link EDhApiDetailLevel#REGION} may be difficult deal with).
*
* @author James Seibel
* @version 2022-12-5
* @since API 1.0.0
*/
public enum EDhApiDetailLevel
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/**
* detail level: 0 <Br>
* width in Blocks: 1
*/
BLOCK(0, 1),
/**
* detail level: 4 <Br>
* width in Blocks: 16
*/
CHUNK(4, 16),
/**
* detail level: 9 <Br>
* width in Blocks: 512
*/
REGION(9, 512);
public final byte detailLevel;
public final byte widthInBlocks;
EDhApiDetailLevel(int detailLevel, int widthInBlocks)
{
this.detailLevel = (byte) detailLevel;
this.widthInBlocks = (byte) widthInBlocks;
}
}
@@ -0,0 +1,36 @@
/*
* 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 java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Add this annotation to enum values that
* are valid config options, but shouldn't be selectable
* when toggling through the options. <br><br>
*
* Example: A preset's "custom" option shouldn't be selectable
*/
@Retention(RetentionPolicy.RUNTIME)
public @interface DisallowSelectingViaConfigGui
{
}
@@ -0,0 +1,42 @@
/*
* 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;
/**
* NONE, <br>
* NON_COLLIDING, <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiBlocksToAvoid
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
NONE(false),
NON_COLLIDING(true);
public final boolean noCollision;
EDhApiBlocksToAvoid(boolean noCollision) { this.noCollision = noCollision; }
}
@@ -0,0 +1,101 @@
/*
* 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;
/**
* UNCOMPRESSED <br>
* LZ4 <br>
* XZ <br><br>
*
* Note: speed and compression ratios are examples
* and should only be used for estimated comparisons.
*
* @version 2024-3-16
* @since API 2.0.0
*/
public enum EDhApiDataCompressionMode
{
// 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>
*
* Read Speed: 1.64 MS / DTO <br>
* Write Speed: 12.44 MS / DTO <br>
* Compression ratio: 1.0 <br>
*/
@DisallowSelectingViaConfigGui
UNCOMPRESSED(0),
/**
* Extremely fast (often faster than uncompressed), but generally poor compression. <br><br>
*
* Read Speed: 1.85 MS / DTO <br>
* Write Speed: 9.46 MS / DTO <br>
* Compression ratio: 0.3638 <br>
*/
LZ4(1),
/*
* Decent speed and good compression. <br><br>
*
* Read Speed: 11.78 MS / DTO <br>
* Write Speed: 16.76 MS / DTO <br>
* Compression ratio: 0.2199 <br>
*/
//@Deprecated
//Z_STD(2),
/**
* Extremely slow, but very good compression. <br><br>
*
* Read Speed: 12.25 MS / DTO <br>
* Write Speed: 490.07 MS / DTO <br>
* Compression ratio: 0.1242 <br>
*/
LZMA2(3);
/** More stable than using the ordinal of the enum */
public final byte value;
EDhApiDataCompressionMode(int value) { this.value = (byte) value; }
/** @throws IllegalArgumentException if the value doesn't map to a value */
public static EDhApiDataCompressionMode getFromValue(byte value) throws IllegalArgumentException
{
EDhApiDataCompressionMode[] enumList = EDhApiDataCompressionMode.values();
for (int i = 0; i < enumList.length; i++)
{
if (enumList[i].value == value)
{
return enumList[i];
}
}
throw new IllegalArgumentException("No compression mode with the value ["+value+"]");
}
}
@@ -0,0 +1,31 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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;
/**
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiGLErrorHandlingMode
{
IGNORE,
LOG,
LOG_THROW;
}
@@ -0,0 +1,32 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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;
/**
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiGlProfileMode
{
CORE,
COMPAT,
ANY;
}
@@ -0,0 +1,71 @@
/*
* 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;
/**
* AUTO, <br>
* BUFFER_STORAGE, <br>
* SUB_DATA, <br>
* DATA <br>
*
* @author Leetom
* @author James Seibel
* @version 2024-4-6
* @since API 3.0.0
*/
public enum EDhApiGpuUploadMethod
{
/** Picks the best option based on the GPU the user has. */
AUTO(false, false),
// commented out since it isn't currently in use
//BUFFER_STORAGE_MAPPING(true, true),
/** Fast rendering, no stuttering. */
BUFFER_STORAGE(false, true),
/** Fast rendering but may stutter when uploading. */
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.
*
* @deprecated not currently supported
*/
@Deprecated
BUFFER_MAPPING(true, false),
/** Fast rendering but may stutter when uploading. */
DATA(false, false);
public final boolean useEarlyMapping;
public final boolean useBufferStorage;
EDhApiGpuUploadMethod(boolean useEarlyMapping, boolean useBufferStorage)
{
this.useEarlyMapping = useEarlyMapping;
this.useBufferStorage = useBufferStorage;
}
}
@@ -0,0 +1,40 @@
/*
* 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;
/**
* AS_GRASS <br>
* FADE_TO_DIRT <br>
* AS_DIRT <br>
*
* @since API 2.0.0
* @version 2024-4-7
*/
public enum EDhApiGrassSideRendering
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
AS_GRASS,
FADE_TO_DIRT,
AS_DIRT;
}
@@ -0,0 +1,61 @@
/*
* 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;
/**
* LOWEST <br>
* LOW <br>
* MEDIUM <br>
* HIGH <br>
* UNLIMITED <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiHorizontalQuality
{
// Reminder:
// 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
// LOWEST was originally 1.0f and LOW was 1.5f
LOWEST(2.0f, 4),
LOW(2.0f, 8),
MEDIUM(2.0f, 12),
HIGH(2.2f, 16),
EXTREME(2.4f, 32),
;
public final double quadraticBase;
public final int distanceUnitInBlocks;
EDhApiHorizontalQuality(double quadraticBase, int distanceUnitInBlocks)
{
this.quadraticBase = quadraticBase;
this.distanceUnitInBlocks = distanceUnitInBlocks;
}
}
@@ -0,0 +1,52 @@
/*
* 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;
/**
* AUTO <br>
* ENABLED <br>
* DISABLED <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
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>
* This means if Minecraft's shading is disabled DH's shading will be as well.
*/
AUTO,
/**
* Simulates Minecraft's shading. <Br>
* This is most useful for shaders that disable Minecraft's shading
* but still require shading on LODs.
*/
ENABLED,
/** LODs will have no shading */
DISABLED;
}
@@ -0,0 +1,54 @@
/*
* 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 2.0.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;
}
}
@@ -1,41 +1,42 @@
/*
* This file is part of the Distant Horizon mod (formerly the LOD Mod),
* licensed under the GNU GPL v3 License.
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
* 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 General Public License as published by
* 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 General Public License for more details.
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.core.enums.config;
package com.seibel.distanthorizons.api.enums.config;
import java.util.ArrayList;
import java.util.Collections;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.distanthorizons.coreapi.util.MathUtil;
/**
* chunk <Br>
* half_chunk <Br>
* four_blocks <br>
* two_blocks <Br>
* block <br>
*
* BLOCK <Br>
* TWO_BLOCKS <Br>
* FOUR_BLOCKS <br>
* HALF_CHUNK <Br>
* CHUNK <br>
*
* @author James Seibel
* @author Leonardo Amato
* @version 9-25-2021
* @since API 2.0.0
* @version 2024-4-6
*/
public enum HorizontalResolution
public enum EDhApiMaxHorizontalResolution
{
/** render 256 LODs for each chunk */
BLOCK(16, 0),
@@ -54,8 +55,6 @@ public enum HorizontalResolution
/**
* How many DataPoints should
* be drawn per side, per LodChunk
@@ -85,22 +84,22 @@ public enum HorizontalResolution
* 2nd dimension: An array of all LodDetails that are less than or <br>
* equal to that detailLevel
*/
private static HorizontalResolution[][] lowerDetailArrays;
private static EDhApiMaxHorizontalResolution[][] lowerDetailArrays;
HorizontalResolution(int newLengthCount, int newDetailLevel)
EDhApiMaxHorizontalResolution(int newLengthCount, int newDetailLevel)
{
detailLevel = (byte) newDetailLevel;
dataPointLengthCount = newLengthCount;
dataPointWidth = 16 / dataPointLengthCount;
this.detailLevel = (byte) newDetailLevel;
this.dataPointLengthCount = newLengthCount;
this.dataPointWidth = 16 / this.dataPointLengthCount;
startX = new int[dataPointLengthCount * dataPointLengthCount];
endX = new int[dataPointLengthCount * dataPointLengthCount];
this.startX = new int[this.dataPointLengthCount * this.dataPointLengthCount];
this.endX = new int[this.dataPointLengthCount * this.dataPointLengthCount];
startZ = new int[dataPointLengthCount * dataPointLengthCount];
endZ = new int[dataPointLengthCount * dataPointLengthCount];
this.startZ = new int[this.dataPointLengthCount * this.dataPointLengthCount];
this.endZ = new int[this.dataPointLengthCount * this.dataPointLengthCount];
int index = 0;
@@ -108,11 +107,11 @@ public enum HorizontalResolution
{
for (int z = 0; z < newLengthCount; z++)
{
startX[index] = x * dataPointWidth;
startZ[index] = z * dataPointWidth;
this.startX[index] = x * this.dataPointWidth;
this.startZ[index] = z * this.dataPointWidth;
endX[index] = (x * dataPointWidth) + dataPointWidth;
endZ[index] = (z * dataPointWidth) + dataPointWidth;
this.endX[index] = (x * this.dataPointWidth) + this.dataPointWidth;
this.endZ[index] = (z * this.dataPointWidth) + this.dataPointWidth;
index++;
}
@@ -122,27 +121,28 @@ public enum HorizontalResolution
//================//
// static methods //
//================//
/**
* Returns an array of all LodDetails that have a detail level
* that is less than or equal to the given LodDetail
*/
public static HorizontalResolution[] getSelfAndLowerDetails(HorizontalResolution detail)
public static EDhApiMaxHorizontalResolution[] getSelfAndLowerDetails(EDhApiMaxHorizontalResolution detail)
{
if (lowerDetailArrays == null)
{
// run first time setup
lowerDetailArrays = new HorizontalResolution[HorizontalResolution.values().length][];
lowerDetailArrays = new EDhApiMaxHorizontalResolution[EDhApiMaxHorizontalResolution.values().length][];
// go through each LodDetail
for (HorizontalResolution currentDetail : HorizontalResolution.values())
for (EDhApiMaxHorizontalResolution currentDetail : EDhApiMaxHorizontalResolution.values())
{
ArrayList<HorizontalResolution> lowerDetails = new ArrayList<>();
ArrayList<EDhApiMaxHorizontalResolution> lowerDetails = new ArrayList<>();
// find the details lower than currentDetail
for (HorizontalResolution compareDetail : HorizontalResolution.values())
for (EDhApiMaxHorizontalResolution compareDetail : EDhApiMaxHorizontalResolution.values())
{
if (currentDetail.detailLevel <= compareDetail.detailLevel)
{
@@ -154,7 +154,7 @@ public enum HorizontalResolution
Collections.sort(lowerDetails);
Collections.reverse(lowerDetails);
lowerDetailArrays[currentDetail.detailLevel] = lowerDetails.toArray(new HorizontalResolution[lowerDetails.size()]);
lowerDetailArrays[currentDetail.detailLevel] = lowerDetails.toArray(new EDhApiMaxHorizontalResolution[lowerDetails.size()]);
}
}
@@ -162,14 +162,13 @@ public enum HorizontalResolution
}
/** Returns what detail level should be used at a given distance and maxDistance. */
public static HorizontalResolution getDetailForDistance(HorizontalResolution maxDetailLevel, int distance, int maxDistance)
public static EDhApiMaxHorizontalResolution getDetailForDistance(EDhApiMaxHorizontalResolution maxDetailLevel, int distance, int maxDistance)
{
HorizontalResolution[] lowerDetails = getSelfAndLowerDetails(maxDetailLevel);
EDhApiMaxHorizontalResolution[] lowerDetails = getSelfAndLowerDetails(maxDetailLevel);
int distanceBetweenDetails = maxDistance / lowerDetails.length;
int index = LodUtil.clamp(0, distance / distanceBetweenDetails, lowerDetails.length - 1);
int index = MathUtil.clamp(0, distance / distanceBetweenDetails, lowerDetails.length - 1);
return lowerDetails[index];
}
}
@@ -0,0 +1,71 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2022 Tom Lee (TomTheFurry)
* Copyright (C) 2020-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;
/**
* NAME_ONLY, <br>
* IP_ONLY, <br>
* NAME_IP, <br>
* NAME_IP_PORT, <br>
* NAME_IP_PORT_MC_VERSION, <br> <br>
*
* Determines how the multiplayer folders should be named.
*
* @author James Seibel
* @since API 2.0.0
* @version 2024-4-6
*/
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 */
NAME_ONLY,
/** Only use the server IP */
IP_ONLY,
/**
* {SERVER_NAME} IP {IP} <br>
* Example: Minecraft Server IP 192.168.1.40
*/
NAME_IP,
/**
* {SERVER_NAME} IP {IP}:{PORT} <br>
* Example: Minecraft Server IP 192.168.1.40:25565
*/
NAME_IP_PORT,
/**
* {SERVER_NAME} IP {IP} <br>
* Example: Minecraft Server IP 192.168.1.40:25565 GameVersion 1.16.5 <Br> <br>
*
* Not normally recommended, since the game version can change if the
* server installs paper or some other jar. <br>
* This is just here to provide backwards compatibility.
*/
NAME_IP_PORT_MC_VERSION;
}
@@ -0,0 +1,41 @@
package com.seibel.distanthorizons.api.enums.config;
import com.seibel.distanthorizons.coreapi.ModInfo;
/**
* AUTO, <br>
* STABLE, <br>
* NIGHTLY, <br><br>
*
* @since API 2.1.0
* @version 2024-6-8
*/
public enum EDhApiUpdateBranch
{
AUTO,
STABLE,
NIGHTLY;
/**
* If the updateBranch value is {@link EDhApiUpdateBranch#AUTO}
* this method will convert it either to {@link EDhApiUpdateBranch#STABLE} or {@link EDhApiUpdateBranch#NIGHTLY}
* based on this jar's state. <Br><br>
*
* If updateBranch is {@link EDhApiUpdateBranch#STABLE} or {@link EDhApiUpdateBranch#NIGHTLY}
* it just returns.
*/
public static EDhApiUpdateBranch convertAutoToStableOrNightly(EDhApiUpdateBranch updateBranch)
{
if (updateBranch != EDhApiUpdateBranch.AUTO)
{
return updateBranch;
}
else
{
return ModInfo.IS_DEV_BUILD ? EDhApiUpdateBranch.NIGHTLY : EDhApiUpdateBranch.STABLE;
}
}
}
@@ -0,0 +1,56 @@
/*
* 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;
/**
* NEVER, <br>
* DYNAMIC, <br>
* ALWAYS <br> <br>
*
* This represents how far the LODs should overlap with
* the vanilla Minecraft terrain.
*
* @author James Seibel
* @since API 2.0.0
* @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 EDhApiVanillaOverdraw
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/**
* Don't draw LODs where a minecraft chunk could be.
* Use Overdraw Offset to tweak the border thickness.
*/
NEVER,
/**
* Draw LODs over the farther minecraft chunks.
* Dynamically decides the border thickness
*/
DYNAMIC,
/** Draw LODs over all minecraft chunks. */
ALWAYS,
}
@@ -0,0 +1,61 @@
/*
* 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 com.seibel.distanthorizons.coreapi.util.MathUtil;
/**
* HEIGHT_MAP <br>
* LOW <br>
* MEDIUM <br>
* HIGH <br>
* EXTREME <br>
*
* @author Leonardo Amato
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiVerticalQuality
{
HEIGHT_MAP( new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}),
LOW( new int[]{4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1}),
MEDIUM( new int[]{6, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1}),
HIGH( new int[]{16, 8, 4, 3, 3, 3, 3, 3, 3, 3, 1}),
VERY_HIGH( new int[]{32, 16, 8, 4, 4, 3, 3, 3, 3, 3, 1}),
EXTREME( new int[]{64, 32, 8, 4, 4, 3, 3, 3, 3, 3, 1}),
PIXEL_ART( new int[]{512, 64, 16, 8, 4, 3, 3, 3, 3, 3, 1});
/** represents how many LODs can be rendered in a single vertical slice */
public final int[] maxVerticalData;
EDhApiVerticalQuality(int[] maxVerticalData) { this.maxVerticalData = maxVerticalData; }
public int calculateMaxVerticalData(byte dataDetail)
{
// for detail levels lower than what the enum defines, use the lowest quality item
int index = MathUtil.clamp(0, dataDetail, this.maxVerticalData.length - 1);
return this.maxVerticalData[index];
}
}
@@ -0,0 +1,70 @@
/*
* 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;
/**
* MERGE_SAME_BLOCKS <br>
* VISUALLY_EQUAL <br><br>
*
* @version 2024-3-27
* @since API 2.0.0
*/
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>
* This is what DH 2.0 and 2.0.1 all used by default and will store a lot of data.
*/
MERGE_SAME_BLOCKS(0),
/**
* Only visible block/biome changes are recorded in the database. <Br>
* Hidden blocks (IE ores) are ignored.
*/
VISUALLY_EQUAL(1);
/** More stable than using the ordinal of the enum */
public final byte value;
EDhApiWorldCompressionMode(int value) { this.value = (byte) value; }
public static EDhApiWorldCompressionMode getFromValue(byte value)
{
EDhApiWorldCompressionMode[] enumList = EDhApiWorldCompressionMode.values();
for (int i = 0; i < enumList.length; i++)
{
if (enumList[i].value == value)
{
return enumList[i];
}
}
throw new IllegalArgumentException("No lossy compression mode with the value ["+value+"]");
}
}
@@ -0,0 +1,51 @@
/*
* 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.quickOptions;
import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui;
/**
* CUSTOM, <br><br>
*
* MINIMUM, <br>
* LOW, <br>
* MEDIUM, <br>
* HIGH, <br>
* EXTREME, <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiQualityPreset
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
@DisallowSelectingViaConfigGui
CUSTOM,
MINIMUM,
LOW,
MEDIUM,
HIGH,
EXTREME;
}
@@ -0,0 +1,50 @@
/*
* 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.quickOptions;
import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui;
/**
* CUSTOM, <br><br>
*
* MINIMAL_IMPACT, <br>
* LOW_IMPACT, <br>
* BALANCED, <br>
* AGGRESSIVE, <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiThreadPreset
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
@DisallowSelectingViaConfigGui
CUSTOM,
MINIMAL_IMPACT,
LOW_IMPACT,
BALANCED,
AGGRESSIVE,
I_PAID_FOR_THE_WHOLE_CPU,
}
@@ -0,0 +1,68 @@
package com.seibel.distanthorizons.api.enums.rendering;
/**
* contains the indices used by shaders to determine
* how different block types should be rendered. <br><br>
*
* UNKNOWN, <br>
* LEAVES, <br>
* STONE, <br>
* WOOD, <br>
* METAL, <br>
* DIRT, <br>
* LAVA, <br>
* DEEPSLATE, <br>
* SNOW, <br>
* SAND, <br>
* TERRACOTTA, <br>
* NETHER_STONE, <br>
* WATER, <br>
* GRASS, <br>
* AIR, <br>
* ILLUMINATED, <br>
*
* @author IMS
* @author James Seibel
* @since API 3.0.0
* @version 2024-7-11
*/
public enum EDhApiBlockMaterial
{
UNKNOWN(0),
LEAVES(1),
STONE(2),
WOOD(3),
METAL(4),
DIRT(5),
LAVA(6),
DEEPSLATE(7),
SNOW(8),
SAND(9),
TERRACOTTA(10),
NETHER_STONE(11),
WATER(12),
GRASS(13),
/** shouldn't normally be needed, but just in case */
AIR(14),
ILLUMINATED(15); // Max value
public final byte index;
EDhApiBlockMaterial(int index) { this.index = (byte)index;}
public static EDhApiBlockMaterial getFromIndex(int index)
{
for(EDhApiBlockMaterial material : EDhApiBlockMaterial.values())
{
if (material.index == index)
{
return material;
}
}
return EDhApiBlockMaterial.UNKNOWN;
}
}
@@ -0,0 +1,89 @@
/*
* 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.rendering;
/**
* OFF, <br>
* SHOW_DETAIL, <br>
* SHOW_GENMODE, <br>
* SHOW_OVERLAPPING_QUADS, <br>
* SHOW_RENDER_SOURCE_FLAG, <br>
*
* @author Leetom
* @author James Seibel
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiDebugRendering
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/** LODs are rendered normally */
OFF,
/** LOD colors are based on their detail */
SHOW_DETAIL,
/** Block Materials are often used by Iris shaders to determine how LODs should be rendered */
SHOW_BLOCK_MATERIAL,
/** Only draw overlapping LOD quads. */
SHOW_OVERLAPPING_QUADS,
/** LOD colors are based on renderSource flags. */
SHOW_RENDER_SOURCE_FLAG;
public static EDhApiDebugRendering next(EDhApiDebugRendering type)
{
switch (type)
{
case OFF:
return SHOW_DETAIL;
case SHOW_DETAIL:
return SHOW_BLOCK_MATERIAL;
case SHOW_BLOCK_MATERIAL:
return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS:
return SHOW_RENDER_SOURCE_FLAG;
default:
return OFF;
}
}
public static EDhApiDebugRendering previous(EDhApiDebugRendering type)
{
switch (type)
{
case OFF:
return SHOW_RENDER_SOURCE_FLAG;
case SHOW_RENDER_SOURCE_FLAG:
return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS:
return SHOW_DETAIL;
default:
return OFF;
}
}
}
@@ -0,0 +1,48 @@
/*
* 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.rendering;
/**
* USE_DEFAULT_FOG_COLOR, <br>
* USE_SKY_COLOR, <br>
*
* @author James Seibel
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiFogColorMode
{
// Reminder:
// when adding items: up the API minor version
// when removing items: up the API major version
/** Fog uses Minecraft's fog color. */
USE_WORLD_FOG_COLOR,
/**
* Replicates the effect of the clear sky mod.
* Making the fog blend in with the sky better
* For it to look good you need one of the following mods:
* https://www.curseforge.com/minecraft/mc-mods/clear-skies
* https://www.curseforge.com/minecraft/mc-mods/clear-skies-forge-port
*/
USE_SKY_COLOR,
}
@@ -0,0 +1,46 @@
/*
* 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.rendering;
/**
* USE_OPTIFINE_FOG_SETTING, <br>
* FOG_ENABLED, <br>
* FOG_DISABLED <br>
*
* @author James Seibel
* @since API 2.0.0
* @version 2022-6-2
*/
public enum EDhApiFogDrawMode
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/**
* Use whatever Fog setting optifine is using.
* If optifine isn't installed this defaults to FOG_ENABLED.
*/
USE_OPTIFINE_SETTING,
FOG_ENABLED,
FOG_DISABLED;
}
@@ -0,0 +1,42 @@
/*
* 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.rendering;
/**
* LINEAR, <br>
* EXPONENTIAL, <br>
* EXPONENTIAL_SQUARED <br>
*
* @author Leetom
* @version 2022-6-30
* @since API 2.0.0
*/
public enum EDhApiFogFalloff
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
LINEAR,
EXPONENTIAL,
EXPONENTIAL_SQUARED,
}
@@ -0,0 +1,50 @@
/*
* 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.rendering;
/**
* BASIC <br>
* IGNORE_HEIGHT <br>
* ADDITION <br>
* MAX <br>
* MULTIPLY <br>
* INVERSE_MULTIPLY <br>
* LIMITED_ADDITION <br>
* MULTIPLY_ADDITION <br>
* INVERSE_MULTIPLY_ADDITION <br>
* AVERAGE <br>
*
* @author Leetom
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiHeightFogMixMode
{
BASIC,
IGNORE_HEIGHT,
ADDITION,
MAX,
MULTIPLY,
INVERSE_MULTIPLY,
LIMITED_ADDITION,
MULTIPLY_ADDITION,
INVERSE_MULTIPLY_ADDITION,
AVERAGE,
}
@@ -0,0 +1,58 @@
/*
* 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.rendering;
/**
* ABOVE_CAMERA, <br>
* BELOW_CAMERA, <br>
* ABOVE_AND_BELOW_CAMERA, <br>
* ABOVE_SET_HEIGHT, <br>
* BELOW_SET_HEIGHT, <br>
* ABOVE_AND_BELOW_SET_HEIGHT, <br>
*
* @author Leetom
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiHeightFogMode
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
ABOVE_CAMERA(true, true, false),
BELOW_CAMERA(true, false, true),
ABOVE_AND_BELOW_CAMERA(true, true, true),
ABOVE_SET_HEIGHT(false, true, false),
BELOW_SET_HEIGHT(false, false, true),
ABOVE_AND_BELOW_SET_HEIGHT(false, true, true);
public final boolean basedOnCamera;
public final boolean above;
public final boolean below;
EDhApiHeightFogMode(boolean basedOnCamera, boolean above, boolean below)
{
this.basedOnCamera = basedOnCamera;
this.above = above;
this.below = below;
}
}
@@ -0,0 +1,17 @@
package com.seibel.distanthorizons.api.enums.rendering;
/**
* OPAQUE_AND_TRANSPARENT, <br>
* OPAQUE, <br>
* TRANSPARENT, <br>
*
* @author James Seibel
* @version 2024-1-30
* @since API 2.0.0
*/
public enum EDhApiRenderPass
{
OPAQUE_AND_TRANSPARENT,
OPAQUE,
TRANSPARENT,
}
@@ -0,0 +1,70 @@
/*
* 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.rendering;
/**
* Default <br>
* Debug <br>
* Disabled <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiRendererMode
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
DEFAULT,
DEBUG,
DISABLED;
/** Used by the config GUI to cycle through the available rendering options */
public static EDhApiRendererMode next(EDhApiRendererMode type)
{
switch (type)
{
case DEFAULT:
return DEBUG;
case DEBUG:
return DISABLED;
default:
return DEFAULT;
}
}
/** Used by the config GUI to cycle through the available rendering options */
public static EDhApiRendererMode previous(EDhApiRendererMode type)
{
switch (type)
{
case DEFAULT:
return DISABLED;
case DEBUG:
return DEFAULT;
default:
return DEBUG;
}
}
}
@@ -0,0 +1,50 @@
/*
* 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.rendering;
/**
* DISABLED, <br>
* FAKE, <br>
* COMPLETE, <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiTransparency
{
// Reminder:
// when adding items up the API minor version
// 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;
}
}
@@ -0,0 +1,86 @@
/*
* 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.worldGeneration;
/**
* PRE_EXISTING_ONLY <br>
* SURFACE <br>
* FEATURES <br><br>
*
* In order of fastest to slowest.
*
* @author James Seibel
* @author Leonardo Amato
* @version 2022-12-10
* @since API 1.0.0
*/
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. */
PRE_EXISTING_ONLY((byte) 1),
/*
* Not currently implemented <br><br>
*
* Only generate the biomes and use biome
* grass/foliage color, water color, or ice color
* to generate the color. <br>
* Doesn't generate height, everything is shown at sea level.
*/
//BIOME_ONLY((byte) 2),
/*
* Not currently implemented <br><br>
*
* Same as BIOME_ONLY, except instead
* of always using sea level as the LOD height
* different biome types (mountain, ocean, forest, etc.)
* use predetermined heights to simulate having height data.
*/
//BIOME_ONLY_SIMULATE_HEIGHT((byte) 3),
/**
* Generate the world surface,
* this does NOT include caves, trees,
* or structures.
*/
SURFACE((byte) 4),
/**
* Generate including structures.
* NOTE: This may cause world generation bugs or instability,
* since some features can cause concurrentModification exceptions.
*/
FEATURES((byte) 5);
/** The higher the number the more complete the generation is. */
public final byte complexity;
EDhApiDistantGeneratorMode(byte complexity) { this.complexity = complexity; }
}
@@ -0,0 +1,36 @@
/*
* 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.worldGeneration;
/**
* SERVER_LEVEL, <br>
* CLIENT_LEVEL, <br>
* UNKNOWN <br>
*
* @author James Seibel
* @version 2022-7-13
* @since API 1.0.0
*/
public enum EDhApiLevelType
{
SERVER_LEVEL,
CLIENT_LEVEL,
UNKNOWN
}
@@ -0,0 +1,97 @@
/*
* 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.worldGeneration;
/**
* EMPTY, <br>
* STRUCTURE_START, <br>
* STRUCTURE_REFERENCE, <br>
* BIOMES, <br>
* NOISE, <br>
* SURFACE, <br>
* CARVERS, <br>
* LIQUID_CARVERS, <br>
* FEATURES, <br>
* LIGHT, <br>
*
* @author James Seibel
* @version 2023-4-20
* @since API 1.0.0
*/
public enum EDhApiWorldGenerationStep
{
EMPTY(0, "empty"),
STRUCTURE_START(1, "structure_start"),
STRUCTURE_REFERENCE(2, "structure_reference"),
BIOMES(3, "biomes"),
NOISE(4, "noise"),
SURFACE(5, "surface"),
CARVERS(6, "carvers"),
LIQUID_CARVERS(7, "liquid_carvers"),
FEATURES(8, "features"),
LIGHT(9, "light");
/** used when serializing this enum. */
public final String name;
public final byte value;
EDhApiWorldGenerationStep(int value, String name)
{
this.value = (byte) value;
this.name = name;
}
//=========//
// parsing //
//=========//
/** @return null if the value doesn't correspond to a {@link EDhApiWorldGenerationStep}. */
public static EDhApiWorldGenerationStep fromValue(int value)
{
for (EDhApiWorldGenerationStep genStep : EDhApiWorldGenerationStep.values())
{
if (genStep.value == value)
{
return genStep;
}
}
return null;
}
/** @return null if the value doesn't correspond to a {@link EDhApiWorldGenerationStep}. */
public static EDhApiWorldGenerationStep fromName(String name)
{
for (EDhApiWorldGenerationStep genStep : EDhApiWorldGenerationStep.values())
{
if (genStep.name.equals(name))
{
return genStep;
}
}
return null;
}
}
@@ -0,0 +1,56 @@
/*
* 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.worldGeneration;
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import java.util.concurrent.ExecutorService;
import java.util.function.Consumer;
/**
* VANILLA_CHUNKS, <br>
* API_CHUNKS <br>
*
* @author Builderb0y, James Seibel
* @version 2023-12-21
* @since API 2.0.0
*/
public enum EDhApiWorldGeneratorReturnType
{
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 2.0.0
*/
VANILLA_CHUNKS,
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateApiChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 2.0.0
*/
API_CHUNKS;
}
@@ -0,0 +1,45 @@
/*
* 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.interfaces;
/**
* Implemented by wrappers so developers can
* access the underlying Minecraft object(s).
*
* @author James Seibel
* @version 2023-6-17
* @since API 1.0.0
*/
public interface IDhApiUnsafeWrapper
{
/**
* Returns the Minecraft object this wrapper contains. <br>
* <strong>Warning</strong>: This object will be Minecraft
* version dependent and may change without notice. <br> <br>
*
* In order to cast this object to something usable, you may want
* to use <code>obj.getClass()</code> when in your IDE
* in order to determine what object this method returns for
* the specific version of Minecraft you are developing for.
*/
Object getWrappedMcObject();
}
@@ -0,0 +1,35 @@
/*
* 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.interfaces.block;
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
/**
* A Minecraft version independent way of handling Biomes.
*
* @author James Seibel
* @version 3-5-2022
* @since API 1.0.0
*/
public interface IDhApiBiomeWrapper extends IDhApiUnsafeWrapper
{
String getName();
}
@@ -0,0 +1,55 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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.interfaces.block;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiBlockMaterial;
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
/**
* A Minecraft version independent way of handling Blocks.
*
* @author James Seibel
* @version 2023-6-11
* @since API 1.0.0
*/
public interface IDhApiBlockStateWrapper extends IDhApiUnsafeWrapper
{
/** @since API 1.0.0 */
boolean isAir();
/** @since API 1.0.0 */
boolean isSolid();
/** @since API 1.0.0 */
boolean isLiquid();
/**
* Returns the full serialized form of the given block
* as defined by DH's serialization methods.
* @since API 3.0.0
*/
String getSerialString();
/**
* Returns the byte value representing the {@link EDhApiBlockMaterial} enum.
* @see EDhApiBlockMaterial
* @since API 3.0.0
*/
byte getMaterialId();
}
@@ -0,0 +1,43 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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.interfaces.config;
import com.seibel.distanthorizons.api.interfaces.config.both.IDhApiWorldGenerationConfig;
import com.seibel.distanthorizons.api.interfaces.config.client.*;
/**
* This interfaces holds all config groups
* the API has access to for easy access.
*
* @author James Seibel
* @version 2023-6-14
* @since API 1.0.0
*/
public interface IDhApiConfig
{
IDhApiGraphicsConfig graphics();
IDhApiWorldGenerationConfig worldGenerator();
IDhApiMultiplayerConfig multiplayer();
IDhApiMultiThreadingConfig multiThreading();
// note: DON'T add the Auto Updater to this API. We only want the user's to have the ability to control when things are downloaded to their machines.
//IDhApiLoggingConfig logging(); // TODO implement
IDhApiDebuggingConfig debugging();
}
@@ -0,0 +1,35 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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.interfaces.config;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
/**
* This interface is just used to organize API config groups so
* they can be more easily handled together.
*
* @author James Seibel
* @version 9-15-2022
* @since API 1.0.0
*/
public interface IDhApiConfigGroup extends IBindable
{
}
@@ -0,0 +1,89 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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.interfaces.config;
import java.util.function.Consumer;
/**
* An interface for Distant Horizon's Config.
*
* @param <T> The data type of this config.
* @author James Seibel
* @version 2023-12-7
* @since API 1.0.0
*/
public interface IDhApiConfigValue<T>
{
/**
* Returns the active value for this config. <br>
* Returns the True value if either the config cannot be overridden by
* the API or if it hasn't been set by the API.
*/
T getValue();
/**
* Returns the value held by this config. <br>
* This is the value stored in the config file.
*/
T getTrueValue();
/**
* Returns the value of the config if it was set by the API.
* Returns null if the config hasn't been set by the API.
*
* @since API 2.0.0
*/
T getApiValue();
/**
* Sets the config's value. <br>
* If the newValue is set to null then the config
* will revert to using the True Value
* (IE the value visible in the config menu).<br>
* If the config cannot be set via the API this method will return false. <br><br>
*
* @return true if the value was set, false otherwise.
*/
boolean setValue(T newValue);
/**
* Un-sets the config's API value. <br>
* After this method is called this config will
* use the value set in the config menu.
*
* @return true if the value was set, false otherwise.
* @since API 2.0.0
*/
boolean clearValue();
/** @return true if this config can be set via the API, false otherwise. */
boolean getCanBeOverrodeByApi();
/** Returns the default value for this config. */
T getDefaultValue();
/** Returns the max value for this config, null if there is no max. */
T getMaxValue();
/** Returns the min value for this config, null if there is no min. */
T getMinValue();
/** Adds a {@link Consumer} that will be called whenever the config changes to a new value. */
void addChangeListener(Consumer<T> onValueChangeFunc);
//void removeListener(Consumer<T> onValueChangeFunc); // not currently implemented
}
@@ -0,0 +1,47 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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.interfaces.config.both;
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
/**
* Distant Horizons' world generation configuration. <br><br>
*
* Note: Chunks generated via DH's world generator are NOT saved in Minecraft's vanilla save system.
*
* @author James Seibel
* @version 2022-9-15
* @since API 1.0.0
*/
public interface IDhApiWorldGenerationConfig extends IDhApiConfigGroup
{
/**
* Defines whether LOD chunks will be generated
* outside Minecraft's vanilla render distance.
*/
IDhApiConfigValue<Boolean> enableDistantWorldGeneration();
/** Defines to what level LOD chunks will be generated. */
IDhApiConfigValue<EDhApiDistantGeneratorMode> distantGeneratorMode();
}
@@ -0,0 +1,65 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-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.interfaces.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' fog configuration. <br><br>
*
* @author James Seibel
* @version 2022-9-6
* @since API 1.0.0
*/
public interface IDhApiAmbientOcclusionConfig extends IDhApiConfigGroup
{
/** Determines if Ambient Occlusion is rendered */
IDhApiConfigValue<Boolean> enabled();
/**
* Determines how many points in space are sampled for the occlusion test.
* Higher numbers will improve quality and reduce banding, but will increase GPU load.
*/
IDhApiConfigValue<Integer> sampleCount();
/** Determines the radius Screen Space Ambient Occlusion is applied, measured in blocks. */
IDhApiConfigValue<Double> radius();
/** Determines how dark the Screen Space Ambient Occlusion effect will be. */
IDhApiConfigValue<Double> strength();
/** Increasing the value can reduce banding at the cost of reducing the strength of the effect. */
IDhApiConfigValue<Double> bias();
/**
* Determines how dark the occlusion shadows can be. <br>
* 0 = totally black at the corners <br>
* 1 = no shadow
*/
IDhApiConfigValue<Double> minLight();
/**
* The radius, measured in pixels, that blurring is calculated. <br>
* Higher numbers will reduce banding at the cost of GPU performance.
*/
IDhApiConfigValue<Integer> blurRadius();
}
@@ -0,0 +1,51 @@
/*
* 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.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiDebugRendering;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
/**
* Distant Horizons' debug configuration.
*
* @author James Seibel
* @version 2022-9-15
* @since API 1.0.0
*/
public interface IDhApiDebuggingConfig extends IDhApiConfigGroup
{
/** Can be used to debug the standard fake chunk rendering. */
IDhApiConfigValue<EDhApiDebugRendering> debugRendering();
/** If enabled debug keybindings can be used. */
IDhApiConfigValue<Boolean> debugKeybindings();
/** If enabled all LODs will be rendered as wireframe. */
IDhApiConfigValue<Boolean> renderWireframe();
/** If enabled Distant Horizons will attempt to disable Minecraft's block rendering so only LODs will render. */
IDhApiConfigValue<Boolean> lodOnlyMode();
/** If enabled Distant Horizons' debug wireframe rendering will be enabled. */
IDhApiConfigValue<Boolean> debugWireframeRendering();
}
@@ -0,0 +1,71 @@
/*
* 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.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogFalloff;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' fog configuration. <br><br>
*
* Note: unless an option explicitly states that it modifies
* Minecraft's vanilla rendering (like DisableVanillaFog)
* these settings will only affect Distant horizons' fog.
*
* @author James Seibel
* @version 2022-6-14
* @since API 1.0.0
*/
public interface IDhApiFarFogConfig extends IDhApiConfigGroup
{
/**
* Defines where the fog starts as a percent of the
* fake chunks render distance radius. <br>
* Can be greater than the fog end distance to invert the fog direction. <br> <br>
*
* 0.0 = fog starts at the camera <br>
* 1.0 = fog starts at the edge of the fake chunk render distance <br>
*/
IDhApiConfigValue<Double> farFogStartDistance();
/**
* Defines where the fog ends as a percent of the radius
* of the fake chunks render distance. <br>
* Can be less than the fog start distance to invert the fog direction. <br> <br>
*
* 0.0 = fog ends at the camera <br>
* 1.0 = fog ends at the edge of the fake chunk render distance <br>
*/
IDhApiConfigValue<Double> farFogEndDistance();
/** Defines how opaque the fog is at its thinnest point. */
IDhApiConfigValue<Double> farFogMinThickness();
/** Defines how opaque the fog is at its thickest point. */
IDhApiConfigValue<Double> farFogMaxThickness();
/** Defines how the fog changes in thickness. */
IDhApiConfigValue<EDhApiFogFalloff> farFogFalloff();
/** Defines the fog density. */
IDhApiConfigValue<Double> farFogDensity();
}
@@ -0,0 +1,71 @@
/*
* 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.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogColorMode;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogDrawMode;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' fog configuration. <br><br>
*
* Note: unless an option explicitly states that it modifies
* Minecraft's vanilla rendering (like DisableVanillaFog)
* these settings will only affect Distant horizons' fog.
*
* @author James Seibel
* @version 2022-6-14
* @since API 1.0.0
*/
public interface IDhApiFogConfig extends IDhApiConfigGroup
{
//===============//
// inner configs //
//===============//
/**
* The advanced fog config.
*/
IDhApiFarFogConfig farFog();
/**
* The height fog config.
*/
IDhApiHeightFogConfig heightFog();
//====================//
// basic fog settings //
//====================//
/** Should be used to enable/disable fog rendering. */
IDhApiConfigValue<EDhApiFogDrawMode> drawMode();
/** Can be used to enable support with mods that change vanilla MC's fog color. */
IDhApiConfigValue<EDhApiFogColorMode> color();
/**
* If enabled attempts to disable vanilla MC's fog on real chunks. <br>
* May not play nice with other fog editing mods.
*/
IDhApiConfigValue<Boolean> disableVanillaFog();
}
@@ -0,0 +1,46 @@
/*
* 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.interfaces.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' generic rendering configuration. <br><br>
*
* @author James Seibel
* @version 2024-7-11
* @since API 3.0.0
*/
public interface IDhApiGenericRenderingConfig extends IDhApiConfigGroup
{
/**
* If enabled DH will render generic objects into its terrain pass. <br>
* This includes: clouds, beacons, and API added objects.
*/
IDhApiConfigValue<Boolean> renderingEnabled();
/** If enabled DH will render beacon beams. */
IDhApiConfigValue<Boolean> beaconRenderingEnabled();
/** If enabled DH will render clouds. */
IDhApiConfigValue<Boolean> cloudRenderingEnabled();
}
@@ -0,0 +1,192 @@
/*
* 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.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.config.*;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiRendererMode;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiTransparency;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
/**
* Distant Horizons' graphics/rendering configuration.
*
* @author James Seibel
* @version 2023-6-14
* @since API 1.0.0
*/
public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
{
//===============//
// inner configs //
//===============//
IDhApiFogConfig fog();
IDhApiAmbientOcclusionConfig ambientOcclusion();
IDhApiNoiseTextureConfig noiseTexture();
IDhApiGenericRenderingConfig genericRendering();
//========================//
// basic graphic settings //
//========================//
/** The distance is the radius measured in chunks. */
IDhApiConfigValue<Integer> chunkRenderDistance();
/**
* Simplified version of {@link IDhApiGraphicsConfig#renderingMode()}
* that only enables/disables the fake chunk rendering. <br><br>
*
* Changing this config also changes {@link IDhApiGraphicsConfig#renderingMode()}'s value.
*/
IDhApiConfigValue<Boolean> renderingEnabled();
/**
* Can be used to enable/disable fake chunk rendering or enable the debug renderer. <br><br>
*
* The debug renderer is used to confirm rendering is working at and will draw
* a single multicolor rhombus on the screen in skybox space (AKA behind MC's rendering). <br><br>
*
* Changing this config also changes {@link IDhApiGraphicsConfig#renderingEnabled()}'s value.
*/
IDhApiConfigValue<EDhApiRendererMode> renderingMode();
//==================//
// graphic settings //
//==================//
/** Defines how detailed fake chunks are in the horizontal direction */
IDhApiConfigValue<EDhApiMaxHorizontalResolution> maxHorizontalResolution();
/** Defines how detailed fake chunks are in the vertical direction */
IDhApiConfigValue<EDhApiVerticalQuality> verticalQuality();
/** Modifies the quadratic function fake chunks use for horizontal quality drop-off. */
IDhApiConfigValue<EDhApiHorizontalQuality> horizontalQuality();
IDhApiConfigValue<EDhApiTransparency> transparency();
/** Defines what blocks won't be rendered as LODs. */
IDhApiConfigValue<EDhApiBlocksToAvoid> blocksToAvoid();
/**
* Defines if the color of avoided blocks will color the block below them. <Br>
* (IE: if flowers are avoided, should they color the grass below them?)
*/
IDhApiConfigValue<Boolean> tintWithAvoidedBlocks();
/*
* The same as vanilla Minecraft's biome blending. <br><br>
*
* 0 = blending of 1x1 aka off <br>
* 1 = blending of 3x3 <br>
* 2 = blending of 5x5 <br>
* ... <br>
*/
// IDhApiConfigValue<Integer> getBiomeBlending();
//===========================//
// advanced graphic settings //
//===========================//
/**
* Sets the radius used by the near clip shader to reduce
* overdraw. <br>
* Measured in percentages of the render distance, IE: <br>
* 0.5 = 50% vanilla render distance <br>
* 0.1 = 10% vanilla render distance <br>
* <br>
* 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.
*
* @since API 2.0.0
*/
IDhApiConfigValue<Double> overdrawPreventionRadius();
/**
* Modifies how bright fake chunks are. <br>
* This is done when generating the vertex data and is applied before any shaders.
*/
IDhApiConfigValue<Double> brightnessMultiplier();
/**
* Modifies how saturated fake chunks are. <br>
* This is done when generating the vertex data and is applied before any shaders.
*/
IDhApiConfigValue<Double> saturationMultiplier();
/** Defines if Distant Horizons should attempt to cull fake chunk cave geometry. */
IDhApiConfigValue<Boolean> caveCullingEnabled();
/** Defines what height cave culling should be used below if enabled. */
IDhApiConfigValue<Integer> caveCullingHeight();
/** This ratio is relative to Earth's real world curvature. */
IDhApiConfigValue<Integer> earthCurvatureRatio();
/** If enabled vanilla chunk rendering is disabled and only fake chunks are rendered. */
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.
*
* @since API 2.0.0
*/
IDhApiConfigValue<EDhApiLodShading> lodShading();
/**
* Sets whether LODs outside the view frustum culling will
* be culled. <br><br>
*
* Disabling this will prevent LODs not rendering on the corner
* of the users vision and may fix issues if LODs appear to
* start/stop rendering incorrectly based on the camera direction,
* but will also reduce FPS.
*
* @since API 2.0.0
* @see IDhApiGraphicsConfig#disableShadowFrustumCulling()
*/
IDhApiConfigValue<Boolean> disableFrustumCulling();
/**
* Identical to the other frustum culling option, except that it is
* only used when a shader mod is present using the DH API
* and the shadow pass is being rendered. <br><br>
*
* Disable this if shadows render incorrectly.
*
* @since API 2.0.0
* @see IDhApiGraphicsConfig#disableFrustumCulling()
*/
IDhApiConfigValue<Boolean> disableShadowFrustumCulling();
}

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