From a40e53306899ed0e6a33070680ac3c6808be633f Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 13 Apr 2022 19:17:25 -0400 Subject: [PATCH 1/6] Revert "Drop oraxen support " This reverts commit d315e99b637dd0dea340619558c4b3e726af8a72. --- build.gradle | 1 + src/main/java/com/volmit/iris/Iris.java | 4 + .../com/volmit/iris/core/link/OraxenLink.java | 113 ++++++++++++++++++ .../java/com/volmit/iris/util/data/B.java | 12 ++ 4 files changed, 130 insertions(+) create mode 100644 src/main/java/com/volmit/iris/core/link/OraxenLink.java diff --git a/build.gradle b/build.gradle index 1e5f3348e..0b27ed74d 100644 --- a/build.gradle +++ b/build.gradle @@ -124,6 +124,7 @@ dependencies { annotationProcessor 'org.projectlombok:lombok:1.18.22' implementation 'org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT' implementation 'me.clip:placeholderapi:2.11.1' + implementation 'io.th0rgal:oraxen:1.94.0' implementation 'org.bukkit:craftbukkit:1.18.2-R0.1-SNAPSHOT:remapped-mojang' // Shaded diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index adb7e232c..e4a308afc 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -23,6 +23,7 @@ import com.volmit.iris.core.link.IrisPapiExpansion; import com.volmit.iris.core.link.MultiverseCoreLink; import com.volmit.iris.core.link.MythicMobsLink; +import com.volmit.iris.core.link.OraxenLink; import com.volmit.iris.core.loader.IrisData; import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.service.StudioSVC; @@ -64,6 +65,7 @@ import org.bukkit.WorldCreator; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; +import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; @@ -93,6 +95,7 @@ public class Iris extends VolmitPlugin implements Listener { public static Iris instance; public static BukkitAudiences audiences; public static MultiverseCoreLink linkMultiverseCore; + public static OraxenLink linkOraxen; public static MythicMobsLink linkMythicMobs; public static IrisCompat compat; public static FileWatcher configWatcher; @@ -398,6 +401,7 @@ private void enable() { instance = this; compat = IrisCompat.configured(getDataFile("compat.json")); linkMultiverseCore = new MultiverseCoreLink(); + linkOraxen = new OraxenLink(); linkMythicMobs = new MythicMobsLink(); configWatcher = new FileWatcher(getDataFile("settings.json")); services.values().forEach(IrisService::onEnable); diff --git a/src/main/java/com/volmit/iris/core/link/OraxenLink.java b/src/main/java/com/volmit/iris/core/link/OraxenLink.java new file mode 100644 index 000000000..3c3c36eec --- /dev/null +++ b/src/main/java/com/volmit/iris/core/link/OraxenLink.java @@ -0,0 +1,113 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2022 Arcane Arts (Volmit Software) + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.core.link; + +import com.volmit.iris.util.collection.KList; +import io.th0rgal.oraxen.items.OraxenItems; +import io.th0rgal.oraxen.mechanics.Mechanic; +import io.th0rgal.oraxen.mechanics.MechanicFactory; +import io.th0rgal.oraxen.mechanics.MechanicsManager; +import io.th0rgal.oraxen.mechanics.provided.gameplay.block.BlockMechanic; +import io.th0rgal.oraxen.mechanics.provided.gameplay.block.BlockMechanicFactory; +import io.th0rgal.oraxen.mechanics.provided.gameplay.noteblock.NoteBlockMechanicFactory; +import io.th0rgal.oraxen.utils.Utils; +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.block.data.BlockData; +import org.bukkit.block.data.MultipleFacing; +import org.bukkit.plugin.Plugin; + +import java.lang.reflect.Field; +import java.util.Map; + +public class OraxenLink { + private static final String[] EMPTY = new String[0]; + + public boolean supported() { + return getOraxen() != null; + } + + public BlockData getBlockDataFor(String id) { + if(!supported()) { + return null; + } + + MechanicFactory f = getFactory(id); + + if(f == null) { + return null; + } + + Mechanic m = f.getMechanic(id); + + // TODO: Why isnt there a simple getBlockData() function? + if(m.getFactory() instanceof NoteBlockMechanicFactory) { + return ((NoteBlockMechanicFactory) m.getFactory()).createNoteBlockData(id); + } else if(m.getFactory() instanceof BlockMechanicFactory) { + MultipleFacing newBlockData = (MultipleFacing) Bukkit.createBlockData(Material.MUSHROOM_STEM); + Utils.setBlockFacing(newBlockData, ((BlockMechanic) m).getCustomVariation()); + return newBlockData; + } + + return null; + } + + public MechanicFactory getFactory(String id) { + if(!supported()) { + return null; + } + + try { + Field f = MechanicsManager.class.getDeclaredField("FACTORIES_BY_MECHANIC_ID"); + f.setAccessible(true); + Map map = (Map) f.get(null); + + for(MechanicFactory i : map.values()) { + if(i.getItems().contains(id)) { + return i; + } + } + } catch(Throwable e) { + e.printStackTrace(); + } + + return null; + } + + public String[] getItemTypes() { + if(!supported()) { + return EMPTY; + } + + KList v = new KList<>(); + + for(String i : OraxenItems.getItemNames()) { + if(getBlockDataFor(i) != null) { + v.add(i); + } + } + + return v.toArray(new String[0]); + } + + public Plugin getOraxen() { + + return Bukkit.getPluginManager().getPlugin("Oraxen"); + } +} diff --git a/src/main/java/com/volmit/iris/util/data/B.java b/src/main/java/com/volmit/iris/util/data/B.java index d61ee7542..b0342b9ee 100644 --- a/src/main/java/com/volmit/iris/util/data/B.java +++ b/src/main/java/com/volmit/iris/util/data/B.java @@ -462,6 +462,10 @@ private static BlockData parseBlockData(String ix) { BlockData bx = null; if(!ix.startsWith("minecraft:")) { + if(ix.startsWith("oraxen:") && Iris.linkOraxen.supported()) { + bx = Iris.linkOraxen.getBlockDataFor(ix.split("\\Q:\\E")[1]); + } + if(bx == null) { try { if(ix.contains(":")) { @@ -648,6 +652,14 @@ public synchronized static String[] getBlockTypes() { } } + try { + for(String i : Iris.linkOraxen.getItemTypes()) { + bt.add("oraxen:" + i); + } + } catch(Throwable e) { + e.printStackTrace(); + } + try { bt.addAll(Iris.service(RegistrySVC.class).getCustomBlockRegistry().compile()); } catch(Throwable e) { From 185b366d8d8660c0f92ed07bf9a451f2041ef004 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Thu, 14 Apr 2022 20:40:37 -0400 Subject: [PATCH 2/6] Lots of crap --- src/main/java/com/volmit/iris/Iris.java | 1 + .../volmit/iris/core/tools/IrisToolbelt.java | 56 +++++++++++++++ .../iris/engine/mantle/MantleWriter.java | 70 +++++++++++++++++++ .../engine/object/IrisGeneratorStyle.java | 5 ++ .../com/volmit/iris/util/mantle/Mantle.java | 6 ++ .../volmit/iris/util/mantle/MantleFlag.java | 3 +- .../iris/util/matter/slices/CavernMatter.java | 1 + 7 files changed, 141 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index e4a308afc..9ba2d5b9f 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -27,6 +27,7 @@ import com.volmit.iris.core.loader.IrisData; import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.service.StudioSVC; +import com.volmit.iris.core.tools.IrisToolbelt; import com.volmit.iris.engine.EnginePanic; import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.engine.object.IrisCompat; diff --git a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java index e55697795..ddee33cc0 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java @@ -32,15 +32,21 @@ import com.volmit.iris.util.plugin.VolmitSender; import org.bukkit.Bukkit; import org.bukkit.World; +import org.bukkit.block.data.BlockData; import org.bukkit.entity.Player; import java.io.File; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Map; /** * Something you really want to wear if working on Iris. Shit gets pretty hectic down there. * Hope you packed snacks & road sodas. */ public class IrisToolbelt { + public static Map toolbeltConfiguration = new HashMap<>(); + /** * Will find / download / search for the dimension or return null *

@@ -210,4 +216,54 @@ public static boolean evacuate(World world, String m) { public static boolean isStudio(World i) { return isIrisWorld(i) && access(i).isStudio(); } + + public static void retainMantleDataForSlice(String className) + { + toolbeltConfiguration.put("retain.mantle." + className, true); + } + + public static T getMantleData(World world, int x, int y, int z, Class of) + { + PlatformChunkGenerator e = access(world); + if(e == null) {return null;} + return e.getEngine().getMantle().getMantle().get(x, y - world.getMinHeight(), z, of); + } + + /////////////////// REFLECTIVE METHODS ////////////////////////// + // Copy this stuff to your project, it's safe to use with a + // bukkit api only. + ///////////////////////////////////////////////////////////////// + + public static void setup() throws Throwable { + Method m = Class.forName("com.volmit.iris.core.tools.IrisToolbelt").getDeclaredMethod("retainMantleDataForSlice", String.class); + m.invoke(null, String.class.getCanonicalName()); + m.invoke(null, BlockData.class.getCanonicalName()); + } + + public static boolean hasMantleObject(World world, int x, int y, int z) { + try { + Method m = Class.forName("com.volmit.iris.core.tools.IrisToolbelt").getDeclaredMethod("getMantleData", World.class, int.class, int.class, int.class, Class.class); + String s = (String) m.invoke(null, world, x, y, z, String.class); + if(s != null) {return true;} + } catch(Throwable ignored) {} + return false; + } + + public static BlockData getMantleBlock(World world, int x, int y, int z) { + try { + Method m = Class.forName("com.volmit.iris.core.tools.IrisToolbelt").getDeclaredMethod("getMantleData", World.class, int.class, int.class, int.class, Class.class); + BlockData s = (BlockData) m.invoke(null, world, x, y, z, BlockData.class); + if(s != null) {return s;} + } catch(Throwable ignored) {} + return null; + } + + public static int getMantleIdentity(World world, int x, int y, int z) { + try { + Method m = Class.forName("com.volmit.iris.core.tools.IrisToolbelt").getDeclaredMethod("getMantleData", World.class, int.class, int.class, int.class, Class.class); + String s = (String) m.invoke(null, world, x, y, z, String.class); + if(s != null) {return Integer.parseInt(s.split("\\Q@\\E")[1]);} + } catch(Throwable ignored) {} + return -1; + } } diff --git a/src/main/java/com/volmit/iris/engine/mantle/MantleWriter.java b/src/main/java/com/volmit/iris/engine/mantle/MantleWriter.java index e97ebc951..7e25db679 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/MantleWriter.java +++ b/src/main/java/com/volmit/iris/engine/mantle/MantleWriter.java @@ -24,6 +24,7 @@ import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.object.IObjectPlacer; +import com.volmit.iris.engine.object.IrisGeneratorStyle; import com.volmit.iris.engine.object.IrisPosition; import com.volmit.iris.engine.object.TileData; import com.volmit.iris.util.collection.KMap; @@ -31,6 +32,7 @@ import com.volmit.iris.util.function.Function3; import com.volmit.iris.util.mantle.Mantle; import com.volmit.iris.util.mantle.MantleChunk; +import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.matter.Matter; import lombok.Data; import org.bukkit.block.TileState; @@ -121,6 +123,13 @@ private static double lengthSq(double x, double z) { return (x * x) + (z * z); } + public void setDataWarped(int x, int y, int z, T t, RNG rng, IrisData data, IrisGeneratorStyle style) + { + setData((int)Math.round(style.warp(rng, data, x, x, y, -z)), + (int)Math.round(style.warp(rng, data, y, z, -x, y)), + (int)Math.round(style.warp(rng, data, z, -y, z, x)), t); + } + public void setData(int x, int y, int z, T t) { if(t == null) { return; @@ -233,6 +242,10 @@ public void setElipsoid(int cx, int cy, int cz, double rx, double ry, double setElipsoidFunction(cx, cy, cz, rx, ry, rz, fill, (a, b, c) -> data); } + public void setElipsoidWarped(int cx, int cy, int cz, double rx, double ry, double rz, boolean fill, T data, RNG rng, IrisData idata, IrisGeneratorStyle style) { + setElipsoidFunctionWarped(cx, cy, cz, rx, ry, rz, fill, (a, b, c) -> data, rng, idata, style); + } + /** * Set an elipsoid into the mantle * @@ -312,6 +325,63 @@ public void setElipsoidFunction(int cx, int cy, int cz, double rx, double ry } } + public void setElipsoidFunctionWarped(int cx, int cy, int cz, double rx, double ry, double rz, boolean fill, Function3 data, RNG rng, IrisData idata, IrisGeneratorStyle style) { + rx += 0.5; + ry += 0.5; + rz += 0.5; + final double invRadiusX = 1 / rx; + final double invRadiusY = 1 / ry; + final double invRadiusZ = 1 / rz; + final int ceilRadiusX = (int) Math.ceil(rx); + final int ceilRadiusY = (int) Math.ceil(ry); + final int ceilRadiusZ = (int) Math.ceil(rz); + double nextXn = 0; + + forX: + for(int x = 0; x <= ceilRadiusX; ++x) { + final double xn = nextXn; + nextXn = (x + 1) * invRadiusX; + double nextYn = 0; + forY: + for(int y = 0; y <= ceilRadiusY; ++y) { + final double yn = nextYn; + nextYn = (y + 1) * invRadiusY; + double nextZn = 0; + for(int z = 0; z <= ceilRadiusZ; ++z) { + final double zn = nextZn; + nextZn = (z + 1) * invRadiusZ; + + double distanceSq = lengthSq(xn, yn, zn); + if(distanceSq > 1) { + if(z == 0) { + if(y == 0) { + break forX; + } + break forY; + } + break; + } + + if(!fill) { + if(lengthSq(nextXn, yn, zn) <= 1 && lengthSq(xn, nextYn, zn) <= 1 && lengthSq(xn, yn, nextZn) <= 1) { + continue; + } + } + + setDataWarped(x + cx, y + cy, z + cz, data.apply(x + cx, y + cy, z + cz), rng, idata, style); + setDataWarped(-x + cx, y + cy, z + cz, data.apply(-x + cx, y + cy, z + cz), rng, idata, style); + setDataWarped(x + cx, -y + cy, z + cz, data.apply(x + cx, -y + cy, z + cz), rng, idata, style); + setDataWarped(x + cx, y + cy, -z + cz, data.apply(x + cx, y + cy, -z + cz), rng, idata, style); + setDataWarped(-x + cx, y + cy, -z + cz, data.apply(-x + cx, y + cy, -z + cz), rng, idata, style); + setDataWarped(-x + cx, -y + cy, z + cz, data.apply(-x + cx, -y + cy, z + cz), rng, idata, style); + setDataWarped(x + cx, -y + cy, -z + cz, data.apply(x + cx, -y + cy, -z + cz), rng, idata, style); + setDataWarped(-x + cx, y + cy, -z + cz, data.apply(-x + cx, y + cy, -z + cz), rng, idata, style); + setDataWarped(-x + cx, -y + cy, -z + cz, data.apply(-x + cx, -y + cy, -z + cz), rng, idata, style); + } + } + } + } + /** * Set a cuboid of data in the mantle * diff --git a/src/main/java/com/volmit/iris/engine/object/IrisGeneratorStyle.java b/src/main/java/com/volmit/iris/engine/object/IrisGeneratorStyle.java index f857bd72e..a793b5dc1 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisGeneratorStyle.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisGeneratorStyle.java @@ -128,6 +128,11 @@ public CNG createNoCache(RNG rng, IrisData data) { return cng; } + public double warp(RNG rng, IrisData data, double value, double... coords) + { + return create(rng, data).noise(coords) + value; + } + public CNG create(RNG rng, IrisData data) { return cng.aquire(() -> createNoCache(rng, data)); } diff --git a/src/main/java/com/volmit/iris/util/mantle/Mantle.java b/src/main/java/com/volmit/iris/util/mantle/Mantle.java index 7b308d01a..d548919f9 100644 --- a/src/main/java/com/volmit/iris/util/mantle/Mantle.java +++ b/src/main/java/com/volmit/iris/util/mantle/Mantle.java @@ -20,6 +20,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; +import com.volmit.iris.core.tools.IrisToolbelt; import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.mantle.EngineMantle; @@ -570,6 +571,11 @@ public MantleChunk getChunk(Chunk e) { } public void deleteChunkSlice(int x, int z, Class c) { + if(!IrisToolbelt.toolbeltConfiguration.isEmpty() && IrisToolbelt.toolbeltConfiguration.getOrDefault("retain.mantle." + c.getCanonicalName(), false)) + { + return; + } + getChunk(x, z).deleteSlices(c); } diff --git a/src/main/java/com/volmit/iris/util/mantle/MantleFlag.java b/src/main/java/com/volmit/iris/util/mantle/MantleFlag.java index 1ad8728d0..855e5886d 100644 --- a/src/main/java/com/volmit/iris/util/mantle/MantleFlag.java +++ b/src/main/java/com/volmit/iris/util/mantle/MantleFlag.java @@ -31,7 +31,8 @@ public enum MantleFlag { FLUID_BODIES, INITIAL_SPAWNED_MARKER, CLEANED, - PLANNED; + PLANNED, + ETCHED; static StateList getStateList() { return new StateList(MantleFlag.values()); diff --git a/src/main/java/com/volmit/iris/util/matter/slices/CavernMatter.java b/src/main/java/com/volmit/iris/util/matter/slices/CavernMatter.java index 701cad208..66a00c916 100644 --- a/src/main/java/com/volmit/iris/util/matter/slices/CavernMatter.java +++ b/src/main/java/com/volmit/iris/util/matter/slices/CavernMatter.java @@ -29,6 +29,7 @@ @Sliced public class CavernMatter extends RawMatter { public static final MatterCavern EMPTY = new MatterCavern(false, "", (byte) 0); + public static final MatterCavern BASIC = new MatterCavern(true, "", (byte) 0); public CavernMatter() { this(1, 1, 1); From 51b0693c99a2e5c5a90136594488e4144b29161b Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Thu, 14 Apr 2022 20:43:10 -0400 Subject: [PATCH 3/6] fix --- src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java index ddee33cc0..e4c86c8cb 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java @@ -241,12 +241,7 @@ public static void setup() throws Throwable { } public static boolean hasMantleObject(World world, int x, int y, int z) { - try { - Method m = Class.forName("com.volmit.iris.core.tools.IrisToolbelt").getDeclaredMethod("getMantleData", World.class, int.class, int.class, int.class, Class.class); - String s = (String) m.invoke(null, world, x, y, z, String.class); - if(s != null) {return true;} - } catch(Throwable ignored) {} - return false; + return getMantleIdentity(world, x, y, z) != -1; } public static BlockData getMantleBlock(World world, int x, int y, int z) { From 4a2f42437f5a8c433faaab112f31f4039684f1c7 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Thu, 14 Apr 2022 23:47:25 -0400 Subject: [PATCH 4/6] Mantle deletes --- .../com/volmit/iris/core/tools/IrisToolbelt.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java index e4c86c8cb..d6f011246 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java @@ -229,6 +229,13 @@ public static T getMantleData(World world, int x, int y, int z, Class of) return e.getEngine().getMantle().getMantle().get(x, y - world.getMinHeight(), z, of); } + public static void deleteMantleData(World world, int x, int y, int z, Class of) + { + PlatformChunkGenerator e = access(world); + if(e == null) {return;} + e.getEngine().getMantle().getMantle().remove(x, y - world.getMinHeight(), z, of); + } + /////////////////// REFLECTIVE METHODS ////////////////////////// // Copy this stuff to your project, it's safe to use with a // bukkit api only. @@ -244,6 +251,13 @@ public static boolean hasMantleObject(World world, int x, int y, int z) { return getMantleIdentity(world, x, y, z) != -1; } + public static void deleteMantleBlock(World world, int x, int y, int z) { + try { + Method m = Class.forName("com.volmit.iris.core.tools.IrisToolbelt").getDeclaredMethod("deleteMantleData", World.class, int.class, int.class, int.class, Class.class); + m.invoke(null, world, x, y, z, BlockData.class); + } catch(Throwable ignored) {} + } + public static BlockData getMantleBlock(World world, int x, int y, int z) { try { Method m = Class.forName("com.volmit.iris.core.tools.IrisToolbelt").getDeclaredMethod("getMantleData", World.class, int.class, int.class, int.class, Class.class); From e9eeb8335dce952106b0c99b18143966c1c5fb6d Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Thu, 14 Apr 2022 23:58:06 -0400 Subject: [PATCH 5/6] f --- src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java index d6f011246..cb0413d8c 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java @@ -255,6 +255,7 @@ public static void deleteMantleBlock(World world, int x, int y, int z) { try { Method m = Class.forName("com.volmit.iris.core.tools.IrisToolbelt").getDeclaredMethod("deleteMantleData", World.class, int.class, int.class, int.class, Class.class); m.invoke(null, world, x, y, z, BlockData.class); + m.invoke(null, world, x, y, z, String.class); } catch(Throwable ignored) {} } From 935d11b433fb88a1f5e145cc48c90996f6722eab Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Sat, 16 Apr 2022 01:23:15 -0700 Subject: [PATCH 6/6] V+ --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 0b27ed74d..84a07a673 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ plugins { id "de.undercouch.download" version "5.0.1" } -version '2.0.4-1.18.2' // Needs to be version specific +version '2.0.5-1.18.2' // Needs to be version specific def nmsVersion = "1.18.2" def apiVersion = '1.18' def spigotJarVersion = '1.18.2-R0.1-SNAPSHOT'