Implements Sentinel support
This commit is contained in:
parent
909863a2f7
commit
22b621801b
13
pom.xml
13
pom.xml
@ -120,5 +120,18 @@
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mcmonkey</groupId>
|
||||
<artifactId>sentinel</artifactId>
|
||||
<version>2.7.0-SNAPSHOT</version>
|
||||
<type>jar</type>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>*</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
@ -57,7 +57,7 @@ public final class DynmapCitizens extends JavaPlugin {
|
||||
handler.updateMarkers();
|
||||
}
|
||||
}
|
||||
}, 5 * 20, 120 * 20);
|
||||
}, 5 * 20, 5 * 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,18 +1,53 @@
|
||||
package net.knarcraft.dynmapcitizens.trait;
|
||||
|
||||
import net.citizensnpcs.api.CitizensAPI;
|
||||
import net.citizensnpcs.api.npc.NPC;
|
||||
import net.citizensnpcs.api.trait.Trait;
|
||||
import net.knarcraft.dynmapcitizens.DynmapCitizens;
|
||||
import net.knarcraft.dynmapcitizens.Icon;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.dynmap.DynmapAPI;
|
||||
import org.dynmap.markers.GenericMarker;
|
||||
import org.dynmap.markers.MarkerSet;
|
||||
import org.mcmonkey.sentinel.SentinelPlugin;
|
||||
import org.mcmonkey.sentinel.SentinelTrait;
|
||||
|
||||
/**
|
||||
* A handler class for the sentinel trait
|
||||
*/
|
||||
public class SentinelHandler extends AbstractTraitHandler {
|
||||
|
||||
private MarkerSet sentinelSet;
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
|
||||
SentinelPlugin sentinelPlugin = (SentinelPlugin) Bukkit.getServer().getPluginManager().getPlugin("Sentinel");
|
||||
DynmapAPI dynmapAPI = DynmapCitizens.getInstance().getDynmapAPI();
|
||||
if (sentinelPlugin != null) {
|
||||
sentinelSet = getMarkerSet(dynmapAPI, "sentinels", "Sentinels");
|
||||
if (sentinelSet != null) {
|
||||
sentinelSet.setHideByDefault(false);
|
||||
isEnabled = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
isEnabled = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMarkers() {
|
||||
sentinelSet.getMarkers().forEach(GenericMarker::deleteMarker);
|
||||
|
||||
Class<? extends Trait> sentinelTrait = CitizensAPI.getTraitFactory().getTraitClass("sentinel");
|
||||
for (NPC npc : CitizensAPI.getNPCRegistry()) {
|
||||
if (npc.hasTrait(sentinelTrait)) {
|
||||
SentinelTrait trait = CitizensAPI.getTraitFactory().getTrait("sentinel");
|
||||
String description = "<b>Name:</b> " + npc.getName() + "<br><b>Armor:</b> " +
|
||||
trait.armor + "<br><b>Health:</b> " + trait.health;
|
||||
addNPCMarker(npc.getUniqueId(), "Sentinel NPC: ", description,
|
||||
DynmapCitizens.getInstance().getMarkerIcons().get(Icon.SENTINEL), sentinelSet);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user