Merge branch 'citizens' into master

This commit is contained in:
Dan 2020-10-22 11:09:07 -04:00 committed by GitHub
commit d353e186a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 69 additions and 0 deletions

11
pom.xml
View File

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

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())
}
}