44 Commits

Author SHA1 Message Date
Zoë Gidiere
46e603d681 Reformat 2025-06-18 11:43:35 -06:00
Christian Bergschneider
3fe79338db
refactor: replace DynamicRegistry.Key with RegistryKey across Minestom components
Updated all references from `DynamicRegistry.Key` to `RegistryKey` to align with the updated Minestom API. Adjusted relevant classes, methods, and object interactions to ensure compatibility and maintain consistency. Updated `Versions.kt` to the latest Minestom version.
2025-06-17 00:10:08 +02:00
Christian Bergschneider
7f324bd72b
fix: remove unused player configuration phase in biome preload
The loop triggering the player configuration phase was removed as it is unnecessary and unrelated to biome preloading. This streamlines the function and avoids redundant operations during biome initialization.
2025-06-07 16:28:50 +02:00
Christian Bergschneider
94d135c66c Refactor MinestomBiomeLoader to use DynamicRegistry directly
Simplified biome loading by removing dependency on MinecraftServer and using DynamicRegistry.Key directly. This improves code maintainability and aligns with updated API usage.
2025-06-05 17:04:37 -06:00
Christian Bergschneider
28132e0f13
resolve merge conflicts 2025-06-05 10:08:58 +02:00
kyuri
e79ea4ab82
Minestom Latest - Update (#499)
* Bukkit Build Fix

* remove comments

* remove papermc repo from gradle settings

* add back gradle shasum

* fix formatting, update gradle hash

* Minestom Updated to latest version as of now 4/12/2025

Updated method names to new documentation and changed minestom versioning.

- Paper Build version was changed as I had issues building at all with the snapshot version. So it was changed to a generic version but everything still builds fine.

* Bug Fix - Entity Type was parsing a value that was incorrect and causing issues to load the world.

EntityType.fromId(Integer.parseInt(id));
to
delegate = EntityType.fromKey(id);

* Reverted changes to comply with build version requirements and avoiding pulling functionality out of a common existing function

---------

Co-authored-by: Peter Pan <peter@never.lan>
Co-authored-by: Zoë Gidiere <duplexsys@protonmail.com>
2025-06-04 23:38:42 -06:00
Christian Bergschneider
c08e973e3e
feat: provide default MinestomBlockEntity implementation
Introduce the `MinestomBlockEntity` class to represent block entities and hook into the block system. Update `DefaultBlockEntityFactory` to create `MinestomBlockEntity` instances and adjust `TerraMinestomWorldBuilder` initialization for factory injection. These changes improve extensibility and block entity management.
2025-06-04 21:34:04 +02:00
Christian Bergschneider
b12fe77f32
feat: add fine-grained biome control to Minestom world builder
Introduced a `doFineGrainedBiomes` flag to allow fine-grained biome control per chunk. This helps mitigate client disconnection issues caused by a Minestom biome encoding bug, with a plan to deprecate once the bug is resolved. Adjusted relevant classes and the example implementation to support this feature.
2025-06-04 21:25:35 +02:00
Christian Bergschneider
d9a4d64b17
Merge remote-tracking branch 'origin/dev/7.0-2' into dev/7.0-2 2025-06-04 00:05:56 +02:00
Christian Bergschneider
56a1feb708
refactor: move biomes to use user-defined naming conventions.
Replaced "Custom" with "UserDefined" in biome classes, factories, and references for consistency and clarity. Updated relevant imports, method signatures, and internal logic to align with the new terminology. This change improves readability and better represents the purpose of these biome-related components.
2025-06-04 00:05:15 +02:00
Christian Bergschneider
858adfe866
feat: initial custom biome implementation 2025-06-03 22:41:31 +02:00
Christian Bergschneider
5e1c9d8ebe
fix: generation stages not being able to reference eachother 2025-06-02 00:34:48 +02:00
Christian Bergschneider
5dff25670c
refactor: minestom chunk storage to improve memory efficiency
Replaced 3D array with a 1D array for chunk block storage and adjusted related logic to use calculated indices. Updated block type comparison to use state IDs instead of block IDs for consistency and correctness.
2025-05-30 09:13:04 +02:00
Christian Bergschneider
089b25dea4
feat: update Minestom version and replace deprecated ItemComponent API
Updated the Minestom library to version 1_21_5-69b9a5d844 and migrated from the deprecated `ItemComponent` API to `DataComponents`. This ensures compatibility with the latest changes and improves maintainability.
2025-05-27 23:25:34 +02:00
Christian Bergschneider
1dd59c378e
refactor(minestom): replace static singleton access to platform with dependency injection for better modularity
Renamed `MinestomPlatform` to `TerraMinestomPlatform` and updated `TerraMinestomWorldBuilder` to utilize the platform instance directly. Simplified world builder initialization and improved code clarity.
2025-05-27 22:58:16 +02:00
ckyuri
761a014ea5 Reverted changes to comply with build version requirements and avoiding pulling functionality out of a common existing function 2025-04-16 15:54:20 +01:00
ckyuri
32cc4976c8 Bug Fix - Entity Type was parsing a value that was incorrect and causing issues to load the world.
EntityType.fromId(Integer.parseInt(id));
to
delegate = EntityType.fromKey(id);
2025-04-12 14:10:54 +01:00
ckyuri
227bfe7b29 Minestom Updated to latest version as of now 4/12/2025
Updated method names to new documentation and changed minestom versioning.

- Paper Build version was changed as I had issues building at all with the snapshot version. So it was changed to a generic version but everything still builds fine.
2025-04-12 11:54:48 +01:00
Zoë Gidiere
5892464a1d WIP Seismic Integration 2025-03-01 21:32:39 -07:00
Zoë Gidiere
8366a5288b fix minestom build 2025-03-01 15:45:30 -07:00
Christian Bergschneider
3a7d1a69d0
feat: use system property for configurable data folder path
Updated `getDataFolder` to allow customization via the `terra.datafolder` system property. This ensures greater flexibility for specifying the data folder location, while maintaining the default path if the property is not set.
2025-01-25 04:42:52 +01:00
Christian Bergschneider
7b29d25847
fix: remove unused application plugin from Minestom platform build script 2025-01-05 17:04:27 +01:00
Christian Bergschneider
810d10ac0a
fix: move minestom example to own module 2025-01-05 16:58:28 +01:00
Christian Bergschneider
aecc003f23
fix: minestom and slf4j as transitive dependencies 2025-01-05 16:49:20 +01:00
Christian Bergschneider
d0bc006faa
chore: reformat 2025-01-04 20:42:54 +01:00
Christian Bergschneider
992ae592fd
fix: Implement GeneratorWrapper interface in Minestom wrapper 2025-01-04 00:14:32 +01:00
Christian Bergschneider
7711e67999
feat: support reload 2025-01-04 00:10:35 +01:00
Christian Bergschneider
35bdc99873
build: make available via maven repo 2025-01-03 23:52:31 +01:00
Christian Bergschneider
c848c33bc0
fix: add lighting engine to test server 2025-01-03 17:28:47 +01:00
Christian Bergschneider
ff153ddc21
feat: allow external block entity implementations 2025-01-02 23:22:44 +01:00
Christian Bergschneider
cb2841ed4f
fix: Adjust progress bar update interval to every 60 ticks. 2025-01-02 20:54:56 +01:00
Christian Bergschneider
4f668adb67
feat: add chunk filtering for debugging and remove feature caching
Removed Feature caching since it was buggy asf
2025-01-02 20:49:07 +01:00
Christian Bergschneider
1d8a208d10
feat: implement platform enchantments 2025-01-02 19:32:14 +01:00
Christian Bergschneider
6279638363
feat: implement platform biome 2025-01-02 12:27:40 +01:00
Christian Bergschneider
23b846eca9
feat: get faster generation times 2025-01-02 00:48:26 +01:00
Christian Bergschneider
d1f881ca2c
feat: minestom entities 2025-01-01 20:39:09 +01:00
Christian Bergschneider
d5ab3e23f5
feat: better example server 2025-01-01 18:41:33 +01:00
Christian Bergschneider
3a28551e97 fix: generate populators in every chunk 2024-12-29 18:55:47 +01:00
Christian Bergschneider
ac66fc7d69 fix: different populators now know about each other 2024-12-29 15:51:05 +01:00
Christian Bergschneider
bfc1c32d46 feat: surface decoration generation but only in even chunks 2024-12-29 15:17:35 +01:00
Christian Bergschneider
fa6e0e0ae4 feat: feature generation but only in even chunks 2024-12-28 21:41:51 +01:00
Christian Bergschneider
f953c5085d feat: start generating features 2024-12-28 20:05:50 +01:00
Christian Bergschneider
7288373dbc feat: cache generated chunks
This commit is in preparation of multi-layered worldgen with minestom
2024-12-28 18:18:17 +01:00
Christian Bergschneider
983cb1f012 feat: base terrain generation with minestom 2024-12-28 12:22:07 +01:00