# ============================================================================== #
#
#	IRE | Alpha 0.1.3
#		Designed for Minecraft: Java Edition 1.21.8
#		Created by The Icerios
#			https://www.youtube.com/@IceriosMC
#
#	This version requires an updated resource pack!
#
# ============================================================================== #

# ============================================================================== #
#	D I S C L A I M E R
# ============================================================================== #

	This datapack is in its *Open Alpha* development stage.
		All features are prone to change at the sole discretion of its creator, "Icerios".
		Many features - like custom world generation - are still considered experimental and may be subject to change.
		Please consider joining the official Discord server to provide feedback, get support, and hear the latest news.
		For the latest news, tutorials, and more, visit IceriosMC at YouTube!

	DO NOT ATTEMPT TO USE THIS DATAPACK FOR ANY VERSION OTHER THAN THE ONE SPECIFIED!!!
		A seemingly minor update to Minecraft can have huge changes under the hood.
		In most cases, the game will prompt you with a warning if it detects that the datapack is outdated. Attempting to circumvent this by editing the pack version manually can permanently corrupt your world! Attempting to boot the world in "safe mode" **will** render your world unplayable!
		Please continue to play the world in the version the datapack was designed for until Icerios releases an updated pack.
		There are mechanisms in place to allow you to install an updated datapack on an existing world, but this nay not always be possible. Please read any disclaimers that come with the new datapack and *always* back-up a world before attempting an update.
	
	It's strongly recommended that you back up your worlds regularly.
	The datapack creator is not responsible for any damages to your worlds caused by the datapack.
	

# ============================================================================== #
#	I N S T A L L A T I O N
# ============================================================================== #

	Before installation:
		I recommend keeping the datapack itself zipped.

	New World Installation:
		In the world creation menu, simply drag and drop the Ire_Data_###.zip file into the Datapacks window.

	Existing World - New Installation:
		Do not install this datapack on a world that wasn't originally created with the datapack. Seriously. Don't do it.

	Updating an Existing Installation:
		In the event of an update, you can navigate to * .minecraft/saves/<world_name>/datapacks * and replace the old datapack with the new one!
		This may not always be possible. Read any disclaimers that come with the new datapack, and always back-up your world before updating.

	How to install the resource pack:
		On Modrinth, you'll have to click the dots next to the version and select "open in new tab" to go to a separate page; at the bottom, you'll find the resource pack.
		Drag and drop the Ire_Assets_###.zip file into the resource packs window.
		This resource pack - or another one designed to be compatible - is required. You'll find it hard to play the game without it!
		
		Not all updates to the datapack will require an update to the resource pack.

	You're set!


# ============================================================================== #
#	C O N F I G U R A T I O N
# ============================================================================== #

	In-game:
		These options require operator / cheats, seeing as you don't want just *anyone* on your world modifying game rules. If you're in singleplayer, you can use the classic LAN trick to temporarily enable cheats. Using any of these methods will run some /data commands, do some storage checks, and restart the majority of function loops.
		Option #1 (recommended)--
			Access the IRE MENU either from the pause menu or the hotkey (defaults to G). From there, select Configuration. This builds a menu based on values currently held in storage, so each option reflects the current setting.
		Option #2--
			Run /function icerios:config
			This is literally just the command that option #1 uses.
		Option #3--
			Run /dialog show @s icerios:gamerule
			This option brings up a hardcoded menu that won't reflect current values, but instead show defaults. This menu is called when you select "Restore Defaults" in the main config menu.
		Option #4 (crazy person method)--
			Run /data merge storage icerios:config_macro {config:{...}} to change specific values
			Then run /function icerios:config/update_config with storage icerios:config_macro config

	External:
		Navigate to .../data/icerios/function/external_config.mcfunction
		Modify values here. Most boolean values are just 1 and 0. You can break stuff this way, so stick to the in-game options when you can. The data command in this function only runs when the datapack's internal version score changes - it's best to modify the rules before loading the world for the first time. You can modify it to run every reload by commenting out / deleting the "execute ... run" line - just keep in mind that this means any changes you make to config in-game will be reverted on reload.


# ============================================================================== #
#	R E M O V A L
# ============================================================================== #

	Do NOT delete the datapack from the world folder
	Do NOT use * /datapack disable ... *
		Both are guaranteed to break your world!
		If you deleted the datapack, you *might* be able to save your world by reinstalling it.
		However, if you use the datapack command then exit the world, recovery is much harder!

	IRE uses experimental features that cannot be easily removed.

	Before uninstalling--
		Run * /function icerios:config * to see if any of the gamerules remove the undesired features of the datapack.

	How to uninstall--
		1. Enter the world and run * /function icerios:uninstall *
			This will delete all scoreboard objectives created by IRE and clear all scheduled functions.
			Using * /reload * or simply exiting and restarting will undo this process and reinstall the datapack as though it's new. The key difference is the first_join advancement won't trigger for returning players.
		2. Once you receive confirmation the process is complete, save and exit.
		3. Navigate to * data/minecraft/tags/function * and delete * load.json *
			This will prevent most functions from restarting at world load.
		4. Navigate to * data/icerios * and delete the * advancement * folder
			This will destroy custom advancements, many of which are used to trigger functions. It will cause a lot of yellow error text, but it shouldn't break the game.
		IRE really is intended as a *permanent* installation, so going much further than this is ill advised. As it stands, disabling functions/advancements will render the deep dimensions inaccessible.


# ============================================================================== #
#	R E S O U R C E S
# ============================================================================== #

	Check out the creator's official YouTube channel for the latest news & updates
		https://www.youtube.com/@IceriosMC

	Official Discord channel
		https://discord.gg/XSvcH9fDmU

	Modrinth
		https://modrinth.com/user/Icerios

	Planet Minecraft
		https://www.planetminecraft.com/member/icerios/

	GitHub
		https://github.com/Icerios

There's no shortage of sources for bootlegged datapacks out there, which is funny considering most of these datapacks are free. If you find this datapack on a site other than the ones linked to by my YouTube channel or Discord server, it isn't endorsed by me. It *may* be safe, but it probably won't be up to date!

The datapack and required resource pack is - and will always will be - provided absolutely free of charge.
	If you'd like to support my hobby, check out my YouTube sometime and invite your friends to play IRE!

For anyone questioning the name, IRE is an acronym for * Icerios's Ridiculous Edit *
	It was very hard to come up with a name for a datapack so ridiculously overreaching, so here we are.


# ============================================================================== #
#	C H A N G E L O G
# 	IRE | Alpha 0.1.3
#	Created for Minecraft: Java Edition 1.21.8
# ============================================================================== #

Shoutout to shiodef for tracking down some bugs!
- Implemented tool trimming: apply any trim template with any trim material to a sword, pickaxe, axe, hoe, or shovel (wood/mossy stone tiers currently excluded)
- Blaze sword handle is animated
- Metal handles are fully dyable with no overlay and use the same shape as wood handles
- When a sword is dyed, the tint applies to the grip instead of the crossguard/pommel
- Netherite swords no longer use special gold/iron handles
- Netherite tools use standard tool handles when dyed; otherwise, there is a default netherite handle and a bone-shaped netherite handle
- Netherite tools (except swords) can no longer block attacks
- Wood tools take dye better
- Reworked durability for sword/tool tiers: some stone tools were nerfed, while most metals/crystals received dramatic upgrades
- Saddles and horse armor are now dyeable
- Tweaked netherite horse armor texture
- Enchanted books now stack to 64: fix existing books by clicking on them in the inventory
- Added enchanted book smithing template: use it to duplicate enchanted books on a smithing table
- Enchanted gear is significantly more common in structure loot
- Some structure loot features more customized tools (custom handle, dye, trim)
- Snowballs and eggs now stack up to 64 (applies to new items, not existing ones)
- Spruce, birch, dark oak, and pale oak trees now have a small chance to generate with resin
- Added "quick spectate" tool to creative mode: hold the sprint keybind while flying to enter spectator mode, release the sprint key to drop back into creative
- Added some "hints" advancements to give the player basic tips/guidance in the early game
- Added advancement for locating an Ancient City
- Added miscellaneous recipe unlock advancements, including every sword/tool tier and emergency ports
- Added advancements to grant tinkering recipes relevant to the player's progress (when a player obtains a gold ingot, recipes for gold handled tools are granted for each tier player already has unlocked); wood and bone handle recipes are granted by default when a tier is unlocked
- Any entity directly killed by any arrow type now drops one regular arrow on death
- Happy ghasts drop loot upon death
- Snow golems can drop their carved pumpkins on death
- Blazes no longer burn away projectiles while in heat sources; they instead deflect all projectiles like Breezes
- Fixed witch hut chests not generating loot; changed witch hut chests to share a single, improved loot table; fixed witch_hut_2 chest using fixed loot table seed
- Reordered Resources dialog and added PMC link
- Deleted unused witch hut entity and copper village chest loot tables
- Tweaked loot tables for vaults and archaeology
- Fixed "obtain emerald" advancement displaying wrong item model
- Fixed "use lodestone" advancement using broken translation key
- Fixed copper/iron tier conflict: copper tier is required to mine gold
- Fixed copper/redstone tier conflict: copper tier cannot mine redstone, but redstone/iron and above can
- Fixed broken copper horse armor recipe
- Emergency port is no longer in "totem" recipe group
- Fixed gold/iron nugget to raw metal conflict with old nugget to ingot recipe
- Reverted the previous change that made tall dry grass hide crouching players
- Fixed missing particle texture in the lantern/soul lantern item model
- Fixed broken predicates in short/tall grass and short/tall dry grass loot tables
- Fixed broken skeleton, bogged, stray loot tables
- Fixed broken function for giving players spent undying totems
- Fixed tall dry grass loot table
- Removed some redundant vanilla data
- Removed the temporary old emerald/galleon to emerald patch recipe
- Charred bone displays properly when equipped in the head slot
- Regular bones can now be equipped in the head slot