Changes
-> 1.21.0
-Added new 'old pig variant' module (in 'mobs' category) - Makes all pigs their old, temperate, variant
-Added new 'old cow variant' module (in 'mobs' category) - Makes all cows their old, temperate, variant
-Added new 'old chicken variant' module (in 'mobs' category) - Makes all chickens their old, temperate, variant
-Updated Classic Mechanics to minecraft version 1.21.5
-Text component formattings have been updated
-The 'old wolf variants' module now modifies wolves' sound variants aswell as their texture variant
-Updated JSON files to use new entity component predicate formats
-Updated JSON files to use new tooltip_display component
-Fixed the 'reset triggers on load' module not working correctly
-Added compatibility for brown and blue eggs for the 'old projectile motion' module
-Fixed the uninstall sequence not removing certain data
-Updated the 'boats deal fall damage' module to use the new fall_distance double field
-Updated outdated data to use new equipment fields
-The 'classic sponges' module now purposefully does not create block updates unless when a sponge gets removed
-The 'old TNT' module now purposefully does not create block updates
-The 'vertical logs' module now purposefully does not create block updates
-Slightly optimized the 'no placed leaf persistence' module
-The 'no placed leaf persistence' module now purposefully does not create block updates
-The 'no string placement' module now purposefully does not create block updates
-Updated the Classic Mechanics Handbook item to use new JSON & SNBT formatting
-Added a console message logging system
-Updated the enchantment component formatting
-Classic Mechanics now uses cm_utils for chunk/block dependent handling
-Optimized the 'herobrine' module
-Giants spawned due to the 'giants spawn' module will now use the entity.minecraft.giant translation key
-Fixed the 'no skeleton bone drops' module not being in the alpha preset
Changes
-> 1.20.4
-Added functionality for auto-toggling presets upon loading Classic Mechanics
-Added functionality for overriding players being able to get the Classic Mechanics Handbook item
-The game now makes sure atleast one player is able to get the Classic Mechanics Handbook item
-Fixed the footstep sounds produced by mobs, when the 'old mob step sounds' module is on, being the '.place' type instead of '.step'
-Adjusted the volume and range for footstep noises derived from the 'old mob step sounds' module
-Fixed the sounds from the 'old mob step sounds' being non-locational
-Fixed certain sounds from the 'old mob step sounds' module not working
-Fixed the sounds made by clicking the "previous page" buttons playing the open-category sounds instead of the page-regress sounds
-Updated the 'annotations_for_devs.txt' file
Changes
-> 1.20.3
-Fixed not being able to toggle presets
Changes
-> 1.20.2
-Fixed the 'void fog' module not working correctly
-Fixed the 'old mob steps' module not working correctly
-The beta preset no longer enables the 'minecart boosters' module as it is meant to replicate B1.7.3
-Fixed the mid-release preset containing useless data
-Fixed presets creating outdated data
-Fixed presets not creating certain data
-Fixed the 'old boat particles' module not working if the 'faithful old boat particles' sub-module was also on
-Optimized the 'old boat particles' and 'faithful old boat particles' modules
-Fixed sometimes boats displaying particles when they shouldn't when 'old boat particles' was enabled
-Fixed the 'no death messages' module not being enabled correctly
-Fixed the 'disable warden spawning' and 'no entity cramming' modules disabling other modules when getting disabled themselves
-Fixed the 'no arrow sticking' module looping unintentionally causing it to break and not work
-Fixed the 'no arrow sticking' module leaving behind visible arrows in the world
-Fixed enabling then disabling then re-enabling the 'old dragon bossbar' module not re-naming dragons that had previously been named then un-named
-Fixed bug that opened page 3 of the cosmetic modules page whenever enabling the 'old tnt particles' module
-Fixed the 'old mob step sounds' module not working with certain blocks
-Made ghast spawning derived from the 'more ghasts' module more frequent
-Fixed the 'disable mobs using equipment' module not working
-Renamed the 'disable mobs using equipment' module to 'no mob equipment' (this name was previously used internally and it would tell you this was its name when enabling/disabling the module but the old name was used on the settings/modules page)
-Added a note at the bottom of the description of the 'no mob equipment' module
-Fixed sheep dropping wool but not being actually sheared when punched if 'punch sheep to shear' was enabled
-Fixed the 'punch sheep to shear' module's location context not being removed
-Fixed the 'old zombie reach' module not working correctly
-Fixed zombies having 5 blocks of reach instead of 3 when 'old zombie reach' was enabled
-Fixed the 'old animal spawning' module not working correctly
-Fixed the 'old endermen' module not being correctly enabled when clicking the "[enable]" button
-Fixed endermen affected by the 'old endermen' module being silent (note that this might not affect old enderman entities in your world, but will affect new ones)
-Fixed the 'killer rabbit' module not being enabled correctly when clicking the "[enable]" button (please re-toggle this module if you have toggled it in the past)
-Fixed the 'old critical hits' module not displaying sounds and particles correctly
-Fixed the absorption effect not being detected correctly by the 'old golden apples' module
-Fixed improper enchanted golden apple eating detection for the 'old enchanted golden apples' module
-Fixed the 'dropped items reset durability' not working correctly
-Fixed the 'floating gravity blocks' and 'old farmland' modules not being enabled/disabled correctly
-Fixed the 'floating gravity blocks' module not correctly detecting if it was on or off
-Fixed the 'no string placement' module not managing items correctly
Changes
-> 1.20.1
-The 'no animal panic' module has been temporarily force-disabled due to the change of how animal panic works in 1.21+ (this module will be rehauled in a future update and will be brought back!)
-Fixed the alpha preset displaying "Enabled beta preset" instead of "Enabled alpha preset"
-Fixed the alpha and beta presets not enabling the 'no breeding' module correctly
Changes
-> 1.20.0
-Added new 'obsidian drops cobblestone' module (in 'drops' category) - Returns the pre-IF618 obsidian drop; obsidian blocks drop cobblestone instead of themselves
-Optimized the 'boats deal fall damage' module
-Optimized the 'arrows don't burn victims' module
-Optimized the 'old boat crashing' and 'old boat crashing drops' modules
-Fixed chest-boats not dropping the correct items when 'old boat crashing drops' was enabled
-Merged the loot tables used for the 'old boat crashing drops' module
-Fixed particles and sounds for the 'old critical hits' module not working correctly
-Particles and sounds that derive from the 'old critical hits' module now use a raycast for getting the affected victim entity
-The particles and sounds that derive from the 'old critical hits' module no longer affect players solely, it can now affect most entities
-Optimized the 'old critical hits' module
-Fixed player updating system not working correctly
-Organized various functions, predicates, loot tables and other files into sub-folders
-Slightly optimized the 'old enchanted golden apples' module
-Slightly optimized the 'old golden apples' module
-Fixed nightmare-derived mobs still spawning if players aren't sleeping if the player that triggered it enters then exits the bed quickly while the 'old nightmares' module is on
-Nightmare-derived mobs will no longer spawn on creative mode players when the 'old nightmares' module is enabled
-Optimized the 'old nightmares' module
-Fixed not being able to enable/disable the 'old projectile motion' module correctly
-Optimized the 'old projectile motion' module
-The 'old projectile motion' module is now compatible with splash potions, lingering potions, wind charges and fishing rod bobbers
-Slightly optimized the 'old tool durability' module
-Optimized the 'no offhand' module
-Optimized the 'old bad omen' module
-Optimized the 'no potion effects' module
-Fixed the 'no knockback resistance' module not affecting players
-Fixed the 'no knockback resistance' module not properly checking for if the module was enabled or disabled
-Slightly optimized the 'no experience' module
-Optimized the 'no elytra' module
-Optimized the 'no breeding' module
-Removed unused value storage data ('CM_InLoveValue')
-Removed certain unused or useless files
-Fixed the 'old rabbits' module always functionally acting as if the 'faithful old rabbits' sub-module was enabled
-Seperated the use of flint and steel from the 'instant_spawn_monsters' group of functionalities for the 'instant modules' module
-Optimized all the functions derived from the 'instant modules' module
-Fixed the 'no arrow sticking' module not visually working correctly
-All adequate modules are now compatible with smithed's tagging conventions (the modules affected by this are: 'old dragon bossbar' , 'no trims' , 'snowball fireballs' , 'snowball small fireballs' , 'classic creepers' , 'disable zombie door breaking' , 'no zombie baby burning' , 'no mob equipment' , 'no fish' , 'no chicken jockeys' , 'no spider jockeys' , 'no squid despawning' , 'no glow squid despawning' , 'no villager-zombie fighting' , 'no zombie base armor' , 'no zombie reinforcements' , 'old cave spider health' , 'old ender dragon' , 'old endermen health' , 'old endermen' , 'old iron golem knockback' , 'old rabbits' , 'old sheep health' , 'old silverfish health' , 'old spider health' , 'old wolf variants' , 'old zombie sounds' , 'piglin to pigman switching' , 'silverfish soul sand damage' , 'testificates' , 'disable fire arrows' , 'no endermites from pearls' , 'old projectile motion' , 'endermite soul sand damage' , 'slimes dont swim' , 'killer rabbits' , 'no drowned conversion' , 'no skeleton horse jockeys' , 'old boat positioning logic' , 'old ocelots' , 'old villagers' , 'old zombie reach' , 'giants spawn' , 'zombie-like giants spawn')
-Classic mechanics now contains an ID string in the pack.mcmeta file to comply with smithed's conventions
-All loot tables now contain the "__smithed__" field as to support Weld functionality
-Fixed the 'floating gravity blocks' module not detecting walls/gates/fences correctly
-Fixed the 'old sponges' module not detecting sponge block placement correctly
-Fixed the 'no skeleton bone drops' module auto-enabling itself
-Fixed certain data not being removed when Classic Mechanics gets uninstalled
-Expanded the description of the datapack to be colored and include the current version
Changes
-> 1.19.0
-Added new 'no skeleton bone drops' module (in 'drops' category) - Disables skeletons' bone drops, emulating their pre-B1.2 drops
-String items are now added directly to slots if players were holding string items while placing them when 'no string placement' was enabled
-Redstone dot placement raycast from the 'redstone dot' module should now be a little more accurate
-Organized many files into their own sub-folders
-Slightly optimized the 'herobrine' module
-Slightly optimized the 'old bonemeal' module
-All raycast functions now take the player's block_interaction_range attribute into account for max ranges
-Raycast values now get stored on CM.global instead of players
-Slightly optimized the 'old tilling' module
-Replaced CM_TillRNG with an RNG predicate
-Removed RNG scores and replaced it with a centralized single score (removed ones include: 'CM_TillRNG' , 'CM_MineshaftChestRNG' , 'CM_PaintingRNG' , 'CM_HerobrineActionRNG' , 'CM_NightmareMobRNG' , 'CM_AnimalSpawnRNG' , 'CM_GhastRNG' , 'CM_PunchShearDropRNG' , 'CM_HerobrineTimeRNG')
-Removed /enable_with_data/'s mineshaft_chests.mcf & punch_sheep_shearing.mcf due to the previous change
-The 'multipurpose/in_dimension_overworld' predicate no longer checks for the player specifically
-Changed the directory of several files (now includes more sub-folders and many modules should now be more organized)
-Optimized the 'more ghasts' module
-Optimized the 'killer rabbits' module
-Optimized the 'old mob steps' module
-Improved the range of blocks that work with the 'old mob steps' module
-Optimized the 'old boat positioning logic' module
-Slightly optimized the 'disable zombies breaking doors' module
-Optimized the 'land squids' module
-Changed the formatting of several functions
-The 'classic_mechanics:is_baby' predicate was replaced with the 'classic_mechanics:multipurpose/entity_is_baby' predicate
-Optimized the 'no daylight baby zombie burning' module
-Optimized the 'no drowned convesion' module
-Optimized the 'disable mobs using equipment' module
-Changed the 'current_version' NBT from the classic_mechanics:general storage (used to be saved & stored as {current_version:{current_version:<#>}} - now saved & stored as {current_version:<#>})
-Expanded the update changes system, previously it would only apply changes that happened in the <current version> in relation to the <last version> - now the game can make multiple changes if classic mechanics has updated through several versions (ie. if you played in version 1 and then update to version 5, the changes from versions 2, 3, 4 and 5 will take effect)
-The functionality for update-changes is now compatible with any version of Classic Mechanics from v1.1.0 up to the current version (and onwards in the future) - meaning, you can update from any version into v1.19.0+ and there shouldn't be any issues
-Fixed data being loaded twice when loading Classic Mechanics for the first time
-Centralized entity removal functionality - only one function is used now
-Optimized the 'no left handed mobs' module
-Slightly optimized the 'no animal panic' module
-Fixed 'no glow squid despawning' module not working correctly
-Optimized the 'no squid despawning' and 'no glow squid despawning' modules
-Optimized the 'no wolves' module
-Fixed husks, villager-zombies, and drowneds still being aggressive towards villagers when the 'no villager-zombie fighting' module was enabled
-Optimized the 'no villager-zombie fighting' module
-Animals now check for if there are no animals in the same block when spawning while the 'old animal spawns' module is on
-Animals no longer spawn in the proximity of 24 blocks from a player while the 'old animal spawns' module is on
-The animal spawning function for the 'old animal spawns' module will now recursivelly loop for a set amount of times to spawn animals
-Optimized the 'old animal spawning' module
-Slightly optimized the 'old despawning' module
-Increased iron golem distance checks for the 'old iron golem knockback' module
-Optimized the 'old iron golem knockback' module
-Fixed cats choosing an improper player as their owner when 'old ocelots' was enabled
-Optimized the 'old ocelots' module
-Optimized the 'old rabbits' module
-Slightly optimized the 'old wolf variant' module
-The 'old wolf variant' module is now compatible with non-vanilla wolf variants
-Slightly optimized the 'piglin to zombie pigman switching' module
-Increased the amount of comments on functions as to better documentation
-Optimized the 'punch sheep to shear' module
-Slightly optimized the 'silent villagers' module
-Optimized the 'silverfish soul sand damage' module
-Optimized the 'testificate villagers' module
-Zombies now properly raycast when the 'old zombie reach' module is enabled
-Optimized the 'old zombie reach' module
-Slightly optimized the 'classic creepers' module
-Optimized the 'ghasts display fire' module
-Optimized the 'giants spawn' module
-Removed CM_GiantSpawnTries
-Slightly optimized the 'no spider jockeys' module
-Slightly optimized the 'no skeleton horse jockeys' module
-Slightly optimized the 'no chicken jockeys' module
-Optimized the 'old endermen health' sub-module
-Optimized the 'old endermen' module
-Optimized the 'old farmland' module
-The 'old sponges' module now uses a proper raycast
-Optimized the 'old sponges' module
-Optimized the 'vertical logs' module
-Fixed version IDs being incorrect in the annotations_for_devs.txt file
-Fixed pressing the 'previous page' buttons in the modules pages playing the page_advance sound
Changes
-> 1.18.0
-Added new 'dynamic void fog' module (in 'cosmetical' category) - Makes the void fog player Y-level checks more dynamic, meant to be used for worlds with custom heights that differ from vanilla's
-Added new 'do player version checks' module (in 'general' category) - Allows the game to check for and operate on players who logged on during a previous version of Classic Mechanics
-Classic Mechanics will now check for when players who previously logged on in an older version of the datapack re-join/re-log in a newer version
-The game will now store players' UUIDs into a database storage so it can lookup version changes in the future (this would be used if a module that changes players' gameplay changes or updates significantly and Classic Mechanics needs to do certain operations on the player(s) due to it!)
-{The current player database system uses edited code originally made by Cloud Wolf! All credit goes to him!}
-Toggle functions are now organized within sub-folders under classic_toggles' /toggles/
-Removed some unnecessary data (CM_EndermanRay / CM_HerobrineRay)
-Module-dependent data is now only created when enabling the respective modules
-Particles displayed due to the 'void fog' module are now only shown per client
-Fixed void fog from the 'void fog' module being shown in other dimensions that are not the overworld
-The 'void fog' module's particles are now more accurate
-The data loading sequence has been changed
-The 'void fog' Y check no longer has a minimum Y height, only a maximum
-Slightly optimized the 'void fog' module
-The 'old tnt particles' module was moved to cosmetical category page 7
-Fixed being unable to disable the 'old tnt particles' module due to it still having the old settings disable format
-Optimized the 'constant love hearts' module
-Optimized the 'no arrow sticking' module
-Arrows from the 'no arrow sticking' module should now be less glitchy
-Slightly optimized the 'snowball blaze fireballs' module
-The update functionality for Classic Mechanics no longer only checks for if the player is updating from the last version: now checks for any version from version ID 10 and beyond
-Slightly optimized 'old TNT particles' module
-Changed many files' directories (this can *possibly* make certain modules not work anymore in worlds with older versions of this datapack. If you notice such thing happens, please disable and then re-enable the module in the settings menu!)
-Slightly optimized the 'old dragon bossbar' module
-Updated and changed many functions' formatting
-Optimized the 'old tnt ignition' module
-The 'floating gravity blocks' module now takes gravity blocks' velocity into account
-Gravity blocks should now align better atop fences/walls/gates when 'floating gravity blocks' is enabled
-Optimized the 'floating gravity blocks' module
-The 'old mineshaft chests' module now checks if the chest minecart is inside a abandoned mineshaft structure
-Slightly optimized the 'old mineshaft chests' module
-Suffocation checks for the 'solid cobwebs' module should now be more accurate
-Optimized the 'old brewing stand' module
-Added proper raycasting for the 'old brewing stand' module
-Added more comments into functions for organization and ease of use
-The 'disable sprinting' module now uses modifiers (NOTE! If you are updating this datapack: if players' movement are messed up, paste this command -> '/function classic_mechanics:main/load_version_changes_disablesprint')
-Optimized the 'disable sprinting' module
-Fixed certain modules not getting properly disabled when clicking the 'disable all' buttons
-Fixed 'no villager-zombie fighting' functions being called when enabling the alpha preset
-Fixed presets calling on disabled modules
-Fixed 'beta' , 'early release' , 'alpha' presets not calling certain modules' functions (you might need to disable and re-enable these presets if you had any enabled!)
-The 'early release' preset now turns on the minecart modules and the 'boats deal fall damage' module
-Fixed Classic Mechanics not disabling itself when uninstalling
-Fixed certain data not being removed when uninstalling Classic Mechanics
Changes
-> 1.17.0
-Added new 'open category sounds' module (in 'general' category) - allows you to edit the sounds made by opening categories in the main options menu
-Opening categories in the main menu will now play a customizable sound
-You can now do '/function cm:opt' and '/function cm:options' to display the options menu, these are simply shorter versions of the old settings function so it can be typed faster (doing '/function classic_mechanics:options_message' still works)
-The 'classic_mechanics:options' storage is now only operated on once if it doesn't already exist
-The functionality for opening categories in the main menu is now centralized
-Changed the naming scheme of the zipped file: now includes "for <minecraft version>" at the end
Changes
-> 1.16.0
-Added new 'Main menu sounds' dynamic module (in 'general' category) - Allows the user to control the sound played when the main options menu is displayed
-Added new 'Page change sounds' dynamic module (in 'general' category) - Allows the user to control the sounds played when going through option menu pages
-Added new 'Module toggle sounds' dynamic module (in 'general' category) - Allows the user to control the sounds played when clicking the enable/disable buttons on modules
-The functionality for changing pages in options menus is now centralized
-Customizable sounds are now played when changing option menu pages
-A customizable sound is now played when opening the main options menu
-Customizable sounds now play when enabling/disabling modules
-Fixed certain modules not being able to be enabled/disabled due to old attribute prefixes (these modules are: 'disabled sprinting' / 'instant swing speed' / 'old jump strength' / 'old rabbits' / 'faithful old rabbits' / 'old sheep health' / 'old spider health' / 'old cave spider health' / 'old silverfish health' / 'old placement reach' )
-{Note that the options for sound customizability is currently pretty bare-bones and I do want to improve them in the future!}