Iterator Fix in Fly to avoid concurrent exceptions

1.12 particle support
This commit is contained in:
Naman
2018-03-31 11:46:37 -05:00
parent e14af238bf
commit 21587db74d
9 changed files with 2212 additions and 19 deletions

View File

@@ -66,6 +66,11 @@ public class CmdAdmin extends FCommand {
FPlayer admin = targetFaction.getFPlayerAdmin();
if (fyou == admin && fyou.getFaction().getSize() == 1) {
msg(TL.COMMAND_ADMIN_NOMEMBERS);
return;
}
// if target player is currently admin, demote and replace him
if (fyou == admin) {
targetFaction.promoteNewLeader();

View File

@@ -1,11 +1,12 @@
package com.massivecraft.factions.cmd;
import com.darkblade12.particleeffect.ParticleEffect;
import com.massivecraft.factions.*;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Relation;
import com.massivecraft.factions.util.WarmUpUtil;
import com.massivecraft.factions.zcore.util.TL;
import com.massivecraft.factions.zcore.util.particles.ParticleEffect;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Entity;
@@ -160,8 +161,9 @@ public class CmdFly extends FCommand {
id = Bukkit.getScheduler().scheduleSyncRepeatingTask(P.p, new Runnable() {
@Override
public void run() {
for(String name : flyMap.keySet()){
Player player = Bukkit.getPlayer(name);
Iterator<String> itr = flyMap.keySet().iterator();
while (itr.hasNext()) {
Player player = Bukkit.getPlayer(itr.next());
if (player == null){
continue;
}
@@ -169,9 +171,7 @@ public class CmdFly extends FCommand {
continue;
}
ParticleEffect.CLOUD.display(0, 0, 0, 0, 1, player.getLocation().add(0, -0.35, 0), 16);
}
if (flyMap.keySet().size() == 0){
Bukkit.getScheduler().cancelTask(id);

View File

@@ -1,12 +1,13 @@
package com.massivecraft.factions.cmd;
import com.darkblade12.particleeffect.ParticleEffect;
import com.massivecraft.factions.FLocation;
import com.massivecraft.factions.P;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.util.VisualizeUtil;
import com.massivecraft.factions.zcore.util.TL;
import com.massivecraft.factions.zcore.util.particles.ParticleEffect;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;