Make some events implement ItemEvent

This commit is contained in:
TheMode 2021-06-04 00:54:36 +02:00
parent f1ddedfb44
commit 5d3bae3d7f
5 changed files with 28 additions and 24 deletions

View File

@ -2,11 +2,11 @@ package net.minestom.server.event.item;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.event.CancellableEvent; import net.minestom.server.event.CancellableEvent;
import net.minestom.server.event.Event; import net.minestom.server.event.trait.ItemEvent;
import net.minestom.server.item.ItemStack; import net.minestom.server.item.ItemStack;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public class ItemDropEvent implements CancellableEvent { public class ItemDropEvent implements ItemEvent, CancellableEvent {
private final Player player; private final Player player;
private final ItemStack itemStack; private final ItemStack itemStack;

View File

@ -1,11 +1,12 @@
package net.minestom.server.event.item; package net.minestom.server.event.item;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.event.Event; import net.minestom.server.event.trait.ItemEvent;
import net.minestom.server.event.trait.PlayerEvent;
import net.minestom.server.item.ItemStack; import net.minestom.server.item.ItemStack;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public class ItemUpdateStateEvent implements Event { public class ItemUpdateStateEvent implements PlayerEvent, ItemEvent {
private final Player player; private final Player player;
private final Player.Hand hand; private final Player.Hand hand;
@ -18,21 +19,11 @@ public class ItemUpdateStateEvent implements Event {
this.itemStack = itemStack; this.itemStack = itemStack;
} }
@NotNull
public Player getPlayer() {
return player;
}
@NotNull @NotNull
public Player.Hand getHand() { public Player.Hand getHand() {
return hand; return hand;
} }
@NotNull
public ItemStack getItemStack() {
return itemStack;
}
public void setHandAnimation(boolean handAnimation) { public void setHandAnimation(boolean handAnimation) {
this.handAnimation = handAnimation; this.handAnimation = handAnimation;
} }
@ -40,4 +31,14 @@ public class ItemUpdateStateEvent implements Event {
public boolean hasHandAnimation() { public boolean hasHandAnimation() {
return handAnimation; return handAnimation;
} }
@Override
public @NotNull ItemStack getItemStack() {
return itemStack;
}
@Override
public @NotNull Player getPlayer() {
return player;
}
} }

View File

@ -1,13 +1,15 @@
package net.minestom.server.event.item; package net.minestom.server.event.item;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.ItemEntity; import net.minestom.server.entity.ItemEntity;
import net.minestom.server.entity.LivingEntity; import net.minestom.server.entity.LivingEntity;
import net.minestom.server.event.CancellableEvent; import net.minestom.server.event.CancellableEvent;
import net.minestom.server.event.Event; import net.minestom.server.event.trait.EntityEvent;
import net.minestom.server.event.trait.ItemEvent;
import net.minestom.server.item.ItemStack; import net.minestom.server.item.ItemStack;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public class PickupItemEvent implements CancellableEvent { public class PickupItemEvent implements EntityEvent, ItemEvent, CancellableEvent {
private final LivingEntity livingEntity; private final LivingEntity livingEntity;
private final ItemEntity itemEntity; private final ItemEntity itemEntity;
@ -29,10 +31,6 @@ public class PickupItemEvent implements CancellableEvent {
return itemEntity; return itemEntity;
} }
/**
* @deprecated use {@link #getItemEntity()} and {@link ItemEntity#getItemStack()}.
*/
@Deprecated
@NotNull @NotNull
public ItemStack getItemStack() { public ItemStack getItemStack() {
return getItemEntity().getItemStack(); return getItemEntity().getItemStack();
@ -47,4 +45,9 @@ public class PickupItemEvent implements CancellableEvent {
public void setCancelled(boolean cancel) { public void setCancelled(boolean cancel) {
this.cancelled = cancel; this.cancelled = cancel;
} }
@Override
public @NotNull Entity getEntity() {
return livingEntity;
}
} }

View File

@ -2,7 +2,7 @@ package net.minestom.server.event.player;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.event.CancellableEvent; import net.minestom.server.event.CancellableEvent;
import net.minestom.server.event.Event; import net.minestom.server.event.trait.ItemEvent;
import net.minestom.server.event.trait.PlayerEvent; import net.minestom.server.event.trait.PlayerEvent;
import net.minestom.server.item.ItemStack; import net.minestom.server.item.ItemStack;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
/** /**
* Event when an item is used without clicking on a block. * Event when an item is used without clicking on a block.
*/ */
public class PlayerUseItemEvent implements PlayerEvent, CancellableEvent { public class PlayerUseItemEvent implements PlayerEvent, ItemEvent, CancellableEvent {
private final Player player; private final Player player;
private final Player.Hand hand; private final Player.Hand hand;

View File

@ -1,7 +1,7 @@
package net.minestom.server.event.player; package net.minestom.server.event.player;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.event.Event; import net.minestom.server.event.trait.ItemEvent;
import net.minestom.server.event.trait.PlayerEvent; import net.minestom.server.event.trait.PlayerEvent;
import net.minestom.server.item.ItemStack; import net.minestom.server.item.ItemStack;
import net.minestom.server.utils.BlockPosition; import net.minestom.server.utils.BlockPosition;
@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
/** /**
* Used when a player is clicking on a block with an item (but is not a block in item form). * Used when a player is clicking on a block with an item (but is not a block in item form).
*/ */
public class PlayerUseItemOnBlockEvent implements PlayerEvent { public class PlayerUseItemOnBlockEvent implements PlayerEvent, ItemEvent {
private final Player player; private final Player player;
private final Player.Hand hand; private final Player.Hand hand;