mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-11-30 22:53:24 +01:00
Add isPushable() and setPushable(), cleanup
This commit is contained in:
parent
7158aa6bfb
commit
4cf071bf4b
@ -132,11 +132,6 @@ public class EventListen implements Listener {
|
|||||||
// undesirable as player NPCs are not real players and confuse plugins.
|
// undesirable as player NPCs are not real players and confuse plugins.
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true)
|
|
||||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
|
||||||
Editor.leave(event.getPlayer());
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
|
public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
|
||||||
if (!npcRegistry.isNPC(event.getRightClicked()))
|
if (!npcRegistry.isNPC(event.getRightClicked()))
|
||||||
@ -147,6 +142,11 @@ public class EventListen implements Listener {
|
|||||||
new EntityTargetEvent(event.getRightClicked(), event.getPlayer(), TargetReason.CUSTOM));
|
new EntityTargetEvent(event.getRightClicked(), event.getPlayer(), TargetReason.CUSTOM));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler(ignoreCancelled = true)
|
||||||
|
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||||
|
Editor.leave(event.getPlayer());
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* World events
|
* World events
|
||||||
*/
|
*/
|
||||||
|
@ -114,7 +114,7 @@ public class CitizensNavigator implements Navigator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void update() {
|
public void update() {
|
||||||
if (executing == null)
|
if (executing == null || !npc.isSpawned())
|
||||||
return;
|
return;
|
||||||
boolean finished = executing.update();
|
boolean finished = executing.update();
|
||||||
if (finished) {
|
if (finished) {
|
||||||
|
@ -4,4 +4,8 @@ import net.citizensnpcs.api.npc.NPC;
|
|||||||
|
|
||||||
public interface NPCHolder {
|
public interface NPCHolder {
|
||||||
public NPC getNPC();
|
public NPC getNPC();
|
||||||
|
|
||||||
|
boolean isPushable();
|
||||||
|
|
||||||
|
void setPushable(boolean pushable);
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensBlazeNPC extends CitizensMobNPC {
|
|||||||
public static class EntityBlazeNPC extends EntityBlaze implements NPCHolder {
|
public static class EntityBlazeNPC extends EntityBlaze implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityBlazeNPC(World world) {
|
public EntityBlazeNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensBlazeNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -55,5 +59,15 @@ public class CitizensBlazeNPC extends CitizensMobNPC {
|
|||||||
public NPC getNPC() {
|
public NPC getNPC() {
|
||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,6 +24,8 @@ public class CitizensCaveSpiderNPC extends CitizensMobNPC {
|
|||||||
public static class EntityCaveSpiderNPC extends EntityCaveSpider implements NPCHolder {
|
public static class EntityCaveSpiderNPC extends EntityCaveSpider implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityCaveSpiderNPC(World world, NPC npc) {
|
public EntityCaveSpiderNPC(World world, NPC npc) {
|
||||||
super(world);
|
super(world);
|
||||||
this.npc = (CitizensNPC) npc;
|
this.npc = (CitizensNPC) npc;
|
||||||
@ -35,6 +37,8 @@ public class CitizensCaveSpiderNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -44,6 +48,16 @@ public class CitizensCaveSpiderNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensChickenNPC extends CitizensMobNPC {
|
|||||||
public static class EntityChickenNPC extends EntityChicken implements NPCHolder {
|
public static class EntityChickenNPC extends EntityChicken implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityChickenNPC(World world) {
|
public EntityChickenNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensChickenNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensChickenNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensCowNPC extends CitizensMobNPC {
|
|||||||
public static class EntityCowNPC extends EntityCow implements NPCHolder {
|
public static class EntityCowNPC extends EntityCow implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityCowNPC(World world) {
|
public EntityCowNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensCowNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensCowNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,7 @@ public class CitizensCreeperNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
public static class EntityCreeperNPC extends EntityCreeper implements NPCHolder {
|
public static class EntityCreeperNPC extends EntityCreeper implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityCreeperNPC(World world) {
|
public EntityCreeperNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
@ -46,6 +47,8 @@ public class CitizensCreeperNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -55,6 +58,16 @@ public class CitizensCreeperNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensEnderDragonNPC extends CitizensMobNPC {
|
|||||||
public static class EntityEnderDragonNPC extends EntityEnderDragon implements NPCHolder {
|
public static class EntityEnderDragonNPC extends EntityEnderDragon implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityEnderDragonNPC(World world, NPC npc) {
|
public EntityEnderDragonNPC(World world, NPC npc) {
|
||||||
super(world);
|
super(world);
|
||||||
this.npc = (CitizensNPC) npc;
|
this.npc = (CitizensNPC) npc;
|
||||||
@ -35,6 +37,8 @@ public class CitizensEnderDragonNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -57,5 +61,15 @@ public class CitizensEnderDragonNPC extends CitizensMobNPC {
|
|||||||
public NPC getNPC() {
|
public NPC getNPC() {
|
||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -62,6 +62,8 @@ public class CitizensEndermanNPC extends CitizensMobNPC implements Equipable {
|
|||||||
public static class EntityEndermanNPC extends EntityEnderman implements NPCHolder {
|
public static class EntityEndermanNPC extends EntityEnderman implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityEndermanNPC(World world) {
|
public EntityEndermanNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -77,6 +79,8 @@ public class CitizensEndermanNPC extends CitizensMobNPC implements Equipable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -99,5 +103,15 @@ public class CitizensEndermanNPC extends CitizensMobNPC implements Equipable {
|
|||||||
public NPC getNPC() {
|
public NPC getNPC() {
|
||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,6 +24,8 @@ public class CitizensGhastNPC extends CitizensMobNPC {
|
|||||||
public static class EntityGhastNPC extends EntityGhast implements NPCHolder {
|
public static class EntityGhastNPC extends EntityGhast implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityGhastNPC(World world) {
|
public EntityGhastNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensGhastNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -55,5 +59,15 @@ public class CitizensGhastNPC extends CitizensMobNPC {
|
|||||||
public NPC getNPC() {
|
public NPC getNPC() {
|
||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,6 +24,8 @@ public class CitizensGiantNPC extends CitizensMobNPC {
|
|||||||
public static class EntityGiantNPC extends EntityGiantZombie implements NPCHolder {
|
public static class EntityGiantNPC extends EntityGiantZombie implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityGiantNPC(World world, NPC npc) {
|
public EntityGiantNPC(World world, NPC npc) {
|
||||||
super(world);
|
super(world);
|
||||||
this.npc = (CitizensNPC) npc;
|
this.npc = (CitizensNPC) npc;
|
||||||
@ -35,6 +37,8 @@ public class CitizensGiantNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,5 +52,15 @@ public class CitizensGiantNPC extends CitizensMobNPC {
|
|||||||
public NPC getNPC() {
|
public NPC getNPC() {
|
||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,6 +24,8 @@ public class CitizensIronGolemNPC extends CitizensMobNPC {
|
|||||||
public static class EntityIronGolemNPC extends EntityIronGolem implements NPCHolder {
|
public static class EntityIronGolemNPC extends EntityIronGolem implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityIronGolemNPC(World world, NPC npc) {
|
public EntityIronGolemNPC(World world, NPC npc) {
|
||||||
super(world);
|
super(world);
|
||||||
this.npc = (CitizensNPC) npc;
|
this.npc = (CitizensNPC) npc;
|
||||||
@ -35,6 +37,8 @@ public class CitizensIronGolemNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -44,6 +48,16 @@ public class CitizensIronGolemNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensMagmaCubeNPC extends CitizensMobNPC {
|
|||||||
public static class EntityMagmaCubeNPC extends EntityMagmaCube implements NPCHolder {
|
public static class EntityMagmaCubeNPC extends EntityMagmaCube implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityMagmaCubeNPC(World world) {
|
public EntityMagmaCubeNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -40,6 +42,8 @@ public class CitizensMagmaCubeNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -56,5 +60,15 @@ public class CitizensMagmaCubeNPC extends CitizensMobNPC {
|
|||||||
public NPC getNPC() {
|
public NPC getNPC() {
|
||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,6 +24,8 @@ public class CitizensMushroomCowNPC extends CitizensMobNPC {
|
|||||||
public static class EntityMushroomCowNPC extends EntityMushroomCow implements NPCHolder {
|
public static class EntityMushroomCowNPC extends EntityMushroomCow implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityMushroomCowNPC(World world) {
|
public EntityMushroomCowNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensMushroomCowNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensMushroomCowNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensOcelotNPC extends CitizensMobNPC {
|
|||||||
public static class EntityOcelotNPC extends EntityOcelot implements NPCHolder {
|
public static class EntityOcelotNPC extends EntityOcelot implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityOcelotNPC(World world) {
|
public EntityOcelotNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensOcelotNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensOcelotNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -51,6 +51,8 @@ public class CitizensPigNPC extends CitizensMobNPC implements Equipable {
|
|||||||
public static class EntityPigNPC extends EntityPig implements NPCHolder {
|
public static class EntityPigNPC extends EntityPig implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityPigNPC(World world) {
|
public EntityPigNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -72,6 +74,8 @@ public class CitizensPigNPC extends CitizensMobNPC implements Equipable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -81,6 +85,16 @@ public class CitizensPigNPC extends CitizensMobNPC implements Equipable {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensPigZombieNPC extends CitizensMobNPC {
|
|||||||
public static class EntityPigZombieNPC extends EntityPigZombie implements NPCHolder {
|
public static class EntityPigZombieNPC extends EntityPigZombie implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityPigZombieNPC(World world) {
|
public EntityPigZombieNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensPigZombieNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -55,5 +59,15 @@ public class CitizensPigZombieNPC extends CitizensMobNPC {
|
|||||||
public NPC getNPC() {
|
public NPC getNPC() {
|
||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -62,6 +62,8 @@ public class CitizensSheepNPC extends CitizensMobNPC implements Equipable {
|
|||||||
public static class EntitySheepNPC extends EntitySheep implements NPCHolder {
|
public static class EntitySheepNPC extends EntitySheep implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntitySheepNPC(World world) {
|
public EntitySheepNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -77,6 +79,8 @@ public class CitizensSheepNPC extends CitizensMobNPC implements Equipable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -86,6 +90,16 @@ public class CitizensSheepNPC extends CitizensMobNPC implements Equipable {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensSilverfishNPC extends CitizensMobNPC {
|
|||||||
public static class EntitySilverfishNPC extends EntitySilverfish implements NPCHolder {
|
public static class EntitySilverfishNPC extends EntitySilverfish implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntitySilverfishNPC(World world) {
|
public EntitySilverfishNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensSilverfishNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensSilverfishNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensSkeletonNPC extends CitizensMobNPC {
|
|||||||
public static class EntitySkeletonNPC extends EntitySkeleton implements NPCHolder {
|
public static class EntitySkeletonNPC extends EntitySkeleton implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntitySkeletonNPC(World world) {
|
public EntitySkeletonNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensSkeletonNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensSkeletonNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensSlimeNPC extends CitizensMobNPC {
|
|||||||
public static class EntitySlimeNPC extends EntitySlime implements NPCHolder {
|
public static class EntitySlimeNPC extends EntitySlime implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntitySlimeNPC(World world) {
|
public EntitySlimeNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -40,6 +42,8 @@ public class CitizensSlimeNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -49,6 +53,16 @@ public class CitizensSlimeNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensSnowmanNPC extends CitizensMobNPC {
|
|||||||
public static class EntitySnowmanNPC extends EntitySnowman implements NPCHolder {
|
public static class EntitySnowmanNPC extends EntitySnowman implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntitySnowmanNPC(World world, NPC npc) {
|
public EntitySnowmanNPC(World world, NPC npc) {
|
||||||
super(world);
|
super(world);
|
||||||
this.npc = (CitizensNPC) npc;
|
this.npc = (CitizensNPC) npc;
|
||||||
@ -35,6 +37,8 @@ public class CitizensSnowmanNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -44,6 +48,16 @@ public class CitizensSnowmanNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensSpiderNPC extends CitizensMobNPC {
|
|||||||
public static class EntitySpiderNPC extends EntitySpider implements NPCHolder {
|
public static class EntitySpiderNPC extends EntitySpider implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntitySpiderNPC(World world) {
|
public EntitySpiderNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensSpiderNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensSpiderNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensSquidNPC extends CitizensMobNPC {
|
|||||||
public static class EntitySquidNPC extends EntitySquid implements NPCHolder {
|
public static class EntitySquidNPC extends EntitySquid implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntitySquidNPC(World world) {
|
public EntitySquidNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensSquidNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -55,5 +59,15 @@ public class CitizensSquidNPC extends CitizensMobNPC {
|
|||||||
public NPC getNPC() {
|
public NPC getNPC() {
|
||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,6 +24,8 @@ public class CitizensVillagerNPC extends CitizensMobNPC {
|
|||||||
public static class EntityVillagerNPC extends EntityVillager implements NPCHolder {
|
public static class EntityVillagerNPC extends EntityVillager implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityVillagerNPC(World world) {
|
public EntityVillagerNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensVillagerNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensVillagerNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensWolfNPC extends CitizensMobNPC {
|
|||||||
public static class EntityWolfNPC extends EntityWolf implements NPCHolder {
|
public static class EntityWolfNPC extends EntityWolf implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityWolfNPC(World world) {
|
public EntityWolfNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensWolfNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensWolfNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -24,6 +24,8 @@ public class CitizensZombieNPC extends CitizensMobNPC {
|
|||||||
public static class EntityZombieNPC extends EntityZombie implements NPCHolder {
|
public static class EntityZombieNPC extends EntityZombie implements NPCHolder {
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityZombieNPC(World world) {
|
public EntityZombieNPC(World world) {
|
||||||
this(world, null);
|
this(world, null);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,8 @@ public class CitizensZombieNPC extends CitizensMobNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -48,6 +52,16 @@ public class CitizensZombieNPC extends CitizensMobNPC {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void z_() {
|
public void z_() {
|
||||||
super.z_();
|
super.z_();
|
||||||
|
@ -19,6 +19,8 @@ import net.minecraft.server.World;
|
|||||||
public class EntityHumanNPC extends EntityPlayer implements NPCHolder {
|
public class EntityHumanNPC extends EntityPlayer implements NPCHolder {
|
||||||
private CitizensNPC npc;
|
private CitizensNPC npc;
|
||||||
|
|
||||||
|
private boolean pushable = false;
|
||||||
|
|
||||||
public EntityHumanNPC(MinecraftServer minecraftServer, World world, String string,
|
public EntityHumanNPC(MinecraftServer minecraftServer, World world, String string,
|
||||||
ItemInWorldManager itemInWorldManager, NPC npc) {
|
ItemInWorldManager itemInWorldManager, NPC npc) {
|
||||||
super(minecraftServer, world, string, itemInWorldManager);
|
super(minecraftServer, world, string, itemInWorldManager);
|
||||||
@ -44,6 +46,8 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void b_(double x, double y, double z) {
|
public void b_(double x, double y, double z) {
|
||||||
|
if (npc == null || pushable)
|
||||||
|
super.b_(x, y, z);
|
||||||
// when another entity collides, b_ is called to push the NPC
|
// when another entity collides, b_ is called to push the NPC
|
||||||
// so we prevent b_ from doing anything.
|
// so we prevent b_ from doing anything.
|
||||||
}
|
}
|
||||||
@ -68,6 +72,11 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder {
|
|||||||
return npc;
|
return npc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return pushable;
|
||||||
|
}
|
||||||
|
|
||||||
private void moveOnCurrentHeading() {
|
private void moveOnCurrentHeading() {
|
||||||
getControllerMove().c();
|
getControllerMove().c();
|
||||||
getControllerLook().a();
|
getControllerLook().a();
|
||||||
@ -91,4 +100,9 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder {
|
|||||||
a(aW, aX);
|
a(aW, aX);
|
||||||
X = yaw;
|
X = yaw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPushable(boolean pushable) {
|
||||||
|
this.pushable = pushable;
|
||||||
|
}
|
||||||
}
|
}
|
@ -23,8 +23,8 @@ import com.google.common.collect.Lists;
|
|||||||
|
|
||||||
public class LinearWaypointProvider implements WaypointProvider, Iterable<Waypoint> {
|
public class LinearWaypointProvider implements WaypointProvider, Iterable<Waypoint> {
|
||||||
private WaypointGoal currentGoal;
|
private WaypointGoal currentGoal;
|
||||||
private final List<Waypoint> waypoints = Lists.newArrayList();
|
|
||||||
private NPC npc;
|
private NPC npc;
|
||||||
|
private final List<Waypoint> waypoints = Lists.newArrayList();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Editor createEditor(final Player player) {
|
public Editor createEditor(final Player player) {
|
||||||
@ -47,6 +47,12 @@ public class LinearWaypointProvider implements WaypointProvider, Iterable<Waypoi
|
|||||||
location.getBlockY(), location.getBlockZ());
|
location.getBlockY(), location.getBlockZ());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onNPCDespawn(NPCDespawnEvent event) {
|
||||||
|
if (event.getNPC().equals(npc))
|
||||||
|
end();
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerInteract(PlayerInteractEvent event) {
|
public void onPlayerInteract(PlayerInteractEvent event) {
|
||||||
if (!event.getPlayer().equals(player) || event.getAction() == Action.PHYSICAL)
|
if (!event.getPlayer().equals(player) || event.getAction() == Action.PHYSICAL)
|
||||||
@ -73,12 +79,6 @@ public class LinearWaypointProvider implements WaypointProvider, Iterable<Waypoi
|
|||||||
currentGoal.onProviderChanged();
|
currentGoal.onProviderChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onNPCDespawn(NPCDespawnEvent event) {
|
|
||||||
if (event.getNPC().equals(npc))
|
|
||||||
end();
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerItemHeldChange(PlayerItemHeldEvent event) {
|
public void onPlayerItemHeldChange(PlayerItemHeldEvent event) {
|
||||||
if (!event.getPlayer().equals(player) || waypoints.size() == 0)
|
if (!event.getPlayer().equals(player) || waypoints.size() == 0)
|
||||||
@ -107,14 +107,6 @@ public class LinearWaypointProvider implements WaypointProvider, Iterable<Waypoi
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSpawn(NPC npc) {
|
|
||||||
this.npc = npc;
|
|
||||||
if (currentGoal == null)
|
|
||||||
currentGoal = new WaypointGoal(this, npc.getNavigator());
|
|
||||||
npc.getDefaultGoalController().addGoal(currentGoal, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterator<Waypoint> iterator() {
|
public Iterator<Waypoint> iterator() {
|
||||||
return waypoints.iterator();
|
return waypoints.iterator();
|
||||||
@ -130,6 +122,14 @@ public class LinearWaypointProvider implements WaypointProvider, Iterable<Waypoi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSpawn(NPC npc) {
|
||||||
|
this.npc = npc;
|
||||||
|
if (currentGoal == null)
|
||||||
|
currentGoal = new WaypointGoal(this, npc.getNavigator());
|
||||||
|
npc.getDefaultGoalController().addGoal(currentGoal, 1);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void save(DataKey key) {
|
public void save(DataKey key) {
|
||||||
key.removeKey("points");
|
key.removeKey("points");
|
||||||
|
@ -25,6 +25,8 @@ public interface WaypointProvider {
|
|||||||
*/
|
*/
|
||||||
public void load(DataKey key);
|
public void load(DataKey key);
|
||||||
|
|
||||||
|
public void onSpawn(NPC npc);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves to the specified {@link DataKey}.
|
* Saves to the specified {@link DataKey}.
|
||||||
*
|
*
|
||||||
@ -32,6 +34,4 @@ public interface WaypointProvider {
|
|||||||
* The key to save to
|
* The key to save to
|
||||||
*/
|
*/
|
||||||
public void save(DataKey key);
|
public void save(DataKey key);
|
||||||
|
|
||||||
public void onSpawn(NPC npc);
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user