made essences work
This commit is contained in:
parent
d897688ab4
commit
ad57acf11a
2
pom.xml
2
pom.xml
@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<groupId>net.hexa</groupId>
|
<groupId>net.hexa</groupId>
|
||||||
<artifactId>EconPlugn</artifactId>
|
<artifactId>MythicItems</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
|
|||||||
@ -1,13 +1,12 @@
|
|||||||
package net.hexa.MythicItems;
|
package net.hexa.MythicItems;
|
||||||
|
|
||||||
|
import net.hexa.MythicItems.Mythics.MythicEssence;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import net.hexa.MythicItems.Mythics.RockCracker;
|
|
||||||
|
|
||||||
public class CommandMythicEssence implements CommandExecutor {
|
public class CommandMythicEssence implements CommandExecutor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -15,7 +14,7 @@ public class CommandMythicEssence implements CommandExecutor {
|
|||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
Player player = (Player) sender;
|
Player player = (Player) sender;
|
||||||
|
|
||||||
ItemStack item = new RockCracker().item;
|
ItemStack item = new MythicEssence().item;
|
||||||
|
|
||||||
player.getInventory().addItem(item);
|
player.getInventory().addItem(item);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,15 @@
|
|||||||
package net.hexa.MythicItems;
|
package net.hexa.MythicItems;
|
||||||
|
|
||||||
|
import net.hexa.MythicItems.Mythics.MythicEssence;
|
||||||
import net.hexa.MythicItems.Mythics.MythicItem;
|
import net.hexa.MythicItems.Mythics.MythicItem;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.block.Action;
|
||||||
import org.bukkit.event.block.BlockBreakEvent;
|
import org.bukkit.event.block.BlockBreakEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
public class MythicListener implements Listener {
|
public class MythicListener implements Listener {
|
||||||
@ -23,4 +27,30 @@ public class MythicListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerUse(PlayerInteractEvent event) {
|
||||||
|
|
||||||
|
Bukkit.getServer().getPluginManager().getPlugin("MythicItems").getLogger().info("Action done" + event.getAction().toString());
|
||||||
|
|
||||||
|
if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||||
|
Bukkit.getServer().getPluginManager().getPlugin("MythicItems").getLogger().info("Action done2" + event.getAction().toString());
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
ItemStack item = player.getInventory().getItemInMainHand();
|
||||||
|
|
||||||
|
Bukkit.getServer().getPluginManager().getPlugin("MythicItems").getLogger()
|
||||||
|
.info(item.toString());
|
||||||
|
|
||||||
|
if (MythicItem.isMythic(item)) {
|
||||||
|
Bukkit.getServer().getPluginManager().getPlugin("MythicItems").getLogger()
|
||||||
|
.info("item was mythic with id " + MythicItem.getMythicId(item));
|
||||||
|
if (MythicItem.getMythicId(item) == 0) {
|
||||||
|
ItemStack mythicReward = MythicEssence.rollMythic();
|
||||||
|
|
||||||
|
player.getInventory().remove(item);
|
||||||
|
player.getInventory().addItem(mythicReward);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,11 @@
|
|||||||
package net.hexa.MythicItems.Mythics;
|
package net.hexa.MythicItems.Mythics;
|
||||||
|
|
||||||
import net.hexa.MythicItems.MythicItems;
|
import net.hexa.MythicItems.MythicItems;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
public class Constants {
|
public class Constants {
|
||||||
public static NamespacedKey mythic_key = new NamespacedKey(new MythicItems(), "mythic-id");
|
public static Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("MythicItems");
|
||||||
|
public static NamespacedKey mythic_key = new NamespacedKey(plugin, "mythic-id");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,39 @@
|
|||||||
|
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;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class MythicEssence extends MythicItem {
|
||||||
|
|
||||||
|
private static final Random random = new Random();
|
||||||
|
|
||||||
|
public MythicEssence() {
|
||||||
|
item = new ItemStack(Material.CLAY_BALL);
|
||||||
|
|
||||||
|
item.addUnsafeEnchantment(Enchantment.FORTUNE, 7);
|
||||||
|
|
||||||
|
ItemMeta itemData = item.getItemMeta();
|
||||||
|
itemData.setItemName("§4Mythic Essence");
|
||||||
|
itemData.setLore(Arrays.asList("§o§aMaybe this will give you something nice?"));
|
||||||
|
|
||||||
|
item.setItemMeta(itemData);
|
||||||
|
|
||||||
|
setMythicId(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack rollMythic() {
|
||||||
|
int mythic_id = random.nextInt(2) + 1;
|
||||||
|
switch (mythic_id) {
|
||||||
|
case 1:
|
||||||
|
return new Terra().item;
|
||||||
|
case 2:
|
||||||
|
return new RockCracker().item;
|
||||||
|
}
|
||||||
|
return new ItemStack(Material.GRAVEL);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,6 +1,7 @@
|
|||||||
package net.hexa.MythicItems.Mythics;
|
package net.hexa.MythicItems.Mythics;
|
||||||
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
|
|
||||||
@ -22,7 +23,8 @@ public abstract class MythicItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void setMythicId(int id) {
|
protected void setMythicId(int id) {
|
||||||
PersistentDataContainer itemData = item.getItemMeta().getPersistentDataContainer();
|
ItemMeta itemData = item.getItemMeta();
|
||||||
itemData.set(Constants.mythic_key, PersistentDataType.INTEGER, id);
|
itemData.getPersistentDataContainer().set(Constants.mythic_key, PersistentDataType.INTEGER, id);
|
||||||
|
this.item.setItemMeta(itemData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package net.hexa.MythicItems.Mythics;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -14,11 +15,14 @@ public class RockCracker extends MythicItem {
|
|||||||
item.addUnsafeEnchantment(Enchantment.EFFICIENCY, 9);
|
item.addUnsafeEnchantment(Enchantment.EFFICIENCY, 9);
|
||||||
item.addUnsafeEnchantment(Enchantment.UNBREAKING, 10);
|
item.addUnsafeEnchantment(Enchantment.UNBREAKING, 10);
|
||||||
|
|
||||||
item.getItemMeta().setUnbreakable(true);
|
ItemMeta itemData = item.getItemMeta();
|
||||||
item.getItemMeta().setItemName("Rock Cracker");
|
|
||||||
item.getItemMeta().setLore(Arrays.asList("and the land thrashes in furious pain..."));
|
|
||||||
item.getItemMeta().setEnchantable(0);
|
|
||||||
|
|
||||||
setMythicId(1);
|
itemData.setUnbreakable(true);
|
||||||
|
itemData.setItemName("Rock Cracker");
|
||||||
|
itemData.setLore(Arrays.asList("and the land thrashes in furious pain..."));
|
||||||
|
|
||||||
|
item.setItemMeta(itemData);
|
||||||
|
|
||||||
|
this.setMythicId(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,9 +17,8 @@ public class Terra extends MythicItem {
|
|||||||
ItemMeta meta = item.getItemMeta();
|
ItemMeta meta = item.getItemMeta();
|
||||||
|
|
||||||
meta.setUnbreakable(true);
|
meta.setUnbreakable(true);
|
||||||
meta.setDisplayName("Terra");
|
meta.setItemName("Terra");
|
||||||
meta.setLore(Arrays.asList("All will eventually return to Terra."));
|
meta.setLore(Arrays.asList("All will eventually return to Terra."));
|
||||||
meta.setEnchantable(0);
|
|
||||||
|
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
setMythicId(2);
|
setMythicId(2);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user