Fixed modifyitem command

This commit is contained in:
Nathan Curran 2020-08-04 11:39:59 +10:00
parent e1b514ca85
commit ae57573eeb
No known key found for this signature in database
GPG Key ID: B3A964B30C2E56B8

View File

@ -2,6 +2,7 @@ package me.totalfreedom.totalfreedommod.command;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random;
import me.totalfreedom.totalfreedommod.rank.Rank; import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil; import me.totalfreedom.totalfreedommod.util.FUtil;
import net.minecraft.server.v1_16_R1.NBTTagCompound; import net.minecraft.server.v1_16_R1.NBTTagCompound;
@ -160,23 +161,34 @@ public class Command_modifyitem extends FreedomCommand
msg("Invalid attribute. Please run /attributelist for a list of valid attributes."); msg("Invalid attribute. Please run /attributelist for a list of valid attributes.");
return true; return true;
} }
cmpnd.set("AttributeName", NBTTagString.a(attribute.getAttribute())); cmpnd.setString("AttributeName", attribute.getAttribute());
cmpnd.set("Name", NBTTagString.a(attribute.getAttribute())); cmpnd.setString("Name", attribute.getAttribute());
int amount; double amount;
try try
{ {
amount = Integer.parseInt(args[2]); amount = Double.parseDouble(args[2]);
} }
catch (NumberFormatException ex) catch (NumberFormatException ex)
{ {
msg("The amount specified is not a valid integer."); msg("The amount specified is not a valid integer.");
return true; return true;
} }
cmpnd.set("Amount", NBTTagInt.a(amount)); if (Double.isNaN(amount))
cmpnd.set("Operation", NBTTagInt.a(0)); {
cmpnd.set("UUIDLeast", NBTTagInt.a(894654)); msg("The amount specified is illegal.");
cmpnd.set("UUIDMost", NBTTagInt.a(2872)); return true;
cmpnd.set("Slot", NBTTagString.a("mainhand")); }
cmpnd.setDouble("Amount", amount);
cmpnd.setInt("Operation", 0);
Random random = new Random();
cmpnd.setIntArray("UUID", new int[]
{
random.nextInt(),
random.nextInt(),
random.nextInt(),
random.nextInt()
});
cmpnd.setString("Slot", "mainhand");
modifiers.add(cmpnd); modifiers.add(cmpnd);
compound.set("AttributeModifiers", modifiers); compound.set("AttributeModifiers", modifiers);
nmsStack.setTag(compound); nmsStack.setTag(compound);