From 6b59aa38ae8ea5e0dc020cba3256113621be58a2 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 13 Apr 2022 18:46:19 -0400 Subject: [PATCH 1/5] Allow terrain to use the world height --- src/main/java/com/volmit/iris/engine/IrisComplex.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index fc977ef42..d2647003f 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -336,8 +336,7 @@ public class IrisComplex implements DataProvider { } private double getHeight(Engine engine, IrisBiome b, double x, double z, long seed) { - return Math.min(engine.getWorld().maxHeight(), - Math.max(getInterpolatedHeight(engine, x, z, seed) + fluidHeight + overlayStream.get(x, z), engine.getWorld().minHeight())); + return Math.max(Math.min(getInterpolatedHeight(engine, x, z, seed) + fluidHeight + overlayStream.get(x, z), engine.getHeight()), 0); } private void registerGenerator(IrisGenerator cachedGenerator) { From 124ad23a950a8348d9dd32390b140ed0f8c2ddd1 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 13 Apr 2022 18:47:31 -0400 Subject: [PATCH 2/5] This is to prevent warnings for weird objects, (revert) --- .../java/com/volmit/iris/engine/object/IrisObjectLimit.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java b/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java index 9d547a6df..7b547de95 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java @@ -42,7 +42,7 @@ public class IrisObjectLimit { @MinNumber(0) @MaxNumber(1024) @Desc("The maximum height for placement (top of object)") - private int maximumHeight = 255; + private int maximumHeight = 512; public boolean canPlace(int h, int l) { return h <= maximumHeight && l >= minimumHeight; From 584400d011f1c10f773fbb9600dd204a3c693ad0 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 13 Apr 2022 18:47:31 -0400 Subject: [PATCH 3/5] Revert "This is to prevent warnings for weird objects, (revert)" This reverts commit 124ad23a950a8348d9dd32390b140ed0f8c2ddd1. --- .../java/com/volmit/iris/engine/object/IrisObjectLimit.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java b/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java index 7b547de95..9d547a6df 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java @@ -42,7 +42,7 @@ public class IrisObjectLimit { @MinNumber(0) @MaxNumber(1024) @Desc("The maximum height for placement (top of object)") - private int maximumHeight = 512; + private int maximumHeight = 255; public boolean canPlace(int h, int l) { return h <= maximumHeight && l >= minimumHeight; From 8090ba0259ec6da4abcf62e2eb3597e9c251abed Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 13 Apr 2022 19:11:31 -0400 Subject: [PATCH 4/5] Fix object placement --- .../java/com/volmit/iris/core/commands/CommandObject.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/core/commands/CommandObject.java b/src/main/java/com/volmit/iris/core/commands/CommandObject.java index ff0ea9258..0bf075bb5 100644 --- a/src/main/java/com/volmit/iris/core/commands/CommandObject.java +++ b/src/main/java/com/volmit/iris/core/commands/CommandObject.java @@ -327,7 +327,11 @@ public class CommandObject implements DecreeExecutor { Map futureChanges = new HashMap<>(); - o = o.scaled(scale, IrisObjectPlacementScaleInterpolator.TRICUBIC); + if(scale != 1) + { + o = o.scaled(scale, IrisObjectPlacementScaleInterpolator.TRICUBIC); + } + o.place(block.getBlockX(), block.getBlockY() + (int) o.getCenter().getY(), block.getBlockZ(), createPlacer(block.getWorld(), futureChanges), placement, new RNG(), null); Iris.service(ObjectSVC.class).addChanges(futureChanges); From d315e99b637dd0dea340619558c4b3e726af8a72 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 13 Apr 2022 19:17:25 -0400 Subject: [PATCH 5/5] Drop oraxen support --- 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 deletions(-) delete mode 100644 src/main/java/com/volmit/iris/core/link/OraxenLink.java diff --git a/build.gradle b/build.gradle index 0b27ed74d..1e5f3348e 100644 --- a/build.gradle +++ b/build.gradle @@ -124,7 +124,6 @@ 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 e4a308afc..adb7e232c 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -23,7 +23,6 @@ import com.volmit.iris.core.ServerConfigurator; 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; @@ -65,7 +64,6 @@ import org.bukkit.World; 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; @@ -95,7 +93,6 @@ 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; @@ -401,7 +398,6 @@ public class Iris extends VolmitPlugin implements Listener { 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 deleted file mode 100644 index 3c3c36eec..000000000 --- a/src/main/java/com/volmit/iris/core/link/OraxenLink.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * 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 b0342b9ee..d61ee7542 100644 --- a/src/main/java/com/volmit/iris/util/data/B.java +++ b/src/main/java/com/volmit/iris/util/data/B.java @@ -462,10 +462,6 @@ public class B { 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(":")) { @@ -652,14 +648,6 @@ public class B { } } - 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) {