本文整理汇总了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;
}
}
}
示例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());
}
}
示例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
}
}
}
示例4: setPos
import net.minecraft.util.math.BlockPos; //导入方法依赖的package包/类
public void setPos(BlockPos posIn)
{
this.pos = posIn.toImmutable();
}