Package dev.cwhead.GravesX.integration
Class CitizensNPC
java.lang.Object
com.ranull.graves.manager.EntityDataManager
dev.cwhead.GravesX.integration.CitizensNPC
Manages NPC interactions and corpse creation/removal related to player graves using Citizens2.
Utilizes reflection to remain compatible across multiple Citizens versions.
-
Constructor Summary
ConstructorsConstructorDescriptionCitizensNPC
(Graves plugin) Constructs a new CitizensNPC instance with the specified Graves plugin. -
Method Summary
Modifier and TypeMethodDescriptionvoid
createCorpse
(UUID uuid, org.bukkit.Location location, Grave grave, boolean createEntityData) Creates a new NPC corpse with a specific UUID at the given location using the provided grave data.void
createCorpse
(org.bukkit.Location location, Grave grave) Creates a new NPC corpse at the specified location with the given grave data.void
Creates NPC corpses based on the cached entity data.boolean
hasNPCCorpse
(Grave grave) Checks if a corpse exists for the grave.void
Registers the NPC interaction listeners.void
removeCorpse
(EntityData entityData) Removes a specific corpse entity and its data.void
removeCorpse
(Grave grave) Removes the NPC corpse for the given grave.void
removeCorpse
(Map<EntityData, Object> entityDataMap) Bulk removal using reflection.void
Methods inherited from class com.ranull.graves.manager.EntityDataManager
createEntityData, createEntityData, getEntityData, getEntityDataMap, getGrave, getGrave, getLoadedEntityDataList, removeEntityData, removeEntityData
-
Constructor Details
-
CitizensNPC
Constructs a new CitizensNPC instance with the specified Graves plugin.- Parameters:
plugin
- The main Graves plugin instance.
-
-
Method Details
-
registerListeners
public void registerListeners()Registers the NPC interaction listeners. -
unregisterListeners
public void unregisterListeners() -
createCorpses
public void createCorpses()Creates NPC corpses based on the cached entity data. -
createCorpse
Creates a new NPC corpse at the specified location with the given grave data.- Parameters:
location
- The location to spawn the NPC.grave
- The grave data for the NPC.
-
createCorpse
public void createCorpse(UUID uuid, org.bukkit.Location location, Grave grave, boolean createEntityData) Creates a new NPC corpse with a specific UUID at the given location using the provided grave data.- Parameters:
uuid
- The UUID for the NPC.location
- The location to spawn the NPC.grave
- The grave data for the NPC.createEntityData
- Whether to create entity data for the NPC.
-
removeCorpse
Removes the NPC corpse for the given grave. -
removeCorpse
Removes a specific corpse entity and its data. -
removeCorpse
Bulk removal using reflection. -
hasNPCCorpse
Checks if a corpse exists for the grave.
-