當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。