Skip to content

Commit 6471249

Browse files
committed
At least it compiles
1 parent ce2bf3c commit 6471249

1 file changed

Lines changed: 11 additions & 16 deletions

File tree

src/main/java/dev/plex/listener/PlayerListener.java

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,30 @@
44
import com.comphenix.protocol.ProtocolLibrary;
55
import com.comphenix.protocol.ProtocolManager;
66
import com.comphenix.protocol.events.*;
7-
import io.papermc.paper.datacomponent.DataComponentType;
87
import io.papermc.paper.datacomponent.DataComponentTypes;
9-
import io.papermc.paper.datacomponent.item.ItemAdventurePredicate;
8+
import io.papermc.paper.registry.TypedKey;
109
import org.bukkit.GameMode;
1110
import org.bukkit.Location;
1211
import org.bukkit.Material;
1312
import org.bukkit.Tag;
1413
import org.bukkit.block.Block;
1514
import org.bukkit.block.BlockFace;
15+
import org.bukkit.block.BlockType;
1616
import org.bukkit.block.data.BlockData;
1717
import org.bukkit.block.data.Directional;
18-
import org.bukkit.enchantments.EnchantmentTarget;
1918
import org.bukkit.event.Event;
2019
import org.bukkit.event.EventHandler;
2120
import org.bukkit.event.block.Action;
2221
import org.bukkit.event.block.BlockBreakEvent;
2322
import org.bukkit.event.block.BlockPlaceEvent;
2423
import org.bukkit.event.player.PlayerInteractEvent;
2524
import org.bukkit.inventory.ItemStack;
26-
import org.bukkit.inventory.meta.ItemMeta;
2725
import org.bukkit.util.Vector;
2826

2927
public class PlayerListener extends PlexListener
3028
{
3129
private final ProtocolManager protocolManager;
3230
private final PacketListener packetListener;
33-
public static final DataComponentType.Valued<ItemAdventurePredicate> CAN_PLACE_ON = valued("can_place_on");
34-
3531

3632
public PlayerListener()
3733
{
@@ -47,7 +43,7 @@ public void onPacketSending(PacketEvent event)
4743
}
4844
PacketContainer packet = event.getPacket();
4945
byte b;
50-
if (packet.getIntegers().getValues().get(0) == event.getPlayer().getEntityId() && (b = packet.getBytes().getValues().get(0)) >= (byte) 24 && b <= (byte) 27)
46+
if (packet.getIntegers().getValues().getFirst() == event.getPlayer().getEntityId() && (b = packet.getBytes().getValues().getFirst()) >= (byte) 24 && b <= (byte) 27)
5147
{
5248
packet.getBytes().write(0, (byte) 28);
5349
}
@@ -82,12 +78,8 @@ private void onBlock(PlayerInteractEvent event)
8278
ItemStack item = event.getItem();
8379
if (item != null)
8480
{
85-
ItemMeta meta = item.getItemMeta();
86-
if (meta != null)
87-
{
88-
canPlace = item.hasData(DataComponentTypes.CAN_PLACE_ON);
89-
canBreak = item.hasData(DataComponentTypes.CAN_BREAK);
90-
}
81+
canPlace = item.getData(DataComponentTypes.CAN_PLACE_ON).predicates().stream().anyMatch(blockPredicate -> blockPredicate.blocks().contains((TypedKey<BlockType>) clicked.getType().asBlockType().getKey().key()));
82+
canBreak = item.getData(DataComponentTypes.CAN_BREAK).predicates().stream().anyMatch(blockPredicate -> blockPredicate.blocks().contains((TypedKey<BlockType>) clicked.getType().asBlockType().getKey().key()));
9183
}
9284
}
9385
boolean clickedTargetBlock = clicked.getType() == Material.COMMAND_BLOCK || clicked.getType() == Material.CHAIN_COMMAND_BLOCK || clicked.getType() == Material.REPEATING_COMMAND_BLOCK || clicked.getType() == Material.STRUCTURE_BLOCK || clicked.getType() == Material.JIGSAW;
@@ -140,7 +132,7 @@ else if (event.getAction() == Action.LEFT_CLICK_BLOCK && clickedTargetBlock)
140132
{
141133
return;
142134
}
143-
if (event.getItem() != null && (EnchantmentTarget.WEAPON.includes(event.getItem().getType()) || event.getItem().getType() == Material.DEBUG_STICK || event.getItem().getType() == Material.TRIDENT))
135+
if (event.getItem() != null && (Tag.ITEMS_SWORDS.isTagged(event.getItem().getType()) || event.getItem().getType() == Material.DEBUG_STICK || event.getItem().getType() == Material.TRIDENT))
144136
{
145137
return;
146138
}
@@ -192,8 +184,11 @@ private boolean isInteractable(Material material)
192184
{
193185
return switch (material)
194186
{
195-
case BREWING_STAND, CAKE, CHEST, HOPPER, TRAPPED_CHEST, ENDER_CHEST, CAULDRON, COMMAND_BLOCK, REPEATING_COMMAND_BLOCK, CHAIN_COMMAND_BLOCK, BEACON, REPEATER, COMPARATOR, BARREL, DISPENSER, DROPPER, LEVER, CRAFTING_TABLE, CARTOGRAPHY_TABLE, SMITHING_TABLE, ENCHANTING_TABLE, FLETCHING_TABLE, BLAST_FURNACE, LOOM, GRINDSTONE, FURNACE, STONECUTTER, BELL, DAYLIGHT_DETECTOR, JIGSAW, STRUCTURE_BLOCK ->
196-
true;
187+
case BREWING_STAND, CAKE, CHEST, HOPPER, TRAPPED_CHEST, ENDER_CHEST, CAULDRON, COMMAND_BLOCK,
188+
REPEATING_COMMAND_BLOCK, CHAIN_COMMAND_BLOCK, BEACON, REPEATER, COMPARATOR, BARREL, DISPENSER, DROPPER,
189+
LEVER, CRAFTING_TABLE, CARTOGRAPHY_TABLE, SMITHING_TABLE, ENCHANTING_TABLE, FLETCHING_TABLE,
190+
BLAST_FURNACE, LOOM, GRINDSTONE, FURNACE, STONECUTTER, BELL, DAYLIGHT_DETECTOR, JIGSAW,
191+
STRUCTURE_BLOCK -> true;
197192
default ->
198193
Tag.SIGNS.isTagged(material) || Tag.BEDS.isTagged(material) || Tag.BUTTONS.isTagged(material) || Tag.TRAPDOORS.isTagged(material) || Tag.WOODEN_DOORS.isTagged(material) || Tag.SHULKER_BOXES.isTagged(material) || Tag.ANVIL.isTagged(material) || Tag.FENCE_GATES.isTagged(material);
199194
};

0 commit comments

Comments
 (0)