Fix magma cube movement

This commit is contained in:
fullwall 2015-10-21 15:05:43 +08:00
parent 3950b273a5
commit 6556e03a53

View File

@ -1,5 +1,12 @@
package net.citizensnpcs.npc.entity; package net.citizensnpcs.npc.entity;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_8_R3.CraftServer;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftMagmaCube;
import org.bukkit.entity.MagmaCube;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.event.NPCPushEvent; import net.citizensnpcs.api.event.NPCPushEvent;
import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.npc.CitizensNPC; import net.citizensnpcs.npc.CitizensNPC;
@ -9,17 +16,11 @@ import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util; import net.citizensnpcs.util.Util;
import net.minecraft.server.v1_8_R3.Block; import net.minecraft.server.v1_8_R3.Block;
import net.minecraft.server.v1_8_R3.BlockPosition; import net.minecraft.server.v1_8_R3.BlockPosition;
import net.minecraft.server.v1_8_R3.ControllerMove;
import net.minecraft.server.v1_8_R3.EntityMagmaCube; import net.minecraft.server.v1_8_R3.EntityMagmaCube;
import net.minecraft.server.v1_8_R3.NBTTagCompound; import net.minecraft.server.v1_8_R3.NBTTagCompound;
import net.minecraft.server.v1_8_R3.World; import net.minecraft.server.v1_8_R3.World;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_8_R3.CraftServer;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftMagmaCube;
import org.bukkit.entity.MagmaCube;
import org.bukkit.util.Vector;
public class MagmaCubeController extends MobEntityController { public class MagmaCubeController extends MobEntityController {
public MagmaCubeController() { public MagmaCubeController() {
super(EntityMagmaCubeNPC.class); super(EntityMagmaCubeNPC.class);
@ -43,6 +44,7 @@ public class MagmaCubeController extends MobEntityController {
if (npc != null) { if (npc != null) {
setSize(3); setSize(3);
NMS.clearGoals(goalSelector, targetSelector); NMS.clearGoals(goalSelector, targetSelector);
this.moveController = new ControllerMove(this);
} }
} }
@ -76,6 +78,13 @@ public class MagmaCubeController extends MobEntityController {
return false; // shouldLeash return false; // shouldLeash
} }
@Override
public void ch() {
if (npc == null) {
super.ch();
}
}
@Override @Override
public void collide(net.minecraft.server.v1_8_R3.Entity entity) { public void collide(net.minecraft.server.v1_8_R3.Entity entity) {
// this method is called by both the entities involved - cancelling // this method is called by both the entities involved - cancelling