commit
2abb826dd3
@ -110,6 +110,7 @@ public class BlockHunt extends JavaPlugin implements Listener {
|
|||||||
getServer().getPluginManager().registerEvents(new OnFoodLevelChangeEvent(), this);
|
getServer().getPluginManager().registerEvents(new OnFoodLevelChangeEvent(), this);
|
||||||
getServer().getPluginManager().registerEvents(new OnInventoryClickEvent(), this);
|
getServer().getPluginManager().registerEvents(new OnInventoryClickEvent(), this);
|
||||||
getServer().getPluginManager().registerEvents(new OnInventoryCloseEvent(), this);
|
getServer().getPluginManager().registerEvents(new OnInventoryCloseEvent(), this);
|
||||||
|
getServer().getPluginManager().registerEvents(new OnPlayerSwapHandItemsEvent(), this);
|
||||||
|
|
||||||
// Removed - This is handled by WorldGuard now.
|
// Removed - This is handled by WorldGuard now.
|
||||||
// getServer().getPluginManager().registerEvents(
|
// getServer().getPluginManager().registerEvents(
|
||||||
|
@ -91,19 +91,22 @@ public class OnEntityDamageByEntityEvent implements Listener {
|
|||||||
player.setHealth(20);
|
player.setHealth(20);
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
||||||
|
// try moving everything to the next tick to prevent "Removing entity while ticking" errors
|
||||||
|
Player finalDamager = damager;
|
||||||
|
player.getServer().getScheduler().runTask(BlockHunt.plugin, () -> {
|
||||||
DisguiseAPI.undisguiseToAll(player);
|
DisguiseAPI.undisguiseToAll(player);
|
||||||
MemoryStorage.pBlock.remove(player);
|
MemoryStorage.pBlock.remove(player);
|
||||||
|
|
||||||
if (!arena.seekers.contains(player)) {
|
if (!arena.seekers.contains(player)) {
|
||||||
if (MemoryStorage.shop.getFile().get(damager.getName() + ".tokens") == null) {
|
if (MemoryStorage.shop.getFile().get(finalDamager.getName() + ".tokens") == null) {
|
||||||
MemoryStorage.shop.getFile().set(damager.getName() + ".tokens", 0);
|
MemoryStorage.shop.getFile().set(finalDamager.getName() + ".tokens", 0);
|
||||||
MemoryStorage.shop.save();
|
MemoryStorage.shop.save();
|
||||||
}
|
}
|
||||||
int damagerTokens = MemoryStorage.shop.getFile().getInt(damager.getName() + ".tokens");
|
int damagerTokens = MemoryStorage.shop.getFile().getInt(finalDamager.getName() + ".tokens");
|
||||||
MemoryStorage.shop.getFile().set(damager.getName() + ".tokens", damagerTokens + arena.killTokens);
|
MemoryStorage.shop.getFile().set(finalDamager.getName() + ".tokens", damagerTokens + arena.killTokens);
|
||||||
MemoryStorage.shop.save();
|
MemoryStorage.shop.save();
|
||||||
|
|
||||||
MessageManager.sendFMessage(damager, ConfigC.normal_addedToken, "amount-" + arena.killTokens);
|
MessageManager.sendFMessage(finalDamager, ConfigC.normal_addedToken, "amount-" + arena.killTokens);
|
||||||
|
|
||||||
if (MemoryStorage.shop.getFile().get(player.getName() + ".tokens") == null) {
|
if (MemoryStorage.shop.getFile().get(player.getName() + ".tokens") == null) {
|
||||||
MemoryStorage.shop.getFile().set(player.getName() + ".tokens", 0);
|
MemoryStorage.shop.getFile().set(player.getName() + ".tokens", 0);
|
||||||
@ -118,7 +121,7 @@ public class OnEntityDamageByEntityEvent implements Listener {
|
|||||||
|
|
||||||
arena.seekers.add(player);
|
arena.seekers.add(player);
|
||||||
player.setWalkSpeed(0.3F);
|
player.setWalkSpeed(0.3F);
|
||||||
ArenaHandler.sendFMessage(arena, ConfigC.normal_ingameHiderDied, "playername-" + player.getDisplayName(), "killer-" + damager.getDisplayName());
|
ArenaHandler.sendFMessage(arena, ConfigC.normal_ingameHiderDied, "playername-" + player.getDisplayName(), "killer-" + finalDamager.getDisplayName());
|
||||||
|
|
||||||
int hidercount = (arena.playersInArena.size() - arena.seekers.size());
|
int hidercount = (arena.playersInArena.size() - arena.seekers.size());
|
||||||
if ((hidercount <= 3) && (hidercount > 0)) {
|
if ((hidercount <= 3) && (hidercount > 0)) {
|
||||||
@ -156,6 +159,7 @@ public class OnEntityDamageByEntityEvent implements Listener {
|
|||||||
player.showPlayer(BlockHunt.plugin, otherplayer); // Make other players visible to new player
|
player.showPlayer(BlockHunt.plugin, otherplayer); // Make other players visible to new player
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,12 +25,10 @@ public class OnInventoryClickEvent implements Listener {
|
|||||||
Player player = (Player) event.getWhoClicked();
|
Player player = (Player) event.getWhoClicked();
|
||||||
|
|
||||||
for (Arena arena : MemoryStorage.arenaList) {
|
for (Arena arena : MemoryStorage.arenaList) {
|
||||||
if (arena.playersInArena.contains(player) && !arena.seekers.contains(player)) {
|
if (arena.playersInArena.contains(player)) {
|
||||||
if (event.getSlot() == 8 || event.getSlot() == 39) {
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Inventory inv = event.getInventory();
|
Inventory inv = event.getInventory();
|
||||||
InventoryView invView = event.getView();
|
InventoryView invView = event.getView();
|
||||||
|
@ -24,9 +24,9 @@ public class OnPlayerQuitEvent implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
// @EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onPlayerJoinEvent(PlayerJoinEvent event) {
|
// public void onPlayerJoinEvent(PlayerJoinEvent event) {
|
||||||
Player playerJoining = event.getPlayer();
|
// Player playerJoining = event.getPlayer();
|
||||||
playerJoining.teleport(playerJoining.getWorld().getSpawnLocation());
|
// playerJoining.teleport(playerJoining.getWorld().getSpawnLocation());
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package nl.Steffion.BlockHunt.Listeners;
|
||||||
|
|
||||||
|
import nl.Steffion.BlockHunt.Arena;
|
||||||
|
import nl.Steffion.BlockHunt.ArenaHandler;
|
||||||
|
import nl.Steffion.BlockHunt.MemoryStorage;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerSwapHandItemsEvent;
|
||||||
|
|
||||||
|
public class OnPlayerSwapHandItemsEvent implements Listener {
|
||||||
|
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||||
|
public void onPlayerSwapHandItemsEvent(PlayerSwapHandItemsEvent event) {
|
||||||
|
// Early exit if no one is in any arena
|
||||||
|
if (ArenaHandler.noPlayersInArenas()) return;
|
||||||
|
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
for (Arena arena : MemoryStorage.arenaList) {
|
||||||
|
if (arena.playersInArena.contains(player)) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user