Commit graph

381 commits

Author SHA1 Message Date
Lord_Cambion 0d2f561106 fix: doorplacing + stacksize
now you can place doors on top of topslabs and incresed maxstack size to 64
2026-04-19 22:30:17 +02:00
George V. eabde3527c
fix: Prevent mobs from targeting players in creative mode
Mobs were incorrectly targeting and attacking players who are in
creative mode (invulnerable).
2026-04-18 20:29:47 +03:00
itsRevela 7e586e0d49 fix: scale breeding and spawn-egg caps with configured mob caps 2026-04-18 10:15:33 -05:00
itsRevela ffdad03aca feat: configurable mob spawn caps via server.properties 2026-04-18 09:31:45 -05:00
Lord_Cambion ab469e6330 fix: compilation error during release 2026-04-18 13:21:27 +02:00
Lord_Cambion f2cfbafc26 fix: armorstand according to wiki + wobble animation + head renderer
Armor stands are not damaged by cacti but can be broken by arrows. An armor stand destroyed by an explosion or a firework does not drop as an item. Armor stands in water and lava at the same time are not consumed by the lava.
2026-04-18 12:26:25 +02:00
Lord_Cambion 22953367f4 fix: Adventure Mode to Spectator
in the previous commit i implemented few things for the armorstand using ida and i forgot to change the gametype for spectator
2026-04-18 10:30:29 +02:00
Lord_Cambion 383302eb2e feat: armorstand from decomp 2026-04-18 03:46:45 +02:00
SevenToaster509 0f1a2542c8 fix: quick equip
fixed quick equip in survival
removed redundant and commented out code
2026-04-17 19:04:55 +01:00
SevenToaster509 5d4d16329d feat: reimplement quick equip
fixed hella bad exploit X_X, additionally fixed multiplayer (part of the same issue)
2026-04-17 10:21:23 +01:00
Marvelco 1bcc761da8
Merge branch 'pieeebot:main' into main 2026-04-17 11:46:51 +03:00
Marvelco f31a5235a4 fixed Torches can be placed on top of all type of fences 2026-04-17 11:46:01 +03:00
SevenToaster509 2b5a46a4fa fix: enchanting
fixes:
fishing rod crashing in enchantment table
updated more swfs that were not updated in a recent merge
sort costs in ascending order
randomise enchantment seeds for new players
2026-04-17 08:26:13 +01:00
SevenToaster509 add784b259 fix: clients crashing on enchantment attempt, disabled quick equip until further notice, updated enchantingmenu swfs because lapis slot was missing? 2026-04-16 20:47:14 +01:00
Marvelco 6b1a9911dc nether portal 2026-04-16 21:39:15 +03:00
Marvelco 833e449c8c fixed stained glass not rendering the water 2026-04-16 21:26:40 +03:00
itsRevela d694cd1c9d chore: sync upstream MinecraftConsoles through 2fba264c 2026-04-15 05:25:33 -05:00
/home/neo 219d871c54
Merge branch 'main' into upstream-merge 2026-04-15 12:10:41 +03:00
Riley M. c0da06e4ee
major: Switch to forward slashes(+more) to fix compilation on Linux (#1403)
Notably also adds some metadata files for NixOS 

* add support for linux clang cross compiles

* add linux clang instructions

* un-capitalize Mob.horse.*

* update the description in flake.nix

---------

Co-authored-by: Loki <lokirautio@gmail.com>
2026-04-14 16:47:37 -05:00
Lord_Cambion f17f5a98e5 some changes 2026-04-14 21:04:09 +02:00
SevenToaster509 a252e60b93 Fix: Recipes
Gate/Fence Recipes - wrong amount and broken
Book and Quill Recipe - wrongly positioned
2026-04-14 19:32:14 +01:00
George V. 8bfebcabf4
Merge branch 'pieeebot:main' into upstream-merge 2026-04-14 19:32:01 +03:00
Lord_Cambion 02ea52926c feat: sprintable horse and boats 2026-04-14 17:33:07 +02:00
George V. 1ec6244c8b
Merge branch 'main' into upstream-merge 2026-04-14 18:17:50 +03:00
Lord_Cambion 54958075bb worldgenerationissues 2026-04-14 13:07:02 +02:00
Lord_Cambion 02cac98645 fix: elder guardian hitbox 2026-04-14 11:07:02 +02:00
George V. c2c4eb6ea8
fix: Change string ID for Elder Guardian entity
The string identifier for the Elder Guardian entity was set
to `IDS_GUARDIAN_ELDER`. This has been changed to the
consistent identifier `IDS_ELDER_GUARDIAN`.

Additionally, the localization file has been updated to include the
missing string definitions for both `IDS_GUARDIAN` and
`IDS_ELDER_GUARDIAN`
2026-04-13 22:43:19 +03:00
George V. ac7a207597
Merge branch 'main' into upstream-merge
# Conflicts:
#	Minecraft.Client/Windows64Media/strings.h
#	Minecraft.World/BiomeSource.cpp
#	Minecraft.World/BiomeSource.h
2026-04-13 22:26:43 +03:00
SevenToaster509 f307d7b0eb Fix: Enchanting Table taking wrong levels
Was using cost instead of the index of the slot
2026-04-13 17:25:19 +01:00
Lord_Cambion 4fe92f9a5a changed: guardians placeholders 2026-04-13 18:21:58 +02:00
Lord_Cambion b512cc8f11 feat: worldgeneration using decomp 2026-04-13 17:45:07 +02:00
George V. 4191b654b2
fix: add null check for TLS compression pointer 2026-04-13 18:31:01 +03:00
George V. 734f186cd3
Merge remote-tracking branch 'itsRevela/main' into upstream-merge
# Conflicts:
#	Minecraft.Client/Common/Audio/SoundNames.cpp
#	Minecraft.Client/SheepRenderer.cpp
#	Minecraft.World/SoundTypes.h
#	README.md
#	cmake/CopyAssets.cmake
2026-04-13 17:54:36 +03:00
George V. edeb0d2230
Merge branch 'main' into upstream-merge
# Conflicts:
#	.github/workflows/nightly.yml
#	Minecraft.Server/cmake/sources/Common.cmake
2026-04-13 17:39:46 +03:00
Tyler Reese 6913ce5323 fix: Implement missing critical hit sound (#1141) 2026-04-13 00:51:16 -05:00
DrPerkyLegit 71707fbb8c Add Chat Formatting Support For Servers (#1483) 2026-04-13 00:49:49 -05:00
DrPerkyLegit ae3c843ee5 fix: Increase entity network limit to 16k entities (#1492) 2026-04-13 00:43:18 -05:00
Tyler Reese 78afb091a4
fix: Implement missing critical hit sound (#1141)
* Fix

* Crit Sound Now Plays On Death

* Revert BuildVer.h

---------

Co-authored-by: Loki <lokio.casebstv@gmail.com>
2026-04-12 23:24:29 -05:00
DrPerkyLegit 14f8d793dd
Add Chat Formatting Support For Servers (#1483)
* add chat support for html formatting

* html character serialization, normal color format support

* change for chat input handling on color

has a bug where the text after the cursor gets stripped of its color, need to make a function to backstep on a string and find the last used color codes, or get all color codes used before the string is split, and apply them to the start of the next string

* expose jukebox label as action bar like java

* prevent players from sending chat color

* restore non styled chat size check
2026-04-12 23:17:45 -05:00
DrPerkyLegit 82c1ae1968
fix: Increase entity network limit to 16k entities (#1492) 2026-04-12 22:50:46 -05:00
SevenToaster509 e0cc846be5 Fix: Lapis Slot for Enchanting takes and consumes any item 2026-04-12 18:42:59 +01:00
Lord_Cambion e45d5dd7cd fix: Monument Entry + room Generation 2026-04-12 16:10:56 +02:00
Logan Gibson d8da9af7fe
Add particles when fishing (#1)
Co-authored-by: Lord_Cambion <lordcambion.gaming@gmail.com>
2026-04-12 14:18:03 +03:00
itsRevela abb18e3e12 fix: new players kicked when joining right after being whitelisted
When a new player was whitelisted while they were sitting on the join screen, their next attempt would insta-kick before the world ever loaded, and the retry after that would let them in for roughly 20 seconds before booting them with "connection closed". Two separate bugs were colliding.

The first kick was a stale cancel flag on the client. When the server rejects a join, the "Connecting to host..." screen tears down, and its teardown path fires the cancel callback defensively. That flag would latch on without ever being consumed, so the very first tick of the next join attempt saw it and immediately closed the fresh connection. Clearing the flag when a new join starts prevents this.

The second kick was an orphan on the server. When the first failed join's TCP dropped, its slot got recycled for the next successful join, but the half-built login object from the broken attempt was still in the pending queue. 30 seconds later its "login took too long" timer fired, and the disconnect packet it tried to send was routed to whoever currently held that slot, which was now the new in-world player. It landed on their live socket and kicked them. Telling the game's Socket layer about the TCP drop lets the orphan clean itself up, and refusing to write on an already-closing socket stops any late packet from leaking into the recycled slot.
2026-04-11 08:13:46 -05:00
George V. a0f4063807
Merge branch 'main' into upstream-merge 2026-04-11 02:52:52 +03:00
Fireblade 0ed96f1592
fix: resolve merge conflicts and integrate XML locale updates (#1)
Resolve merge conflicts across multiple components
Merge and synchronize XML locale changes
Ensure consistency between string resources and localization files
Minor fixes to restore successful builds after merge
2026-04-11 02:47:59 +03:00
George V. 0ad7e383fa
Merge branch 'main-re' into upstream-merge 2026-04-10 22:00:17 +03:00
SevenToaster509 c038506071 Feat: Armour Quick Equip, Fix: Baby Armour on Players 2026-04-10 16:06:57 +01:00
SevenToaster509 490ac0eed1 Feat: Updated Enchanting Mechanics
Updated in the ARC:
EnchantingMenu1080
SkinHDGraphicsInGame
SkinHDInGame

may have override other changes in the arc but it dont think so...
2026-04-10 13:18:42 +01:00
Lord_Cambion 61b6e6adca feat: Guardians 2026-04-10 14:03:32 +02:00
itsRevela 20229fc07b fix: dedicated server thread safety, disconnect deadlock, and console freeze
- Protect PlayerList and ServerConnection players vectors with critical
  sections; all iterations use copy-on-read snapshots to prevent iterator
  invalidation during concurrent join/leave
- Add null check on player bounding box in movement validation to prevent
  crash when player is removed mid-tick
- Re-validate socket player pointer immediately before SendData to narrow
  the TOCTOU race window on disconnect
- Replace inline disconnect cleanup with a queued system drained on the
  main tick thread, eliminating the done_cs -> m_playersCS lock inversion
  that caused deadlocks under load
- Disable Windows QuickEdit mode at server startup to prevent console
  input selection from freezing the process
- Move chunk priority sort behind ServerConnection::sortPlayersByChunkPriority()
  to keep the players vector lock-protected
2026-04-10 01:12:59 -05:00
itsRevela 9c9df615a1 fix: beacon menu item consumption, data sync, and button state issues
- Prevent payment item from being consumed when submitting unchanged powers
- Reorder ServerPlayer::openBeacon to send ContainerOpenPacket before
  addSlotListener so beacon data packets arrive after the client menu is ready
- Add BeaconMenu::broadcastChanges() to continuously sync levels and powers
  to clients, matching the pattern FurnaceMenu already uses
- Initialize UIControl_BeaconEffectButton::m_lastState to prevent stale
  heap memory from suppressing Iggy ChangeState calls on menu re-entry
2026-04-09 21:34:48 -05:00
George V. 506ebd2176 Merge remote-tracking branch 'itsRevela/main'
# Conflicts:
#	.github/workflows/nightly.yml
#	.gitignore
#	Minecraft.Client/ChatScreen.cpp
#	Minecraft.Client/ClientConnection.cpp
#	Minecraft.Client/Common/Audio/SoundEngine.cpp
#	Minecraft.Client/Common/Audio/SoundEngine.h
#	Minecraft.Client/Common/Media/MediaWindows64.arc
#	Minecraft.Client/Common/UI/IUIScene_HUD.cpp
#	Minecraft.Client/Common/UI/UIControl_Base.cpp
#	Minecraft.Client/Common/UI/UIScene_DeathMenu.cpp
#	Minecraft.Client/Common/UI/UIScene_JoinMenu.cpp
#	Minecraft.Client/Common/XUI/XUI_Chat.cpp
#	Minecraft.Client/Common/XUI/XUI_Death.cpp
#	Minecraft.Client/Font.cpp
#	Minecraft.Client/Gui.cpp
#	Minecraft.Client/PendingConnection.cpp
#	Minecraft.Client/PlayerConnection.cpp
#	Minecraft.Client/PlayerConnection.h
#	Minecraft.Client/PlayerList.cpp
#	Minecraft.Client/Windows64/Network/WinsockNetLayer.cpp
#	Minecraft.Client/Windows64/Network/WinsockNetLayer.h
#	Minecraft.Client/Windows64Media/strings.h
#	Minecraft.Client/cmake/sources/Common.cmake
#	Minecraft.Server/Console/ServerCliEngine.cpp
#	Minecraft.Server/Console/commands/whitelist/CliCommandWhitelist.cpp
#	Minecraft.Server/Windows64/ServerMain.cpp
#	Minecraft.World/WitherBoss.h
#	Minecraft.World/cmake/sources/Common.cmake
#	README.md
2026-04-09 15:21:43 +03:00
Lord_Cambion a204ec52f4 fix: poison setting life to 1hp 2026-04-08 17:28:13 +02:00
Lord_Cambion 5f71ac96ff fix: ore spawning nether 2026-04-08 15:49:51 +02:00
piebot 69ff1f7271 Merge pull request 'Fishing update: bug fixes + better parity' (#13) from BrainFart17/LegacyEvolved:main into main
Reviewed-on: https://codeberg.org/piebot/LegacyEvolved/pulls/13
2026-04-08 12:44:08 +02:00
ryleu 5eab358dde add support for linux clang cross compiles 2026-04-08 12:03:15 +03:00
itsRevela 42a582fb9f feat: add FourKit plugin host with dual server build
Adds the FourKit .NET 10 plugin host as a second dedicated server
build flavour alongside the existing vanilla server. Both flavours
build from the same source tree, with FourKit gated by the
MINECRAFT_SERVER_FOURKIT_BUILD preprocessor define.

Build layout:

  Minecraft.Server         vanilla, no plugin support, no .NET dep
  Minecraft.Server.FourKit FourKit-enabled, ships with bundled
                           .NET 10 self-contained runtime in runtime/
                           and an empty plugins/ folder

Both produce a Minecraft.Server.exe in their own per-target output
dir. The variant identity lives in the directory name, not the
binary name, so either flavour can be shipped as a drop-in.

Native bridge (Minecraft.Server/FourKit*.{cpp,h}):

* FourKitRuntime: hosts CoreCLR via hostfxr's command-line init API
  (the runtime-config API does not support self-contained components)
* FourKitBridge: ~50 Fire* event entry points, with inline no-op
  stubs for the standalone build so gameplay code can call them
  unconditionally
* FourKitNatives: ~80 native callbacks the managed side invokes
  for player/world/inventory mutations
* FourKitMappers: type and enum mapping helpers

Managed plugin host (Minecraft.Server.FourKit/):

* Bukkit-style API: Player, World, Block, Inventory, Command,
  Listener, EventHandler attribute, ~54 event classes
* PluginLoader with per-plugin AssemblyLoadContext
* FourKitHost as the [UnmanagedCallersOnly] entry point table
* Runtime resolves plugins relative to the host process so they
  always live next to Minecraft.Server.exe regardless of where the
  managed assembly itself is loaded from

Engine hooks (Minecraft.Client/, Minecraft.World/):

* Player lifecycle (PreLogin, Login, Join, Quit, Kick, Move,
  Teleport, Portal, Death) wired into PendingConnection and
  PlayerConnection without disturbing the cipher handshake or
  identity-token security flow
* Inventory open/click/drop hooks across every container menu type
* Block place/break/grow/burn/spread/from-to hooks across the
  full tile family
* Bed enter/leave, sign change, entity damage/death, ender pearl
  teleport hooks

Regression fixes preserved while applying donor diffs:

* ServerPlayer::die() retains the LCE-Revelations hardcore branch
  (setGameMode(ADVENTURE) + banPlayerForHardcoreDeath) in both the
  FourKit and non-FourKit code paths
* ServerLevel::entityAdded() retains the sub-entity ID reassignment
  loop required by the client's handleAddMob offset, fixing Ender
  Dragon and Wither boss multi-part hit detection
* LivingEntity::travel() retains the raw Player* cast and the
  cached frictionTile, both Revelations perf wins that the donor
  silently reverted
* ServerLogger.cpp keeps the file-logging code donor stripped
* PlayerList.cpp end portal transition fix and UIScene_EndPoem
  bounds-check are intact

Build system:

* Top-level CMakeLists.txt adds the Minecraft.Server.FourKit
  subdirectory and pulls in the new shared cmake/ServerTarget.cmake
  helper
* Minecraft.Server/cmake/sources/Common.cmake is now location
  independent (uses CMAKE_CURRENT_LIST_DIR) so the source list
  can be consumed from either server target's CMakeLists.txt
* The seven FourKit*.cpp/h files live in their own
  _MINECRAFT_SERVER_COMMON_SERVER_FOURKIT variable so the
  standalone target omits them
* configure-time .NET 10 SDK check fails fast with a clear
  download link if the SDK is missing
* global.json pins the SDK to 10.0.100 with latestFeature
  rollforward

Sample plugin (samples/HelloPlugin/) demonstrates the loader and
the PlayerJoinEvent listener pattern.

CI:

* nightly.yml builds both server flavours, ships
  LCE-Revelations-Server-Win64.zip and
  LCE-Revelations-Server-Win64-FourKit.zip, attests both, and
  updates release notes for the dual-flavour layout
* pull-request.yml pulls in actions/setup-dotnet so the FourKit
  publish step works in PR validation
* All zip artifacts and the client zip are renamed from
  LCREWindows64 to LCE-Revelations-{Client,Server}-Win64

Documentation:

* COMPILE.md gets a VS 2022 quick start, .NET 10 prereq section,
  server flavours explanation, and a troubleshooting section
* docs/FOURKIT_PORT_RECON.md captures the file-by-file recon that
  drove the port
* docs/FOURKIT_PARITY.md is the canonical reference for which
  events FourKit fires

Docker:

* docker-compose.dedicated-server.yml MC_RUNTIME_DIR default points
  at the vanilla CMake output. The FourKit Docker image is
  intentionally NOT shipped yet because hosting .NET 10 self
  contained inside Wine has not been smoke-tested
2026-04-08 03:02:48 -05:00
George V. ff96cd3687 feat: support separate boss health bars per dimension
Add dimension-aware tracking for boss mobs and update the boss health
GUI system to maintain independent state for each dimension (Overworld,
Nether, End). This prevents conflicts when multiple bosses exist across
different dimensions simultaneously.

- Add `getDimension()` to `BossMob` base class and implement in
  `EnderDragon` and `WitherBoss`
- Replace static boss GUI state with dimension-indexed storage
- Introduce `getIndexFromDimension()` helper for dimension mapping
- Update rendering logic to use per-dimension state
- Isolate darkening effects and health display per dimension

Ported from LCERenewed commit 5ec8a0e41ba8146aba450258d8620cd3cb0299e0 by 3UR
2026-04-08 03:34:54 +03:00
BrainFart17 3781794be3 (fishing) Fix bugs and change random catch type selection
- Implement catch type random selection from decompiled java 1.7.2 code instead of using a WeighedRandomItemArray
- Fix fishingTreasuresArray length being set to 5 instead of 6
- Remove testing values for nibbleTimer
- Cast maxDamage of item to double before applying damage.
- Add include for EnchantmentCategory in LureEnchantment.cpp and LuckOfTheSeaEnchantment.cpp.
- sky obstruction is now checked before other checks.
2026-04-07 16:04:52 -07:00
Lord_Cambion aaae8b01a9 feat: Melon Feature
fix: polished stone variants spawning on top of certain biomes.
2026-04-08 00:11:07 +02:00
Lord_Cambion 38775d0f26 fix: world crash with particular seeds 2026-04-07 20:45:44 +02:00
piebot 013c18ef85 Merge remote-tracking branch 'origin/main' 2026-04-07 21:05:36 +03:00
piebot d39bc9ad99 refactor: change wheat seeds to seeds
also make inverted daylight sensor implementation more accurate
2026-04-07 21:03:09 +03:00
Lord_Cambion 720e1a77a4 feat: oceanMonument
feat: Mesa biomes
feat: changed world generation according to java
fix: swamp hut changed to spruce
2026-04-07 19:41:14 +02:00
BrainFart17 e17e26ff99 Fix bugs and improve fishing mechanics parity with TU 31
- Based fishing mechanics off of decompiled java 1.7.2 instead of 1.12.
- Added check for sky access
- Switching between different fishing rods now reels the line back in
- Fixed duplicate assignment in fishingTreasuresArray
- Remove testing weights from catchTypeArray
- Make lureLevel and luckLevel member variables of FishingHook that are calculated upon initialization instead of recalculating every tick.
- Changed random nibbleTimer range from 5 - 30 secs to 5 - 45 secs
- Fixed out of order and incorrect assignments of fishingJunkArray
- Values are now clamped to prevent unintended behavior
- Lure now affects loot rates.
2026-04-07 08:00:13 -07:00
BrainFart17 af22ca5e7a Update fishing mechanics for better parity with TU 31 2026-04-06 16:39:09 -07:00
George V. 8445534dc1 fix(fishing): fix catch type return and correct aux value calculations
- Add missing return of CatchType in getRandCatchType
- Remove unused variable in getRandCatch
- Fix duplicate semicolon in TREASURE case
- Fix missing parentheses in fishing rod and bow calculations in handleCatch
2026-04-06 16:35:42 +03:00
piebot e45633defc Fix TU31 Fishing Changes
also remove halloween 2015 and greek for now as its currently causing crashes
2026-04-06 14:50:39 +03:00
BrainFart17 97a82c20ef Use Java 1.12 source code for loot table, clean up code. 2026-04-06 01:21:36 -07:00
BrainFart17 bc49d40c91 Merge branch 'main' of https://codeberg.org/piebot/LegacyEvolved 2026-04-05 20:44:36 -07:00
BrainFart17 02ddba76ad Remove unused include 2026-04-05 20:18:15 -07:00
BrainFart17 7d67bbc24c Add comment for clarification 2026-04-05 19:25:10 -07:00
BrainFart17 406e7e2f06 Fix formatting error 2026-04-05 18:38:34 -07:00
BrainFart17 6bc57b2b97 Fix minor typo in magic number 2026-04-05 18:16:49 -07:00
BrainFart17 f0b28416c0 Add fishing stuff from TU 31 2026-04-05 17:38:06 -07:00
itsRevela e52565f9a3 Merge remote-tracking branch 'upstream/main'
# Conflicts:
#	.github/workflows/nightly-server.yml
#	Minecraft.Server/Windows64/ServerMain.cpp
#	Minecraft.World/ConsoleSaveFileOriginal.cpp
2026-04-05 16:23:28 -05:00
Sylvessa 207a1b309f optimization: async dedicated server autosaving (#1473) 2026-04-05 16:17:01 -05:00
Sylvessa d758eb887f fix: wither and ender dragon custom names (#1472) 2026-04-05 16:11:56 -05:00
Us3ful"-Dev 931b5e9dcb Quality of life netherportal fix (#1337)
* Working New portal checks

fixed x axis portal with obsidian on z axis

* Removed Debug code

* Remove unnecessary code

removed PortalTile:: from PortalTile::validPortalFrame

* Remove more debug code
2026-04-05 16:08:57 -05:00
Sylvessa 4e6c695899 fix: boat plr height & sneak height (#1459) 2026-04-05 16:08:17 -05:00
itsRevela 207d90de28 perf: process 16 chunks/player/tick on dedicated server, revert async save
Chunk loading now batches up to 16 nearest-first requests per player per
tick on dedicated server (client stays at 1), improving tick recovery
time after player join.

Reverts the async save system -- the background thread snapshot/compress
path added complexity without measurable benefit. Autosave on Windows64
server now uses the standard synchronous flush like client, in
preparation for a proper async implementation from upstream.
2026-04-05 15:56:39 -05:00
Sylvessa 034c313ddf
optimization: async dedicated server autosaving (#1473) 2026-04-05 12:57:43 -05:00
piebot 3fd6d53e76 fix CI 2026-04-05 18:38:23 +03:00
neoapps-dev 03d66d8f1d fix 2026-04-05 16:42:48 +02:00
SevenToaster509 0374dc5a82 FUCK MICROSOFT 2026-04-05 15:33:49 +01:00
SevenToaster509 546a279cc9 Book & Quill - Initial Commit
Implement Book & Quill:
- IUIScene_WritingBookMenu and UIScene_BookAndQuillMenu for UI
- Edited UIControl_Label to add direct editing (quite hardcoded to my needs right now)
- Reimplement scrapped custom payload packets for books and signing
- Other misc changes

TODO:
- Coloured and scambled text
- Book copying
- Clean up code
2026-04-05 15:05:03 +01:00
Sylvessa a4e689095c
fix: wither and ender dragon custom names (#1472) 2026-04-04 22:04:02 -05:00
BrainFart17 d75e167f12 Add fishinghelper and lureenchantment 2026-04-04 06:58:01 -07:00
Us3ful"-Dev 103f38859a
Quality of life netherportal fix (#1337)
* Working New portal checks

fixed x axis portal with obsidian on z axis

* Removed Debug code

* Remove unnecessary code

removed PortalTile:: from PortalTile::validPortalFrame

* Remove more debug code
2026-04-03 15:01:48 -05:00
Sylvessa 8bf0343544
fix: boat plr height & sneak height (#1459) 2026-04-02 17:16:31 -05:00
Lord_Cambion e5a8abd2ac herobrine removed 2026-04-02 14:45:46 +02:00
Lord_Cambion a552afded7 doubled speed of minecartfurnace 2026-04-02 14:21:31 +02:00
itsRevela 463bf2b93f fix: player list no longer limited by render distance
The previous IQNet cleanup in handleRemoveEntity fired on every entity
despawn, which happens both when a player goes out of tracking range
and when they disconnect.  This caused players to vanish from the Tab
list whenever they moved beyond render distance.

Introduce two custom payload channels (MC|ForkHello, MC|ForkPLeave) so
the client can distinguish "out of range" from "actually left":

- Server sends MC|ForkHello during login to identify itself as a fork
- Server sends MC|ForkPLeave with the player's gamertag on disconnect
- Client skips IQNet cleanup in handleRemoveEntity on fork servers
- Client cleans up IQNet only when MC|ForkPLeave arrives

Fully backwards-compatible: no existing packet wire formats changed.
Upstream clients ignore the unknown channels, fork clients on upstream
servers fall back to the old entity-tracking-based cleanup.
2026-04-01 16:01:56 -05:00
Lord_Cambion 6ed5bd13db Carica file su "Minecraft.World/cmake/sources" 2026-04-01 21:38:28 +02:00
itsRevela 68521f8c92 fix: async autosave thread safety and commit path
Move StorageManager.AllocateSaveData() back under the save lock (called
on the game thread before releasing). Background thread now only does
pure zlib compression with no StorageManager calls.

Add CommitPendingAsyncSave() to both the game thread tick and
TickCoreSystems() to ensure saves commit during bootstrap, normal
gameplay, and shutdown.
2026-04-01 01:23:50 -05:00
itsRevela 073a511217 perf: async autosave for dedicated server
Autosave previously froze the main thread for 2-6 seconds while
compressing the entire save file with zlib. Now the save buffer is
snapshotted under the lock (~18ms), then compression runs on a
background thread. The compressed data is committed to StorageManager
on the next main-thread tick via CommitPendingAsyncSave().

Also skip redundant full chunk saves during autosave on the dedicated
server -- chunks are already persisted by the per-tick trickle save.
Only entity data is flushed, matching Xbox/Orbis behavior.

Added per-step timing to the autosave handler for diagnostics.
2026-03-31 23:33:21 -05:00
Lord_Cambion 138c7ab028 bug fixes 2026-03-31 18:00:31 +02:00
piebot a38abd4e8d Merge changes from upstream. 2026-03-30 14:28:57 +03:00
neoapps-dev ae2dac022c feat(parity): climbable trapdoor if connected to ladder 2026-03-29 20:50:57 +03:00