mirror of
https://github.com/hyperdefined/ToolStats.git
synced 2025-12-06 06:41:44 +00:00
gamemode check
This commit is contained in:
@@ -47,8 +47,7 @@ public class BlocksMined implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
// ignore creative mode
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
if (player.getGameMode() != GameMode.SURVIVAL) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// if the player mines something with their fist
|
// if the player mines something with their fist
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ package lol.hyper.toolstats.events;
|
|||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
import lol.hyper.toolstats.UUIDDataType;
|
import lol.hyper.toolstats.UUIDDataType;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@@ -46,6 +47,9 @@ public class CraftItem implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Player player = (Player) event.getWhoClicked();
|
Player player = (Player) event.getWhoClicked();
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
ItemStack itemStack = event.getCurrentItem();
|
ItemStack itemStack = event.getCurrentItem();
|
||||||
if (itemStack == null || itemStack.getType() == Material.AIR) {
|
if (itemStack == null || itemStack.getType() == Material.AIR) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class EntityDamage implements Listener {
|
|||||||
// a player is killing something
|
// a player is killing something
|
||||||
if (event.getDamager() instanceof Player) {
|
if (event.getDamager() instanceof Player) {
|
||||||
Player player = (Player) event.getDamager();
|
Player player = (Player) event.getDamager();
|
||||||
if (player.getGameMode() != GameMode.SURVIVAL) {
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// a player killed something with their fist
|
// a player killed something with their fist
|
||||||
@@ -103,6 +103,9 @@ public class EntityDamage implements Listener {
|
|||||||
// if the shooter is a player
|
// if the shooter is a player
|
||||||
if (arrow.getShooter() instanceof Player) {
|
if (arrow.getShooter() instanceof Player) {
|
||||||
Player player = (Player) arrow.getShooter();
|
Player player = (Player) arrow.getShooter();
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
ItemStack heldItem = player.getInventory().getItem(player.getInventory().getHeldItemSlot());
|
ItemStack heldItem = player.getInventory().getItem(player.getInventory().getHeldItemSlot());
|
||||||
if (heldItem == null) {
|
if (heldItem == null) {
|
||||||
return;
|
return;
|
||||||
@@ -122,6 +125,9 @@ public class EntityDamage implements Listener {
|
|||||||
// player is taken damage but not being killed
|
// player is taken damage but not being killed
|
||||||
if (livingEntity instanceof Player) {
|
if (livingEntity instanceof Player) {
|
||||||
Player player = (Player) livingEntity;
|
Player player = (Player) livingEntity;
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
PlayerInventory inventory = player.getInventory();
|
PlayerInventory inventory = player.getInventory();
|
||||||
for (ItemStack armor : inventory.getArmorContents()) {
|
for (ItemStack armor : inventory.getArmorContents()) {
|
||||||
if (armor != null) {
|
if (armor != null) {
|
||||||
@@ -142,6 +148,9 @@ public class EntityDamage implements Listener {
|
|||||||
// player is taken damage but not being killed
|
// player is taken damage but not being killed
|
||||||
if (livingEntity instanceof Player) {
|
if (livingEntity instanceof Player) {
|
||||||
Player player = (Player) livingEntity;
|
Player player = (Player) livingEntity;
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
PlayerInventory inventory = player.getInventory();
|
PlayerInventory inventory = player.getInventory();
|
||||||
for (ItemStack armor : inventory.getArmorContents()) {
|
for (ItemStack armor : inventory.getArmorContents()) {
|
||||||
if (armor != null) {
|
if (armor != null) {
|
||||||
@@ -162,6 +171,9 @@ public class EntityDamage implements Listener {
|
|||||||
// player is taken damage but not being killed
|
// player is taken damage but not being killed
|
||||||
if (livingEntity instanceof Player) {
|
if (livingEntity instanceof Player) {
|
||||||
Player player = (Player) livingEntity;
|
Player player = (Player) livingEntity;
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
PlayerInventory inventory = player.getInventory();
|
PlayerInventory inventory = player.getInventory();
|
||||||
for (ItemStack armor : inventory.getArmorContents()) {
|
for (ItemStack armor : inventory.getArmorContents()) {
|
||||||
if (armor != null) {
|
if (armor != null) {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package lol.hyper.toolstats.events;
|
|||||||
|
|
||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
import lol.hyper.toolstats.UUIDDataType;
|
import lol.hyper.toolstats.UUIDDataType;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.*;
|
import org.bukkit.entity.*;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@@ -48,6 +49,10 @@ public class PickupItem implements Listener {
|
|||||||
}
|
}
|
||||||
Entity entity = event.getEntity();
|
Entity entity = event.getEntity();
|
||||||
if (entity instanceof Player) {
|
if (entity instanceof Player) {
|
||||||
|
Player player = (Player) entity;
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
Item item = event.getItem();
|
Item item = event.getItem();
|
||||||
if (item.getType() == EntityType.DROPPED_ITEM) {
|
if (item.getType() == EntityType.DROPPED_ITEM) {
|
||||||
ItemStack itemStack = event.getItem().getItemStack();
|
ItemStack itemStack = event.getItem().getItemStack();
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package lol.hyper.toolstats.events;
|
|||||||
|
|
||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
import lol.hyper.toolstats.UUIDDataType;
|
import lol.hyper.toolstats.UUIDDataType;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Item;
|
import org.bukkit.entity.Item;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -54,6 +55,9 @@ public class PlayerFish implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
ItemStack heldItem = player.getInventory().getItem(player.getInventory().getHeldItemSlot());
|
ItemStack heldItem = player.getInventory().getItem(player.getInventory().getHeldItemSlot());
|
||||||
if (heldItem == null || heldItem.getType() == Material.AIR || heldItem.getType() != Material.FISHING_ROD) {
|
if (heldItem == null || heldItem.getType() == Material.AIR || heldItem.getType() != Material.FISHING_ROD) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package lol.hyper.toolstats.events;
|
|||||||
|
|
||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -49,11 +50,16 @@ public class PlayerInteract implements Listener {
|
|||||||
if (block == null) {
|
if (block == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
// store when a player opens a chest
|
// store when a player opens a chest
|
||||||
// this is used to detect who opens a newly spawned chest
|
// this is used to detect who opens a newly spawned chest
|
||||||
// since that is not really tracked on the lootevent
|
// since that is not really tracked on the lootevent
|
||||||
if (block.getType() != Material.AIR && block.getType() == Material.CHEST) {
|
if (block.getType() != Material.AIR && block.getType() == Material.CHEST) {
|
||||||
openedChests.put(block, event.getPlayer());
|
openedChests.put(block, player);
|
||||||
Bukkit.getScheduler().runTaskLater(toolStats, () -> openedChests.remove(block), 20);
|
Bukkit.getScheduler().runTaskLater(toolStats, () -> openedChests.remove(block), 20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package lol.hyper.toolstats.events;
|
package lol.hyper.toolstats.events;
|
||||||
|
|
||||||
import lol.hyper.toolstats.ToolStats;
|
import lol.hyper.toolstats.ToolStats;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -47,6 +48,9 @@ public class SheepShear implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
Entity entity = event.getRightClicked();
|
Entity entity = event.getRightClicked();
|
||||||
if (!(entity instanceof Sheep)) {
|
if (!(entity instanceof Sheep)) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import lol.hyper.toolstats.ToolStats;
|
|||||||
import lol.hyper.toolstats.UUIDDataType;
|
import lol.hyper.toolstats.UUIDDataType;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
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;
|
||||||
@@ -52,6 +53,13 @@ public class VillagerTrade implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Inventory inventory = event.getClickedInventory();
|
Inventory inventory = event.getClickedInventory();
|
||||||
|
if (!(event.getWhoClicked() instanceof Player)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Player player = (Player) event.getWhoClicked();
|
||||||
|
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
// only check villager inventories
|
// only check villager inventories
|
||||||
if (inventory instanceof MerchantInventory) {
|
if (inventory instanceof MerchantInventory) {
|
||||||
// only check the result slot (the item you receive)
|
// only check the result slot (the item you receive)
|
||||||
@@ -60,17 +68,16 @@ public class VillagerTrade implements Listener {
|
|||||||
// only check items we want
|
// only check items we want
|
||||||
for (String x : toolStats.allValidItems) {
|
for (String x : toolStats.allValidItems) {
|
||||||
if (item.getType().toString().toLowerCase(Locale.ROOT).contains(x)) {
|
if (item.getType().toString().toLowerCase(Locale.ROOT).contains(x)) {
|
||||||
// if the player shift clicks show the warning
|
// if the player shift clicks, show the warning
|
||||||
if (event.isShiftClick()) {
|
if (event.isShiftClick()) {
|
||||||
String configMessage = toolStats.config.getString("messages.shift-click-warning.trading");
|
String configMessage = toolStats.config.getString("messages.shift-click-warning.trading");
|
||||||
if (configMessage != null) {
|
if (configMessage != null) {
|
||||||
event.getWhoClicked().sendMessage(ChatColor.translateAlternateColorCodes('&', configMessage));
|
event.getWhoClicked().sendMessage(ChatColor.translateAlternateColorCodes('&', configMessage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ItemStack newItem = addLore(item, (Player) event.getWhoClicked());
|
ItemStack newItem = addLore(item, player);
|
||||||
if (newItem != null) {
|
if (newItem != null) {
|
||||||
// this gets delayed since villager inventories suck for no reason
|
// this gets delayed since villager inventories suck for no reason
|
||||||
// if you don't delay this it doesn't work idk
|
|
||||||
Bukkit.getScheduler().runTaskLater(toolStats, () -> event.setCurrentItem(newItem), 5);
|
Bukkit.getScheduler().runTaskLater(toolStats, () -> event.setCurrentItem(newItem), 5);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user