diff --git a/.gradle/8.8/checksums/checksums.lock b/.gradle/8.8/checksums/checksums.lock index 5bc5de1..9fdabb5 100644 Binary files a/.gradle/8.8/checksums/checksums.lock and b/.gradle/8.8/checksums/checksums.lock differ diff --git a/.gradle/8.8/checksums/md5-checksums.bin b/.gradle/8.8/checksums/md5-checksums.bin index cf890eb..8832e9b 100644 Binary files a/.gradle/8.8/checksums/md5-checksums.bin and b/.gradle/8.8/checksums/md5-checksums.bin differ diff --git a/.gradle/8.8/checksums/sha1-checksums.bin b/.gradle/8.8/checksums/sha1-checksums.bin index 00b8ec7..1ef836f 100644 Binary files a/.gradle/8.8/checksums/sha1-checksums.bin and b/.gradle/8.8/checksums/sha1-checksums.bin differ diff --git a/.gradle/8.8/executionHistory/executionHistory.bin b/.gradle/8.8/executionHistory/executionHistory.bin index 30dfa01..71a57ba 100644 Binary files a/.gradle/8.8/executionHistory/executionHistory.bin and b/.gradle/8.8/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.8/executionHistory/executionHistory.lock b/.gradle/8.8/executionHistory/executionHistory.lock index 3567f94..224b28c 100644 Binary files a/.gradle/8.8/executionHistory/executionHistory.lock and b/.gradle/8.8/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.8/fileHashes/fileHashes.bin b/.gradle/8.8/fileHashes/fileHashes.bin index cc25716..bfe406a 100644 Binary files a/.gradle/8.8/fileHashes/fileHashes.bin and b/.gradle/8.8/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.8/fileHashes/fileHashes.lock b/.gradle/8.8/fileHashes/fileHashes.lock index 88d308a..83a6756 100644 Binary files a/.gradle/8.8/fileHashes/fileHashes.lock and b/.gradle/8.8/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.8/fileHashes/resourceHashesCache.bin b/.gradle/8.8/fileHashes/resourceHashesCache.bin index 5b8b402..48cb62f 100644 Binary files a/.gradle/8.8/fileHashes/resourceHashesCache.bin and b/.gradle/8.8/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index decc20b..665b07e 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index e153295..53e8c4e 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/build/classes/java/main/CoswayUtil/BlockShop.class b/build/classes/java/main/CoswayUtil/BlockShop.class index f8c91e1..c22aa14 100644 Binary files a/build/classes/java/main/CoswayUtil/BlockShop.class and b/build/classes/java/main/CoswayUtil/BlockShop.class differ diff --git a/build/classes/java/main/CoswayUtil/CoswayUtil$2.class b/build/classes/java/main/CoswayUtil/CoswayUtil$2.class index 3c4ad68..f645ab1 100644 Binary files a/build/classes/java/main/CoswayUtil/CoswayUtil$2.class and b/build/classes/java/main/CoswayUtil/CoswayUtil$2.class differ diff --git a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$1.class b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$1.class index 1456432..0a33398 100644 Binary files a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$1.class and b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$1.class differ diff --git a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$2.class b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$2.class index f25eced..992f0ac 100644 Binary files a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$2.class and b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$2.class differ diff --git a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$3.class b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$3.class index bd813af..826d738 100644 Binary files a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$3.class and b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$3.class differ diff --git a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$4.class b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$4.class index 20c8726..4169ecc 100644 Binary files a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$4.class and b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield$4.class differ diff --git a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield.class b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield.class index fa3f4d5..1bd0131 100644 Binary files a/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield.class and b/build/classes/java/main/CoswayUtil/CoswayUtil$AnchorShield.class differ diff --git a/build/classes/java/main/CoswayUtil/CoswayUtil.class b/build/classes/java/main/CoswayUtil/CoswayUtil.class index 1c013ce..952156c 100644 Binary files a/build/classes/java/main/CoswayUtil/CoswayUtil.class and b/build/classes/java/main/CoswayUtil/CoswayUtil.class differ diff --git a/build/libs/CoswayUtil-1.12-RELEASE.jar b/build/libs/CoswayUtil-1.12-RELEASE.jar index 927e4b4..387bd2d 100644 Binary files a/build/libs/CoswayUtil-1.12-RELEASE.jar and b/build/libs/CoswayUtil-1.12-RELEASE.jar differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$3.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$3.class.uniqueId3 index 5fef7f8..826d738 100644 Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$3.class.uniqueId3 and b/build/tmp/compileJava/compileTransaction/stash-dir/CoswayUtil$AnchorShield$3.class.uniqueId3 differ diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index 42ee32f..c5d320c 100644 Binary files a/build/tmp/compileJava/previous-compilation-data.bin and b/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/src/main/java/CoswayUtil/BlockShop.java b/src/main/java/CoswayUtil/BlockShop.java index 7b707fc..80ec39f 100644 --- a/src/main/java/CoswayUtil/BlockShop.java +++ b/src/main/java/CoswayUtil/BlockShop.java @@ -15,6 +15,7 @@ import org.bukkit.persistence.PersistentDataType; import org.bukkit.plugin.java.JavaPlugin; import org.jetbrains.annotations.NotNull; +import java.text.NumberFormat; import java.util.*; public class BlockShop implements Listener { @@ -102,21 +103,27 @@ public class BlockShop implements Listener { String materialName = config.getString("shop.categories." + category + ".items." + itemKey + ".material"); int price = config.getInt("shop.categories." + category + ".items." + itemKey + ".price"); String displayName = config.getString("shop.categories." + category + ".items." + itemKey + ".display_name"); - - if (materialName != null) { - Material material = Material.matchMaterial(materialName.toUpperCase()); - if (material != null) { - ItemStack itemStack = new ItemStack(material); - ItemMeta meta = itemStack.getItemMeta(); - if (meta != null) { - meta.setDisplayName(ChatColor.GREEN + (displayName != null ? displayName : "Unnamed Item")); - List lore = new ArrayList<>(); - lore.add(ChatColor.GOLD + "Price: $" + price); - meta.setLore(lore); - itemStack.setItemMeta(meta); - items.add(itemStack); + boolean locked = config.getBoolean("shop.categories." + category + ".items." + itemKey + ".available"); + if (!locked) { + if (materialName != null) { + Material material = Material.matchMaterial(materialName.toUpperCase()); + if (material != null) { + ItemStack itemStack = new ItemStack(material); + ItemMeta meta = itemStack.getItemMeta(); + if (meta != null) { + meta.setDisplayName(ChatColor.GREEN + (displayName != null ? displayName : "Unnamed Item")); + List lore = new ArrayList<>(); + // Format price with commas + NumberFormat formatter = NumberFormat.getInstance(Locale.US); + String formattedPrice = formatter.format(price); + lore.add(ChatColor.GOLD + "Price: $" + formattedPrice); + meta.setLore(lore); + itemStack.setItemMeta(meta); + items.add(itemStack); + } } } + //--non availability logic } } diff --git a/src/main/java/CoswayUtil/CoswayUtil.java b/src/main/java/CoswayUtil/CoswayUtil.java index 72fe59c..7ebd1cc 100644 --- a/src/main/java/CoswayUtil/CoswayUtil.java +++ b/src/main/java/CoswayUtil/CoswayUtil.java @@ -125,10 +125,13 @@ public final class CoswayUtil extends JavaPlugin implements Listener { } if(removeCustomKnowledgeBook(player,ChatColor.GREEN+"Anchor Shield Kit")) { // Create a chest item - ItemStack chest = new ItemStack(Material.CHEST, 1); + ItemStack anchor = new ItemStack(Material.RESPAWN_ANCHOR, 1); + ItemStack rod = new ItemStack(Material.LIGHTNING_ROD, 1); + ItemStack core = new ItemStack(Material.HEAVY_CORE, 1); + ItemStack charge = new ItemStack(Material.GLOWSTONE,4); // Give the chest and items to the player - player.getInventory().addItem(chest, new ItemStack(Material.RESPAWN_ANCHOR, 1), new ItemStack(Material.LIGHTNING_ROD, 5),new ItemStack(Material.HEAVY_CORE,1)); + player.getInventory().addItem(anchor,rod,core,charge); } if(removeCustomKnowledgeBook(player,ChatColor.GREEN+"Levitation Wand")) { player.getInventory().addItem(MobLevitationWand.createWand()); @@ -240,7 +243,7 @@ public final class CoswayUtil extends JavaPlugin implements Listener { for (ItemStack item : player.getInventory().getContents()) { if (item != null && item.getType() == Material.KNOWLEDGE_BOOK) { ItemMeta meta = item.getItemMeta(); - //player.sendMessage("you have a knowledge book with name: \n"+ meta.getDisplayName() + "\n"+customName+"\n do they match?"); + //player.sendMessage("[DEBUG] you have a knowledge book with name: \n"+ meta.getDisplayName() + "\n"+customName+"\n do they match?"); if (meta != null && meta.hasDisplayName() && meta.getDisplayName().equals(customName)) { player.getInventory().remove(item); // Remove the book return true; // Found and removed diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index af471fd..9c6f297 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -7,11 +7,13 @@ shop: price: 192 quantity: 64 display_name: "Stone Block" + available: true smooth_stone: material: SMOOTH_STONE price: 320 quantity: 64 display_name: "Smooth Stone" + available: true wood_blocks: items: oak_planks: @@ -19,6 +21,7 @@ shop: price: 960 quantity: 64 display_name: "Oak Planks" + available: true pvp: items: iron_helmet: @@ -26,41 +29,49 @@ shop: price: 110 quantity: 1 display_name: "Iron Helmet" + available: true iron_chestplate: material: IRON_CHESTPLATE price: 176 quantity: 1 display_name: "Iron Chestplate" + available: true iron_leggings: material: IRON_LEGGINGS price: 154 quantity: 1 display_name: "Iron Leggings" + available: true iron_boots: material: IRON_BOOTS price: 88 quantity: 1 display_name: "Iron Boots" + available: true iron_sword: material: IRON_SWORD price: 44 quantity: 1 display_name: "Iron Sword" + available: true iron_PICKAXE: material: IRON_PICKAXE price: 66 quantity: 1 display_name: "Iron Pick" + available: true iron_axe: material: IRON_AXE price: 66 quantity: 1 display_name: "Iron Axe" + available: true iron_shovel: material: IRON_SHOVEL price: 22 quantity: 1 display_name: "Iron Spoon" + available: true redstone: items: repeater: @@ -68,11 +79,13 @@ shop: price: 900 quantity: 18 display_name: "Repeater" + available: true redstone: material: REDSTONE price: 2048 quantity: 64 display_name: "Redstone Dust" + available: true nether: items: obsidian: @@ -80,6 +93,7 @@ shop: price: 1300 quantity: 10 display_name: "Obsidian" + available: true utilities: items: ASK: @@ -87,26 +101,31 @@ shop: price: 450000 quantity: 1 display_name: "Anchor Shield Kit" + available: true gravity_gauntlet: material: KNOWLEDGE_BOOK price: 200000 quantity: 1 display_name: "Gravity Gauntlet" + available: true levitation_wand: material: KNOWLEDGE_BOOK price: 1000000 quantity: 1 display_name: "Levitation Wand" + available: true launch_stick: material: KNOWLEDGE_BOOK price: 1234567 quantity: 1 display_name: "Launch Stick" + available: true rapid_fire_bow: material: KNOWLEDGE_BOOK price: 9000000 quantity: 1 display_name: "Rapid Fire Bow" + available: true poor: "you're too poor for that, get gooder..." inventory_full: "you got too much clutter, cant fit your purchase into that mess..." pagination: