9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-26 02:29:14 +00:00

Merge branch 'citizens' into master

This commit is contained in:
Dan
2020-10-22 11:09:07 -04:00
committed by GitHub
4 changed files with 69 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import com.volmit.iris.link.CitizensLink;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.World.Environment;
@@ -64,6 +65,7 @@ public class Iris extends MortarPlugin
public static IrisBoardManager board;
public static MultiverseCoreLink linkMultiverseCore;
public static MythicMobsLink linkMythicMobs;
public static CitizensLink linkCitizens;
private static IrisLock lock = new IrisLock("Iris");
private static final Queue<Runnable> syncJobs = new ShurikenQueue<>();
public static boolean customModels = doesSupportCustomModels();

View File

@@ -0,0 +1,46 @@
package com.volmit.iris.link;
import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.npc.NPC;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.plugin.Plugin;
public class CitizensLink
{
public CitizensLink()
{
}
public boolean supported()
{
return getCitizens() != null;
}
public Entity spawn(EntityType name, Location a)
{
if(!supported())
{
return null;
}
NPC npc = CitizensAPI.getNPCRegistry().createNPC(name, "");
npc.spawn(a);
return npc.getEntity();
}
public Plugin getCitizens()
{
Plugin p = Bukkit.getPluginManager().getPlugin("Citizens");
if(p == null)
{
return null;
}
return p;
}
}

View File

@@ -293,6 +293,11 @@ public class IrisEntity extends IrisRegistrant
return Iris.linkMythicMobs.spawn(getMythicalType(), at);
}
if(isCitizens())
{
return Iris.linkCitizens.spawn(getType(), at);
}
return at.getWorld().spawnEntity(at, getType());
}
@@ -300,4 +305,9 @@ public class IrisEntity extends IrisRegistrant
{
return Iris.linkMythicMobs.supported() && !getMythicalType().trim().isEmpty();
}
public boolean isCitizens()
{
return Iris.linkCitizens.supported(); // TODO Need to determine how to tell if entity needs to be Citizen NPC (eg. getCitizensType())
}
}