mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-04-07 16:26:14 +00:00
Forcefully shove stuff into other stuff
This commit is contained in:
38
src/main/java/com/volmit/iris/manager/link/BKLink.java
Normal file
38
src/main/java/com/volmit/iris/manager/link/BKLink.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package com.volmit.iris.manager.link;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
public class BKLink
|
||||
{
|
||||
public BKLink()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void updateBlock(Block b) {
|
||||
BlockData d = b.getBlockData();
|
||||
b.setType(Material.AIR, false);
|
||||
b.setBlockData(d, true);
|
||||
}
|
||||
|
||||
public boolean supported()
|
||||
{
|
||||
return getBK() != null;
|
||||
}
|
||||
|
||||
public Plugin getBK()
|
||||
{
|
||||
Plugin p = Bukkit.getPluginManager().getPlugin("BKCommonLib");
|
||||
|
||||
if(p == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
}
|
||||
41
src/main/java/com/volmit/iris/manager/link/CitizensLink.java
Normal file
41
src/main/java/com/volmit/iris/manager/link/CitizensLink.java
Normal file
@@ -0,0 +1,41 @@
|
||||
package com.volmit.iris.manager.link;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
public class CitizensLink
|
||||
{
|
||||
public CitizensLink()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public boolean supported()
|
||||
{
|
||||
return getCitizens() != null;
|
||||
}
|
||||
|
||||
// public Entity spawn(EntityType type, String npcType, Location a)
|
||||
// {
|
||||
// if(!supported())
|
||||
// {
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// NPC npc = CitizensAPI.getNPCRegistry().createNPC(type, "");
|
||||
// npc.spawn(a);
|
||||
// return npc.getEntity();
|
||||
// }
|
||||
|
||||
public Plugin getCitizens()
|
||||
{
|
||||
Plugin p = Bukkit.getPluginManager().getPlugin("Citizens");
|
||||
|
||||
if(p == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.volmit.iris.manager.link;
|
||||
|
||||
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
|
||||
{
|
||||
public MultiverseCoreLink()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public boolean supported()
|
||||
{
|
||||
return getMultiverse() != null;
|
||||
}
|
||||
|
||||
public boolean addWorld(String worldName, IrisDimension dim, String seed)
|
||||
{
|
||||
if(!supported())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Plugin p = getMultiverse();
|
||||
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);
|
||||
boolean b = (boolean) m.invoke(mvWorldManager, worldName, dim.getEnvironment(), seed, WorldType.NORMAL, dim.isVanillaStructures(), "Iris", false);
|
||||
saveConfig();
|
||||
return b;
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Map<String, ?> getList()
|
||||
{
|
||||
try
|
||||
{
|
||||
Plugin p = getMultiverse();
|
||||
Object mvWorldManager = p.getClass().getDeclaredMethod("getMVWorldManager").invoke(p);
|
||||
Field f = mvWorldManager.getClass().getDeclaredField("worldsFromTheConfig");
|
||||
f.setAccessible(true);
|
||||
return (Map<String, ?>) f.get(mvWorldManager);
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void removeFromConfig(World world)
|
||||
{
|
||||
if(!supported())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
getList().remove(world.getName());
|
||||
saveConfig();
|
||||
}
|
||||
|
||||
public void removeFromConfig(String world)
|
||||
{
|
||||
if(!supported())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
getList().remove(world);
|
||||
saveConfig();
|
||||
}
|
||||
|
||||
public void saveConfig()
|
||||
{
|
||||
try
|
||||
{
|
||||
Plugin p = getMultiverse();
|
||||
Object mvWorldManager = p.getClass().getDeclaredMethod("getMVWorldManager").invoke(p);
|
||||
mvWorldManager.getClass().getDeclaredMethod("saveWorldsConfig").invoke(mvWorldManager);
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public Plugin getMultiverse()
|
||||
{
|
||||
Plugin p = Bukkit.getPluginManager().getPlugin("Multiverse-Core");
|
||||
|
||||
if(p == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.volmit.iris.manager.link;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
|
||||
import io.lumine.xikage.mythicmobs.MythicMobs;
|
||||
import io.lumine.xikage.mythicmobs.mobs.MythicMob;
|
||||
|
||||
public class MythicMobsLink
|
||||
{
|
||||
public MythicMobsLink()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public boolean supported()
|
||||
{
|
||||
return getMythicMobs() != null;
|
||||
}
|
||||
|
||||
public Entity spawn(String name, Location a)
|
||||
{
|
||||
if(!supported())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
MythicMobs m = (MythicMobs) getMythicMobs();
|
||||
return m.getMobManager().spawnMob(name, a).getEntity().getBukkitEntity();
|
||||
}
|
||||
|
||||
public String[] getMythicMobTypes()
|
||||
{
|
||||
KList<String> v = new KList<>();
|
||||
|
||||
if(supported())
|
||||
{
|
||||
MythicMobs m = (MythicMobs) getMythicMobs();
|
||||
|
||||
for(MythicMob i : m.getMobManager().getMobTypes())
|
||||
{
|
||||
v.add(i.getInternalName());
|
||||
}
|
||||
}
|
||||
|
||||
return v.toArray(new String[v.size()]);
|
||||
}
|
||||
|
||||
public Plugin getMythicMobs()
|
||||
{
|
||||
Plugin p = Bukkit.getPluginManager().getPlugin("MythicMobs");
|
||||
|
||||
if(p == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user