public void processCommand(ICommandSender sender, String[] args) throws CommandException { if (args.length < 1) { throw new WrongUsageException("commands.testfor.usage", new Object[0]); } else { Entity var3 = func_175768_b(sender, args[0]); NBTTagCompound var4 = null; if (args.length >= 2) { try { var4 = JsonToNBT.func_180713_a(func_180529_a(args, 1)); } catch (NBTException var6) { throw new CommandException("commands.testfor.tagError", new Object[] {var6.getMessage()}); } } if (var4 != null) { NBTTagCompound var5 = new NBTTagCompound(); var3.writeToNBT(var5); if (!CommandTestForBlock.func_175775_a(var4, var5, true)) { throw new CommandException("commands.testfor.failure", new Object[] {var3.getName()}); } } notifyOperators(sender, this, "commands.testfor.success", new Object[] {var3.getName()}); } }
public String loadFromJson(String filename) { File file = new File(filename); String json; try { json = FileUtils.readFileToString(file); } catch (IOException e) { return "Error reading file!"; } NBTTagCompound tagCompound; try { tagCompound = (NBTTagCompound) JsonToNBT.func_150315_a(json); } catch (NBTException e) { return "NBT Error: " + e.getMessage(); } readFromNBT(tagCompound); return null; }
/** Draws the hover event specified by the given chat component */ protected void handleComponentHover( IChatComponent p_175272_1_, int p_175272_2_, int p_175272_3_) { if (p_175272_1_ != null && p_175272_1_.getChatStyle().getChatHoverEvent() != null) { HoverEvent hoverevent = p_175272_1_.getChatStyle().getChatHoverEvent(); if (hoverevent.getAction() == HoverEvent.Action.SHOW_ITEM) { ItemStack itemstack = null; try { NBTBase nbtbase = JsonToNBT.getTagFromJson(hoverevent.getValue().getUnformattedText()); if (nbtbase instanceof NBTTagCompound) { itemstack = ItemStack.loadItemStackFromNBT((NBTTagCompound) nbtbase); } } catch (NBTException var11) {; } if (itemstack != null) { this.renderToolTip(itemstack, p_175272_2_, p_175272_3_); } else { this.drawCreativeTabHoveringText( EnumChatFormatting.RED + "Invalid Item!", p_175272_2_, p_175272_3_); } } else if (hoverevent.getAction() == HoverEvent.Action.SHOW_ENTITY) { if (this.mc.gameSettings.advancedItemTooltips) { try { NBTBase nbtbase1 = JsonToNBT.getTagFromJson(hoverevent.getValue().getUnformattedText()); if (nbtbase1 instanceof NBTTagCompound) { List<String> list1 = Lists.<String>newArrayList(); NBTTagCompound nbttagcompound = (NBTTagCompound) nbtbase1; list1.add(nbttagcompound.getString("name")); if (nbttagcompound.hasKey("type", 8)) { String s = nbttagcompound.getString("type"); list1.add("Type: " + s + " (" + EntityList.getIDFromString(s) + ")"); } list1.add(nbttagcompound.getString("id")); this.drawHoveringText(list1, p_175272_2_, p_175272_3_); } else { this.drawCreativeTabHoveringText( EnumChatFormatting.RED + "Invalid Entity!", p_175272_2_, p_175272_3_); } } catch (NBTException var10) { this.drawCreativeTabHoveringText( EnumChatFormatting.RED + "Invalid Entity!", p_175272_2_, p_175272_3_); } } } else if (hoverevent.getAction() == HoverEvent.Action.SHOW_TEXT) { this.drawHoveringText( NEWLINE_SPLITTER.splitToList(hoverevent.getValue().getFormattedText()), p_175272_2_, p_175272_3_); } else if (hoverevent.getAction() == HoverEvent.Action.SHOW_ACHIEVEMENT) { StatBase statbase = StatList.getOneShotStat(hoverevent.getValue().getUnformattedText()); if (statbase != null) { IChatComponent ichatcomponent = statbase.getStatName(); IChatComponent ichatcomponent1 = new ChatComponentTranslation( "stats.tooltip.type." + (statbase.isAchievement() ? "achievement" : "statistic"), new Object[0]); ichatcomponent1.getChatStyle().setItalic(Boolean.valueOf(true)); String s1 = statbase instanceof Achievement ? ((Achievement) statbase).getDescription() : null; List<String> list = Lists.newArrayList( new String[] { ichatcomponent.getFormattedText(), ichatcomponent1.getFormattedText() }); if (s1 != null) { list.addAll(this.fontRendererObj.listFormattedStringToWidth(s1, 150)); } this.drawHoveringText(list, p_175272_2_, p_175272_3_); } else { this.drawCreativeTabHoveringText( EnumChatFormatting.RED + "Invalid statistic/achievement!", p_175272_2_, p_175272_3_); } } GlStateManager.disableLighting(); } }
public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) { if (par2ArrayOfStr.length >= 1) { String var3 = par2ArrayOfStr[0]; double var4 = (double) par1ICommandSender.getCommandSenderPosition().posX + 0.5D; double var6 = (double) par1ICommandSender.getCommandSenderPosition().posY; double var8 = (double) par1ICommandSender.getCommandSenderPosition().posZ + 0.5D; if (par2ArrayOfStr.length >= 4) { var4 = func_110666_a(par1ICommandSender, var4, par2ArrayOfStr[1]); var6 = func_110666_a(par1ICommandSender, var6, par2ArrayOfStr[2]); var8 = func_110666_a(par1ICommandSender, var8, par2ArrayOfStr[3]); } World var10 = par1ICommandSender.getEntityWorld(); if (!var10.blockExists((int) var4, (int) var6, (int) var8)) { notifyAdmins(par1ICommandSender, "commands.summon.outOfWorld", new Object[0]); } else { NBTTagCompound var11 = new NBTTagCompound(); boolean var12 = false; if (par2ArrayOfStr.length >= 5) { IChatComponent var13 = func_147178_a(par1ICommandSender, par2ArrayOfStr, 4); try { NBTBase var14 = JsonToNBT.func_150315_a(var13.getUnformattedText()); if (!(var14 instanceof NBTTagCompound)) { notifyAdmins( par1ICommandSender, "commands.summon.tagError", new Object[] {"Not a valid tag"}); return; } var11 = (NBTTagCompound) var14; var12 = true; } catch (NBTException var17) { notifyAdmins( par1ICommandSender, "commands.summon.tagError", new Object[] {var17.getMessage()}); return; } } var11.setString("id", var3); Entity var18 = EntityList.createEntityFromNBT(var11, var10); if (var18 != null) { var18.setLocationAndAngles(var4, var6, var8, var18.rotationYaw, var18.rotationPitch); if (!var12 && var18 instanceof EntityLiving) { ((EntityLiving) var18).onSpawnWithEgg((IEntityLivingData) null); } var10.spawnEntityInWorld(var18); Entity var19 = var18; for (NBTTagCompound var15 = var11; var15.func_150297_b("Riding", 10); var15 = var15.getCompoundTag("Riding")) { Entity var16 = EntityList.createEntityFromNBT(var15.getCompoundTag("Riding"), var10); if (var16 != null) { var16.setLocationAndAngles(var4, var6, var8, var16.rotationYaw, var16.rotationPitch); var10.spawnEntityInWorld(var16); var19.mountEntity(var16); } var19 = var16; } notifyAdmins(par1ICommandSender, "commands.summon.success", new Object[0]); } else { notifyAdmins(par1ICommandSender, "commands.summon.failed", new Object[0]); } } } else { throw new WrongUsageException("commands.summon.usage", new Object[0]); } }