New Options
-
serverSyncedBoxUpdateModeInFrozenTicks
- What the server-side hitbox renderer should do in ticks frozen by the Carpet.
-
tpsGraphScale
- Scale the TPS (MSPT) graph so that it can be held by the screen.
-
quickStackedEntityKilling
- Kill the entity being knocked by a brick, along with all entities being at the same position as it.
-
A couple of options to get the information of entities more convenient:
dumpTargetEntityDataWithPaper
- Output the data of the current target entity by right-clicking while holding a paper.
dumpTargetEntityDataWithCtrlC
- Output the data of the current target entity with
Ctrl + C
.
- Output the data of the current target entity with
dumpTargetEntityNbt
- Output the NBT data of the targeted entity.
dumpTargetEntitySummonCommand
- Generate a command to summon the target entity.
dumpTargetEntityDataOnClient
- Output the information of the client-side entity instead of the one of the server-side one.
-
accessingPathDynamicAutoCompletion
- Support suggestions for fields and methods when auto-completing Accessing paths.
-
defaultSaveComponents
- Save components that are included in export saves by default.
-
independentEntityPickerForInfomation
- Pick crosshair-targeted entities for information providers (currently only the UUID suggestor) independently.
-
getEntityRangeExpansion
- In the vanilla
getEntities()
method, only entities that are in subchunks whose Cheshev distances to the given AABB are smaller than 2 blocks are seen. Usually, it doesn't matter, but when the height of some of the entities is greater than 2 blocks or the width is greater than 4 blocks, it can lead to some problems, especially when the entity is close to the boundary of subchunks. Changing it to a higher value may fix some bugs about the interaction between entities and something else.
- In the vanilla
-
disableItemUsageCooldown
- Disable item usage cooldown for ender pearls and chorus fruits, etc.
-
expandedStructureBlockRenderingRange
- Expand the maximum visible distance of structure blocks.
New Commands
/variable
- Creates and manages variables that hold Java objects.
/logchunkbehavior addColumn|removeColumn
- Creates and manages custom columns for chunk behavior logger.
/messcfg list [<label>]
- List options with given labels.
/lag while & /lag once
- Freeze a thread of the game for once, or freeze the current game at a given phase for a given number of ticks.
Other New Features
- Auto-completion of accessing paths.
- More chunk events for
/logchunkbehavior
. - Advanced mixin selecting dialog.
- Ticking phase
DIM_REST
. - Variable literals.
- Simple node
this
. - Save component
GAMERULES
. - Entity selector @t.
- Literal node in accessing path.
- Press F8 in the title screen to choose advanced mixins.
Changes
- The dimension argument in
/export addRegion
can be omitted to use the current dimension more convenient. - No longer expand the rendering range of structure blocks by default.
- No longer use scarpet for enabledTools.
- Removed original
/lag
command.
Fixes
- The default value of
creativeUpwardsSpeed
doesn't match the vanilla mechanism perfectly (#4) - Potential issues related to forking accessing paths.
- Entity names are not reflected properly in the name of logs produced by the entity data logger.
- Crashes caused by
ConcurrentModificationException
in entity logger. - Invalid characters in the name of exported saves are not stripped.
- Update callbacks for chunk info renderer are not removed properly.
- Field name suggestion is not available when using some commands as a child of
/execute
. - Custom line lists returned by
/hud listFields
aren't complete。 - Component nodes are not compiled properly.
- Some option parsing errors are not translated.
- Dedicated server crash caused by
EntitySelectorMixin
. - Accessing paths are not uninitialized properly.
- Compiled nodes have incorrect output types.
generateChunkGrid
causes world generation glitches in basalt deltas.- Argument types are registered on the client too late.
- Cannot use non-ASCII characters in the name of exported saves.
- Cannot use . in method & mapper node.
- Unicode escapes in string literals are not handled properly.
/lazyload
affects all dimensions.- HUDs are rendered incorrectly when rendered on the left or bottom of the screen.
- Using already used names in new sidebar lines is reported as successful despite rejection.
- Header lines are sometimes rendered outside the screen.
- Not compatible with Fabric 0.15+.
The biggest update since the mod was created, I guess.
New Features
Options
allowTargetingSpecialEntities
- Mainly to enable UUID suggestions for entities like ender pearls and items.
fletchingTablePulseDetector
- Measures the length and exact starting and ending time (including ticking phases) of an redstone pulse.
- By default, only positive pulses are detected, but you may enable detecting negative pulses with
fletchingTablePulseDetectingMode
.
fletchingTablePulseDetectingMode
fillHistory
- Allow you to undo or redo
/fill
.
- Allow you to undo or redo
allowSelectingDeadEntities
- Allow entity selector
@e
to select dead entities.
- Allow entity selector
disableEnchantCommandRestriction
- Remove the restriction on enchantment level and compatibility from
/enchant
.
- Remove the restriction on enchantment level and compatibility from
blamingMode
- Used by the chunk event cause analyzer mentioned below.
blameThreshold
- Used by the chunk event cause analyzer mentioned below.
Commands
/lazyload
- Simulates lazy loaded chunks.
- Currently, only entity ticking is disabled within marked chunks, other properties of the chunks are not influenced.
- Unlike
/forceload
, the states are not permanent.
/countentities
- Counts entities, especially stacked ones, in a easier way.
Other Features
- Four kinds of entity selector options
typeRegex
- Specify a regular expression matching the ID (including the namespace) of selected entities.
nameRegex
- Specify a regular expression matching the name of selected entities.
class
- Specify a regular expression matching the class (package name is optional) of selected entities.
instanceof
- Specify a concrete class name of the super class or implemented (directly or indirectly) of the class of selected entities.
- Accessing path compiler
- Compiles custom accessing path nodes into bytecode to enable higher performance.
- Experimental feature.
- A chunk event cause analyzer
- Allows the chunk behavior logger (
/logchunkbehavior
) analyze the cause of chunk events. - When enabled, you can select whether raw stacktrace or a few analyzed tags will be written to the file with option
blamingMode
.
- Allows the chunk behavior logger (
- Storage policies for entity logger.
- Previously, logs produced when both the server and the client ticks are saved.
- But now, you can disable logs from one of these sides by specifing a policy with
/entitylog sub <entities> <policy>
or/entitylog setDefaultStroagePolicy <policy>
. - By default, only logs from the server are saved.
- Saving all logs in a single file is possible, but not recommended.
- A warning screen displayed when trying to load a survival save for the first time with MessMod.
- Server ticking phase
REST
.- Represents the point where all async tasks like player inputs are finished.
- Accessing path node
class
.- The
Class
object representing the class of the input.
- The
- Support exporting more parts of saves in
/exportsave
.- It can be customized with
/exportsave addComponent <comp>
and/exportsave removeComponent <comp>
.
- It can be customized with
Changes
- Allow using wildcards in commands.
- The format is similar to DOS filename wildcard.
- It can be used in commands involving adding (subscribing) or removing (unsubscribing) some items, including:
/logchunkbehavior subscribe | unsubscribe <event>
/logpacket sub | unsub <type>
- No longer permit using primitive types in class cast node.
- Using them may lead to failure in compiled accessing paths.
- And they are actually invalid as all direct input of all nodes are of refercence types.
- Methods nodes now references one of the deepest overriden method correctly, which makes them more adaptable.
- For example,
Object.toString()
instead ofLivingEntity.toString()
is used.
- For example,
- Mapper nodes now only recognize targets with exactly matching descriptors.
- (Un)subscribing fields won't restart entity information logger, instead, it fails if the logger isn't idle.
- No longer marked as conflicting with lithium.
- Ticking events are now triggered at the beginning of corresponding stages.
- Spilt
/logchunkbehavior setSubscribed
into 2 commands. - More accurate elapsed time measuring in
/exportsave
. - Updated channel version from 2 to 3.
Fixes
/freezentity
prevents the chunk position of entities from updating.- Certain movement restrictions are calculated twice in
/logmovement
. - The error message sent when using a undefined network side in entity selectors is incorrect.
- Temproary files produced by
/exportsave
are not cleaned. - Undo and redo are performed twice within a single click.
- When using key bindings
F3 + <Key>
, actions attached to<Key>
are performed.- For example, when pressing
F3 + E
, the inventory screen is opened.
- For example, when pressing
- Multiple targets can be found even if a descriptor is specified.
- Chunk event
TICKET_ADDITION
&TICKET_REMOVAL
is not triggered correctly.- If the are documented before.
- Vanilla hotbar texture is not available when
hotbarLength
is modified.- Previously a simple grey background is used.
- Save specific options are still used after exiting from the save.
- Shapes for different players are not sent independently.
- For example, previously the block outline renderer effectively only renders shapes for one player (possibly a bot), making the feature not available for other players.
/raycast entity
fails when the language is set to Chinese.- Some error messages related to options setting or arguments in method and mapper nodes are not translated.
- Argument types are not serializable.
- An consequence of the bug is that some warning messages are output when players log on and that arguments of these types are absent in
/help
.
- An consequence of the bug is that some warning messages are output when players log on and that arguments of these types are absent in
- Listening to
-THIS-
in entity information logger without specifing an accessing path leads to crash. - Class literal of primitive types cannot be used.
- Fields without a mapping couldn't be referenced in
/entityfield
. - Block entity changes cannot be undone.
- However, it is not completely fixed now, as inventories is still unable to get restored.
- Exported save folder doesn't match the given name.
Added
- Client ticking events, which can be used in entity logs and sidebars.
- Option optimizedEntityPushing
- Chunk behavior logger, and command /logchunkbehavior
Fixed
- Some bugs caused by using overriding methods in mapper & method nodes.
- Misbehavior of mapper & method nodes, when literal E+ENUM is used.
- The feedback of /entitysidebar remove is not translated.
- The rendering distance of structure block is not enlarged when the carpet is not installed.
- Buggy exception handling in mapper & method nodes.
Changed
- Remove black outline of chunk loading status markers
Add
- Visualization of the fluid flowing direction
- chunkLoadingInfoRenderer & chunkLoadingInfoRenderRadius
- /accessingpath list
Fix
- Mapper nodes doesn't work properly
- Vec3d literals couldn't be used in method invocations as the commas are also delimiters of arguments
- NPE are thrown when MethodNode & MapperNode couldn't be parsed and its toString() are called.
- NaN & Infinities are not allowed in literals
- Maybe more
Added
- Class casting node in accessing path (not available)
- Mapper node in accessing path
Fixed
- x, y, z and identityHash couldn't be used
- Primitive types in method descriptors couldn't be handled well
- Unable to load languages when some mods (carpet-extra, for example) are installed
- A warning message has missing arguments
- Custom names of entities are not processed well in entity logs
Notice
This is the first version published on Modrinth. Many features has been introduced before, and they won't be described here, but you may find the README on Github.
Original changlog for this version
Options
- minecartPlacementOnNonRailBlocks: Allow players to place minecarts directly on the ground
- quickMobMounting: Placing mobs into vehicles
- generateChunkGrid: Generate a layer of glass on the ground to show the chunks
Commands
- /accessingpath: Manage custom nodes in accessing paths. (Some other features may be introduced in the future.)
- /exportsave: Export some given areas as a new save.
Other Features
- Vec3d literal
Fixes
- Changed hideSuvivalSave to hideSurvivalSave to correct a spelling mistake.
- Fixed some grammatical mistakes.
- Many commands have no feedback.
- In HUDs, listened fields get replaced when a newer line with the same name is created.
- Couldn't parse BlockPos literals.
Notice
This is the latest version by now that supports MC1.18 and the last version that supports MC1.17.
Original changelog
- Ticking phase SERVER_TASKS.
- Fix: The class name of packets are not deobfusciated.
- Fix: The value of option vanillaDebugRenderers couldn't be saved.
- Clients connecting the server with a different protocol version will receive a warning message in the chating bar.
- Chunk status biomes & full can no longer be skipped, because the server will crash if they are not processed.
- (1.17/1.18 only): Fixed some rendering glitches.