-
Notifications
You must be signed in to change notification settings - Fork 161
Changelog v0.10.0
github-actions edited this page Jan 6, 2025
·
2 revisions
Released January 5th, 2025.
This version introduces significant changes to Dragonfly, making world access happen through synchronised transactions. More information on this system can be found at the wiki page for world transactions
Dragonfly v0.10.0 requires Go 1.23 or above.
- Added pale oak blocks.
- Added resin blocks.
- Added end rods.
- Added pink petals.
- Added vines.
- Decorated pots can now have sherds and be filled with a stack of items.
- Leaves now have a chance to drop sticks when breaking.
- Crops now drop their respective seeds/items when "popping off" as a result of low light levels.
- Fixed door placement consuming 3 door items.
- Sugar canes now also break without water nearby on
(SugarCane).RandomTick. - Explosions now correctly calculate exposure for entities behind blocks with non-full bounding boxes. (https://github.com/df-mc/dragonfly/issues/709)
- Explosions from TNT now drop 100% of drops. (https://github.com/df-mc/dragonfly/issues/969)
- Fixed fire created by lava or lightning not updating. (https://github.com/df-mc/dragonfly/issues/977)
- Fixed note blocks retaining their last note when dropped. (https://github.com/df-mc/dragonfly/issues/854)
- Fixed dead bushes not being placeable on grass/mud.
-
Rotationhas a newNegmethod that returns the negative of bothRotationvalues, used for projectiles.
- Command names and aliases now must be lowercase. (https://github.com/df-mc/dragonfly/issues/946)
- Target selectors (
[]Target) now only yields players from the same world. This is a consequence of the world transactions and is likely to be reverted in a future Dragonfly version. - The
*world.Txin which a command is run is now passed to(Runnable).Run.
- Fixed splash/lingering potions and bottles o' enchanting throwing velocity not matching vanilla. (https://github.com/df-mc/dragonfly/issues/746)
- Fixed projectile knockback to reflect projectile velocity rather than collision position.
- Effects now start their tick count the moment they are added to
*entity.EffectManager. This means that effects now always tick predictably and consistently. (https://github.com/df-mc/dragonfly/issues/944) - Changed effect types to variables.
Poison{}is nowPoison. - Potency fields were removed from
InstantHealthandInstantDamage, instead having been added to a newNewInstantWithPotencyfunction. - Fixed effect colours not matching the latest Minecraft version. (https://github.com/df-mc/dragonfly/issues/746)
- Added
NightVisionTorchflowerStew,BlindnessEyeblossomStewandNauseaStewsuspicious stew types. - Added
Resinitem. - Added
Crossbowitem. - Added new
(Stack).WithItemmethod to return an identicalStackwith a differentworld.Itemtype. - Removed armour trims from
Stack. To replace it, aTrimfield has been added toHelmet,Chestplate,LeggingsandBoots. - Changed maximum stack count of written books to 16.
- Fixed bottles not being filled up with water when using them on a water source. (https://github.com/df-mc/dragonfly/issues/945)
- Removed
DisplayNamefunction.
- Fixed several items, such as banners and skulls, not showing up correctly in the creative inventory. ()
- Changed enchantment types to variables.
Sharpness{}is nowSharpness.
- Added
HandleHeldSlotChangemethod toHandler, called when a player changes held slot. Additionally, a new(*Player).SetHeldSlotmethod was added. - Added
HandleItemReleasemethod toHandler, called when a player releases and item such as a bow. - Added a new
Messagetmethod to send achat.Translation. -
Datahas been refactored in a more easily usableConfigthat can be used to create a player entity. - Attack immunity was changed to match vanilla. If
(*Player).Hurtis called twice in the same tick, damage is still dealt if the second damage was higher than the first. Additionally, attack immunity now extends to all damage sources. (https://github.com/df-mc/dragonfly/issues/950) - Saturation and food tick are now reset when
(Handler).HandleFoodLossis cancelled. - Releasable items such as bows no longer fire when switching held slots. (https://github.com/df-mc/dragonfly/issues/676)
- Fixed an issue where
(*Player).HideEntitywould leak entities. (https://github.com/df-mc/dragonfly/issues/978) - Fixed
(*Player).ReleaseItemnot using items in the left hand as projectiles. - Fixed no block break particles/progress/arm swinging happening. (https://github.com/df-mc/dragonfly/issues/960) Block cracking is now fully server-side.
- Fixed a bug where colliding with a wall while falling could negate or trigger fall damage. (https://github.com/df-mc/dragonfly/issues/779)
- Stopped block resending when placing blocks close to the player, leading to reduced synchronisation issues.
- Added a new
Translatefunction used for (client-side) translations. Passing aTranslationStringtoTranslatereturns aTranslation.Translations may require arguments that can be passed in(Translation).F. - Added a new
Translatorinterface forSubscribers that can translate messages. - Added a new
(*Chat).Messagetfunction to broadcast a translation that is localised for each subscriber that also implementsTranslator.
dialogue is a new package for sending entity dialogues to players. These are UI windows with text, buttons and an
entity. The entity shown may be rotated. Dialogues may be created using New and can be sent to players using
(*player.Player).SendDialogue.
-
(*Server).Acceptnow returns aniter.Seqof joining players that can be iterated over. - Disconnecting players returned by
(*Server).Acceptno longer deadlocks the server. (https://github.com/df-mc/dragonfly/issues/527) - Added
StatusProviderfield toConfigfor custom MOTD/player count values.
- Added a new
(*World).Execmethod that is used to open a transaction on the world. Many methods on*World, such as(*World).Block, have now been moved to(*Tx).Blockinstead. More information may be found at the wiki page for world transactions. - Added a new
*EntityHandletype that uniquely identifies an entity.Entityimplementations are only valid in the context of a transaction now. - Added a
EntityAnimationtype that allows for complex entity animations to be played. - Added a new
HandleLeavesDecaymethod toHandler, called when leaves blocks decay. - Added a new
SaveIntervalfield toConfigthat specifies how often worlds should auto-save. - Scheduled block updates are now tied to the specific block type that they are called for.
- Scheduled block updates are now saved and loaded to/from disk.
- Entities are now stored on disk using the new format. (https://github.com/df-mc/dragonfly/issues/516)
- Worlds with a void generator no longer panic when being loaded. (https://github.com/df-mc/dragonfly/issues/481)
- Fixed panic when closing a world immediately after opening it. (https://github.com/df-mc/dragonfly/issues/801)
- Added
PaleGardenbiome.
- Added
CrossbowLoadandCrossbowShoot
Copyright © 2020-2024 df-mc