import com.seodisparate.TurnBasedMinecraft.common.networking.PacketBattleMessage;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemBow;
-import net.minecraft.item.ItemFood;
-import net.minecraft.item.ItemLingeringPotion;
-import net.minecraft.item.ItemPotion;
-import net.minecraft.item.ItemSplashPotion;
-import net.minecraft.item.ItemStack;
+import net.minecraft.entity.LivingEntity;
+import net.minecraft.entity.MobEntity;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.entity.player.ServerPlayerEntity;
+import net.minecraft.item.*;
import net.minecraft.util.DamageSource;
-import net.minecraftforge.fml.common.FMLCommonHandler;
+import net.minecraftforge.fml.network.PacketDistributor;
public class Battle
{
{
for(Entity e : sideA)
{
- EntityInfo entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getCustomEntityInfoReference(e.getCustomNameTag());
+ EntityInfo entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getCustomEntityInfoReference(e.getCustomName().getUnformattedComponentText());
if(entityInfo == null)
{
entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getMatchingEntityInfo(e);
}
- if(entityInfo == null && !(e instanceof EntityPlayer) && TurnBasedMinecraftMod.proxy.isServerRunning())
+ if(entityInfo == null && !(e instanceof PlayerEntity) && TurnBasedMinecraftMod.proxy.isServerRunning())
{
continue;
}
newCombatant.isSideA = true;
newCombatant.battleID = getId();
this.sideA.put(e.getEntityId(), newCombatant);
- if(e instanceof EntityPlayer)
+ if(e instanceof PlayerEntity)
{
newCombatant.recalcSpeedOnCompare = true;
playerCount.incrementAndGet();
{
for(Entity e : sideB)
{
- EntityInfo entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getCustomEntityInfoReference(e.getCustomNameTag());
+ EntityInfo entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getCustomEntityInfoReference(e.getCustomName().getUnformattedComponentText());
if(entityInfo == null)
{
entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getMatchingEntityInfo(e);
}
- if(entityInfo == null && !(e instanceof EntityPlayer) && TurnBasedMinecraftMod.proxy.isServerRunning())
+ if(entityInfo == null && !(e instanceof PlayerEntity) && TurnBasedMinecraftMod.proxy.isServerRunning())
{
continue;
}
newCombatant.isSideA = false;
newCombatant.battleID = getId();
this.sideB.put(e.getEntityId(), newCombatant);
- if(e instanceof EntityPlayer)
+ if(e instanceof PlayerEntity)
{
newCombatant.recalcSpeedOnCompare = true;
playerCount.incrementAndGet();
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.ENTERED, c.entity.getEntityId(), 0, id, c.entityInfo.category);
}
- else if(c.entity instanceof EntityPlayer)
+ else if(c.entity instanceof PlayerEntity)
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.ENTERED, c.entity.getEntityId(), 0, id, "player");
}
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.ENTERED, c.entity.getEntityId(), 0, id, c.entityInfo.category);
}
- else if(c.entity instanceof EntityPlayer)
+ else if(c.entity instanceof PlayerEntity)
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.ENTERED, c.entity.getEntityId(), 0, id, "player");
}
public void addCombatantToSideA(Entity e)
{
- EntityInfo entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getCustomEntityInfoReference(e.getCustomNameTag());
+ EntityInfo entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getCustomEntityInfoReference(e.getCustomName().getUnformattedComponentText());
if(entityInfo == null)
{
entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getMatchingEntityInfo(e);
}
- if(entityInfo == null && !(e instanceof EntityPlayer) && TurnBasedMinecraftMod.proxy.isServerRunning())
+ if(entityInfo == null && !(e instanceof PlayerEntity) && TurnBasedMinecraftMod.proxy.isServerRunning())
{
return;
}
{
sideA.put(e.getEntityId(), newCombatant);
}
- if(e instanceof EntityPlayer)
+ if(e instanceof PlayerEntity)
{
newCombatant.recalcSpeedOnCompare = true;
playerCount.incrementAndGet();
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.ENTERED, newCombatant.entity.getEntityId(), 0, id, newCombatant.entityInfo.category);
}
- else if(newCombatant.entity instanceof EntityPlayer)
+ else if(newCombatant.entity instanceof PlayerEntity)
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.ENTERED, newCombatant.entity.getEntityId(), 0, id, "player");
}
public void addCombatantToSideB(Entity e)
{
- EntityInfo entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getCustomEntityInfoReference(e.getCustomNameTag());
+ EntityInfo entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getCustomEntityInfoReference(e.getCustomName().getUnformattedComponentText());
if(entityInfo == null)
{
entityInfo = TurnBasedMinecraftMod.proxy.getConfig().getMatchingEntityInfo(e);
}
- if(entityInfo == null && !(e instanceof EntityPlayer) && TurnBasedMinecraftMod.proxy.isServerRunning())
+ if(entityInfo == null && !(e instanceof PlayerEntity) && TurnBasedMinecraftMod.proxy.isServerRunning())
{
return;
}
{
sideB.put(e.getEntityId(), newCombatant);
}
- if(e instanceof EntityPlayer)
+ if(e instanceof PlayerEntity)
{
newCombatant.recalcSpeedOnCompare = true;
playerCount.incrementAndGet();
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.ENTERED, newCombatant.entity.getEntityId(), 0, id, newCombatant.entityInfo.category);
}
- else if(newCombatant.entity instanceof EntityPlayer)
+ else if(newCombatant.entity instanceof PlayerEntity)
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.ENTERED, newCombatant.entity.getEntityId(), 0, id, "player");
}
PacketBattleInfo infoPacket = new PacketBattleInfo(getSideAIDs(), getSideBIDs(), timer);
for(Combatant p : players.values())
{
- TurnBasedMinecraftMod.NWINSTANCE.sendTo(infoPacket, (EntityPlayerMP)p.entity);
+ TurnBasedMinecraftMod.getHandler().send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity)p.entity), infoPacket);
}
}
{
return;
}
+ PacketBattleMessage packet = new PacketBattleMessage(type, from, to, amount, custom);
for(Combatant p : players.values())
{
- if(p.entity.isEntityAlive())
+ if(p.entity.isAlive())
{
- TurnBasedMinecraftMod.NWINSTANCE.sendTo(new PacketBattleMessage(type, from, to, amount, custom), (EntityPlayerMP)p.entity);
+ TurnBasedMinecraftMod.getHandler().send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) p.entity), packet);
}
}
}
for(Iterator<Map.Entry<Integer, Combatant>> iter = sideA.entrySet().iterator(); iter.hasNext();)
{
Map.Entry<Integer, Combatant> entry = iter.next();
- if(!entry.getValue().entity.isEntityAlive())
+ if(!entry.getValue().entity.isAlive())
{
iter.remove();
players.remove(entry.getKey());
{
category = entry.getValue().entityInfo.category;
}
- else if(entry.getValue().entity instanceof EntityPlayer)
+ else if(entry.getValue().entity instanceof PlayerEntity)
{
category = "player";
}
for(Iterator<Map.Entry<Integer, Combatant>> iter = sideB.entrySet().iterator(); iter.hasNext();)
{
Map.Entry<Integer, Combatant> entry = iter.next();
- if(!entry.getValue().entity.isEntityAlive())
+ if(!entry.getValue().entity.isAlive())
{
iter.remove();
players.remove(entry.getKey());
{
category = entry.getValue().entityInfo.category;
}
- else if(entry.getValue().entity instanceof EntityPlayer)
+ else if(entry.getValue().entity instanceof PlayerEntity)
{
category = "player";
}
for(Iterator<Map.Entry<Integer, Combatant>> iter = players.entrySet().iterator(); iter.hasNext();)
{
Map.Entry<Integer, Combatant> entry = iter.next();
- if(entry.getValue().entity != null && ((EntityPlayer)entry.getValue().entity).isCreative())
+ if(entry.getValue().entity != null && ((PlayerEntity)entry.getValue().entity).isCreative())
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.BECAME_CREATIVE, entry.getValue().entity.getEntityId(), 0, 0);
iter.remove();
private void removeCombatantPostRemove(Combatant c)
{
- if(c.entity instanceof EntityPlayer)
+ if(c.entity instanceof PlayerEntity)
{
- TurnBasedMinecraftMod.NWINSTANCE.sendTo(new PacketBattleMessage(PacketBattleMessage.MessageType.ENDED, 0, 0, 0), (EntityPlayerMP)c.entity);
+ TurnBasedMinecraftMod.getHandler().send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) c.entity), new PacketBattleMessage(PacketBattleMessage.MessageType.ENDED, 0, 0, 0));
}
battleManager.addRecentlyLeftBattle(c);
}
for(Combatant c : sideA.values())
{
// picking decision for sideA non-players
- if(!(c.entity instanceof EntityPlayer) && c.decision == Decision.UNDECIDED && c.entityInfo != null)
+ if(!(c.entity instanceof PlayerEntity) && c.decision == Decision.UNDECIDED && c.entityInfo != null)
{
int percentage = random.nextInt(100);
if(percentage < c.entityInfo.decisionAttack)
}
for(Combatant c : sideB.values())
{
- if(!(c.entity instanceof EntityPlayer) && c.decision == Decision.UNDECIDED && c.entityInfo != null)
+ if(!(c.entity instanceof PlayerEntity) && c.decision == Decision.UNDECIDED && c.entityInfo != null)
{
int percentage = random.nextInt(100);
if(percentage < c.entityInfo.decisionAttack)
{
for(Combatant next = turnOrderQueue.poll(); next != null; next = turnOrderQueue.poll())
{
- if(!next.entity.isEntityAlive())
+ if(!next.entity.isAlive())
{
continue;
}
-
- debugLog = next.entity.getName();
-
+
+ debugLog = next.entity.getDisplayName().getUnformattedComponentText();
+
next.remainingDefenses = 0;
Decision decision = next.decision;
case ATTACK:
debugLog += " attack";
Combatant target = null;
- if(next.entity instanceof EntityPlayer)
+ if(next.entity instanceof PlayerEntity)
{
debugLog += " as player";
target = sideA.get(next.targetEntityID);
{
target = sideB.get(next.targetEntityID);
}
- if(target == null || !target.entity.isEntityAlive() || target == next)
+ if(target == null || !target.entity.isAlive() || target == next)
{
continue;
}
- ItemStack heldItemStack = ((EntityPlayer)next.entity).getHeldItemMainhand();
- if(heldItemStack.getItem() instanceof ItemBow)
+ ItemStack heldItemStack = ((PlayerEntity)next.entity).getHeldItemMainhand();
+ if(heldItemStack.getItem() instanceof BowItem)
{
debugLog += " with bow";
- if(Utility.doesPlayerHaveArrows((EntityPlayer)next.entity))
+ if(Utility.doesPlayerHaveArrows((PlayerEntity)next.entity))
{
final Entity nextEntity = next.entity;
final Entity targetEntity = target.entity;
final float yawDirection = Utility.yawDirection(next.entity.posX, next.entity.posZ, target.entity.posX, target.entity.posZ);
final float pitchDirection = Utility.pitchDirection(next.entity.posX, next.entity.posY, next.entity.posZ, target.entity.posX, target.entity.posY, target.entity.posZ);
- final int randomTimeLeft = random.nextInt(heldItemStack.getItem().getMaxItemUseDuration(heldItemStack) / 3);
+ final int randomTimeLeft = random.nextInt(heldItemStack.getItem().getUseDuration(heldItemStack) / 3);
if(TurnBasedMinecraftMod.proxy.getConfig().isFreezeCombatantsEnabled())
{
next.yaw = yawDirection;
next.pitch = pitchDirection;
}
- next.entity.getServer().addScheduledTask(() -> {
- // have player look at attack target
- ((EntityPlayerMP)nextEntity).connection.setPlayerLocation(nextEntity.posX, nextEntity.posY, nextEntity.posZ, yawDirection, pitchDirection);
- ItemBow itemBow = (ItemBow)heldItemStack.getItem();
- synchronized(TurnBasedMinecraftMod.proxy.getAttackerViaBowSet())
- {
- TurnBasedMinecraftMod.proxy.getAttackerViaBowSet().add(new AttackerViaBow(nextEntity, getId()));
- }
- itemBow.onPlayerStoppedUsing(((EntityPlayer)nextEntity).getHeldItemMainhand(), nextEntity.getEntityWorld(), (EntityLivingBase)nextEntity, randomTimeLeft);
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.FIRED_ARROW, nextEntity.getEntityId(), targetEntity.getEntityId(), 0);
- });
+ // have player look at attack target
+ ((ServerPlayerEntity)nextEntity).connection.setPlayerLocation(nextEntity.posX, nextEntity.posY, nextEntity.posZ, yawDirection, pitchDirection);
+ BowItem itemBow = (BowItem)heldItemStack.getItem();
+ synchronized(TurnBasedMinecraftMod.proxy.getAttackerViaBowSet())
+ {
+ TurnBasedMinecraftMod.proxy.getAttackerViaBowSet().add(new AttackerViaBow(nextEntity, getId()));
+ }
+ itemBow.onPlayerStoppedUsing(((PlayerEntity)nextEntity).getHeldItemMainhand(), nextEntity.getEntityWorld(), (LivingEntity) nextEntity, randomTimeLeft);
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.FIRED_ARROW, nextEntity.getEntityId(), targetEntity.getEntityId(), 0);
}
else
{
}
debugLog += " without bow";
int hitChance = TurnBasedMinecraftMod.proxy.getConfig().getPlayerAttackProbability();
- if(target.entity instanceof EntityPlayer)
+ if(target.entity instanceof PlayerEntity)
{
hitChance = hitChance * (100 - TurnBasedMinecraftMod.proxy.getConfig().getPlayerEvasion()) / 100;
}
final float yawDirection = Utility.yawDirection(next.entity.posX, next.entity.posZ, target.entity.posX, target.entity.posZ);
final float pitchDirection = Utility.pitchDirection(next.entity.posX, next.entity.posY, next.entity.posZ, target.entity.posX, target.entity.posY, target.entity.posZ);
final boolean defenseDamageTriggered;
- if(!(targetEntity instanceof EntityPlayer) && targetEntityInfo.defenseDamage > 0 && targetEntityInfo.defenseDamageProbability > 0)
+ if(!(targetEntity instanceof PlayerEntity) && targetEntityInfo.defenseDamage > 0 && targetEntityInfo.defenseDamageProbability > 0)
{
if(random.nextInt(100) < targetEntityInfo.defenseDamageProbability)
{
next.yaw = yawDirection;
next.pitch = pitchDirection;
}
- debugLog += " adding task...";
- next.entity.getServer().addScheduledTask(() -> {
- // have player look at attack target
- ((EntityPlayerMP)nextEntity).connection.setPlayerLocation(nextEntity.posX, nextEntity.posY, nextEntity.posZ, yawDirection, pitchDirection);
- TurnBasedMinecraftMod.proxy.setAttackingEntity(nextEntity);
- TurnBasedMinecraftMod.proxy.setAttackingDamage(0);
- ((EntityPlayer)nextEntity).attackTargetEntityWithCurrentItem(targetEntity);
+ // have player look at attack target
+ ((ServerPlayerEntity)nextEntity).connection.setPlayerLocation(nextEntity.posX, nextEntity.posY, nextEntity.posZ, yawDirection, pitchDirection);
+ TurnBasedMinecraftMod.proxy.setAttackingEntity(nextEntity);
+ TurnBasedMinecraftMod.proxy.setAttackingDamage(0);
+ ((PlayerEntity)nextEntity).attackTargetEntityWithCurrentItem(targetEntity);
+ TurnBasedMinecraftMod.proxy.setAttackingEntity(null);
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.ATTACK, nextEntity.getEntityId(), targetEntity.getEntityId(), TurnBasedMinecraftMod.proxy.getAttackingDamage());
+ if(defenseDamageTriggered)
+ {
+ // defense damage
+ DamageSource defenseDamageSource = DamageSource.causeMobDamage((LivingEntity) targetEntity);
+ TurnBasedMinecraftMod.proxy.setAttackingEntity(targetEntity);
+ nextEntity.attackEntityFrom(defenseDamageSource, targetEntityInfo.defenseDamage);
TurnBasedMinecraftMod.proxy.setAttackingEntity(null);
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.ATTACK, nextEntity.getEntityId(), targetEntity.getEntityId(), TurnBasedMinecraftMod.proxy.getAttackingDamage());
- if(defenseDamageTriggered)
- {
- // defense damage
- DamageSource defenseDamageSource = DamageSource.causeMobDamage((EntityLivingBase)targetEntity);
- TurnBasedMinecraftMod.proxy.setAttackingEntity(targetEntity);
- nextEntity.attackEntityFrom(defenseDamageSource, targetEntityInfo.defenseDamage);
- TurnBasedMinecraftMod.proxy.setAttackingEntity(null);
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.DEFENSE_DAMAGE, targetEntity.getEntityId(), nextEntity.getEntityId(), targetEntityInfo.defenseDamage);
- }
- });
- debugLog += "...task added";
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.DEFENSE_DAMAGE, targetEntity.getEntityId(), nextEntity.getEntityId(), targetEntityInfo.defenseDamage);
+ }
}
else
{
else
{
debugLog += " as mob";
- EntityLivingBase attackTarget = ((EntityLiving)next.entity).getAttackTarget();
+ LivingEntity attackTarget = ((MobEntity)next.entity).getAttackTarget();
if(attackTarget != null && hasCombatant(attackTarget.getEntityId()))
{
debugLog += " to targeted";
}
}
}
- if(target == null || !target.entity.isEntityAlive() || target == next)
+ if(target == null || !target.entity.isAlive() || target == next)
{
continue;
}
int hitChance = next.entityInfo.attackProbability;
- if(target.entity instanceof EntityPlayer)
+ if(target.entity instanceof PlayerEntity)
{
hitChance = hitChance * (100 - TurnBasedMinecraftMod.proxy.getConfig().getPlayerEvasion()) / 100;
}
if(target.remainingDefenses <= 0)
{
debugLog += " hit success";
- DamageSource damageSource = DamageSource.causeMobDamage((EntityLivingBase)next.entity);
+ DamageSource damageSource = DamageSource.causeMobDamage((LivingEntity)next.entity);
int damageAmount = next.entityInfo.attackPower;
if(next.entityInfo.attackVariance > 0)
{
final boolean defenseDamageTriggered;
final boolean attackEffectTriggered;
- if(!(targetEntity instanceof EntityPlayer) && targetEntityInfo.defenseDamage > 0 && targetEntityInfo.defenseDamageProbability > 0)
+ if(!(targetEntity instanceof PlayerEntity) && targetEntityInfo.defenseDamage > 0 && targetEntityInfo.defenseDamageProbability > 0)
{
if(random.nextInt(100) < targetEntityInfo.defenseDamageProbability)
{
attackEffectTriggered = false;
}
- debugLog += " adding task...";
- next.entity.getServer().addScheduledTask(() -> {
- TurnBasedMinecraftMod.proxy.setAttackingEntity(nextEntity);
- targetEntity.attackEntityFrom(damageSource, finalDamageAmount);
+ TurnBasedMinecraftMod.proxy.setAttackingEntity(nextEntity);
+ targetEntity.attackEntityFrom(damageSource, finalDamageAmount);
+ TurnBasedMinecraftMod.proxy.setAttackingEntity(null);
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.ATTACK, nextEntity.getEntityId(), targetEntity.getEntityId(), finalDamageAmount);
+ if(defenseDamageTriggered)
+ {
+ // defense damage
+ DamageSource defenseDamageSource = DamageSource.causeMobDamage((LivingEntity)targetEntity);
+ TurnBasedMinecraftMod.proxy.setAttackingEntity(targetEntity);
+ nextEntity.attackEntityFrom(defenseDamageSource, targetEntityInfo.defenseDamage);
TurnBasedMinecraftMod.proxy.setAttackingEntity(null);
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.ATTACK, nextEntity.getEntityId(), targetEntity.getEntityId(), finalDamageAmount);
- if(defenseDamageTriggered)
- {
- // defense damage
- DamageSource defenseDamageSource = DamageSource.causeMobDamage((EntityLivingBase)targetEntity);
- TurnBasedMinecraftMod.proxy.setAttackingEntity(targetEntity);
- nextEntity.attackEntityFrom(defenseDamageSource, targetEntityInfo.defenseDamage);
- TurnBasedMinecraftMod.proxy.setAttackingEntity(null);
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.DEFENSE_DAMAGE, targetEntity.getEntityId(), nextEntity.getEntityId(), targetEntityInfo.defenseDamage);
- }
- // attack effect
- if(attackEffectTriggered)
- {
- nextEntityInfo.attackEffect.applyEffectToEntity((EntityLivingBase)targetEntity);
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.WAS_AFFECTED, nextEntity.getEntityId(), targetEntity.getEntityId(), 0, nextEntityInfo.attackEffect.getAffectedString());
- }
- });
- debugLog += "...task added";
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.DEFENSE_DAMAGE, targetEntity.getEntityId(), nextEntity.getEntityId(), targetEntityInfo.defenseDamage);
+ }
+ // attack effect
+ if(attackEffectTriggered)
+ {
+ nextEntityInfo.attackEffect.applyEffectToEntity((LivingEntity)targetEntity);
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.WAS_AFFECTED, nextEntity.getEntityId(), targetEntity.getEntityId(), 0, nextEntityInfo.attackEffect.getAffectedString());
+ }
}
else
{
{
for(Combatant c : sideB.values())
{
- if(c.entity instanceof EntityPlayer)
+ if(c.entity instanceof PlayerEntity)
{
if(TurnBasedMinecraftMod.proxy.getConfig().getPlayerSpeed() > fastestEnemySpeed)
{
{
for(Combatant c : sideA.values())
{
- if(c.entity instanceof EntityPlayer)
+ if(c.entity instanceof PlayerEntity)
{
if(TurnBasedMinecraftMod.proxy.getConfig().getPlayerSpeed() > fastestEnemySpeed)
{
}
}
int fleeProbability = 0;
- if(next.entity instanceof EntityPlayer)
+ if(next.entity instanceof PlayerEntity)
{
if(fastestEnemySpeed >= TurnBasedMinecraftMod.proxy.getConfig().getPlayerSpeed())
{
{
fleeingCategory = next.entityInfo.category;
}
- else if(next.entity instanceof EntityPlayer)
+ else if(next.entity instanceof PlayerEntity)
{
fleeingCategory = "player";
}
sendMessageToAllPlayers(PacketBattleMessage.MessageType.USED_ITEM, next.entity.getEntityId(), 0, PacketBattleMessage.UsedItemAction.USED_INVALID.getValue());
break;
}
- ItemStack targetItemStack = ((EntityPlayer)next.entity).inventory.getStackInSlot(next.itemToUse);
+ ItemStack targetItemStack = ((PlayerEntity)next.entity).inventory.getStackInSlot(next.itemToUse);
Item targetItem = targetItemStack.getItem();
if(targetItem == null)
{
sendMessageToAllPlayers(PacketBattleMessage.MessageType.USED_ITEM, next.entity.getEntityId(), 0, PacketBattleMessage.UsedItemAction.USED_NOTHING.getValue());
break;
}
- if(targetItem instanceof ItemFood)
+ if(targetItem.getGroup() == ItemGroup.FOOD)
{
debugLog += " food";
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.USED_ITEM, next.entity.getEntityId(), 0, PacketBattleMessage.UsedItemAction.USED_FOOD.getValue(), targetItemStack.getDisplayName());
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.USED_ITEM, next.entity.getEntityId(), 0, PacketBattleMessage.UsedItemAction.USED_FOOD.getValue(), targetItemStack.getDisplayName().getFormattedText());
final Entity nextEntity = next.entity;
final int nextItemToUse = next.itemToUse;
- next.entity.getServer().addScheduledTask(() -> {
- ((EntityPlayer)nextEntity).inventory.setInventorySlotContents(nextItemToUse, targetItem.onItemUseFinish(targetItemStack, nextEntity.world, (EntityLivingBase)nextEntity));
- });
+ ((PlayerEntity)nextEntity).inventory.setInventorySlotContents(nextItemToUse, targetItem.onItemUseFinish(targetItemStack, nextEntity.world, (LivingEntity)nextEntity));
}
- else if(targetItem instanceof ItemPotion && !(targetItem instanceof ItemSplashPotion) && !(targetItem instanceof ItemLingeringPotion))
+ else if(targetItem instanceof PotionItem)
{
debugLog += " potion";
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.USED_ITEM, next.entity.getEntityId(), 0, PacketBattleMessage.UsedItemAction.USED_POTION.getValue(), targetItemStack.getDisplayName());
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.USED_ITEM, next.entity.getEntityId(), 0, PacketBattleMessage.UsedItemAction.USED_POTION.getValue(), targetItemStack.getDisplayName().getFormattedText());
final Entity nextEntity = next.entity;
final int nextItemToUse = next.itemToUse;
- next.entity.getServer().addScheduledTask(() -> {
- ((EntityPlayer)nextEntity).inventory.setInventorySlotContents(nextItemToUse, targetItem.onItemUseFinish(targetItemStack, nextEntity.world, (EntityLivingBase)nextEntity));
- });
+ ((PlayerEntity)nextEntity).inventory.setInventorySlotContents(nextItemToUse, targetItem.onItemUseFinish(targetItemStack, nextEntity.world, (LivingEntity)nextEntity));
}
else
{
debugLog += " non-consumable";
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.USED_ITEM, next.entity.getEntityId(), 0, PacketBattleMessage.UsedItemAction.USED_INVALID.getValue(), targetItemStack.getDisplayName());
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.USED_ITEM, next.entity.getEntityId(), 0, PacketBattleMessage.UsedItemAction.USED_INVALID.getValue(), targetItemStack.getDisplayName().getFormattedText());
}
break;
case SWITCH_ITEM:
}
final Entity nextEntity = next.entity;
final int nextItemToUse = next.itemToUse;
- next.entity.getServer().addScheduledTask(() -> {
- ((EntityPlayer)nextEntity).inventory.currentItem = nextItemToUse;
- });
+ ((PlayerEntity)nextEntity).inventory.currentItem = nextItemToUse;
sendMessageToAllPlayers(PacketBattleMessage.MessageType.SWITCHED_ITEM, next.entity.getEntityId(), 0, 1);
break;
}
combatantsChanged = true;
}
debugLog += ", adding task";
- FMLCommonHandler.instance().getMinecraftServerInstance().addScheduledTask(() -> {
- sendMessageToAllPlayers(PacketBattleMessage.MessageType.TURN_END, 0, 0, 0);
- });
+ sendMessageToAllPlayers(PacketBattleMessage.MessageType.TURN_END, 0, 0, 0);
debugLog = "Actions end";
break;
} // case ACTION