Java源码示例:net.minecraft.world.WorldView
示例1
@SuppressWarnings("deprecation")
@Override
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
Iterator<Direction> iterator = Direction.Type.HORIZONTAL.iterator();
Direction direction;
Material material;
do {
if (!iterator.hasNext()) {
Block block = world.getBlockState(pos.down()).getBlock();
return (block == HallowedBlocks.RESTLESS_CACTUS || block == HallowedBlocks.TAINTED_SAND) && !world.getBlockState(pos.up()).getMaterial().isLiquid();
}
direction = iterator.next();
BlockState state2 = world.getBlockState(pos.offset(direction));
material = state2.getMaterial();
} while (!material.isSolid() && !world.getFluidState(pos.offset(direction)).matches(FluidTags.LAVA));
return false;
}
示例2
@Override
public boolean canPlaceAt(BlockState state, WorldView WorldView, BlockPos pos) {
BlockPos pos2 = pos;
BlockPos pos3 = pos;
pos2 = pos2.add(0, -1, 0);
pos3 = pos3.add(0, 1, 0);
//If it isn't on the ground and it is below a block
return (!WorldView.getBlockState(pos3).getBlock().equals(Blocks.AIR))
&& (WorldView.getBlockState(pos2).getBlock().equals(Blocks.AIR)
|| WorldView.getBlockState(pos2).getBlock().equals(GalacticraftBlocks.CAVERNOUS_VINE)
|| WorldView.getBlockState(pos2).getBlock().equals(GalacticraftBlocks.POISONOUS_CAVERNOUS_VINE));
}
示例3
@Override
public boolean canPlaceAt(BlockState blockState_1, WorldView WorldView_1, BlockPos blockPos_1) {
for (BlockPos otherPart : getOtherParts(blockState_1, blockPos_1)) {
if (!WorldView_1.getBlockState(otherPart).getMaterial().isReplaceable()) {
return false;
}
}
return super.canPlaceAt(blockState_1, WorldView_1, blockPos_1);
}
示例4
@Override
protected boolean isTargetPos(WorldView world, BlockPos pos) {
Chunk chunk1 = world.getChunk(pos.getX() >> 4, pos.getZ() >> 4, ChunkStatus.FULL, false);
if (chunk1 == null) {
return false;
} else {
return chunk1.getBlockState(pos).getBlock() == this.targetBlock && chunk1.getBlockState(pos.up()).isAir() && chunk1.getBlockState(pos.up(2)).isAir();
}
}
示例5
@Override
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
if (super.canPlaceAt(state, world, pos)) return true;
BlockPos downPos = pos.down();
BlockState downState = world.getBlockState(downPos);
Block downBlock = downState.getBlock();
return (downBlock == HallowedBlocks.DECEASED_GRASS_BLOCK || downBlock == HallowedBlocks.DECEASED_DIRT || downBlock == HallowedBlocks.DECEASED_MOSS);
}
示例6
@Redirect(method = "method_21845", at = @At(
value = "INVOKE",
target = "Lnet/minecraft/block/AbstractButtonBlock;getTickRate(Lnet/minecraft/world/WorldView;)I"
))
private int getCustomTickRate(AbstractButtonBlock abstractButtonBlock, WorldView viewableWorld_1,
BlockState blockState_1, World world_1, BlockPos blockPos_1)
{
if (!CarpetExtraSettings.variableWoodDelays)
{
return abstractButtonBlock.getTickRate(viewableWorld_1);
}
return WoodDelayMultipliers.getForDelay(blockState_1.getBlock(), abstractButtonBlock.getTickRate(viewableWorld_1));
}
示例7
@Redirect(method = "updatePlateState", at = @At(
value = "INVOKE",
target ="Lnet/minecraft/block/AbstractPressurePlateBlock;getTickRate(Lnet/minecraft/world/WorldView;)I"
))
private int getCustomTickRate(AbstractPressurePlateBlock abstractPressurePlateBlock, WorldView viewableWorld_1,
World world_1, BlockPos blockPos_1, BlockState blockState_1, int int_1)
{
if (!CarpetExtraSettings.variableWoodDelays)
{
return abstractPressurePlateBlock.getTickRate(viewableWorld_1);
}
return WoodDelayMultipliers.getForDelay(blockState_1.getBlock(), abstractPressurePlateBlock.getTickRate(viewableWorld_1));
}
示例8
@Override
public int getTickRate(WorldView WorldView) {
return 7;
}
示例9
@Override
protected int getFlowSpeed(WorldView world) {
return 4;
}
示例10
@Override
public int getLevelDecreasePerBlock(WorldView WorldView) {
return 1;
}
示例11
@Override
public int getTickRate(WorldView WorldView) {
return 7;
}
示例12
@Override
public int getFlowSpeed(WorldView WorldView) {
return 4;
}
示例13
@Override
public int getLevelDecreasePerBlock(WorldView WorldView) {
return 1;
}
示例14
@Override
public float getPathfindingFavor(BlockPos pos, WorldView world) {
return world.getBlockState(pos.down()).getBlock() == HallowedBlocks.TAINTED_SAND ? 10.0F : 1.0F;
}
示例15
@Override
public int getTickRate(WorldView viewableWorld) {
return 5;
}
示例16
@Override
public int method_15733(WorldView viewableWorld) {
return 4;
}
示例17
@Override
public int getLevelDecreasePerBlock(WorldView viewableWorld) {
return 1;
}
示例18
@Override
public int getTickRate(WorldView viewableWorld) {
return 10;
}
示例19
@Override
public int method_15733(WorldView viewableWorld) {
return 4;
}
示例20
@Override
public int getLevelDecreasePerBlock(WorldView viewableWorld) {
return 1;
}
示例21
@SuppressWarnings("deprecation")
@Override
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
return world.getBlockState(pos.down()).getMaterial().isSolid();
}
示例22
@Override
public int getTickRate(WorldView viewableworld) {
return 20;
}
示例23
@Override
public int getTickRate(WorldView world) {
return 5;
}
示例24
@SuppressWarnings("deprecation")
@Override
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
Block block = world.getBlockState(pos.down()).getBlock();
return block == HallowedBlocks.WITCH_WATER_BUBBLE_COLUMN || block == HallowedBlocks.BLEEDING_BLOCK || block == HallowedBlocks.COARSE_TAINTED_SAND;
}
示例25
@SuppressWarnings("deprecation")
@Override
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
BlockPos down = pos.down();
return Block.isFaceFullSquare(world.getBlockState(down).getCollisionShape(world, down), Direction.UP);
}
示例26
@Override
public int getTickRate(WorldView viewableworld) {
return 2;
}
示例27
@SuppressWarnings("deprecation")
@Override
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
BlockPos down = pos.down();
return Block.isFaceFullSquare(world.getBlockState(down).getCollisionShape(world, down), Direction.UP);
}
示例28
private static boolean canSurvive(BlockState blockState, WorldView viewableWorld, BlockPos blockPos) {
BlockPos upPos = blockPos.up();
BlockState upBlockState = viewableWorld.getBlockState(upPos);
int lightLevel = ChunkLightProvider.getRealisticOpacity(viewableWorld, blockState, blockPos, upBlockState, upPos, Direction.UP, upBlockState.getOpacity(viewableWorld, upPos));
return lightLevel < viewableWorld.getMaxLightLevel();
}
示例29
private static boolean canSpread(BlockState blockState, WorldView viewableWorld, BlockPos blockPos) {
BlockPos upPos = blockPos.up();
return canSurvive(blockState, viewableWorld, blockPos) && !viewableWorld.getFluidState(upPos).matches(FluidTags.WATER);
}
示例30
@Override
protected int method_15733(WorldView var1) {
return 4;
}