Skip to content

Releases: EndstoneMC/endstone

v0.6.1

20 Feb 12:37
58440c8
Compare
Choose a tag to compare

This is a hotfix that resolves a crash that could happen during command execution.

Game version: v1.21.60

Minecraft - Version

Fixed

  • Resolved a crash caused by ProxiedCommandSender

Full Changelog: v0.6.0...v0.6.1

v0.6.0

19 Feb 21:11
f3730aa
Compare
Choose a tag to compare

Game version: v1.21.60

Minecraft - Version

Added

  • Added support for Minecraft v1.21.60.
  • Added more liquid-related data to the DevTools by @smartcmd in #113
  • Added Sentry for crash reporting.
  • Added Player::playSound, Player::stopSound, and Player::stopAllSounds for client-side sound playing.
  • Added Player::isSneaking and Player::setSneaking to toggle the sneaking mode of a player.
  • Added Player::isSprinting and Player::setSprinting to toggle the sprinting mode of a player.
  • Added PlayerGameModeChangeEvent, triggered when a player's game mode changes. This event is cancellable.
  • Added PlayerEmoteEvent, triggered when a player sends an emote.
  • Added PlayerRespawnEvent, triggered when a player respawns after death.
  • Added ActorDamageEvent, triggered when a living entity receives damage. You can cancel this event to stop the damage
    from being effective.
  • Added ActorExplodeEvent, triggered when a mob (e.g. Creeper) explodes. You can cancel this event to stop the
    explosion.
  • Added more statistics to the /status command (e.g., memory usage, chunk status, etc.).
  • Added damage source to ActorDeathEvent and PlayerDeathEvent to retrieve information about the damager.
  • Added a basic chunk API.
  • Added block collision data to the DevTools by @smartcmd in #132.

Fixed

  • Fixed the logic of finding the Python executable associated with the current interpreter
    by @killcerr in #114.
  • Fixed the logic for parsing the message command parameter type.

Changed

  • Python API: Events that are cancellable now inherit from Cancellable. You can check if an event is cancellable
    by using isinstance(event, Cancellable).
  • Dimension::getBlockAt now returns a pointer to a Block directly instead of a Result wrapper, making the
    interface more concise. If the requested block is in an unloaded or unpopulated chunk, it returns an empty block.

New Contributors

Full Changelog: v0.5.7.1...v0.6.0

v0.5.7.1

24 Dec 14:22
5310484
Compare
Choose a tag to compare

This is a hotfix release that resolves various issues.

Game version: v1.21.50

Minecraft - Version

Fixed

  • Fixed an issue where the event.is_cancelled property in the Python binding was not writable.
  • Prevented player command execution from being printed to the console if the PlayerCommandEvent was already cancelled
    by plugins.

Full Changelog: v0.5.7...v0.5.7.1

v0.5.7

23 Dec 21:42
bf40fd1
Compare
Choose a tag to compare

This is a minor update that fixes various issues and adds new functionalities.

Game version: v1.21.50

Minecraft - Version

Added

  • Added getter and setter for name tags and score tags in the Actor class.
  • Added the Actor::getType function to retrieve actor types (e.g., minecraft:pig).
  • Added isNameTagAlwaysVisible and setNameTagAlwaysVisible methods to the Actor class to control the visibility of
    name tags.
  • Implemented /ban-ip and /unban-ip commands.
  • Added Server::getIpBanList for managing IP bans.
  • Added setters for fields in ServerListPingEvent by @theaddonn.
  • Added a new color code (§v).

Fixed

  • Prevented a crash caused by killing a player in a form callback, which invalidated the player object.
  • Fixed an issue where the player inventory was not updated after calling clear.
  • Fixed loading of encrypted resource packs.
  • Ensured the correct plugin loader is selected when loading from a file by third-party plugin loaders
    by @engsr6982.
  • Ensured players with matching IP addresses are immediately kicked upon banning.

Changed

  • Renamed Server::getPlayerBanList to Server::getBanList.
  • Removed deprecated material from DevTools by @smartcmd.

v0.5.6

06 Dec 19:00
Compare
Choose a tag to compare

This is a minor update that adds support for the latest version of Minecraft - The Garden Awakens!!

Game version: v1.21.50

Minecraft - Version

Added

  • Added support for Minecraft v1.21.50 (The Garden Awakens).
  • Added Inventory::getItem and Inventory::setItem methods to manipulate a player's inventory.
  • Added Inventory::getContents method to retrieve all items in an inventory.
  • Added /ban and /unban commands to add or remove players from the deny list.
  • Added /banlist [ips|players] command to list all banned players and/or IPs.
  • Added PluginManager::loadPlugin to allow third-party plugin loaders to load plugins from single files instead of
    directories. #98

Fixed

  • Fixed an issue where block_palette.nbt was dumped twice in the DevTools.

Changed

  • Added support for loading a mixture of folder packs listed in world_resource_packs.json (the conventional method)
    and zipped packs in .zip or .mcpack format placed under resource_packs.

v0.5.5

26 Oct 08:24
17ba20a
Compare
Choose a tag to compare

This is a minor update that adds support for the latest version of Minecraft - Bundles of Bravery!!

Game version: v1.21.40/41

Minecraft - Version

Added

  • Added support for Minecraft v1.21.40/41 (Bundles of Bravery).
  • CommandSender will now be downcast to the correct derived type on the Python side.
  • Added the Objective::isDisplayed method to check if an objective is being displayed in any of the scoreboard slots.
  • Added Server::getOnlineMode to check if the server is running with authentication enabled.
  • Added Actor::getScoreboardTags to get the list of tags added to the actor.
  • Added Actor::addScoreboardTag and Actor::removeScoreboardTag to modify the actor's tags.
  • Added support for loading zipped resource packs. You can now put .zip and .mcpack resource packs under
    the resource_packs folder, and they will be loaded automatically when the server starts.
  • Added support for encrypted resource packs. You can put the keys in the .zip.key or .mcpack.key format next to the
    resource packs.
  • Added the ScriptMessageEvent, which will get called when a script message is sent using the /scriptevent command.
  • Added Server::getLanguage to translate a message into a specific locale.
  • Added Actor::getHealth, Actor::setHealth, and Actor::getMaxHealth for getting and setting actor health.
  • Added CommandSenderWrapper to capture the output of command execution for any command sender.
  • Added Player::spawnParticle to send a particle effect that is only visible to the player.

Changed

  • Error messages from DevTools, when OpenGL is not available, are now suppressed.
  • The return type of several methods has been changed to endstone::Result to include error messages, which will
    automatically throw exceptions with the same messages on the Python side.

Fixed

  • Fixed a crash that occurred while handling server ping
    requests (#60).

New Contributors

Full Changelog: v0.5.4.1...v0.5.5

v0.5.4.1

19 Sep 16:49
e3ea3fa
Compare
Choose a tag to compare

This is a hotfix release that resolves a crash that could occur.

Game version: v1.21.30

Minecraft - Version

Fixed

  • Fixed a crash that could occur when the player uses emotes.

Full Changelog: v0.5.4...v0.5.4.1

v0.5.4

19 Sep 13:35
6640348
Compare
Choose a tag to compare

This is a minor update that adds the support for the latest version of Minecraft

Game version: v1.21.30

Minecraft - Version

Added

  • Added support for Minecraft v1.21.30.
  • Added support for Python 3.13.
  • Added biome data to the DevTools by @CoolLoong.

Changed

  • BREAKING CHANGE: Player::performCommand now executes the command as a Player to
    resolve #53. This means the command execution will now depend on
    the player's permissions as operator permissions are no longer granted. If you still want to have the player perform a
    command with elevated permissions, consider using Server::dispatchCommand to execute
    execute as {player_name} run {command}.

Fixed

  • Actor::isOnGround, Actor::isInWater, and Actor::isInLava now return the correct values.
  • Fixed a typo in the documentation by @thatgurkangurk.
  • Fixed the command parser logic for chained commands.
  • Fixed a server crash when spawning a simulated player due to the absence of an invalid network identifier.

New Contributors

Full Changelog: v0.5.3...v0.5.4

v0.5.3

12 Sep 10:12
53befab
Compare
Choose a tag to compare

This is a minor update that fixes a few crashes.

Game version: v1.21.23

Minecraft - Version

Added

  • Added support for Minecraft v1.21.23.
  • Introduced the BlockData class, which encapsulates both the block type and a specific state from all possible block
    states.
  • Block types and block states can now be used as command arguments.
  • Added PlayerKnockbackEvent, triggered when a player receives knockback. Developers can modify the knockback that the
    player will receive.
  • Added PlayerKickEvent, triggered when a player is kicked from the server, allowing for customization of kick
    messages.
  • Introduced the BlockState class, representing a snapshot of a block at a specific point in time.
  • PlayerJoinEvent and PlayerQuitEvent now include getter and setter methods for customizing join/quit messages.
  • Integrated bStats metrics.

Changed

  • BREAKING CHANGE: Renamed Server::getNewScoreboard to Server::createScoreboard for consistency with other
    methods like createBossbar and createBlockData.
  • Lifted the restriction on the /reload command for console use. It can now be executed in-game.

Fixed

  • Enforced the use of libc++ for C++ plugins on Linux to resolve symbol errors.
  • Player::setExpProgress now correctly sets experience progress without precision loss.
  • Fixed an issue where death messages were being sent to players twice.
  • Resolved a crash when calling ItemStack::getType on an item from PlayerInteractEvent when the player interacts
    with a block with bare hands.
  • PlayerInteractEvent::hasItem now correctly returns false if the player has no item in hand when interacting.

Full Changelog: v0.5.2...v0.5.3

v0.5.2

29 Aug 23:44
aaed9cd
Compare
Choose a tag to compare

This is a minor update introducing the new Boss Bar API and more events.

Game version: v1.21.22

Minecraft - Version

Added

  • Support for Minecraft v1.21.22.
  • Boss bar API.
  • Block::getRelative to get a block relative to a block face.
  • BlockBreakEvent triggered when a player breaks a block.
  • BlockPlaceEvent triggered when a player places a block against another block.
  • PlayerInteractEvent triggered when a player right-clicks a block.
  • PlayerInteractActorEvent triggered when a player interacts with an actor.
  • An auto installer script for installing Endstone on Linux (thanks to @legitbox).

Changed

  • Check chunk states before getting the block in Dimension::getBlockAt.

Fixed

  • #38 - Plugins can now be properly loaded inside a virtual
    environment on Linux.

New Contributors

Full Changelog: v0.5.1...v0.5.2