net.minecraft.world.World.getBlockState()方法的使用及代码示例

x33g5p2x  于2022-02-02 转载在 其他  
字(7.1k)|赞(0)|评价(0)|浏览(278)

本文整理了Java中net.minecraft.world.World.getBlockState()方法的一些代码示例,展示了World.getBlockState()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。World.getBlockState()方法的具体详情如下:
包路径:net.minecraft.world.World
类名称:World
方法名:getBlockState

World.getBlockState介绍

暂无

代码示例

代码示例来源:origin: EngineHub/WorldEdit

  1. @Override
  2. public void simulateBlockMine(BlockVector3 position) {
  3. BlockPos pos = ForgeAdapter.toBlockPos(position);
  4. IBlockState state = getWorld().getBlockState(pos);
  5. state.getBlock().dropBlockAsItem(getWorld(), pos, state, 0);
  6. getWorld().setBlockToAir(pos);
  7. }

代码示例来源:origin: EngineHub/WorldEdit

  1. @Override
  2. public BlockState getBlock(BlockVector3 position) {
  3. World world = getWorld();
  4. BlockPos pos = new BlockPos(position.getBlockX(), position.getBlockY(), position.getBlockZ());
  5. IBlockState mcState = world.getBlockState(pos);
  6. BlockType blockType = BlockType.REGISTRY.get(Block.REGISTRY.getNameForObject(mcState.getBlock()).toString());
  7. return blockType.getState(adaptProperties(blockType, mcState.getProperties()));
  8. }

代码示例来源:origin: Vazkii/Botania

  1. @Override
  2. public LexiconEntry getEntry(World world, BlockPos pos, EntityPlayer player, ItemStack lexicon) {
  3. boolean isDefaultVariant = world.getBlockState(pos).getValue(BotaniaStateProps.LIVINGROCK_VARIANT) == LivingRockVariant.DEFAULT;
  4. return isDefaultVariant ? LexiconData.pureDaisy : LexiconData.decorativeBlocks;
  5. }

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

  1. public static boolean isBlockAir( final World w, final BlockPos pos )
  2. {
  3. try
  4. {
  5. return w.getBlockState( pos ).getBlock().isAir( w.getBlockState( pos ), w, pos );
  6. }
  7. catch( final Throwable e )
  8. {
  9. return false;
  10. }
  11. }

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

  1. private void dropTorch( final World w, final BlockPos pos )
  2. {
  3. final IBlockState prev = w.getBlockState( pos );
  4. w.destroyBlock( pos, true );
  5. w.notifyBlockUpdate( pos, prev, w.getBlockState( pos ), 3 );
  6. }

代码示例来源:origin: Vazkii/Botania

  1. @Override
  2. public LexiconEntry getEntry(World world, BlockPos pos, EntityPlayer player, ItemStack lexicon) {
  3. SpreaderVariant variant = world.getBlockState(pos).getValue(BotaniaStateProps.SPREADER_VARIANT);
  4. return variant == SpreaderVariant.MANA ? LexiconData.spreader : variant == SpreaderVariant.REDSTONE ? LexiconData.redstoneSpreader : LexiconData.dreamwoodSpreader;
  5. }

代码示例来源:origin: Vazkii/Botania

  1. @Override
  2. public LexiconEntry getEntry(World world, BlockPos pos, EntityPlayer player, ItemStack lexicon) {
  3. boolean defaultVariant = world.getBlockState(pos).getValue(BotaniaStateProps.LIVINGWOOD_VARIANT) == LivingWoodVariant.DEFAULT;
  4. return defaultVariant ? LexiconData.pureDaisy : LexiconData.decorativeBlocks;
  5. }

代码示例来源:origin: Vazkii/Botania

  1. @Nonnull
  2. @Override
  3. public ItemStack getPickBlock(@Nonnull IBlockState state, RayTraceResult target, @Nonnull World world, @Nonnull BlockPos pos, EntityPlayer player) {
  4. return new ItemStack(this, 1, getMetaFromState(world.getBlockState(pos)));
  5. }

代码示例来源:origin: Vazkii/Botania

  1. @Nonnull
  2. @Override
  3. public ItemStack getPickBlock(@Nonnull IBlockState state, RayTraceResult target, @Nonnull World world, @Nonnull BlockPos pos, EntityPlayer player) {
  4. return new ItemStack(this, 1, getMetaFromState(world.getBlockState(pos)));
  5. }

代码示例来源:origin: Vazkii/Botania

  1. private boolean isValidBinding() {
  2. BlockPos nextDest = getNextDestination();
  3. if(nextDest == null)
  4. return false;
  5. Block block = world.getBlockState(nextDest).getBlock();
  6. return block == ModBlocks.lightRelay;
  7. }

代码示例来源:origin: Vazkii/Botania

  1. @Override
  2. public int getAvailableSpaceForMana() {
  3. int space = Math.max(0, manaCap - getCurrentMana());
  4. if(space > 0)
  5. return space;
  6. else if(world.getBlockState(pos.down()).getBlock() == ModBlocks.manaVoid)
  7. return manaCap;
  8. else return 0;
  9. }

代码示例来源:origin: Vazkii/Botania

  1. @Override
  2. public boolean canPlaceBlockAt(World world, BlockPos pos) {
  3. return world.getBlockState(pos.down()).getBlock() == ModBlocks.redStringRelay
  4. || world.getBlockState(pos.down()).getBlock() == Blocks.MYCELIUM
  5. || super.canPlaceBlockAt(world, pos);
  6. }

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

  1. @Override
  2. public void onReady()
  3. {
  4. super.onReady();
  5. final int value = this.world.getBlockState( this.pos ).getValue( BlockEnergyCell.ENERGY_STORAGE );
  6. this.currentMeta = (byte) value;
  7. this.changePowerLevel();
  8. }

代码示例来源:origin: Vazkii/Botania

  1. private boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, IBlockState newState) {
  2. if (!world.setBlockState(pos, newState, 3)) return false;
  3. IBlockState state = world.getBlockState(pos);
  4. if (state.getBlock() == ModBlocks.buriedPetals)
  5. {
  6. // setTileEntityNBT(world, player, pos, stack);
  7. ModBlocks.buriedPetals.onBlockPlacedBy(world, pos, state, player, stack);
  8. }
  9. return true;
  10. }

代码示例来源:origin: Vazkii/Botania

  1. @Override
  2. public boolean bindTo(EntityPlayer player, ItemStack wand, BlockPos pos, EnumFacing side) {
  3. if(player.world.getBlockState(pos).getBlock() != ModBlocks.lightRelay || pos.distanceSq(getPos()) > MAX_DIST * MAX_DIST)
  4. return false;
  5. bindPos = pos;
  6. return true;
  7. }

代码示例来源:origin: Vazkii/Botania

  1. private RecipePureDaisy findRecipe(BlockPos coords) {
  2. IBlockState state = getWorld().getBlockState(coords);
  3. for(RecipePureDaisy recipe : BotaniaAPI.pureDaisyRecipes) {
  4. if(recipe.matches(getWorld(), coords, this, state)) {
  5. return recipe;
  6. }
  7. }
  8. return null;
  9. }

代码示例来源:origin: Vazkii/Botania

  1. private boolean isPlant(BlockPos pos) {
  2. IBlockState state = supertile.getWorld().getBlockState(pos);
  3. Block block = state.getBlock();
  4. if(block == Blocks.GRASS || block == Blocks.LEAVES || block == Blocks.LEAVES2 || block instanceof BlockBush && !(block instanceof BlockCrops) && !(block instanceof BlockSapling))
  5. return false;
  6. Material mat = state.getMaterial();
  7. return mat != null && (mat == Material.PLANTS || mat == Material.CACTUS || mat == Material.GRASS || mat == Material.LEAVES || mat == Material.GOURD) && block instanceof IGrowable && ((IGrowable) block).canGrow(supertile.getWorld(), pos, supertile.getWorld().getBlockState(pos), supertile.getWorld().isRemote);
  8. }

代码示例来源:origin: Vazkii/Botania

  1. public boolean onWanded() {
  2. AlfPortalState state = world.getBlockState(getPos()).getValue(BotaniaStateProps.ALFPORTAL_STATE);
  3. if(state == AlfPortalState.OFF) {
  4. AlfPortalState newState = getValidState();
  5. if(newState != AlfPortalState.OFF) {
  6. world.setBlockState(getPos(), world.getBlockState(getPos()).withProperty(BotaniaStateProps.ALFPORTAL_STATE, newState), 1 | 2);
  7. return true;
  8. }
  9. }
  10. return false;
  11. }

代码示例来源:origin: Vazkii/Botania

  1. @Override
  2. public void updateTick(World world, BlockPos pos, IBlockState state, Random rand) {
  3. if(!world.isRemote && state.getBlock() == this && world.getLight(pos.up()) >= 9) {
  4. AltGrassVariant variant = state.getValue(BotaniaStateProps.ALTGRASS_VARIANT);
  5. for(int l = 0; l < 4; ++l) {
  6. BlockPos pos1 = pos.add(rand.nextInt(3) - 1, rand.nextInt(5) - 3, rand.nextInt(3) - 1);
  7. world.getBlockState(pos1.up()).getBlock();
  8. if(world.getBlockState(pos1).getBlock() == Blocks.DIRT && world.getBlockState(pos1).getValue(BlockDirt.VARIANT) == BlockDirt.DirtType.DIRT && world.getLight(pos1.up()) >= 4 && world.getBlockLightOpacity(pos1.up()) <= 2)
  9. world.setBlockState(pos1, getDefaultState().withProperty(BotaniaStateProps.ALTGRASS_VARIANT, variant), 1 | 2);
  10. }
  11. }
  12. }

代码示例来源:origin: Vazkii/Botania

  1. @Override
  2. public void render(@Nonnull TilePylon pylon, double d0, double d1, double d2, float pticks, int digProgress, float unused) {
  3. boolean renderingItem = pylon == ForwardingTEISR.DUMMY;
  4. if(!renderingItem && (!pylon.getWorld().isBlockLoaded(pylon.getPos(), false) || pylon.getWorld().getBlockState(pylon.getPos()).getBlock() != ModBlocks.pylon))
  5. return;
  6. renderPylon(pylon, d0, d1, d2, pticks, renderingItem);
  7. }

相关文章

World类方法