Compare commits
2 Commits
dd69ac63eb
...
d897688ab4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d897688ab4 | ||
|
|
1f5a062416 |
25
src/main/java/net/hexa/MythicItems/CommandMythicEssence.java
Normal file
25
src/main/java/net/hexa/MythicItems/CommandMythicEssence.java
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package net.hexa.MythicItems;
|
||||||
|
|
||||||
|
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.MythicItems.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,11 +1,13 @@
|
|||||||
package net.hexa.Plugin;
|
package net.hexa.MythicItems;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
|
||||||
public class Plugin extends JavaPlugin {
|
public class MythicItems extends JavaPlugin {
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
getLogger().info("onEnable is called!");
|
getLogger().info("onEnable is called!");
|
||||||
|
this.getCommand("essence").setExecutor(new CommandMythicEssence());
|
||||||
|
getServer().getPluginManager().registerEvents(new MythicListener(), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
26
src/main/java/net/hexa/MythicItems/MythicListener.java
Normal file
26
src/main/java/net/hexa/MythicItems/MythicListener.java
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package net.hexa.MythicItems;
|
||||||
|
|
||||||
|
import net.hexa.MythicItems.Mythics.MythicItem;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
public class MythicListener implements Listener {
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onBlockBreak(BlockBreakEvent event) {
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
|
||||||
|
ItemStack item = player.getInventory().getItemInMainHand();
|
||||||
|
|
||||||
|
boolean isMythic = MythicItem.isMythic(item);
|
||||||
|
|
||||||
|
if (isMythic) {
|
||||||
|
int mythic_id = MythicItem.getMythicId(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
package net.hexa.MythicItems.Mythics;
|
||||||
|
|
||||||
|
import net.hexa.MythicItems.MythicItems;
|
||||||
|
import org.bukkit.NamespacedKey;
|
||||||
|
|
||||||
|
public class Constants {
|
||||||
|
public static NamespacedKey mythic_key = new NamespacedKey(new MythicItems(), "mythic-id");
|
||||||
|
}
|
||||||
28
src/main/java/net/hexa/MythicItems/Mythics/MythicItem.java
Normal file
28
src/main/java/net/hexa/MythicItems/Mythics/MythicItem.java
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package net.hexa.MythicItems.Mythics;
|
||||||
|
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
|
|
||||||
|
public abstract class MythicItem {
|
||||||
|
public ItemStack item;
|
||||||
|
|
||||||
|
public MythicItem() {}
|
||||||
|
|
||||||
|
public static int getMythicId(ItemStack item) {
|
||||||
|
PersistentDataContainer itemData = item.getItemMeta().getPersistentDataContainer();
|
||||||
|
|
||||||
|
return itemData.get(Constants.mythic_key, PersistentDataType.INTEGER);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isMythic(ItemStack item) {
|
||||||
|
PersistentDataContainer itemData = item.getItemMeta().getPersistentDataContainer();
|
||||||
|
|
||||||
|
return itemData.has(Constants.mythic_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setMythicId(int id) {
|
||||||
|
PersistentDataContainer itemData = item.getItemMeta().getPersistentDataContainer();
|
||||||
|
itemData.set(Constants.mythic_key, PersistentDataType.INTEGER, id);
|
||||||
|
}
|
||||||
|
}
|
||||||
24
src/main/java/net/hexa/MythicItems/Mythics/RockCracker.java
Normal file
24
src/main/java/net/hexa/MythicItems/Mythics/RockCracker.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package net.hexa.MythicItems.Mythics;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
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);
|
||||||
|
|
||||||
|
setMythicId(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
27
src/main/java/net/hexa/MythicItems/Mythics/Terra.java
Normal file
27
src/main/java/net/hexa/MythicItems/Mythics/Terra.java
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
package net.hexa.MythicItems.Mythics;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class Terra extends MythicItem {
|
||||||
|
public Terra() {
|
||||||
|
item = new ItemStack(Material.NETHERITE_SHOVEL);
|
||||||
|
|
||||||
|
item.addUnsafeEnchantment(Enchantment.EFFICIENCY, 8);
|
||||||
|
item.addUnsafeEnchantment(Enchantment.UNBREAKING, 10);
|
||||||
|
|
||||||
|
ItemMeta meta = item.getItemMeta();
|
||||||
|
|
||||||
|
meta.setUnbreakable(true);
|
||||||
|
meta.setDisplayName("Terra");
|
||||||
|
meta.setLore(Arrays.asList("All will eventually return to Terra."));
|
||||||
|
meta.setEnchantable(0);
|
||||||
|
|
||||||
|
item.setItemMeta(meta);
|
||||||
|
setMythicId(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,9 @@
|
|||||||
name: EconPlugin
|
name: MythicItems
|
||||||
version: 1.0
|
version: 1.0
|
||||||
main: net.hexa.Plugin.Plugin
|
main: net.hexa.MythicItems.MythicItems
|
||||||
api-version: '1.21.4'
|
api-version: '1.21.4'
|
||||||
|
|
||||||
|
commands:
|
||||||
|
essence:
|
||||||
|
description: Gives a Mythic Item Essence
|
||||||
|
usage: /<command>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user