mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 10:43:14 +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>
|
<id>WorldEdit</id>
|
||||||
<url>https://maven.enginehub.org/repo/</url>
|
<url>https://maven.enginehub.org/repo/</url>
|
||||||
</repository>
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>everything</id>
|
||||||
|
<url>https://repo.citizensnpcs.co/</url>
|
||||||
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!-- Spigot API -->
|
<!-- Spigot API -->
|
||||||
@ -198,6 +202,13 @@
|
|||||||
<version>4.9.1</version>
|
<version>4.9.1</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.citizensnpcs</groupId>
|
||||||
|
<artifactId>citizens</artifactId>
|
||||||
|
<version>2.0.27-SNAPSHOT</version>
|
||||||
|
<type>jar</type>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
<!-- Utilities -->
|
<!-- Utilities -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.ben-manes.caffeine</groupId>
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
||||||
|
@ -6,6 +6,7 @@ import java.io.FileOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
|
import com.volmit.iris.link.CitizensLink;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
@ -64,6 +65,7 @@ public class Iris extends MortarPlugin
|
|||||||
public static IrisBoardManager board;
|
public static IrisBoardManager board;
|
||||||
public static MultiverseCoreLink linkMultiverseCore;
|
public static MultiverseCoreLink linkMultiverseCore;
|
||||||
public static MythicMobsLink linkMythicMobs;
|
public static MythicMobsLink linkMythicMobs;
|
||||||
|
public static CitizensLink linkCitizens;
|
||||||
private static IrisLock lock = new IrisLock("Iris");
|
private static IrisLock lock = new IrisLock("Iris");
|
||||||
private static final Queue<Runnable> syncJobs = new ShurikenQueue<>();
|
private static final Queue<Runnable> syncJobs = new ShurikenQueue<>();
|
||||||
public static boolean customModels = doesSupportCustomModels();
|
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);
|
return Iris.linkMythicMobs.spawn(getMythicalType(), at);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isCitizens())
|
||||||
|
{
|
||||||
|
return Iris.linkCitizens.spawn(getType(), at);
|
||||||
|
}
|
||||||
|
|
||||||
return at.getWorld().spawnEntity(at, getType());
|
return at.getWorld().spawnEntity(at, getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -300,4 +305,9 @@ public class IrisEntity extends IrisRegistrant
|
|||||||
{
|
{
|
||||||
return Iris.linkMythicMobs.supported() && !getMythicalType().trim().isEmpty();
|
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