diff --git a/src/generated/resources/assets/naturesaura/blockstates/tainted_gold_block.json b/src/generated/resources/assets/naturesaura/blockstates/tainted_gold_block.json new file mode 100644 index 00000000..e5c5c57a --- /dev/null +++ b/src/generated/resources/assets/naturesaura/blockstates/tainted_gold_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "naturesaura:block/tainted_gold_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/naturesaura/models/block/tainted_gold_block.json b/src/generated/resources/assets/naturesaura/models/block/tainted_gold_block.json new file mode 100644 index 00000000..eab199b4 --- /dev/null +++ b/src/generated/resources/assets/naturesaura/models/block/tainted_gold_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "naturesaura:block/tainted_gold_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/naturesaura/models/item/tainted_gold.json b/src/generated/resources/assets/naturesaura/models/item/tainted_gold.json new file mode 100644 index 00000000..506b18d3 --- /dev/null +++ b/src/generated/resources/assets/naturesaura/models/item/tainted_gold.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "naturesaura:item/tainted_gold" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/naturesaura/models/item/tainted_gold_block.json b/src/generated/resources/assets/naturesaura/models/item/tainted_gold_block.json new file mode 100644 index 00000000..5301c4e1 --- /dev/null +++ b/src/generated/resources/assets/naturesaura/models/item/tainted_gold_block.json @@ -0,0 +1,3 @@ +{ + "parent": "naturesaura:block/tainted_gold_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/naturesaura/loot_tables/blocks/tainted_gold_block.json b/src/generated/resources/data/naturesaura/loot_tables/blocks/tainted_gold_block.json new file mode 100644 index 00000000..48e992f0 --- /dev/null +++ b/src/generated/resources/data/naturesaura/loot_tables/blocks/tainted_gold_block.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "naturesaura:tainted_gold_block" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/java/de/ellpeck/naturesaura/blocks/ModBlocks.java b/src/main/java/de/ellpeck/naturesaura/blocks/ModBlocks.java index b8ca6db5..f872a04e 100644 --- a/src/main/java/de/ellpeck/naturesaura/blocks/ModBlocks.java +++ b/src/main/java/de/ellpeck/naturesaura/blocks/ModBlocks.java @@ -65,6 +65,7 @@ public final class ModBlocks { public static Block ITEM_DISTRIBUTOR; public static Block AURA_BLOOM; public static Block AURA_CACTUS; + public static Block TAINTED_GOLD_BLOCK; public static Block.Properties prop(Material material, MaterialColor color) { return Block.Properties.create(material, color); diff --git a/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblocks.java b/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblocks.java index a4ba5562..ed46e153 100644 --- a/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblocks.java +++ b/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblocks.java @@ -5,6 +5,7 @@ import de.ellpeck.naturesaura.NaturesAura; import de.ellpeck.naturesaura.api.NaturesAuraAPI; import de.ellpeck.naturesaura.api.multiblock.IMultiblock; import de.ellpeck.naturesaura.api.multiblock.Matcher; +import de.ellpeck.naturesaura.blocks.BlockNatureAltar; import de.ellpeck.naturesaura.blocks.ModBlocks; import net.minecraft.block.Blocks; import net.minecraft.block.LogBlock; @@ -36,7 +37,7 @@ public final class Multiblocks { 'B', Blocks.NETHER_BRICKS, 'W', Blocks.NETHER_WART_BLOCK, 'M', ModBlocks.GOLD_NETHER_BRICK, - '0', ModBlocks.NATURE_ALTAR, + '0', ModBlocks.NATURE_ALTAR.getDefaultState().with(BlockNatureAltar.NETHER, true), ' ', Matcher.wildcard()); public static final IMultiblock TREE_RITUAL = NaturesAuraAPI.instance().createMultiblock( new ResourceLocation(NaturesAura.MOD_ID, "tree_ritual"), diff --git a/src/main/java/de/ellpeck/naturesaura/items/ModItems.java b/src/main/java/de/ellpeck/naturesaura/items/ModItems.java index a049fa9b..722a8ec7 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ModItems.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ModItems.java @@ -46,4 +46,5 @@ public final class ModItems { public static Item CAVE_FINDER; public static Item CRIMSON_MEAL; public static Item DEATH_RING; + public static Item TAINTED_GOLD; } diff --git a/src/main/java/de/ellpeck/naturesaura/recipes/ModRecipes.java b/src/main/java/de/ellpeck/naturesaura/recipes/ModRecipes.java index b585e893..913e4f72 100644 --- a/src/main/java/de/ellpeck/naturesaura/recipes/ModRecipes.java +++ b/src/main/java/de/ellpeck/naturesaura/recipes/ModRecipes.java @@ -73,7 +73,7 @@ public final class ModRecipes { ing(Blocks.OAK_SAPLING), new ItemStack(ModBlocks.FURNACE_HEATER), 600, ing(ModBlocks.INFUSED_STONE), ing(ModBlocks.INFUSED_STONE), - ing(ModItems.INFUSED_IRON), + ing(ModItems.TAINTED_GOLD), ing(ModItems.INFUSED_IRON), ing(Items.FIRE_CHARGE), ing(Items.FLINT), @@ -161,6 +161,12 @@ public final class ModRecipes { new AltarRecipe(res("infused_iron_block"), ing(Blocks.IRON_BLOCK), new ItemStack(ModBlocks.INFUSED_IRON_BLOCK), NaturesAuraAPI.TYPE_OVERWORLD, Ingredient.EMPTY, 135000, 700).register(); + new AltarRecipe(res("tainted_gold"), + ing(Items.GOLD_INGOT), new ItemStack(ModItems.TAINTED_GOLD), + NaturesAuraAPI.TYPE_NETHER, Ingredient.EMPTY, 15000, 80).register(); + new AltarRecipe(res("tainted_gold_block"), + ing(Blocks.GOLD_BLOCK), new ItemStack(ModBlocks.TAINTED_GOLD_BLOCK), + NaturesAuraAPI.TYPE_NETHER, Ingredient.EMPTY, 135000, 700).register(); new AltarRecipe(res("infused_stone"), ing(Blocks.STONE), new ItemStack(ModBlocks.INFUSED_STONE), NaturesAuraAPI.TYPE_OVERWORLD, Ingredient.EMPTY, 7500, 40).register(); @@ -185,6 +191,10 @@ public final class ModRecipes { amountIng(new ItemStack(ModItems.INFUSED_IRON, 3)), ing(ModItems.CALLING_SPIRIT), new ItemStack(ModItems.SKY_INGOT)).register(); + new OfferingRecipe(res("sky_ingot_from_gold"), + ing(ModItems.TAINTED_GOLD), + ing(ModItems.CALLING_SPIRIT), + new ItemStack(ModItems.SKY_INGOT)).register(); new OfferingRecipe(res("clock_hand"), ing(Items.NETHER_STAR), ing(ModItems.CALLING_SPIRIT), diff --git a/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java b/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java index f392100b..c4508a5b 100644 --- a/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java +++ b/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java @@ -129,8 +129,8 @@ public final class ModRegistry { temp = new BlockAuraBloom("aura_bloom", TileEntityAuraBloom::new), createFlowerPot(temp), temp = new BlockAuraBloom("aura_cactus", TileEntityAuraCactus::new), - createFlowerPot(temp) - ); + createFlowerPot(temp), + new BlockImpl("tainted_gold_block", ModBlocks.prop(Material.IRON).sound(SoundType.METAL).hardnessAndResistance(3F))); if (ModConfig.instance.rfConverter.get()) event.getRegistry().register(new BlockRFConverter()); @@ -193,7 +193,8 @@ public final class ModRegistry { new ItemEnderAccess(), new ItemCaveFinder(), new ItemCrimsonMeal(), - new ItemDeathRing() + new ItemDeathRing(), + new ItemImpl("tainted_gold") ); Helper.populateObjectHolders(ModItems.class, event.getRegistry()); } diff --git a/src/main/resources/assets/naturesaura/lang/en_us.json b/src/main/resources/assets/naturesaura/lang/en_us.json index 0a10915d..bf2e35dc 100644 --- a/src/main/resources/assets/naturesaura/lang/en_us.json +++ b/src/main/resources/assets/naturesaura/lang/en_us.json @@ -61,6 +61,7 @@ "block.naturesaura.item_distributor": "Item Distributor", "block.naturesaura.aura_bloom": "Aura Bloom", "block.naturesaura.aura_cactus": "Aura Cactus", + "block.naturesaura.tainted_gold_block": "Tainted Gold Block", "item.naturesaura.eye": "Environmental Eye", "item.naturesaura.eye_improved": "Environmental Ocular", "item.naturesaura.gold_fiber": "Brilliant Fiber", @@ -110,6 +111,7 @@ "item.naturesaura.aura_trove": "Aura Trove", "item.naturesaura.crimson_meal": "Crimson Meal", "item.naturesaura.death_ring": "Ring of Last Chance", + "item.naturesaura.tainted_gold": "Tainted Gold", "container.naturesaura:tree_ritual.name": "Ritual of the Forest", "container.naturesaura:altar.name": "Natural Altar Infusion", "container.naturesaura:offering.name": "Offering to the Gods", @@ -142,6 +144,8 @@ "advancement.naturesaura.altar.desc": "Create a Natural Altar using the Ritual of the Forest", "advancement.naturesaura.infused_materials": "Iron Factory", "advancement.naturesaura.infused_materials.desc": "Use the Natural Altar to create Infused Iron", + "advancement.naturesaura.tainted_gold": "Gold Factory", + "advancement.naturesaura.tainted_gold.desc": "Use the Crimson Altar to create Tainted Gold", "advancement.naturesaura.furnace_heater": "Cozy Warmth", "advancement.naturesaura.furnace_heater.desc": "Create an Extraneous Firestarter to heat your furnace", "advancement.naturesaura.placer": "Plop Plop Placement", diff --git a/src/main/resources/assets/naturesaura/textures/block/tainted_gold_block.png b/src/main/resources/assets/naturesaura/textures/block/tainted_gold_block.png new file mode 100644 index 00000000..773c64ff Binary files /dev/null and b/src/main/resources/assets/naturesaura/textures/block/tainted_gold_block.png differ diff --git a/src/main/resources/assets/naturesaura/textures/item/tainted_gold.png b/src/main/resources/assets/naturesaura/textures/item/tainted_gold.png new file mode 100644 index 00000000..f2d73200 Binary files /dev/null and b/src/main/resources/assets/naturesaura/textures/item/tainted_gold.png differ diff --git a/src/main/resources/data/naturesaura/advancements/tainted_gold.json b/src/main/resources/data/naturesaura/advancements/tainted_gold.json new file mode 100644 index 00000000..be2efbb6 --- /dev/null +++ b/src/main/resources/data/naturesaura/advancements/tainted_gold.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "item": "naturesaura:tainted_gold" + }, + "title": { + "translate": "advancement.naturesaura.tainted_gold" + }, + "description": { + "translate": "advancement.naturesaura.tainted_gold.desc" + } + }, + "parent": "naturesaura:altar", + "criteria": { + "materials": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "naturesaura:tainted_gold" + } + ] + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/items/shockwave_creator.json b/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/items/shockwave_creator.json index 2d23eebf..92cad444 100644 --- a/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/items/shockwave_creator.json +++ b/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/items/shockwave_creator.json @@ -2,7 +2,7 @@ "name": "Amulet of Wrath", "icon": "naturesaura:shockwave_creator", "category": "items", - "advancement": "naturesaura:infused_tools", + "advancement": "naturesaura:tainted_gold", "pages": [ { "type": "text", diff --git a/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/practices/offering.json b/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/practices/offering.json index bfae7f9d..1df67093 100644 --- a/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/practices/offering.json +++ b/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/practices/offering.json @@ -2,7 +2,7 @@ "name": "Offering to the Gods", "icon": "naturesaura:offering_table", "category": "practices", - "advancement": "naturesaura:aura_bottle_nether", + "advancement": "naturesaura:tainted_gold", "pages": [ { "type": "text", @@ -32,6 +32,11 @@ "text": "Asking for $(item)Ingots of the Sky$(), a powerful metal infused with divine energy.", "recipe": "naturesaura:sky_ingot" }, + { + "type": "naturesaura:offering", + "text": "Asking for $(item)Ingots of the Sky$() using $(item)Tainted Gold$() results in a higher yield.", + "recipe": "naturesaura:sky_ingot_from_gold" + }, { "type": "naturesaura:offering", "text": "Exchanging the $(item)Token of Joy$() for a much stronger version, the $(item)Token of Euphoria$()", diff --git a/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/using/crimson_altar.json b/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/using/crimson_altar.json new file mode 100644 index 00000000..f6456194 --- /dev/null +++ b/src/main/resources/data/naturesaura/patchouli_books/book/en_us/entries/using/crimson_altar.json @@ -0,0 +1,29 @@ +{ + "name": "The Crimson Altar", + "icon": "naturesaura:nature_altar", + "category": "using", + "advancement": "naturesaura:aura_bottle_nether", + "priority": true, + "turnin": "naturesaura:tainted_gold", + "pages": [ + { + "type": "text", + "text": "The $(l:using/altar)Natural Altar$(), while having the ability to turn iron into $(item)Infused Iron$(), does not fare well in different regions, specifically the $(thing)Nether$(), where a much darker type of $(aura) is present. Here, the $(item)Crimson Altar$() can be built. A structure very similar to the $(thing)Natural Altar$(), which is able to, instead, turn $(item)Gold$() into $(item)Tainted Gold$(). For this, the structure on the following page needs to be assembled." + }, + { + "type": "multiblock", + "multiblock_id": "naturesaura:nether_altar", + "text": "How to assemble the $(item)Crimson Altar$()" + }, + { + "type": "crafting", + "recipe": "naturesaura:gold_nether_brick", + "text": "Creating the $(item)Golden Nether Bricks$() that are used in the $(item)Crimson Altar$()'s multiblock" + }, + { + "type": "naturesaura:altar", + "text": "Creating $(item)Tainted Gold$(), a material blessed with the powers of ghostly $(aura).$(br)Note that the same infusion is possible using the materials' block form.", + "recipe": "naturesaura:tainted_gold" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/recipes/calling_spirit.json b/src/main/resources/data/naturesaura/recipes/calling_spirit.json index 242ebd80..8e28fe25 100644 --- a/src/main/resources/data/naturesaura/recipes/calling_spirit.json +++ b/src/main/resources/data/naturesaura/recipes/calling_spirit.json @@ -2,13 +2,16 @@ "type": "minecraft:crafting_shaped", "pattern": [ " O ", - "GDG", + "GDH", " N " ], "key": { "G": { "item": "naturesaura:infused_iron" }, + "H": { + "item": "naturesaura:tainted_gold" + }, "O": { "type": "forge:nbt", "item": "naturesaura:aura_bottle", diff --git a/src/main/resources/data/naturesaura/recipes/dimension_rail_nether.json b/src/main/resources/data/naturesaura/recipes/dimension_rail_nether.json index ddbcc6f6..90e59381 100644 --- a/src/main/resources/data/naturesaura/recipes/dimension_rail_nether.json +++ b/src/main/resources/data/naturesaura/recipes/dimension_rail_nether.json @@ -20,7 +20,7 @@ "tag": "forge:rods/wooden" }, "I": { - "item": "naturesaura:sky_ingot" + "item": "naturesaura:tainted_gold" } }, "result": { diff --git a/src/main/resources/data/naturesaura/recipes/generator_limit_remover.json b/src/main/resources/data/naturesaura/recipes/generator_limit_remover.json index cfe9b456..714760e6 100644 --- a/src/main/resources/data/naturesaura/recipes/generator_limit_remover.json +++ b/src/main/resources/data/naturesaura/recipes/generator_limit_remover.json @@ -22,7 +22,7 @@ "item": "naturesaura:token_grief" }, "I": { - "item": "naturesaura:infused_iron" + "item": "naturesaura:tainted_gold" } }, "result": { diff --git a/src/main/resources/data/naturesaura/recipes/shockwave_creator.json b/src/main/resources/data/naturesaura/recipes/shockwave_creator.json index 1d3cb011..4a1f012d 100644 --- a/src/main/resources/data/naturesaura/recipes/shockwave_creator.json +++ b/src/main/resources/data/naturesaura/recipes/shockwave_creator.json @@ -19,7 +19,7 @@ "item": "naturesaura:infused_stone" }, "S": { - "item": "minecraft:redstone" + "item": "naturesaura:tainted_gold" } }, "result": { diff --git a/src/main/resources/data/naturesaura/recipes/tainted_gold.json b/src/main/resources/data/naturesaura/recipes/tainted_gold.json new file mode 100644 index 00000000..63b9808b --- /dev/null +++ b/src/main/resources/data/naturesaura/recipes/tainted_gold.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "I" + ], + "key": { + "I": { + "item": "naturesaura:tainted_gold_block" + } + }, + "result": { + "item": "naturesaura:tainted_gold", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/recipes/tainted_gold_block.json b/src/main/resources/data/naturesaura/recipes/tainted_gold_block.json new file mode 100644 index 00000000..2c994c69 --- /dev/null +++ b/src/main/resources/data/naturesaura/recipes/tainted_gold_block.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "III", + "III", + "III" + ], + "key": { + "I": { + "item": "naturesaura:tainted_gold" + } + }, + "result": { + "item": "naturesaura:tainted_gold_block" + } +} \ No newline at end of file