fix: streamline weather handling and backpack pickup logic in EnvironmentExListeners

This commit is contained in:
Janik Heß
2025-03-10 21:20:17 +01:00
parent 285b796ce3
commit af21248341

View File

@@ -98,18 +98,17 @@ public class EnvironmentExListeners implements Listener {
if (e.getBed().getWorld().isThundering()) {
e.getPlayer()
.sendMessage(helper.R3SMessage(Type.SUCCESS, "Das Gewitter wird durchgeschlafen."));
if (e.getPlayer().isSleeping()) {
e.getPlayer().wakeup(true);
}
Bukkit.getWorlds().get(0).setTime(24000);
Bukkit.getWorlds().get(0).setStorm(false);
Bukkit.getWorlds().get(0).setThundering(false);
Bukkit.getWorlds().get(0).setWeatherDuration(6000);
} else {
e.getPlayer()
.sendMessage(helper.R3SMessage(Type.SUCCESS, "Die Nacht wird durchgeschlafen."));
if (e.getPlayer().isSleeping()) {
e.getPlayer().wakeup(true);
}
Bukkit.getWorlds().get(0).setTime(24000);
}
Bukkit.getWorlds().get(0).setTime(24000);
return;
}
@@ -148,21 +147,25 @@ public class EnvironmentExListeners implements Listener {
+ voteForYes + "x Ja, " + voteForNo + "x Nein, "
+ (onlinePlayers - voteForNo - voteForYes) + "x enthalten)"));
} else {
}
else {
p.sendMessage(helper.R3SMessage(Type.OK, "Die Nacht wird durchgeschlafen. ("
+ voteForYes + "x Ja, " + voteForNo + "x Nein, "
+ (onlinePlayers - voteForNo - voteForYes) + "x enthalten)"));
}
if (p.isSleeping()) {
p.wakeup(true);
}
}
Bukkit.getWorlds().get(0).setTime(24000);
Bukkit.getWorlds().get(0).setStorm(false);
Bukkit.getWorlds().get(0).setThundering(false);
Bukkit.getWorlds().get(0).setWeatherDuration(6000);
if (e.getBed().getWorld().isThundering()) {
Bukkit.getWorlds().get(0).setTime(24000);
Bukkit.getWorlds().get(0).setStorm(false);
Bukkit.getWorlds().get(0).setThundering(false);
Bukkit.getWorlds().get(0).setWeatherDuration(6000);
} else {
Bukkit.getWorlds().get(0).setTime(24000);
}
} else if (voteForNo >= voteForYes) {
@@ -186,7 +189,6 @@ public class EnvironmentExListeners implements Listener {
p.wakeup(true);
}
}
Bukkit.getWorlds().get(0).setTime(24000);
}
}
@@ -515,8 +517,36 @@ public class EnvironmentExListeners implements Listener {
@EventHandler
public void onItemCollect(PlayerAttemptPickupItemEvent e) throws IOException {
if (e.getPlayer().getInventory().firstEmpty() == -1 && e.getRemaining() > 0) {
Item itm = e.getItem();
if (itm.getItemStack().getType() == Material.BARRIER && e.getItem().getItemStack().hasItemMeta()) {
if (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk,
PersistentDataType.STRING)
&& (itm.getItemStack().getItemMeta().getPersistentDataContainer()
.get(App.main.nsk, PersistentDataType.STRING).equals("R3S_kleiner_Rucksack"))
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk2,
PersistentDataType.STRING)
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
.get(App.main.nsk2, PersistentDataType.STRING).equals("R3S_Rucksack"))
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk3,
PersistentDataType.STRING)
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
.get(App.main.nsk3, PersistentDataType.STRING).equals("R3S_großer_Rucksack"))
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk4,
PersistentDataType.STRING)
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
.get(App.main.nsk4, PersistentDataType.STRING)
.equals("R3S_riesiger_Rucksack"))) {
e.setCancelled(true);
return;
}
}
if (e.getPlayer().getInventory().contains(App.main.backPack)) {
checkBackpack(1, e.getPlayer(), itm.getItemStack());
}