SteamWar/FightSystem
Archiviert
13
1

Merge branch 'master' into configRefactoring

Dieser Commit ist enthalten in:
Lixfel 2021-12-02 08:51:18 +01:00
Commit f4c66565f6
10 geänderte Dateien mit 44 neuen und 29 gelöschten Zeilen

Datei anzeigen

@ -29,16 +29,19 @@ import java.util.Set;
public class BlockIdWrapper8 implements BlockIdWrapper.IBlockIdWrapper { public class BlockIdWrapper8 implements BlockIdWrapper.IBlockIdWrapper {
@Override @Override
@SuppressWarnings("deprecation")
public int blockToId(Block block) { public int blockToId(Block block) {
return block.getTypeId() << 4 + block.getData(); return block.getTypeId() << 4 + block.getData();
} }
@Override @Override
@SuppressWarnings("deprecation")
public void setBlock(World world, int x, int y, int z, int blockState) { public void setBlock(World world, int x, int y, int z, int blockState) {
world.getBlockAt(x, y, z).setTypeIdAndData(blockState >> 4, (byte)(blockState & 0b1111), false); world.getBlockAt(x, y, z).setTypeIdAndData(blockState >> 4, (byte)(blockState & 0b1111), false);
} }
@Override @Override
@SuppressWarnings("deprecation")
public Set<Integer> getHiddenBlockIds() { public Set<Integer> getHiddenBlockIds() {
Set<Integer> hiddenBlockIds = new HashSet<>(); Set<Integer> hiddenBlockIds = new HashSet<>();
for(String tag : Config.HiddenBlocks){ for(String tag : Config.HiddenBlocks){
@ -48,6 +51,7 @@ public class BlockIdWrapper8 implements BlockIdWrapper.IBlockIdWrapper {
} }
@Override @Override
@SuppressWarnings("deprecation")
public int getObfuscateWith() { public int getObfuscateWith() {
return Material.matchMaterial(Config.ObfuscateWith).getId() << 4; return Material.matchMaterial(Config.ObfuscateWith).getId() << 4;
} }

Datei anzeigen

@ -139,8 +139,8 @@ KIT_DELETION_DELETE=
NO_ARENA_LEAVING=§cDu darfst die Arena nicht verlassen NO_ARENA_LEAVING=§cDu darfst die Arena nicht verlassen
CHECK_JOIN_DENIED=§cAuf diesem Server wird momentan eine Schematic geprüft! CHECK_JOIN_DENIED=§cAuf diesem Server wird momentan eine Schematic geprüft!
CHECK_COMMAND_LOCKED=§cDieser Befehl ist beim Prüfen gesperrt! Admin wird benachrichtigt. CHECK_COMMAND_LOCKED=§cDieser Befehl ist beim Prüfen gesperrt! Admin wird benachrichtigt.
NO_BLOCK_BREAK=§cDu darfst derzeit keine Blöcke abbauen NO_BLOCK_BREAK=§cDu darfst hier derzeit keine Blöcke abbauen
NO_BLOCK_PLACE=§cDu darfst derzeit keine Blöcke setzen NO_BLOCK_PLACE=§cDu darfst hier derzeit keine Blöcke setzen
NO_BOW_USAGE=§cDu darfst den Bogen erst nach Kampfbeginn nutzen NO_BOW_USAGE=§cDu darfst den Bogen erst nach Kampfbeginn nutzen
NO_PARTICIPANT=§cDu bist kein Kampfteilnehmer NO_PARTICIPANT=§cDu bist kein Kampfteilnehmer
NO_FRIENDLY_FIRE=§cDu darfst deinen Teamkollegen keinen Schaden zufügen NO_FRIENDLY_FIRE=§cDu darfst deinen Teamkollegen keinen Schaden zufügen
@ -188,7 +188,7 @@ BAR_PRE_LEADER=
BAR_PRE_SCHEM={1} §7Schemauswahl {0} {2} BAR_PRE_SCHEM={1} §7Schemauswahl {0} {2}
BAR_PREPARE={1} {3} §7Vorbereitung {0} {4} {2} BAR_PREPARE={1} {3} §7Vorbereitung {0} {4} {2}
BAR_PRE_RUNNING={1} {3} §7Kampfbeginn in {0} {4} {2} BAR_PRE_RUNNING={1} {3} §7Kampfbeginn in {0} {4} {2}
BAR_RUNNING0={1} {3} lW {0} rW {4} {2} BAR_RUNNING0={1} {3} {0} {4} {2}
BAR_RUNNING1={1} {3} {5} {0} {6} {4} {2} BAR_RUNNING1={1} {3} {5} {0} {6} {4} {2}
BAR_RUNNING2={1} {3} {5} {7} {0} {6} {8} {4} {2} BAR_RUNNING2={1} {3} {5} {7} {0} {6} {8} {4} {2}
BAR_RUNNING3={1} {3} {5} {7} {9} {0} {6} {8} {10} {4} {2} BAR_RUNNING3={1} {3} {5} {7} {9} {0} {6} {8} {10} {4} {2}
@ -205,7 +205,7 @@ BAR_WATER={0}
HELLS_BELLS_COUNTDOWN=bis die Bomben fallen HELLS_BELLS_COUNTDOWN=bis die Bomben fallen
TECHKO_COUNTDOWN=bis {0} §7einen Schuss abgegeben haben muss TECHKO_COUNTDOWN=bis {0} §7einen Schuss abgegeben haben muss
WIN_FIGHTLEADER="§7Kampfleiterentscheidung" WIN_FIGHTLEADER=§7Kampfleiterentscheidung
WIN_PERCENT={0} §7zu beschädigt WIN_PERCENT={0} §7zu beschädigt
WIN_OFFLINE_BOTH=§7Beide Teams offline WIN_OFFLINE_BOTH=§7Beide Teams offline
WIN_OFFLINE={0} §7offline WIN_OFFLINE={0} §7offline

Datei anzeigen

@ -139,7 +139,7 @@ public class GUI {
anvilInv.setItem(Material.LEATHER_CHESTPLATE); anvilInv.setItem(Material.LEATHER_CHESTPLATE);
anvilInv.setCallback(s -> { anvilInv.setCallback(s -> {
SteamwarUser user = SteamwarUser.get(p.getUniqueId()); SteamwarUser user = SteamwarUser.get(p.getUniqueId());
if(PersonalKit.nameInUse(user.getId(), Config.SchematicType.toDB(), s)) { if(PersonalKit.get(user.getId(), Config.SchematicType.toDB(), s) != null) {
msg.sendPrefixless("KITNAME_IN_USE", p, ChatMessageType.ACTION_BAR); msg.sendPrefixless("KITNAME_IN_USE", p, ChatMessageType.ACTION_BAR);
p.closeInventory(); p.closeInventory();
return; return;

Datei anzeigen

@ -63,8 +63,6 @@ public class ArenaBorder implements Listener {
player.damage(2); player.damage(2);
else if(!Config.GroundWalkable) else if(!Config.GroundWalkable)
player.teleport(team.getSpawn()); player.teleport(team.getSpawn());
}else if(to.getY() + 1.8 > Config.ArenaRegion.getMaxY()){
reset(event);
} }
} }

Datei anzeigen

@ -49,7 +49,6 @@ public class HotbarGUI implements Listener {
if(event.getItem() == null) if(event.getItem() == null)
return; return;
event.setCancelled(true);
FightTeam fightTeam = Fight.getPlayerTeam(player); FightTeam fightTeam = Fight.getPlayerTeam(player);
if(fightTeam == null) if(fightTeam == null)
return; return;
@ -60,6 +59,7 @@ public class HotbarGUI implements Listener {
if(displayName == null) if(displayName == null)
return; return;
event.setCancelled(true);
onMatch(player, displayName, "CHOOSE_SCHEMATIC", () -> GUI.preSchemDialog(player), Config.GameName); onMatch(player, displayName, "CHOOSE_SCHEMATIC", () -> GUI.preSchemDialog(player), Config.GameName);
onMatch(player, displayName, "INVITE_PLAYERS", () -> GUI.chooseInvitation(player)); onMatch(player, displayName, "INVITE_PLAYERS", () -> GUI.chooseInvitation(player));
onMatch(player, displayName, "REMOVE_PLAYERS", () -> GUI.chooseRemove(player)); onMatch(player, displayName, "REMOVE_PLAYERS", () -> GUI.chooseRemove(player));

Datei anzeigen

@ -29,33 +29,27 @@ import org.bukkit.event.block.BlockDispenseEvent;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryDragEvent; import org.bukkit.event.inventory.InventoryDragEvent;
import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import java.util.Collections;
import java.util.EnumSet;
import java.util.Set;
public class InFightInventory implements Listener { public class InFightInventory implements Listener {
private static final Set<Material> allowed = Collections.unmodifiableSet(EnumSet.of(Material.TNT, Material.AIR));
public InFightInventory() { public InFightInventory() {
new StateDependentListener(ArenaMode.AntiReplay, FightState.Ingame, this); new StateDependentListener(ArenaMode.AntiReplay, FightState.Ingame, this);
} }
@EventHandler @EventHandler
public void onInventoryClick(InventoryClickEvent event) { public void onInventoryClick(InventoryClickEvent event) {
Inventory clicked = event.getClickedInventory(); InventoryType top = event.getView().getTopInventory().getType();
if(event.getClick().isShiftClick()){ if(top == InventoryType.CRAFTING)
ItemStack clickedOn = event.getCurrentItem(); return;
if( if ((event.getCursor() != null && !allowed.contains(event.getCursor().getType())) || (event.getCurrentItem() != null && !allowed.contains(event.getCurrentItem().getType())))
clickedOn != null && event.setCancelled(true); // Deny if transferred item is not TNT
event.getView().getTopInventory().getType() != InventoryType.CRAFTING &&
clicked == event.getWhoClicked().getInventory())
event.setCancelled(true);
}else if (
clicked != event.getWhoClicked().getInventory() &&
clicked != null &&
clicked.getType() != InventoryType.PLAYER &&
event.getCursor() != null &&
event.getCursor().getType() != Material.AIR)
event.setCancelled(true);
} }
@EventHandler @EventHandler

Datei anzeigen

@ -19,6 +19,7 @@
package de.steamwar.fightsystem.listener; package de.steamwar.fightsystem.listener;
import de.steamwar.fightsystem.ArenaMode;
import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.Config;
import de.steamwar.fightsystem.states.FightState; import de.steamwar.fightsystem.states.FightState;
import de.steamwar.fightsystem.states.StateDependentListener; import de.steamwar.fightsystem.states.StateDependentListener;
@ -32,9 +33,11 @@ public class PistonListener implements Listener {
public PistonListener() { public PistonListener() {
//Wenn Entern aktiv ist, sollen Raketen etc. entern können //Wenn Entern aktiv ist, sollen Raketen etc. entern können
if(!ArenaMode.Check.contains(Config.mode)) {
new StateDependentListener(Config.EnterStages.isEmpty(), FightState.All, this); new StateDependentListener(Config.EnterStages.isEmpty(), FightState.All, this);
new StateDependentListener(!Config.EnterStages.isEmpty(), FightState.Setup, this); new StateDependentListener(!Config.EnterStages.isEmpty(), FightState.Setup, this);
} }
}
@EventHandler @EventHandler
public void handlePistonExtend(BlockPistonExtendEvent e){ public void handlePistonExtend(BlockPistonExtendEvent e){

Datei anzeigen

@ -30,9 +30,11 @@ import de.steamwar.fightsystem.utils.Region;
import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.ChatMessageType;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.GameMode; import org.bukkit.GameMode;
import org.bukkit.block.Block;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
@ -64,13 +66,24 @@ public class TeamArea implements Listener {
realSpectator.remove(e.getPlayer()); realSpectator.remove(e.getPlayer());
} }
@EventHandler
public void blockPlace(BlockPlaceEvent event) {
Player player = event.getPlayer();
Block block = event.getBlock();
if(Config.BlueExtendRegion.inRegion(block) || Config.RedExtendRegion.inRegion(block))
return;
event.setCancelled(true);
FightSystem.getMessage().sendPrefixless("NO_BLOCK_PLACE", player, ChatMessageType.ACTION_BAR);
}
private void checkInTeamRegion(PlayerMoveEvent event, FightTeam team, Player player, FightTeam playerTeam) { private void checkInTeamRegion(PlayerMoveEvent event, FightTeam team, Player player, FightTeam playerTeam) {
boolean spectator = player.getGameMode() == GameMode.SPECTATOR; boolean spectator = player.getGameMode() == GameMode.SPECTATOR;
if(!spectator && playerTeam != null && playerTeam.canPlayerEntern(player)) if(!spectator && playerTeam != null && playerTeam.canPlayerEntern(player))
return; // Player can entern return; // Player can entern
Region region = team.getExtendRegion(); Region region = team.getExtendRegion();
boolean inRegion = region.playerInRegion(event.getTo()); boolean inRegion = region.in2dRegion(event.getTo());
if(team == playerTeam) { if(team == playerTeam) {
if(spectator) { if(spectator) {
realSpectator(inRegion, player); realSpectator(inRegion, player);
@ -80,7 +93,7 @@ public class TeamArea implements Listener {
return; // Always allowed in own region return; // Always allowed in own region
} }
if(inRegion) { if(region.playerInRegion(event.getTo())) {
reset(event, "NO_TEAMAREA"); // Not allowed in region reset(event, "NO_TEAMAREA"); // Not allowed in region
if(team.getSchemRegion().playerInRegion(event.getTo()) && Config.PreperationArea >= 5){ // Preventing false positives due to small extension if(team.getSchemRegion().playerInRegion(event.getTo()) && Config.PreperationArea >= 5){ // Preventing false positives due to small extension
player.kickPlayer(null); player.kickPlayer(null);

Datei anzeigen

@ -41,6 +41,8 @@ public class ItemBuilder {
item = new ItemStack(matrial, amount); item = new ItemStack(matrial, amount);
meta = item.getItemMeta(); meta = item.getItemMeta();
} }
@SuppressWarnings("deprecation")
public ItemBuilder(Material matrial, short subid) { public ItemBuilder(Material matrial, short subid) {
item = new ItemStack(matrial, 1, subid); item = new ItemStack(matrial, 1, subid);
meta = item.getItemMeta(); meta = item.getItemMeta();

Datei anzeigen

@ -24,6 +24,7 @@
<configuration> <configuration>
<source>1.8</source> <source>1.8</source>
<target>1.8</target> <target>1.8</target>
<compilerArgs>-Xlint</compilerArgs>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>