Skip to content

Commit

Permalink
fixed a ban on death item dupe
Browse files Browse the repository at this point in the history
  • Loading branch information
KartoffelChipss committed May 25, 2024
1 parent 8a477a2 commit 6d88a85
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 22 deletions.
2 changes: 1 addition & 1 deletion dependency-reduced-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<groupId>org.strassburger</groupId>
<artifactId>LifeStealZ</artifactId>
<name>LifeStealZ</name>
<version>1.1.14</version>
<version>1.1.15</version>
<description>A LifeSteal SMP plugin providing you all the features you need!</description>
<build>
<resources>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>org.strassburger</groupId>
<artifactId>LifeStealZ</artifactId>
<version>1.1.14</version>
<version>1.1.15</version>
<packaging>jar</packaging>

<name>LifeStealZ</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@
public class PlayerDeathListener implements Listener {
@EventHandler
public void onPlayerDeath(PlayerDeathEvent event) {
Player player = event.getEntity();
Player killer = player.getKiller();
final Player player = event.getEntity();
final Player killer = player.getKiller();

World world = player.getWorld();
final World world = player.getWorld();

PlayerData playerData = LifeStealZ.getInstance().getPlayerDataStorage().load(player.getUniqueId());

Expand Down Expand Up @@ -54,9 +54,14 @@ public void onPlayerDeath(PlayerDeathEvent event) {
// Player died a natural death (e.g. fall damage)
if (!isDeathByPlayer && LifeStealZ.getInstance().getConfig().getBoolean("looseHeartsToNature")) {
if (playerData.getMaxhp() - 2.0 <= minHearts) {
for (String command : elimCommands) {
LifeStealZ.getInstance().getServer().dispatchCommand(LifeStealZ.getInstance().getServer().getConsoleSender(), command.replace("&player&", player.getName()));
}
Bukkit.getScheduler().scheduleSyncDelayedTask(LifeStealZ.getInstance(), new Runnable() {
@Override
public void run() {
for (String command : elimCommands) {
LifeStealZ.getInstance().getServer().dispatchCommand(LifeStealZ.getInstance().getServer().getConsoleSender(), command.replace("&player&", player.getName()));
}
}
}, 1L);

if (disableBanOnElimination) {
double respawnHP = LifeStealZ.getInstance().getConfig().getInt("respawnHP") * 2;
Expand All @@ -66,8 +71,13 @@ public void onPlayerDeath(PlayerDeathEvent event) {
return;
}

Component kickMessage = MessageUtils.getAndFormatMsg(false, "messages.eliminatedjoin", "&cYou don't have any hearts left!");
player.kick(kickMessage);
Bukkit.getScheduler().scheduleSyncDelayedTask(LifeStealZ.getInstance(), new Runnable() {
@Override
public void run() {
Component kickMessage = MessageUtils.getAndFormatMsg(false, "messages.eliminatedjoin", "&cYou don't have any hearts left!");
player.kick(kickMessage);
}
}, 1L);

if (announceElimination) {
Bukkit.broadcast(MessageUtils.getAndFormatMsg(false, "messages.eliminateionAnnouncementNature", "&c%player% &7has been eliminated!", new Replaceable("%player%", player.getName())));
Expand Down Expand Up @@ -127,9 +137,14 @@ public void onPlayerDeath(PlayerDeathEvent event) {

// Handle victim loosing hearts
if (playerData.getMaxhp() - 2.0 <= minHearts) {
for (String command : elimCommands) {
LifeStealZ.getInstance().getServer().dispatchCommand(LifeStealZ.getInstance().getServer().getConsoleSender(), command.replace("&player&", player.getName()));
}
Bukkit.getScheduler().scheduleSyncDelayedTask(LifeStealZ.getInstance(), new Runnable() {
@Override
public void run() {
for (String command : elimCommands) {
LifeStealZ.getInstance().getServer().dispatchCommand(LifeStealZ.getInstance().getServer().getConsoleSender(), command.replace("&player&", player.getName()));
}
}
}, 1L);

if (disableBanOnElimination) {
double respawnHP = LifeStealZ.getInstance().getConfig().getInt("respawnHP") * 2;
Expand All @@ -139,15 +154,13 @@ public void onPlayerDeath(PlayerDeathEvent event) {
return;
}

// Simulate the player dying before getting banned
//boolean keepInventory = Boolean.TRUE.equals(world.getGameRuleValue(GameRule.KEEP_INVENTORY));
//if (!keepInventory) {
// for (ItemStack item : player.getInventory().getContents()) if (item != null) player.getWorld().dropItemNaturally(player.getLocation(), item);
// player.getInventory().clear();
//}

Component kickMessage = MessageUtils.getAndFormatMsg(false, "messages.eliminatedjoin", "&cYou don't have any hearts left!");
player.kick(kickMessage);
Bukkit.getScheduler().scheduleSyncDelayedTask(LifeStealZ.getInstance(), new Runnable() {
@Override
public void run() {
Component kickMessage = MessageUtils.getAndFormatMsg(false, "messages.eliminatedjoin", "&cYou don't have any hearts left!");
player.kick(kickMessage);
}
}, 1L);

if (announceElimination) {
Bukkit.broadcast(MessageUtils.getAndFormatMsg(false, "messages.eliminationAnnouncement", "&c%player% &7has been eliminated by &c%killer%&7!", new Replaceable("%player%", player.getName()), new Replaceable("%killer%", killer.getName())));
Expand Down

0 comments on commit 6d88a85

Please sign in to comment.