package me.yaruma.fightsystem.winconditions; import me.yaruma.fightsystem.FightSystem; import me.yaruma.fightsystem.fight.Fight; import me.yaruma.fightsystem.utils.Config; import me.yaruma.fightsystem.utils.Region; import org.bukkit.Bukkit; import org.bukkit.entity.Entity; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityExplodeEvent; public class WinconditionPercentSystem implements Listener { private static int blueDestroyedBlocks; private static int redDestroyedBlocks; private static int schematicSize; public WinconditionPercentSystem() { schematicSize = Math.abs(Config.SchemsizeX * Config.SchemsizeY * Config.SchemsizeZ); } @EventHandler public void handleEntityExplode(EntityExplodeEvent event) { if(!Config.PercentSystem) return; Entity entity = event.getEntity(); //Team 1 / Rot if(Region.isInRange(entity.getLocation(), Config.TeamBlueCornerX, Config.TeamBlueCornerY, Config.TeamBlueCornerZ, Config.SchemsizeX, Config.SchemsizeY, Config.SchemsizeZ, Config.BorderFromSchematic)){ blueDestroyedBlocks = blueDestroyedBlocks + event.blockList().size(); Bukkit.broadcastMessage("red"); double destroyPercent = blueDestroyedBlocks * 100 / schematicSize; Bukkit.broadcastMessage(" " + destroyPercent); if(destroyPercent >= Config.PercentWin) { FightSystem.getPlugin().setSpectateState(Fight.blueTeam); } return; } //Team 2 / Blau if(Region.isInRange(entity.getLocation(), Config.TeamRedCornerX, Config.TeamRedCornerY, Config.TeamRedCornerZ, Config.SchemsizeX, Config.SchemsizeY, Config.SchemsizeZ, Config.BorderFromSchematic)) { redDestroyedBlocks = redDestroyedBlocks + event.blockList().size(); double destroyPercent = redDestroyedBlocks * 100 / schematicSize; if(destroyPercent >= Config.PercentWin) { FightSystem.getPlugin().setSpectateState(Fight.redTeam); } return; } } }