Debug commands
Not fully tested. The ones tested do work, though.
This commit is contained in:
parent
a3b7001d55
commit
d9e9a4704a
9 changed files with 644 additions and 4 deletions
|
@ -0,0 +1,85 @@
|
|||
package WayofTime.bloodmagic.command.sub;
|
||||
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.api.iface.IBindable;
|
||||
import WayofTime.bloodmagic.api.util.helper.BindableHelper;
|
||||
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
|
||||
import WayofTime.bloodmagic.command.SubCommandBase;
|
||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||
import com.google.common.base.Strings;
|
||||
import net.minecraft.command.ICommand;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.command.PlayerNotFoundException;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
|
||||
public class SubCommandBind extends SubCommandBase {
|
||||
|
||||
public SubCommandBind(ICommand parent) {
|
||||
super(parent, "bind");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getArgUsage(ICommandSender commandSender) {
|
||||
return TextHelper.localizeEffect("commands.bind.usage");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHelpText() {
|
||||
return TextHelper.localizeEffect("commands.bind.help");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processSubCommand(ICommandSender commandSender, String[] args) {
|
||||
super.processSubCommand(commandSender, args);
|
||||
|
||||
if (commandSender.getEntityWorld().isRemote)
|
||||
return;
|
||||
|
||||
try {
|
||||
EntityPlayer player = getCommandSenderAsPlayer(commandSender);
|
||||
String playerName = player.getName();
|
||||
String uuid = PlayerHelper.getUUIDFromPlayer(player).toString();
|
||||
ItemStack held = player.getHeldItem();
|
||||
boolean bind = true;
|
||||
|
||||
if (held != null && held.getItem() instanceof IBindable) {
|
||||
if (args.length > 0) {
|
||||
|
||||
if (args[0].equalsIgnoreCase("help"))
|
||||
return;
|
||||
|
||||
if (isBoolean(args[0])) {
|
||||
bind = Boolean.parseBoolean(args[0]);
|
||||
|
||||
if (args.length > 2)
|
||||
playerName = args[1];
|
||||
} else {
|
||||
playerName = args[0];
|
||||
uuid = PlayerHelper.getUUIDFromPlayer(getPlayer(commandSender, playerName)).toString();
|
||||
}
|
||||
}
|
||||
|
||||
if (bind) {
|
||||
BindableHelper.setItemOwnerName(held, playerName);
|
||||
BindableHelper.setItemOwnerUUID(held, uuid);
|
||||
commandSender.addChatMessage(new ChatComponentTranslation("commands.bind.success"));
|
||||
} else {
|
||||
if (!Strings.isNullOrEmpty(((IBindable) held.getItem()).getOwnerUUID(held))) {
|
||||
held.getTagCompound().removeTag(Constants.NBT.OWNER_UUID);
|
||||
held.getTagCompound().removeTag(Constants.NBT.OWNER_NAME);
|
||||
commandSender.addChatMessage(new ChatComponentTranslation("commands.bind.remove.success"));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (PlayerNotFoundException e) {
|
||||
commandSender.addChatMessage(new ChatComponentText(TextHelper.localizeEffect("commands.error.404")));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isBoolean(String string) {
|
||||
return string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false");
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue