|
@@ -1,6 +1,8 @@
|
|
|
package me.km.snuviscript.commands;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import com.google.common.collect.Multimap;
|
|
|
import me.hammerle.snuviscript.code.ScriptManager;
|
|
|
import me.hammerle.snuviscript.code.SnuviUtils;
|
|
|
import me.km.utils.ItemStackUtils;
|
|
@@ -88,7 +90,7 @@ public class ItemCommands {
|
|
|
});
|
|
|
sm.registerFunction("item.hide", (sc, in) -> {
|
|
|
int flag = 0;
|
|
|
- switch (in[1].getString(sc)) {
|
|
|
+ switch(in[1].getString(sc)) {
|
|
|
case "enchantments":
|
|
|
flag = 1;
|
|
|
break;
|
|
@@ -125,6 +127,26 @@ public class ItemCommands {
|
|
|
AttributeModifier.Operation.values()[in[4].getInt(sc)]),
|
|
|
(EquipmentSlotType) in[2].get(sc));
|
|
|
});
|
|
|
+ sm.registerConsumer("item.clearattributes", (sc, in) -> {
|
|
|
+ ItemStack stack = (ItemStack) in[0].get(sc);
|
|
|
+ if(stack.hasTag()) {
|
|
|
+ stack.getTag().remove("AttributeModifiers");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ sm.registerFunction("item.hasattributes", (sc, in) -> {
|
|
|
+ ItemStack stack = (ItemStack) in[0].get(sc);
|
|
|
+ return stack.hasTag() && stack.getTag().contains("AttributeModifiers", 9);
|
|
|
+ });
|
|
|
+ sm.registerConsumer("item.adddefaulttags", (sc, in) -> {
|
|
|
+ ItemStack stack = (ItemStack) in[0].get(sc);
|
|
|
+ for(EquipmentSlotType slot : EquipmentSlotType.values()) {
|
|
|
+ Multimap<Attribute, AttributeModifier> attributes =
|
|
|
+ stack.getAttributeModifiers(slot);
|
|
|
+ for(Map.Entry<Attribute, AttributeModifier> e : attributes.entries()) {
|
|
|
+ stack.addAttributeModifier(e.getKey(), e.getValue(), slot);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
sm.registerFunction("item.clone", (sc, in) -> ((ItemStack) in[0].get(sc)).copy());
|
|
|
sm.registerFunction("item.getmaxdamage",
|
|
|
(sc, in) -> (double) ((ItemStack) in[0].get(sc)).getMaxDamage());
|