Skip to content

Conversation

@DuncanRuns
Copy link
Member

@DuncanRuns DuncanRuns commented Dec 8, 2025

Sauce: https://github.com/DuncanRuns/Hermes/tree/ffb509bfaf59082699015e133a5995aac54dee49

Check code really hard for:

  • No side effects on vanilla methods
  • No incorrect behavior related to files (e.g. creating a world folder too early)

Testing:

@DuncanRuns DuncanRuns added the new mod A mod proposed for legalization label Dec 8, 2025
@DuncanRuns DuncanRuns changed the title Hermes v0.4.0 for 1.15.2 and 1.16.1 Hermes v0.5.0 for 1.15.2 and 1.16.1 Dec 9, 2025
@DuncanRuns DuncanRuns changed the title Hermes v0.5.0 for 1.15.2 and 1.16.1 Hermes v0.5.1 for 1.15.2 and 1.16.1 Dec 9, 2025
@DuncanRuns
Copy link
Member Author

DuncanRuns commented Dec 9, 2025

Improvements v0.4.0->v0.5.1:

  • make getsavepath thread-safe
  • alive closed field
  • rename gettimeofday to gettime
  • fix japanese characters in play log
  • dont print nonplayer commands
  • nondefault_gamerules
  • better target in createworldscreen (datapack failure still results in seed set), wrapmethod try-finally
  • sharedadvancements compat
  • gameinfo @ serializedname
  • mod/mc version in playlog
  • itemstack codec/toTag
  • fix dedicated server

originally janky contaria notes btw, all complaints and threats to contaria

contariaa
contariaa previously approved these changes Dec 9, 2025
Copy link
Member

@contariaa contariaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

6 hours of work later

@DuncanRuns
Copy link
Member Author

DuncanRuns commented Dec 10, 2025

Diff: DuncanRuns/Hermes@adb9842...fbc342a
Previous implementation was bugging me, and I found out about ByteArrayOutputStream which was practically built for this job.
The 128 is an initial capacity, it can grow.
Technically could take up a large amount of memory, if a sufficiently sized play log line occurs. Candidates for this could be advanced world generation options in the initialize log type, massive item data in inventory_slots, or extremely long commands entered via chat.
The object is per instance, so any absurd memory usage would be cleaned up on world exit.

@DuncanRuns DuncanRuns changed the title Hermes v0.5.1 for 1.15.2 and 1.16.1 Hermes v0.5.2 for 1.15.2 and 1.16.1 Dec 10, 2025
Copy link
Member

@contariaa contariaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might be interesting to look at mpk hotbar load to see how big the buffer gets, but i agree its not an issue

@DuncanRuns
Copy link
Member Author

might be interesting to look at mpk hotbar load to see how big the buffer gets, but i agree its not an issue

Tested this, 52817 characters long, so should be ~0.05 MB, not really a problem at all, even like x40 you'll get ~2 MB which is somewhat notable but still fine, and who tf is filling inventory with mpks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new mod A mod proposed for legalization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants