当前位置: 首页>>代码示例>>Java>>正文


Java BlockPos.toImmutable方法代码示例

本文整理汇总了Java中net.minecraft.util.math.BlockPos.toImmutable方法的典型用法代码示例。如果您正苦于以下问题:Java BlockPos.toImmutable方法的具体用法?Java BlockPos.toImmutable怎么用?Java BlockPos.toImmutable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraft.util.math.BlockPos的用法示例。


在下文中一共展示了BlockPos.toImmutable方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onClientTick

import net.minecraft.util.math.BlockPos; //导入方法依赖的package包/类
@SubscribeEvent
public static void onClientTick(ClientTickEvent event) throws Throwable {
    if (event.phase == Phase.START && (!Configs.creativeOnly || Minecraft.getMinecraft().player.isCreative())) {
        int timer = (int) getDelayTimer.invoke(Minecraft.getMinecraft());
        RayTraceResult hover = Minecraft.getMinecraft().objectMouseOver;
        if (hover != null && hover.typeOfHit == Type.BLOCK) {
            BlockPos pos = hover.getBlockPos();
            if (timer > 0 && !pos.equals(lastTargetPos) && (lastTargetPos == null || !pos.equals(lastTargetPos.offset(lastTargetSide)))) {
                setDelayTimer.invoke(Minecraft.getMinecraft(), 0);
            } else if (Configs.forceNewLoc && timer == 0 && pos.equals(lastTargetPos) && hover.sideHit == lastTargetSide) {
                setDelayTimer.invoke(Minecraft.getMinecraft(), 4);
            }
            lastTargetPos = pos.toImmutable();
            lastTargetSide = hover.sideHit;
        }
    }
}
 
开发者ID:tterrag1098,项目名称:BetterPlacement,代码行数:18,代码来源:BetterPlacement.java

示例2: BlockSnapshot

import net.minecraft.util.math.BlockPos; //导入方法依赖的package包/类
public BlockSnapshot(World world, BlockPos pos, IBlockState state, NBTTagCompound nbt)
{
    this.setWorld(world);
    this.dimId = world.provider.getDimension();
    this.pos = pos.toImmutable();
    this.setReplacedBlock(state);
    this.registryName = state.getBlock().getRegistryName();
    this.meta = state.getBlock().getMetaFromState(state);
    this.setFlag(3);
    this.nbt = nbt;
    if (DEBUG)
    {
        System.out.printf("Created BlockSnapshot - [World: %s ][Location: %d,%d,%d ][Block: %s ][Meta: %d ]", world.getWorldInfo().getWorldName(), pos.getX(), pos.getY(), pos.getZ(), getRegistryName(), getMeta());
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:16,代码来源:BlockSnapshot.java

示例3: setTileEntity

import net.minecraft.util.math.BlockPos; //导入方法依赖的package包/类
public void setTileEntity(BlockPos pos, @Nullable TileEntity tileEntityIn)
{
    pos = pos.toImmutable(); // Forge - prevent mutable BlockPos leaks
    if (!this.isOutsideBuildHeight(pos))
    {
        if (tileEntityIn != null && !tileEntityIn.isInvalid())
        {
            if (this.processingLoadedTiles)
            {
                tileEntityIn.setPos(pos);
                if (tileEntityIn.getWorld() != this)
                    tileEntityIn.setWorldObj(this); // Forge - set the world early as vanilla doesn't set it until next tick
                Iterator<TileEntity> iterator = this.addedTileEntityList.iterator();

                while (iterator.hasNext())
                {
                    TileEntity tileentity = (TileEntity)iterator.next();

                    if (tileentity.getPos().equals(pos))
                    {
                        tileentity.invalidate();
                        iterator.remove();
                    }
                }

                this.addedTileEntityList.add(tileEntityIn);
            }
            else
            {
                this.addTileEntity(tileEntityIn);
                Chunk chunk = this.getChunkFromBlockCoords(pos); //Forge add NPE protection
                if (chunk != null) chunk.addTileEntity(pos, tileEntityIn);
            }
            this.updateComparatorOutputLevel(pos, getBlockState(pos).getBlock()); //Notify neighbors of changes
        }
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:38,代码来源:World.java

示例4: setPos

import net.minecraft.util.math.BlockPos; //导入方法依赖的package包/类
public void setPos(BlockPos posIn)
{
    this.pos = posIn.toImmutable();
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:5,代码来源:TileEntity.java


注:本文中的net.minecraft.util.math.BlockPos.toImmutable方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。