Skip to content

v0.3.18

Choose a tag to compare

@github-actions github-actions released this 13 Jan 11:58
40197b6

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