fix some format issues and implement God battles

This commit is contained in:
xXVevzZXx 2016-05-01 19:43:42 +02:00
parent 7bd6cdb93c
commit 6c2caac800
10 changed files with 315 additions and 190 deletions

View File

@ -311,9 +311,9 @@ public class Arcade extends JavaPlugin
config.GameModeMods.put(mode, new HashMap<>());
if(mods.contains(";"))
if (mods.contains(";"))
{
for(String varSet : mods.split(";"))
for (String varSet : mods.split(";"))
{
String var = varSet.split("=")[0];
String value = varSet.split("=")[1];

View File

@ -1790,10 +1790,12 @@ public abstract class Game implements Listener
itel.remove();
}
}
}@EventHandler(priority = EventPriority.HIGH)
}
@EventHandler(priority = EventPriority.HIGH)
public void teamSelectInteract(PlayerInteractEntityEvent event)
{
if(!PlayerTeamSelection)
if (!PlayerTeamSelection)
return;
if (GetState() != GameState.Recruit)
@ -1814,13 +1816,13 @@ public abstract class Game implements Listener
return;
}
selectTeamMate(player, (Player)event.getRightClicked());
selectTeamMate(player, (Player) event.getRightClicked());
}
@EventHandler
public void teamSelectCommand(PlayerCommandPreprocessEvent event)
{
if(!PlayerTeamSelection)
if (!PlayerTeamSelection)
return;
if (GetState() != GameState.Recruit)
@ -1831,14 +1833,16 @@ public abstract class Game implements Listener
event.setCancelled(true);
Player target = UtilPlayer.searchOnline(event.getPlayer(), event.getMessage().split(" ")[1], true);
Player target = UtilPlayer.searchOnline(event.getPlayer(), event.getMessage().split(" ")[1],
true);
if (target == null)
return;
//Observer
if (Manager.IsObserver(event.getPlayer()))
{
UtilPlayer.message(event.getPlayer(), F.main("Game", "Spectators cannot partake in games."));
UtilPlayer.message(event.getPlayer(),
F.main("Game", "Spectators cannot partake in games."));
return;
}
@ -1858,8 +1862,10 @@ public abstract class Game implements Listener
_teamReqs.remove(ally);
//Inform
UtilPlayer.message(player, F.main("Game", "You accepted " + ally.getName() + "'s Team Request!"));
UtilPlayer.message(ally, F.main("Game", player.getName() + " accepted your Team Request!"));
UtilPlayer.message(player,
F.main("Game", "You accepted " + ally.getName() + "'s Team Request!"));
UtilPlayer.message(ally,
F.main("Game", player.getName() + " accepted your Team Request!"));
//Leave Old Teams
if (GetTeam(player) != null)
@ -1886,13 +1892,16 @@ public abstract class Game implements Listener
return;
//Inform Player
UtilPlayer.message(player, F.main("Game", "You sent a Team Request to " + ally.getName() + "!"));
UtilPlayer.message(player,
F.main("Game", "You sent a Team Request to " + ally.getName() + "!"));
//Inform Target
if (Recharge.Instance.use(player, "Team Req " + ally.getName(), 2000, false, false))
{
UtilPlayer.message(ally, F.main("Game", player.getName() + " sent you a Team Request!"));
UtilPlayer.message(ally, F.main("Game", "Type " + F.elem("/team " + player.getName()) + " to accept!"));
UtilPlayer.message(ally,
F.main("Game", player.getName() + " sent you a Team Request!"));
UtilPlayer.message(ally, F.main("Game",
"Type " + F.elem("/team " + player.getName()) + " to accept!"));
}
//Add Pref
@ -1903,7 +1912,7 @@ public abstract class Game implements Listener
@EventHandler
public void teamQuit(PlayerQuitEvent event)
{
if(!PlayerTeamSelection)
if (!PlayerTeamSelection)
return;
if (GetState() != GameState.Recruit)
@ -1937,7 +1946,7 @@ public abstract class Game implements Listener
@EventHandler
public void CustomTeamGeneration(GameStateChangeEvent event)
{
if(!TeamMode)
if (!TeamMode)
return;
if (event.GetState() != GameState.Recruit)
@ -1949,12 +1958,12 @@ public abstract class Game implements Listener
TeamColors color = TeamColors.DARK_AQUA;
if(TeamPerSpawn)
if (TeamPerSpawn)
{
int i = 0;
for(Location location : initialSpawns)
for (Location location : initialSpawns)
{
i++;
spawns = new ArrayList<>();
@ -1966,28 +1975,29 @@ public abstract class Game implements Listener
//Got Spawns
color = getNextColor(color);
int e = 0;
for(GameTeam teams : GetTeamList())
for (GameTeam teams : GetTeamList())
{
if(teams.GetColor() == color.getColor())
if (teams.GetColor() == color.getColor())
{
e++;
if(getColorName(color.getColor()).length <= e)
if (getColorName(color.getColor()).length <= e)
{
e = 0;
}
}
}
GameTeam team = new GameTeam(this, getColorName(color.getColor())[e], color.getColor(), spawns, true);
GameTeam team = new GameTeam(this, getColorName(color.getColor())[e],
color.getColor(), spawns, true);
team.SetVisible(true);
GetTeamList().add(team);
}
}
else
{
if(!this.ForceTeamSize)
if (!this.ForceTeamSize)
{
for(int i = 1; i <= this.TeamCount; i++)
for (int i = 1; i <= this.TeamCount; i++)
{
color = getNextColor(color);
GameTeam team = new GameTeam(this, String.valueOf(i), color.getColor(), spawns);
@ -1997,23 +2007,24 @@ public abstract class Game implements Listener
}
else
{
for(int i = 1; i <= Manager.GetPlayerFull() / this.PlayersPerTeam; i++)
for (int i = 1; i <= Manager.GetPlayerFull() / this.PlayersPerTeam; i++)
{
//Got Spawns
color = getNextColor(color);
int e = 0;
for(GameTeam teams : GetTeamList())
for (GameTeam teams : GetTeamList())
{
if(teams.GetColor() == color.getColor())
if (teams.GetColor() == color.getColor())
{
e++;
if(getColorName(color.getColor()).length <= e)
if (getColorName(color.getColor()).length <= e)
{
e = 0;
}
}
}
GameTeam team = new GameTeam(this, getColorName(color.getColor())[e], color.getColor(), spawns, true);
GameTeam team = new GameTeam(this, getColorName(color.getColor())[e],
color.getColor(), spawns, true);
team.SetVisible(true);
GetTeamList().add(team);
}
@ -2025,30 +2036,33 @@ public abstract class Game implements Listener
private void addRelativeSpawns(ArrayList<Location> spawns, Location location)
{
//Gather Extra Spawns
for(int x = -1; x <= 1; x++)
for (int x = -1; x <= 1; x++)
{
for(int z = -1; z <= 1; z++)
for (int z = -1; z <= 1; z++)
{
if(x != 0 && z != 0)
if (x != 0 && z != 0)
{
Location newSpawn = location.clone().add(x, 0, z);
//Search Downward for Solid
while (UtilBlock.airFoliage(newSpawn.getBlock().getRelative(BlockFace.DOWN)) && newSpawn.getY() > location.getY()-5)
while (UtilBlock.airFoliage(newSpawn.getBlock().getRelative(BlockFace.DOWN))
&& newSpawn.getY() > location.getY() - 5)
{
newSpawn.subtract(0, 1, 0);
}
//Move Up out of Solid
while (!UtilBlock.airFoliage(newSpawn.getBlock()) && newSpawn.getY() < location.getY()+5)
while (!UtilBlock.airFoliage(newSpawn.getBlock())
&& newSpawn.getY() < location.getY() + 5)
{
newSpawn.add(0, 1, 0);
}
//On Solid, with 2 Air Above
if (UtilBlock.airFoliage(newSpawn.getBlock()) &&
UtilBlock.airFoliage(newSpawn.getBlock().getRelative(BlockFace.UP)) &&
!UtilBlock.airFoliage(newSpawn.getBlock().getRelative(BlockFace.DOWN)))
if (UtilBlock.airFoliage(newSpawn.getBlock())
&& UtilBlock.airFoliage(newSpawn.getBlock().getRelative(BlockFace.UP))
&& !UtilBlock
.airFoliage(newSpawn.getBlock().getRelative(BlockFace.DOWN)))
{
spawns.add(newSpawn);
}
@ -2097,9 +2111,9 @@ public abstract class Game implements Listener
private String[] getColorName(ChatColor color)
{
for(TeamColors colors : TeamColors.values())
for (TeamColors colors : TeamColors.values())
{
if(colors.getColor() == color)
if (colors.getColor() == color)
{
return colors.getNames();
}
@ -2109,8 +2123,9 @@ public abstract class Game implements Listener
private TeamColors getNextColor(TeamColors color)
{
for(TeamColors colors : TeamColors.values()) {
if(colors.ordinal() == color.ordinal() + 1)
for (TeamColors colors : TeamColors.values())
{
if (colors.ordinal() == color.ordinal() + 1)
{
return colors;
}
@ -2118,8 +2133,12 @@ public abstract class Game implements Listener
return TeamColors.YELLOW;
}
public void addTutorials(){}
public void addTutorials()
{
}
public void disable(){}
public void disable()
{
}
}

View File

@ -26,7 +26,7 @@ public class SpeedBridges extends Bridge
@EventHandler
public void fallBridges(GameStateChangeEvent event)
{
if(event.GetState() != GameState.Live)
if (event.GetState() != GameState.Live)
return;
setBridgeTime(_untilBridges);

View File

@ -58,7 +58,7 @@ public class TeamBuild extends Build
BuildData data = new BuildData(team, spawn, WorldData.GetDataLocs("YELLOW"));
for(Player player : team.GetPlayers(true))
for (Player player : team.GetPlayers(true))
{
getData().put(player, data);
player.setFlySpeed(0.1f);
@ -90,7 +90,7 @@ public class TeamBuild extends Build
{
getViewData().setAbusive();
for(Player player : getViewData().Team.GetPlayers(true))
for (Player player : getViewData().Team.GetPlayers(true))
{
//Record Abuse
AddStat(player, "Build Draw Abuse", 1, false, true);
@ -168,7 +168,7 @@ public class TeamBuild extends Build
BuildData data = null;
//Average points per player is 1000, so divided by 50 = 20 gems
for(Player player : bestTeam.GetPlayers(true))
for (Player player : bestTeam.GetPlayers(true))
{
AddGems(player, bestPoints / 50, "Build Votes", false, false);
@ -192,7 +192,7 @@ public class TeamBuild extends Build
//Gems
if (places.size() >= 1)
{
for(Player player : places.get(0).GetPlayers(true))
for (Player player : places.get(0).GetPlayers(true))
{
_winners.add(player);
AddGems(player, 20, "1st Place", false, false);

View File

@ -2,7 +2,7 @@ package nautilus.game.arcade.game.games.quiver.modes;
import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.game.games.quiver.Quiver;
import nautilus.game.arcade.game.games.quiver.modes.kits.KitModedLeaper ;
import nautilus.game.arcade.game.games.quiver.modes.kits.KitModedLeaper;
import nautilus.game.arcade.kit.Kit;
/**

View File

@ -36,7 +36,7 @@ public class TwoQuiver extends Quiver
{
if (event.GetEvent().getEntity() instanceof Player)
{
getDeathTime().put((Player)event.GetEvent().getEntity(), System.currentTimeMillis());
getDeathTime().put((Player) event.GetEvent().getEntity(), System.currentTimeMillis());
}
if (event.GetLog().GetKiller() == null)
@ -46,20 +46,23 @@ public class TwoQuiver extends Quiver
return;
Player player = UtilPlayer.searchExact(event.GetLog().GetKiller().GetName());
if (player == null) return;
if (player == null)
return;
int amount = _arrowAmount;
if (GetKit(player) instanceof KitSlamShot)
{
if (Manager.GetCondition().HasCondition(event.GetEvent().getEntity(), ConditionType.FALLING, null))
if (Manager.GetCondition().HasCondition(event.GetEvent().getEntity(),
ConditionType.FALLING, null))
{
amount++;
}
}
//New Arrow
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(262, (byte)0, amount, F.item("Super Arrow")));
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(262, (byte) 0, amount,
F.item("Super Arrow")));
player.playSound(player.getLocation(), Sound.PISTON_EXTEND, 3f, 2f);
//Score

View File

@ -1600,6 +1600,9 @@ public class UHC extends TeamGame
break;
}
if(visible)
setOreType(vein);
// Remove Vein
if (!visible)
{
@ -1622,6 +1625,11 @@ public class UHC extends TeamGame
}
}
public void setOreType(ArrayList<Block> blocks)
{
}
public boolean isMapLoaded()
{
return _mapLoaded;

View File

@ -29,7 +29,7 @@ public class CutClean extends UHC
private int _steakAmount;
private HashMap<Material, Material> _ores;
private HashMap<Material, Material> _oreDrops;
private HashMap<Material, Material> _drops;
public CutClean(ArcadeManager manager)
@ -38,9 +38,9 @@ public class CutClean extends UHC
_steakAmount = 15;
_ores = new HashMap<>();
_ores.put(Material.GOLD_ORE, Material.GOLD_INGOT);
_ores.put(Material.IRON_ORE, Material.IRON_INGOT);
_oreDrops = new HashMap<>();
_oreDrops.put(Material.GOLD_ORE, Material.GOLD_INGOT);
_oreDrops.put(Material.IRON_ORE, Material.IRON_INGOT);
_drops = new HashMap<>();
_drops.put(Material.RAW_BEEF, Material.COOKED_BEEF);
@ -53,19 +53,20 @@ public class CutClean extends UHC
@EventHandler
public void giveSteak(GameStateChangeEvent event)
{
if(event.GetState() != GameState.Live)
if (event.GetState() != GameState.Live)
return;
for(Player player : GetPlayers(true))
for (Player player : GetPlayers(true))
{
UtilInv.insert(player, ItemStackFactory.Instance.CreateStack(Material.COOKED_BEEF, _steakAmount));
UtilInv.insert(player,
ItemStackFactory.Instance.CreateStack(Material.COOKED_BEEF, _steakAmount));
}
}
@EventHandler
public void smeltOres(BlockBreakEvent event)
{
for(Material mat : _ores.keySet())
for (Material mat : _oreDrops.keySet())
{
if (event.getBlock().getType() == mat)
{
@ -77,9 +78,12 @@ public class CutClean extends UHC
@Override
public void run()
{
event.getBlock().getWorld().dropItem(event.getBlock().getLocation().add(0.5, 0.2, 0.5), new ItemStack(_ores.get(mat)));
event.getBlock().getWorld().dropItem(
event.getBlock().getLocation().add(0.5, 0.2, 0.5),
new ItemStack(_oreDrops.get(mat)));
}}, 1);
}
}, 1);
}
}
}
@ -88,16 +92,17 @@ public class CutClean extends UHC
public void smeltFood(EntityDeathEvent event)
{
List<ItemStack> drops = event.getDrops();
for(Material mat : _drops.keySet())
for (Material mat : _drops.keySet())
{
Iterator<ItemStack> itemIterator = drops.iterator();
while(itemIterator.hasNext())
while (itemIterator.hasNext())
{
ItemStack item = itemIterator.next();
if(item.getType() == mat)
if (item.getType() == mat)
{
itemIterator.remove();
drops.add(ItemStackFactory.Instance.CreateStack(_drops.get(mat), 1 + UtilMath.r(3)));
drops.add(ItemStackFactory.Instance.CreateStack(_drops.get(mat),
1 + UtilMath.r(3)));
}
}
}

View File

@ -0,0 +1,82 @@
package nautilus.game.arcade.game.games.uhc.modes;
import java.util.ArrayList;
import java.util.HashMap;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.UtilMath;
import nautilus.game.arcade.ArcadeManager;
import nautilus.game.arcade.game.games.uhc.UHC;
/**
* GodBattles
*
* @author xXVevzZXx
*/
public class GodBattles extends UHC
{
private ArrayList<Material> _ores;
private HashMap<Material, Material> _oreDrops;
public GodBattles(ArcadeManager manager)
{
super(manager);
_ores = new ArrayList<>();
_ores.add(Material.GOLD_ORE);
_ores.add(Material.DIAMOND_ORE);
_oreDrops = new HashMap<>();
_oreDrops.put(Material.GOLD_ORE, Material.GOLD_BLOCK);
}
@EventHandler
public void smeltOres(BlockBreakEvent event)
{
for (Material mat : _oreDrops.keySet())
{
if (event.getBlock().getType() == mat)
{
event.setCancelled(true);
event.getBlock().setType(Material.AIR);
Bukkit.getScheduler().runTaskLater(Manager.getPlugin(), new Runnable()
{
@Override
public void run()
{
event.getBlock().getWorld().dropItem(
event.getBlock().getLocation().add(0.5, 0.2, 0.5),
new ItemStack(_oreDrops.get(mat)));
}
}, 1);
}
}
}
@Override
public void setOreType(ArrayList<Block> blocks)
{
Material ore = _ores.get(UtilMath.r(_ores.size()));
for (Block block : blocks)
{
block.setType(ore);
}
}
@Override
public String GetMode()
{
return "God Battles";
}
}

View File

@ -324,7 +324,7 @@ public class GameCreationManager implements Listener
HashMap<String, String> varSet = Manager.GetServerConfig().GameModeMods.get(mode.getName());
if(varSet == null)
if (varSet == null)
return;
for (Class<? extends Game> clazz : classes)
@ -340,7 +340,9 @@ public class GameCreationManager implements Listener
value = value.split("\\(")[1];
value = value.replace(")", "");
processList(clazz, game, var, value.contains(":") ? value.split("\\:") : new String[]{value}, add, remove);
processList(clazz, game, var,
value.contains(":") ? value.split("\\:") : new String[]
{ value }, add, remove);
}
else if (value.contains("["))
{
@ -349,7 +351,8 @@ public class GameCreationManager implements Listener
Map<String, String> varMap = new HashMap<>();
String[] values = value.contains(":") ? value.split(":") : new String[]{value};
String[] values = value.contains(":") ? value.split(":") : new String[]
{ value };
for (String keyValueSet : values)
{
@ -369,10 +372,11 @@ public class GameCreationManager implements Listener
}
@SuppressWarnings("unchecked")
private void processMap(Class<? extends Game> clazz, Game game, String var, Map<String, String> map)
private void processMap(Class<? extends Game> clazz, Game game, String var,
Map<String, String> map)
{
Field f = getField(clazz, var);
if(f == null)
if (f == null)
return;
try
@ -391,7 +395,8 @@ public class GameCreationManager implements Listener
for (String key : map.keySet())
{
currentMap.put(parseValue(keyGenericClazz, key, game), parseValue(valueGenericClazz, map.get(key), game));
currentMap.put(parseValue(keyGenericClazz, key, game),
parseValue(valueGenericClazz, map.get(key), game));
}
f.setAccessible(false);
}
@ -402,10 +407,11 @@ public class GameCreationManager implements Listener
}
@SuppressWarnings("unchecked")
private void processList(Class<? extends Game> clazz, Game game, String var, String[] value, boolean add, boolean remove)
private void processList(Class<? extends Game> clazz, Game game, String var, String[] value,
boolean add, boolean remove)
{
Field f = getField(clazz, var);
if(f == null)
if (f == null)
return;
try
@ -423,7 +429,7 @@ public class GameCreationManager implements Listener
currentList.clear();
}
for(String finalValue : value)
for (String finalValue : value)
{
if (add)
{
@ -446,7 +452,7 @@ public class GameCreationManager implements Listener
private void processVariable(Class<? extends Game> clazz, Game game, String var, String value)
{
Field f = getField(clazz, var);
if(f == null)
if (f == null)
return;
try
@ -512,7 +518,7 @@ public class GameCreationManager implements Listener
}
return null;
}
catch(Exception ex)
catch (Exception ex)
{
System.out.println("Error while parsing value");
return null;
@ -532,7 +538,9 @@ public class GameCreationManager implements Listener
{
f = clazz.getDeclaredField("_" + var);
}
catch (Exception ex) {}
catch (Exception ex)
{
}
}
return f;
}