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.
SWF movie loading crashed with __debugbreak when the window height was
below 720px (e.g. after leaving exclusive fullscreen). The fallback
chain only tried 720.swf which doesn't exist. Now falls back through
720 -> 1080 so scenes always find a valid SWF.
PlayerConnection::handleChat called FormatChatMessage with
applyStyling=false before broadcasting, which stripped all color codes
from the message. The client then had nothing left to format. Send the
raw message and let the client handle formatting on receive.
Three issues fixed:
- Save file path used hardcoded saveData.ms but new 4JLibs names files
as <title>.ms. ReadLevelNameFromSaveFile now constructs the correct
path with fallback to saveData.ms for old saves.
- The level.dat code path for reading the hardcore flag (sidecar rename)
returned early without ever parsing level.dat. Now stores the sidecar
name and continues to read the hardcore flag from NBT.
- The thumbnail host options path could overwrite m_bHardcore to false.
Now only upgrades to true, never downgrades.
- Load menu constructor and tick handler both lock difficulty slider to
Hardcore and gamemode to Survival when hardcore is detected.
- Hide title logo on load menu to match create world menu.
The new 4JLibs CaptureThumbnail produces all-black 64x64 PNGs because
its internal m_backBufferTexture copy fails silently. Bypass it entirely
and capture from the swap chain backbuffer using the same proven approach
as our F2 screenshot, with center-crop and downsample to 64x64 PNG.
- Remove shadowcolor from font tags (Iggy doesn't support multiple)
- Enforce HTML text mode on chat labels and jukebox
- Move IDS translatable pattern matching into FormatChatMessage
- Add §r (reset) color code support
- Fix message truncation to count visible characters, skipping HTML tags
- Fix CJK truncation using raw index instead of visible char count
Includes fixes and some modernizations compared to the original 4J
library binaries. Also introduces functionality to support stuff like
F2 screenshots, etc. This is basically the beginning of modernizing the
codebase.
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
Add version string (branch/version) to the debug overlay when F3 is active.
Also add a new keyboard shortcut (B key while F3 is held) to copy the
version string to the clipboard and show a confirmation message. This
improves debugging and support by making version information easily
accessible.
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>
A comma between "item.armor.equip_generic6" and "damage.critical" was
accidentally dropped during an upstream merge, causing the two entries
to be concatenated into a single string literal at compile time.
This produced an invalid sound key and led to crashes when:
- equipping armor
- triggering critical hits