From 65e5e4420d11aefd0bc1befadd8c811be1c40f77 Mon Sep 17 00:00:00 2001 From: Naimadx123 Date: Thu, 5 Dec 2024 09:17:10 +0100 Subject: [PATCH 1/3] Add ItemStack conversion methods to custom block implementations --- .../de/jeff_media/customblocks/CustomBlock.java | 16 +++++++++++----- .../implentation/ItemsAdderBlock.java | 10 +++++++++- .../customblocks/implentation/NexoBlock.java | 11 +++++++++++ .../customblocks/implentation/OraxenBlock.java | 10 ++++++++++ .../customblocks/implentation/VanillaBlock.java | 10 ++++++++-- 5 files changed, 49 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/jeff_media/customblocks/CustomBlock.java b/src/main/java/de/jeff_media/customblocks/CustomBlock.java index 3374913..6d91c4a 100644 --- a/src/main/java/de/jeff_media/customblocks/CustomBlock.java +++ b/src/main/java/de/jeff_media/customblocks/CustomBlock.java @@ -9,16 +9,18 @@ import org.bukkit.block.Block; import org.bukkit.block.data.BlockData; import org.bukkit.entity.Entity; +import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.Plugin; import java.util.*; import java.util.stream.Collectors; +@Getter public abstract class CustomBlock /*implements ConfigurationSerializable */{ - @Getter @Setter protected Block block; - @Getter @Setter protected BlockData originalBlockData; - @Getter protected List entities = new ArrayList<>(); + @Setter protected Block block; + @Setter protected BlockData originalBlockData; + protected List entities = new ArrayList<>(); public static CustomBlock fromStringOrDefault(String fullId, Material fallback) { try { @@ -103,13 +105,17 @@ public void remove(boolean unsetBlock) { entities.clear(); } + public ItemStack toItemStack(){ + return null; + } + public CustomBlock(String id) { this.id = id; - }; + } public abstract String getNamespace(); - @Getter protected final String id; + protected final String id; public abstract Material getMaterial(); diff --git a/src/main/java/de/jeff_media/customblocks/implentation/ItemsAdderBlock.java b/src/main/java/de/jeff_media/customblocks/implentation/ItemsAdderBlock.java index 4a2d9c5..2da7035 100644 --- a/src/main/java/de/jeff_media/customblocks/implentation/ItemsAdderBlock.java +++ b/src/main/java/de/jeff_media/customblocks/implentation/ItemsAdderBlock.java @@ -10,7 +10,7 @@ import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.ArmorStand; - +import org.bukkit.inventory.ItemStack; public class ItemsAdderBlock extends CustomBlock { @@ -112,4 +112,12 @@ public Material getMaterial() { } } + @Override + public ItemStack toItemStack() { + + CustomStack customStack = CustomFurniture.getInstance(getId()); + if(customStack == null) return null; + return customStack.getItemStack(); + } + } diff --git a/src/main/java/de/jeff_media/customblocks/implentation/NexoBlock.java b/src/main/java/de/jeff_media/customblocks/implentation/NexoBlock.java index 9f83a68..710b7bd 100644 --- a/src/main/java/de/jeff_media/customblocks/implentation/NexoBlock.java +++ b/src/main/java/de/jeff_media/customblocks/implentation/NexoBlock.java @@ -3,6 +3,8 @@ import com.jeff_media.jefflib.exceptions.InvalidBlockDataException; import com.nexomc.nexo.api.NexoBlocks; import com.nexomc.nexo.api.NexoFurniture; +import com.nexomc.nexo.api.NexoItems; +import com.nexomc.nexo.items.ItemBuilder; import com.nexomc.nexo.mechanics.custom_block.noteblock.NoteBlockMechanicFactory; import com.nexomc.nexo.mechanics.furniture.FurnitureMechanic; import de.jeff_media.customblocks.CustomBlock; @@ -13,6 +15,7 @@ import org.bukkit.block.BlockFace; import org.bukkit.entity.Entity; import org.bukkit.entity.ItemDisplay; +import org.bukkit.inventory.ItemStack; import java.util.Objects; @@ -103,6 +106,14 @@ public Material getMaterial() { } } + @Override + public ItemStack toItemStack() { + + ItemBuilder itemBuilder = NexoItems.itemFromId(getId()); + if(itemBuilder == null) return null; + return itemBuilder.build(); + } + private enum ItemType { NOTE_BLOCK, FURNITURE } diff --git a/src/main/java/de/jeff_media/customblocks/implentation/OraxenBlock.java b/src/main/java/de/jeff_media/customblocks/implentation/OraxenBlock.java index bd011f5..14a93f4 100644 --- a/src/main/java/de/jeff_media/customblocks/implentation/OraxenBlock.java +++ b/src/main/java/de/jeff_media/customblocks/implentation/OraxenBlock.java @@ -3,6 +3,8 @@ import com.jeff_media.jefflib.exceptions.InvalidBlockDataException; import de.jeff_media.customblocks.CustomBlock; import de.jeff_media.customblocks.CustomBlockUtils; +import io.th0rgal.oraxen.api.OraxenItems; +import io.th0rgal.oraxen.items.ItemBuilder; import io.th0rgal.oraxen.mechanics.Mechanic; import io.th0rgal.oraxen.mechanics.MechanicFactory; import io.th0rgal.oraxen.mechanics.MechanicsManager; @@ -105,6 +107,14 @@ public String getNamespace() { return "oraxen"; } + @Override + public ItemStack toItemStack() { + + ItemBuilder itemBuilder = OraxenItems.getItemById(getId()); + if(itemBuilder == null) return null; + return itemBuilder.build(); + } + @Override public void remove() { if (furnitureMechanic != null) { diff --git a/src/main/java/de/jeff_media/customblocks/implentation/VanillaBlock.java b/src/main/java/de/jeff_media/customblocks/implentation/VanillaBlock.java index 3411d46..8e01f5b 100644 --- a/src/main/java/de/jeff_media/customblocks/implentation/VanillaBlock.java +++ b/src/main/java/de/jeff_media/customblocks/implentation/VanillaBlock.java @@ -10,13 +10,14 @@ import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.block.data.BlockData; +import org.bukkit.inventory.ItemStack; import java.util.Locale; +@Setter +@Getter public class VanillaBlock extends CustomBlock { - @Getter - @Setter private final BlockData blockData; public VanillaBlock(Material mat) { @@ -61,6 +62,11 @@ public void place(Block block, OfflinePlayer player) { block.setBlockData(blockData); } + @Override + public ItemStack toItemStack() { + return new ItemStack(getMaterial()); + } + @Override public String toString() { return "VanillaBlock{" + "blockData=" + blockData + "} " + super.toString(); From f744f7277bacd2341ba3912dad82a40ae3487c7d Mon Sep 17 00:00:00 2001 From: Naimadx123 Date: Thu, 5 Dec 2024 11:44:23 +0100 Subject: [PATCH 2/3] Update repository id from 'reposilite-repository-snapshots' to 'nexo' in pom.xml. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 536a997..628ef11 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ https://repo.oraxen.com/releases - reposilite-repository-snapshots + nexo Nexo Repository https://repo.nexomc.com/snapshots From eb02d09399d4f2ee2c07785bb057763d546b3c38 Mon Sep 17 00:00:00 2001 From: Naimadx123 Date: Thu, 5 Dec 2024 11:47:55 +0100 Subject: [PATCH 3/3] Update version to 1.5.23 and modify repository id names in pom.xml. --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 628ef11..505f8a2 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.jeff_media CustomBlocks - 1.5.22 + 1.5.23 8 @@ -15,7 +15,7 @@ - spigot-repo + spigot-snapshots https://hub.spigotmc.org/nexus/content/repositories/snapshots/ @@ -27,12 +27,12 @@ https://repo.jeff-media.com/public/ - oraxen + oraxen-releases Oraxen Repository https://repo.oraxen.com/releases - nexo + nexo-snapshots Nexo Repository https://repo.nexomc.com/snapshots