print("Initializing 'NA01 - Adjustments for New Alterlite'...");

// Alter Bitcoin Ores Stuff Names
<bitcoin:bitcoin_ore>.displayName = "Coinium Ore";
<bitcoin:bitcoin_block>.displayName = "Coinium Block";
<bitcoin:block_chain>.displayName = "Coinium Chain";
<bitcoin:bitcoin>.displayName = "Minted Coinium";

// Alter Starting Book Recipes
recipes.remove(<theoneprobe:probenote>);
recipes.remove(<openblocks:info_book>);
recipes.addShapeless("openblocks_book_rerecipe", <openblocks:info_book>, [<minecraft:glass_pane>, <minecraft:book>]);

// Alter Waystone Return Scroll Recipe
recipes.remove(<waystones:return_scroll>);
recipes.addShaped("waystonereturnscroll_rerecipe", <waystones:return_scroll>, 
	[[null, <zcm_newalterlite:emptyscroll>, null], 
	[null, <zcm_newalterlite:attunedpearl>, null], 
	[<ore:nuggetGold>, <zcm_newalterlite:parchment>, <ore:nuggetGold>]]);

// Alter Corpse Complex Return Death Scroll Name and Recipe
<corpsecomplex:scroll>.displayName = "Scroll of Death Memory";
recipes.remove(<corpsecomplex:scroll>);
recipes.addShaped("returndeathscroll_rerecipe", <corpsecomplex:scroll>, 
	[[null, <zcm_newalterlite:emptyscroll>, null], 
	[null, <zcm_newalterlite:attunedpearl>, null], 
	[<ore:nuggetTin>, <zcm_newalterlite:parchment>, <ore:nuggetTin>]]);

// Alter Empty Altas Map Recipe
recipes.remove(<antiqueatlas:empty_antique_atlas>);
recipes.addShaped("antiqueatlas_rerecipe", <antiqueatlas:empty_antique_atlas>, 
	[[<zcm_newalterlite:parchment>, <ore:paper>, <zcm_newalterlite:parchment>], 
	[<ore:paper>, <ore:dustRedstone>, <ore:paper>], 
	[<zcm_newalterlite:parchment>, <ore:paper>, <zcm_newalterlite:parchment>]]);

// Alter Weirding Gadget Recipe and Name
recipes.remove(<weirdinggadget:weirding_gadget>);
recipes.addShaped("weirdinggadget_rerecipe", <weirdinggadget:weirding_gadget>, 
	[[<ore:ingotGold>, <ore:ingotGold>, <ore:ingotGold>], 
	[<ore:plateGold>, <ore:gearSilver>, <ore:plateGold>], 
	[<ore:ingotInvar>, <ore:ingotInvar>, <ore:ingotInvar>]]);
<weirdinggadget:weirding_gadget>.displayName = "World Stabilizer";

// Alter Aroma Dimension Changer Name
<aroma1997sdimension:dimensionchanger>.displayName = "Specular Transitioner";

// Alter Malisis Custom Door Harvest Properties
//<malisisdoors:customdoor>.harvestLevel = 1;
//<malisisdoors:customdoor>.harvestTool = "pickaxe";

// Alter 1.14/Charm's Barrel Name
<charm:barrel>.displayName = "Villager's Barrel";
<charm:barrel:0>.displayName = "Villager's Barrel";
<charm:barrel:1>.displayName = "Villager's Barrel";

// Alter 1.14/Charm's Iron Lantern Name
<charm:iron_lantern>.displayName = "Iron Lantern";

// Water Strainers
// Disabled as Alpha 02 does not use Water Strainers
// Recipes not removed in case they will make a comeback in the future.
/*
recipes.remove(<waterstrainer:strainer_base>);
recipes.addShaped("waterstrainer_strainer_base_recipe", <waterstrainer:strainer_base>, 
	[[<ore:stickIron>, null, <ore:stickIron>], 
	[<ore:plankWood>, null, <ore:plankWood>], 
	[<ore:plankWood>, <ore:chestWood>, <ore:plankWood>]]);
recipes.remove(<waterstrainer:strainer_survivalist_reinforced>);
recipes.addShaped("waterstrainer_obsidian_recipe", <waterstrainer:strainer_survivalist_reinforced>, 
	[[<minecraft:obsidian>, <ore:stickSteel>, <minecraft:obsidian>], 
	[<ore:stickSteel>, <waterstrainer:net>, <ore:stickSteel>], 
	[<minecraft:obsidian>, <ore:stickSteel>, <minecraft:obsidian>]]);
recipes.remove(<waterstrainer:strainer_survivalist_dense_reinforced>);
recipes.addShaped("waterstrainer_obsidian_wide_recipe", <waterstrainer:strainer_survivalist_dense_reinforced>, 
	[[<minecraft:obsidian>, <ore:stickSteel>, <minecraft:obsidian>], 
	[<ore:stickSteel>, <waterstrainer:net:1>, <ore:stickSteel>], 
	[<minecraft:obsidian>, <ore:stickSteel>, <minecraft:obsidian>]]);
recipes.remove(<waterstrainer:strainer_survivalist_solid>);
recipes.addShaped("waterstrainer_iron_recipe", <waterstrainer:strainer_survivalist_solid>, 
	[[<ore:ingotIron>, <ore:stickIron>, <ore:ingotIron>], 
	[<ore:stickIron>, <waterstrainer:net>, <ore:stickIron>], 
	[<ore:ingotIron>, <ore:stickIron>, <ore:ingotIron>]]);
recipes.remove(<waterstrainer:strainer_survivalist_dense_solid>);
recipes.addShaped("waterstrainer_iron_wide_recipe", <waterstrainer:strainer_survivalist_dense_solid>, 
	[[<ore:ingotIron>, <ore:stickIron>, <ore:ingotIron>], 
	[<ore:stickIron>, <waterstrainer:net:1>, <ore:stickIron>], 
	[<ore:ingotIron>, <ore:stickIron>, <ore:ingotIron>]]);
*/

// Alter Vanilla Chests and Quark Chests Crafting Recipe 
recipes.remove(<minecraft:chest>);
recipes.remove(<quark:custom_chest>);
recipes.remove(<quark:custom_chest:1>);
recipes.remove(<quark:custom_chest:2>);
recipes.remove(<quark:custom_chest:3>);
recipes.remove(<quark:custom_chest:4>);
recipes.addShaped("newalterlite_chest_rerecipe_0" ,<minecraft:chest> * 4, [[<minecraft:log>, <minecraft:log>, <minecraft:log>], [<minecraft:log>, null, <minecraft:log>], [<minecraft:log>, <minecraft:log>, <minecraft:log>]]);
recipes.addShaped("newalterlite_chest_rerecipe_1" ,<quark:custom_chest> * 4, [[<minecraft:log:1>, <minecraft:log:1>, <minecraft:log:1>], [<minecraft:log:1>, null, <minecraft:log:1>], [<minecraft:log:1>, <minecraft:log:1>, <minecraft:log:1>]]);
recipes.addShaped("newalterlite_chest_rerecipe_2" ,<quark:custom_chest:1> * 4, [[<minecraft:log:2>, <minecraft:log:2>, <minecraft:log:2>], [<minecraft:log:2>, null, <minecraft:log:2>], [<minecraft:log:2>, <minecraft:log:2>, <minecraft:log:2>]]);
recipes.addShaped("newalterlite_chest_rerecipe_3" ,<quark:custom_chest:2> * 4, [[<minecraft:log:3>, <minecraft:log:3>, <minecraft:log:3>], [<minecraft:log:3>, null, <minecraft:log:3>], [<minecraft:log:3>, <minecraft:log:3>, <minecraft:log:3>]]);
recipes.addShaped("newalterlite_chest_rerecipe_4" ,<quark:custom_chest:3> * 4, [[<minecraft:log2>, <minecraft:log2>, <minecraft:log2>], [<minecraft:log2>, null, <minecraft:log2>], [<minecraft:log2>, <minecraft:log2>, <minecraft:log2>]]);
recipes.addShaped("newalterlite_chest_rerecipe_5" ,<quark:custom_chest:4> * 4, [[<minecraft:log2:1>, <minecraft:log2:1>, <minecraft:log2:1>], [<minecraft:log2:1>, null, <minecraft:log2:1>], [<minecraft:log2:1>, <minecraft:log2:1>, <minecraft:log2:1>]]);

// Alter Tinkers Part Chest Recipe
// Disabled as Alpha 02 does not use Tinker's Construct
/*
recipes.remove(<tconstruct:tooltables:5>);
recipes.addShaped("tconstruct_partschest", <tconstruct:tooltables:5>, 
	[[null, <tconstruct:pattern>, null], 
	[null, <tconstruct:tooltables:4>, null], 
	[null, null, null]]);
*/

// Alter Furnace Recipe
recipes.remove(<minecraft:furnace>);
recipes.addShaped("furnace_rerecipe", <minecraft:furnace>, 
	[[<quark:sturdy_stone>, <quark:sturdy_stone>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, null, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <quark:sturdy_stone>, <quark:sturdy_stone>]]);

// Alter Piston Recipe
recipes.remove(<minecraft:piston>);
recipes.addShaped("piston_rerecipe", <minecraft:piston>, 
	[[<ore:plankWood>, <ore:plankWood>, <ore:plankWood>], 
	[<quark:sturdy_stone>, <ore:gearIron>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <ore:dustRedstone>, <quark:sturdy_stone>]]);

// Alter Observer Block Recipe
recipes.remove(<minecraft:observer>);
recipes.addShaped("observer_rerecipe", <minecraft:observer>, 
	[[<quark:sturdy_stone>, <quark:sturdy_stone>, <quark:sturdy_stone>], 
	[<ore:dustRedstone>, <ore:dustRedstone>, <minecraft:quartz>], 
	[<quark:sturdy_stone>, <quark:sturdy_stone>, <quark:sturdy_stone>]]);

// Alter Dropper Recipe
recipes.remove(<minecraft:dropper>);
recipes.addShaped("dropper_rerecipe", <minecraft:dropper>, 
	[[<quark:sturdy_stone>, <quark:sturdy_stone>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, null, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <ore:dustRedstone>, <quark:sturdy_stone>]]);

// Alter Dispenser Recipe
recipes.remove(<minecraft:dispenser>);
recipes.addShaped("dispenser_rerecipe", <minecraft:dispenser>, 
	[[<quark:sturdy_stone>, <quark:sturdy_stone>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <minecraft:bow>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <ore:dustRedstone>, <quark:sturdy_stone>]]);

// Alter Brewing Stand Recipe
recipes.remove(<minecraft:brewing_stand>);
recipes.addShaped("brewingstand_rerecipe", <minecraft:brewing_stand>, 
	[[null, <minecraft:blaze_rod>, null], 
	[<quark:sturdy_stone>, <quark:sturdy_stone>, <quark:sturdy_stone>]]);

// Alter OB Item Dropper Recipe
recipes.remove(<openblocks:item_dropper>);
recipes.addShaped("ob_item_dropper_rerecipe", <openblocks:item_dropper>, 
	[[<ore:ingotIron>, <quark:sturdy_stone>, <quark:sturdy_stone>], 
	[<minecraft:hopper>, <ore:dustRedstone>, <quark:sturdy_stone>], 
	[<ore:ingotIron>, <quark:sturdy_stone>, <quark:sturdy_stone>]]);

// Alter OB Block Breaker Recipe
recipes.remove(<openblocks:block_breaker>);
recipes.addShaped("ob_block_breaker_rerecipe", <openblocks:block_breaker>, 
	[[<ore:ingotIron>, <quark:sturdy_stone>, <quark:sturdy_stone>], 
	[<minecraft:diamond_pickaxe>, <ore:dustRedstone>, <quark:sturdy_stone>], 
	[<ore:ingotIron>, <quark:sturdy_stone>, <quark:sturdy_stone>]]);

// Alter OB Block Placer Recipe
recipes.remove(<openblocks:block_placer>);
recipes.addShaped("ob_block_placer_rerecipe", <openblocks:block_placer>, 
	[[<ore:ingotIron>, <quark:sturdy_stone>, <quark:sturdy_stone>], 
	[<minecraft:piston>, <ore:dustRedstone>, <quark:sturdy_stone>], 
	[<ore:ingotIron>, <quark:sturdy_stone>, <quark:sturdy_stone>]]);

// Alter VA Block Placer Recipe
recipes.remove(<va:blockplacer>);
recipes.addShaped("va_blockplacer_rerecipe", <va:blockplacer>, 
	[[<quark:sturdy_stone>, <minecraft:dispenser>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <minecraft:chest>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <minecraft:piston>, <quark:sturdy_stone>]]);

// Alter Tea Stove Recipe
recipes.remove(<teastory:tea_stove>);
recipes.addShaped("teastory_stove_rerecipe", <teastory:tea_stove>, 
	[[<quark:sturdy_stone>, <ore:gemQuartz>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <teastory:tea_drying_pan>, <quark:sturdy_stone>], 
	[<quark:sturdy_stone>, <minecraft:furnace>, <quark:sturdy_stone>]]);

// Disable MalisisDoors Trapdoors
recipes.remove(<malisisdoors:trapdoor_birch>);
recipes.remove(<malisisdoors:trapdoor_spruce>);
recipes.remove(<malisisdoors:trapdoor_dark_oak>);
recipes.remove(<malisisdoors:trapdoor_acacia>);
recipes.remove(<malisisdoors:trapdoor_jungle>);

// Adjust Waystones Mining Hardness to prevent accidental mining of it.
<waystones:waystone>.hardness = 16.0;
<waystones:waystone:2>.hardness = 16.0;
<waystones:waystone:10>.hardness = 16.0;
<waystones:waystone:11>.hardness = 16.0;
<waystones:waystone:13>.hardness = 16.0;
<waystones:waystone:*>.hardness = 16.0;

// Allow alloying steel in IE Alloy Kiln but make it time consuming to prevent player from not advancing to the better creation method.
mods.immersiveengineering.AlloySmelter.addRecipe(<thermalfoundation:material:160>, <ore:ingotIron>, <ore:fuelCoke>, 6000);

// Remove a recipe conflict with coal coke block
recipes.removeByRecipeName("thermalfoundation:storage_resource_1");
recipes.addShaped("thermalfoundation_storage_resource_1", <thermalfoundation:storage_resource:1>, 
	[[<thermalfoundation:material:802>, <thermalfoundation:material:802>, <thermalfoundation:material:802>], 
	[<thermalfoundation:material:802>, <thermalfoundation:material:802>, <thermalfoundation:material:802>], 
	[<thermalfoundation:material:802>, <thermalfoundation:material:802>, <thermalfoundation:material:802>]]);

// Alter names of some ingots
//<notenoughroofs:terracotta>.displayName = "Terracottium Brick";

// Quark Weather Sensor
//recipes.addShaped(<quark:rain_detector>, 
//	[[<minecraft:glass>, <minecraft:glass>, <minecraft:glass>], 
//	[<ore:gemEnderBiotite>, <ore:gemEnderBiotite>, <ore:gemEnderBiotite>], 
//	[<minecraft:purpur_slab>, <minecraft:purpur_slab>, <minecraft:purpur_slab>]]);

// Make Ender Crop Seeds slgihtly cheaper
recipes.remove(<endercrop:ender_seeds>);
recipes.addShaped("endercrop_seeds", <endercrop:ender_seeds>, 
	[[<minecraft:wheat_seeds>, <minecraft:ender_pearl>, null], 
	[<minecraft:ender_pearl>, <minecraft:wheat_seeds>, null], 
	[null, null, null]]);

// Alter Lore Expansion Stuff
<loreexpansion:lore_journal>.displayName = "Lore Journal";
<loreexpansion:lore_journal>.addTooltip("Collect missing pages from and keep");
<loreexpansion:lore_journal>.addTooltip("them safe in this journal to learn more");
<loreexpansion:lore_journal>.addTooltip("about the universe you're in.");
recipes.addShapeless("na_lorebook", <loreexpansion:lore_journal>, [<minecraft:book>, <minecraft:sand:*>]);

// Weather2 Additional Tooltips
<weather2:anemometer>.addTooltip("Lets you know how strong the wind is.");
<weather2:wind_vane>.addTooltip("Lets you know in which direction");
<weather2:wind_vane>.addTooltip("is the wind currently blowing towards.");
<weather2:weather_forecast>.addTooltip("Place in the center of a 3x3 area.");
<weather2:weather_forecast>.addTooltip("Lets you know about the weather");
<weather2:weather_forecast>.addTooltip("forecast around your immediate area.");
<weather2:tornado_sensor>.addTooltip("Outputs a redstone signal if a critically");
<weather2:tornado_sensor>.addTooltip("bad weather has been detected within range.");
<weather2:tornado_siren>.addTooltip("Sets off an alarm if a critically");
<weather2:tornado_siren>.addTooltip("bad weather is detected within range.");
<weather2:tornado_siren_manual>.addTooltip("A manual alarm that can be");
<weather2:tornado_siren_manual>.addTooltip("set off using redstone signals.");
<weather2:weather_deflector>.addTooltip("Protects your base from getting potentially");
<weather2:weather_deflector>.addTooltip("destroyed by critically bad weather.");
<weather2:weather_deflector>.addTooltip(" * Right click on it to switch deflector modes.");
<weather2:weather_machine>.addTooltip("§eWARNING: DANGEROUS!!§r");
<weather2:weather_machine>.addTooltip("Allows you to control the weather");
<weather2:weather_machine>.addTooltip("within the immediate area.");
<weather2:weather_machine>.addTooltip(" * Right click on it to cycle the weather.");
<weather2:weather_machine>.displayName = "Weather Control Device";
<weather2:tornado_siren_manual>.displayName = "Manual Siren";
<weather2:sand_layer_placeable>.displayName = "Sand Layer";

// Weather2 Recipes
// No manual recipe removals required thanks to built-in configs for Weather2.
recipes.addShapeless("w2_layertosand_recipe", <minecraft:sand>, [<weather2:sand_layer_placeable>,<weather2:sand_layer_placeable>,<weather2:sand_layer_placeable>,<weather2:sand_layer_placeable>,<weather2:sand_layer_placeable>,<weather2:sand_layer_placeable>,<weather2:sand_layer_placeable>,<weather2:sand_layer_placeable>]);
recipes.addShaped("w2_anemometer_recipe", <weather2:anemometer>, [
	[<ore:stickIron>, <ore:stickIron>, <ore:stickIron>], 
	[<ore:stickIron>, <ore:gearIron>, <ore:stickIron>], 
	[null, <ore:stickIron>, null]]);
recipes.addShaped("w2_windvane_recipe", <weather2:wind_vane>, [
	[<ore:stickIron>, <ore:plateIron>, <ore:stickIron>], 
	[<ore:stickIron>, <ore:gearIron>, <ore:stickIron>], 
	[null, <ore:stickIron>, null]]);
recipes.addShaped("w2_forecaster_recipe", <weather2:weather_forecast>, [
	[<ore:blockSheetmetalLead>, <ore:blockSheetmetalAluminum>, <ore:blockSheetmetalLead>], 
	[<ore:blockSheetmetalAluminum>, <minecraft:compass>, <ore:blockSheetmetalAluminum>], 
	[<ore:blockSheetmetalLead>, <ore:blockSheetmetalAluminum>, <ore:blockSheetmetalLead>]]);
recipes.addShaped("w2_tornado_sensor_recipe", <weather2:tornado_sensor>, [
	[<ore:blockSheetmetalLead>, <ore:blockSheetmetalIron>, <ore:blockSheetmetalLead>], 
	[<ore:blockSheetmetalIron>, <ore:gearCopper>, <ore:blockSheetmetalIron>], 
	[<ore:blockSheetmetalLead>, <ore:blockSheetmetalIron>, <ore:blockSheetmetalLead>]]);
recipes.addShaped("w2_siren_recipe", <weather2:tornado_siren>, [
	[<ore:blockSheetmetalLead>, <minecraft:noteblock>, <ore:blockSheetmetalLead>], 
	[<minecraft:noteblock>, null, <minecraft:noteblock>], 
	[<ore:blockSheetmetalLead>, <minecraft:noteblock>, <ore:blockSheetmetalLead>]]);
recipes.addShaped("w2_manualsiren_recipe", <weather2:tornado_siren_manual>, [
	[<ore:blockSheetmetalLead>, <minecraft:noteblock>, <ore:blockSheetmetalLead>], 
	[<minecraft:noteblock>, <ore:dustRedstone>, <minecraft:noteblock>], 
	[<ore:blockSheetmetalLead>, <minecraft:noteblock>, <ore:blockSheetmetalLead>]]);
recipes.addShaped("w2_weather_machine_recipe", <weather2:weather_machine>, [
	[<ore:blockSheetmetalSteel>, <ore:blockSheetmetalSilver>, <ore:blockSheetmetalSteel>], 
	[<ore:blockSheetmetalSilver>, <openblocks:tank>.withTag({tank: {FluidName: "redstone", Amount: 16000}}), <ore:blockSheetmetalSilver>], 
	[<ore:blockSheetmetalSteel>, <ore:blockSheetmetalSilver>, <ore:blockSheetmetalSteel>]]);
recipes.addShaped("w2_weather_deflector_recipe", <weather2:weather_deflector>, [
	[<ore:blockSheetmetalSteel>, <ore:blockSheetmetalElectrum>, <ore:blockSheetmetalSteel>], 
	[<ore:blockSheetmetalElectrum>, <weather2:tornado_sensor>, <ore:blockSheetmetalElectrum>], 
	[<ore:blockSheetmetalSteel>, <ore:blockSheetmetalElectrum>, <ore:blockSheetmetalSteel>]]);

// Set Tiered Depths Pickaxe Strength Requirement
//   Mining at Y38 and below requires at least a Wooden Pickaxe.
//   Mining at Y26 and below requires at least a Stone Pickaxe.
//   Mining at Y14 and below requires at least an Iron Pickaxe.
//   Mining at Y7 and below requires at least a Diamond Pickaxe.
mods.td.TieredDepths.addBlacklist(<blockstate:minecraft:stone>,38,0,1);
mods.td.TieredDepths.addBlacklist(<blockstate:minecraft:stone>,15,0,2);
mods.td.TieredDepths.addBlacklist(<blockstate:minecraft:stone>,7,0,3);
// Also apply to Mining World
mods.td.TieredDepths.addBlacklist(<blockstate:minecraft:stone>,38,-6,1);
mods.td.TieredDepths.addBlacklist(<blockstate:minecraft:stone>,15,-6,2);
mods.td.TieredDepths.addBlacklist(<blockstate:minecraft:stone>,7,-6,3);

print("Initialization of 'NA01 - Adjustments for New Alterlite' has been completed.");