本文整理汇总了Java中net.minecraft.tileentity.TileEntity.isInvalid方法的典型用法代码示例。如果您正苦于以下问题:Java TileEntity.isInvalid方法的具体用法?Java TileEntity.isInvalid怎么用?Java TileEntity.isInvalid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.tileentity.TileEntity
的用法示例。
在下文中一共展示了TileEntity.isInvalid方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getTileEntity
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
public TileEntity getTileEntity(BlockPos pos, Chunk.EnumCreateEntityType p_177424_2_)
{
TileEntity tileentity = (TileEntity)this.chunkTileEntityMap.get(pos);
if (tileentity == null)
{
if (p_177424_2_ == Chunk.EnumCreateEntityType.IMMEDIATE)
{
tileentity = this.createNewTileEntity(pos);
this.worldObj.setTileEntity(pos, tileentity);
}
else if (p_177424_2_ == Chunk.EnumCreateEntityType.QUEUED)
{
this.tileEntityPosQueue.add(pos);
}
}
else if (tileentity.isInvalid())
{
this.chunkTileEntityMap.remove(pos);
return null;
}
return tileentity;
}
示例2: getTileEntity
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
@Nullable
public TileEntity getTileEntity(BlockPos pos, Chunk.EnumCreateEntityType p_177424_2_)
{
TileEntity tileentity = (TileEntity)this.chunkTileEntityMap.get(pos);
if (tileentity == null)
{
if (p_177424_2_ == Chunk.EnumCreateEntityType.IMMEDIATE)
{
tileentity = this.createNewTileEntity(pos);
this.worldObj.setTileEntity(pos, tileentity);
}
else if (p_177424_2_ == Chunk.EnumCreateEntityType.QUEUED)
{
this.tileEntityPosQueue.add(pos);
}
}
else if (tileentity.isInvalid())
{
this.chunkTileEntityMap.remove(pos);
return null;
}
return tileentity;
}
示例3: getTileEntity
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
@Nullable
public TileEntity getTileEntity(BlockPos pos, Chunk.EnumCreateEntityType p_177424_2_)
{
TileEntity tileentity = (TileEntity)this.chunkTileEntityMap.get(pos);
if (tileentity != null && tileentity.isInvalid())
{
chunkTileEntityMap.remove(pos);
tileentity = null;
}
if (tileentity == null)
{
if (p_177424_2_ == Chunk.EnumCreateEntityType.IMMEDIATE)
{
tileentity = this.createNewTileEntity(pos);
this.worldObj.setTileEntity(pos, tileentity);
}
else if (p_177424_2_ == Chunk.EnumCreateEntityType.QUEUED)
{
this.tileEntityPosQueue.add(pos.toImmutable());
}
}
return tileentity;
}
示例4: setTileEntity
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
public void setTileEntity(BlockPos pos, TileEntity tileEntityIn)
{
if (tileEntityIn != null && !tileEntityIn.isInvalid())
{
if (this.processingLoadedTiles)
{
tileEntityIn.setPos(pos);
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);
this.getChunkFromBlockCoords(pos).addTileEntity(pos, tileEntityIn);
}
}
}
示例5: getPendingTileEntityAt
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
@Nullable
private TileEntity getPendingTileEntityAt(BlockPos p_189508_1_)
{
for (int i = 0; i < this.addedTileEntityList.size(); ++i)
{
TileEntity tileentity = (TileEntity)this.addedTileEntityList.get(i);
if (!tileentity.isInvalid() && tileentity.getPos().equals(p_189508_1_))
{
return tileentity;
}
}
return null;
}
示例6: setTileEntity
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
public void setTileEntity(BlockPos pos, @Nullable TileEntity tileEntityIn)
{
if (!this.isOutsideBuildHeight(pos))
{
if (tileEntityIn != null && !tileEntityIn.isInvalid())
{
if (this.processingLoadedTiles)
{
tileEntityIn.setPos(pos);
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.getChunkFromBlockCoords(pos).addTileEntity(pos, tileEntityIn);
this.addTileEntity(tileEntityIn);
}
}
}
}
示例7: removeInvalidTileEntity
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
/**
* Removes the tile entity at the specified position, only if it's
* marked as invalid.
*/
public void removeInvalidTileEntity(BlockPos pos)
{
if (isChunkLoaded)
{
TileEntity entity = (TileEntity)chunkTileEntityMap.get(pos);
if (entity != null && entity.isInvalid())
{
chunkTileEntityMap.remove(pos);
}
}
}
示例8: setTileEntity
import net.minecraft.tileentity.TileEntity; //导入方法依赖的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
}
}
}
示例9: getTileEntity
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
public TileEntity getTileEntity(BlockPos pos)
{
if (!this.isValid(pos))
{
return null;
}
else
{
TileEntity tileentity = null;
if (this.processingLoadedTiles)
{
for (int i = 0; i < this.addedTileEntityList.size(); ++i)
{
TileEntity tileentity1 = (TileEntity)this.addedTileEntityList.get(i);
if (!tileentity1.isInvalid() && tileentity1.getPos().equals(pos))
{
tileentity = tileentity1;
break;
}
}
}
if (tileentity == null)
{
tileentity = this.getChunkFromBlockCoords(pos).getTileEntity(pos, Chunk.EnumCreateEntityType.IMMEDIATE);
}
if (tileentity == null)
{
for (int j = 0; j < this.addedTileEntityList.size(); ++j)
{
TileEntity tileentity2 = (TileEntity)this.addedTileEntityList.get(j);
if (!tileentity2.isInvalid() && tileentity2.getPos().equals(pos))
{
tileentity = tileentity2;
break;
}
}
}
return tileentity;
}
}
示例10: getConnectedCapabilities
import net.minecraft.tileentity.TileEntity; //导入方法依赖的package包/类
/**
* Gets a list of all capabilities that touch a BlockPos. This will search for tile
* entities touching the BlockPos and then query them for access to their capabilities.
*
* @param capability The capability you want to retrieve.
* @param world The world that this is happening in.
* @param pos The position to search around.
* @return A list of all capabilities that are being held by connected blocks.
*/
public static <T> List<T> getConnectedCapabilities (Capability<T> capability, World world, BlockPos pos) {
final List<T> capabilities = new ArrayList<T>();
for (final EnumFacing side : EnumFacing.values()) {
final TileEntity tile = world.getTileEntity(pos.offset(side));
if (tile != null && !tile.isInvalid() && tile.hasCapability(capability, side.getOpposite()))
capabilities.add(tile.getCapability(capability, side.getOpposite()));
}
return capabilities;
}