use of net.minecraft.command.WrongUsageException in project Armourers-Workshop by RiskyKen.
the class CommandGiveSkin method processCommand.
@Override
public void processCommand(ICommandSender commandSender, String[] currentCommand) {
if (currentCommand.length < 3) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) currentCommand);
}
String playerName = currentCommand[1];
EntityPlayerMP player = getPlayer(commandSender, playerName);
if (player == null) {
return;
}
String skinName = currentCommand[2];
if (!skinName.substring(0, 1).equals("\"")) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
int usedCommands = 2;
if (!skinName.substring(skinName.length() - 1, skinName.length()).equals("\"")) {
for (int i = 3; i < currentCommand.length; i++) {
skinName += " " + currentCommand[i];
if (skinName.substring(skinName.length() - 1, skinName.length()).equals("\"")) {
usedCommands = i;
break;
}
}
}
ModLogger.log("usedCommands used: " + usedCommands);
ModLogger.log("total commands used: " + currentCommand.length);
if (!skinName.substring(skinName.length() - 1, skinName.length()).equals("\"")) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
skinName = skinName.replace("\"", "");
SkinDye skinDye = new SkinDye();
for (int i = usedCommands + 1; i < currentCommand.length; i++) {
String dyeCommand = currentCommand[i];
ModLogger.log("Command dye: " + dyeCommand);
if (!dyeCommand.contains("-")) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
String[] commandSplit = dyeCommand.split("-");
if (commandSplit.length != 2) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
int dyeIndex = parseIntBounded(commandSender, commandSplit[0], 1, 8) - 1;
String dye = commandSplit[1];
if (dye.startsWith("#") && dye.length() == 7) {
// dye = dye.substring(2, 8);
if (isValidHex(dye)) {
Color dyeColour = Color.decode(dye);
int r = dyeColour.getRed();
int g = dyeColour.getGreen();
int b = dyeColour.getBlue();
skinDye.addDye(dyeIndex, new byte[] { (byte) r, (byte) g, (byte) b, (byte) 255 });
} else {
throw new WrongUsageException("commands.armourers.invalidDyeFormat", (Object) dye);
}
} else if (dye.length() >= 5 & dye.contains(",")) {
String[] dyeValues = dye.split(",");
if (dyeValues.length != 3) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
int r = parseIntBounded(commandSender, dyeValues[0], 0, 255);
int g = parseIntBounded(commandSender, dyeValues[1], 0, 255);
int b = parseIntBounded(commandSender, dyeValues[2], 0, 255);
skinDye.addDye(dyeIndex, new byte[] { (byte) r, (byte) g, (byte) b, (byte) 255 });
} else {
throw new WrongUsageException("commands.armourers.invalidDyeFormat", (Object) dye);
}
}
LibraryFile libraryFile = new LibraryFile(skinName);
Skin skin = SkinIOUtils.loadSkinFromLibraryFile(libraryFile);
if (skin == null) {
throw new WrongUsageException("commands.armourers.fileNotFound", (Object) skinName);
}
try {
skin.lightHash();
} catch (Exception e) {
ModLogger.log(Level.ERROR, String.format("Unable to create ID for file %s.", libraryFile.toString()));
return;
}
CommonSkinCache.INSTANCE.addEquipmentDataToCache(skin, libraryFile);
SkinIdentifier skinIdentifier = new SkinIdentifier(0, libraryFile, 0, skin.getSkinType());
ItemStack skinStack = SkinNBTHelper.makeEquipmentSkinStack(new SkinPointer(skinIdentifier, skinDye));
EntityItem entityItem = player.dropPlayerItemWithRandomChoice(skinStack, false);
entityItem.delayBeforeCanPickup = 0;
entityItem.func_145797_a(player.getCommandSenderName());
}
use of net.minecraft.command.WrongUsageException in project Armourers-Workshop by RiskyKen.
the class CommandResyncWardrobe method processCommand.
@Override
public void processCommand(ICommandSender commandSender, String[] currentCommand) {
if (currentCommand.length != 2) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) currentCommand);
}
String playerName = currentCommand[1];
EntityPlayerMP player = getPlayer(commandSender, playerName);
if (player == null) {
return;
}
ExPropsPlayerSkinData.get(player).updateEquipmentDataToPlayersAround();
}
use of net.minecraft.command.WrongUsageException in project Armourers-Workshop by RiskyKen.
the class CommandSetSkin method processCommand.
@Override
public void processCommand(ICommandSender commandSender, String[] currentCommand) {
if (currentCommand.length < 3) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) currentCommand);
}
String playerName = currentCommand[1];
EntityPlayerMP player = getPlayer(commandSender, playerName);
if (player == null) {
return;
}
int slotNum = 0;
slotNum = parseIntBounded(commandSender, currentCommand[2], 1, 8);
String skinName = currentCommand[3];
if (!skinName.substring(0, 1).equals("\"")) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
int usedCommands = 3;
if (!skinName.substring(skinName.length() - 1, skinName.length()).equals("\"")) {
for (int i = 3; i < currentCommand.length; i++) {
skinName += " " + currentCommand[i];
if (skinName.substring(skinName.length() - 1, skinName.length()).equals("\"")) {
usedCommands = i;
break;
}
}
}
ModLogger.log("usedCommands used: " + usedCommands);
ModLogger.log("total commands used: " + currentCommand.length);
if (!skinName.substring(skinName.length() - 1, skinName.length()).equals("\"")) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
skinName = skinName.replace("\"", "");
SkinDye skinDye = new SkinDye();
for (int i = usedCommands + 1; i < currentCommand.length; i++) {
String dyeCommand = currentCommand[i];
ModLogger.log("Command dye: " + dyeCommand);
if (!dyeCommand.contains("-")) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
String[] commandSplit = dyeCommand.split("-");
if (commandSplit.length != 2) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
int dyeIndex = parseIntBounded(commandSender, commandSplit[0], 1, 8) - 1;
String dye = commandSplit[1];
if (dye.startsWith("#") && dye.length() == 7) {
// dye = dye.substring(2, 8);
if (isValidHex(dye)) {
Color dyeColour = Color.decode(dye);
int r = dyeColour.getRed();
int g = dyeColour.getGreen();
int b = dyeColour.getBlue();
skinDye.addDye(dyeIndex, new byte[] { (byte) r, (byte) g, (byte) b, (byte) 255 });
} else {
throw new WrongUsageException("commands.armourers.invalidDyeFormat", (Object) dye);
}
} else if (dye.length() >= 5 & dye.contains(",")) {
String[] dyeValues = dye.split(",");
if (dyeValues.length != 3) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) skinName);
}
int r = parseIntBounded(commandSender, dyeValues[0], 0, 255);
int g = parseIntBounded(commandSender, dyeValues[1], 0, 255);
int b = parseIntBounded(commandSender, dyeValues[2], 0, 255);
skinDye.addDye(dyeIndex, new byte[] { (byte) r, (byte) g, (byte) b, (byte) 255 });
} else {
throw new WrongUsageException("commands.armourers.invalidDyeFormat", (Object) dye);
}
}
LibraryFile libraryFile = new LibraryFile(skinName);
Skin skin = SkinIOUtils.loadSkinFromLibraryFile(libraryFile);
if (skin == null) {
throw new WrongUsageException("commands.armourers.fileNotFound", (Object) skinName);
}
try {
skin.lightHash();
} catch (Exception e) {
ModLogger.log(Level.ERROR, String.format("Unable to create ID for file %s.", libraryFile.toString()));
return;
}
CommonSkinCache.INSTANCE.addEquipmentDataToCache(skin, libraryFile);
SkinIdentifier skinIdentifier = new SkinIdentifier(0, libraryFile, 0, skin.getSkinType());
ItemStack skinStack = SkinNBTHelper.makeEquipmentSkinStack(new SkinPointer(skinIdentifier, skinDye));
ExPropsPlayerSkinData.get(player).setEquipmentStack(skinStack, slotNum - 1);
}
use of net.minecraft.command.WrongUsageException in project Armourers-Workshop by RiskyKen.
the class CommandSetUnlockedWardrobeSlots method processCommand.
@Override
public void processCommand(ICommandSender commandSender, String[] currentCommand) {
if (currentCommand.length != 4) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) currentCommand);
}
String playerName = currentCommand[1];
EntityPlayerMP player = getPlayer(commandSender, playerName);
if (player == null) {
return;
}
String skinTypeName = currentCommand[2];
if (StringUtils.isNullOrEmpty(skinTypeName)) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) currentCommand);
}
int count = 3;
count = parseIntBounded(commandSender, currentCommand[3], 1, 8);
ISkinType skinType = SkinTypeRegistry.INSTANCE.getSkinTypeFromRegistryName(skinTypeName);
if (skinType == null) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) currentCommand);
}
ExPropsPlayerSkinData.get(player).setSkinColumnCount(skinType, count);
}
use of net.minecraft.command.WrongUsageException in project Armourers-Workshop by RiskyKen.
the class CommandSetWardrobeOption method processCommand.
@Override
public void processCommand(ICommandSender commandSender, String[] currentCommand) {
if (currentCommand.length != 4) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) currentCommand);
}
EntityPlayerMP player = getPlayer(commandSender, currentCommand[1]);
if (player == null) {
return;
}
String subOption = currentCommand[2];
boolean value = parseBoolean(commandSender, currentCommand[3]);
int subOptionIndex = -1;
for (int i = 0; i < SUB_OPTIONS.length; i++) {
if (subOption.equals(SUB_OPTIONS[i])) {
subOptionIndex = i;
break;
}
}
if (subOptionIndex == -1) {
throw new WrongUsageException(getCommandUsage(commandSender), (Object) currentCommand);
}
ExPropsPlayerSkinData playerEquipmentData = ExPropsPlayerSkinData.get(player);
if (playerEquipmentData != null) {
EquipmentWardrobeData ewd = playerEquipmentData.getEquipmentWardrobeData();
if (subOptionIndex < 4) {
ewd.armourOverride.set(subOptionIndex, !value);
}
if (subOptionIndex == 4) {
ewd.headOverlay = !value;
}
playerEquipmentData.setSkinInfo(ewd, true);
}
}
Aggregations