本文整理汇总了Java中net.minecraft.nbt.NBTTagCompound.copy方法的典型用法代码示例。如果您正苦于以下问题:Java NBTTagCompound.copy方法的具体用法?Java NBTTagCompound.copy怎么用?Java NBTTagCompound.copy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.nbt.NBTTagCompound
的用法示例。
在下文中一共展示了NBTTagCompound.copy方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setTileTag
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
/**
* Set tile entity as NBT tag
* @param pos Block position over tile entity
* @param tile Tile entity NBT tag
*/
@SuppressWarnings({"deprecation"})
public void setTileTag(UBlockPos pos, NBTTagCompound tile) {
if (tile == null) {
return;
}
removeTileEntity(pos);
NBTTagCompound tag = (NBTTagCompound) tile.copy();
tag.setInteger("x", pos.getX());
tag.setInteger("y", pos.getY());
tag.setInteger("z", pos.getZ());
try {
TileEntity entity = TileEntity.createAndLoadEntity(tag);
setTileEntity(pos, entity);
} catch (Throwable throwable) {
Tiles.load(getTileEntity(pos), tile, 0);
}
}
示例2: setTileTag
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
/**
* Set tile entity as NBT tag
* @param pos Block position over tile entity
* @param tile Tile entity NBT tag
*/
public void setTileTag(UBlockPos pos, NBTTagCompound tile) {
if (tile == null) {
return;
}
removeTileEntity(pos);
NBTTagCompound tag = tile.copy();
tag.setInteger("x", pos.getX());
tag.setInteger("y", pos.getY());
tag.setInteger("z", pos.getZ());
try {
TileEntity entity = TileEntity.create(world, tag);
setTileEntity(pos, entity);
} catch (Throwable throwable) {
Tiles.load(getTileEntity(pos), tile, 0);
}
}
示例3: getCraftingResult
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
public ItemStack getCraftingResult(InventoryCrafting inv)
{
ItemStack itemstack = ItemStack.field_190927_a;
ItemStack itemstack1 = ItemStack.field_190927_a;
for (int i = 0; i < inv.getSizeInventory(); ++i)
{
ItemStack itemstack2 = inv.getStackInSlot(i);
if (!itemstack2.func_190926_b())
{
if (itemstack2.getItem() == Items.BANNER)
{
itemstack = itemstack2;
}
else if (itemstack2.getItem() == Items.SHIELD)
{
itemstack1 = itemstack2.copy();
}
}
}
if (itemstack1.func_190926_b())
{
return itemstack1;
}
else
{
NBTTagCompound nbttagcompound = itemstack.getSubCompound("BlockEntityTag");
NBTTagCompound nbttagcompound1 = nbttagcompound == null ? new NBTTagCompound() : nbttagcompound.copy();
nbttagcompound1.setInteger("Base", itemstack.getMetadata() & 15);
itemstack1.setTagInfo("BlockEntityTag", nbttagcompound1);
return itemstack1;
}
}
示例4: FluidStack
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
public FluidStack(Fluid fluid, int amount, NBTTagCompound nbt)
{
this(fluid, amount);
if (nbt != null)
{
tag = (NBTTagCompound) nbt.copy();
}
}
示例5: setTileEntityNBT
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
public static boolean setTileEntityNBT(World worldIn, EntityPlayer pos, BlockPos stack, ItemStack p_179224_3_)
{
MinecraftServer minecraftserver = MinecraftServer.getServer();
if (minecraftserver == null)
{
return false;
}
else
{
if (p_179224_3_.hasTagCompound() && p_179224_3_.getTagCompound().hasKey("BlockEntityTag", 10))
{
TileEntity tileentity = worldIn.getTileEntity(stack);
if (tileentity != null)
{
if (!worldIn.isRemote && tileentity.func_183000_F() && !minecraftserver.getConfigurationManager().canSendCommands(pos.getGameProfile()))
{
return false;
}
NBTTagCompound nbttagcompound = new NBTTagCompound();
NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttagcompound.copy();
tileentity.writeToNBT(nbttagcompound);
NBTTagCompound nbttagcompound2 = (NBTTagCompound)p_179224_3_.getTagCompound().getTag("BlockEntityTag");
nbttagcompound.merge(nbttagcompound2);
nbttagcompound.setInteger("x", stack.getX());
nbttagcompound.setInteger("y", stack.getY());
nbttagcompound.setInteger("z", stack.getZ());
if (!nbttagcompound.equals(nbttagcompound1))
{
tileentity.readFromNBT(nbttagcompound);
tileentity.markDirty();
return true;
}
}
}
return false;
}
}
示例6: processCommand
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
/**
* Callback when the command is invoked
*/
public void processCommand(ICommandSender sender, String[] args) throws CommandException
{
if (args.length < 4)
{
throw new WrongUsageException("commands.blockdata.usage", new Object[0]);
}
else
{
sender.setCommandStat(CommandResultStats.Type.AFFECTED_BLOCKS, 0);
BlockPos blockpos = parseBlockPos(sender, args, 0, false);
World world = sender.getEntityWorld();
if (!world.isBlockLoaded(blockpos))
{
throw new CommandException("commands.blockdata.outOfWorld", new Object[0]);
}
else
{
TileEntity tileentity = world.getTileEntity(blockpos);
if (tileentity == null)
{
throw new CommandException("commands.blockdata.notValid", new Object[0]);
}
else
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
tileentity.writeToNBT(nbttagcompound);
NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttagcompound.copy();
NBTTagCompound nbttagcompound2;
try
{
nbttagcompound2 = JsonToNBT.getTagFromJson(getChatComponentFromNthArg(sender, args, 3).getUnformattedText());
}
catch (NBTException nbtexception)
{
throw new CommandException("commands.blockdata.tagError", new Object[] {nbtexception.getMessage()});
}
nbttagcompound.merge(nbttagcompound2);
nbttagcompound.setInteger("x", blockpos.getX());
nbttagcompound.setInteger("y", blockpos.getY());
nbttagcompound.setInteger("z", blockpos.getZ());
if (nbttagcompound.equals(nbttagcompound1))
{
throw new CommandException("commands.blockdata.failed", new Object[] {nbttagcompound.toString()});
}
else
{
tileentity.readFromNBT(nbttagcompound);
tileentity.markDirty();
world.markBlockForUpdate(blockpos);
sender.setCommandStat(CommandResultStats.Type.AFFECTED_BLOCKS, 1);
notifyOperators(sender, this, "commands.blockdata.success", new Object[] {nbttagcompound.toString()});
}
}
}
}
}
示例7: processCommand
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
/**
* Callback when the command is invoked
*/
public void processCommand(ICommandSender sender, String[] args) throws CommandException
{
if (args.length < 2)
{
throw new WrongUsageException("commands.entitydata.usage", new Object[0]);
}
else
{
Entity entity = func_175768_b(sender, args[0]);
if (entity instanceof EntityPlayer)
{
throw new CommandException("commands.entitydata.noPlayers", new Object[] {entity.getDisplayName()});
}
else
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
entity.writeToNBT(nbttagcompound);
NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttagcompound.copy();
NBTTagCompound nbttagcompound2;
try
{
nbttagcompound2 = JsonToNBT.getTagFromJson(getChatComponentFromNthArg(sender, args, 1).getUnformattedText());
}
catch (NBTException nbtexception)
{
throw new CommandException("commands.entitydata.tagError", new Object[] {nbtexception.getMessage()});
}
nbttagcompound2.removeTag("UUIDMost");
nbttagcompound2.removeTag("UUIDLeast");
nbttagcompound.merge(nbttagcompound2);
if (nbttagcompound.equals(nbttagcompound1))
{
throw new CommandException("commands.entitydata.failed", new Object[] {nbttagcompound.toString()});
}
else
{
entity.readFromNBT(nbttagcompound);
notifyOperators(sender, this, "commands.entitydata.success", new Object[] {nbttagcompound.toString()});
}
}
}
}
示例8: execute
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
/**
* Callback for when the command is executed
*/
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
{
if (args.length < 4)
{
throw new WrongUsageException("commands.blockdata.usage", new Object[0]);
}
else
{
sender.setCommandStat(CommandResultStats.Type.AFFECTED_BLOCKS, 0);
BlockPos blockpos = parseBlockPos(sender, args, 0, false);
World world = sender.getEntityWorld();
if (!world.isBlockLoaded(blockpos))
{
throw new CommandException("commands.blockdata.outOfWorld", new Object[0]);
}
else
{
IBlockState iblockstate = world.getBlockState(blockpos);
TileEntity tileentity = world.getTileEntity(blockpos);
if (tileentity == null)
{
throw new CommandException("commands.blockdata.notValid", new Object[0]);
}
else
{
NBTTagCompound nbttagcompound = tileentity.writeToNBT(new NBTTagCompound());
NBTTagCompound nbttagcompound1 = nbttagcompound.copy();
NBTTagCompound nbttagcompound2;
try
{
nbttagcompound2 = JsonToNBT.getTagFromJson(getChatComponentFromNthArg(sender, args, 3).getUnformattedText());
}
catch (NBTException nbtexception)
{
throw new CommandException("commands.blockdata.tagError", new Object[] {nbtexception.getMessage()});
}
nbttagcompound.merge(nbttagcompound2);
nbttagcompound.setInteger("x", blockpos.getX());
nbttagcompound.setInteger("y", blockpos.getY());
nbttagcompound.setInteger("z", blockpos.getZ());
if (nbttagcompound.equals(nbttagcompound1))
{
throw new CommandException("commands.blockdata.failed", new Object[] {nbttagcompound.toString()});
}
else
{
tileentity.readFromNBT(nbttagcompound);
tileentity.markDirty();
world.notifyBlockUpdate(blockpos, iblockstate, iblockstate, 3);
sender.setCommandStat(CommandResultStats.Type.AFFECTED_BLOCKS, 1);
notifyCommandListener(sender, this, "commands.blockdata.success", new Object[] {nbttagcompound.toString()});
}
}
}
}
}
示例9: setTileEntityNBT
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
public static boolean setTileEntityNBT(World worldIn, @Nullable EntityPlayer player, BlockPos pos, ItemStack stackIn)
{
MinecraftServer minecraftserver = worldIn.getMinecraftServer();
if (minecraftserver == null)
{
return false;
}
else
{
if (stackIn.hasTagCompound() && stackIn.getTagCompound().hasKey("BlockEntityTag", 10))
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity != null)
{
if (!worldIn.isRemote && tileentity.onlyOpsCanSetNbt() && (player == null || !player.canUseCommandBlock()))
{
return false;
}
NBTTagCompound nbttagcompound = tileentity.writeToNBT(new NBTTagCompound());
NBTTagCompound nbttagcompound1 = nbttagcompound.copy();
NBTTagCompound nbttagcompound2 = (NBTTagCompound)stackIn.getTagCompound().getTag("BlockEntityTag");
nbttagcompound.merge(nbttagcompound2);
nbttagcompound.setInteger("x", pos.getX());
nbttagcompound.setInteger("y", pos.getY());
nbttagcompound.setInteger("z", pos.getZ());
if (!nbttagcompound.equals(nbttagcompound1))
{
tileentity.readFromNBT(nbttagcompound);
tileentity.markDirty();
return true;
}
}
}
return false;
}
}
示例10: execute
import net.minecraft.nbt.NBTTagCompound; //导入方法依赖的package包/类
/**
* Callback for when the command is executed
*/
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
{
if (args.length < 2)
{
throw new WrongUsageException("commands.entitydata.usage", new Object[0]);
}
else
{
Entity entity = getEntity(server, sender, args[0]);
if (entity instanceof EntityPlayer)
{
throw new CommandException("commands.entitydata.noPlayers", new Object[] {entity.getDisplayName()});
}
else
{
NBTTagCompound nbttagcompound = entityToNBT(entity);
NBTTagCompound nbttagcompound1 = nbttagcompound.copy();
NBTTagCompound nbttagcompound2;
try
{
nbttagcompound2 = JsonToNBT.getTagFromJson(getChatComponentFromNthArg(sender, args, 1).getUnformattedText());
}
catch (NBTException nbtexception)
{
throw new CommandException("commands.entitydata.tagError", new Object[] {nbtexception.getMessage()});
}
UUID uuid = entity.getUniqueID();
nbttagcompound.merge(nbttagcompound2);
entity.setUniqueId(uuid);
if (nbttagcompound.equals(nbttagcompound1))
{
throw new CommandException("commands.entitydata.failed", new Object[] {nbttagcompound.toString()});
}
else
{
entity.readFromNBT(nbttagcompound);
notifyCommandListener(sender, this, "commands.entitydata.success", new Object[] {nbttagcompound.toString()});
}
}
}
}