diff --git a/Plugin/pom.xml b/Plugin/pom.xml index 6c96b4b8..aeff8b85 100644 --- a/Plugin/pom.xml +++ b/Plugin/pom.xml @@ -182,6 +182,14 @@ compile true + + de.corneliusmay + SilkSpawners_v2-v1_21_R0.1 + v1_21_R0.1 + jar + compile + true + de.corneliusmay SilkSpawners_v2-API diff --git a/pom.xml b/pom.xml index 41a05d90..8deba862 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,7 @@ v1_20_R2 v1_20_R3 v1_20_R4 + v1_21_R0.1 pom @@ -47,7 +48,7 @@ org.projectlombok lombok - 1.18.26 + 1.18.34 provided diff --git a/v1_21_R0.1/pom.xml b/v1_21_R0.1/pom.xml new file mode 100644 index 00000000..513d9365 --- /dev/null +++ b/v1_21_R0.1/pom.xml @@ -0,0 +1,38 @@ + + + + SilkSpawners_v2 + de.corneliusmay + 1.0-SNAPSHOT + + 4.0.0 + + SilkSpawners_v2-v1_21_R0.1 + v1_21_R0.1 + + + 17 + 17 + + + + + org.spigotmc + spigot-api + 1.21-R0.1-SNAPSHOT + jar + compile + true + + + de.corneliusmay + SilkSpawners_v2-API + API + jar + compile + true + + + diff --git a/v1_21_R0.1/src/main/java/de/corneliusmay/silkspawners/nms/v1_21_R0.1/NMSHandler.java b/v1_21_R0.1/src/main/java/de/corneliusmay/silkspawners/nms/v1_21_R0.1/NMSHandler.java new file mode 100644 index 00000000..cc961783 --- /dev/null +++ b/v1_21_R0.1/src/main/java/de/corneliusmay/silkspawners/nms/v1_21_R0.1/NMSHandler.java @@ -0,0 +1,41 @@ +package de.corneliusmay.silkspawners.nms.v1_20_R4; + +import de.corneliusmay.silkspawners.api.NMS; +import org.bukkit.Material; +import org.bukkit.attribute.Attribute; +import org.bukkit.attribute.AttributeInstance; +import org.bukkit.block.Block; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.util.RayTraceResult; + +public class NMSHandler implements NMS { + + @Override + public Block getTargetBlock(Player player) { + double range = 5; + + AttributeInstance blockRange = player.getAttribute(Attribute.PLAYER_BLOCK_INTERACTION_RANGE); + if(blockRange != null) { + range = blockRange.getValue(); + } + + RayTraceResult hitResult = player.rayTraceBlocks(range); + return hitResult != null ? hitResult.getHitBlock() : null; + } + + @Override + public ItemStack[] getItemsInHand(Player player) { + return new ItemStack[]{ player.getInventory().getItemInMainHand(), player.getInventory().getItemInOffHand() }; + } + + @Override + public Material getSpawnerMaterial() { + return Material.SPAWNER; + } + + @Override + public Material getPlaceholderMaterial() { + return Material.GRAY_STAINED_GLASS_PANE; + } +}