Forcefully shove stuff into other stuff

This commit is contained in:
Daniel Mills
2020-11-10 00:49:28 -05:00
parent 50ffcceaf4
commit 4fc8a5ad0c
364 changed files with 2975 additions and 5303 deletions

View 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;
}
}

View 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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}