From c85183ab97192aa615d656d75dc379c3c9035c17 Mon Sep 17 00:00:00 2001 From: SpaceNerden <72929861+SpaceNerden@users.noreply.github.com> Date: Wed, 1 Jun 2022 14:35:19 +0800 Subject: [PATCH 01/11] Added Time Lapse --- .../enchant/EnchantManager.java | 0 .../enchantment/TimeLapse.java | 98 +++++++++++++++++++ .../holoitemsrevamp/item/TimeLapseItem.java | 74 ++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 src/main/java/xyz/holocons/mc/holoitemsrevamp/enchant/EnchantManager.java create mode 100644 src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java create mode 100644 src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchant/EnchantManager.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchant/EnchantManager.java new file mode 100644 index 00000000..e69de29b diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java new file mode 100644 index 00000000..e4092f90 --- /dev/null +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java @@ -0,0 +1,98 @@ +package xyz.holocons.mc.holoitemsrevamp.enchantment; + +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.format.TextDecoration; +import org.bukkit.Material; +import org.bukkit.block.Container; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.inventory.ItemStack; +import org.jetbrains.annotations.NotNull; +import xyz.holocons.mc.holoitemsrevamp.HoloItemsRevamp; +import xyz.holocons.mc.holoitemsrevamp.ability.PlayerInteract; +import xyz.holocons.mc.holoitemsrevamp.enchant.CustomEnchantment; + +import java.util.Map; + +public class TimeLapse extends CustomEnchantment implements PlayerInteract { + + private final HoloItemsRevamp plugin; + + public TimeLapse(HoloItemsRevamp plugin) { + super(plugin, "time_lapse"); + this.plugin = plugin; + } + + @Override + public int getMaxLevel() { + return 1; + } + + @Override + public boolean conflictsWith(@NotNull Enchantment other) { + return false; + } + + @Override + public boolean canEnchantItem(@NotNull ItemStack item) { + return item.getType() == Material.CLOCK; + } + + @Override + public @NotNull Component displayName(int level) { + return Component.text("Time Lapse", NamedTextColor.GOLD) + .decoration(TextDecoration.ITALIC, false); + } + + @Override + public int getItemStackCost(ItemStack itemStack) { + return Integer.MAX_VALUE; + } + + @Override + public void run(PlayerInteractEvent event, ItemStack itemStack) { + + // If not right-clicked or a container, return + final var blockState = event.getClickedBlock().getState(); + if(!event.getAction().isRightClick() || !(blockState instanceof Container)){ + return; + } + + Container container = (Container) blockState; + + Map metals = Map.of( + new ItemStack(Material.COPPER_INGOT), Material.RAW_COPPER, + new ItemStack(Material.IRON_INGOT), Material.RAW_IRON, + new ItemStack(Material.GOLD_INGOT), Material.RAW_GOLD, + new ItemStack(Material.NETHERITE_SCRAP), Material.ANCIENT_DEBRIS, + new ItemStack(Material.IRON_BLOCK), Material.RAW_IRON_BLOCK, + new ItemStack(Material.GOLD_BLOCK), Material.RAW_GOLD_BLOCK, + new ItemStack(Material.COPPER_BLOCK), Material.RAW_COPPER_BLOCK + ); + + + // Iterate over the container and if an item exists and its type is one of the above, replace it. + boolean consumeItem = false; + for (ItemStack item : container.getInventory()) { + if (item == null) { + continue; + } + for (ItemStack metal : metals.keySet()) { + if (item.isSimilar(metal)) { + item.setType(metals.get(metal)); + consumeItem = true; + } + } + + } + + // Deletes item if it was used. + if(consumeItem){ + event.getItem().setAmount(0); + } + + + } +} + diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java new file mode 100644 index 00000000..40d38ea9 --- /dev/null +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java @@ -0,0 +1,74 @@ +package xyz.holocons.mc.holoitemsrevamp.item; + +import com.strangeone101.holoitemsapi.CustomItem; +import com.strangeone101.holoitemsapi.interfaces.Enchantable; +import com.strangeone101.holoitemsapi.recipe.RecipeManager; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.ShapedRecipe; +import xyz.holocons.mc.holoitemsrevamp.HoloItemsRevamp; +import xyz.holocons.mc.holoitemsrevamp.enchant.EnchantManager; + +import java.util.List; + +public class TimeLapseItem extends CustomItem implements Enchantable { + + private final static String name = "time_lapse"; + private final static Material material = Material.CLOCK; + private final static String displayName = ChatColor.GOLD + "Time Lapse"; + private final static List lore = List.of( + "Unsmelt Ingots" + ); + + private final EnchantManager enchantManager; + + public TimeLapseItem(HoloItemsRevamp plugin) { + super(name, material, displayName, lore); + this.enchantManager = plugin.getEnchantManager(); + this.setStackable(false); + this.register(); + this.registerRecipe(); + } + + @Override + public ItemStack buildStack(Player player) { + return applyEnchantment(super.buildStack(player)); + } + + private void registerRecipe() { + final var recipe = new ShapedRecipe(getKey(), buildStack(null)); + recipe.shape( + "ABA", + "BCB", + "ABA" + ); + recipe.setIngredient('A', Material.CLOCK); + recipe.setIngredient('B', Material.GOLD_BLOCK); + recipe.setIngredient('C', Material.BLAST_FURNACE); + RecipeManager.registerRecipe(recipe); + } + + @Override + public Enchantment getEnchantment() { + return Enchantment.getByKey(getKey()); + } + + @Override + public ItemStack applyEnchantment(ItemStack itemStack) { + var enchantedStack = itemStack.clone(); + var enchantedMeta = enchantedStack.hasItemMeta() ? enchantedStack.getItemMeta() : Bukkit.getItemFactory().getItemMeta(enchantedStack.getType()); + + if (enchantedMeta.addEnchant(getEnchantment(), 1, false)) { + enchantedStack.setItemMeta(enchantedMeta); + enchantManager.removeCustomEnchantmentLore(enchantedStack); + enchantManager.applyCustomEnchantmentLore(enchantedStack); + return enchantedStack; + } else { + return null; + } + } +} From 979bbbe93f3de819e2dd1b475b4400f56db76e6b Mon Sep 17 00:00:00 2001 From: SpaceNerden <72929861+SpaceNerden@users.noreply.github.com> Date: Wed, 1 Jun 2022 19:16:20 +0800 Subject: [PATCH 02/11] Change Time Lapse recipe to use copper blocks instead (https://discord.com/channels/767688938093281290/828552681135276073/901883374283669505) --- .../xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java index 40d38ea9..8485469f 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java @@ -47,7 +47,7 @@ private void registerRecipe() { "ABA" ); recipe.setIngredient('A', Material.CLOCK); - recipe.setIngredient('B', Material.GOLD_BLOCK); + recipe.setIngredient('B', Material.COPPER_BLOCK); recipe.setIngredient('C', Material.BLAST_FURNACE); RecipeManager.registerRecipe(recipe); } From 11803820d63c25004497ae48b5d6f01cc57f82cb Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Fri, 3 Mar 2023 20:01:33 +0800 Subject: [PATCH 03/11] Rebased to latest --- .../enchantment/EnchantManager.java | 2 ++ .../enchantment/TimeLapse.java | 11 +++++----- .../holoitemsrevamp/item/TimeLapseItem.java | 22 ++++++++----------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/strangeone101/holoitemsapi/enchantment/EnchantManager.java b/src/main/java/com/strangeone101/holoitemsapi/enchantment/EnchantManager.java index 35f32e5b..7d5eef60 100644 --- a/src/main/java/com/strangeone101/holoitemsapi/enchantment/EnchantManager.java +++ b/src/main/java/com/strangeone101/holoitemsapi/enchantment/EnchantManager.java @@ -9,6 +9,7 @@ import xyz.holocons.mc.holoitemsrevamp.enchantment.Magnet; import xyz.holocons.mc.holoitemsrevamp.enchantment.Memento; import xyz.holocons.mc.holoitemsrevamp.enchantment.TideRider; +import xyz.holocons.mc.holoitemsrevamp.enchantment.TimeLapse; import xyz.holocons.mc.holoitemsrevamp.integration.Integrations; import java.lang.reflect.Field; @@ -111,6 +112,7 @@ private static Set buildCustomEnchantments(HoloItemsRevamp pl new Magnet(plugin), new Memento(plugin), new TideRider(plugin), + new TimeLapse(plugin), new Backdash(plugin)); } } diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java index e4092f90..bfc41f2d 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java @@ -1,5 +1,7 @@ package xyz.holocons.mc.holoitemsrevamp.enchantment; +import com.strangeone101.holoitemsapi.enchantment.CustomEnchantment; +import com.strangeone101.holoitemsapi.enchantment.EnchantmentAbility; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextDecoration; @@ -10,12 +12,11 @@ import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import xyz.holocons.mc.holoitemsrevamp.HoloItemsRevamp; -import xyz.holocons.mc.holoitemsrevamp.ability.PlayerInteract; -import xyz.holocons.mc.holoitemsrevamp.enchant.CustomEnchantment; + import java.util.Map; -public class TimeLapse extends CustomEnchantment implements PlayerInteract { +public class TimeLapse extends CustomEnchantment implements EnchantmentAbility { private final HoloItemsRevamp plugin; @@ -46,12 +47,12 @@ public boolean canEnchantItem(@NotNull ItemStack item) { } @Override - public int getItemStackCost(ItemStack itemStack) { + public int getCostMultiplier() { return Integer.MAX_VALUE; } @Override - public void run(PlayerInteractEvent event, ItemStack itemStack) { + public void onPlayerInteract(PlayerInteractEvent event, ItemStack itemStack) { // If not right-clicked or a container, return final var blockState = event.getClickedBlock().getState(); diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java index 8485469f..8a7efb92 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java @@ -1,17 +1,18 @@ package xyz.holocons.mc.holoitemsrevamp.item; -import com.strangeone101.holoitemsapi.CustomItem; -import com.strangeone101.holoitemsapi.interfaces.Enchantable; +import com.strangeone101.holoitemsapi.enchantment.EnchantManager; +import com.strangeone101.holoitemsapi.item.CustomItem; +import com.strangeone101.holoitemsapi.enchantment.Enchantable; import com.strangeone101.holoitemsapi.recipe.RecipeManager; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ShapedRecipe; import xyz.holocons.mc.holoitemsrevamp.HoloItemsRevamp; -import xyz.holocons.mc.holoitemsrevamp.enchant.EnchantManager; import java.util.List; @@ -19,26 +20,21 @@ public class TimeLapseItem extends CustomItem implements Enchantable { private final static String name = "time_lapse"; private final static Material material = Material.CLOCK; - private final static String displayName = ChatColor.GOLD + "Time Lapse"; - private final static List lore = List.of( - "Unsmelt Ingots" + private final static Component displayName = Component.text("Time Lapse", NamedTextColor.GOLD); + private final static List lore = List.of( + Component.text("Unsmelt Ingots") ); private final EnchantManager enchantManager; public TimeLapseItem(HoloItemsRevamp plugin) { - super(name, material, displayName, lore); + super(plugin, name, material, displayName, lore); this.enchantManager = plugin.getEnchantManager(); this.setStackable(false); this.register(); this.registerRecipe(); } - @Override - public ItemStack buildStack(Player player) { - return applyEnchantment(super.buildStack(player)); - } - private void registerRecipe() { final var recipe = new ShapedRecipe(getKey(), buildStack(null)); recipe.shape( From e7049beb1c1016a6d8857dbe17146e4369fc1161 Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Fri, 3 Mar 2023 20:07:05 +0800 Subject: [PATCH 04/11] Fix NullPointerException when clicking mid-air with the item in hand --- .../mc/holoitemsrevamp/enchantment/TimeLapse.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java index bfc41f2d..01dea8b6 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java @@ -54,8 +54,15 @@ public int getCostMultiplier() { @Override public void onPlayerInteract(PlayerInteractEvent event, ItemStack itemStack) { + final var clickedBlock = event.getClickedBlock(); + + // If the clicked block is null, return + if (clickedBlock == null){ + return; + } + // If not right-clicked or a container, return - final var blockState = event.getClickedBlock().getState(); + final var blockState = clickedBlock.getState(); if(!event.getAction().isRightClick() || !(blockState instanceof Container)){ return; } @@ -92,8 +99,6 @@ public void onPlayerInteract(PlayerInteractEvent event, ItemStack itemStack) { if(consumeItem){ event.getItem().setAmount(0); } - - } } From efb3688063eaef9dbea658c68a959b2b3649bcbd Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Fri, 3 Mar 2023 20:19:06 +0800 Subject: [PATCH 05/11] Play ding when item is used --- .../holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java index 01dea8b6..d26cb4ca 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java @@ -6,8 +6,11 @@ import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextDecoration; import org.bukkit.Material; +import org.bukkit.Sound; +import org.bukkit.World; import org.bukkit.block.Container; import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; @@ -97,6 +100,10 @@ public void onPlayerInteract(PlayerInteractEvent event, ItemStack itemStack) { // Deletes item if it was used. if(consumeItem){ + final Player player = event.getPlayer(); + final World world = player.getWorld(); + + world.playSound(player.getLocation(), Sound.BLOCK_NOTE_BLOCK_CHIME, 1, 0.01f ); event.getItem().setAmount(0); } } From c3467003a3a4cfa6e06e6e9e933afa5729efc8ed Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Fri, 3 Mar 2023 20:34:19 +0800 Subject: [PATCH 06/11] Change sound to BLOCK_END_PORTAL_SPAWN from noteblock chime --- .../xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java index d26cb4ca..417d9dbd 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java @@ -103,7 +103,7 @@ public void onPlayerInteract(PlayerInteractEvent event, ItemStack itemStack) { final Player player = event.getPlayer(); final World world = player.getWorld(); - world.playSound(player.getLocation(), Sound.BLOCK_NOTE_BLOCK_CHIME, 1, 0.01f ); + world.playSound(player.getLocation(), Sound.BLOCK_END_PORTAL_SPAWN, 0.25f, 0.1f ); event.getItem().setAmount(0); } } From 47a532a472d37a970802b3dca298d30e1eb849b7 Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Fri, 3 Mar 2023 21:27:58 +0800 Subject: [PATCH 07/11] Add particles around chest --- .../holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java index 417d9dbd..a6ccc54b 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java @@ -6,6 +6,7 @@ import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextDecoration; import org.bukkit.Material; +import org.bukkit.Particle; import org.bukkit.Sound; import org.bukkit.World; import org.bukkit.block.Container; @@ -103,7 +104,11 @@ public void onPlayerInteract(PlayerInteractEvent event, ItemStack itemStack) { final Player player = event.getPlayer(); final World world = player.getWorld(); - world.playSound(player.getLocation(), Sound.BLOCK_END_PORTAL_SPAWN, 0.25f, 0.1f ); + world.playSound(player.getLocation(), Sound.BLOCK_END_PORTAL_SPAWN, 0.1f, 0.1f ); + world.spawnParticle( + Particle.ENCHANTMENT_TABLE, + clickedBlock.getLocation().add(0.5, 1.5, 0.5), + 250, 0.5, 0.5, 0.5,0.25); event.getItem().setAmount(0); } } From b4c84e4c18bfa79b0b1bf065d5ac8ba7ec6dc557 Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Sat, 4 Mar 2023 19:51:52 +0800 Subject: [PATCH 08/11] Change sound to BLOCK_BELL_RESONATE and remove particles --- .../holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java index a6ccc54b..e7938942 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java @@ -104,11 +104,7 @@ public void onPlayerInteract(PlayerInteractEvent event, ItemStack itemStack) { final Player player = event.getPlayer(); final World world = player.getWorld(); - world.playSound(player.getLocation(), Sound.BLOCK_END_PORTAL_SPAWN, 0.1f, 0.1f ); - world.spawnParticle( - Particle.ENCHANTMENT_TABLE, - clickedBlock.getLocation().add(0.5, 1.5, 0.5), - 250, 0.5, 0.5, 0.5,0.25); + world.playSound(player.getLocation(), Sound.BLOCK_BELL_RESONATE, 0.1f, 0.1f ); event.getItem().setAmount(0); } } From 48557f9ee000da093afe826aa7d8bf2db6ee908c Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Wed, 30 Aug 2023 21:32:39 +0200 Subject: [PATCH 09/11] fix: add -roni postfix to Time Lapse (Time Lapseroni) --- .../holoitemsrevamp/enchant/EnchantManager.java | 0 .../holoitemsrevamp/enchantment/TimeLapse.java | 5 ++--- .../mc/holoitemsrevamp/item/TimeLapseItem.java | 16 ++++++++-------- 3 files changed, 10 insertions(+), 11 deletions(-) delete mode 100644 src/main/java/xyz/holocons/mc/holoitemsrevamp/enchant/EnchantManager.java diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchant/EnchantManager.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchant/EnchantManager.java deleted file mode 100644 index e69de29b..00000000 diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java index e7938942..24e7234e 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java @@ -6,7 +6,6 @@ import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextDecoration; import org.bukkit.Material; -import org.bukkit.Particle; import org.bukkit.Sound; import org.bukkit.World; import org.bukkit.block.Container; @@ -25,7 +24,7 @@ public class TimeLapse extends CustomEnchantment implements EnchantmentAbility { private final HoloItemsRevamp plugin; public TimeLapse(HoloItemsRevamp plugin) { - super(plugin, "time_lapse"); + super(plugin, "time_lapseroni"); this.plugin = plugin; } @@ -46,7 +45,7 @@ public boolean canEnchantItem(@NotNull ItemStack item) { @Override public @NotNull Component displayName(int level) { - return Component.text("Time Lapse", NamedTextColor.GOLD) + return Component.text("Time Lapseroni", NamedTextColor.GOLD) .decoration(TextDecoration.ITALIC, false); } diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java index 8a7efb92..647db039 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java @@ -3,24 +3,24 @@ import com.strangeone101.holoitemsapi.enchantment.EnchantManager; import com.strangeone101.holoitemsapi.item.CustomItem; import com.strangeone101.holoitemsapi.enchantment.Enchantable; -import com.strangeone101.holoitemsapi.recipe.RecipeManager; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.Recipe; import org.bukkit.inventory.ShapedRecipe; +import org.jetbrains.annotations.NotNull; import xyz.holocons.mc.holoitemsrevamp.HoloItemsRevamp; import java.util.List; public class TimeLapseItem extends CustomItem implements Enchantable { - private final static String name = "time_lapse"; + private final static String name = "time_lapseroni"; private final static Material material = Material.CLOCK; - private final static Component displayName = Component.text("Time Lapse", NamedTextColor.GOLD); + private final static Component displayName = Component.text("Time Lapseroni", NamedTextColor.GOLD); private final static List lore = List.of( Component.text("Unsmelt Ingots") ); @@ -32,10 +32,10 @@ public TimeLapseItem(HoloItemsRevamp plugin) { this.enchantManager = plugin.getEnchantManager(); this.setStackable(false); this.register(); - this.registerRecipe(); } - private void registerRecipe() { + @Override + protected Recipe getRecipe() { final var recipe = new ShapedRecipe(getKey(), buildStack(null)); recipe.shape( "ABA", @@ -45,11 +45,11 @@ private void registerRecipe() { recipe.setIngredient('A', Material.CLOCK); recipe.setIngredient('B', Material.COPPER_BLOCK); recipe.setIngredient('C', Material.BLAST_FURNACE); - RecipeManager.registerRecipe(recipe); + return recipe; } @Override - public Enchantment getEnchantment() { + public @NotNull Enchantment getEnchantment() { return Enchantment.getByKey(getKey()); } From 5f5c02343a4397f9c056fee1883de34a31714d4d Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Wed, 30 Aug 2023 21:36:04 +0200 Subject: [PATCH 10/11] fix: add TimeLapseroni to CollectionManager and renamed TimeLapse files to TimeLapseroni --- .../holoitemsapi/enchantment/EnchantManager.java | 4 ++-- .../mc/holoitemsrevamp/collection/CollectionManager.java | 3 ++- .../enchantment/{TimeLapse.java => TimeLapseroni.java} | 4 ++-- .../item/{TimeLapseItem.java => TimeLapseroniItem.java} | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) rename src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/{TimeLapse.java => TimeLapseroni.java} (96%) rename src/main/java/xyz/holocons/mc/holoitemsrevamp/item/{TimeLapseItem.java => TimeLapseroniItem.java} (94%) diff --git a/src/main/java/com/strangeone101/holoitemsapi/enchantment/EnchantManager.java b/src/main/java/com/strangeone101/holoitemsapi/enchantment/EnchantManager.java index 7d5eef60..e0441ce5 100644 --- a/src/main/java/com/strangeone101/holoitemsapi/enchantment/EnchantManager.java +++ b/src/main/java/com/strangeone101/holoitemsapi/enchantment/EnchantManager.java @@ -9,7 +9,7 @@ import xyz.holocons.mc.holoitemsrevamp.enchantment.Magnet; import xyz.holocons.mc.holoitemsrevamp.enchantment.Memento; import xyz.holocons.mc.holoitemsrevamp.enchantment.TideRider; -import xyz.holocons.mc.holoitemsrevamp.enchantment.TimeLapse; +import xyz.holocons.mc.holoitemsrevamp.enchantment.TimeLapseroni; import xyz.holocons.mc.holoitemsrevamp.integration.Integrations; import java.lang.reflect.Field; @@ -112,7 +112,7 @@ private static Set buildCustomEnchantments(HoloItemsRevamp pl new Magnet(plugin), new Memento(plugin), new TideRider(plugin), - new TimeLapse(plugin), + new TimeLapseroni(plugin), new Backdash(plugin)); } } diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/collection/CollectionManager.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/collection/CollectionManager.java index 9914efa9..ffffe6f1 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/collection/CollectionManager.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/collection/CollectionManager.java @@ -19,6 +19,7 @@ import xyz.holocons.mc.holoitemsrevamp.item.MagnetBook; import xyz.holocons.mc.holoitemsrevamp.item.MementoItem; import xyz.holocons.mc.holoitemsrevamp.item.TideRiderItem; +import xyz.holocons.mc.holoitemsrevamp.item.TimeLapseroniItem; public class CollectionManager { @@ -572,7 +573,7 @@ public List getLore() { } private static Idol buildKronii(HoloItemsRevamp plguin) { - return new Idol() { + return new Idol(new TimeLapseroniItem(plguin)) { @Override public @NotNull String getSkinBase64() { diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapseroni.java similarity index 96% rename from src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java rename to src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapseroni.java index 24e7234e..a378929e 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapse.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/enchantment/TimeLapseroni.java @@ -19,11 +19,11 @@ import java.util.Map; -public class TimeLapse extends CustomEnchantment implements EnchantmentAbility { +public class TimeLapseroni extends CustomEnchantment implements EnchantmentAbility { private final HoloItemsRevamp plugin; - public TimeLapse(HoloItemsRevamp plugin) { + public TimeLapseroni(HoloItemsRevamp plugin) { super(plugin, "time_lapseroni"); this.plugin = plugin; } diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseroniItem.java similarity index 94% rename from src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java rename to src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseroniItem.java index 647db039..8909f26f 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseItem.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/item/TimeLapseroniItem.java @@ -16,7 +16,7 @@ import java.util.List; -public class TimeLapseItem extends CustomItem implements Enchantable { +public class TimeLapseroniItem extends CustomItem implements Enchantable { private final static String name = "time_lapseroni"; private final static Material material = Material.CLOCK; @@ -27,7 +27,7 @@ public class TimeLapseItem extends CustomItem implements Enchantable { private final EnchantManager enchantManager; - public TimeLapseItem(HoloItemsRevamp plugin) { + public TimeLapseroniItem(HoloItemsRevamp plugin) { super(plugin, name, material, displayName, lore); this.enchantManager = plugin.getEnchantManager(); this.setStackable(false); From e7563b820a99b74b5acd2271d16c28c4f33e7dfc Mon Sep 17 00:00:00 2001 From: SpaceNerden Date: Thu, 31 Aug 2023 22:20:25 +0200 Subject: [PATCH 11/11] fix: resolve plguin typo --- .../mc/holoitemsrevamp/collection/CollectionManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/xyz/holocons/mc/holoitemsrevamp/collection/CollectionManager.java b/src/main/java/xyz/holocons/mc/holoitemsrevamp/collection/CollectionManager.java index ffffe6f1..96f7bf62 100644 --- a/src/main/java/xyz/holocons/mc/holoitemsrevamp/collection/CollectionManager.java +++ b/src/main/java/xyz/holocons/mc/holoitemsrevamp/collection/CollectionManager.java @@ -572,8 +572,8 @@ public List getLore() { }; } - private static Idol buildKronii(HoloItemsRevamp plguin) { - return new Idol(new TimeLapseroniItem(plguin)) { + private static Idol buildKronii(HoloItemsRevamp plugin) { + return new Idol(new TimeLapseroniItem(plugin)) { @Override public @NotNull String getSkinBase64() {