From 5658d6709ca954e22d1d3f95cbb36339df601fdd Mon Sep 17 00:00:00 2001 From: Vatuu <21113232+Vatuu@users.noreply.github.com> Date: Sat, 14 May 2022 18:29:57 +0200 Subject: [PATCH] Fixed Oraxen, and custom dimension height. --- .../iris/core/link/OraxenDataProvider.java | 17 ++++++----- .../iris/core/service/CustomBlockDataSVC.java | 2 +- .../iris/engine/object/IrisDimension.java | 30 +++++++++---------- .../engine/platform/BukkitChunkGenerator.java | 1 + 4 files changed, 26 insertions(+), 24 deletions(-) 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 dcca40fad..0907d7d67 100644 --- a/src/main/java/com/volmit/iris/core/link/OraxenDataProvider.java +++ b/src/main/java/com/volmit/iris/core/link/OraxenDataProvider.java @@ -45,14 +45,15 @@ public class OraxenDataProvider extends BlockDataProvider { public OraxenDataProvider() { super("Oraxen"); - - 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()); + 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()); + } } } 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 3c036a193..47ec56e87 100644 --- a/src/main/java/com/volmit/iris/core/service/CustomBlockDataSVC.java +++ b/src/main/java/com/volmit/iris/core/service/CustomBlockDataSVC.java @@ -62,7 +62,7 @@ public class CustomBlockDataSVC implements IrisService { public NamespacedKey[] getAllIdentifiers() { KList names = new KList<>(); - providers.forEach(p -> names.add(p.getBlockTypes())); + providers.stream().filter(BlockDataProvider::isPresent).forEach(p -> names.add(p.getBlockTypes())); return names.toArray(new NamespacedKey[0]); } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDimension.java b/src/main/java/com/volmit/iris/engine/object/IrisDimension.java index 9997cc93b..597ba4c98 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDimension.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisDimension.java @@ -74,6 +74,7 @@ public class IrisDimension extends IrisRegistrant { @MaxNumber(2032) @Desc("Maximum height at which players can be teleported to through gameplay.") private int logicalHeight = 256; + @RegistryListResource(IrisJigsawStructure.class) @Desc("If defined, Iris will place the given jigsaw structure where minecraft should place the overworld stronghold.") private String stronghold; @@ -405,19 +406,20 @@ public class IrisDimension extends IrisRegistrant { } } - /* if(!dimensionHeight.equals(new IrisRange(-64, 320))) { - File dimType = new File(datapacks, "iris/data/minecraft/dimension_type/" + getLoadKey().toLowerCase() + ".json"); - if(!dimType.exists()) - changed = true; + if(!dimensionHeight.equals(new IrisRange(-64, 320)) && this.name.equalsIgnoreCase("overworld")) { + File dimType = new File(datapacks, "iris/data/minecraft/dimension_type/overworld.json"); + if(!dimType.exists()) + changed = true; - Iris.verbose(" Installing Data Pack Dimension Type: " + dimType.getPath()); - dimType.getParentFile().mkdirs(); - try { - IO.writeAll(dimType, generateDatapackJson()); - } catch(IOException e) { - Iris.reportError(e); - e.printStackTrace(); - }*/ + Iris.verbose(" Installing Data Pack Dimension Type: " + dimType.getPath()); + dimType.getParentFile().mkdirs(); + try { + IO.writeAll(dimType, generateDatapackJson()); + } catch(IOException e) { + Iris.reportError(e); + e.printStackTrace(); + } + } if(write) { File mcm = new File(datapacks, "iris/pack.mcmeta"); @@ -465,19 +467,17 @@ public class IrisDimension extends IrisRegistrant { private static final String DP_OVERWORLD_DEFAULT = """ { - "name": "minecraft:overworld", "ultrawarm": false, "natural": true, "coordinate_scale": 1.0, "has_skylight": true, "has_ceiling": false, "ambient_light": 0, - "fixed_time": false, "piglin_safe": false, "bed_works": true, "respawn_anchor_works": false, "has_raids": true, - "infiniburn": "infiniburn_overworld", + "infiniburn": "#minecraft:infiniburn_overworld", "effects": "minecraft:overworld" }"""; } 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 45b08c037..c21e9eff1 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -165,6 +165,7 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun 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); }