mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Merge branch 'citizens' into master
This commit is contained in:
commit
d353e186a5
11
pom.xml
11
pom.xml
@ -162,6 +162,10 @@
|
||||
<id>WorldEdit</id>
|
||||
<url>https://maven.enginehub.org/repo/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>everything</id>
|
||||
<url>https://repo.citizensnpcs.co/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<dependencies>
|
||||
<!-- Spigot API -->
|
||||
@ -198,6 +202,13 @@
|
||||
<version>4.9.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.citizensnpcs</groupId>
|
||||
<artifactId>citizens</artifactId>
|
||||
<version>2.0.27-SNAPSHOT</version>
|
||||
<type>jar</type>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- Utilities -->
|
||||
<dependency>
|
||||
<groupId>com.github.ben-manes.caffeine</groupId>
|
||||
|
@ -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();
|
||||
|
46
src/main/java/com/volmit/iris/link/CitizensLink.java
Normal file
46
src/main/java/com/volmit/iris/link/CitizensLink.java
Normal 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;
|
||||
}
|
||||
}
|
@ -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())
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user