From 2915ef885ebe4ebf6922d6a64ab755a5d35c33f9 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sun, 3 Jan 2021 10:25:21 -0500 Subject: [PATCH] Better mv support --- .../iris/manager/link/MultiverseCoreLink.java | 56 ++++++++++++++----- 1 file changed, 41 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/volmit/iris/manager/link/MultiverseCoreLink.java b/src/main/java/com/volmit/iris/manager/link/MultiverseCoreLink.java index 541815809..1801a1907 100644 --- a/src/main/java/com/volmit/iris/manager/link/MultiverseCoreLink.java +++ b/src/main/java/com/volmit/iris/manager/link/MultiverseCoreLink.java @@ -1,29 +1,25 @@ package com.volmit.iris.manager.link; +import com.volmit.iris.object.IrisDimension; +import com.volmit.iris.util.KMap; +import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.WorldType; +import org.bukkit.plugin.Plugin; + import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Map; -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.World.Environment; -import org.bukkit.WorldType; -import org.bukkit.plugin.Plugin; - -import com.volmit.iris.object.IrisDimension; - public class MultiverseCoreLink { + private final KMap worldNameTypes = new KMap<>(); + public MultiverseCoreLink() { } - public boolean supported() - { - return getMultiverse() != null; - } - public boolean addWorld(String worldName, IrisDimension dim, String seed) { if(!supported()) @@ -37,7 +33,7 @@ public class MultiverseCoreLink Object mvWorldManager = p.getClass().getDeclaredMethod("getMVWorldManager").invoke(p); Method m = mvWorldManager.getClass().getDeclaredMethod("addWorld", - String.class, Environment.class, String.class, WorldType.class, Boolean.class, String.class, boolean.class); + String.class, World.Environment.class, String.class, WorldType.class, Boolean.class, String.class, boolean.class); boolean b = (boolean) m.invoke(mvWorldManager, worldName, dim.getEnvironment(), seed, WorldType.NORMAL, dim.isVanillaStructures(), "Iris", false); saveConfig(); return b; @@ -81,7 +77,7 @@ public class MultiverseCoreLink getList().remove(world.getName()); saveConfig(); } - + public void removeFromConfig(String world) { if(!supported()) @@ -108,6 +104,22 @@ public class MultiverseCoreLink } } + public void assignWorldType(String worldName, String type) + { + worldNameTypes.put(worldName, type); + } + + public String getWorldNameType(String worldName, String defaultType) + { + String t = worldNameTypes.get(worldName); + return t == null ? defaultType : t; + } + + public boolean supported() + { + return getMultiverse() != null; + } + public Plugin getMultiverse() { Plugin p = Bukkit.getPluginManager().getPlugin("Multiverse-Core"); @@ -119,4 +131,18 @@ public class MultiverseCoreLink return p; } + + public String envName(World.Environment environment) { + switch(environment) + { + case NORMAL: + return "normal"; + case NETHER: + return "nether"; + case THE_END: + return "end"; + } + + return environment.toString().toLowerCase(); + } }