Interface ModifiableWorld

All Known Subinterfaces:
ModifiableTestableWorld, RegistryWorldView, ServerWorldAccess, StructureWorldAccess, WorldAccess
All Known Implementing Classes:
ChunkRegion, ClientWorld, ServerWorld, World

public interface ModifiableWorld
Represents a modifiable world where block states can be changed and entities spawned.
Mappings:
Namespace Name
official ctx
intermediary net/minecraft/class_1945
named net/minecraft/world/ModifiableWorld
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    breakBlock(BlockPos pos, boolean drop)
    Removes the block and replaces it with the fluid occupying the block (such as water inside kelp), or air if it does not exist.
    default boolean
    breakBlock(BlockPos pos, boolean drop, @Nullable Entity breakingEntity)
    Removes the block and replaces it with the fluid occupying the block (such as water inside kelp), or air if it does not exist.
    boolean
    breakBlock(BlockPos pos, boolean drop, @Nullable Entity breakingEntity, int maxUpdateDepth)
    Removes the block and replaces it with the fluid occupying the block (such as water inside kelp), or air if it does not exist.
    boolean
    removeBlock(BlockPos pos, boolean move)
    Removes the block and replaces it with the fluid occupying the block (such as water inside kelp), or air if it does not exist.
    default boolean
    setBlockState(BlockPos pos, BlockState state, int flags)
    Updates the block state at a position, calling appropriate callbacks.
    boolean
    setBlockState(BlockPos pos, BlockState state, int flags, int maxUpdateDepth)
    Updates the block state at a position, calling appropriate callbacks.
    default boolean
    Spawns an entity.
  • Method Details

    • setBlockState

      boolean setBlockState(BlockPos pos, BlockState state, int flags, int maxUpdateDepth)
      Updates the block state at a position, calling appropriate callbacks.

      When called on the server, the new block state is stored and propagated to clients and listeners as dictated by the supplied flags. Note that calling this on the client will update the world locally, but may not see the change persisted across loads. It's recommended to check whether this world is client before interacting with the world in this way.

      See setBlockState(BlockPos, BlockState, int) for a list of accepted flags.

      Parameters:
      pos - the target position
      state - the block state to set
      flags - the bitwise flag combination, as described above
      maxUpdateDepth - the limit for the cascading block updates
      Mappings:
      Namespace Name Mixin selector
      official a Lctx;a(Lhx;Ldjh;II)Z
      intermediary method_30092 Lnet/minecraft/class_1945;method_30092(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;II)Z
      named setBlockState Lnet/minecraft/world/ModifiableWorld;setBlockState(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;II)Z
    • setBlockState

      default boolean setBlockState(BlockPos pos, BlockState state, int flags)
      Updates the block state at a position, calling appropriate callbacks.

      When called on the server, the new block state is stored and propagated to clients and listeners as dictated by the supplied flags. Note that calling this on the client will update the world locally, but may not see the change persisted across loads. It's recommended to check whether this world is client before interacting with the world in this way.

      The accepted values of these flags are:

      Parameters:
      pos - the target position
      state - the block state to set
      flags - the bitwise flag combination, as described above
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lctx;a(Lhx;Ldjh;I)Z
      intermediary method_8652 Lnet/minecraft/class_1945;method_8652(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;I)Z
      named setBlockState Lnet/minecraft/world/ModifiableWorld;setBlockState(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;I)Z
    • removeBlock

      boolean removeBlock(BlockPos pos, boolean move)
      Removes the block and replaces it with the fluid occupying the block (such as water inside kelp), or air if it does not exist.
      Parameters:
      move - whether the block was removed as part of piston moving blocks
      Returns:
      whether the block was removed successfully
      See Also:
      Implementation Note:
      This does not emit the world event or the game event.
      Mappings:
      Namespace Name Mixin selector
      official a Lctx;a(Lhx;Z)Z
      intermediary method_8650 Lnet/minecraft/class_1945;method_8650(Lnet/minecraft/class_2338;Z)Z
      named removeBlock Lnet/minecraft/world/ModifiableWorld;removeBlock(Lnet/minecraft/util/math/BlockPos;Z)Z
    • breakBlock

      default boolean breakBlock(BlockPos pos, boolean drop)
      Removes the block and replaces it with the fluid occupying the block (such as water inside kelp), or air if it does not exist. Additionally, this emits the world event and the game event.
      Returns:
      whether the block was removed successfully
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lctx;b(Lhx;Z)Z
      intermediary method_22352 Lnet/minecraft/class_1945;method_22352(Lnet/minecraft/class_2338;Z)Z
      named breakBlock Lnet/minecraft/world/ModifiableWorld;breakBlock(Lnet/minecraft/util/math/BlockPos;Z)Z
    • breakBlock

      default boolean breakBlock(BlockPos pos, boolean drop, @Nullable @Nullable Entity breakingEntity)
      Removes the block and replaces it with the fluid occupying the block (such as water inside kelp), or air if it does not exist. Additionally, this emits the world event and the game event.
      Returns:
      whether the block was removed successfully
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lctx;a(Lhx;ZLblv;)Z
      intermediary method_8651 Lnet/minecraft/class_1945;method_8651(Lnet/minecraft/class_2338;ZLnet/minecraft/class_1297;)Z
      named breakBlock Lnet/minecraft/world/ModifiableWorld;breakBlock(Lnet/minecraft/util/math/BlockPos;ZLnet/minecraft/entity/Entity;)Z
    • breakBlock

      boolean breakBlock(BlockPos pos, boolean drop, @Nullable @Nullable Entity breakingEntity, int maxUpdateDepth)
      Removes the block and replaces it with the fluid occupying the block (such as water inside kelp), or air if it does not exist. Additionally, this emits the world event and the game event.
      Returns:
      whether the block was removed successfully
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lctx;a(Lhx;ZLblv;I)Z
      intermediary method_30093 Lnet/minecraft/class_1945;method_30093(Lnet/minecraft/class_2338;ZLnet/minecraft/class_1297;I)Z
      named breakBlock Lnet/minecraft/world/ModifiableWorld;breakBlock(Lnet/minecraft/util/math/BlockPos;ZLnet/minecraft/entity/Entity;I)Z
    • spawnEntity

      default boolean spawnEntity(Entity entity)
      Spawns an entity.
      See Also:
      API Note:
      To spawn an entity with passengers, use ServerWorldAccess.spawnEntityAndPassengers(net.minecraft.entity.Entity).
      Mappings:
      Namespace Name Mixin selector
      official b Lctx;b(Lblv;)Z
      intermediary method_8649 Lnet/minecraft/class_1945;method_8649(Lnet/minecraft/class_1297;)Z
      named spawnEntity Lnet/minecraft/world/ModifiableWorld;spawnEntity(Lnet/minecraft/entity/Entity;)Z