Repository navigation
v0.3.18
What's Changed
✨ Features
- feat(ci): add automatic changelog generation to release workflow
- feat(core): add MC 1.21.10 and 1.21.11 version support
- feat(material): add unclaim all materials functionality
- feat(hotkey): add material collections hotkey support
- feat(hud): add toggle for HUD overlay visibility
- feat(update): add integrity check for corrupted builds
- feat(communication): add timestamp support for placements
- feat(network): add support for Minecraft 1.20.5+ custom payload handling
- feat(material-export): add Excel export functionality for material lists
- feat(release): enable Modrinth publishing and update mod metadata
- feat(client): add GitHub update checker with configurable options
- feat(hud): add nested item support for MaterialHudOverlay
- feat(hud): consider player inventory in material display
- feat(communication): add broadcastPlacementUpdate call in sharePlacement method
- feat(material-ui): add material overview feature and partial claim support
- feat(gui): add stocking area material overview and update project name
- feat(gui): add totals section to material progress widget
- refactor(storage): Replace HashMap with WeakHashMap for buffer in FileStorage feat(quota): Add clearProgressFor method and clear progress on shutdown in QuotaService fix(communication): Clear quota progress when player disconnects in ServerCommunicationManager
- feat(material): add incremental scanning and limits for material extraction
- feat(material): add container contents counting option for material extraction
- feat(client): add shared settings GUI and material HUD overlay
- feat(build): add preprocessor support for multiple Minecraft versions
- feat(material): add material claims feature and related UI updates
- feat(material): add default stocking area support for material service
- feat(materials): implement material progress tracking and GUI
- feat(materials): implement material progress tracking and GUI
- Features 002 quota limits (#22)
- Features 001 message protocol (#21)
🐛 Bug Fixes
- fix(material): fix shulker box double counting and improve code quality
- fix(network): improve fake player handling to support single-player
- fix(gui): prevent NPE when activeContext is null in placement list
- fix(material): use NbtHelper for shulker box scanning in 1.21+
- fix(mixin): skip fake players to prevent NPE in packet handling
- Merge pull request #4 from RMS-Server/fix/1.21.10-adaptation-refactor
- fix(gui): adapt RenderUtils.drawRect for MC 1.21.10+ API changes
- fix(hotkey): make combination keys work immediately without restart
- fix(core): stabilize config and material claims
- fix(context): clear player identifier cache on shutdown
- fix(dependencies): add poi dependency to common.gradle
- fix(dependencies): update poi-ooxml dependency to use modImplementation include
- fix(material): add loaded chunks check before finalizing placement scans
- Fix(Server): purge placement store and litematic files on final deletion
- fix(client): update toast notification method for Minecraft versions
- refactor(storage): Replace HashMap with WeakHashMap for buffer in FileStorage feat(quota): Add clearProgressFor method and clear progress on shutdown in QuotaService fix(communication): Clear quota progress when player disconnects in ServerCommunicationManager
- fix(file-handling): improve directory and file creation with error handling
- feat(material): add incremental scanning and limits for material extraction
- fix(communication): Add null checks for placement handling in packet processing
- Fix issue with rejoining client
- Fix readme name
- Fix default position for subregions and minimised modification data entry size
- Fixed running in IDE
- Fixed a persistent crashbug in loading syncmatics
- Fixed contexts not creating their folder on startup
- Fixed bugs with new context bumped version number
- Fixed a lot of bugs -fixed accidential inversion of load and unload button -fixed server crash on multiple uploads of the same placement -prevented client from double firing buttons in multiple ways -added visual hint that buttons are out of sync -made client load litematic instantly
♻️ Refactors
- refactor(nbt): extract NbtHelper utility to reduce preprocessor blocks
- refactor(network): optimize packet buffer handling and identifier parsing
- refactor(network): update custom payload handling for Minecraft 1.21+ compatibility
- feat(network): add support for Minecraft 1.20.5+ custom payload handling
- refactor(Context): reorder shutdown sequence to ensure proper cleanup
- refactor(communication): migrate packet handling to use PacketType enum instead of direct identifier comparison
- refactor(version): replace hardcoded version with Fabric loader API
- refactor(MaterialService): optimize material progress calculation logic
- refactor(gui): remove deprecated GUI components and refactor package structure
- refactor: migrate package structure from ch.endte to cn.net.rms
- refactor: migrate package structure from ch.endte to cn.net.rms
- refactor(storage): Replace HashMap with WeakHashMap for buffer in FileStorage feat(quota): Add clearProgressFor method and clear progress on shutdown in QuotaService fix(communication): Clear quota progress when player disconnects in ServerCommunicationManager
- refactor(hud): Update rendering logic for Minecraft 1.20.1+ compatibility
- feat(material): add incremental scanning and limits for material extraction
- refactor(Syncmatica): Make contexts field final and improve initialization
- refactor(code): Reorder class fields and methods for better organization
- Refactor one class
- Merge pull request #16 from End-Tech/refactor2
- Added download communication behavior -Added download state storing -fixed a few bugs here and there Refactoring to dependency injection required next
📝 Documentation
- docs: update warning formatting in README files
- docs: remove outdated setup instructions from README files
- docs: update Chinese README and remove TODO file
- docs(config): update Chinese configuration documentation for clarity and accuracy
🔧 Chores
- chore: bump version to 0.3.18
- chore(core): bump mod version to 0.3.16-pre-6
- chore(core): snapshot before review fixes
- chore: bump mod version to 0.3.16-pre-2
- chore(qodana): update project JDK version from 17 to 21
- chore: bump mod version to 0.3.16-pre-1
- chore(dependencies): update log4j and poi dependencies with version checks and exclusions
- feat(network): add support for Minecraft 1.20.5+ custom payload handling
- chore(build): add shadow plugin and reconfigure POI dependencies
- chore(release): simplify version format in release workflow
- chore: bump mod version to 0.3.15
- chore(build): remove sourcesJar generation and publication
- chore: bump mod version to 0.3.14-pre-1
- chore: add comment for mod_version in gradle.properties
- chore: bump mod version to 0.3.12
- chore: bump mod version to 0.3.11
- feat(material): add incremental scanning and limits for material extraction
- chore(ci): add Qodana code quality workflow and disable Modrinth publishing
- chore: update version to 0.3.9
- chore(release): simplify GitHub release workflow
- chore(release): update version property name in release workflow
- chore(workflows): add GitHub workflows for cache refresh, check and release
- chore: bump mod_version to 0.3.9
📦 Other Changes
- Update Version to 0.3.17
- update version
- remove mod-id in version
- [Refactor] Improve layout and rendering of material progress UI components
- [Refactor] Remove player supply and claim tracking from material progress
- [Feature] Enhance material requirement extraction and inventory scanning
- [Feature] Update Gradle configuration and enhance material progress tracking UI
- Bump version number
- Attempt to make syncmatica compatible with 1.19.3
- Invert a flag - Im tired I shouldn't code anymore
- Bump version number
- Make compatible with 1.19
- Bump version number and update README
- Save syncmatics in world folder for integrated servers
- Bump version number
- Merge pull request End-Tech#45 from End-Tech/enable_lan
- Enable Synmcatica in singleplayer and LAN worlds
- Bump version number
- Push version number to 0.3.3
- Detatch Minecraft dependency from Syncmatica Core class and fixing excessive calls to the update placement method on the server side
- Save placements.json every time it gets changed
- Update readme
- Bump version number
- Update readme
- Bump version number
- Allow clients to share even if local player uuid mismatches server
- Update readme
- Adjusted Readme
- Added minecraft version to file name
- Restart client when server sends new Version handshake
- Optimize saving file size for when lastModifiedBy equals owner
- I give up on fixing my git history
- Basic cleanup of many small things
- Add final
- Not sure how this happened
- Change base package name
- Add icon to syncmatica
- Bump version numbers
- Sorted Syncmatica entries
- Added Discord link in case people need it
- Bump Version number
- Update README and other documentation
- Add Debug to Features
- Create folder for client
- Added configurable debug service
- Merge pull request #25 from End-Tech/debug
- Add extra logging to the mod
- Bump version number
- Removed limitation for specific minecraft version
- Add tip for how to convert nbt files and removed crash when loading them (#20)
- Merge pull request #19 from End-Tech/modify
- Merge pull request #18 from End-Tech/modify
- Update readme for release
- Added modify feature and squashed related bugs
- Upgraded to new gradle and litematica/malilib version
- Update .gitignore
- Added logs folder to .gitignore
- Update gradle to actually work
- Removed modify from the active featureset
- Finished adding Feature System and fixed bugs in other parts of the code - fixed a bug where the downloading button never shows leading to users clicking the load button during download and causing a crash - grayed out material gatherings command in the syncmatic list to make it consistent with the main menu
- Working on refactor ongoing
- Merge pull request #13 from End-Tech/gui_3
- Made gui more convenient -made use of schematic holder to follow conventions Reallowed the use of the remove and toggle button for schematic placements -changed the client storage folder from .sync to sync to turn it into an unhidden folder
- Update README.md
- Small tweaks and fixes -fixed bug which was caused by changing dimensions while a syncmatic was loaded -removed unecessary logging and replaced it with useful logging -bumped version number
- Update README.md
- Updated Roadmap
- Merge pull request #12 from End-Tech/persistency
- Persistency and stability fixes -Made placements persistent -Added remove functionality -Fixed 2 bugs
- Merge pull request #11 from End-Tech/stability
- Server stability and security improvements -Fixed potential racing conditions by moving server code onto the main thread -Added cancel packets for ongoing exchanges to signal that an exchange failed on one side due to an error -sanitizing for file names send across the network and changes to client side storing of those files -handling of a few edge cases with sharing to the server side
- Merge pull request #10 from End-Tech/gui_2
- Stabilized GUI and added responsiveness -Added checking to most of the buttons to prevent crashes -Made buttons and the GUI update upon changes to the syncmatica state
- Merge pull request #9 from End-Tech/client_behavior
- Tweaks and bugfixes leading to release -Fix for several litematica buttons having an effect and desynchronizing syncmaticas state -fix for security issues regarding file names and name collisions -implemented code to get actual dimension name -disabled Material Gatherings button and gave share button a name -updated readme
- Minor fix -litematica features being able to modify syncmatica placements on clients could lead to a data desync
- Bug Fixing
- Added client functionality - Added functional button to share litematics - Added functionality to download, load and unload buttons - Added functionality for rendering and hiding a placement
- Merge pull request #8 from End-Tech/communication2
- Adjusted upload buffer size
- Finished most of communication code - Version Handshake will be executed - Communication logic specific to server and clients has been established - Syncmatica sharing and distribution has been implemented - Attatched communications to the actual game and made it receive events
- Merge pull request #7 from End-Tech/refactor
- Major refactor to using dependency injection rather than many split static classes
- Merge pull request #6 from End-Tech/communication
- Started CommunicationManager and 2 bug fixes -CommunicationManager added code to handle packets and redirect them to the proper exchange -Properly use C2S and S2C packets now -replaced Identifier== with .equals
- Started Communication system -Started communication manager -added Exchanges -Added data transfer exchange
- Merge pull request #5 from End-Tech/gui
- Changed a lot I need to commit more often
- Modified gui added different local storage
- Merge pull request #4 from End-Tech/gui
- Added litematica list - modified storage to add missing features
- Merge pull request #3 from End-Tech/data_model
- Completed data model added storage
- Merge pull request #2 from End-Tech/data_model
- Added Model Placement classes
- Merge pull request #1 from End-Tech/litematica_ui_1
Full Changelog: vpre2-0.3.8-1.16.5...v0.3.18