For Minecraft: Bedrock Edition 1.21.50
Added
- (API) Introduced
AllayAPI#isDevBuild
to let plugin know if the current server is a dev build. - (API) Introduced
BlockCustomTags#WATER
andBlockCustomTags#LAVA
to allow checking if a block is water or lava
easier. This is because there are two types of water (minecraft:water
andminecraft:flowing_water
) and lava (
minecraft:lava
andminecraft:flowing_lava
) in vanilla. - (API) Introduced
Dimension#getLiquid
,Dimension#setLiquid
andDimension#removeLiquid
methods to help plugin
operate liquid easier. - (API) Introduced
Dimension#addLevelSoundEvent(Vector3ic pos, SoundEvent soundEvent, int extraData)
and
Dimension#addLevelSoundEvent(Vector3fc pos, SoundEvent soundEvent, int extraData)
. - (API) Added
EntityTrampleFarmlandEvent
. EntityTrampleFarmlandEvent is called when a farmland is trampled by an
entity. - (API) Added
BlockGrowEvent
which will be called when crops grow. - (API) Added two overloads
LightService#getInternalLight(Vector3ic)
andLightService#getSkyLight(Vector3ic)
, they
have the same functionality asLightService#getXXXLight(int, int, int)
. - (API)
BlockContainer#getBlockPos
andBlockContainer#setBlockPos
now return/requirePosition3ic
instead of
Vector3ic
, this enables us to get the dimension information of aBlockContainer
. - (API) Implemented brewing stand, and several related interfaces & objects including
BlockEntityBrewingStand
,BrewingStandContainer
,
Registries#POTION_MIX_RECIPES
,PotionMixRecipe
are added to api module, see commit history for more details. AddedBrewingStandBrewEvent
,
BrewingStandConsumeFuelEvent
andBrewingStandStartBrewEvent
events. - (API) Implemented slab, and several related interfaces are added to api module.
- (API) Introduced
BlockBaseComponent#combine
method which is used by slab. For the details of this method, see the javadoc. - (API) Implemented beacon block, and several related interfaces are added to api module.
- (API) Implemented brewing stand, and several related interfaces & objects including
BlockEntityBrewingStand
,
BrewingStandContainer
,Registries#POTION_MIX_RECIPES
,PotionMixRecipe
are added to api module. See commit
history for more details. - (API) Implemented picking block with block entity data. The following methods are added:
ItemBaseComponent#getBlockEntityNBT
,
ItemBaseComponent#setBlockEntityNBT
,ItemBaseComponent#clearBlockEntityNBT
andItemBaseComponent#hasBlockEntityNBT
. - (API) Implemented TNT. There is now a new class called
Explosion
which can be used by plugin to make custom explosion. - (API) Introduced a number of overloads of
Dimension#addSound
. - (API) Introduced method
EntityAttributeComponent#supportAttribute
to check if the entity support specified attribute type. - (API) Introduced methods
DamageContainer#blockExplosion
andDamageContainer#entityExplosion
to create explosion related damage. - (API) Introduced methods
EntityBaseComponent#getDragFactorOnGround
andEntityBaseComponent#getDragFactorInAir
, which can be used to
customize the drag factor of an entity. - (API) Introduced event
EntityExplodeEvent
which will be called when tnt or creeper(WIP) is about to explode. - (API) Introduced method
EntityBaseComponent#isTouchingWater
to check if an entity is touching water. - (API) Implemented TNT entity, block and related features. Several related interfaces are added to api module.
- Implemented trapdoor except redstone feature (Redstone feature requires the implementation of redstone system).
- Implemented sponge and wet sponge.
- Implemented farmland and hoe.
- Implemented most of the crops, including wheat, potato, carrot, beetroot, melon and pumpkin.
- Introduced sentry to capture exception and upload them to sentry server automatically, which
helps us to track and fix bug more efficiently. Sentry is only enabled in non-dev version. - Server version will also be uploaded to bStats now.
- Introduced
Extension#afterServerStarted
method which will be called after the server is started.
Changed
- (API) Removed
BlockFace#toStairDirectionValue
, this method shouldn't exist in api module. - (API)
BlockTags
,BlockCustomTags
,ItemTags
andItemCustomTags
are now annotated with
@MinecraftVersionSensitive
as these tags may change between different versions. - (API) The second parameter of
BlockBaseComponent#onEntityFallOn
now acceptsBlockStateWithPos
instead of
BlockState
. - (API)
EntityBaseComponent#getBlockStateStandingOn
now returnBlockStateWithPos
instead ofBlockState
. - (API) Removed
BlockFace#horizontalIndex
which is useless. - (API) Removed
ScoreboardService#ServerEventListener
as it is not supposed to be touched by plugin. - (API) Methods
BlockEntityFurnaceBaseComponent#getStoredXP
andBlockEntityFurnaceBaseComponent#setStoredXP
now
acceptint
instead offloat
. - (API) Renamed
Structure#pickStructure
toStructure#pick
. - (API) Renamed
ItemItemStorableComponentImpl
toItemStuffStorableComponentImpl
, and nowItemShulkerBoxStack
extendsItemStuffStorableComponent
. - (API) Removed methods
EntityAttributeComponent#supportHealth
andEntityAttributeComponent#supportAbsorption
.
Consider using new methodEntityAttributeComponent#supportAttribute
. - (API) Renamed method
EntityBaseComponent#getBaseOffset
toEntityBaseComponent#getNetworkOffset
for better
understanding. - (API) Removed method
Dimension#setBlockStates
. This method is considered to be unsafe as it will only set the block state,
block entity won't be created if the block has block entity. Further research is currently needed. - Removed useless class
PackageClassLoaderUtils
, dependencyorg.reflections.reflections
is also removed. - Added
-dev
suffix to api version in development build. - Changed
ContainerActionProcessorHolder
to a final class instead of an interface, because this abstraction is
meaningless. - Changed
enableGui
toenable-gui
inserver-settings.yml
- Disabled packet limit only in dev build.
- Optimized the performance of physics calculation when there are a lot of entities.
- Changed the gravity of item and xp orb entity to 0.04f to better match vanilla behavior.
Fixed
- (API)
BlockHangingSignBehavior
now extendsBlockEntityHolderComponent<BlockEntityHangingSign>
which was forgotten
to be added. - Fixed several bugs that can led falling block keep existing even if it is already on ground or can't move.
- Fixed the
ClassCastException
when breaking shulker box. - Fixed the bug that interacting with door doesn't have any sound.
- Waxing copper-made block using honeycomb won't call
BlockFadeEvent
now. - Fixed the bug that player can still open enchant table even if he is sneaking.
- Fixed NaN motion caused by liquid in some very special cases.
- Fixed the bug that entity will still get ticked after called
removeEntity()
. - Fixed the bug that player's pos sometimes get frozen after teleport. This is caused by the issue that sometimes client doesn't send
back teleport ack after server sends teleport packet to client. - Fixed the bug that flint and steel durability reduced in creative mode.
- Fixed the network offset of item entity. Its visual position should now be normal.
- Liquid won't be broken into item by falling block now.