From c3de8b33de6b2bfd10ac4db1945a382b99c1f0a6 Mon Sep 17 00:00:00 2001 From: Vatuu <21113232+Vatuu@users.noreply.github.com> Date: Sat, 14 May 2022 19:03:18 +0200 Subject: [PATCH] Fixed Oraxen, and custom dimension height. --- .../iris/core/link/BlockDataProvider.java | 2 ++ .../volmit/iris/core/link/ItemAdderLink.java | 3 +++ .../iris/core/link/OraxenDataProvider.java | 22 +++++++++---------- .../iris/core/service/CustomBlockDataSVC.java | 6 ++++- .../engine/platform/BukkitChunkGenerator.java | 2 -- src/main/resources/plugin.yml | 3 ++- 6 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/link/BlockDataProvider.java b/src/main/java/com/volmit/iris/core/link/BlockDataProvider.java index 0e9c31e76..0af0b6274 100644 --- a/src/main/java/com/volmit/iris/core/link/BlockDataProvider.java +++ b/src/main/java/com/volmit/iris/core/link/BlockDataProvider.java @@ -23,6 +23,8 @@ public abstract class BlockDataProvider { return getPlugin() != null; } + public abstract void init(); + public abstract BlockData getBlockData(NamespacedKey blockId) throws MissingResourceException; public abstract NamespacedKey[] getBlockTypes(); diff --git a/src/main/java/com/volmit/iris/core/link/ItemAdderLink.java b/src/main/java/com/volmit/iris/core/link/ItemAdderLink.java index e7ec9017f..d601196ac 100644 --- a/src/main/java/com/volmit/iris/core/link/ItemAdderLink.java +++ b/src/main/java/com/volmit/iris/core/link/ItemAdderLink.java @@ -14,6 +14,9 @@ public class ItemAdderLink extends BlockDataProvider { super("ItemsAdder"); } + @Override + public void init() { } + @Override public BlockData getBlockData(NamespacedKey blockId) throws MissingResourceException { return CustomBlock.getBaseBlockData(blockId.toString()); diff --git a/src/main/java/com/volmit/iris/core/link/OraxenDataProvider.java b/src/main/java/com/volmit/iris/core/link/OraxenDataProvider.java index 0907d7d67..7b7a110d2 100644 --- a/src/main/java/com/volmit/iris/core/link/OraxenDataProvider.java +++ b/src/main/java/com/volmit/iris/core/link/OraxenDataProvider.java @@ -43,17 +43,17 @@ public class OraxenDataProvider extends BlockDataProvider { private Map factories; - public OraxenDataProvider() { - super("Oraxen"); - if(getPlugin() != null) { - try { - Field f = MechanicsManager.class.getDeclaredField(FIELD_FACTORIES_MAP); - f.setAccessible(true); - factories = (Map) f.get(null); - } catch(NoSuchFieldException | IllegalAccessException e) { - Iris.error("Failed to set up Oraxen Link:"); - Iris.error("\t" + e.getClass().getSimpleName()); - } + public OraxenDataProvider() { super("Oraxen"); } + + @Override + public void init() { + try { + Field f = MechanicsManager.class.getDeclaredField(FIELD_FACTORIES_MAP); + f.setAccessible(true); + factories = (Map) f.get(null); + } catch(NoSuchFieldException | IllegalAccessException e) { + Iris.error("Failed to set up Oraxen Link:"); + Iris.error("\t" + e.getClass().getSimpleName()); } } diff --git a/src/main/java/com/volmit/iris/core/service/CustomBlockDataSVC.java b/src/main/java/com/volmit/iris/core/service/CustomBlockDataSVC.java index 47ec56e87..aa06c0787 100644 --- a/src/main/java/com/volmit/iris/core/service/CustomBlockDataSVC.java +++ b/src/main/java/com/volmit/iris/core/service/CustomBlockDataSVC.java @@ -45,7 +45,11 @@ public class CustomBlockDataSVC implements IrisService { public void onDisable() { } public void addProvider(BlockDataProvider... provider) { - providers.add(provider); + for(BlockDataProvider p : provider) { + if(p.getPlugin() != null) + providers.add(p); + p.init(); + } } public Optional getBlockData(NamespacedKey key) { diff --git a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java index c21e9eff1..6ff5edc6e 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -164,8 +164,6 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun if(yy + (finalI << 4) >= engine.getHeight() || yy + (finalI << 4) < 0) { continue; } - - Iris.warn("Min: " + world.getMinHeight() + " | Max: " + world.getMaxHeight()); c.getBlock(xx, yy + (finalI << 4) + world.getMinHeight(), zz) .setBlockData(tc.getBlockData(xx, yy + (finalI << 4) + world.getMinHeight(), zz), false); } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 9bb9bcdc0..90814f4b2 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -21,4 +21,5 @@ commands: iris: aliases: [ ir, irs ] api-version: ${apiversion} -hotload-dependencies: false \ No newline at end of file +hotload-dependencies: false +softdepend: [ "Oraxen", "ItemsAdder", "IrisFeller"] \ No newline at end of file