diff --git a/.gitignore b/.gitignore index 64dc100..cc0779f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,13 @@ .classpath .project api/ +libs/ *.iml +.gradle/ + +*.lock + *.iml *.ipr *.iws @@ -103,6 +108,7 @@ $RECYCLE.BIN/ *.lnk target/ +build/ pom.xml.tag pom.xml.releaseBackup @@ -118,3 +124,4 @@ buildNumber.properties # Common working directory run/ +/.gradle/ diff --git a/FUTURE.md b/FUTURE.md index 6f96818..e4dc565 100644 --- a/FUTURE.md +++ b/FUTURE.md @@ -1,6 +1,9 @@ # Future for Raxen - #### to wich direction i want Raxen to go ? + +#### to wich direction i want Raxen to go ? + Some RPG thing : + - Hypixel has Skyblock - Wyncraft has Quests and Magic - Raxen must do : @@ -9,4 +12,15 @@ Some RPG thing : - need custom mobs => some are made => not definitive need more => juste made the damage system and persistentdatacontainer on entities outside of Player, might consider to switch to persistentdatacontainer on player instead of having an hashmap (ProfileManager.java) - need custom items => partialy made => need custom resource pack support - can use custom texture pack => in making - - protection and logging feature => coreprotect \ No newline at end of file + - protection and logging feature => coreprotect + - solo leveling inspired thing with player being mc of his onw world, can do side quest with every1, and can make a party to play, max of 4?: + - Gates: + - power: ranked from F, E, D, C, B, A, S, SS, SSS, world, unbeatable and so on + - Dungunes: + - differents types => labirynth, graves,abandoned castle, openfiled like jungles, forest, plains => all of them with night variant and many days to complete + - Monster: + - basic isekai manga sort of monster and also high leveled op monster king of something => bosses + - outbreak if gate isn't closed in time + - loots: + - items of different rarities with multiple purpose => medicinal, combat related type, defensive etc... + - leveling system for the player \ No newline at end of file diff --git a/README.md b/README.md index f83c096..bbc5824 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ Minecraft Plugin that do multiple stuff. ## Future of the Plugin/to do +![Schema of Raxen](./main.svg) + [FUTURE.md](/FUTURE.md) ## Installing diff --git a/main.drawio b/main.drawio index e69de29..13d77a4 100644 --- a/main.drawio +++ b/main.drawio @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/gq/unurled/raxen/Raxen.java b/src/main/java/gq/unurled/raxen/Raxen.java index facd8d3..9be3d14 100644 --- a/src/main/java/gq/unurled/raxen/Raxen.java +++ b/src/main/java/gq/unurled/raxen/Raxen.java @@ -20,10 +20,9 @@ public final class Raxen extends JavaPlugin { private static final String prefix = ChatColor.AQUA + "Rx" + ChatColor.LIGHT_PURPLE + "> "; @Getter - private static final String version = "0.4.4"; + private static String version = ""; private final PluginManager pm = getServer().getPluginManager(); - @Getter private static Raxen plugin; private static Logger logger; @@ -44,6 +43,8 @@ public final class Raxen extends JavaPlugin { private ItemManager itemManager; @Getter private ResourcePackManager resourcePackManager; + @Getter + private LootManager lootManager; @Getter private ProtocolManager protocolManager; @@ -56,6 +57,7 @@ public final class Raxen extends JavaPlugin { public void onEnable() { plugin = this; logger = getLogger(); + version = plugin.getDescription().getVersion(); //Config and storage sruff config = new Config(this); @@ -69,6 +71,7 @@ public final class Raxen extends JavaPlugin { protocolManager = ProtocolLibrary.getProtocolManager(); protoManager = new gq.unurled.raxen.manager.ProtocolManager(this); resourcePackManager = new ResourcePackManager(this); + lootManager = new LootManager(this); playerConfig = new PlayerConfig(this); luckPerm = new LuckPerm(this); diff --git a/src/main/java/gq/unurled/raxen/commands/admin/NbtCommand.java b/src/main/java/gq/unurled/raxen/commands/admin/NbtCommand.java index 0374ea2..7a4e5fa 100644 --- a/src/main/java/gq/unurled/raxen/commands/admin/NbtCommand.java +++ b/src/main/java/gq/unurled/raxen/commands/admin/NbtCommand.java @@ -1,6 +1,6 @@ package gq.unurled.raxen.commands.admin; -import de.tr7zw.changeme.nbtapi.NBTItem; +import de.tr7zw.nbtapi.NBTItem; import gq.unurled.raxen.Raxen; import gq.unurled.raxen.components.player.Attributes.Attributes; import net.kyori.adventure.text.Component; diff --git a/src/main/java/gq/unurled/raxen/components/entity/Attributes.java b/src/main/java/gq/unurled/raxen/components/entity/Attributes.java index 3a06b97..a6ae893 100644 --- a/src/main/java/gq/unurled/raxen/components/entity/Attributes.java +++ b/src/main/java/gq/unurled/raxen/components/entity/Attributes.java @@ -17,7 +17,7 @@ public class Attributes { public static Attribute getAttribute(Entity e) { PersistentDataContainer data = e.getPersistentDataContainer(); - int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg, maxMana, mana, itemMana; + int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg, maxMana, mana, itemMana, luck, itemLuck; maxHealth = data.get(namespacedKey.maxHealth, PersistentDataType.INTEGER); health = data.get(namespacedKey.healthKey, PersistentDataType.INTEGER); itemHealth = data.get(namespacedKey.itemHealthKey, PersistentDataType.INTEGER); @@ -30,11 +30,13 @@ public class Attributes { maxMana = data.get(namespacedKey.maxMana, PersistentDataType.INTEGER); mana = data.get(namespacedKey.mana, PersistentDataType.INTEGER); itemMana = data.get(namespacedKey.itemMana, PersistentDataType.INTEGER); + luck = data.get(namespacedKey.luck, PersistentDataType.INTEGER); + itemLuck = data.get(namespacedKey.itemLuck, PersistentDataType.INTEGER); - return new Attribute(maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg, maxMana, mana, itemMana); + return new Attribute(maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg, maxMana, mana, itemMana, luck, itemLuck); } - public static void setAttributes(Entity e, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemDmg, int maxMana, int mana, int itemMana) { + public static void setAttributes(Entity e, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemDmg, int maxMana, int mana, int itemMana, int luck, int itemLuck) { PersistentDataContainer data = e.getPersistentDataContainer(); data.set(namespacedKey.healthKey, PersistentDataType.INTEGER, health); data.set(namespacedKey.itemHealthKey, PersistentDataType.INTEGER, itemHealth); @@ -47,6 +49,8 @@ public class Attributes { data.set(namespacedKey.maxMana, PersistentDataType.INTEGER, maxMana); data.set(namespacedKey.mana, PersistentDataType.INTEGER, mana); data.set(namespacedKey.itemMana, PersistentDataType.INTEGER, itemMana); + data.set(namespacedKey.luck, PersistentDataType.INTEGER, luck); + data.set(namespacedKey.itemLuck, PersistentDataType.INTEGER, itemLuck); } public void removeSpeed(Entity e, int i) { @@ -77,6 +81,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.maxHealth, PersistentDataType.INTEGER, data.get(namespacedKey.maxHealth, PersistentDataType.INTEGER) -i); } + public void removeLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.luck, PersistentDataType.INTEGER, data.get(namespacedKey.luck, PersistentDataType.INTEGER) -i); + } public void removeItemSpeed(Entity e, int i) { PersistentDataContainer data = e.getPersistentDataContainer(); @@ -94,6 +102,11 @@ public class Attributes { PersistentDataContainer data = e.getPersistentDataContainer(); data.set(namespacedKey.itemStrengthKey, PersistentDataType.INTEGER, data.get(namespacedKey.itemStrengthKey, PersistentDataType.INTEGER) -i); } + public void removeItemLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.itemLuck, PersistentDataType.INTEGER, data.get(namespacedKey.itemLuck, PersistentDataType.INTEGER) -i); + } + public void addSpeed(Entity e, int i) { PersistentDataContainer data = e.getPersistentDataContainer(); @@ -123,6 +136,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.maxHealth, PersistentDataType.INTEGER, data.get(namespacedKey.maxHealth, PersistentDataType.INTEGER) +i); } + public void addLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.luck, PersistentDataType.INTEGER, data.get(namespacedKey.luck, PersistentDataType.INTEGER) +i); + } public void addItemSpeed(Entity e, int i) { PersistentDataContainer data = e.getPersistentDataContainer(); @@ -140,6 +157,10 @@ public class Attributes { PersistentDataContainer data = e.getPersistentDataContainer(); data.set(namespacedKey.itemStrengthKey, PersistentDataType.INTEGER, data.get(namespacedKey.itemStrengthKey, PersistentDataType.INTEGER) +i); } + public void addItemLuck(Entity e, int i) { + PersistentDataContainer data = e.getPersistentDataContainer(); + data.set(namespacedKey.itemLuck, PersistentDataType.INTEGER, data.get(namespacedKey.itemLuck, PersistentDataType.INTEGER) +i); + } public Integer getSpeed(Entity e) { PersistentDataContainer data = e.getPersistentDataContainer(); @@ -169,6 +190,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); return data.get(namespacedKey.maxHealth, PersistentDataType.INTEGER); } + public Integer getLuck(Player player) { + PersistentDataContainer data = player.getPersistentDataContainer(); + return data.get(namespacedKey.luck, PersistentDataType.INTEGER); + } public Integer getItemSpeed(Entity e) { PersistentDataContainer data = e.getPersistentDataContainer(); @@ -186,6 +211,10 @@ public class Attributes { PersistentDataContainer data = e.getPersistentDataContainer(); return data.get(namespacedKey.itemDefenseKey, PersistentDataType.INTEGER); } + public Integer getItemLuck(Entity e) { + PersistentDataContainer data = e.getPersistentDataContainer(); + return data.get(namespacedKey.itemLuck, PersistentDataType.INTEGER); + } public void setHealth(Entity e, int i) { PersistentDataContainer data = e.getPersistentDataContainer(); @@ -215,6 +244,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.maxHealth, PersistentDataType.INTEGER, i); } + public void setLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.luck, PersistentDataType.INTEGER, i); + } public void setItemHealth(Entity e, int i) { PersistentDataContainer data = e.getPersistentDataContainer(); @@ -232,4 +265,8 @@ public class Attributes { PersistentDataContainer data = e.getPersistentDataContainer(); data.set(namespacedKey.itemStrengthKey, PersistentDataType.INTEGER, i); } + public void setItemLuck(Entity e, int i) { + PersistentDataContainer data = e.getPersistentDataContainer(); + data.set(namespacedKey.itemLuck, PersistentDataType.INTEGER, i); + } } diff --git a/src/main/java/gq/unurled/raxen/components/entity/EntityNamespacedKey.java b/src/main/java/gq/unurled/raxen/components/entity/EntityNamespacedKey.java index 92bfe77..a85fc7e 100644 --- a/src/main/java/gq/unurled/raxen/components/entity/EntityNamespacedKey.java +++ b/src/main/java/gq/unurled/raxen/components/entity/EntityNamespacedKey.java @@ -21,6 +21,8 @@ public class EntityNamespacedKey { maxMana = new NamespacedKey(main, "maxMana"); mana = new NamespacedKey(main, "mana"); itemMana = new NamespacedKey(main, "itemMana"); + luck = new NamespacedKey(main, "luck"); + itemLuck = new NamespacedKey(main, "itemLuck"); inventory = new NamespacedKey(main, "inventory"); storage = new NamespacedKey(main, "storage"); @@ -40,6 +42,8 @@ public class EntityNamespacedKey { public final NamespacedKey maxMana; public final NamespacedKey mana; public final NamespacedKey itemMana; + public final NamespacedKey luck; + public final NamespacedKey itemLuck; public final NamespacedKey inventory; public final NamespacedKey storage; diff --git a/src/main/java/gq/unurled/raxen/components/gui/ItemListGui.java b/src/main/java/gq/unurled/raxen/components/gui/ItemListGui.java index cbc5090..871784b 100644 --- a/src/main/java/gq/unurled/raxen/components/gui/ItemListGui.java +++ b/src/main/java/gq/unurled/raxen/components/gui/ItemListGui.java @@ -13,7 +13,9 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import static gq.unurled.raxen.utils.Items.*; import static gq.unurled.raxen.utils.Utils.fillGreyPane; @@ -33,7 +35,7 @@ public class ItemListGui implements Listener { private Inventory inv8 = Bukkit.createInventory(null, 54, Component.text("Item List")); private Inventory inv9 = Bukkit.createInventory(null, 54, Component.text("Item List")); - private List itlist; + private HashMap itlist; public ItemListGui(Raxen main) { this.main = main; @@ -50,7 +52,8 @@ public class ItemListGui implements Listener { public Inventory getInventories() { Integer page = 1; Integer item = -1; - for (ItemStack it : itlist) { + for (Map.Entry entry : itlist.entrySet()) { + ItemStack it = entry.getValue(); item++; if(item > 44 && item < 91) { inv2.addItem(it); diff --git a/src/main/java/gq/unurled/raxen/components/items/Attributes.java b/src/main/java/gq/unurled/raxen/components/items/Attributes.java index be2e8dd..ce1aa03 100644 --- a/src/main/java/gq/unurled/raxen/components/items/Attributes.java +++ b/src/main/java/gq/unurled/raxen/components/items/Attributes.java @@ -6,7 +6,7 @@ public class Attributes { @Getter Integer health, speed, defense, strength; - public Attributes(Integer health, Integer defense, Integer speed, Integer strength) { + public Attributes(Integer health, Integer defense, Integer speed, Integer strength, Integer mana, Integer luck) { this.health = health; this.defense = defense; this.speed = speed; diff --git a/src/main/java/gq/unurled/raxen/components/items/NBT.java b/src/main/java/gq/unurled/raxen/components/items/NBT.java index 6fa4039..4533890 100644 --- a/src/main/java/gq/unurled/raxen/components/items/NBT.java +++ b/src/main/java/gq/unurled/raxen/components/items/NBT.java @@ -6,7 +6,10 @@ public class NBT { public static String SPEED = "SPEED"; public static String STRENGTH = "STRENGTH"; public static String DEFENSE = "DEFENSE"; + public static String LUCK = "LUCK"; + public static String MANA = "MANA"; public static String ID = "ID"; public static String CUSTOM_ABILITY = "CUSTOM_ABILITY"; + public static String DROP_RATE = "DROP_RATE"; } diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java b/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java index 45d98f6..745792e 100644 --- a/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java +++ b/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java @@ -1,2 +1,24 @@ -package gq.unurled.raxen.components.lootchest;public class GUI { +package gq.unurled.raxen.components.lootchest; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.manager.PlayerManager; +import lombok.Getter; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; + +public class GUI { + @Getter + private static Inventory inv = Bukkit.createInventory(null, 54); + private static PlayerManager playerManager; + + public GUI(Raxen main) { + this.playerManager = main.getPlayerManager(); + } + + public static Inventory addItems(Player player) { + Integer luck = playerManager.getRaxenPlayer(player).getAttributes().getLuck(player); + + return inv; + } } diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java b/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java index 8686d70..1448be5 100644 --- a/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java +++ b/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java @@ -1,2 +1,43 @@ -package gq.unurled.raxen.components.lootchest.loots;public class CustomLoot { +package gq.unurled.raxen.components.lootchest.loots; + +import de.tr7zw.nbtapi.NBTItem; +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.items.NBT; +import org.bukkit.Location; +import org.bukkit.inventory.ItemStack; + +import java.util.HashMap; + +public class CustomLoot { + + private Raxen main; + + public HashMap itlist; + + public ItemStack item; + public Double drop_rate; + public LootItem lootItem; + public String ID; + + public LootItem getLootItem() { + return new LootItem(registerItem(), drop_rate); + } + + public ItemStack registerItem() { + return itlist.get(ID); + } + + public Double getDrop_rate() { + NBTItem nbti = new NBTItem(item); + if (nbti.hasKey(NBT.DROP_RATE)) { + return nbti.getDouble(NBT.DROP_RATE); + } + return 0.0; + } + + public void tryDropLoot(Location location) { + for (LootItem item : main.getLootManager().getLootTable()) { + item.tryDropItem(location); + } + } } diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/loots/LootItem.java b/src/main/java/gq/unurled/raxen/components/lootchest/loots/LootItem.java index 0a715dc..4123119 100644 --- a/src/main/java/gq/unurled/raxen/components/lootchest/loots/LootItem.java +++ b/src/main/java/gq/unurled/raxen/components/lootchest/loots/LootItem.java @@ -1,2 +1,29 @@ -package gq.unurled.raxen.components.lootchest.loots;public class LootItem { +package gq.unurled.raxen.components.lootchest.loots; + +import org.bukkit.Location; +import org.bukkit.inventory.ItemStack; + +import java.util.Random; + +public class LootItem { + + private ItemStack item; + private int min = 1, max = 1; + private double dropRate; + private static Random randomiser = new Random(); + + + public LootItem(ItemStack item, double dropRate) { + this.item = item; + this.dropRate = dropRate; + } + + public void tryDropItem(Location loc) { + if (Math.random() * 101 > dropRate) return; + int amount = randomiser.nextInt(max - min + 1) + min; + if (amount == 0) return; + ItemStack item = this.item.clone(); + item.setAmount(amount); + loc.getWorld().dropItemNaturally(loc, item); + } } diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java b/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java index fe20803..991397c 100644 --- a/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java +++ b/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java @@ -1,2 +1,15 @@ -package gq.unurled.raxen.components.lootchest.loots.test;public class TestSword { +package gq.unurled.raxen.components.lootchest.loots.test; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.lootchest.loots.CustomLoot; + +public class TestSword extends CustomLoot { + + public TestSword(Raxen main) { + this.itlist = main.getItemManager().getList(); + this.ID = "BEST_NEW_ITEM"; + this.drop_rate = getDrop_rate(); + this.item = registerItem(); + this.lootItem = getLootItem(); + } } diff --git a/src/main/java/gq/unurled/raxen/components/player/Attributes/Attribute.java b/src/main/java/gq/unurled/raxen/components/player/Attributes/Attribute.java index 82f8a83..286b481 100644 --- a/src/main/java/gq/unurled/raxen/components/player/Attributes/Attribute.java +++ b/src/main/java/gq/unurled/raxen/components/player/Attributes/Attribute.java @@ -7,9 +7,9 @@ public class Attribute { @Getter @Setter - private int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana; + private int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemStrength, maxMana, mana, itemMana, luck, itemLuck; - public Attribute(int maxHealth, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemStrength, int maxMana, int mana, int itemMana) { + public Attribute(int maxHealth, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemStrength, int maxMana, int mana, int itemMana, int luck, int itemLuck) { this.maxHealth = maxHealth; this.health = health; this.itemHealth = itemHealth; @@ -22,5 +22,7 @@ public class Attribute { this.maxHealth = maxMana; this.mana = mana; this.itemMana = itemMana; + this.luck = luck; + this.itemLuck = itemLuck; } } diff --git a/src/main/java/gq/unurled/raxen/components/player/Attributes/Attributes.java b/src/main/java/gq/unurled/raxen/components/player/Attributes/Attributes.java index abe98f4..d34bb24 100644 --- a/src/main/java/gq/unurled/raxen/components/player/Attributes/Attributes.java +++ b/src/main/java/gq/unurled/raxen/components/player/Attributes/Attributes.java @@ -16,7 +16,7 @@ public class Attributes { public static Attribute getAttribute(Player player) { PersistentDataContainer data = player.getPersistentDataContainer(); - int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg, maxMana, mana, itemMana; + int maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg, maxMana, mana, itemMana, luck, itemLuck; maxHealth = data.get(namespacedKey.maxHealth, PersistentDataType.INTEGER); health = data.get(namespacedKey.healthKey, PersistentDataType.INTEGER); itemHealth = data.get(namespacedKey.itemHealthKey, PersistentDataType.INTEGER); @@ -29,10 +29,12 @@ public class Attributes { mana = data.get(namespacedKey.mana, PersistentDataType.INTEGER); itemMana = data.get(namespacedKey.itemMana, PersistentDataType.INTEGER); maxMana = data.get(namespacedKey.maxMana, PersistentDataType.INTEGER); - return new Attribute(maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg, maxMana, mana, itemMana); + luck = data.get(namespacedKey.luck, PersistentDataType.INTEGER); + itemLuck = data.get(namespacedKey.itemLuck, PersistentDataType.INTEGER); + return new Attribute(maxHealth, health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg, maxMana, mana, itemMana, luck, itemLuck); } - public static void setAttributes(Player player, int maxHealth, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemDmg, int maxMana, int mana, int itemMana) { + public static void setAttributes(Player player, int maxHealth, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemDmg, int maxMana, int mana, int itemMana, int luck, int itemLuck) { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.maxHealth, PersistentDataType.INTEGER, maxHealth); data.set(namespacedKey.healthKey, PersistentDataType.INTEGER, health); @@ -46,6 +48,8 @@ public class Attributes { data.set(namespacedKey.maxMana, PersistentDataType.INTEGER, maxMana); data.set(namespacedKey.mana, PersistentDataType.INTEGER, mana); data.set(namespacedKey.itemMana, PersistentDataType.INTEGER, itemMana); + data.set(namespacedKey.luck, PersistentDataType.INTEGER, luck); + data.set(namespacedKey.itemLuck, PersistentDataType.INTEGER, itemLuck); } public void removeSpeed(Player player, int i) { @@ -76,8 +80,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.maxHealth, PersistentDataType.INTEGER, data.get(namespacedKey.maxHealth, PersistentDataType.INTEGER) -i); } - - + public void removeLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.luck, PersistentDataType.INTEGER, data.get(namespacedKey.luck, PersistentDataType.INTEGER) -i); + } public void removeItemSpeed(Player player, int i) { PersistentDataContainer data = player.getPersistentDataContainer(); @@ -99,7 +105,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.itemMana, PersistentDataType.INTEGER, data.get(namespacedKey.itemMana, PersistentDataType.INTEGER) -i); } - + public void removeItemLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.itemLuck, PersistentDataType.INTEGER, data.get(namespacedKey.itemLuck, PersistentDataType.INTEGER) -i); + } public void addSpeed(Player player, int i) { PersistentDataContainer data = player.getPersistentDataContainer(); @@ -129,6 +138,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.maxHealth, PersistentDataType.INTEGER, data.get(namespacedKey.maxHealth, PersistentDataType.INTEGER) +i); } + public void addLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.luck, PersistentDataType.INTEGER, data.get(namespacedKey.luck, PersistentDataType.INTEGER) +i); + } public void addItemSpeed(Player player, int i) { PersistentDataContainer data = player.getPersistentDataContainer(); @@ -150,6 +163,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.itemMana, PersistentDataType.INTEGER, data.get(namespacedKey.itemMana, PersistentDataType.INTEGER) +i); } + public void addItemLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.itemLuck, PersistentDataType.INTEGER, data.get(namespacedKey.itemLuck, PersistentDataType.INTEGER) +i); + } public Integer getSpeed(Player player) { PersistentDataContainer data = player.getPersistentDataContainer(); @@ -179,6 +196,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); return data.get(namespacedKey.maxHealth, PersistentDataType.INTEGER); } + public Integer getLuck(Player player) { + PersistentDataContainer data = player.getPersistentDataContainer(); + return data.get(namespacedKey.luck, PersistentDataType.INTEGER); + } public Integer getItemSpeed(Player player) { PersistentDataContainer data = player.getPersistentDataContainer(); @@ -200,6 +221,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); return data.get(namespacedKey.itemMana, PersistentDataType.INTEGER); } + public Integer getItemLuck(Player player) { + PersistentDataContainer data = player.getPersistentDataContainer(); + return data.get(namespacedKey.itemLuck, PersistentDataType.INTEGER); + } public void setHealth(Player player, int i) { PersistentDataContainer data = player.getPersistentDataContainer(); @@ -229,6 +254,10 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.maxHealth, PersistentDataType.INTEGER, i); } + public void setLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.luck, PersistentDataType.INTEGER, i); + } public void setItemHealth(Player player, int i) { PersistentDataContainer data = player.getPersistentDataContainer(); @@ -250,4 +279,8 @@ public class Attributes { PersistentDataContainer data = player.getPersistentDataContainer(); data.set(namespacedKey.mana, PersistentDataType.INTEGER, i); } + public void setItemLuck(Player player, int i) { + PersistentDataContainer data = player.getPersistentDataContainer(); + data.set(namespacedKey.itemLuck, PersistentDataType.INTEGER, i); + } } diff --git a/src/main/java/gq/unurled/raxen/components/player/RaxenPlayer.java b/src/main/java/gq/unurled/raxen/components/player/RaxenPlayer.java index f5bb5ff..8cdd981 100644 --- a/src/main/java/gq/unurled/raxen/components/player/RaxenPlayer.java +++ b/src/main/java/gq/unurled/raxen/components/player/RaxenPlayer.java @@ -45,8 +45,8 @@ public class RaxenPlayer { public Attribute createNewAttribute() { debug(main, "Created new Attribute"); - attributes.setAttributes(player, 100, 100,0,50,0,100,0,100,0, 100, 100, 0); - return new Attribute(100,100,0,50,0,100,0,100,0, 100, 100, 0); + attributes.setAttributes(player, 100, 100,0,50,0,100,0,100,0, 100, 100, 0, 10, 0); + return new Attribute(100,100,0,50,0,100,0,100,0, 100, 100, 0, 10, 0); } public void setStorages(org.bukkit.inventory.Inventory inv, org.bukkit.inventory.Inventory ec) { diff --git a/src/main/java/gq/unurled/raxen/config/PlayerConfig.java b/src/main/java/gq/unurled/raxen/config/PlayerConfig.java index ef8977e..a1abc56 100644 --- a/src/main/java/gq/unurled/raxen/config/PlayerConfig.java +++ b/src/main/java/gq/unurled/raxen/config/PlayerConfig.java @@ -68,6 +68,8 @@ public class PlayerConfig { .append("maxMana", attributes.getMaxMana(player)) .append("mana", attributes.getMana(player)) .append("itemMana", attributes.getItemMana(player)) + .append("luck", attributes.getLuck(player)) + .append("itemLuck", attributes.getItemLuck(player)) .append("inv", invstr); if (playerManager.getRaxenPlayer(player).getStorage() != null) { if(playerManager.getRaxenPlayer(player).getStorage().getEc() != null) { @@ -111,6 +113,8 @@ public class PlayerConfig { config.set("maxMana", attributes.getMaxMana(player)); config.set("mana", attributes.getMana(player)); config.set("itemMana", attributes.getItemMana(player)); + config.set("luck", attributes.getLuck(player)); + config.set("itemLuck", attributes.getItemLuck(player)); config.set("inv", invstr); if (playerManager.getRaxenPlayer(player).getStorage() != null) { if(playerManager.getRaxenPlayer(player).getStorage().getEc() != null) { @@ -148,7 +152,8 @@ public class PlayerConfig { attributes.setAttributes(player, playerDoc.getInteger("maxHealth"), playerDoc.getInteger("health"), playerDoc.getInteger("itemHealth"), playerDoc.getInteger("defense"), playerDoc.getInteger("itemDefense"), playerDoc.getInteger("speed"), playerDoc.getInteger("itemSpeed"), playerDoc.getInteger("strength"), playerDoc.getInteger("itemStrength"), - playerDoc.getInteger("maxMana"), playerDoc.getInteger("mana"), playerDoc.getInteger("itemMana")); + playerDoc.getInteger("maxMana"), playerDoc.getInteger("mana"), playerDoc.getInteger("itemMana"), + playerDoc.getInteger("luck"), playerDoc.getInteger("itemLuck")); Inventory ec = Bukkit.createInventory(null, 54, Component.text("Ender Chest")); if(playerDoc.getString("ec") != null) { ec = setItemsToInventory(listItemStackDeserilize(playerDoc.getString("ec")), ec); @@ -171,7 +176,8 @@ public class PlayerConfig { config.getInt("defense"), config.getInt("itemDefense"), config.getInt("speed"), config.getInt("itemSpeed"), config.getInt("strength"), config.getInt("itemStrength"), - config.getInt("maxMana"), config.getInt("mana"), config.getInt("itemMana")); + config.getInt("maxMana"), config.getInt("mana"), config.getInt("itemMana"), + config.getInt("luck"), config.getInt("itemLuck")); Inventory ec = Bukkit.createInventory(null, 54, Component.text("Ender Chest")); if((String) config.get("ec") != null) { ec = setItemsToInventory(listItemStackDeserilize((String) config.get("ec")), ec); @@ -200,7 +206,10 @@ public class PlayerConfig { listInv.add(s); } } - String invstr = Items.listItemStackSerelize(listInv); + String invstr= ""; + if (listInv.size() > 0) { + invstr = Items.listItemStackSerelize(listInv); + } debug(main, "saving..."); String storage = sto.getConfig().getString("storage"); saveUsingMongoDB(player, attributes, invstr, reverse); diff --git a/src/main/java/gq/unurled/raxen/listener/player/ArmorEvent.java b/src/main/java/gq/unurled/raxen/listener/player/ArmorEvent.java index 4b66fc7..2b0c202 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/ArmorEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/ArmorEvent.java @@ -1,7 +1,7 @@ package gq.unurled.raxen.listener.player; import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent; -import de.tr7zw.changeme.nbtapi.NBTItem; +import de.tr7zw.nbtapi.NBTItem; import gq.unurled.raxen.Raxen; import gq.unurled.raxen.components.player.Attributes.Attributes; import org.bukkit.Material; diff --git a/src/main/java/gq/unurled/raxen/listener/player/ClickBlockEvent.java b/src/main/java/gq/unurled/raxen/listener/player/ClickBlockEvent.java index f1b9b9c..24dfa6b 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/ClickBlockEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/ClickBlockEvent.java @@ -1,2 +1,37 @@ -package gq.unurled.raxen.listener.player;public class ClickBlockEvent { +package gq.unurled.raxen.listener.player; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.lootchest.GUI; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.Action; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.inventory.Inventory; + +public class ClickBlockEvent implements Listener { + + private Raxen main; + private GUI gui; + + public ClickBlockEvent(Raxen main) { + this.main = main; + this.gui = new GUI(main); + } + + @EventHandler + public void ClickEvent(PlayerInteractEvent e) { + Player player = e.getPlayer(); + Block block = e.getClickedBlock(); + Action action = e.getAction(); + if (action.isRightClick()) { + if (block.getType() == Material.CHEST) { + player.closeInventory(); + Inventory inv = gui.addItems(player); + player.openInventory(inv); + } + } + } } diff --git a/src/main/java/gq/unurled/raxen/listener/player/ItemHandEvent.java b/src/main/java/gq/unurled/raxen/listener/player/ItemHandEvent.java index 248d2ea..b5eaba0 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/ItemHandEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/ItemHandEvent.java @@ -1,6 +1,6 @@ package gq.unurled.raxen.listener.player; -import de.tr7zw.changeme.nbtapi.NBTItem; +import de.tr7zw.nbtapi.NBTItem; import gq.unurled.raxen.Raxen; import gq.unurled.raxen.components.player.Attributes.Attributes; import org.bukkit.Material; diff --git a/src/main/java/gq/unurled/raxen/listener/player/LeaveEvent.java b/src/main/java/gq/unurled/raxen/listener/player/LeaveEvent.java index f5c5572..fa6cb04 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/LeaveEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/LeaveEvent.java @@ -26,6 +26,6 @@ public class LeaveEvent implements Listener { Player player = e.getPlayer(); playerConfig.savePlayerConfig(player); playerManager.getRaxenPlayer(player).isRaxenPlayer(false); - playerManager.unregisterActionBar(player); + playerManager.unRegisterActionBar(player); } } diff --git a/src/main/java/gq/unurled/raxen/manager/ItemManager.java b/src/main/java/gq/unurled/raxen/manager/ItemManager.java index 5432958..e76c5ce 100644 --- a/src/main/java/gq/unurled/raxen/manager/ItemManager.java +++ b/src/main/java/gq/unurled/raxen/manager/ItemManager.java @@ -1,6 +1,6 @@ package gq.unurled.raxen.manager; -import de.tr7zw.changeme.nbtapi.NBTItem; +import de.tr7zw.nbtapi.NBTItem; import gq.unurled.raxen.Raxen; import gq.unurled.raxen.components.items.NBT; import lombok.Getter; @@ -15,6 +15,7 @@ import org.bukkit.inventory.meta.ItemMeta; import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Objects; @@ -25,7 +26,7 @@ public class ItemManager { private final Raxen main; @Getter - private List list = new ArrayList<>(); + private HashMap list = new HashMap<>(); private NBT nbt = new NBT(); public ItemManager(Raxen main) { @@ -126,8 +127,9 @@ public class ItemManager { nbti.setInteger(NBT.STRENGTH, file.getInt("strength")); nbti.setString(NBT.ID, file.getString("customId")); nbti.setString(NBT.CUSTOM_ABILITY, file.getString("custom_ability")); + nbti.setDouble(NBT.DROP_RATE, file.getDouble("drop_rate")); it = nbti.getItem(); it = setLoreFromNBT(it); - list.add(it); + list.put(file.getString("customId"), it); } } diff --git a/src/main/java/gq/unurled/raxen/manager/ListenerManager.java b/src/main/java/gq/unurled/raxen/manager/ListenerManager.java index 7262e2d..01ca081 100644 --- a/src/main/java/gq/unurled/raxen/manager/ListenerManager.java +++ b/src/main/java/gq/unurled/raxen/manager/ListenerManager.java @@ -27,5 +27,6 @@ public class ListenerManager { this.pm.registerEvents(main.getCommandManager().getItemListCommand().getItemListGui(), main); this.pm.registerEvents(new DamageEntity(main), main); this.pm.registerEvents(new SpawnEvent(main), main); + this.pm.registerEvents(new ClickBlockEvent(main), main); } } diff --git a/src/main/java/gq/unurled/raxen/manager/LootManager.java b/src/main/java/gq/unurled/raxen/manager/LootManager.java index ad708cc..da46a26 100644 --- a/src/main/java/gq/unurled/raxen/manager/LootManager.java +++ b/src/main/java/gq/unurled/raxen/manager/LootManager.java @@ -1,2 +1,20 @@ -package gq.unurled.raxen.manager;public class LootManager { +package gq.unurled.raxen.manager; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.lootchest.loots.LootItem; +import lombok.Getter; + +import java.util.List; + +public class LootManager { + + private Raxen main; + @Getter + private List lootTable; + + + public LootManager(Raxen main) { + this.main = main; + } + } diff --git a/src/main/java/gq/unurled/raxen/manager/PlayerManager.java b/src/main/java/gq/unurled/raxen/manager/PlayerManager.java index 704e71f..f17ee8d 100644 --- a/src/main/java/gq/unurled/raxen/manager/PlayerManager.java +++ b/src/main/java/gq/unurled/raxen/manager/PlayerManager.java @@ -40,11 +40,14 @@ public class PlayerManager { } } - public void unregisterActionBar(Player player) { + public void unRegisterActionBar(Player player) { if(actionBar.containsKey(player.getUniqueId())) { BukkitTask task = actionBar.get(player.getUniqueId()); task.cancel(); actionBar.remove(player.getUniqueId()); } } + + public void unEegisterRaxenPlayer(Player player) { + } } diff --git a/src/main/java/gq/unurled/raxen/utils/Items.java b/src/main/java/gq/unurled/raxen/utils/Items.java index 11936bc..74737b6 100644 --- a/src/main/java/gq/unurled/raxen/utils/Items.java +++ b/src/main/java/gq/unurled/raxen/utils/Items.java @@ -2,11 +2,12 @@ package gq.unurled.raxen.utils; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; -import de.tr7zw.changeme.nbtapi.NBTItem; +import de.tr7zw.nbtapi.NBTItem; import gq.unurled.raxen.components.items.Attributes; import gq.unurled.raxen.components.items.NBT; import net.kyori.adventure.text.Component; import org.bukkit.Material; +import org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.LivingEntity; import org.bukkit.inventory.*; @@ -67,8 +68,9 @@ public class Items { public static String itemStackSerilize(ItemStack it, Integer slot) { Gson gson = new Gson(); - //String str = gson.toJson(it.serialize()); - String str = gson.toJson(it.serialize(), new TypeToken(){}.getType()); + String str = gson.toJson(it.serialize()); + net.minecraft.world.item.ItemStack itm = CraftItemStack.asNMSCopy(it); + //String str = gson.toJson(it.serialize(), new TypeToken(){}.getType()); NBTItem nbti = new NBTItem(it); str = str + "@#NBT#" + nbti.toString(); str = str + "@#SLOT#" + slot.toString(); @@ -216,6 +218,10 @@ public class Items { nbti.setInteger(NBT.HEALTH, nb); case "DEFENSE": nbti.setInteger(NBT.DEFENSE, nb); + case "LUCK": + nbti.setInteger(NBT.LUCK, nb); + case "MANA": + nbti.setInteger(NBT.MANA, nb); default: error("Cant set Attributes with an unknown attribute."); } @@ -250,6 +256,20 @@ public class Items { } return 0; } + public static Integer getLuck(ItemStack it) { + NBTItem nbti = new NBTItem(it); + if (nbti.hasKey(NBT.LUCK)){ + return nbti.getInteger(NBT.LUCK); + } + return 0; + } + public static Integer getMana(ItemStack it) { + NBTItem nbti = new NBTItem(it); + if (nbti.hasKey(NBT.MANA)){ + return nbti.getInteger(NBT.MANA); + } + return 0; + } public static ItemStack setLoreFromNBT(ItemStack it) { ItemMeta itm = it.getItemMeta(); @@ -286,6 +306,20 @@ public class Items { lore.add(Component.text(color(attributes("STRENGTH")) + nbti.getInteger(NBT.STRENGTH))); } } + if(nbti.hasKey(NBT.MANA)) { + if(lore.size() > 3) { + lore.add(3, Component.text(color(attributes("MANA")) + nbti.getInteger(NBT.MANA))); + } else { + lore.add(Component.text(color(attributes("MANA")) + nbti.getInteger(NBT.MANA))); + } + } + if(nbti.hasKey(NBT.LUCK)) { + if(lore.size() > 3) { + lore.add(3, Component.text(color(attributes("LUCK")) + nbti.getInteger(NBT.LUCK))); + } else { + lore.add(Component.text(color(attributes("LUCK")) + nbti.getInteger(NBT.LUCK))); + } + } itm.lore(lore); it.setItemMeta(itm); return it; @@ -297,6 +331,8 @@ public class Items { Integer defense = 0; Integer speed = 0; Integer strength = 0; + Integer mana = 0; + Integer luck = 0; if (equi != null) { if (equi.getItemInMainHand().getType() != Material.AIR && equi.getHelmet() != null) { ItemStack item = equi.getItemInMainHand(); @@ -304,6 +340,8 @@ public class Items { defense = defense + getDefense(item); speed = speed + getSpeed(item); strength = strength + getStrength(item); + mana = mana + getMana(item); + luck = luck + getLuck(item); } if (equi.getHelmet().getType() != Material.AIR && equi.getHelmet() != null) { ItemStack item = equi.getHelmet(); @@ -311,6 +349,8 @@ public class Items { defense = defense + getDefense(item); speed = speed + getSpeed(item); strength = strength + getStrength(item); + mana = mana + getMana(item); + luck = luck + getLuck(item); } if (equi.getChestplate().getType() != Material.AIR && equi.getChestplate() != null) { ItemStack item = equi.getChestplate(); @@ -318,6 +358,8 @@ public class Items { defense = defense + getDefense(item); speed = speed + getSpeed(item); strength = strength + getStrength(item); + mana = mana + getMana(item); + luck = luck + getLuck(item); } if (equi.getChestplate().getType() != Material.AIR && equi.getChestplate() != null) { ItemStack item = equi.getChestplate(); @@ -325,6 +367,8 @@ public class Items { defense = defense + getDefense(item); speed = speed + getSpeed(item); strength = strength + getStrength(item); + mana = mana + getMana(item); + luck = luck + getLuck(item); } if (equi.getLeggings().getType() != Material.AIR && equi.getLeggings() != null) { ItemStack item = equi.getLeggings(); @@ -332,6 +376,8 @@ public class Items { defense = defense + getDefense(item); speed = speed + getSpeed(item); strength = strength + getStrength(item); + mana = mana + getMana(item); + luck = luck + getLuck(item); } if (equi.getBoots().getType() != Material.AIR && equi.getBoots() != null) { ItemStack item = equi.getBoots(); @@ -339,9 +385,11 @@ public class Items { defense = defense + getDefense(item); speed = speed + getSpeed(item); strength = strength + getStrength(item); + mana = mana + getMana(item); + luck = luck + getLuck(item); } } - Attributes attributes = new Attributes(health, defense, speed, strength); + Attributes attributes = new Attributes(health, defense, speed, strength, mana, luck); return attributes; } diff --git a/src/main/java/gq/unurled/raxen/utils/MongoDB.java b/src/main/java/gq/unurled/raxen/utils/MongoDB.java index 3bcc097..c7e2d98 100644 --- a/src/main/java/gq/unurled/raxen/utils/MongoDB.java +++ b/src/main/java/gq/unurled/raxen/utils/MongoDB.java @@ -17,12 +17,15 @@ public class MongoDB { private MongoDatabase mongoDatabase; @Getter private MongoCollection mongoCollection; + @Getter + private MongoCollection mongoConfigs; public void connect() { ConnectionString connectionString = new ConnectionString("mongodb://localhost:27017"); mongoClient = MongoClients.create(connectionString); mongoDatabase = mongoClient.getDatabase("Raxen"); mongoCollection = mongoDatabase.getCollection("player"); + mongoConfigs = mongoDatabase.getCollection("config"); Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "MongoDB connected!"); } diff --git a/src/main/java/gq/unurled/raxen/utils/WorldEdit.java b/src/main/java/gq/unurled/raxen/utils/WorldEdit.java index e811f54..3cbaef8 100644 --- a/src/main/java/gq/unurled/raxen/utils/WorldEdit.java +++ b/src/main/java/gq/unurled/raxen/utils/WorldEdit.java @@ -1,4 +1,7 @@ package gq.unurled.raxen.utils; +import com.fastasyncworldedit.core.FaweAPI; + public class WorldEdit { + } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 099a27d..0cd46d8 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,4 +1,4 @@ -version: "${project.version}" +version: "${version}" motd: "YAY, Super server!" motd-reload: "Server reloading!" diff --git a/src/main/resources/example_item.yml b/src/main/resources/example_item.yml index 2a9e9ee..3b1a084 100644 --- a/src/main/resources/example_item.yml +++ b/src/main/resources/example_item.yml @@ -12,5 +12,6 @@ Pack: parent: "item/generated" custom_model_data: 123 model: "red_wool" +drop_rate: 100.0 lore: - '&cSuper lore' \ No newline at end of file diff --git a/src/main/resources/gate.yml b/src/main/resources/gate.yml index e69de29..859ac68 100644 --- a/src/main/resources/gate.yml +++ b/src/main/resources/gate.yml @@ -0,0 +1,15 @@ +gates: + 1: + id: 1 + world_source: "world" + x1: 100 + y1: 100 + z1: 100 + x2: 103 + y2: 103 + z2: 103 + name: "hallo" + world_dest: "world" + dest_x: 110 + dest_y: 110 + dest_z: 110 diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 0525203..675f5ed 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,7 @@ name: Raxen -version: '${project.version}' +version: '${version}' main: gq.unurled.raxen.Raxen +author: unurled api-version: 1.18 depend: [ProtocolLib] softdepend: [AureliumSkills, LuckPerms]