Canary

Canary

Mod

A performance mod designed to optimize Minecraft's general performance and unofficial fork of Lithium mod for Minecraft Forge.

Client or server Optimization

315.1k downloads
243 followers
Created2 years ago
Updated3 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter versions...
  • Please make sure to backup your world before updating!
  • Update for 1.20.4.

This update adds new optimizations and bug fixes. Please make sure to backup your world before updating!

Additions

  • New: ai.replace_streams.storage: optimize performance by replacing streams with imperative approach. (c1672dd)
  • Change: disable ai.nearby_entity_tracking by default as it affects performance. (c1672dd)
  • Change: remove unnecessary redirection in mixin.world.inline_block_access.LevelMixin. (2eb55f9)
  • Change: Use only one Inject annotation in two methods in mixin.collections.gamerules.GameRulesMixin. (749161a)
  • Change: disable duplicated optimizations that are in Saturn mod. (acaf2f0)
  • Change: disable mixin.entity.hopper_minecart optimizations if Hopper+ mod is loaded. (d9d389e)

Additions

  • Change: remove the inventory access optimization as it doesn't make a big difference.
  • Change: remove duplicated epsilon check in mixin.shapes.specialized_shapes.
  • Change: disable hopper optimizations by default as it affects Forge and many other mods.

Small update fixes a memory leak in hoppers, and fixes some other issues.

If you got into any issue when using Canary, please make sure to report it in the issue tracker from here.

To see the available configurable options, press here.

Additions

  • New: allow the cached ominous banner to be used on Raid#pickUpItem() method.
  • Change: cache Raid#getLeaderBannerInstance to be only one instance.
  • Change: remove two duplicated accessors.
  • Change: allow the hoppers use CanaryStackList.
  • Change: hopper optimizations will be disabled automatically if easy villagers mod is loaded.
  • Change: separate ServerChunkCacheMixin in other package in mixin.chunk.replace_streams.servercore_compat and disable it automatically if ServerCore is installed.
  • Change: add BlockEntityMixin, NbtCompoundMixin($Type) and ObtainRaidLeaderBannerGoalMixin to canary.mixins.json.

This update contains new chunk ticking optimizations, bug fixes and many more.

If you got into any issue please make sure to report it in the issue tracker from here.

For a list of the available configurable optimizations, press here.

Additions

  • New: mixin.chunk.replace_streams: optimize chunks ticking by replacing streams with imperative approach.
  • Change: store only one copy of default block states.
  • Change: remove duplicated accessor in block.hopper.
  • Fix: hoppers doesn't fills an incubator from easy villagers mod correctly. Closes #199.
  • Fix: mixin.world.block_entity_ticking.sleeping: crash when /perf command prints position of sleeping block entity. Closes #201.
  • Make sure to backup your world before updating..
  • Fix: PoiSection mixin is not applied.
  • Make sure to backup your world before updating..
  • Fix: create new POI section instance

Make sure to backup your world before updating.. Change: disable util.block_tracking as it completely unused and causes issues.

External resources



Project members

AbdElAziz

Owner


Technical information

License
LGPL-3.0-only
Client side
optional
Server side
optional
Project ID