Auto despawn fish that players don't pick up after 60 seconds
This commit is contained in:
parent
67bd8ce8d0
commit
dc93ba6e7e
|
|
@ -162,7 +162,17 @@ public class CatchFish implements Listener {
|
||||||
return;
|
return;
|
||||||
CaughtFishData caughtFishData = optionalFishData.get();
|
CaughtFishData caughtFishData = optionalFishData.get();
|
||||||
player.getInventory().addItem(caughtFishData.fishItem()).values()
|
player.getInventory().addItem(caughtFishData.fishItem()).values()
|
||||||
.forEach(item -> player.getWorld().dropItem(player.getLocation(), item).setOwner(player.getUniqueId()));
|
.forEach(item -> {
|
||||||
|
Item dropItem = player.getWorld().dropItem(player.getLocation(), item);
|
||||||
|
dropItem.setOwner(player.getUniqueId());
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (!dropItem.isDead())
|
||||||
|
dropItem.remove();
|
||||||
|
}
|
||||||
|
}.runTaskLater(fishingEvent, 60 * 20);
|
||||||
|
});
|
||||||
player.updateInventory();
|
player.updateInventory();
|
||||||
player.getWorld().spawn(player.getLocation(), ExperienceOrb.class).setExperience(10);
|
player.getWorld().spawn(player.getLocation(), ExperienceOrb.class).setExperience(10);
|
||||||
ScoreboardManager.getInstance().updateScoreboard(player, caughtFishData.length(), caughtFishData.fish());
|
ScoreboardManager.getInstance().updateScoreboard(player, caughtFishData.length(), caughtFishData.fish());
|
||||||
|
|
@ -194,6 +204,13 @@ public class CatchFish implements Listener {
|
||||||
CaughtFishData caughtFishData = optionalFishData.get();
|
CaughtFishData caughtFishData = optionalFishData.get();
|
||||||
item.setItemStack(caughtFishData.fishItem());
|
item.setItemStack(caughtFishData.fishItem());
|
||||||
item.setOwner(player.getUniqueId());
|
item.setOwner(player.getUniqueId());
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (!item.isDead())
|
||||||
|
item.remove();
|
||||||
|
}
|
||||||
|
}.runTaskLater(fishingEvent, 60 * 20);
|
||||||
ScoreboardManager.getInstance().updateScoreboard(player, caughtFishData.length(), caughtFishData.fish());
|
ScoreboardManager.getInstance().updateScoreboard(player, caughtFishData.length(), caughtFishData.fish());
|
||||||
player.sendActionBar(MiniMessage.miniMessage().deserialize("<green>You caught a <rarity> <name> <gold><length> cm</gold></green>", //TODO move to config
|
player.sendActionBar(MiniMessage.miniMessage().deserialize("<green>You caught a <rarity> <name> <gold><length> cm</gold></green>", //TODO move to config
|
||||||
TagResolver.resolver(
|
TagResolver.resolver(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user