mirror of
https://github.com/songoda/EpicEnchants.git
synced 2024-11-15 23:26:01 +01:00
Merge branch 'development'
This commit is contained in:
commit
d41f093a88
4
pom.xml
4
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>com.songoda</groupId>
|
<groupId>com.songoda</groupId>
|
||||||
<artifactId>EpicEnchants</artifactId>
|
<artifactId>EpicEnchants</artifactId>
|
||||||
<version>1.2.2</version>
|
<version>1.2.3</version>
|
||||||
|
|
||||||
<name>EpicEnchants</name>
|
<name>EpicEnchants</name>
|
||||||
<description>Unlock the potential of your weapons, tools and armor by making your own custom enchants.</description>
|
<description>Unlock the potential of your weapons, tools and armor by making your own custom enchants.</description>
|
||||||
@ -116,7 +116,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.songoda</groupId>
|
<groupId>com.songoda</groupId>
|
||||||
<artifactId>SongodaCore</artifactId>
|
<artifactId>SongodaCore</artifactId>
|
||||||
<version>2.6.11</version>
|
<version>2.6.12</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
@ -17,7 +17,20 @@ import org.bukkit.event.entity.EntityExplodeEvent;
|
|||||||
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
|
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
|
||||||
import org.bukkit.projectiles.ProjectileSource;
|
import org.bukkit.projectiles.ProjectileSource;
|
||||||
|
|
||||||
import static com.songoda.epicenchants.enums.TriggerType.*;
|
import static com.songoda.epicenchants.enums.TriggerType.ATTACK_MOB_MELEE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.ATTACK_MOB_RANGE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.ATTACK_PLAYER_MELEE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.ATTACK_PLAYER_RANGE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.DEFENSE_MOB_MELEE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.DEFENSE_MOB_RANGE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.DEFENSE_PLAYER_MELEE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.DEFENSE_PLAYER_RANGE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.EXPLOSION_DAMAGE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.FALL_DAMAGE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.FIRE_DAMAGE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.KILLED_MOB;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.LAVA_DAMAGE;
|
||||||
|
import static com.songoda.epicenchants.enums.TriggerType.POISON_DAMAGE;
|
||||||
|
|
||||||
public class EntityListener implements Listener {
|
public class EntityListener implements Listener {
|
||||||
private final EpicEnchants instance;
|
private final EpicEnchants instance;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.songoda.epicenchants.listeners.item;
|
package com.songoda.epicenchants.listeners.item;
|
||||||
|
|
||||||
import com.songoda.core.nms.nbt.NBTCompound;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTCompound;
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.objects.Enchant;
|
import com.songoda.epicenchants.objects.Enchant;
|
||||||
import com.songoda.epicenchants.utils.single.RomanNumber;
|
import com.songoda.epicenchants.utils.single.RomanNumber;
|
||||||
@ -17,7 +17,7 @@ public class BlackScrollListener extends ItemListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
void onApply(InventoryClickEvent event, NBTItem cursor, NBTItem current) {
|
void onApply(InventoryClickEvent event, NBTItem cursor, NBTItem current) {
|
||||||
if (!cursor.has("black-scroll") || !cursor.getNBTObject("black-scroll").asBoolean()) {
|
if (!cursor.hasKey("black-scroll") || !cursor.getBoolean("black-scroll")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,11 +31,11 @@ public class BlackScrollListener extends ItemListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String id = getRandomElement(compound.getKeys());
|
String id = getRandomElement(compound.getKeys());
|
||||||
int level = compound.getInt(id);
|
int level = compound.getInteger(id);
|
||||||
Enchant enchant = instance.getEnchantManager().getValueUnsafe(id);
|
Enchant enchant = instance.getEnchantManager().getValueUnsafe(id);
|
||||||
ItemStack toSet = instance.getEnchantUtils().removeEnchant(event.getCurrentItem(), enchant);
|
ItemStack toSet = instance.getEnchantUtils().removeEnchant(event.getCurrentItem(), enchant);
|
||||||
|
|
||||||
event.getWhoClicked().getInventory().addItem(enchant.getBook().get(enchant, level, cursor.getInt("success-rate"), 100));
|
event.getWhoClicked().getInventory().addItem(enchant.getBook().get(enchant, level, cursor.getInteger("success-rate"), 100));
|
||||||
event.setCurrentItem(toSet);
|
event.setCurrentItem(toSet);
|
||||||
|
|
||||||
instance.getLocale().getMessage("blackscroll.success")
|
instance.getLocale().getMessage("blackscroll.success")
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.songoda.epicenchants.listeners.item;
|
package com.songoda.epicenchants.listeners.item;
|
||||||
|
|
||||||
import com.songoda.core.compatibility.CompatibleMaterial;
|
import com.songoda.core.compatibility.CompatibleMaterial;
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.enums.EnchantResult;
|
import com.songoda.epicenchants.enums.EnchantResult;
|
||||||
import com.songoda.epicenchants.events.EnchantApplyEvent;
|
import com.songoda.epicenchants.events.EnchantApplyEvent;
|
||||||
@ -30,16 +30,16 @@ public class BookListener extends ItemListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
void onApply(InventoryClickEvent event, NBTItem cursor, NBTItem current) {
|
void onApply(InventoryClickEvent event, NBTItem cursor, NBTItem current) {
|
||||||
if (!cursor.has("book-item") || !cursor.getNBTObject("book-item").asBoolean()) {
|
if (!cursor.hasKey("book-item") || !cursor.getBoolean("book-item")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
||||||
ItemStack toApply = event.getCurrentItem();
|
ItemStack toApply = event.getCurrentItem();
|
||||||
Enchant enchant = instance.getEnchantManager().getValue(cursor.getNBTObject("enchant").asString()).orElseThrow(() -> new IllegalStateException("Book without enchant!"));
|
Enchant enchant = instance.getEnchantManager().getValue(cursor.getString("enchant")).orElseThrow(() -> new IllegalStateException("Book without enchant!"));
|
||||||
|
|
||||||
if (!enchant.getItemWhitelist().contains(CompatibleMaterial.getMaterial(current.finish()))) {
|
if (!enchant.getItemWhitelist().contains(CompatibleMaterial.getMaterial(current.getItem()))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// get total amount of enchantments on item
|
// get total amount of enchantments on item
|
||||||
@ -53,9 +53,9 @@ public class BookListener extends ItemListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int level = cursor.getNBTObject("level").asInt();
|
int level = cursor.getInteger("level");
|
||||||
int successRate = cursor.getNBTObject("success-rate").asInt();
|
int successRate = cursor.getInteger("success-rate");
|
||||||
int destroyRate = cursor.getNBTObject("destroy-rate").asInt();
|
int destroyRate = cursor.getInteger("destroy-rate");
|
||||||
|
|
||||||
EnchantApplyEvent enchantEvent = new EnchantApplyEvent(toApply, enchant, level, successRate, destroyRate);
|
EnchantApplyEvent enchantEvent = new EnchantApplyEvent(toApply, enchant, level, successRate, destroyRate);
|
||||||
Bukkit.getPluginManager().callEvent(enchantEvent);
|
Bukkit.getPluginManager().callEvent(enchantEvent);
|
||||||
@ -83,7 +83,7 @@ public class BookListener extends ItemListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
void onClick(PlayerInteractEvent event, NBTItem clicked) {
|
void onClick(PlayerInteractEvent event, NBTItem clicked) {
|
||||||
if (!clicked.has("mystery-book") || !clicked.getNBTObject("mystery-book").asBoolean()) {
|
if (!clicked.hasKey("mystery-book") || !clicked.getBoolean("mystery-book")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ public class BookListener extends ItemListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Group group = instance.getGroupManager().getValue(clicked.getNBTObject("group").asString()).orElseThrow(() -> new IllegalStateException("Book without group!"));
|
Group group = instance.getGroupManager().getValue(clicked.getString("group")).orElseThrow(() -> new IllegalStateException("Book without group!"));
|
||||||
|
|
||||||
Optional<Enchant> enchant = instance.getEnchantManager().getRandomEnchant(group);
|
Optional<Enchant> enchant = instance.getEnchantManager().getRandomEnchant(group);
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package com.songoda.epicenchants.listeners.item;
|
package com.songoda.epicenchants.listeners.item;
|
||||||
|
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.objects.Enchant;
|
import com.songoda.epicenchants.objects.Enchant;
|
||||||
import com.songoda.epicenchants.objects.Group;
|
import com.songoda.epicenchants.objects.Group;
|
||||||
@ -16,28 +16,28 @@ public class DustListener extends ItemListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
void onApply(InventoryClickEvent event, NBTItem cursor, NBTItem current) {
|
void onApply(InventoryClickEvent event, NBTItem cursor, NBTItem current) {
|
||||||
if (!cursor.has("dust") || !cursor.getNBTObject("dust").asBoolean()) {
|
if (!cursor.hasKey("dust") || !cursor.getBoolean("dust")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!current.has("book-item") || !current.getNBTObject("book-item").asBoolean()) {
|
if (!current.hasKey("book-item") || !current.getBoolean("book-item")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Enchant enchant = instance.getEnchantManager().getValue(current.getNBTObject("enchant").asString()).orElseThrow(() -> new IllegalStateException("Book without enchant!"));
|
Enchant enchant = instance.getEnchantManager().getValue(current.getString("enchant")).orElseThrow(() -> new IllegalStateException("Book without enchant!"));
|
||||||
|
|
||||||
if (!enchant.getGroup().equals(instance.getGroupManager().getValue(cursor.getNBTObject("group").asString()).orElseThrow(() -> new IllegalStateException("Dust without group!")))) {
|
if (!enchant.getGroup().equals(instance.getGroupManager().getValue(cursor.getString("group")).orElseThrow(() -> new IllegalStateException("Dust without group!")))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int successRate = current.getNBTObject("success-rate").asInt();
|
int successRate = current.getInteger("success-rate");
|
||||||
|
|
||||||
if (successRate == 100) {
|
if (successRate == 100) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
successRate = Math.min(successRate + cursor.getNBTObject("percentage").asInt(), 100);
|
successRate = Math.min(successRate + cursor.getInteger("percentage"), 100);
|
||||||
event.setCurrentItem(enchant.getBook().get(enchant, current.getNBTObject("level").asInt(), successRate, current.getNBTObject("destroy-rate").asInt()));
|
event.setCurrentItem(enchant.getBook().get(enchant, current.getInteger("level"), successRate, current.getInteger("destroy-rate")));
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
useItem(event);
|
useItem(event);
|
||||||
@ -45,7 +45,7 @@ public class DustListener extends ItemListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
void onClick(PlayerInteractEvent event, NBTItem clicked) {
|
void onClick(PlayerInteractEvent event, NBTItem clicked) {
|
||||||
if (!clicked.has("secret-dust") || !clicked.getNBTObject("secret-dust").asBoolean()) {
|
if (!clicked.hasKey("secret-dust") || !clicked.getBoolean("secret-dust")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,8 +55,8 @@ public class DustListener extends ItemListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Group group = instance.getGroupManager().getValueUnsafe(clicked.getNBTObject("group").asString());
|
Group group = instance.getGroupManager().getValueUnsafe(clicked.getString("group"));
|
||||||
int rate = ThreadLocalRandom.current().nextInt(clicked.getNBTObject("min-rate").asInt(), clicked.getNBTObject("max-rate").asInt());
|
int rate = ThreadLocalRandom.current().nextInt(clicked.getInteger("min-rate"), clicked.getInteger("max-rate"));
|
||||||
|
|
||||||
useItem(event);
|
useItem(event);
|
||||||
event.getPlayer().getInventory().addItem(instance.getSpecialItems().getDust(group, null, rate, false));
|
event.getPlayer().getInventory().addItem(instance.getSpecialItems().getDust(group, null, rate, false));
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.songoda.epicenchants.listeners.item;
|
package com.songoda.epicenchants.listeners.item;
|
||||||
|
|
||||||
import com.songoda.core.nms.NmsManager;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@ -32,7 +31,7 @@ public abstract class ItemListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
onApply(event, NmsManager.getNbt().of(event.getCursor()), NmsManager.getNbt().of(event.getCurrentItem()));
|
onApply(event, new NBTItem(event.getCursor()), new NBTItem(event.getCurrentItem()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
@ -45,7 +44,7 @@ public abstract class ItemListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
onClick(event, NmsManager.getNbt().of(event.getItem()));
|
onClick(event, new NBTItem(event.getItem()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void useItem(InventoryClickEvent event) {
|
void useItem(InventoryClickEvent event) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.songoda.epicenchants.listeners.item;
|
package com.songoda.epicenchants.listeners.item;
|
||||||
|
|
||||||
import com.songoda.core.compatibility.CompatibleMaterial;
|
import com.songoda.core.compatibility.CompatibleMaterial;
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.utils.objects.ItemBuilder;
|
import com.songoda.epicenchants.utils.objects.ItemBuilder;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
@ -15,13 +15,13 @@ public class WhiteScrollListener extends ItemListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
void onApply(InventoryClickEvent event, NBTItem cursor, NBTItem current) {
|
void onApply(InventoryClickEvent event, NBTItem cursor, NBTItem current) {
|
||||||
if (!cursor.has("white-scroll") || !cursor.getNBTObject("white-scroll").asBoolean()) {
|
if (!cursor.hasKey("white-scroll") || !cursor.getBoolean("white-scroll")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
||||||
if (current.has("protected")) {
|
if (current.hasKey("protected")) {
|
||||||
instance.getLocale().getMessage("whitescroll.alreadyapplied")
|
instance.getLocale().getMessage("whitescroll.alreadyapplied")
|
||||||
.sendPrefixedMessage(event.getWhoClicked());
|
.sendPrefixedMessage(event.getWhoClicked());
|
||||||
return;
|
return;
|
||||||
@ -30,10 +30,10 @@ public class WhiteScrollListener extends ItemListener {
|
|||||||
if (!instance.getItemGroup().isValid(CompatibleMaterial.getMaterial(event.getCurrentItem())))
|
if (!instance.getItemGroup().isValid(CompatibleMaterial.getMaterial(event.getCurrentItem())))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
current.set("protected", true);
|
current.setBoolean("protected", true);
|
||||||
instance.getLocale().getMessage("whitescrollapplied").sendPrefixedMessage(event.getWhoClicked());
|
instance.getLocale().getMessage("whitescrollapplied").sendPrefixedMessage(event.getWhoClicked());
|
||||||
|
|
||||||
ItemStack toSet = new ItemBuilder(current.finish()).addLore(instance.getSpecialItems().getWhiteScrollLore()).build();
|
ItemStack toSet = new ItemBuilder(current.getItem()).addLore(instance.getSpecialItems().getWhiteScrollLore()).build();
|
||||||
|
|
||||||
event.getClickedInventory().setItem(event.getSlot(), toSet);
|
event.getClickedInventory().setItem(event.getSlot(), toSet);
|
||||||
useItem(event);
|
useItem(event);
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package com.songoda.epicenchants.menus;
|
package com.songoda.epicenchants.menus;
|
||||||
|
|
||||||
import com.songoda.core.hooks.EconomyManager;
|
import com.songoda.core.hooks.EconomyManager;
|
||||||
import com.songoda.core.nms.NmsManager;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.objects.Enchant;
|
import com.songoda.epicenchants.objects.Enchant;
|
||||||
import com.songoda.epicenchants.objects.Group;
|
import com.songoda.epicenchants.objects.Group;
|
||||||
@ -123,9 +122,9 @@ public class AlchemistMenu extends FastInv {
|
|||||||
ItemStack toHandle = itemStack.clone();
|
ItemStack toHandle = itemStack.clone();
|
||||||
toHandle.setAmount(1);
|
toHandle.setAmount(1);
|
||||||
|
|
||||||
NBTItem nbtItem = NmsManager.getNbt().of(toHandle);
|
NBTItem nbtItem = new NBTItem(toHandle);
|
||||||
|
|
||||||
if (!nbtItem.has("book-item") && !nbtItem.has("dust")) {
|
if (!nbtItem.hasKey("book-item") && !nbtItem.hasKey("dust")) {
|
||||||
instance.getLocale().getMessage("alchemist.notinterested").sendPrefixedMessage(player);
|
instance.getLocale().getMessage("alchemist.notinterested").sendPrefixedMessage(player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -136,13 +135,13 @@ public class AlchemistMenu extends FastInv {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int successRate = nbtItem.getNBTObject("success-rate").asInt();
|
int successRate = nbtItem.getInteger("success-rate");
|
||||||
|
|
||||||
// Both slots empty
|
// Both slots empty
|
||||||
if (getInventory().getItem(LEFT_SLOT) == null && getInventory().getItem(RIGHT_SLOT) == null) {
|
if (getInventory().getItem(LEFT_SLOT) == null && getInventory().getItem(RIGHT_SLOT) == null) {
|
||||||
if (nbtItem.has("book-item")) {
|
if (nbtItem.hasKey("book-item")) {
|
||||||
Enchant enchant = instance.getEnchantManager().getValue(nbtItem.getNBTObject("enchant").asString()).orElseThrow(() -> new IllegalStateException("Book without enchant!"));
|
Enchant enchant = instance.getEnchantManager().getValue(nbtItem.getString("enchant")).orElseThrow(() -> new IllegalStateException("Book without enchant!"));
|
||||||
int level = nbtItem.getNBTObject("level").asInt();
|
int level = nbtItem.getInteger("level");
|
||||||
|
|
||||||
if (enchant.getMaxLevel() == level) {
|
if (enchant.getMaxLevel() == level) {
|
||||||
instance.getLocale().getMessage("alchemist.maxlevelbook")
|
instance.getLocale().getMessage("alchemist.maxlevelbook")
|
||||||
@ -150,7 +149,7 @@ public class AlchemistMenu extends FastInv {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Group group = instance.getGroupManager().getValue(nbtItem.getNBTObject("group").asString()).orElseThrow(() -> new IllegalStateException("Dust without group!"));
|
Group group = instance.getGroupManager().getValue(nbtItem.getString("group")).orElseThrow(() -> new IllegalStateException("Dust without group!"));
|
||||||
|
|
||||||
if (group.getOrder() == instance.getGroupManager().getValues().stream().mapToInt(Group::getOrder).max().orElse(0) || successRate == 100) {
|
if (group.getOrder() == instance.getGroupManager().getValues().stream().mapToInt(Group::getOrder).max().orElse(0) || successRate == 100) {
|
||||||
instance.getLocale().getMessage("alchemist." + (successRate == 100 ? "maxpercentagedust" : "highestgroupdust"))
|
instance.getLocale().getMessage("alchemist." + (successRate == 100 ? "maxpercentagedust" : "highestgroupdust"))
|
||||||
@ -163,21 +162,21 @@ public class AlchemistMenu extends FastInv {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
NBTItem other = NmsManager.getNbt().of(getInventory().getItem(getInventory().getItem(LEFT_SLOT) == null ? RIGHT_SLOT : LEFT_SLOT));
|
NBTItem other = new NBTItem(getInventory().getItem(getInventory().getItem(LEFT_SLOT) == null ? RIGHT_SLOT : LEFT_SLOT));
|
||||||
int emptySlot = getInventory().getItem(LEFT_SLOT) == null ? LEFT_SLOT : RIGHT_SLOT;
|
int emptySlot = getInventory().getItem(LEFT_SLOT) == null ? LEFT_SLOT : RIGHT_SLOT;
|
||||||
|
|
||||||
if (other.has("book-item")) {
|
if (other.hasKey("book-item")) {
|
||||||
if (!nbtItem.getNBTObject("enchant").asString().equals(other.getNBTObject("enchant").asString())) {
|
if (!nbtItem.getString("enchant").equals(other.getString("enchant"))) {
|
||||||
instance.getLocale().getMessage("alchemist.differentenchantment").sendPrefixedMessage(player);
|
instance.getLocale().getMessage("alchemist.differentenchantment").sendPrefixedMessage(player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nbtItem.getNBTObject("level").asInt() != other.getNBTObject("level").asInt()) {
|
if (nbtItem.getInteger("level") != other.getInteger("level")) {
|
||||||
instance.getLocale().getMessage("alchemist.differentlevels").sendPrefixedMessage(player);
|
instance.getLocale().getMessage("alchemist.differentlevels").sendPrefixedMessage(player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!nbtItem.getNBTObject("group").asString().equals(other.getNBTObject("group").asString())) {
|
if (!nbtItem.getString("group").equals(other.getString("group"))) {
|
||||||
instance.getLocale().getMessage("alchemist.differentgroups").sendPrefixedMessage(player);
|
instance.getLocale().getMessage("alchemist.differentgroups").sendPrefixedMessage(player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -200,18 +199,18 @@ public class AlchemistMenu extends FastInv {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NBTItem leftItem = NmsManager.getNbt().of(getInventory().getItem(LEFT_SLOT));
|
NBTItem leftItem = new NBTItem(getInventory().getItem(LEFT_SLOT));
|
||||||
NBTItem rightItem = NmsManager.getNbt().of(getInventory().getItem(RIGHT_SLOT));
|
NBTItem rightItem = new NBTItem(getInventory().getItem(RIGHT_SLOT));
|
||||||
int ecoCost;
|
int ecoCost;
|
||||||
int expCost;
|
int expCost;
|
||||||
|
|
||||||
if (leftItem.has("book-item")) {
|
if (leftItem.hasKey("book-item")) {
|
||||||
int level = leftItem.getNBTObject("level").asInt();
|
int level = leftItem.getInteger("level");
|
||||||
Enchant enchant = instance.getEnchantManager().getValue(leftItem.getNBTObject("enchant").asString()).orElseThrow(() -> new IllegalStateException("Book without enchant!"));
|
Enchant enchant = instance.getEnchantManager().getValue(leftItem.getString("enchant")).orElseThrow(() -> new IllegalStateException("Book without enchant!"));
|
||||||
int leftSuccess = leftItem.getNBTObject("success-rate").asInt();
|
int leftSuccess = leftItem.getInteger("success-rate");
|
||||||
int rightSuccess = rightItem.getNBTObject("success-rate").asInt();
|
int rightSuccess = rightItem.getInteger("success-rate");
|
||||||
int leftDestroy = leftItem.getNBTObject("destroy-rate").asInt();
|
int leftDestroy = leftItem.getInteger("destroy-rate");
|
||||||
int rightDestroy = rightItem.getNBTObject("destroy-rate").asInt();
|
int rightDestroy = rightItem.getInteger("destroy-rate");
|
||||||
|
|
||||||
Placeholder[] placeholders = new Placeholder[] {
|
Placeholder[] placeholders = new Placeholder[] {
|
||||||
of("left_success_rate", leftSuccess),
|
of("left_success_rate", leftSuccess),
|
||||||
@ -238,11 +237,11 @@ public class AlchemistMenu extends FastInv {
|
|||||||
|
|
||||||
getInventory().setItem(PREVIEW_SLOT, enchant.getBook().get(enchant, level + 1, successRate, destroyRate));
|
getInventory().setItem(PREVIEW_SLOT, enchant.getBook().get(enchant, level + 1, successRate, destroyRate));
|
||||||
} else {
|
} else {
|
||||||
Group group = instance.getGroupManager().getValue(leftItem.getNBTObject("group").asString()).orElseThrow(() -> new IllegalStateException("Dust without group!"));
|
Group group = instance.getGroupManager().getValue(leftItem.getString("group")).orElseThrow(() -> new IllegalStateException("Dust without group!"));
|
||||||
|
|
||||||
Placeholder[] placeholders = new Placeholder[] {
|
Placeholder[] placeholders = new Placeholder[] {
|
||||||
of("left_percentage", leftItem.getNBTObject("percentage").asInt()),
|
of("left_percentage", leftItem.getInteger("percentage")),
|
||||||
of("right_percentage", rightItem.getNBTObject("percentage").asInt())
|
of("right_percentage", rightItem.getInteger("percentage"))
|
||||||
};
|
};
|
||||||
|
|
||||||
int successRate = getFromFormula("dust.percentage-formula", placeholders);
|
int successRate = getFromFormula("dust.percentage-formula", placeholders);
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package com.songoda.epicenchants.menus;
|
package com.songoda.epicenchants.menus;
|
||||||
|
|
||||||
import com.songoda.core.nms.NmsManager;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTCompound;
|
||||||
import com.songoda.core.nms.nbt.NBTCompound;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.enums.ItemType;
|
import com.songoda.epicenchants.enums.ItemType;
|
||||||
import com.songoda.epicenchants.objects.Enchant;
|
import com.songoda.epicenchants.objects.Enchant;
|
||||||
@ -169,9 +168,9 @@ public class TinkererMenu extends FastInv {
|
|||||||
return NONE;
|
return NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
NBTItem nbtItem = NmsManager.getNbt().of(itemStack);
|
NBTItem nbtItem = new NBTItem(itemStack);
|
||||||
|
|
||||||
if (nbtItem.has("book-item")) {
|
if (nbtItem.hasKey("book-item")) {
|
||||||
return BOOK;
|
return BOOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,7 +205,7 @@ public class TinkererMenu extends FastInv {
|
|||||||
|
|
||||||
switch (itemType) {
|
switch (itemType) {
|
||||||
case BOOK:
|
case BOOK:
|
||||||
getInventory().setItem(emptySlot.get().getValue(), instance.getSpecialItems().getSecretDust(NmsManager.getNbt().of(finalItemStack)));
|
getInventory().setItem(emptySlot.get().getValue(), instance.getSpecialItems().getSecretDust(new NBTItem(finalItemStack)));
|
||||||
break;
|
break;
|
||||||
case ENCHANTED:
|
case ENCHANTED:
|
||||||
getInventory().setItem(emptySlot.get().getValue(), instance.getHookManager().getUltimateBottles().get().createBottle("Tinkerer", getExpAmount(finalItemStack)));
|
getInventory().setItem(emptySlot.get().getValue(), instance.getHookManager().getUltimateBottles().get().createBottle("Tinkerer", getExpAmount(finalItemStack)));
|
||||||
@ -236,9 +235,9 @@ public class TinkererMenu extends FastInv {
|
|||||||
total.addAndGet(section.getInt(enchantment.getName(), section.getInt("DEFAULT")) * level);
|
total.addAndGet(section.getInt(enchantment.getName(), section.getInt("DEFAULT")) * level);
|
||||||
});
|
});
|
||||||
|
|
||||||
NBTItem nbtItem = NmsManager.getNbt().of(itemStack);
|
NBTItem nbtItem = new NBTItem(itemStack);
|
||||||
|
|
||||||
if (!nbtItem.has("enchants")) {
|
if (!nbtItem.hasKey("enchants")) {
|
||||||
return total.get();
|
return total.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,7 +249,7 @@ public class TinkererMenu extends FastInv {
|
|||||||
|
|
||||||
enchantments.getKeys().forEach(key -> {
|
enchantments.getKeys().forEach(key -> {
|
||||||
Enchant enchant = instance.getEnchantManager().getValueUnsafe(key);
|
Enchant enchant = instance.getEnchantManager().getValueUnsafe(key);
|
||||||
total.addAndGet(section.getInt(enchant.getIdentifier(), enchant.getGroup().getTinkererExp()) * enchantments.getInt(key));
|
total.addAndGet(section.getInt(enchant.getIdentifier(), enchant.getGroup().getTinkererExp()) * enchantments.getInteger(key));
|
||||||
});
|
});
|
||||||
|
|
||||||
return total.get();
|
return total.get();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package com.songoda.epicenchants.objects;
|
package com.songoda.epicenchants.objects;
|
||||||
|
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.utils.objects.ItemBuilder;
|
import com.songoda.epicenchants.utils.objects.ItemBuilder;
|
||||||
import com.songoda.epicenchants.utils.settings.Settings;
|
import com.songoda.epicenchants.utils.settings.Settings;
|
||||||
@ -81,13 +81,13 @@ public class BookItem {
|
|||||||
.lore(toSet);
|
.lore(toSet);
|
||||||
|
|
||||||
NBTItem nbtItem = itemBuilder.nbt();
|
NBTItem nbtItem = itemBuilder.nbt();
|
||||||
nbtItem.set("book-item", true);
|
nbtItem.setBoolean("book-item", true);
|
||||||
nbtItem.set("success-rate", successRate);
|
nbtItem.setInteger("success-rate", successRate);
|
||||||
nbtItem.set("destroy-rate", destroyRate);
|
nbtItem.setInteger("destroy-rate", destroyRate);
|
||||||
nbtItem.set("level", level);
|
nbtItem.setInteger("level", level);
|
||||||
nbtItem.set("enchant", enchant.getIdentifier());
|
nbtItem.setString("enchant", enchant.getIdentifier());
|
||||||
|
|
||||||
return nbtItem.finish();
|
return nbtItem.getItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class BookItemBuilder {
|
public static class BookItemBuilder {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package com.songoda.epicenchants.utils;
|
package com.songoda.epicenchants.utils;
|
||||||
|
|
||||||
import com.songoda.core.nms.NmsManager;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTCompound;
|
||||||
import com.songoda.core.nms.nbt.NBTCompound;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
|
||||||
import com.songoda.core.utils.TextUtils;
|
import com.songoda.core.utils.TextUtils;
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.enums.EnchantResult;
|
import com.songoda.epicenchants.enums.EnchantResult;
|
||||||
@ -49,7 +48,7 @@ public class EnchantUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Tuple<ItemStack, EnchantResult> apply(ItemStack itemStack, Enchant enchant, int level, int successRate, int destroyRate) {
|
public Tuple<ItemStack, EnchantResult> apply(ItemStack itemStack, Enchant enchant, int level, int successRate, int destroyRate) {
|
||||||
boolean hasProtection = NmsManager.getNbt().of(itemStack).has("protected");
|
boolean hasProtection = new NBTItem(itemStack).hasKey("protected");
|
||||||
|
|
||||||
Map<Enchant, Integer> currentEnchantMap = getEnchants(itemStack);
|
Map<Enchant, Integer> currentEnchantMap = getEnchants(itemStack);
|
||||||
Set<String> currentIds = currentEnchantMap.keySet().stream().map(Enchant::getIdentifier).collect(Collectors.toSet());
|
Set<String> currentIds = currentEnchantMap.keySet().stream().map(Enchant::getIdentifier).collect(Collectors.toSet());
|
||||||
@ -71,8 +70,8 @@ public class EnchantUtils {
|
|||||||
if (GeneralUtils.chance(destroyRate)) {
|
if (GeneralUtils.chance(destroyRate)) {
|
||||||
if (hasProtection) {
|
if (hasProtection) {
|
||||||
NBTItem nbtItem = new ItemBuilder(itemStack).removeLore(instance.getSpecialItems().getWhiteScrollLore()).nbt();
|
NBTItem nbtItem = new ItemBuilder(itemStack).removeLore(instance.getSpecialItems().getWhiteScrollLore()).nbt();
|
||||||
nbtItem.remove("protected");
|
nbtItem.removeKey("protected");
|
||||||
return Tuple.of(nbtItem.finish(), PROTECTED);
|
return Tuple.of(nbtItem.getItem(), PROTECTED);
|
||||||
}
|
}
|
||||||
return Tuple.of(new ItemStack(Material.AIR), BROKEN_FAILURE);
|
return Tuple.of(new ItemStack(Material.AIR), BROKEN_FAILURE);
|
||||||
}
|
}
|
||||||
@ -94,19 +93,19 @@ public class EnchantUtils {
|
|||||||
|
|
||||||
NBTItem nbtItem = itemBuilder.nbt();
|
NBTItem nbtItem = itemBuilder.nbt();
|
||||||
|
|
||||||
NBTCompound compound = nbtItem.getCompound("enchants");
|
NBTCompound compound = nbtItem.getOrCreateCompound("enchants");
|
||||||
compound.set(enchant.getIdentifier(), level);
|
compound.setInteger(enchant.getIdentifier(), level);
|
||||||
|
|
||||||
return Tuple.of(nbtItem.finish(), SUCCESS);
|
return Tuple.of(nbtItem.getItem(), SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Enchant, Integer> getEnchants(ItemStack itemStack) {
|
public Map<Enchant, Integer> getEnchants(ItemStack itemStack) {
|
||||||
if (itemStack == null || itemStack.getType() == Material.AIR) {
|
if (itemStack == null || itemStack.getType() == Material.AIR) {
|
||||||
return Collections.emptyMap();
|
return Collections.emptyMap();
|
||||||
}
|
}
|
||||||
NBTItem nbtItem = NmsManager.getNbt().of(itemStack);
|
NBTItem nbtItem = new NBTItem(itemStack);
|
||||||
|
|
||||||
if (!nbtItem.has("enchants")) {
|
if (!nbtItem.hasKey("enchants")) {
|
||||||
return Collections.emptyMap();
|
return Collections.emptyMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,7 +116,7 @@ public class EnchantUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return compound.getKeys().stream().filter(key -> instance.getEnchantManager().getValueUnsafe(key) != null)
|
return compound.getKeys().stream().filter(key -> instance.getEnchantManager().getValueUnsafe(key) != null)
|
||||||
.collect(Collectors.toMap(key -> instance.getEnchantManager().getValueUnsafe(key), compound::getInt));
|
.collect(Collectors.toMap(key -> instance.getEnchantManager().getValueUnsafe(key), compound::getInteger));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handlePlayer(@NotNull Player player, @Nullable LivingEntity opponent, Event event, TriggerType triggerType) {
|
public void handlePlayer(@NotNull Player player, @Nullable LivingEntity opponent, Event event, TriggerType triggerType) {
|
||||||
@ -139,7 +138,7 @@ public class EnchantUtils {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
NBTItem nbtItem = NmsManager.getNbt().of(itemStack);
|
NBTItem nbtItem = new NBTItem(itemStack);
|
||||||
|
|
||||||
if (nbtItem.getCompound("enchants") == null) {
|
if (nbtItem.getCompound("enchants") == null) {
|
||||||
return itemStack;
|
return itemStack;
|
||||||
@ -148,8 +147,8 @@ public class EnchantUtils {
|
|||||||
String format = enchant.getFormat().replace("{level}", "").trim();
|
String format = enchant.getFormat().replace("{level}", "").trim();
|
||||||
String text = format.isEmpty() ? enchant.getColoredIdentifier(false) : format;
|
String text = format.isEmpty() ? enchant.getColoredIdentifier(false) : format;
|
||||||
|
|
||||||
nbtItem.getCompound("enchants").remove(enchant.getIdentifier());
|
nbtItem.getCompound("enchants").removeKey(enchant.getIdentifier());
|
||||||
ItemBuilder output = new ItemBuilder(nbtItem.finish());
|
ItemBuilder output = new ItemBuilder(nbtItem.getItem());
|
||||||
output.removeLore(TextUtils.formatText(text));
|
output.removeLore(TextUtils.formatText(text));
|
||||||
return output.build();
|
return output.build();
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package com.songoda.epicenchants.utils;
|
package com.songoda.epicenchants.utils;
|
||||||
|
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.epicenchants.EpicEnchants;
|
import com.songoda.epicenchants.EpicEnchants;
|
||||||
import com.songoda.epicenchants.objects.Group;
|
import com.songoda.epicenchants.objects.Group;
|
||||||
import com.songoda.epicenchants.utils.objects.ItemBuilder;
|
import com.songoda.epicenchants.utils.objects.ItemBuilder;
|
||||||
@ -24,8 +24,8 @@ public class SpecialItems {
|
|||||||
|
|
||||||
public ItemStack getWhiteScroll(int amount) {
|
public ItemStack getWhiteScroll(int amount) {
|
||||||
NBTItem nbtItem = new ItemBuilder(instance.getFileManager().getConfiguration("items/special-items").getConfigurationSection("white-scroll")).nbt();
|
NBTItem nbtItem = new ItemBuilder(instance.getFileManager().getConfiguration("items/special-items").getConfigurationSection("white-scroll")).nbt();
|
||||||
nbtItem.set("white-scroll", true);
|
nbtItem.setBoolean("white-scroll", true);
|
||||||
ItemStack itemStack = nbtItem.finish();
|
ItemStack itemStack = nbtItem.getItem();
|
||||||
|
|
||||||
itemStack.setAmount(amount);
|
itemStack.setAmount(amount);
|
||||||
|
|
||||||
@ -36,10 +36,10 @@ public class SpecialItems {
|
|||||||
int successRate = chance == -1 ? ThreadLocalRandom.current().nextInt(Settings.BLACK_MIN.getInt(), Settings.BLACK_MAX.getInt() + 1) : chance;
|
int successRate = chance == -1 ? ThreadLocalRandom.current().nextInt(Settings.BLACK_MIN.getInt(), Settings.BLACK_MAX.getInt() + 1) : chance;
|
||||||
NBTItem nbtItem = new ItemBuilder(instance.getFileManager().getConfiguration("items/special-items").getConfigurationSection("black-scroll"), of("success-rate", successRate)).nbt();
|
NBTItem nbtItem = new ItemBuilder(instance.getFileManager().getConfiguration("items/special-items").getConfigurationSection("black-scroll"), of("success-rate", successRate)).nbt();
|
||||||
|
|
||||||
nbtItem.set("black-scroll", true);
|
nbtItem.setBoolean("black-scroll", true);
|
||||||
nbtItem.set("success-rate", successRate);
|
nbtItem.setInteger("success-rate", successRate);
|
||||||
|
|
||||||
ItemStack itemStack = nbtItem.finish();
|
ItemStack itemStack = nbtItem.getItem();
|
||||||
|
|
||||||
itemStack.setAmount(amount);
|
itemStack.setAmount(amount);
|
||||||
|
|
||||||
@ -51,14 +51,14 @@ public class SpecialItems {
|
|||||||
of("group-color", group.getColor()),
|
of("group-color", group.getColor()),
|
||||||
of("group-name", group.getName())).nbt();
|
of("group-name", group.getName())).nbt();
|
||||||
|
|
||||||
nbtItem.set("mystery-book", true);
|
nbtItem.setBoolean("mystery-book", true);
|
||||||
nbtItem.set("group", group.getIdentifier());
|
nbtItem.setString("group", group.getIdentifier());
|
||||||
return nbtItem.finish();
|
return nbtItem.getItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getSecretDust(NBTItem book) {
|
public ItemStack getSecretDust(NBTItem book) {
|
||||||
Group group = instance.getEnchantManager().getValueUnsafe(book.getNBTObject("enchant").asString()).getGroup();
|
Group group = instance.getEnchantManager().getValueUnsafe(book.getString("enchant")).getGroup();
|
||||||
return getSecretDust(group, (int) Math.floor(book.getNBTObject("success-rate").asInt() / 10.0));
|
return getSecretDust(group, (int) Math.floor(book.getInteger("success-rate") / 10.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getSecretDust(Group group, int max) {
|
public ItemStack getSecretDust(Group group, int max) {
|
||||||
@ -68,11 +68,11 @@ public class SpecialItems {
|
|||||||
of("max-rate", max),
|
of("max-rate", max),
|
||||||
of("min-rate", 0)).nbt();
|
of("min-rate", 0)).nbt();
|
||||||
|
|
||||||
nbtItem.set("secret-dust", true);
|
nbtItem.setBoolean("secret-dust", true);
|
||||||
nbtItem.set("group", group.getIdentifier());
|
nbtItem.setString("group", group.getIdentifier());
|
||||||
nbtItem.set("max-rate", max + 1);
|
nbtItem.setInteger("max-rate", max + 1);
|
||||||
nbtItem.set("min-rate", 1);
|
nbtItem.setInteger("min-rate", 1);
|
||||||
return nbtItem.finish();
|
return nbtItem.getItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getDust(Group group, @Nullable String type, int percentage, boolean command) {
|
public ItemStack getDust(Group group, @Nullable String type, int percentage, boolean command) {
|
||||||
@ -108,14 +108,14 @@ public class SpecialItems {
|
|||||||
of("percentage", percentage)).nbt();
|
of("percentage", percentage)).nbt();
|
||||||
|
|
||||||
if (type.equalsIgnoreCase("mystery")) {
|
if (type.equalsIgnoreCase("mystery")) {
|
||||||
return nbtItem.finish();
|
return nbtItem.getItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
nbtItem.set("dust", true);
|
nbtItem.setBoolean("dust", true);
|
||||||
nbtItem.set("percentage", percentage);
|
nbtItem.setInteger("percentage", percentage);
|
||||||
nbtItem.set("group", group.getIdentifier());
|
nbtItem.setString("group", group.getIdentifier());
|
||||||
|
|
||||||
return nbtItem.finish();
|
return nbtItem.getItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getWhiteScrollLore() {
|
public String getWhiteScrollLore() {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.songoda.epicenchants.utils.objects;
|
package com.songoda.epicenchants.utils.objects;
|
||||||
|
|
||||||
import com.songoda.core.nms.NmsManager;
|
import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem;
|
||||||
import com.songoda.core.nms.nbt.NBTItem;
|
|
||||||
import com.songoda.epicenchants.objects.Placeholder;
|
import com.songoda.epicenchants.objects.Placeholder;
|
||||||
import com.songoda.epicenchants.utils.single.ConfigParser;
|
import com.songoda.epicenchants.utils.single.ConfigParser;
|
||||||
import com.songoda.epicenchants.utils.single.GeneralUtils;
|
import com.songoda.epicenchants.utils.single.GeneralUtils;
|
||||||
@ -265,7 +264,7 @@ public class ItemBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public NBTItem nbt() {
|
public NBTItem nbt() {
|
||||||
return NmsManager.getNbt().of(build());
|
return new NBTItem(build());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -99,6 +99,8 @@ public class GeneralUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Object parseJS(String toParse, String type, Object def) {
|
public static Object parseJS(String toParse, String type, Object def) {
|
||||||
|
// FIXME: JavaScript != Math...
|
||||||
|
// Input "false ? (8 * 3) : (4 * 3)" fails for obvious reasons
|
||||||
return MathUtils.eval(toParse, "[EpicEnchants] One of your " + type + " expressions is not properly formatted.");
|
return MathUtils.eval(toParse, "[EpicEnchants] One of your " + type + " expressions is not properly formatted.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user