Skip to content

Commit 5ea0b55

Browse files
jhg023aramperes
authored andcommitted
Implement PlayerSwapHandItemsEvent (#934)
Related to #922.
1 parent 5b8c8e2 commit 5ea0b55

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/main/java/net/glowstone/net/handler/play/player/DiggingHandler.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.bukkit.event.block.BlockBreakEvent;
2727
import org.bukkit.event.block.BlockDamageEvent;
2828
import org.bukkit.event.player.PlayerInteractEvent;
29+
import org.bukkit.event.player.PlayerSwapHandItemsEvent;
2930
import org.bukkit.inventory.EquipmentSlot;
3031
import org.bukkit.inventory.ItemStack;
3132
import org.bukkit.material.DoublePlant;
@@ -128,9 +129,13 @@ public void handle(GlowSession session, DiggingMessage message) {
128129
} else if (message.getState() == DiggingMessage.SWAP_ITEM_IN_HAND) {
129130
ItemStack main = player.getInventory().getItemInMainHand();
130131
ItemStack off = player.getInventory().getItemInOffHand();
131-
player.getInventory().setItemInOffHand(main);
132-
player.getInventory().setItemInMainHand(off);
133-
player.updateInventory();
132+
PlayerSwapHandItemsEvent event = EventFactory.getInstance().callEvent(
133+
new PlayerSwapHandItemsEvent(player, off, main));
134+
if (!event.isCancelled()) {
135+
player.getInventory().setItemInOffHand(main);
136+
player.getInventory().setItemInMainHand(off);
137+
player.updateInventory();
138+
}
134139
return;
135140
} else {
136141
return;

0 commit comments

Comments
 (0)