Changes
-> 1.14.0
-Added new 'old bow' module (in 'mechanics' category) - Returns the pre-B1.8 bow mechanics, making them fire whenever right clicked, never lose durability and returning old arrow motion
-Added new 'old bows accept enchantments' module (in 'mechanics' category) - sub-setting of 'old bow' - allows enchantments to affect the arrows shot from bows
-Added new 'old bow block interaction' module (in 'mechanics' category) - sub-setting of 'old bow' - brings back an old bug where if a player interacted with blocks while holding a bow, they would shoot an arrow
-Updated to 1.21.2/1.21.3
-Updated attribute names, removing the prefixes
-The exclamation point (!) in the enable/disable messages for modules will now always be bold
-Centralized enable/disable functions - the old system for the "enable_X/disable_X" functions and module IDs is no longer supported, this also cuts down the datapack file size by 11.3%, removing 328 files
-Fixed 'no boat sounds' and 'no minecart sounds' not working as intended
-All modules are now disabled in the same tick as the [disable] button is pressed
-Fixed 'random netherite knockback' module setting enabling/disabling the 'old sharpness' module
-Fixed 'boats fall damage' module not working
-Fixed 'no squid despawning' and 'no glow squid despawning' modules not working
-Fixed typo in the enable message for the 'zombie-like giants spawn'
-Fixed enabling the 'ghasts display fire' module sending the player to page 19
-Loading messages now says "loading data" instead of "loading scores"
-Fixed old regeneration looping infinitely, making it not work
-Temporarily removed annotations_for_devs.txt file (this file will return in a later version!)
-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)
Changes
-> 1.13.0
-Added new 'old villagers' module (in 'mobs' category) - returns various villager behaviours, trades and mechanics from a list of versions [currently: B1.9, R1.2.1, R1.3.1, R1.4.2, R1.4.6, R1.8, R1.9 & R1.11 - do note that while villagers did change further through R1.14-R1.18 but those versions have not been made for this module yet]
-Added new 'old painting variants' module (in 'blocks' category) - switches out certain painting variants with older variants, the paintings that are switched and the variants that are switched to are dictated by the version group selected [currently: I223, A1.1.1, B1.2_01, R1.4.2]
-Added new 'no trims' module (in 'cosmetical' category) - removes trims from armor that is equipped or placed onto an armor stand
-Added new 'old sharpness' module (in 'mechanics' category) - makes the damage calculations of the sharpness enchantment the same as it was prior to R1.9
-Added new 'random netherite knockback' module (in 'mechanics' category) - brings back a bug which was fixed in R1.18.2 which made knockback resistance's effect on entity knockback random instead of constant
-Added new 'arrows don't burn victims' module (in 'mechanics' category) - makes arrows that are on fire (such as ones that came from a flame-enchanted bow or from inside lava/fire blocks) not ignite entities that it hits
-Added new 'no endermites from pearls' module (in 'mechanics' category) - removes endermites spawned from ender pearls, emulating ender pearl behaviour from pre-R1.8 versions
-Added new 'instant loading' module (in 'general' category) - makes Classic Mechanics loading instant instead of spread out through several ticks
-Added new 'loading messages' module (in 'general' category) - sends debug-oriented messages to players tagged as admins (see the admin tag module in the general settings category) through out the loading/reloading phases of Classic Mechanics
-Added new 'tag as admin on menu opening' module (in 'general' category) - tags the player automatically as an admin when they open the Classic Mechanics settings menu
-Added new 'detect server software on load' module (in 'general' category) - detects what server software the player is currently using (if any) and notifies any player tagged as an admin of relevant information regarding the software
-Added new 'boats deal fall damage' module (in 'mechanics' category) - makes boats deal fall damage to their passengers after falling, this feature was present for boats prior to R1.9
-Added new 'fall damage breaks boats' module (in 'mechanics' category) - sub-setting of 'boats deal fall damage' - breaks boats after they fall from a height, this can be paired with the 'old boat crash drops' to make it drop planks and sticks upon breaking
-The loading and reloading processes of Classic Mechanics is now distributed through multiple ticks, these processes were previously instant which could cause minor lag on lower end machines, this can be disabled through the 'Instant loading' module found in the general category in the settings
-Majorly optimized 'downwards drown knockback' module
-Uninstalling the datapack will now remove all storages
-Fixed bug where if 'ghasts display fire' was enabled and a ghast would die inside of a block such as lava/fire, the display of the fire would not dissapear
-Removed all different raycast scores (for range & confirmations) in favour of two specific global scores for raycasting
-Removed unused tag json that was throwing errors (old_tool_breakables/diamond_tools/diamond_pickaxe)
-Loading/reloading will no longer call the same function multiple times
-Fixed one of the fishing loot tables throwing validation errors
-Fixed bug with the 'old fishing' module where the R1.7.2 treasure loot table would not correctly randomize damaged fishing rod drops/hooks
-Fixed gold tools not registering correct breakable tags for the 'old tool effectiveness' module
-Classic Mechanics will now fully disable itself when activating the 'uninstall classic mechanics' module (previously would simply remove all data and let the user remove/disable the file themselves)
-Updated the discord username written on the handbook and the uninstall message (since I'm currently using another account on it)
-Classic Mechanics will now attempt to detect if the user is currently utilizing specific server softwares on load (unless the 'detect server software on load' module is disabled) - this is to make sure players turn off certain software config settings so modules don't break
Changes
-> 1.12.1
-'Old regeneration' module now uses sub-tick healing
-rotten flesh and raw chicken now have a chance to give poison instead of hunger when the 'no hunger' sub-setting module is enabled
-pufferfish no longer give the player hunger when its eaten with the 'no hunger' sub-setting module enabled
-slightly optimized 'no left handed mobs' module
-optimized 'old ocelots'
-'old critical hits' module now uses attribute modifiers instead of directly editing player attributes
-slightly optimized 'old boat particles' module
-'no knockback resistance' module now works with entities that have natural knockback resistance when spawned in
-optimized 'no knockback resistance' module
-slightly optimized 'old popcorn smelting' / 'no offhand' / 'old armor mechanics' / 'old ocelots' / 'old zombie reach' modules - no longer use outdated selectors
-slighty optimized 'silent squids' & 'silent glow squids' modules
-slightly optimized all 3 'no (mob) jockeys' modules
-'old boat crashing' module now works for both boats and chest-boats
-changed how planks and stick items are spawned when the 'old boat crashing' module is enabled
-'weather cycle resets on sleep' and 'no elytra' modules are now on all current presets
-optimized 'old brewing stand' module
-made block placement check for 'redstone dot placement' module more accurate
-removed unneeded check from 'old ocelots module'
-fixed 'old critical hits' module not correctly displaying particles and producing sound
-fixed trigger for 'old iron golem knockback' not checking if the module is enabled
Changes
-> 1.12.0
-Added new 'Give yourself the handbook' module (in 'general' category) - Gives the player who clicked the 'give' button a copy of the Classic Mechanics handbook
-Added new 'Old food' module (in 'mechanics' category) - Simulates the old pre-B1.8 food system
-Added new 'Old foods give effects' module (in 'mechanics' category) - Sub-setting of 'old food' - Allows certain foods to give effects to players or have certain specialized mechanics (think getting hunger from rotten flesh or being teleported from chorus fruits)
-Added new 'Milk clears effects' module (in 'mechanics' category) - Sub-setting of 'old food' - Makes milk clear potion effects when used/drank
-Added new 'No hunger' module' (in 'mechanics' category) - Sub-setting of 'old food' - Disables the functionality of the hunger bar
-Added new 'Dropped items reset durability' (in 'mechanics' category) - Returns an old bug where dropping items would reset the dropped item's durability
-Added new page to the classic mechanics handbook talking about suggestions and bug reports
-Added a "general schemes & naming" to annotations_for_devs file
-Clicking the 'REMINDER!' text in the classic mechanics handbook (page 2) will now copy the settings command into the clipboard
-The classic mechanics handbook title is now written into the custom_item_name component solely
-Platform/site names are now all correctly capitalized in the classic mechanics handbook (page 4)
-All sub-setting modules now have either a rombus or a square shape at the end of their option titles, indicating if they are dependent or independent on their parent modules (hovering over them will display this information / dependent sub-setting modules are only functional if their parent module is active, independent ones are functional at all times, even if their parent module is disabled)
-The names of piglins who are changed into zombified piglins (when the module 'Piglin to pigman switching' is enabled) are now saved
Changes
-> [BACKPORT] 1.11.1_a (1.20.3-1.20.4)
-Backported loot tables
-Backported predicates
-Backported item modifiers
-Backported advancements
-Changed datapack default version to 26 (accepting 12-36)
-Replaced 1.21 nearby entity detection formatting
-Removed modules whoes existence don't make sense for this version (These are: 'old bad omen' / 'old wolf variants' / 'old witch drops')
-Removed modules which cannot be backported due to technical reasons (These are: 'old tool effectiveness' / 'no item names' / 'old tool durability' / 'old block place reach' / 'old jump strength' / 'no tooltips' / 'old glinted items' / 'old rabbits' / 'old armor mechanics')
-Giant spawning checks for cave air in its function instead of checking for skylight through the predicate
-'Mob steps' module function now checks for blocks underneath the entities instead of a predicate
-'Mob steps' module function now detects non-motionless entities instead of using a predicate
-'Old enderman' module's burn function no longer uses a predicate, instead checks for positioning in the same line
-'Old armor mechanics' module function now checks for armor items through predicates
-'Old tool damage' module function now checks for weapon items through predicates
-'Disable sprinting' module no longer modifies jump strength
-'No bow durability' module function now checks for the bow through predicates
-Backported uses of 'count' in NBT statements
-Multi-setting modules' toggle functions now checks for items through predicates
-Enabling 'no elytra' module now checks for elytras through a predicate
-'Old endermen' and 'old zombie sounds' damage sounds are now done through continuous health checks
-'Giants spawn' module function now done with giants controlled through zombies, the damage functionality is then done seperately in a loop while the module is enabled
-Use of attributes in functions have been backported
-Some modules were re-positioned in this options menus due to the removal of a few modules in this backport
Changes
-> 1.11.1
-Removed chest.json loot table (originally used for testing and was not deleted)
-Fixed jungle leaves loot table having the birch_leaves random sequence
-Fixed stronghold chests having stone in them
-Fixed 'killer rabbits' module not working correctly after v1.11.0
-Fixed 'old jumping' module not working correctly when itself and 'disable sprinting' were both enabled
-Fixed armor max durability not being fetched when 'old armor mechanics' is enabled, due to typo
-Removed unneeded files
-Fixed gravel still being affected by fortune if 'no fortune drops' was enabled
-The game will now return and stop checking for herobrine totems if the check fails at certain points
-Fixed string/tripwire raycasting using same score as leaves'
-Fixed raycasting confirmation for impersistent leaves using the same score as its distance one
-Herobrine-related raycasting is now more accurate
-Fixed placed_string.json adv having a requirement name of "placed_leaves"
-'testificate villagers' module's instant function has been compressed slightly, also fixed it having a data merge statement instead of a tag one
-Fixed certain functions calling upon invalid directories
-Fixed instant functions for 'no boat sounds' and 'no minecart sounds' modules having old code
-Optimized 'no daylight mob burning' and 'no daylight baby zombie burning' modules
-Fixed undead mobs having their armor removed if 'no daylight mob burning' or 'no daylight baby zombie burning' were enabled
-Fixed 'old wolf variant' module name being called 'old wolves' in the oversee menu
-Optimized 'old iron golem knockback' module
-Fixed 'no daylight zombie baby burning' not working after v1.11.0
-Fixed function for enabling alpha/beta/early-release/mid-early-release presets calling upon an invalid directory for 'old tool damage' module
-Fixed function for enabling alpha/beta presets calling upon an invalid directory for 'entities trample farmland' sub-setting module
-'Old sponge' module now checks for if a player places a sponge block (previously checked for whenever player placed any block)
-Renamed placed_string.json and placed_impersistent_leaves.json files for parity with similar files
-'reset triggers' module now handles placed_impersistent_leaves
-'Vertical logs' module now checks for if a player places a log (previously checked for whenever player placed any block)
-Fixed interactions related to buckets with fish not working alongside 'instant modules' module
-The player is no longer required to shift when taming an ocelot when 'old ocelots' module is enabled
-'Old ocelots' module now specifically checks for players interacting with ocelot entities with fish (previously would check for players interacting with any entity with fish)
-Made 'old regeneration' module a lot more discrete
-Added "version ids" section to annotations_for_devs.txt file
-Fixed mobs options menu page 19 having incorrect formatting for the modules
Changes
-> 1.11.0
-Added new 'old zombie sounds' module (in 'mobs' category) - emulates pre-A1.0.3 zombie sounds: they have no idle sounds and when damaged, they produce the player damage sound
-Added new 'impersistent placed leaves' module (in 'blocks' category) - makes player-placed leaves able to decay, just like they did prior to B1.8
-Added new 'solid cobwebs' module (in 'blocks' category) - Returns a "bug"/feature from B1.6-B1.7 where being inside cobwebs would cause suffocation damage
-Added new 'old tool effectiveness' module (in 'mechanics' category) - Makes the properties of tools the same as they were in versions prior to R1.0, returning old quirks like pickaxes not being very effective against furnaces, axes not being effective against fences, hoes not being usable for mining certain blocks faster, etc
-Added new 'no item breaking effects' module (in 'cosmetical' category) - Disables the tool/armor breaking sounds & particles that are displayed/produced when an item goes to 0 durability, a feature added in R1.0
-Added new 'old snow block drops' module (in 'drops' category) - Returns the old amount of snowballs drops from snow blocks, which was 6 up until A1.1.1
-Added new 'no experience' module (in 'mechanics' category) - Disables experience orbs existing and players having XP levels
-Added new 'no string placement' module (in 'blocks' category) - Disables the placement of the string item (aka, placement of tripwire)
-Added new 'sleep resets weather cycle' module (in 'mechanics' category) - Resets the weather cycle timer even if its not raining/thundering when players sleep
-Added new 'old projectile motion' module (in 'mechanics' category) - Disables player-thrown projectiles having their motion affected by the player's velocity, emulating pre-R1.9 projectile velocity functionality
-Added new 'ghasts display fire' module (in 'mobs' category) - Allows ghasts to display themselves as being on fire when they fly into lava/fire/soul fire, this was a removed feature from pre-R1.6.1 versions
-Fixed normal giants not playing the player hurt sound when being damaged
-Fixed endermen not playing the zombie sound when being damaged (when the 'old endermen' module was enabled)
-A centralized function for setting all modules to 0 (disabled) has been created
-Fixed cosmetical-category page 6 being titled as page 5
-Annotations_for_devs.txt now has more version barriers/organizers in the main module id area (should've been there before but weren't)
-Function and triggers related to entities when 'instant modules' was on have been seperated into 2 for better performance
-Fixed enabling the 'early mid release' preset activating the 'no minecart sounds' function once
-Fixed 'mobs' category pages only going up to 18
-Fixed zombified piglins' gold ingot drop still being affected by looting when 'no looting drops' was enabled
-Removed some debug/testing files
Changes
-> 1.10.0
-Added new 'old despawning' module (in 'mobs' category) - Adds back the old despawning mechanics from pre-B1.8 versions; all mobs who are 128+ blocks away from a player immediately despawn, unless they are tamed/equipping an item/bred (unless you have the 'no breeding' module on)/named
-Added new 'old witch drops' module (in 'mobs' category) - Makes witch drops the same as they were prior to R1.21
-Added new 'no stick drops from leaves' module (in 'drops' category) - Disables leaves dropping sticks, a feature added in R1.14
-Added new 'no apple drops from leaves' module (in 'drops' category) - Disables oak and dark oak leaves dropping apples, which was added in R1.1
-Added new 'no ice silk touch drops' module (in 'drops' category) - Disables the silk touch enchantment allowing ice blocks to drop, emulating pre-R1.3.1 behaviour
-Added new 'no frost silk touch drops' module (in 'drops' category) - Sub-setting of 'no ice silk touch drops' - disables the silk touch enchantment allowing ice-like blocks such as blue ice and packed ice to drop
-Added new 'no boat sounds' and 'no minecart sounds' modules (in 'cosmetical' category) - These were modules that were previously internally existant, but were not properly implemented yet
-Added new 'old bone meal' module (in 'mechanics' category) - Returns the pre-R1.5 functionality of bone meal, where it would instantly grow plants/saplings/crops!
-Added new 'old huge mushrooms' module (in 'mechanics' category) - Sub-setting of 'old bone meal' - Makes it so when bone mealing mushrooms into huge mushrooms, it would replace the ground block into dirt
-Added new 'no bow durability' module (in 'mechanics' category) - Disables bow durability functionality, as bows did not have any prior to R1.0
-Added new 'no crossbow durability' module (in 'mechanics' category) - Sub-setting of 'no bow durability' - Disables crossbow durability functionality, so as to parody the old bow behaviour
-Majorly overhauled organization and location of function files - they are now seperated by sub-folders depending on the module-categories and the "bigger" modules have their own folders inside those. All function calls have been changed to the new locations (existing module functionality for people who are updating will continue to work, as the datapack will automatically re-schedules appropriate function files)
-A message now appears to all players with the 'CM.Admin' tag when Classic Mechanics detects an update (and updates)
-Fixed witches' / striders' / trader llamas' / turtles' / vindicators' / wither skeletons' looting-dependent extra drops being changed by 'no fortune drops' module instead of 'no looting drops'
-Fixed typo with elder guardians' loot table relating to 'no cooked drops' module
-Fixed incorrect drop values for flint dropped by gravel blocks when 'no fortune drops' is enabled
-Fixed typo in 'no item names' hover-text
-Leaves are now affected by the 'no fortune drops' module
-Fixed 'old boat crashing' not being handled correctly by presets and 'disable all' module
-Removed traces of useless scores
-Fixed disabling the 'disable sprint' module only changing the attribute(s) of the person that clicked it
-Fixed function tied to detecting entities stepping on farmland for 'old farmland' module not looping correctly
-Fixed issue with 'old tnt' module function not correctly detecting player's Y height if in Y >= 306
-Fixed unintentional re-scheduling of 'no squid despawning' & 'old iron golem knockback' functions when 'instant modules' was enabled
-Fixed 'old endermen health' looping the 'old jumping' function
-Optimized 'piglin to pigman switching' module - piglin removal is now in a function seperate from the piglin detection one
-Optimized 'old tnt' module - seperated Y-coordinate checks into their own functions, can now be controlled through an advancement trigger aswell
-Slightly optimized 'no breeding' modules
-Disabling 'silverfish soul sand damage' and/or 'old regeneration' now clears the appropriate scheduled function(s)
-Disabling 'no daylight mob burning' will now make all rendered undead entities be able to burn under sunlight again
-Enabling 'disable sleeping' will now instantly remove all players from bed (if there is anyone who is currently sleeping while the module is enabled) instead of detecting for future bed-clicking actions
-Optimized 'disable sprinting' module
-Fixed potential bug where disabling the 'disable sprinting' module while someone was sprinting could potentially make them not be able to jump until re-enabling the module again
-Optimized 'old tnt particles' function
-Fixed 'no elytra' module not working
-Fixed giant spawning not working when 'giants spawn' module was enabled
-Removed unused/useless scores, functions & general data
-Uninstalling Classic Mechanics should now more reliably clear all scheduled functions
-Giants will no longer show a "Giant" label atop their heads
-> NOTE: This update has majorly rehauled the insides of this datapack. While I have specifically made it so the functionality from older versions of classic mechanics should work in this update, I could have overlooked or forgot about something; if a module doesn't work, try disabling and re-enabling it, if that doesn't work either, shoot me a DM over in discord! (@: Wilozyx)
Changes
-> 1.9.0
-Added new 'admin-only reload messages' module (in 'general' category) - sub-setting of 'send message on reload' - makes it so the reload message is only ever sent to players tagged as 'CM.Admin'
-Added new 'tag yourself as admin' module (in 'general' category) - tags the player with the 'CM.Admin' tag
-Added new 'no weather as admin' module (in 'mechanics' category) - disables the weather system, making it clear at all times
-All module options are now shown alongside either a red or green dot on the left side after the yellow arrow. Indicating if that module is currently either enabled or disabled
-Enabling/disabling module messages now appear in the top of the options pages instead of at the bottom, will now also update the page
-Corrected some typos on modules' hover-texts
-Fixed old regen not being enabled/disabled correctly
-Fixed 'old armor mechanics' module disable button being used to disable the 'no tooltips' module instead
-Fixed 'no morning cat gifts' module's disable button enabling it
-Fixed 'old golden apples' disable button not disabling the module correctly
-Fixed 'old enchanted golden apples' disable button not disabling the mid-early release version of the module correctly
-Fixed 'no deadbush shearing' & 'no deadbush stick drops' modules' disabled buttons not disabling them
-Fixed 'old spider health' module's disable button disabling the 'old spider drops' module instead
-Fixed 'instant modules' disable button enabling it
-Fixed the 'no fish' module not working
-Fixed numbering issue in 'annotations_for_devs' file