當前位置: 首頁>>代碼示例>>Java>>正文


Java NBTTagCompound.copy方法代碼示例

本文整理匯總了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);
    }
}
 
開發者ID:ternsip,項目名稱:StructPro,代碼行數:23,代碼來源:UWorld.java

示例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);
    }
}
 
開發者ID:ternsip,項目名稱:StructPro,代碼行數:22,代碼來源:UWorld.java

示例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;
    }
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:36,代碼來源:ShieldRecipes.java

示例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();
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:10,代碼來源:FluidStack.java

示例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;
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:43,代碼來源:ItemBlock.java

示例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()});
                }
            }
        }
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:65,代碼來源:CommandBlockData.java

示例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()});
            }
        }
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:50,代碼來源:CommandEntityData.java

示例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()});
                }
            }
        }
    }
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:65,代碼來源:CommandBlockData.java

示例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;
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:42,代碼來源:ItemBlock.java

示例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()});
            }
        }
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:49,代碼來源:CommandEntityData.java


注:本文中的net.minecraft.nbt.NBTTagCompound.copy方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。