Skip to content

2.1.0-1.19

Compare
Choose a tag to compare
@DragonEggBedrockBreaking DragonEggBedrockBreaking released this 31 Jul 13:20
· 439 commits to trunk since this release

This update was massive. I kept coming up with new ideas before releasing. In the previous release, there were 347 gamerules in this mod. This has now increased my more than 2.5x, with a total of 876 gamerules in v2.1.0.

  • Add gamerule pistonPushLimit to edit how many blocks pistons can push to the redstone category

  • Add gamerule recipeBookEnabled to toggle the recipe book to the misc category

  • Create new mob_toggles gamerule category

    • Toggles most mobs
    • Moved wither toggle to this category
  • Create new ai gamerule category

    • Add most mob-specific AIs to the category
  • Create new blocks gamerule category

    • move many misc gamerules to it:
      • netherPortalsEnabled
      • endPortalsEnabled
      • endGatewaysEnabled
      • netherPortalCooldown
      • cropTrampling
      • beaconsEnabled
      • conduitsEnabled
      • creativeSwordCanBreakBlocks
      • pushableBuddingAmethyst
      • containerOpeningBlocked
    • Add old (alpha) tnt gamerule toggle
    • Add gamerules for toggling friction, speed factor, and jump factor for certain blocks
    • Add gamerules for toggling different cauldron features, and filling/emptying them
    • Add toggles for interactions with a lot of blocks, e.g. opening crafting tables, playing noteblocks
  • Create new food category

    • Add all nutrition values for all foods to it
    • Add all saturation values for all foods to it (multiplied by 10, since gamerules don't support floats)
    • Move oldHunger gamerule to it
  • Create new potions category

    • Toggles all potion types (combined toggle for long and more powerful)
    • Overall toggles for normal potions, splash potions, lingering potions
  • Create new death category

    • Add toggles for deaths from all damage types
    • If a death is disabled, when the player loses all of their health, the mod gives them half a heart to stop them from dying. This is therefore different from the damage category, which stops all damage from certain sources from being applied.
  • Create new items category

    • Write toggles for the right click actions of most items
    • These include a milk toggle (so the old milkClearsEffects was removed)
    • The totem of undying toggle, and the bow and crossbow spamming toggles were moved to this category
  • Create new dispenser category

    • Adds gamerules for most special dispenser options
  • Create new arrow category

    • Adds gamerules for all tipped arrow variants
    • Adds gamerule to toggle spectral arrows
  • Create new advancement category

    • Adds gamerules to toggle each advancement
  • Create new stats category

    • Add toggles for different types of statistics that players can get
  • Create new entity category

    • Add toggles for different types of falling blocks (whether they can fall)
    • Add toggles for different variants of paintings
  • Create new merchant category

    • Move existing villager/piglin gamerules to it:
      • infiniteTrading
      • villagerTradingEnabled
      • piglinBarteringEnabled
    • Add gamerule villagerDailyRestocks to edit the frequency of villager restocks
    • Add toggles for all villager biome types
    • Add toggles for all villager professions
  • Rewrite a lot of mixins to use the MixinExtras library (thanks to @CoolMineman for helping with brachyura support for it). This allows for much better compatibility with other mods.

  • Use the ConditionalMixin library to disable certain mixins when certain mods are present for compatibility.

  • Fix the command gamerules category in 1.19 (was completely broken before).

  • Rewrite the structure gamerules to use mixins instead of creating dapatacks and loading them while the world is generating.

  • Rewrite the lang file to use simple title strings and detailed description strings, rather than just title strings that try to be short but to both.

  • The command gamerules for dedicated-server-only commands are now only registered if the mod is loaded on a dedicated server.

  • Completely rewrite the gamerule and gamerule category creation and registration system, and the caffeineconfig gamerule toggle system:

    • All the categories are in an enum
    • All the gamerules are in one of two enums (one for booleans, one for integers)
    • This means that the gamerules no longer need to be explicitly registered, the mod just iterates through the enums.
    • Previously, due to breakages when a client with this mod joined a dedicated server, I had code in every method that skipped it if the server was null. I now centralised this in the gamerule helper that I wrote.
    • Previously, I needed to manually specify one mixin per category to check for it, to disable gamerules where the category was disabled by caffeineconfig. Now, the mod reads from the mixins.json file at runtime to automatically do this while iterating over the category enum.
    • What all this means for the user is the jar file is much smaller than it would've been without these changes.
    • What all this means for developers is that registering gamerules is extemely easy.
  • I also switched my IDE to IntelliJ, which means all of the source code is now much cleaner and also much safer, since I ran it though IntelliJ code cleanup and I fixed all of the java issues and lang file typos that IntelliJ pointed out.