diff --git a/src/main/java/net/hexa/Plugin/CommandMythicEssence.java b/src/main/java/net/hexa/Plugin/CommandMythicEssence.java new file mode 100644 index 0000000..df10210 --- /dev/null +++ b/src/main/java/net/hexa/Plugin/CommandMythicEssence.java @@ -0,0 +1,25 @@ +package net.hexa.Plugin; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + +import net.hexa.Plugin.Mythics.RockCracker; + +public class CommandMythicEssence implements CommandExecutor { + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if (sender instanceof Player) { + Player player = (Player) sender; + + ItemStack item = new RockCracker().item; + + player.getInventory().addItem(item); + } + + return true; + } +} diff --git a/src/main/java/net/hexa/Plugin/MythicListener.java b/src/main/java/net/hexa/Plugin/MythicListener.java new file mode 100644 index 0000000..bd5699f --- /dev/null +++ b/src/main/java/net/hexa/Plugin/MythicListener.java @@ -0,0 +1,28 @@ +package net.hexa.Plugin; + +import net.hexa.Plugin.Mythics.Constants; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.inventory.ItemStack; +import org.bukkit.persistence.PersistentDataContainer; +import org.bukkit.persistence.PersistentDataType; + +public class MythicListener implements Listener { + + @EventHandler + public void onBlockBreak(BlockBreakEvent event) { + Player player = event.getPlayer(); + + ItemStack item = player.getInventory().getItemInMainHand(); + PersistentDataContainer itemData = item.getItemMeta().getPersistentDataContainer(); + + boolean isMythic = itemData.has(Constants.mythic_key); + + if (isMythic) { + int mythic_id = itemData.get(Constants.mythic_key, PersistentDataType.INTEGER); + } + + } +} diff --git a/src/main/java/net/hexa/Plugin/Mythics/Constants.java b/src/main/java/net/hexa/Plugin/Mythics/Constants.java new file mode 100644 index 0000000..b14916a --- /dev/null +++ b/src/main/java/net/hexa/Plugin/Mythics/Constants.java @@ -0,0 +1,8 @@ +package net.hexa.Plugin.Mythics; + +import net.hexa.Plugin.Plugin; +import org.bukkit.NamespacedKey; + +public class Constants { + public static NamespacedKey mythic_key = new NamespacedKey(new Plugin(), "mythic-id"); +} diff --git a/src/main/java/net/hexa/Plugin/Mythics/MythicItem.java b/src/main/java/net/hexa/Plugin/Mythics/MythicItem.java new file mode 100644 index 0000000..a2a1a25 --- /dev/null +++ b/src/main/java/net/hexa/Plugin/Mythics/MythicItem.java @@ -0,0 +1,9 @@ +package net.hexa.Plugin.Mythics; + +import org.bukkit.inventory.ItemStack; + +public abstract class MythicItem { + public ItemStack item; + + public MythicItem() {} +} diff --git a/src/main/java/net/hexa/Plugin/Mythics/RockCracker.java b/src/main/java/net/hexa/Plugin/Mythics/RockCracker.java new file mode 100644 index 0000000..6070968 --- /dev/null +++ b/src/main/java/net/hexa/Plugin/Mythics/RockCracker.java @@ -0,0 +1,26 @@ +package net.hexa.Plugin.Mythics; + +import net.hexa.Plugin.Plugin; +import org.bukkit.Material; +import org.bukkit.NamespacedKey; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.inventory.ItemStack; +import org.bukkit.persistence.PersistentDataType; + +import java.util.Arrays; + +public class RockCracker extends MythicItem { + public RockCracker() { + item = new ItemStack(Material.NETHERITE_PICKAXE); + + item.addUnsafeEnchantment(Enchantment.EFFICIENCY, 9); + item.addUnsafeEnchantment(Enchantment.UNBREAKING, 10); + + item.getItemMeta().setUnbreakable(true); + item.getItemMeta().setItemName("Rock Cracker"); + item.getItemMeta().setLore(Arrays.asList("and the land thrashes in furious pain...")); + item.getItemMeta().setEnchantable(0); + + item.getItemMeta().getPersistentDataContainer().set(Constants.mythic_key, PersistentDataType.INTEGER, 1); + } +} diff --git a/src/main/java/net/hexa/Plugin/Plugin.java b/src/main/java/net/hexa/Plugin/Plugin.java index 0094aad..355acde 100644 --- a/src/main/java/net/hexa/Plugin/Plugin.java +++ b/src/main/java/net/hexa/Plugin/Plugin.java @@ -6,6 +6,7 @@ public class Plugin extends JavaPlugin { @Override public void onEnable() { getLogger().info("onEnable is called!"); + this.getCommand("essence").setExecutor(new CommandMythicEssence()); } @Override diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index f8530c2..e4f4d76 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,4 +1,9 @@ name: EconPlugin version: 1.0 main: net.hexa.Plugin.Plugin -api-version: '1.21.4' \ No newline at end of file +api-version: '1.21.4' + +commands: + essence: + description: Gives a Mythic Item Essence + usage: /