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;
|
||||
CaughtFishData caughtFishData = optionalFishData.get();
|
||||
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.getWorld().spawn(player.getLocation(), ExperienceOrb.class).setExperience(10);
|
||||
ScoreboardManager.getInstance().updateScoreboard(player, caughtFishData.length(), caughtFishData.fish());
|
||||
|
|
@ -194,6 +204,13 @@ public class CatchFish implements Listener {
|
|||
CaughtFishData caughtFishData = optionalFishData.get();
|
||||
item.setItemStack(caughtFishData.fishItem());
|
||||
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());
|
||||
player.sendActionBar(MiniMessage.miniMessage().deserialize("<green>You caught a <rarity> <name> <gold><length> cm</gold></green>", //TODO move to config
|
||||
TagResolver.resolver(
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user