public boolean hasCombatant(int entityID)
{
- synchronized(sideAEntryQueue)
+ for(Combatant c : sideAEntryQueue)
{
- for(Combatant c : sideAEntryQueue)
+ if(c.entity.getEntityId() == entityID)
{
- if(c.entity.getEntityId() == entityID)
- {
- return true;
- }
+ return true;
}
}
- synchronized(sideBEntryQueue)
+ for(Combatant c : sideBEntryQueue)
{
- for(Combatant c : sideBEntryQueue)
+ if(c.entity.getEntityId() == entityID)
{
- if(c.entity.getEntityId() == entityID)
- {
- return true;
- }
+ return true;
}
}
return sideA.containsKey(entityID) || sideB.containsKey(entityID);
public boolean hasCombatantInSideA(int entityID)
{
- synchronized(sideAEntryQueue)
+ for(Combatant c : sideAEntryQueue)
{
- for(Combatant c : sideAEntryQueue)
+ if(c.entity.getEntityId() == entityID)
{
- if(c.entity.getEntityId() == entityID)
- {
- return true;
- }
+ return true;
}
}
return sideA.containsKey(entityID);
newCombatant.battleID = getId();
if(isServer)
{
- synchronized(sideAEntryQueue)
- {
- sideAEntryQueue.add(newCombatant);
- }
+ sideAEntryQueue.add(newCombatant);
}
else
{
newCombatant.battleID = getId();
if(isServer)
{
- synchronized(sideBEntryQueue)
- {
- sideBEntryQueue.add(newCombatant);
- }
+ sideBEntryQueue.add(newCombatant);
}
else
{
public int getSize()
{
int size = sideA.size() + sideB.size();
- synchronized(sideAEntryQueue)
- {
- size += sideAEntryQueue.size();
- }
- synchronized(sideBEntryQueue)
- {
- size += sideBEntryQueue.size();
- }
+ size += sideAEntryQueue.size();
+ size += sideBEntryQueue.size();
return size;
}
return true;
}
boolean combatantsChanged = false;
- synchronized(sideAEntryQueue)
+ for(Combatant c = sideAEntryQueue.poll(); c != null; c = sideAEntryQueue.poll())
{
- for(Combatant c = sideAEntryQueue.poll(); c != null; c = sideAEntryQueue.poll())
- {
- sideA.put(c.entity.getEntityId(), c);
- combatantsChanged = true;
- }
+ sideA.put(c.entity.getEntityId(), c);
+ combatantsChanged = true;
}
- synchronized(sideBEntryQueue)
+ for(Combatant c = sideBEntryQueue.poll(); c != null; c = sideBEntryQueue.poll())
{
- for(Combatant c = sideBEntryQueue.poll(); c != null; c = sideBEntryQueue.poll())
- {
- sideB.put(c.entity.getEntityId(), c);
- combatantsChanged = true;
- }
+ sideB.put(c.entity.getEntityId(), c);
+ combatantsChanged = true;
}
if(TurnBasedMinecraftMod.proxy.getConfig().isFreezeCombatantsEnabled())
{
// 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()));
- }
+ 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);
}
private Battle createBattle(Collection<Entity> sideA, Collection<Entity> sideB, DimensionType dimension)
{
Battle newBattle = null;
- synchronized(battleMap)
+ while(battleMap.containsKey(IDCounter))
{
- while(battleMap.containsKey(IDCounter))
- {
- ++IDCounter;
- }
- newBattle = new Battle(this, IDCounter, sideA, sideB, true, dimension);
- battleMap.put(IDCounter, newBattle);
+ ++IDCounter;
}
+ newBattle = new Battle(this, IDCounter, sideA, sideB, true, dimension);
+ battleMap.put(IDCounter, newBattle);
for(Entity e : sideA) {
entityToBattleMap.put(new EntityIDDimPair(e), newBattle.getId());
}
public Battle getBattleByID(int id)
{
- synchronized(battleMap)
- {
- return battleMap.get(id);
- }
+ return battleMap.get(id);
}
public void cleanup()
{
battleUpdater.setRunning(false);
MinecraftForge.EVENT_BUS.unregister(battleUpdater);
- synchronized(battleMap)
- {
- battleMap.clear();
- }
+ battleMap.clear();
battleUpdater = null;
}
if(c.entity instanceof ServerPlayerEntity) {
TurnBasedMinecraftMod.getHandler().send(PacketDistributor.PLAYER.with(()->(ServerPlayerEntity) c.entity), new PacketGeneralMessage("You just left battle! " + config.getLeaveBattleCooldownSeconds() + " seconds until you can attack/be-attacked again!"));
}
- synchronized(recentlyLeftBattle) {
- recentlyLeftBattle.put(c.entity.getEntityId(), c);
- }
+ recentlyLeftBattle.put(c.entity.getEntityId(), c);
entityToBattleMap.remove(new EntityIDDimPair(c.entity));
}
protected void updateRecentlyLeftBattle()
{
long current = System.nanoTime();
- synchronized(recentlyLeftBattle)
+ for(Iterator<Map.Entry<Integer, Combatant>> iter = recentlyLeftBattle.entrySet().iterator(); iter.hasNext();)
{
- for(Iterator<Map.Entry<Integer, Combatant>> iter = recentlyLeftBattle.entrySet().iterator(); iter.hasNext();)
+ Map.Entry<Integer, Combatant> entry = iter.next();
+ if(current - entry.getValue().time > TurnBasedMinecraftMod.proxy.getConfig().getLeaveBattleCooldownNanos())
{
- Map.Entry<Integer, Combatant> entry = iter.next();
- if(current - entry.getValue().time > TurnBasedMinecraftMod.proxy.getConfig().getLeaveBattleCooldownNanos())
+ iter.remove();
+ if(entry.getValue().entity instanceof ServerPlayerEntity)
{
- iter.remove();
- if(entry.getValue().entity instanceof ServerPlayerEntity)
- {
- TurnBasedMinecraftMod.getHandler().send(PacketDistributor.PLAYER.with(()->(ServerPlayerEntity)entry.getValue().entity), new PacketGeneralMessage("Timer ended, you can now attack/be-attacked again."));
- }
+ TurnBasedMinecraftMod.getHandler().send(PacketDistributor.PLAYER.with(()->(ServerPlayerEntity)entry.getValue().entity), new PacketGeneralMessage("Timer ended, you can now attack/be-attacked again."));
}
}
}
public boolean isRecentlyLeftBattle(int entityID)
{
- synchronized(recentlyLeftBattle)
- {
- return recentlyLeftBattle.containsKey(entityID);
- }
+ return recentlyLeftBattle.containsKey(entityID);
}
public boolean forceLeaveBattle(EntityIDDimPair entityInfo) {