* Exposed loaded plugins in FourKitHost with public getLoadedPlugins()
* Fixed bad reference to ServerPlugins
* Forgot that the PluginLoader was nullable, handled it
* Implemented getPlugin(name) and getPlugins() in FourKit.cs
* Implemented enablePlugin(plugin) and disablePlugin(plugin) in FourKit.cs
---------
Co-authored-by: UniPM <zoc6x8voc@mozmail.com>
* Exposed loaded plugins in FourKitHost with public getLoadedPlugins()
* Fixed bad reference to ServerPlugins
* Forgot that the PluginLoader was nullable, handled it
* Implemented getPlugin(name) and getPlugins() in FourKit.cs
---------
Co-authored-by: UniPM <zoc6x8voc@mozmail.com>
* optimize item data communication, options for future item flags
* lighten load on gc from inventory apis
* dont allocate for SyncPlayerFromNative
* fix blocklag
* 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
* StructureGrowEvent, expose internal dimension id
* Update StructureGrowEvent.cs
* PlayerLoginEvent, ability to change xuids, get xuids, stub for experimental player connection api
* add docs, fix up to use cmake
---------
Co-authored-by: sylvessa <225480449+sylvessa@users.noreply.github.com>
## Description
Fix issue where typing in a short seed on world creation doesn't save the seed correctly
## Changes
### Previous Behavior
Typing in a seed on the world creation menu that's less than 8 characters long will result in garbage data being saved as the seed. Happens with controller and KBM.
You can see this in-game - if you exit the world options menu and go back in, the seed will show up as boxes □□□.
Weirdly, if you type a seed again, it behaves as expected.
### Root Cause
For some reason, assigning `m_params->seed` to the seed text points it to garbage data, when it's 7 characters or less.
### New Behavior
Seed entry behaves as expected.
### Fix Implementation
- Added `static_cast<wstring>` before assignment to `m_params->seed`.
- Also replaced `(wchar_t *)` with `reinterpret_cast<wchar_t*>` in the functions.
### AI Use Disclosure
No AI was used
* Add clang-format workflow for pull request checks
* Modify push paths in nightly workflow
Updated paths for push event to include all files except specified ones.
* Update paths for nightly-server workflow triggers
* Modify paths for pull request triggers
Update pull request workflow to include specific paths.
* Tidy up clang-format installation in workflow
* adding enchantments
added enchantments, changed minor apis to ensure c# stays synced with the c++ server
* add missing enchant apis, oops
* add proper docs, and fix namings for stuff in itemmeta
---------
Co-authored-by: sylvessa <225480449+sylvessa@users.noreply.github.com>
* Fix game crashing if DLC has XMLVERSION paramater
* Better implementation of XMLVersion check
* Forgot to add type name to the list
* Removed extra newline
triggerEvent() set ignoreUpdate to true at the start but three early
return paths skipped the reset at the end. Once any of these paths was
hit, the TLS flag stayed true permanently, blocking all piston neighbor
updates for the rest of the server session.