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.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!}
Changes
-> 1.13.0_01
-{ -= This is an update to an older version of classic mechanics so mc 1.21/1.21.1 doesn't get left behind much, fixes many bugs and ports a lot of patches from newer CM versions =- }
-Fixed bug where food would stack if put on the player's cursor while the 'old food' module was enabled
-Rehauled item entity checks for the 'old food' module: food items dropped will no longer stack, existing overstacked dropped food items will be seperated
-Food items inside inventories will no longer stack when updated while 'old food' is enabled (if you previously had stacked food items in your inventory prior to this version you will likely need to update them! You can do this by simply clicking on them or dropping them)
-Fixed the following food items being incompatible with the 'old food' module: cooked salmon, raw rabbit, golden apple, enchanted golden apple, rabbit stew, mushroom stew, suspicious stew
-Fixed the 'old food' module affecting enchanted books
-Enabling the 'old food' module will now reset some data related to the module (try disabling and enabling the module if player-dependent bugs occur, such bugs can occur when changing versions!)
-Fixed some modules not being shown in the oversee menu (those are: old tool durability, boats deal fall damage, fall damage breaks boats, old boat positioning logic, ghasts display fire, shield indicator, old animal spawning, tag admin on menu, admin-only reload messages) [Fix from v1.14.0]
-Fixed old regeneration looping infinitely, making it not work [Fix from v1.14.0]
-Loading messages now says "loading data" instead of "loading scores" [Feature from v1.14.0]
-Fixed enabling the 'ghasts display fire' module sending the player to page 19 [Fix from v1.14.0]
-Fixed typo in the enable message for the 'zombie-like giants spawn' [Fix from v1.14.0]
-Fixed 'no squid despawning' and 'no glow squid despawning' modules not working [Fix from v1.14.0]
-Fixed 'random netherite knockback' module setting enabling/disabling the 'old sharpness' module [Fix from v1.14.0]
-Fixed 'no boat sounds' and 'no minecart sounds' not working as intended [Fix from v1.14.0]
-Fixed enable/disable messages for the 'silverfish soul sand damage' and 'endermite soul sand damage' modules having "soul sand" as one word ("soulsand") [Fix from v1.14.1]
-Fixed minor grammatical error in sub-module dependency info descriptions where "it's" was being used instead of "its" [Fix from v1.14.1]
-Slightly optimized 'old golden apple' and 'old enchanted golden apple' modules [Patch from v1.14.1]
-Removed unintended debug feature where enabling the 'old golden apple' or 'old enchanted golden apple' modules while having a golden apple/enchanted golden apple in your mainhand/offhand would give you effects [Fix from v1.14.1]
-Changed 'old dungeon chest loot' module versions' descriptions' version approximations [Patch from v1.14.1]
-Fixed 'snowball blaze fireballs' module description stating "ghasts' small fireballs" when its supposed to be "blazes' small fireballs" [Fix from v1.14.1]
-Fixed a missed capitalization in 'old dragon bossbar' module description [Fix from v1.14.1]
-Tweaked description of 'old pigman drops' module, which incorrectly informed on the loot table [Patch from v1.14.1]
-'No zombie base armor' module description now informs the viewer about the same stat change that was applied to zombies being applied to zombie pigmen [Patch from v1.14.1]
-Renamed 'do scores on reload' to 'do data sets on reload' [Patch from v1.14.1]
-Removed disclaimer from 'old critical hits' module description since it is no longer necessary (and hasn't been for a while) [Patch from v1.14.1]
-Fixed 'old enchanted golden apples' module having the same description as the 'old golden apples' module [Fix from v1.14.1]
-Fixed 'old piglin bartering' module having the same description as the 'old durability' module (and its version options saying "old mineshaft chests" instead of "old piglin bartering") [Fix from v1.14.1]
-Classic Mechanics no longer checks for bukkit or spigot if 'detect server software on load' is enabled [Patch from v1.14.1]
-Fixed disable message for the 'old stronghold chest loot' module being the same as the 'old fishing loot' module [Patch from v1.14.1]
-Slightly optimized 'old boat crashing' module [Patch from v1.15.0]
-Slightly optimized 'old boat particles' module [Patch from v1.15.0]
-Optimized 'old boat positioning logic' module [Patch from v1.15.0]
-Majorly optimized and rehauled 'popcorn smelting' module [Patch from v1.15.0]