Skip to content

Commit

Permalink
1.13 style item durability Spigot calls
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Aug 18, 2020
1 parent 8ec21ad commit a269f4d
Show file tree
Hide file tree
Showing 8 changed files with 11 additions and 55 deletions.
@@ -1,11 +1,9 @@
package com.denizenscript.denizen.events.entity;

import com.denizenscript.denizen.objects.EntityTag;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
import org.bukkit.entity.EnderDragon;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
Expand Down Expand Up @@ -97,11 +95,6 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) {
return super.applyDetermination(path, determinationObj);
}

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(null, null);
}

@Override
public ObjectTag getContext(String name) {
if (name.equals("entity")) {
Expand Down
Expand Up @@ -2,11 +2,9 @@

import com.denizenscript.denizen.objects.EntityTag;
import com.denizenscript.denizen.objects.ItemTag;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
import org.bukkit.entity.Animals;
import org.bukkit.entity.Entity;
import org.bukkit.event.EventHandler;
Expand Down Expand Up @@ -95,11 +93,6 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) {
return super.applyDetermination(path, determinationObj);
}

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(null, null);
}

@Override
public ObjectTag getContext(String name) {
if (name.equals("child")) {
Expand Down
@@ -1,11 +1,9 @@
package com.denizenscript.denizen.events.entity;

import com.denizenscript.denizen.objects.EntityTag;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
import com.denizenscript.denizencore.utilities.CoreUtilities;
import org.bukkit.DyeColor;
import org.bukkit.event.EventHandler;
Expand Down Expand Up @@ -91,11 +89,6 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) {
return super.applyDetermination(path, determinationObj);
}

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(null, null);
}

@Override
public ObjectTag getContext(String name) {
if (name.equals("color")) {
Expand Down
Expand Up @@ -105,10 +105,7 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) {

@Override
public ScriptEntryData getScriptEntryData() {
if (entity != null) {
return new BukkitScriptEntryData(entity);
}
return new BukkitScriptEntryData(null, null);
return new BukkitScriptEntryData(entity);
}

@Override
Expand Down
Expand Up @@ -88,10 +88,7 @@ public String getName() {

@Override
public ScriptEntryData getScriptEntryData() {
if (entity != null) {
return new BukkitScriptEntryData(entity);
}
return new BukkitScriptEntryData(null, null);
return new BukkitScriptEntryData(entity);
}

@Override
Expand Down
Expand Up @@ -35,6 +35,7 @@
import org.bukkit.entity.Item;
import org.bukkit.inventory.*;
import org.bukkit.inventory.meta.BlockStateMeta;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;

import java.util.ArrayList;
Expand Down Expand Up @@ -105,15 +106,6 @@ public static ItemTag valueOf(String string, TagContext context) {
string = string.substring("i@".length());
}
string = CoreUtilities.toLowerCase(string);
int commaIndex = string.indexOf(',');
if (commaIndex == -1) {
commaIndex = string.indexOf(':');
}
String dataValue = null;
if (commaIndex != -1) {
dataValue = string.substring(commaIndex + 1);
string = string.substring(0, commaIndex);
}
try {
if (ScriptRegistry.containsScript(string, ItemScriptContainer.class)) {
ItemScriptContainer isc = ScriptRegistry.getScriptContainerAs(string, ItemScriptContainer.class);
Expand Down Expand Up @@ -145,9 +137,6 @@ else if (ScriptRegistry.containsScript(string, BookScriptContainer.class)) {
stack = new ItemTag(mat.getMaterial());
}
if (stack != null) {
if (dataValue != null) {
stack.setDurability(Short.valueOf(dataValue));
}
return stack;
}
}
Expand Down Expand Up @@ -425,19 +414,13 @@ public int getAmount() {
}

public void setDurability(short value) {
if (item != null) {
item.setDurability(value);
}
}

public void setData(byte value) {
if (item != null) {
item.getData().setData(value);
if (getItemMeta() instanceof Damageable) {
((Damageable) item.getItemMeta()).setDamage(value);
}
}

public boolean isRepairable() {
return item.getType().getMaxDurability() > 0;
return getItemMeta() instanceof Damageable;
}

//////////////////////////////
Expand Down
Expand Up @@ -6,6 +6,7 @@
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.objects.properties.Property;
import com.denizenscript.denizencore.tags.Attribute;
import org.bukkit.inventory.meta.Damageable;

public class ItemDurability implements Property {

Expand Down Expand Up @@ -53,7 +54,7 @@ public ObjectTag getObjectAttribute(Attribute attribute) {
// Returns the current durability (number of uses) on the item.
// -->
if (attribute.startsWith("durability")) {
return new ElementTag(item.getItemStack().getDurability())
return new ElementTag(((Damageable) item.getItemMeta()).getDamage())
.getObjectAttribute(attribute.fulfill(1));
}

Expand All @@ -75,8 +76,9 @@ public ObjectTag getObjectAttribute(Attribute attribute) {

@Override
public String getPropertyString() {
if (item.getItemStack().getDurability() != 0) {
return String.valueOf(item.getItemStack().getDurability());
int durability = ((Damageable) item.getItemMeta()).getDamage();
if (durability != 0) {
return String.valueOf(durability);
}
else {
return null;
Expand All @@ -103,7 +105,6 @@ public void adjust(Mechanism mechanism) {
// <ItemTag.repairable>
// -->
if (mechanism.matches("durability") && mechanism.requireInteger()) {
item.getItemStack().getData().setData((byte) mechanism.getValue().asInt());
item.setDurability((short) mechanism.getValue().asInt());
}
}
Expand Down
Expand Up @@ -421,7 +421,6 @@ public void adjust(Mechanism mechanism) {
pot.setHasExtendedDuration(data2.asBoolean());
}
pot.setSplash(data3.asBoolean());
item.setDurability((short) 0);
pot.apply(item.getItemStack());
}
}
Expand Down

0 comments on commit a269f4d

Please sign in to comment.