mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-11-30 14:43:54 +01:00
Change /npc skin
This commit is contained in:
parent
5184efa09c
commit
54bd62c414
@ -48,7 +48,6 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
|||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
import org.bukkit.event.entity.EntityDeathEvent;
|
import org.bukkit.event.entity.EntityDeathEvent;
|
||||||
import org.bukkit.event.entity.EntityTargetEvent;
|
import org.bukkit.event.entity.EntityTargetEvent;
|
||||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
|
||||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
@ -130,7 +129,7 @@ public class EventListen implements Listener {
|
|||||||
toRespawn.put(coord, npc);
|
toRespawn.put(coord, npc);
|
||||||
if (Messaging.isDebugging()) {
|
if (Messaging.isDebugging()) {
|
||||||
Messaging
|
Messaging
|
||||||
.debug("Despawned id", npc.getId(), "due to chunk unload at [" + coord.x + "," + coord.z + "]");
|
.debug("Despawned id", npc.getId(), "due to chunk unload at [" + coord.x + "," + coord.z + "]");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -212,14 +211,6 @@ public class EventListen implements Listener {
|
|||||||
}
|
}
|
||||||
}, delay + 2);
|
}, delay + 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event instanceof PlayerDeathEvent && !npc.data().get(NPC.PLAYER_SKIN_NAME_METADATA, "").isEmpty()) {
|
|
||||||
String skinName = npc.data().get(NPC.PLAYER_SKIN_NAME_METADATA, "");
|
|
||||||
PlayerDeathEvent pde = (PlayerDeathEvent) event;
|
|
||||||
pde.setDeathMessage(pde.getDeathMessage().replace(" " + skinName, " " + npc.getFullName())
|
|
||||||
.replace(skinName + " ", npc.getFullName() + " "));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
@ -66,6 +66,14 @@ public class SkeletonController extends MobEntityController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void bm() {
|
||||||
|
super.bm();
|
||||||
|
if (npc != null) {
|
||||||
|
npc.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bN() {
|
public boolean bN() {
|
||||||
if (npc == null)
|
if (npc == null)
|
||||||
@ -79,13 +87,6 @@ public class SkeletonController extends MobEntityController {
|
|||||||
return false; // shouldLeash
|
return false; // shouldLeash
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void bm() {
|
|
||||||
super.bm();
|
|
||||||
if (npc != null)
|
|
||||||
npc.update();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collide(net.minecraft.server.v1_7_R2.Entity entity) {
|
public void collide(net.minecraft.server.v1_7_R2.Entity entity) {
|
||||||
// this method is called by both the entities involved - cancelling
|
// this method is called by both the entities involved - cancelling
|
||||||
|
@ -35,8 +35,9 @@ public class PlayerSkin extends Trait {
|
|||||||
|
|
||||||
public String getSkinName() {
|
public String getSkinName() {
|
||||||
String skin = npc.data().get(NPC.PLAYER_SKIN_NAME_METADATA, "");
|
String skin = npc.data().get(NPC.PLAYER_SKIN_NAME_METADATA, "");
|
||||||
if (skin.isEmpty())
|
if (skin.isEmpty()) {
|
||||||
skin = npc.getFullName();
|
skin = npc.getFullName();
|
||||||
|
}
|
||||||
return skin;
|
return skin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +64,7 @@ public class PlayerSkin extends Trait {
|
|||||||
npcEntity.data().set(NPC.HURT_SOUND_METADATA, "");
|
npcEntity.data().set(NPC.HURT_SOUND_METADATA, "");
|
||||||
npcEntity.data().set(NPC.SHOULD_SAVE_METADATA, false);
|
npcEntity.data().set(NPC.SHOULD_SAVE_METADATA, false);
|
||||||
npcEntity.spawn(npc.getStoredLocation());
|
npcEntity.spawn(npc.getStoredLocation());
|
||||||
if (name.isEmpty() || !(npcEntity.getEntity() instanceof Slime)) {
|
if (name.isEmpty()) {
|
||||||
((LivingEntity) npcEntity.getEntity()).addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 20
|
((LivingEntity) npcEntity.getEntity()).addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 20
|
||||||
* 60 * 60 * 24 * 7, 1));
|
* 60 * 60 * 24 * 7, 1));
|
||||||
} else {
|
} else {
|
||||||
@ -99,6 +100,16 @@ public class PlayerSkin extends Trait {
|
|||||||
|
|
||||||
nameCarriers.add(nameCarrier);
|
nameCarriers.add(nameCarrier);
|
||||||
}
|
}
|
||||||
|
for (Entity entity : nameCarriers) {
|
||||||
|
if (entity instanceof LivingEntity) {
|
||||||
|
LivingEntity le = (LivingEntity) entity;
|
||||||
|
le.setRemainingAir(20);
|
||||||
|
if (!le.hasPotionEffect(PotionEffectType.INVISIBILITY)) {
|
||||||
|
((LivingEntity) entity).addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 20 * 60
|
||||||
|
* 60 * 24 * 7, 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSkinName(String name) {
|
public void setSkinName(String name) {
|
||||||
|
Loading…
Reference in New Issue
Block a user