本文整理匯總了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();
}