mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-04-07 16:26:14 +00:00
Move NMS out of legacy
This commit is contained in:
@@ -57,18 +57,15 @@ public class IrisComplex implements DataProvider
|
||||
{
|
||||
case CAVE:
|
||||
return caveBiomeStream;
|
||||
case DEFER:
|
||||
break;
|
||||
case LAKE:
|
||||
break;
|
||||
case LAND:
|
||||
return landBiomeStream;
|
||||
case RIVER:
|
||||
break;
|
||||
case SEA:
|
||||
return seaBiomeStream;
|
||||
case SHORE:
|
||||
return shoreBiomeStream;
|
||||
case DEFER:
|
||||
case LAKE:
|
||||
case RIVER:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@ public class IrisEngineFramework implements EngineFramework {
|
||||
@Getter
|
||||
private final Engine engine;
|
||||
|
||||
|
||||
@Getter
|
||||
private final IrisComplex complex;
|
||||
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
package com.volmit.iris.generator.legacy.nms;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.generator.legacy.nms.v1X.NMSBinding1X;
|
||||
import com.volmit.iris.util.KMap;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
public class INMS
|
||||
{
|
||||
//@builder
|
||||
private static final KMap<String, Class<? extends INMSBinding>> bindings = new KMap<String, Class<? extends INMSBinding>>()
|
||||
;//.qput("v1_16_R2", NMSBinding16_2.class);
|
||||
//@done
|
||||
private static final INMSBinding binding = bind();
|
||||
|
||||
public static INMSBinding get()
|
||||
{
|
||||
return binding;
|
||||
}
|
||||
|
||||
private static final String getNMSTag()
|
||||
{
|
||||
if(IrisSettings.get().disableNMS)
|
||||
{
|
||||
return "BUKKIT";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Bukkit.getServer().getClass().getCanonicalName().split("\\Q.\\E")[3];
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
Iris.error("Failed to determine server nms version!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return "BUKKIT";
|
||||
}
|
||||
|
||||
private static final INMSBinding bind()
|
||||
{
|
||||
String code = getNMSTag();
|
||||
Iris.info("Locating NMS Binding for " + code);
|
||||
|
||||
if(bindings.containsKey(code))
|
||||
{
|
||||
try
|
||||
{
|
||||
INMSBinding b = bindings.get(code).getConstructor().newInstance();
|
||||
Iris.info("Craftbukkit " + code + " <-> " + b.getClass().getSimpleName() + " Successfully Bound");
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
Iris.info("Craftbukkit " + code + " <-> " + NMSBinding1X.class.getSimpleName() + " Successfully Bound");
|
||||
Iris.warn("Note: Some features of Iris may not work the same since you are on an unsupported version of Minecraft.");
|
||||
Iris.warn("Note: If this is a new version, expect an update soon.");
|
||||
|
||||
return new NMSBinding1X();
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package com.volmit.iris.generator.legacy.nms;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.WorldCreator;
|
||||
|
||||
public interface INMSBinding
|
||||
{
|
||||
public INMSCreator getCreator();
|
||||
|
||||
default World createWorld(WorldCreator creator)
|
||||
{
|
||||
return getCreator().createWorld(creator);
|
||||
}
|
||||
|
||||
default World createWorld(WorldCreator creator, boolean loadSpawn)
|
||||
{
|
||||
return getCreator().createWorld(creator, loadSpawn);
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package com.volmit.iris.generator.legacy.nms;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.WorldCreator;
|
||||
|
||||
public interface INMSCreator
|
||||
{
|
||||
default World createWorld(WorldCreator creator)
|
||||
{
|
||||
return createWorld(creator, false);
|
||||
}
|
||||
|
||||
public World createWorld(WorldCreator creator, boolean loadSpawn);
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package com.volmit.iris.generator.legacy.nms.v1X;
|
||||
|
||||
import com.volmit.iris.generator.legacy.atomics.AtomicCache;
|
||||
import com.volmit.iris.generator.legacy.nms.INMSBinding;
|
||||
import com.volmit.iris.generator.legacy.nms.INMSCreator;
|
||||
|
||||
public class NMSBinding1X implements INMSBinding
|
||||
{
|
||||
private final AtomicCache<INMSCreator> creator = new AtomicCache<>();
|
||||
|
||||
@Override
|
||||
public INMSCreator getCreator()
|
||||
{
|
||||
return creator.aquire(NMSCreator1X::new);
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package com.volmit.iris.generator.legacy.nms.v1X;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.WorldCreator;
|
||||
|
||||
import com.volmit.iris.generator.legacy.nms.INMSCreator;
|
||||
|
||||
class NMSCreator1X implements INMSCreator
|
||||
{
|
||||
public World createWorld(WorldCreator creator, boolean loadSpawn)
|
||||
{
|
||||
return creator.createWorld();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user