From 749d455d77bd8dd1e05f6daa078927922a9e7c14 Mon Sep 17 00:00:00 2001 From: mcmonkey4eva Date: Sun, 15 Jan 2017 19:35:58 -0800 Subject: [PATCH] Get rid of attack speed for now, for #1528 --- .../java/net/aufdemrand/denizen/Denizen.java | 1 - .../properties/item/ItemAttackSpeed.java | 123 ------------------ 2 files changed, 124 deletions(-) delete mode 100644 plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemAttackSpeed.java diff --git a/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java b/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java index 1434e9d0c9..83fa8226d5 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/Denizen.java @@ -838,7 +838,6 @@ public void onEnable() { // register core dItem properties propertyParser.registerProperty(ItemApple.class, dItem.class); - propertyParser.registerProperty(ItemAttackSpeed.class, dItem.class); propertyParser.registerProperty(ItemBaseColor.class, dItem.class); propertyParser.registerProperty(ItemBook.class, dItem.class); propertyParser.registerProperty(ItemDisplayname.class, dItem.class); diff --git a/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemAttackSpeed.java b/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemAttackSpeed.java deleted file mode 100644 index ef089e5fa7..0000000000 --- a/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemAttackSpeed.java +++ /dev/null @@ -1,123 +0,0 @@ -package net.aufdemrand.denizen.objects.properties.item; - -import net.aufdemrand.denizen.nms.NMSHandler; -import net.aufdemrand.denizen.nms.enums.EntityAttribute; -import net.aufdemrand.denizen.nms.util.EntityAttributeModifier; -import net.aufdemrand.denizen.objects.dItem; -import net.aufdemrand.denizencore.objects.Element; -import net.aufdemrand.denizencore.objects.Mechanism; -import net.aufdemrand.denizencore.objects.dList; -import net.aufdemrand.denizencore.objects.dObject; -import net.aufdemrand.denizencore.objects.properties.Property; -import net.aufdemrand.denizencore.tags.Attribute; -import net.aufdemrand.denizencore.utilities.CoreUtilities; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -public class ItemAttackSpeed implements Property { - - public static boolean describes(dObject item) { - return item instanceof dItem; - } - - public static ItemAttackSpeed getFrom(dObject item) { - if (!describes(item)) { - return null; - } - else { - return new ItemAttackSpeed((dItem) item); - } - } - - - private ItemAttackSpeed(dItem item) { - this.item = item; - } - - dItem item; - - @Override - public String getPropertyString() { - dList list = new dList(); - Map> modifiers = NMSHandler.getInstance().getItemHelper() - .getAttributeModifiers(item.getItemStack()); - if (modifiers.containsKey(EntityAttribute.GENERIC_ATTACK_SPEED)) { - for (EntityAttributeModifier modifier : modifiers.get(EntityAttribute.GENERIC_ATTACK_SPEED)) { - list.add(modifier.getUniqueId().toString() + "/" - + modifier.getName() + "/" - + modifier.getOperation().name() + "/" - + new Element(modifier.getAmount()).identify()); - } - } - return list.isEmpty() ? null : list.identify(); - } - - @Override - public String getPropertyId() { - return "attack_speed"; - } - - @Override - public String getAttribute(Attribute attribute) { - - if (attribute == null) { - return null; - } - - // <--[tag] - // @attribute - // @returns dList - // @group properties - // @mechanism dItem.attack_speed - // @description - // Gets the attack speed modifiers of the item in the format: - // UUID/NAME/OPERATION/AMOUNT|... - // Available operations: ADD_NUMBER, ADD_SCALAR, MULTIPLY_SCALAR_1 - // --> - if (attribute.startsWith("attack_speed")) { - String string = getPropertyString(); - if (string == null) { - return null; - } - return new Element(string).getAttribute(attribute.fulfill(1)); - } - - return null; - } - - @Override - public void adjust(Mechanism mechanism) { - - // <--[mechanism] - // @object dItem - // @name attack_speed - // @input dList - // @description - // Changes the attack speed modifier using the format: - // UUID/NAME/OPERATION/AMOUNT|... - // Available operations: ADD_NUMBER, ADD_SCALAR, MULTIPLY_SCALAR_1 - // @tags - // - // --> - - if (mechanism.matches("attack_speed")) { - Map> map = NMSHandler.getInstance().getItemHelper() - .getAttributeModifiers(item.getItemStack()); - List modifiers = new ArrayList(); - dList value = mechanism.getValue().asType(dList.class); - for (String string : value) { - List split = CoreUtilities.split(string, '/', 4); - UUID uuid = UUID.fromString(split.get(0)); - String name = split.get(1); - EntityAttributeModifier.Operation operation = EntityAttributeModifier.Operation.valueOf(split.get(2).toUpperCase()); - double amount = new Element(split.get(3)).asDouble(); - modifiers.add(new EntityAttributeModifier(uuid, name, operation, amount)); - } - map.put(EntityAttribute.GENERIC_ATTACK_SPEED, modifiers); - item.setItemStack(NMSHandler.getInstance().getItemHelper().setAttributeModifiers(item.getItemStack(), map)); - } - } -}