Chrysalis

Chrysalis

Mod

A library mod and shared API to assist with creating Minecraft Fabric mods!

Client and server Game MechanicsLibraryManagementUtility

22.9k downloads
12 followers
Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...
  • The hasItemInInventory boolean method in the ItemHelper class can now detect if an item is in a Bundle or a Shulker Box.

  • Removed #chrysalis:obsidian tags (Replaced with #c:obsidians.

  • Updated Fabric loader version to 0.16.5, and Fabric API version to 0.105.0.

  • Added the ChrysalisExampleRegistry class, which displays examples for various things you can register using Chrysalis.

  • Added the ShootProjectileDispenserBehavior template class, which allows for any item to be shot out as a projectile with a linked entity type and a sound event.

  • Added the setHitboxSize method to the EntityDataHelper class, which assists with changing the hitbox size of entities.

  • Added the setTooltipIconsFont method to the ItemHelper class.

  • Added a few new debug messages to the DebugHelper class.

  • Removed the duplicate_allay criteria trigger (Replace with vanilla summoned_entity trigger).

  • Tweaked the layout of various commands, now checking for the target entity before prompting other arguments.

  • Added the /velocity command, which allows for the velocity of entities to be modified in-game.

  • The Ride Mob debug item no longer tries to mount the selected mob if the player is sneaking.

  • All debug items now emit the item_interact_finish game event instead of the item_interact_start game event.

  • Added the WoodTypeAccessor interface mixin for accessing the registry method for wood types.

  • Moved all template models in chrysalis:models/block to chrysalis:models/block/templates.

  • The sendCameraShakeToNearbyPlayers and resetCameraShakeForNearbyPlayers methods in EventHelper now take an additional entity check for ignored entities.

  • Renamed the /shake command to /camerashake.

  • Improved the /disenchant command, now allowing for individual enchantments to be removed.

  • Added a gear icon to the tooltip_icons font.

  • Added translation strings for a bunch of modded dimensions.

  • Added a warning icon to the tooltip_icons font.

  • Added a camera shake system, which can be triggered from a few new methods in the new EventHelper class.

  • Added the /shake command, which can be used to trigger a camera shake for a selected player.

  • Added the /durability command, which can be used to adjust the durability and repair cost of items.

  • Added the /food command, which can be used to adjust the nutrition and saturation values of a player.

  • Added the /explosion command, which can be used to create customizable explosions at specified block positions.

  • Added the /gameevent command, which can be used to play various game events, such as vibrations, in the world.

  • Fixed a crash on server environments relating to the panoramic screenshot key.

Registry Helpers

  • The registerStructureMusic method in RegistryHelper now takes a SoundEvent instead of a string.

  • The registerMobInContainer, registerMobInFluidBucket, and registerMobInSolidBucket methods in RegistryHelper now take a rarity check.

  • Added the targetIsAttachedToLead and targetIsLinkedAllay methods to EntityDataHelper.

  • Removed the getFoodSaturation method from ItemHelper, as the calculation done previously is no longer needed with the new item components system.

Debug Items

  • Added a new Teleport Wand debug item, which can be used to instantly teleport to the player's looked-at position.

  • All debug items can no longer be used to break blocks while in Creative Mode.

  • Added the chrysalis:debug_utility_items item tag.

Miscellaneous

  • Changed the default keybind to take panoramic screenshots to F6.

  • Added the /clearspawnpoint command, which clears the player's spawnpoint.

  • Added the /disenchant command, which clears all enchantments on the player's held item.

  • The /enchant command now allows for any item to be enchanted, and allows for values up to 255.

Fixed Bugs:

  • Potion recipe registries in RegistryHelper now properly work again.

  • The Tame Mob debug item now properly works on undead horses.

Additions and Changes:

  • Added a new Ride Mob debug item, which causes the player to mount any mob that is right-clicked with it.

  • Added a keybind to take panoramic screenshots (F4 by default).

  • Added a new registry system for structure-specific music tracks, which can be accessed from the registerStructureMusic method in RegistryHelper.

  • Added the getEnchantmentLevel method in ItemHelper, which checks a specific registered enchantment's value.

  • Added addFireworkRockets and addOminousBottles methods to CreativeTabHelper.

  • The FadingEmissiveParticle class now takes an extra boolean check to determine if the particle has an animated texture.

  • Renamed several particle provider classes.

  • Added three new commands:

  • /hat (Places the player's currently held item onto their head slot.)
  • /showcase (Showcases the player's currently held item in a chat message.)
  • /surface (Teleports the player to the highest block position at their current X and Z coordinates.)
  • Updated to Minecraft 1.21.1

  • Renamed MobInPowderSnowBucketItem class to MobInSolidBucketItem, which now allows for the block that is placed to be fully configurable

  • Registries for armor and tools in RegistryHelper now take additional floats to determine attack damage, attack speed, and durability

  • All loot table resource locations in the RegistryHelper class have been removed as they can be accessed from other places in the vanilla code

  • Removed unnecessary placed feature registry methods

  • Added five and five_alt fonts

  • Removed Item Tags:

  • #chrysalis:bricks (Use #c:bricks instead)
  • #chrysalis:concrete (Use #c:concretes instead)
  • #chrysalis:furnaces (Use #c:player_workstations/furnaces instead)
  • #chrysalis:glazed_terracotta (Use #c:glazed_terracottas instead)
  • #chrysalis:concrete_powder (Use #c:concrete_powders instead)
  • #chrysalis:filled_buckets (Use #c:buckets instead)
  • #chrysalis:heads (Use #minecraft:skulls instead)
  • #chrysalis:helmets (Use #minecraft:head_armor instead)
  • #chrysalis:chestplates (Use #minecraft:chest_armor instead)
  • #chrysalis:leggings (Use #minecraft:leg_armor instead)
  • #chrysalis:boots (Use #minecraft:foot_armor instead)
  • Removed Block Tags:
  • #chrysalis:concrete (Use #c:concretes instead)
  • #chrysalis:crops (Use #minecraft:crops instead)
  • #chrysalis:furnaces (Use #c:player_workstations/furnaces instead)
  • #chrysalis:glazed_terracotta (Use #c:glazed_terracottas instead)
  • #chrysalis:heads (Use #c:skulls instead)
  • All custom particle classes are now public and have been cleaned up.

  • Added two new custom particle classes, ColoredDustParticle and FadingEmissiveParticle.

  • Fixed a vanilla issue preventing entities that walk on fluids from walking on flowing liquids or waterlogged blocks.

  • Fixed an issue where experimental worlds could not be opened outside of a development environment.

  • Added two new commands: /heal and /cooldown

  • Added a new gamerule: playerDeathItemDespawning (When set to false, items dropped from dying players will never despawn.)

Here's some small changes in preparations for 1.20.6+, with some minor tag tweaks and a few additional things! Do note that this version is still on 1.20.4.

Changes:

  • The experimental settings screen will no longer show when in a debug environment.
  • Added all loot table locations for 1.21 loot tables to RegistryHelper.
  • Removed registerBurnableWoodenPressurePlate from RegistryHelper.
  • Removed registerBurnableLog from RegistryHelper.

Removed Tags:

  • seeds (Item Tag)
  • meats (Item Tag)
  • poisons_parrots (Item Tag)
  • concrete_powder (Block Tag)
  • arthropods (Entity Tag)
  • aquatic (Entity Tag)
  • illagers (Entity Tag)
  • matures_into_separate_mob (Entity Tag)

Renamed Tags:

  • villagers -> villager
  • piglins -> piglin
  • slimes -> slime
  • golems -> golem
  • is_vehicle -> vehicle
  • Minor cleanup of a few classes

  • Added targetIsImmunePlayer boolean method to EntityDataHelper

  • Added 'chrysalis:use_riptide_trident' Advancement Criteria Trigger

  • Removed a few tags ('cannot_be_pushed_by_pistons' and 'mobs_should_pathfind_around')

  • Added PlaceBlockDispenserBehavior class (Allows for Dispensers to place any specified block in front of them)

  • Added DebugHelper class

  • Fixed a critical issue involving chunks not being able to tick in the Nether or End.
  • Fixed a bug where Chorus Plants that generate on any block that is not End Stone would not generate connected to the ground.
  • Container mobs that are attached to a lead will now drop their lead if picked up in a container.

  • Fixed rain fadeout animation not working with the built-in emissive shaders.

  • Added the 'allows_use_while_sneaking' block tag, which allows for blocks to be interacted with even while the player is sneaking.

  • RegistryHelpers class has been renamed to RegistryHelper.

  • InventoryHelper class has been renamed to ItemHelper.

  • All helper classes have been moved to net.sydokiddo.chrysalis.misc.util.helpers

  • Added loot table resource locations for Armadillos and Breezes to RegistryHelper.

  • Moved various block related methods from RegistryHelper to the new BlockHelper class.

  • Moved various world generation related methods from RegistryHelper to the new WorldGenHelper class.

  • Removed registerMobInWaterBucket, registerMobInLavaBucket, and registerMobInCustomFluidBucket registry helper methods in favor of a singular registerMobInFluidContainer method.

  • Removed registerStoneButton, registerWoodenButton, and registerCustomPulseTimeButton registry helper methods in favor of a singular registerButton method.

  • Added registerUniquePotionRecipe method to RegistryHelpers, which allows for the user to specify a starting potion, an ingredient, and a result potion.

  • Added registerCustomPulseTimeButton method to RegistryHelpers, which allows for the user to register a button block with a custom pulse time.

  • Added isMobInDimension method to EntityDataHelper, which allows for the user to check if a mob is in a custom dimension.

  • Added isLookingUp, isLookingForward, and isLookingDown methods to EntityDataHelper, which allows for the user to check the looking angle of any entity.

  • Added hasItemInInventory method to InventoryHelper, which allows for the user to check if a player has a specific item anywhere in their inventory.

  • Removed 'elytra' Item Tag

  • Added 'crops' and 'sniffer_plant_crops' Block Tags

  • Added advancement criteria trigger for clearing Poison using a Honey Bottle.

  • Updated to 1.20.4

  • Moved all tooltip methods from ChrysalisRegistry to RegistryHelpers

  • Renamed net.sydokiddo.chrysalis.misc.util.mobs to net.sydokiddo.chrysalis.misc.util.entities

  • Added the EntityDataHelper class for accessing various data from entities

  • Added the DateHelper class for grabbing specific dates from the user's calendar

  • Added ChrysalisMemoryModules class for template memory modules that can be used for mobs.

  • Added getFoodSaturation, hasArmorTrim, hasEnchantmentOrTrim, popResourceBelow, and playDispenserFailSound methods to RegistryHelpers

  • Template models for UV-locked pillar blocks and biome color tinted blocks

  • Fixed UVs on the custom button model templates

  • All debug items are no longer locked behind a development environment

  • All debug item sounds now use custom sound events with unique subtitles

  • Added 1.21 blocks to various Chrysalis tags

  • Block/Item Tags for Copper Grates (copper_grates)

  • Added 'matures_into_separate_mob' Entity Type Tag

  • Added Trial Chambers loot tables to RegistryHelpers

  • The message that sends when a screenshot is copied to the clipboard now works with the narrator when enabled

  • The Kill Wand debug item now utilizes its own damage source when damaging entities

  • Dispenser methods for spawning custom spawn eggs and mob container items are now automatically built-in

Fixed an issue with spacing with armor trim tooltips

  • The 'registerStoneButton' method now allows for BlockSetType to be specified.

  • Improved the way enchantment tooltips work alongside armor trim tooltips.


Project members

Sydokiddo

Owner

Details

Licensed MIT
Published a year ago
Updated a day ago