From d21ec73d48926cf31b2464d3164225c915555dd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=A9o=20PALMIERI?= <120114578+MateoPalmieri@users.noreply.github.com> Date: Wed, 19 Mar 2025 10:51:39 +0100 Subject: [PATCH 01/40] Modified reinforced glass resistance --- src/main/java/net/nuclearteam/createnuclear/CNBlocks.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java index b4ab854d..82c9dcee 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java @@ -169,7 +169,7 @@ public class CNBlocks { public static final BlockEntry REINFORCED_GLASS = CreateNuclear.REGISTRATE .block("reinforced_glass", ReinforcedGlassBlock::new) .initialProperties(() -> Blocks.GLASS) - .properties(p -> p.explosionResistance(1200F).destroyTime(2F)) + .properties(p -> p.explosionResistance(7.0F).destroyTime(2F)) .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(CNSpriteShifts.REACTOR_GLASS))) .onRegister(casingConnectivity((block,cc) -> cc.makeCasing(block, CNSpriteShifts.REACTOR_GLASS))) .loot(RegistrateBlockLootTables::dropWhenSilkTouch) From 8bbdf68377ba724c161e0230f34fadf8f806a535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=A9o=20PALMIERI?= <120114578+MateoPalmieri@users.noreply.github.com> Date: Wed, 19 Mar 2025 10:53:00 +0100 Subject: [PATCH 02/40] Changed radiation potion functionalities --- .../java/net/nuclearteam/createnuclear/CNItems.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/CNItems.java b/src/main/java/net/nuclearteam/createnuclear/CNItems.java index 90ef41e3..16338f18 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNItems.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNItems.java @@ -12,9 +12,10 @@ import com.tterrag.registrate.util.entry.ItemEntry; import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.TagKey; +import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; +import net.minecraft.world.food.FoodProperties; import net.minecraft.world.item.Item; import net.minecraftforge.common.ForgeSpawnEggItem; import net.nuclearteam.createnuclear.content.equipment.armor.AntiRadiationArmorItem; @@ -28,8 +29,15 @@ public class CNItems { public static final ItemEntry - YELLOWCAKE = CreateNuclear.REGISTRATE + YELLOWCAKE = CreateNuclear.REGISTRATE .item("yellowcake", Item::new) + .properties(p -> p.food(new FoodProperties.Builder() + .nutrition(20) + .saturationMod(0.3F) + .alwaysEat() + .effect((new MobEffectInstance(CNEffects.RADIATION.get(),600,2)) , 1.0F) + .build()) + ) .register(), RAW_LEAD = CreateNuclear.REGISTRATE From 72273952917d61ba446ed84e94570dc96e05bd89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=A9o=20PALMIERI?= <120114578+MateoPalmieri@users.noreply.github.com> Date: Wed, 19 Mar 2025 10:55:08 +0100 Subject: [PATCH 03/40] Changed anti radiation leggings craft --- .../data/recipe/CNStandardRecipeGen.java | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java index 0de5e288..f0decb9b 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java @@ -32,7 +32,6 @@ import net.nuclearteam.createnuclear.content.equipment.armor.AntiRadiationArmorItem; import net.nuclearteam.createnuclear.content.equipment.cloth.ClothItem; -import java.util.ArrayList; import java.util.List; import java.util.function.UnaryOperator; @@ -161,20 +160,19 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { ) ), - ANTI_RADIATION_LEGGINS = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_LEGGINGS.get(color)) - .unlockedByTag(() -> CNTags.CNItemTags.CLOTH.tag) - .withCategory(RecipeCategory.COMBAT) - .viaShaped(i -> i - .define('X', CNTags.forgeItemTag("ingots/lead")) - .define('Y', ClothItem.Cloths.getByColor(color).get()) - .define('Z', CNBlocks.REINFORCED_GLASS) - .pattern("YXY") - .pattern("Z Z") - .pattern("X X") - .showNotification(true) - ) - ) - ; + ANTI_RADIATION_LEGGINS = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_LEGGINGS.get(color)) + .unlockedByTag(() -> CNTags.CNItemTags.CLOTH.tag) + .withCategory(RecipeCategory.COMBAT) + .viaShaped(i -> i + .define('X', CNItems.LEAD_INGOT) + .define('Y', ClothItem.Cloths.getByColor(color).get()) + .pattern("YXY") + .pattern("X X") + .pattern("Y Y") + .showNotification(true) + ) + ) + ; GeneratedRecipe ANTI_RADIATION_BOOTS = create(CNItems.ANTI_RADIATION_BOOTS).unlockedByTag(() -> CNTags.CNItemTags.CLOTH.tag).withCategory(RecipeCategory.COMBAT) From a401b30f28714894d1d2873df7a5d0cc0217a941 Mon Sep 17 00:00:00 2001 From: injin0301 Date: Wed, 19 Mar 2025 11:05:42 +0100 Subject: [PATCH 04/40] modifs --- .../content/effects/RadiationEffect.java | 5 +++ .../data/recipe/CNCrushingRecipeGen.java | 33 ++++++++++++++++++- .../worldgen/CNPlacedFeatures.java | 2 +- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java b/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java index c6a9be35..ce166122 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java @@ -6,10 +6,15 @@ import net.nuclearteam.createnuclear.CNEffects; import net.nuclearteam.createnuclear.CNTags; import net.nuclearteam.createnuclear.content.equipment.armor.AntiRadiationArmorItem; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; public class RadiationEffect extends MobEffect { public RadiationEffect() { + super(MobEffectCategory.HARMFUL, 15453236); + this.addAttributeModifier(Attributes.ATTACK_DAMAGE, "648D7064-6A60-4F59-8ABE-C2C23A6DD7A9", -0.2D, AttributeModifier.Operation.MULTIPLY_TOTAL); + this.addAttributeModifier(Attributes.ATTACK_SPEED, "55FCED67-E92A-486E-9800-B47F202C4386", -0.2D, AttributeModifier.Operation.MULTIPLY_TOTAL); } @Override diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCrushingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCrushingRecipeGen.java index 3b0ee0a2..b82c95dc 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCrushingRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCrushingRecipeGen.java @@ -40,7 +40,38 @@ public class CNCrushingRecipeGen extends CNProcessingRecipeGen { .output(1, CNItems.URANIUM_POWDER, 9) ), RAW_URANIUM_BLOCK = create(() -> CNBlocks.RAW_URANIUM_BLOCK, b -> b.duration(250) - .output(1, CNItems.URANIUM_POWDER,81)) + .output(1, CNItems.URANIUM_POWDER,81)), + + RAW_ZINC = create(() -> AllItems.RAW_ZINC, b -> b.duration(250) + + + + .output(1, AllItems.CRUSHED_ZINC, 1) + + + .output(.75f, AllItems.EXP_NUGGET, 1) + + + .output(.25f, CNItems.LEAD_NUGGET,1) + + + ), + + + RAW_COPPER = create(() -> Items.RAW_COPPER, b -> b.duration(250) + + + .output(1, AllItems.CRUSHED_COPPER, 1) + + + .output(.75f, AllItems.EXP_NUGGET, 1) + + + .output(.15f, CNItems.LEAD_NUGGET,1) + + ) + + ; public CNCrushingRecipeGen(PackOutput generator) { diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java index 7973fee5..bdfd6eac 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java @@ -38,7 +38,7 @@ private static List placement(PlacementModifier frequency, in return List.of( frequency, InSquarePlacement.spread(), - HeightRangePlacement.uniform(VerticalAnchor.absolute(minHeight), VerticalAnchor.absolute(maxHeight)), + HeightRangePlacement.triangle(VerticalAnchor.absolute(minHeight), VerticalAnchor.absolute(maxHeight)), ConfigPlacementFilter.INSTANCE ); } From 4532b673c74a0f95324bdf6730bd04e70602255f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=A9o=20PALMIERI?= <120114578+MateoPalmieri@users.noreply.github.com> Date: Wed, 19 Mar 2025 11:34:38 +0100 Subject: [PATCH 05/40] Added runData --- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 34 +++++++++---------- .../armors/black_anti_radiation_leggings.json | 9 ++--- .../armors/blue_anti_radiation_leggings.json | 9 ++--- .../armors/brown_anti_radiation_leggings.json | 9 ++--- .../armors/cyan_anti_radiation_leggings.json | 9 ++--- .../armors/gray_anti_radiation_leggings.json | 9 ++--- .../armors/green_anti_radiation_leggings.json | 9 ++--- .../light_blue_anti_radiation_leggings.json | 9 ++--- .../light_gray_anti_radiation_leggings.json | 9 ++--- .../armors/lime_anti_radiation_leggings.json | 9 ++--- .../magenta_anti_radiation_leggings.json | 9 ++--- .../orange_anti_radiation_leggings.json | 9 ++--- .../armors/pink_anti_radiation_leggings.json | 9 ++--- .../purple_anti_radiation_leggings.json | 9 ++--- .../armors/red_anti_radiation_leggings.json | 9 ++--- .../armors/white_anti_radiation_leggings.json | 9 ++--- .../yellow_anti_radiation_leggings.json | 9 ++--- 17 files changed, 65 insertions(+), 113 deletions(-) diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 63cea788..c5bc9eff 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.1 2025-02-28T11:22:35.5655633 Recipes +// 1.20.1 2025-03-19T11:34:13.2457542 Recipes 2033f2859713c27e945069e6b831665a3fda414a data/createnuclear/advancements/recipes/combat/crafting/items/armors/anti_radiation_boots.json 994c303b720b9195df5332abdb6035fc0663d86b data/createnuclear/advancements/recipes/combat/crafting/items/armors/black_anti_radiation_chestplate.json 2e66d1ed8fb018bd2a5258109c7ce6bd1494dbf7 data/createnuclear/advancements/recipes/combat/crafting/items/armors/black_anti_radiation_helmet.json @@ -74,52 +74,52 @@ b2ec2f955ece9110bf315a2773b70999e268f81d data/createnuclear/recipes/blasting/lea 3e12f7186fee08c35956e4a7bd26770830e4d462 data/createnuclear/recipes/crafting/items/armors/anti_radiation_boots.json ea505dc482e9c4f17087235e4d26fcae4079ebe0 data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_chestplate.json 9f437a5a52abf8f353c0b376aa6444773b7cbe77 data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_helmet.json -914e18478d411fd77b14ed57e96b3fcd37e93215 data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json +420534af02854077c67e482c7e2032e4fd3f07b5 data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json f44a7c66a9dfc9147fc9d55677b26076f4afd484 data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_chestplate.json a3bb50e8dd41d9764cd9c9bf273785422275a8bc data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_helmet.json -c62f80f9b2b72ab9c1deb9770758278c17a0c60f data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json +8e3451e8f5402d75f3f19bb975f1654f96e7c801 data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json fc0aee948e98bdf4b0f78b97943a1aebaa8d1796 data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_chestplate.json 16394f944b94aea1cd19ba2677de56c00bebcdba data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_helmet.json -94ae3cf308ab0bf1c13fe01310930c0cf79c2d06 data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json +a3fa350e6b700322b445a425c84473f2382149db data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json e6c352908b8f660db226132bbf957774c5cf12d7 data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_chestplate.json 9c7d16a6a8e021d914fbb5f3fa5389085833be3d data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_helmet.json -978f46792ddb1d6e97f0f4340c5b6969c83c350b data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json +949f05aa5b13f4a01731878bf7a3c50e1fbd42ce data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json 3b041d0515279352e7a167d53c1605997d27451c data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_chestplate.json 31e9cd688f7bf3cc238310dae87dcf55df62d577 data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_helmet.json -ce7077166f29ebbd42de06e838a52e41f517e5dc data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json +cc169461db7fc7f60093f9944ac196feabac2d39 data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json 05febbed635c8dbb250a38aabe815bfffa7c77c4 data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_chestplate.json 09145d0e4ddb0fd1c4d02710488c32527508cb74 data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_helmet.json -0a3cbcd3ff74ea45eb3f3d2192936c66a757b2b7 data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json +88e9687bcf8ee88c3b2c08b85b4d8e2e9231db5a data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json b1a37c88635b1d855e340bf000f16d6affa70bc2 data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_chestplate.json cff50e5fef80b39173ba94dce7fa9c484666117d data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_helmet.json -281aa186a6ae4a3de79f3bc6b57fe55628f1b747 data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json +b743dc86e6fe6d620423a907725d51890f9f49e0 data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json 2eba7fd8a55d87de9b4fb4b8336df3420cd6dc18 data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_chestplate.json 178e220968870a1a3ba576ddbed0c378d8f4e394 data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_helmet.json -b4705c6eeab059c7e3aec8abd5a0b949cee19b7d data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json +7ee6759fd12a040afdaf872ba30de6e220540b9e data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json bb094494b3c7f6f7bcdba620aa5812d8c3de691c data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_chestplate.json 3d91fcefa05ae913c2edd5574f44b2400f9864e5 data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_helmet.json -604eedbcdf8e2879b071516e54b57e9d7f8f6be5 data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json +b0ac03c0ea99b1fb1bbe46d1dea4b2d4fd66b234 data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json cfd49e391be051ec35444e10c4738309a1d2d1fc data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_chestplate.json 63e8a0d55cc4d6bcba6ed31ccd202f833f8c2fce data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_helmet.json -62bba88c901f0f9685a111a4bf6bdddd5eb74194 data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json +d23473570f4502209cd246a2c9b4ab1492343ebd data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json 8160905f2e316c934758180df7a866e73d7d5696 data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_chestplate.json 4f47f524a86375ddbb59ab1474577148c0a9e551 data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_helmet.json -f3b162d0fc3fce1813776df720d5b451b71c706e data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json +40ee5ea1a59b2d8e466ab3385636cb5a95f4b177 data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json adf187f72a26a894ef9870d9b76c6aa9a2f61628 data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_chestplate.json b3fde9445facafb387ea8ba7f0d478f20b4ad8eb data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_helmet.json -dc6b5e41b1af844cfcfc5abf3753375788713bf6 data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json +20886ab9408eddd7401c5198238363fdb55c379b data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json c4a6454d1f702ee3977a53a9e11a1eac7ae7640a data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_chestplate.json d9578f67192594cf2481d45caf05de24969cb693 data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_helmet.json -338ffd986e4402ead4b3888b3802d5031842a2dd data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json +05cc1bae7d5d5dcb3a14d4012fb47d7d6a61bb62 data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json 3fe339111ac211ff078cfe5376d1afeb3825e7fe data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_chestplate.json 7739a0c3452793819b049c5eaa1b91f9d2d9ddd1 data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_helmet.json -08d101abb38f9266217203aed757a3a552d64d32 data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json +1f82c0481ef08e60ceca4b7f05d8f715d8d76be1 data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json 299f8fe18bd72af28f6dfd46000bed94fb0ce484 data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_chestplate.json e6396835f0c68c87409e25edda2779227b84f5ec data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_helmet.json -db08bd2da09e8b3a3763a0b8cf44b18e88ec6689 data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json +b5cea62bde58a7b539a746b62d73805b7de9661a data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json 8816c1ad382a26cfabdae73d17c3376eb4ea8b8b data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_chestplate.json 96b0fde88bd9f53edd341658750311715ae52ceb data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_helmet.json -3170773e8aaa7ae4ee65f99d892d1f0eef8fbe9f data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json +f3cecbff7e26c16f7cf09b5c79cd6b4dce3c1c2f data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json 319718ee24e2c5bdeba2b16cd99c55fc7f97f9e4 data/createnuclear/recipes/crafting/lead_block_from_compacting.json 17e9a54a54b1ed1f6af0a3fbb0771262af585a95 data/createnuclear/recipes/crafting/lead_ingot_from_compacting.json 908a0bc9a7be42c1e471cda2106b2103f0f66792 data/createnuclear/recipes/crafting/raw_lead_block.json diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json index a55f2c37..f61cc310 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:black_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:black_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json index 2cfd7e6b..09454725 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:blue_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:blue_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json index e2846cdd..6eb4373b 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:brown_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:brown_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json index 68815a6e..2d69e8f6 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:cyan_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:cyan_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json index 5f85ac57..0a49ac4a 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:gray_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:gray_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json index c454a56b..fb8ff4fd 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:green_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:green_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json index 44faf940..ed46066d 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:light_blue_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:light_blue_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json index 55b2276d..c4b9ee39 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:light_gray_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:light_gray_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json index 6e4d9acc..974e0f00 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:lime_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:lime_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json index 5f1caf50..a48be9e8 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:magenta_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:magenta_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json index b447a30f..ba119aac 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:orange_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:orange_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json index 80b15676..1d279d04 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:pink_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:pink_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json index f52b18f7..b78db7ea 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:purple_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:purple_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json index bcf3e4ed..5a5807e8 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:red_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:red_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json index 72afdc55..40a9f075 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:white_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:white_anti_radiation_leggings" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json index 6e30a535..95bd880b 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json @@ -3,19 +3,16 @@ "category": "equipment", "key": { "X": { - "tag": "forge:ingots/lead" + "item": "createnuclear:lead_ingot" }, "Y": { "item": "createnuclear:yellow_cloth" - }, - "Z": { - "item": "createnuclear:reinforced_glass" } }, "pattern": [ "YXY", - "Z Z", - "X X" + "X X", + "Y Y" ], "result": { "item": "createnuclear:yellow_anti_radiation_leggings" From de225c3526a948441efa3b062b7e6f5ea5a8a2b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=A9o=20PALMIERI?= <120114578+MateoPalmieri@users.noreply.github.com> Date: Wed, 19 Mar 2025 11:39:50 +0100 Subject: [PATCH 06/40] Rollback ingots for anti radiation to Tag --- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 34 +++++++++---------- .../armors/black_anti_radiation_leggings.json | 2 +- .../armors/blue_anti_radiation_leggings.json | 2 +- .../armors/brown_anti_radiation_leggings.json | 2 +- .../armors/cyan_anti_radiation_leggings.json | 2 +- .../armors/gray_anti_radiation_leggings.json | 2 +- .../armors/green_anti_radiation_leggings.json | 2 +- .../light_blue_anti_radiation_leggings.json | 2 +- .../light_gray_anti_radiation_leggings.json | 2 +- .../armors/lime_anti_radiation_leggings.json | 2 +- .../magenta_anti_radiation_leggings.json | 2 +- .../orange_anti_radiation_leggings.json | 2 +- .../armors/pink_anti_radiation_leggings.json | 2 +- .../purple_anti_radiation_leggings.json | 2 +- .../armors/red_anti_radiation_leggings.json | 2 +- .../armors/white_anti_radiation_leggings.json | 2 +- .../yellow_anti_radiation_leggings.json | 2 +- .../data/recipe/CNStandardRecipeGen.java | 2 +- 18 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index c5bc9eff..27bf5ba7 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.1 2025-03-19T11:34:13.2457542 Recipes +// 1.20.1 2025-03-19T11:38:54.4169169 Recipes 2033f2859713c27e945069e6b831665a3fda414a data/createnuclear/advancements/recipes/combat/crafting/items/armors/anti_radiation_boots.json 994c303b720b9195df5332abdb6035fc0663d86b data/createnuclear/advancements/recipes/combat/crafting/items/armors/black_anti_radiation_chestplate.json 2e66d1ed8fb018bd2a5258109c7ce6bd1494dbf7 data/createnuclear/advancements/recipes/combat/crafting/items/armors/black_anti_radiation_helmet.json @@ -74,52 +74,52 @@ b2ec2f955ece9110bf315a2773b70999e268f81d data/createnuclear/recipes/blasting/lea 3e12f7186fee08c35956e4a7bd26770830e4d462 data/createnuclear/recipes/crafting/items/armors/anti_radiation_boots.json ea505dc482e9c4f17087235e4d26fcae4079ebe0 data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_chestplate.json 9f437a5a52abf8f353c0b376aa6444773b7cbe77 data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_helmet.json -420534af02854077c67e482c7e2032e4fd3f07b5 data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json +314a4ac10a0be2cdf83615774897988ff7371f30 data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json f44a7c66a9dfc9147fc9d55677b26076f4afd484 data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_chestplate.json a3bb50e8dd41d9764cd9c9bf273785422275a8bc data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_helmet.json -8e3451e8f5402d75f3f19bb975f1654f96e7c801 data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json +3fe95bda860847685656cf3f277a8afea6ab6b85 data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json fc0aee948e98bdf4b0f78b97943a1aebaa8d1796 data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_chestplate.json 16394f944b94aea1cd19ba2677de56c00bebcdba data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_helmet.json -a3fa350e6b700322b445a425c84473f2382149db data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json +66bdaffe18edc322b6de69d2d6b1523c774087a2 data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json e6c352908b8f660db226132bbf957774c5cf12d7 data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_chestplate.json 9c7d16a6a8e021d914fbb5f3fa5389085833be3d data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_helmet.json -949f05aa5b13f4a01731878bf7a3c50e1fbd42ce data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json +77b9d0bc061bf5a34d6398d00ce5e4c5c9e2ca1a data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json 3b041d0515279352e7a167d53c1605997d27451c data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_chestplate.json 31e9cd688f7bf3cc238310dae87dcf55df62d577 data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_helmet.json -cc169461db7fc7f60093f9944ac196feabac2d39 data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json +2ed6e23f248230a2ca4bb2aa05432116df9c7bb6 data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json 05febbed635c8dbb250a38aabe815bfffa7c77c4 data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_chestplate.json 09145d0e4ddb0fd1c4d02710488c32527508cb74 data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_helmet.json -88e9687bcf8ee88c3b2c08b85b4d8e2e9231db5a data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json +28ef8d35b4a30748d686cfd6f0ae1b56ee9e28f0 data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json b1a37c88635b1d855e340bf000f16d6affa70bc2 data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_chestplate.json cff50e5fef80b39173ba94dce7fa9c484666117d data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_helmet.json -b743dc86e6fe6d620423a907725d51890f9f49e0 data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json +d69885154f870a949409ea4fe4d18b820d8aa228 data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json 2eba7fd8a55d87de9b4fb4b8336df3420cd6dc18 data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_chestplate.json 178e220968870a1a3ba576ddbed0c378d8f4e394 data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_helmet.json -7ee6759fd12a040afdaf872ba30de6e220540b9e data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json +1e4f64eba61816f9fcc029c45252c43f083060f3 data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json bb094494b3c7f6f7bcdba620aa5812d8c3de691c data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_chestplate.json 3d91fcefa05ae913c2edd5574f44b2400f9864e5 data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_helmet.json -b0ac03c0ea99b1fb1bbe46d1dea4b2d4fd66b234 data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json +5aa5fb2b8b00842d62aba0fe6f041199335716ba data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json cfd49e391be051ec35444e10c4738309a1d2d1fc data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_chestplate.json 63e8a0d55cc4d6bcba6ed31ccd202f833f8c2fce data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_helmet.json -d23473570f4502209cd246a2c9b4ab1492343ebd data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json +11aa98f3b7e9dbf17411f7f1eceaa5a375ee9be8 data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json 8160905f2e316c934758180df7a866e73d7d5696 data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_chestplate.json 4f47f524a86375ddbb59ab1474577148c0a9e551 data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_helmet.json -40ee5ea1a59b2d8e466ab3385636cb5a95f4b177 data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json +b7df84fcd2fce86d73c3d37e8dfe5142ee898b32 data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json adf187f72a26a894ef9870d9b76c6aa9a2f61628 data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_chestplate.json b3fde9445facafb387ea8ba7f0d478f20b4ad8eb data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_helmet.json -20886ab9408eddd7401c5198238363fdb55c379b data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json +0c4bfdc67fedce323b7cd0463b2668ee5c8dfc09 data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json c4a6454d1f702ee3977a53a9e11a1eac7ae7640a data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_chestplate.json d9578f67192594cf2481d45caf05de24969cb693 data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_helmet.json -05cc1bae7d5d5dcb3a14d4012fb47d7d6a61bb62 data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json +4b80187e8db023b1bdc115b19f5b1d719e594fd5 data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json 3fe339111ac211ff078cfe5376d1afeb3825e7fe data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_chestplate.json 7739a0c3452793819b049c5eaa1b91f9d2d9ddd1 data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_helmet.json -1f82c0481ef08e60ceca4b7f05d8f715d8d76be1 data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json +3ffba6c86818b5c6fab8eef8f2ab93214585221e data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json 299f8fe18bd72af28f6dfd46000bed94fb0ce484 data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_chestplate.json e6396835f0c68c87409e25edda2779227b84f5ec data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_helmet.json -b5cea62bde58a7b539a746b62d73805b7de9661a data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json +8910f75d2b1ede94f5d09dcda192d25286b06ef2 data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json 8816c1ad382a26cfabdae73d17c3376eb4ea8b8b data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_chestplate.json 96b0fde88bd9f53edd341658750311715ae52ceb data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_helmet.json -f3cecbff7e26c16f7cf09b5c79cd6b4dce3c1c2f data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json +1d22695a4dd7ce4429529011c6cccee1969abb9e data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json 319718ee24e2c5bdeba2b16cd99c55fc7f97f9e4 data/createnuclear/recipes/crafting/lead_block_from_compacting.json 17e9a54a54b1ed1f6af0a3fbb0771262af585a95 data/createnuclear/recipes/crafting/lead_ingot_from_compacting.json 908a0bc9a7be42c1e471cda2106b2103f0f66792 data/createnuclear/recipes/crafting/raw_lead_block.json diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json index f61cc310..d6aff22c 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/black_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:black_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json index 09454725..ccd90d07 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/blue_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:blue_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json index 6eb4373b..03b12752 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/brown_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:brown_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json index 2d69e8f6..b6e2185c 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/cyan_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:cyan_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json index 0a49ac4a..a0b40ba6 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/gray_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:gray_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json index fb8ff4fd..d0151a02 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/green_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:green_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json index ed46066d..888a27c0 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_blue_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:light_blue_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json index c4b9ee39..4caa0ef6 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/light_gray_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:light_gray_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json index 974e0f00..a6352d55 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/lime_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:lime_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json index a48be9e8..3106d87b 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/magenta_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:magenta_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json index ba119aac..f42ac77f 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/orange_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:orange_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json index 1d279d04..266f30a1 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/pink_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:pink_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json index b78db7ea..a60928b0 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/purple_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:purple_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json index 5a5807e8..4e30f9ae 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/red_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:red_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json index 40a9f075..746a8447 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/white_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:white_cloth" diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json index 95bd880b..c912c258 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json @@ -3,7 +3,7 @@ "category": "equipment", "key": { "X": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" }, "Y": { "item": "createnuclear:yellow_cloth" diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java index f0decb9b..6d4fb293 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java @@ -164,7 +164,7 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { .unlockedByTag(() -> CNTags.CNItemTags.CLOTH.tag) .withCategory(RecipeCategory.COMBAT) .viaShaped(i -> i - .define('X', CNItems.LEAD_INGOT) + .define('X', CNTags.forgeItemTag("ingots/lead")) .define('Y', ClothItem.Cloths.getByColor(color).get()) .pattern("YXY") .pattern("X X") From 47c9ad860370b68de7e69220c10bc2baf87d7f60 Mon Sep 17 00:00:00 2001 From: injin0301 Date: Wed, 19 Mar 2025 11:41:08 +0100 Subject: [PATCH 07/40] modifs --- .../15812fa7bc190aa8f0a8644088c7ff563925e506 | 4 +++- .../fed443662143001aeb5341375f6f5ef31d10baea | 6 ++--- .../recipes/crushing/raw_copper.json | 22 +++++++++++++++++++ .../recipes/crushing/raw_zinc.json | 22 +++++++++++++++++++ .../worldgen/placed_feature/lead_ore.json | 2 +- .../worldgen/placed_feature/uranium_ore.json | 2 +- 6 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 src/generated/resources/data/createnuclear/recipes/crushing/raw_copper.json create mode 100644 src/generated/resources/data/createnuclear/recipes/crushing/raw_zinc.json diff --git a/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 b/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 index 3af3659c..b5dc8ae2 100644 --- a/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 +++ b/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 @@ -1,4 +1,4 @@ -// 1.20.1 2025-03-07T23:26:05.6423041 CreateNuclear's Processing Recipes +// 1.20.1 2025-03-19T11:40:04.4388497 CreateNuclear's Processing Recipes d02fe65c0c4f06b58fa7565d7254902de5018e8b data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/black_cloth.json 9690e12858db1c546576ce70847e723c005f814e data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/blue_cloth.json 3bebcd85a99be0ddec8db66c5734232ac4bbd2ad data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/brown_cloth.json @@ -27,7 +27,9 @@ f0d205d168427e468bffe76d4400305528d701b5 data/createnuclear/recipes/compacting/u 24c35af7a9dc3d740f3200bdd1ad96ad125df00a data/createnuclear/recipes/crushing/coal.json 2a8b609dba5bad88511d9c9a80cf6fb582b18c36 data/createnuclear/recipes/crushing/fix/crushed_raw_uranium.json 57154e35ebb09170bb39f5b3a72ecd49182697f2 data/createnuclear/recipes/crushing/granite.json +4feb59d85e86e34ed565c18b6a4df120fe050bc7 data/createnuclear/recipes/crushing/raw_copper.json cf17713133d3e05e99164e2ea6649de3aef017fd data/createnuclear/recipes/crushing/raw_uranium_block.json +26d2787e831b9986ed6f90f8ea803d5fdc544bf5 data/createnuclear/recipes/crushing/raw_zinc.json e42be7d17c5e057e62c4b1176cbf43319a157f51 data/createnuclear/recipes/enriched/enriched_yellowcake.json 74555eb2cce0827f99dc5c4ff91362bdaecad725 data/createnuclear/recipes/enriched/enriching_campfire.json 5cee3df3d7c7cd41d6a94a36b713dddc77f2acc4 data/createnuclear/recipes/item_application/reactor_casing_from_steel_and_brass_casing.json diff --git a/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea b/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea index ddf158e6..6d8e825f 100644 --- a/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea +++ b/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea @@ -1,7 +1,7 @@ -// 1.20.1 2025-02-02T13:23:38.0123343 CreateNuclear Generated Registry Entries +// 1.20.1 2025-03-19T11:40:04.4388497 CreateNuclear Generated Registry Entries 5edbd74546f4088818e02bb7a5c5eb2ecfe25623 data/createnuclear/forge/biome_modifier/lead_ore.json fa32145101dc12ec914684fec8c5cbb995d2c051 data/createnuclear/forge/biome_modifier/uranium_ore.json b68555f371c9700aa4ecfa9370b010de8fe25b60 data/createnuclear/worldgen/configured_feature/lead_ore.json b0e1ee7314412507fd7346cb48b29d105f6186ad data/createnuclear/worldgen/configured_feature/uranium_ore.json -ec82b14bb50728a37053e6dc6ce7832141651f49 data/createnuclear/worldgen/placed_feature/lead_ore.json -06120ed6a00e684c347732b8178cef3bdf095ded data/createnuclear/worldgen/placed_feature/uranium_ore.json +d45ed5f7008864ba4f60c409038ad428a280fd7f data/createnuclear/worldgen/placed_feature/lead_ore.json +bed936158c61471513252910d9e3b0e2de610f1a data/createnuclear/worldgen/placed_feature/uranium_ore.json diff --git a/src/generated/resources/data/createnuclear/recipes/crushing/raw_copper.json b/src/generated/resources/data/createnuclear/recipes/crushing/raw_copper.json new file mode 100644 index 00000000..ab52f9c9 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/crushing/raw_copper.json @@ -0,0 +1,22 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:raw_copper" + } + ], + "processingTime": 250, + "results": [ + { + "item": "create:crushed_raw_copper" + }, + { + "chance": 0.75, + "item": "create:experience_nugget" + }, + { + "chance": 0.15, + "item": "createnuclear:lead_nugget" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/crushing/raw_zinc.json b/src/generated/resources/data/createnuclear/recipes/crushing/raw_zinc.json new file mode 100644 index 00000000..070cafd3 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/crushing/raw_zinc.json @@ -0,0 +1,22 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "create:raw_zinc" + } + ], + "processingTime": 250, + "results": [ + { + "item": "create:crushed_raw_zinc" + }, + { + "chance": 0.75, + "item": "create:experience_nugget" + }, + { + "chance": 0.25, + "item": "createnuclear:lead_nugget" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/worldgen/placed_feature/lead_ore.json b/src/generated/resources/data/createnuclear/worldgen/placed_feature/lead_ore.json index 11434322..e9eff263 100644 --- a/src/generated/resources/data/createnuclear/worldgen/placed_feature/lead_ore.json +++ b/src/generated/resources/data/createnuclear/worldgen/placed_feature/lead_ore.json @@ -11,7 +11,7 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:trapezoid", "max_inclusive": { "absolute": 64 }, diff --git a/src/generated/resources/data/createnuclear/worldgen/placed_feature/uranium_ore.json b/src/generated/resources/data/createnuclear/worldgen/placed_feature/uranium_ore.json index 043a4e33..5613d152 100644 --- a/src/generated/resources/data/createnuclear/worldgen/placed_feature/uranium_ore.json +++ b/src/generated/resources/data/createnuclear/worldgen/placed_feature/uranium_ore.json @@ -11,7 +11,7 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:trapezoid", "max_inclusive": { "absolute": 64 }, From 3aae5331bbca18d40c40a671decbcaa484a71f18 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 19 Mar 2025 13:50:24 +0100 Subject: [PATCH 08/40] Add helmet vision and irradiated vision overlays with associated textures --- .../armor/HelmetOverlayRenderer.java | 37 ++++++++++++++++++ .../CNAdvancement.java | 8 ++-- .../CreateNuclearAdvancement.java | 2 +- .../foundation/events/CNClientEvent.java | 20 ++++++++++ .../IrradiatedOverlayRendererVision.java | 31 +++++++++++++++ .../utility/RenderTextureOverlay.java | 17 ++++++++ .../data/CreateNuclearDatagen.java | 2 +- .../misc/helmet_vision/helmet_vision.png | Bin 0 -> 21112 bytes .../helmet_vision/helmet_vision_break.png | Bin 0 -> 134158 bytes .../helmet_vision/helmet_vision_damage1.png | Bin 0 -> 49127 bytes .../helmet_vision/helmet_vision_damage2.png | Bin 0 -> 80705 bytes .../helmet_vision/helmet_vision_damage3.png | Bin 0 -> 131303 bytes .../irradiated_vision/effect_radioactive.png | Bin 0 -> 285305 bytes 13 files changed, 111 insertions(+), 6 deletions(-) create mode 100644 src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/HelmetOverlayRenderer.java rename src/main/java/net/nuclearteam/createnuclear/foundation/{Advancement => advancement}/CNAdvancement.java (97%) rename src/main/java/net/nuclearteam/createnuclear/foundation/{Advancement => advancement}/CreateNuclearAdvancement.java (99%) create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/IrradiatedOverlayRendererVision.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderTextureOverlay.java create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision.png create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_break.png create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage1.png create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage2.png create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage3.png create mode 100644 src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/effect_radioactive.png diff --git a/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/HelmetOverlayRenderer.java b/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/HelmetOverlayRenderer.java new file mode 100644 index 00000000..f29421aa --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/HelmetOverlayRenderer.java @@ -0,0 +1,37 @@ +package net.nuclearteam.createnuclear.content.equipment.armor; + +import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.level.GameType; +import net.minecraftforge.client.gui.overlay.ForgeGui; +import net.minecraftforge.client.gui.overlay.IGuiOverlay; +import net.nuclearteam.createnuclear.CNTags.CNItemTags; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.utility.RenderTextureOverlay; + +public class HelmetOverlayRenderer { + public static final IGuiOverlay OVERLAY = HelmetOverlayRenderer::renderOverlay; + + public static ResourceLocation helmetVision = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision.png"); + private ResourceLocation helmetVisionDamage1 = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision_damage1.png"); + private ResourceLocation helmetVisionDamage2 = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision_damage2.png"); + private ResourceLocation helmetVisionDamage3 = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision_damage3.png"); + private ResourceLocation helmetVisionBreak = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision_break.png"); + + public static void renderOverlay(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height) { + Minecraft mc = Minecraft.getInstance(); + if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) return; + + LocalPlayer localPlayer = mc.player; + RenderSystem.enableBlend(); + Inventory playerInventory = localPlayer.getInventory(); + + if (playerInventory.getArmor(3).is(CNItemTags.ANTI_RADIATION_HELMET_FULL_DYE.tag)) { + RenderTextureOverlay.renderTextureOverlay(graphics, HelmetOverlayRenderer.helmetVision, 1f); + } + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/Advancement/CNAdvancement.java b/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CNAdvancement.java similarity index 97% rename from src/main/java/net/nuclearteam/createnuclear/foundation/Advancement/CNAdvancement.java rename to src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CNAdvancement.java index 01345015..485afc61 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/Advancement/CNAdvancement.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CNAdvancement.java @@ -1,4 +1,4 @@ -package net.nuclearteam.createnuclear.foundation.Advancement; +package net.nuclearteam.createnuclear.foundation.advancement; import com.google.common.collect.Sets; @@ -13,7 +13,7 @@ import net.nuclearteam.createnuclear.CNFluids; import net.nuclearteam.createnuclear.CNItems; import net.nuclearteam.createnuclear.CNTags; -import net.nuclearteam.createnuclear.foundation.Advancement.CreateNuclearAdvancement.Builder; +import net.nuclearteam.createnuclear.foundation.advancement.CreateNuclearAdvancement.Builder; import java.nio.file.Path; @@ -26,8 +26,8 @@ import java.util.function.UnaryOperator; -import static net.nuclearteam.createnuclear.foundation.Advancement.CreateNuclearAdvancement.TaskType.SILENT; -import static net.nuclearteam.createnuclear.foundation.Advancement.CreateNuclearAdvancement.TaskType.SECRET; +import static net.nuclearteam.createnuclear.foundation.advancement.CreateNuclearAdvancement.TaskType.SILENT; +import static net.nuclearteam.createnuclear.foundation.advancement.CreateNuclearAdvancement.TaskType.SECRET; public class CNAdvancement implements DataProvider { diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/Advancement/CreateNuclearAdvancement.java b/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CreateNuclearAdvancement.java similarity index 99% rename from src/main/java/net/nuclearteam/createnuclear/foundation/Advancement/CreateNuclearAdvancement.java rename to src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CreateNuclearAdvancement.java index 1dcf8854..9df7b80d 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/Advancement/CreateNuclearAdvancement.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CreateNuclearAdvancement.java @@ -1,4 +1,4 @@ -package net.nuclearteam.createnuclear.foundation.Advancement; +package net.nuclearteam.createnuclear.foundation.advancement; import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.advancement.SimpleCreateTrigger; diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java new file mode 100644 index 00000000..1ecc597f --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java @@ -0,0 +1,20 @@ +package net.nuclearteam.createnuclear.foundation.events; + +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.client.event.RegisterGuiOverlaysEvent; +import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.nuclearteam.createnuclear.content.equipment.armor.HelmetOverlayRenderer; + +@EventBusSubscriber(Dist.CLIENT) +public class CNClientEvent { + @EventBusSubscriber(value = Dist.CLIENT, bus = EventBusSubscriber.Bus.MOD) + public static class ModBusEvents { + @SubscribeEvent + public static void regusterGuiOverlays(RegisterGuiOverlaysEvent event) { + event.registerAbove(VanillaGuiOverlay.HELMET.id(), "helmet_vision", HelmetOverlayRenderer.OVERLAY); + event.registerAbove(VanillaGuiOverlay.HELMET.id(), "irradiated_vision", IrradiatedOverlayRendererVision.OVERLAY); + } + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/IrradiatedOverlayRendererVision.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/IrradiatedOverlayRendererVision.java new file mode 100644 index 00000000..d829d823 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/IrradiatedOverlayRendererVision.java @@ -0,0 +1,31 @@ +package net.nuclearteam.createnuclear.foundation.events; + +import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.GameType; +import net.minecraftforge.client.gui.overlay.ForgeGui; +import net.minecraftforge.client.gui.overlay.IGuiOverlay; +import net.nuclearteam.createnuclear.CNEffects; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.utility.RenderTextureOverlay; + +public class IrradiatedOverlayRendererVision { + public static final IGuiOverlay OVERLAY = IrradiatedOverlayRendererVision::renderOverlay; + + public static final ResourceLocation IRRADIATED_VISION = CreateNuclear.asResource("textures/misc/irradiated_vision/effect_radioactive.png"); + + public static void renderOverlay(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height) { + Minecraft mc = Minecraft.getInstance(); + if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) return; + + LocalPlayer localPlayer = mc.player; + RenderSystem.enableBlend(); + + if (localPlayer.hasEffect(CNEffects.RADIATION.get())) { + RenderTextureOverlay.renderTextureOverlay(graphics, IrradiatedOverlayRendererVision.IRRADIATED_VISION, 1f); + } + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderTextureOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderTextureOverlay.java new file mode 100644 index 00000000..3767ae26 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderTextureOverlay.java @@ -0,0 +1,17 @@ +package net.nuclearteam.createnuclear.foundation.utility; + +import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.resources.ResourceLocation; + +public class RenderTextureOverlay { + public static void renderTextureOverlay(GuiGraphics guiGraphics, ResourceLocation texture, float alpha) { + RenderSystem.disableDepthTest(); + RenderSystem.depthMask(false); + guiGraphics.setColor(1f, 1f, 1f, alpha); + guiGraphics.blit(texture, 0, 0, -90, 0.0f, 0.0f, guiGraphics.guiWidth(), guiGraphics.guiHeight(), guiGraphics.guiWidth(), guiGraphics.guiHeight()); + RenderSystem.depthMask(true); + RenderSystem.enableDepthTest(); + guiGraphics.setColor(1.0f, 1.0f, 1.0f, 1.0f); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/data/CreateNuclearDatagen.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/data/CreateNuclearDatagen.java index 294ad58d..2d08524c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/data/CreateNuclearDatagen.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/data/CreateNuclearDatagen.java @@ -11,7 +11,7 @@ import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.data.event.GatherDataEvent; import net.nuclearteam.createnuclear.CreateNuclear; -import net.nuclearteam.createnuclear.foundation.Advancement.CNAdvancement; +import net.nuclearteam.createnuclear.foundation.advancement.CNAdvancement; import net.nuclearteam.createnuclear.foundation.data.recipe.CNProcessingRecipeGen; import net.nuclearteam.createnuclear.foundation.data.recipe.CNStandardRecipeGen; import net.nuclearteam.createnuclear.foundation.ponder.CreateNuclearPonderPlugin; diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision.png new file mode 100644 index 0000000000000000000000000000000000000000..8a078c6fb1bcfbdea9238c40e065aa48dfd0aa16 GIT binary patch literal 21112 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_break.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_break.png new file mode 100644 index 0000000000000000000000000000000000000000..623d1444692349324655d306e0663eb7127a497c GIT binary patch literal 134158 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⩔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°W{t8 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 >!hs;Y>nf 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 YNFQs3fe?dg79{>OV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage2.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage2.png new file mode 100644 index 0000000000000000000000000000000000000000..bade7f8e7e84710ebcf3b53b7c519d4c7ae9f748 GIT binary patch literal 80705 zcmXV11yqw?+3{lD)!XFGTA&U@~;@AG?pai8CPqaPUQ-k`ii2>`&2dwM!1001WZ1Ow!xgyAS~ z;({=M;3m3SK;;O>2H}GEsivVO08}SXT|FitTvI&PvxWlz&G-Mlpgx~3PXGX4bWcaq zEYN=Y`hL~6evKe1Gc!4^FL*ojL|Ii%%>4K3TnYwaO{Cy>xvOY?lqFR2g8f*I*nQ%4 zB##|=)?7HLCD9E57&2H;Uf?d37TMprDFeUls4>?XQYS0# zQA8Wxud42mnk;Ed26Lz}NVujo+`?CHRJYMm+1mf(H#yb86nzeIdNg{9qbD15@s}(y zRpod!JNMysBzM@lK2J8U_IJ>a2m+Lu?G@5 zO&Pl4(NjCrnUs4z+s;XUnVVsc=JgSvd{ESkEx`u{i|>60LC>~IlUis+oF?%H{<0+B zrh-a#j?s5h(jTohWvG2yp%g+!PlY%gB<-u{{^gcB1$0l-GPe7+Co05hT16l84+-MCw+GFQmuV1p>=h*g>rRUj zOT9c|P8I?I9OtYFvC2=Mk0|X{u!|}7^9jf~utv)nJh`nDc798B`tRdyCnvv2e2I=M zr+1JP!jb!+gRn-?J#AoN-CUKauu@&{$#tH-(PyTO`}Vb-Paf^ra2xZbDx#D@_Efo1 zFPRg6e{W9ts7(7$TyiBez2uC(`$_pd8zJ7aGj0$vg%$M{mb2u%fp}*&-%2|2Dr%l@ zX)B&WN$}~1TM@L8?_%{Fggz8E{{97Q{6Vs6pHs?ND9iSiw@!UKsHj#B#14k>wvAM% zmCtf4&z?ZHw^FOFM|X5&{CUZ7VVmbl?%xuMld(fN(;7w>ffr}D4z5~Bxi;RZ2z5`D zVcupO*A>!)lX*Y|L+&XgVI~wVphgGEMQeF);nlnI410fWg(%p!UbU?p*k3B6PY#TL zgWCJ_GJ@qH{p|MznMt0t2Il$3j0zCom;)skN(#lFJ#zl`u0P}UW7@=y#Lzu%deg0Y z9*|fWg5pos8qsvv9fpn@WN;ZD|C0u5shi4y+~KUTU~qgNh8qT z|KP2MRG$Q+u?=%98_w;@pCuIpZK+GNaoYT&Ln_9H_2gq)y_d=7NL&``p;341C;-X(svxf8KT24DCns0%N3xwE@51$Uh`7 z77cU~%g{;1-U(;hCwJ4#9~IIVow#ZRkAyLfvR~XX#A@XxNAeOmBa=f+W^aaE&Kyy*sa z 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 z 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage3.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage3.png new file mode 100644 index 0000000000000000000000000000000000000000..2fce6c38d9fb98497e9350d26f334569932bb1f1 GIT binary patch literal 131303 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 SX%YOlfJ+xl^-J`eqW>SN2^`4) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/effect_radioactive.png b/src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/effect_radioactive.png new file mode 100644 index 0000000000000000000000000000000000000000..6846f6c28f1cb0b9b49841da0d420dce12c36b59 GIT binary patch literal 285305 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%0AF^ma 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 Date: Wed, 19 Mar 2025 16:19:58 +0100 Subject: [PATCH 09/40] modifs --- .../autunite_polished_cut_slab_recycling.json | 35 +++ .../cut_autunite_brick_slab_recycling.json | 35 +++ .../cut_autunite_slab_recycling.json | 35 +++ .../cut_deepslate_brick_slab_recycling.json | 35 +++ .../cut_deepslate_slab_recycling.json | 35 +++ ...deepslate_polished_cut_slab_recycling.json | 35 +++ .../small_autunite_brick_slab_recycling.json | 35 +++ .../small_deepslate_brick_slab_recycling.json | 35 +++ .../autunite_polished_cut_slab_recycling.json | 15 + .../cut_autunite_brick_slab_recycling.json | 15 + .../recipes/cut_autunite_slab_recycling.json | 15 + .../cut_deepslate_brick_slab_recycling.json | 15 + .../recipes/cut_deepslate_slab_recycling.json | 15 + ...deepslate_polished_cut_slab_recycling.json | 15 + .../small_autunite_brick_slab_recycling.json | 15 + .../small_deepslate_brick_slab_recycling.json | 15 + ...rom_stone_types_autunite_stonecutting.json | 33 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../autunite_polished_cut_slab.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../autunite_polished_cut_stairs.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../autunite_polished_cut_wall.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../cut_autunite_brick_slab.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../cut_autunite_brick_stairs.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../cut_autunite_brick_wall.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../building_blocks/cut_autunite_slab.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../building_blocks/cut_autunite_stairs.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../building_blocks/cut_autunite_wall.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../cut_deepslate_brick_slab.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../cut_deepslate_brick_stairs.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../cut_deepslate_brick_wall.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../building_blocks/cut_deepslate_slab.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../building_blocks/cut_deepslate_stairs.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../building_blocks/cut_deepslate_wall.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../deepslate_polished_cut_slab.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../deepslate_polished_cut_stairs.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../deepslate_polished_cut_wall.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../small_autunite_brick_slab.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../small_autunite_brick_stairs.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../small_autunite_brick_wall.json | 35 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ ...rom_stone_types_autunite_stonecutting.json | 33 +++ .../small_deepslate_brick_slab.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../small_deepslate_brick_stairs.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../small_deepslate_brick_wall.json | 35 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ ...om_stone_types_deepslate_stonecutting.json | 33 +++ .../loot_tables/blocks/asurine.json | 21 ++ .../loot_tables/blocks/autunite_layered.json | 21 ++ .../loot_tables/blocks/autunite_pillar.json | 21 ++ .../blocks/autunite_polished_cut.json | 21 ++ .../blocks/autunite_polished_cut_slab.json | 35 +++ .../blocks/autunite_polished_cut_stairs.json | 21 ++ .../blocks/autunite_polished_cut_wall.json | 21 ++ .../loot_tables/blocks/cut_autunite.json | 21 ++ .../blocks/cut_autunite_brick_slab.json | 35 +++ .../blocks/cut_autunite_brick_stairs.json | 21 ++ .../blocks/cut_autunite_brick_wall.json | 21 ++ .../blocks/cut_autunite_bricks.json | 21 ++ .../loot_tables/blocks/cut_autunite_slab.json | 35 +++ .../blocks/cut_autunite_stairs.json | 21 ++ .../loot_tables/blocks/cut_autunite_wall.json | 21 ++ .../loot_tables/blocks/cut_deepslate.json | 21 ++ .../blocks/cut_deepslate_brick_slab.json | 35 +++ .../blocks/cut_deepslate_brick_stairs.json | 21 ++ .../blocks/cut_deepslate_brick_wall.json | 21 ++ .../blocks/cut_deepslate_bricks.json | 21 ++ .../blocks/cut_deepslate_slab.json | 35 +++ .../blocks/cut_deepslate_stairs.json | 21 ++ .../blocks/cut_deepslate_wall.json | 21 ++ .../loot_tables/blocks/deepslate_layered.json | 21 ++ .../loot_tables/blocks/deepslate_pillar.json | 21 ++ .../blocks/deepslate_polished_cut.json | 21 ++ .../blocks/deepslate_polished_cut_slab.json | 35 +++ .../blocks/deepslate_polished_cut_stairs.json | 21 ++ .../blocks/deepslate_polished_cut_wall.json | 21 ++ .../blocks/small_autunite_brick_slab.json | 35 +++ .../blocks/small_autunite_brick_stairs.json | 21 ++ .../blocks/small_autunite_brick_wall.json | 21 ++ .../blocks/small_autunite_bricks.json | 21 ++ .../blocks/small_deepslate_brick_slab.json | 35 +++ .../blocks/small_deepslate_brick_stairs.json | 21 ++ .../blocks/small_deepslate_brick_wall.json | 21 ++ .../blocks/small_deepslate_bricks.json | 21 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + ...rom_stone_types_autunite_stonecutting.json | 8 + ...rom_stone_types_autunite_stonecutting.json | 8 + ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/autunite_polished_cut_slab.json | 18 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/autunite_polished_cut_stairs.json | 20 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/autunite_polished_cut_wall.json | 18 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/cut_autunite_brick_slab.json | 18 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/cut_autunite_brick_stairs.json | 20 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/cut_autunite_brick_wall.json | 18 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + ...rom_stone_types_autunite_stonecutting.json | 8 + ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/cut_autunite_slab.json | 18 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/cut_autunite_stairs.json | 20 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/cut_autunite_wall.json | 18 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/cut_deepslate_brick_slab.json | 18 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/cut_deepslate_brick_stairs.json | 20 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/cut_deepslate_brick_wall.json | 18 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + ...om_stone_types_deepslate_stonecutting.json | 8 + ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/cut_deepslate_slab.json | 18 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/cut_deepslate_stairs.json | 20 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/cut_deepslate_wall.json | 18 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + ...om_stone_types_deepslate_stonecutting.json | 8 + ...om_stone_types_deepslate_stonecutting.json | 8 + ...om_stone_types_deepslate_stonecutting.json | 8 + ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/deepslate_polished_cut_slab.json | 18 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../deepslate_polished_cut_stairs.json | 20 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/deepslate_polished_cut_wall.json | 18 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/small_autunite_brick_slab.json | 18 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/small_autunite_brick_stairs.json | 20 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/small_autunite_brick_wall.json | 18 ++ ...rom_stone_types_autunite_stonecutting.json | 8 + ...rom_stone_types_autunite_stonecutting.json | 8 + .../recipes/small_deepslate_brick_slab.json | 18 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/small_deepslate_brick_stairs.json | 20 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + .../recipes/small_deepslate_brick_wall.json | 18 ++ ...om_stone_types_deepslate_stonecutting.json | 8 + ...om_stone_types_deepslate_stonecutting.json | 8 + .../tags/items/stone_types/autunite.json | 19 ++ .../tags/items/stone_types/deepslate.json | 19 ++ .../tags/blocks/azalea_root_replaceable.json | 5 + .../blocks/dripstone_replaceable_blocks.json | 5 + .../tags/blocks/lush_ground_replaceable.json | 5 + .../tags/blocks/mineable/pickaxe.json | 21 +- .../tags/blocks/moss_replaceable.json | 5 + .../data/minecraft/tags/blocks/slabs.json | 8 + .../data/minecraft/tags/blocks/stairs.json | 8 + .../data/minecraft/tags/blocks/walls.json | 8 + .../data/minecraft/tags/items/slabs.json | 8 + .../data/minecraft/tags/items/stairs.json | 8 + .../data/minecraft/tags/items/walls.json | 8 + .../createnuclear/CreateNuclear.java | 2 + .../foundation/block/CNPaletteBlock.java | 11 + .../block/CNPaletteBlockPatten.java | 252 +++++++++++++++++ .../block/CNPaletteBlockpartial.java | 267 ++++++++++++++++++ .../block/CNPalettesStoneTypes.java | 61 ++++ .../block/CNPalettesVariantEntry.java | 83 ++++++ .../stone_types/natural/asurine_0.png | Bin 0 -> 752 bytes .../stone_types/natural/asurine_1.png | Bin 0 -> 787 bytes .../stone_types/natural/asurine_2.png | Bin 0 -> 725 bytes .../stone_types/natural/asurine_3.png | Bin 0 -> 772 bytes .../stone_types/natural/asurine_4.png | Bin 0 -> 757 bytes .../stone_types/natural/asurine_5.png | Bin 0 -> 776 bytes .../stone_types/natural/asurine_6.png | Bin 0 -> 660 bytes .../stone_types/natural/asurine_7.png | Bin 0 -> 797 bytes .../stone_types/natural/asurine_8.png | Bin 0 -> 825 bytes 205 files changed, 4937 insertions(+), 1 deletion(-) create mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/autunite_polished_cut_slab_recycling.json create mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json create mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json create mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_brick_slab_recycling.json create mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_slab_recycling.json create mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/deepslate_polished_cut_slab_recycling.json create mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json create mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/small_deepslate_brick_slab_recycling.json create mode 100644 src/generated/resources/data/create/recipes/autunite_polished_cut_slab_recycling.json create mode 100644 src/generated/resources/data/create/recipes/cut_autunite_brick_slab_recycling.json create mode 100644 src/generated/resources/data/create/recipes/cut_autunite_slab_recycling.json create mode 100644 src/generated/resources/data/create/recipes/cut_deepslate_brick_slab_recycling.json create mode 100644 src/generated/resources/data/create/recipes/cut_deepslate_slab_recycling.json create mode 100644 src/generated/resources/data/create/recipes/deepslate_polished_cut_slab_recycling.json create mode 100644 src/generated/resources/data/create/recipes/small_autunite_brick_slab_recycling.json create mode 100644 src/generated/resources/data/create/recipes/small_deepslate_brick_slab_recycling.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/asurine_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_layered_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_pillar_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_layered_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_pillar_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_bricks_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/asurine.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_layered.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_pillar.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_slab.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_stairs.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_wall.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_bricks.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_slab.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_stairs.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_wall.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_bricks.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_slab.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_stairs.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_wall.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_layered.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_pillar.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_slab.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_stairs.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_wall.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_bricks.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_bricks.json create mode 100644 src/generated/resources/data/createnuclear/recipes/asurine_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_layered_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_pillar_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall.json create mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_slab.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_slab_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_stairs.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_wall.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_autunite_wall_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall.json create mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_layered_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_pillar_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall.json create mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_autunite_bricks_from_stone_types_autunite_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json create mode 100644 src/generated/resources/data/createnuclear/tags/items/stone_types/autunite.json create mode 100644 src/generated/resources/data/createnuclear/tags/items/stone_types/deepslate.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/dripstone_replaceable_blocks.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/lush_ground_replaceable.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/moss_replaceable.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/slabs.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/stairs.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/walls.json create mode 100644 src/generated/resources/data/minecraft/tags/items/slabs.json create mode 100644 src/generated/resources/data/minecraft/tags/items/stairs.json create mode 100644 src/generated/resources/data/minecraft/tags/items/walls.json create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlock.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockPatten.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockpartial.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesStoneTypes.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesVariantEntry.java create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_0.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_1.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_2.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_3.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_4.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_5.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_6.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_7.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_8.png diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/autunite_polished_cut_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/autunite_polished_cut_slab_recycling.json new file mode 100644 index 00000000..99960354 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/autunite_polished_cut_slab_recycling.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_autunite_polished_cut_slab": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:autunite_polished_cut_slab" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:autunite_polished_cut_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_autunite_polished_cut_slab", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:autunite_polished_cut_slab_recycling" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json new file mode 100644 index 00000000..678ba7ca --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_autunite_brick_slab": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_autunite_brick_slab" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:cut_autunite_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_autunite_brick_slab", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:cut_autunite_brick_slab_recycling" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json new file mode 100644 index 00000000..61bb9900 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_autunite_slab": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_autunite_slab" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:cut_autunite_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_autunite_slab", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:cut_autunite_slab_recycling" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_brick_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_brick_slab_recycling.json new file mode 100644 index 00000000..2fe87b34 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_brick_slab_recycling.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_deepslate_brick_slab": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_deepslate_brick_slab" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:cut_deepslate_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_deepslate_brick_slab", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:cut_deepslate_brick_slab_recycling" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_slab_recycling.json new file mode 100644 index 00000000..fdf53293 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_slab_recycling.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_deepslate_slab": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_deepslate_slab" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:cut_deepslate_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_deepslate_slab", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:cut_deepslate_slab_recycling" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/deepslate_polished_cut_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/deepslate_polished_cut_slab_recycling.json new file mode 100644 index 00000000..6006843e --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/deepslate_polished_cut_slab_recycling.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_polished_cut_slab": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:deepslate_polished_cut_slab" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:deepslate_polished_cut_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_deepslate_polished_cut_slab", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:deepslate_polished_cut_slab_recycling" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json new file mode 100644 index 00000000..07249de3 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_autunite_brick_slab": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:small_autunite_brick_slab" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:small_autunite_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_small_autunite_brick_slab", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:small_autunite_brick_slab_recycling" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/small_deepslate_brick_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/small_deepslate_brick_slab_recycling.json new file mode 100644 index 00000000..9eff604a --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/small_deepslate_brick_slab_recycling.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_deepslate_brick_slab": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:small_deepslate_brick_slab" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "create:small_deepslate_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_small_deepslate_brick_slab", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "create:small_deepslate_brick_slab_recycling" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/autunite_polished_cut_slab_recycling.json b/src/generated/resources/data/create/recipes/autunite_polished_cut_slab_recycling.json new file mode 100644 index 00000000..5131bc95 --- /dev/null +++ b/src/generated/resources/data/create/recipes/autunite_polished_cut_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:autunite_polished_cut_slab" + }, + { + "item": "createnuclear:autunite_polished_cut_slab" + } + ], + "result": { + "item": "createnuclear:autunite_polished_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/cut_autunite_brick_slab_recycling.json b/src/generated/resources/data/create/recipes/cut_autunite_brick_slab_recycling.json new file mode 100644 index 00000000..1e5c6f2e --- /dev/null +++ b/src/generated/resources/data/create/recipes/cut_autunite_brick_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:cut_autunite_brick_slab" + }, + { + "item": "createnuclear:cut_autunite_brick_slab" + } + ], + "result": { + "item": "createnuclear:cut_autunite_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/cut_autunite_slab_recycling.json b/src/generated/resources/data/create/recipes/cut_autunite_slab_recycling.json new file mode 100644 index 00000000..27074efa --- /dev/null +++ b/src/generated/resources/data/create/recipes/cut_autunite_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:cut_autunite_slab" + }, + { + "item": "createnuclear:cut_autunite_slab" + } + ], + "result": { + "item": "createnuclear:cut_autunite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/cut_deepslate_brick_slab_recycling.json b/src/generated/resources/data/create/recipes/cut_deepslate_brick_slab_recycling.json new file mode 100644 index 00000000..93d2222c --- /dev/null +++ b/src/generated/resources/data/create/recipes/cut_deepslate_brick_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:cut_deepslate_brick_slab" + }, + { + "item": "createnuclear:cut_deepslate_brick_slab" + } + ], + "result": { + "item": "createnuclear:cut_deepslate_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/cut_deepslate_slab_recycling.json b/src/generated/resources/data/create/recipes/cut_deepslate_slab_recycling.json new file mode 100644 index 00000000..ae4f7a0e --- /dev/null +++ b/src/generated/resources/data/create/recipes/cut_deepslate_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:cut_deepslate_slab" + }, + { + "item": "createnuclear:cut_deepslate_slab" + } + ], + "result": { + "item": "createnuclear:cut_deepslate" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/deepslate_polished_cut_slab_recycling.json b/src/generated/resources/data/create/recipes/deepslate_polished_cut_slab_recycling.json new file mode 100644 index 00000000..5f7a27e1 --- /dev/null +++ b/src/generated/resources/data/create/recipes/deepslate_polished_cut_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:deepslate_polished_cut_slab" + }, + { + "item": "createnuclear:deepslate_polished_cut_slab" + } + ], + "result": { + "item": "createnuclear:deepslate_polished_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/small_autunite_brick_slab_recycling.json b/src/generated/resources/data/create/recipes/small_autunite_brick_slab_recycling.json new file mode 100644 index 00000000..68116528 --- /dev/null +++ b/src/generated/resources/data/create/recipes/small_autunite_brick_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:small_autunite_brick_slab" + }, + { + "item": "createnuclear:small_autunite_brick_slab" + } + ], + "result": { + "item": "createnuclear:small_autunite_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/small_deepslate_brick_slab_recycling.json b/src/generated/resources/data/create/recipes/small_deepslate_brick_slab_recycling.json new file mode 100644 index 00000000..156a1181 --- /dev/null +++ b/src/generated/resources/data/create/recipes/small_deepslate_brick_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:small_deepslate_brick_slab" + }, + { + "item": "createnuclear:small_deepslate_brick_slab" + } + ], + "result": { + "item": "createnuclear:small_deepslate_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/asurine_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/asurine_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..bc46f9f1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/asurine_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:asurine_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:asurine_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_layered_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_layered_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..89e2406f --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_layered_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_layered_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_layered_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_pillar_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_pillar_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..6477945e --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_pillar_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_pillar_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_pillar_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..e4dbf0f3 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_polished_cut_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_polished_cut_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab.json new file mode 100644 index 00000000..c4fc32de --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_autunite_polished_cut": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:autunite_polished_cut" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_polished_cut_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_autunite_polished_cut", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_polished_cut_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..f5f298a4 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_polished_cut_slab_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_polished_cut_slab_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs.json new file mode 100644 index 00000000..86d9f61f --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_autunite_polished_cut": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:autunite_polished_cut" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_polished_cut_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_autunite_polished_cut", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_polished_cut_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..4ef7f17c --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall.json new file mode 100644 index 00000000..d2f3a1d4 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_autunite_polished_cut": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:autunite_polished_cut" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_polished_cut_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_autunite_polished_cut", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_polished_cut_wall" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..30303108 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:autunite_polished_cut_wall_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:autunite_polished_cut_wall_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab.json new file mode 100644 index 00000000..5bd2c9ce --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_autunite_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_autunite_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_autunite_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_brick_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..3f2d1234 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_brick_slab_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_brick_slab_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs.json new file mode 100644 index 00000000..8514ff73 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_autunite_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_autunite_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_autunite_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_brick_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..99ce54fb --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall.json new file mode 100644 index 00000000..e35ccf84 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_autunite_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_autunite_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_autunite_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_brick_wall" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..fbf6e1d1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_brick_wall_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_brick_wall_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..ba99c19d --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_bricks_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_bricks_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..97ffcd33 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab.json new file mode 100644 index 00000000..2c75059e --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_autunite": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_autunite" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..e0dbe877 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_slab_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_slab_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs.json new file mode 100644 index 00000000..edeacddb --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_autunite": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_autunite" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..c237cd5a --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_stairs_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_stairs_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall.json new file mode 100644 index 00000000..8ea30a8b --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_autunite": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_autunite" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_wall" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..18c239d1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_autunite_wall_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_autunite_wall_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab.json new file mode 100644 index 00000000..ff2514cf --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_brick_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..03de4af1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs.json new file mode 100644 index 00000000..1e9c28cb --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_brick_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..fd7b8b98 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall.json new file mode 100644 index 00000000..9814371f --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_brick_wall" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..99977cc2 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..5955897f --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_bricks_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_bricks_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..2377f598 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab.json new file mode 100644 index 00000000..b6cd7359 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..6fe837b7 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_slab_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_slab_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs.json new file mode 100644 index 00000000..20c2785e --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..023cd2dd --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_stairs_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_stairs_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall.json new file mode 100644 index 00000000..f2cde439 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:cut_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cut_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_wall" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..e87c1b13 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:cut_deepslate_wall_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:cut_deepslate_wall_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..6cfc77a7 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_layered_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_layered_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..d5fbadb5 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_layered_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_layered_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_layered_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_pillar_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_pillar_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..14c7f6d4 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_pillar_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_pillar_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_pillar_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..e5f992b6 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_polished_cut_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_polished_cut_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab.json new file mode 100644 index 00000000..281481f6 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_polished_cut": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:deepslate_polished_cut" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_polished_cut_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_deepslate_polished_cut", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_polished_cut_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..916fffb9 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs.json new file mode 100644 index 00000000..e937a761 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_polished_cut": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:deepslate_polished_cut" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_polished_cut_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_deepslate_polished_cut", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_polished_cut_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..ccb29fd1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall.json new file mode 100644 index 00000000..28d2cdd7 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_polished_cut": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:deepslate_polished_cut" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_polished_cut_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_deepslate_polished_cut", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_polished_cut_wall" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..17cb834b --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json new file mode 100644 index 00000000..cc63c0dd --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_autunite_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:small_autunite_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_autunite_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_small_autunite_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_autunite_brick_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..478d9ba9 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_autunite_brick_slab_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_autunite_brick_slab_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json new file mode 100644 index 00000000..9caeeee1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_autunite_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:small_autunite_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_autunite_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_small_autunite_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_autunite_brick_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..1868f931 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_autunite_brick_stairs_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_autunite_brick_stairs_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json new file mode 100644 index 00000000..42a41957 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_autunite_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:small_autunite_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_autunite_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_small_autunite_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_autunite_brick_wall" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..dcd77a0b --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_autunite_brick_wall_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_autunite_brick_wall_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_bricks_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_bricks_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..8056afa0 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_bricks_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_autunite": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/autunite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_autunite_bricks_from_stone_types_autunite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_autunite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_autunite_bricks_from_stone_types_autunite_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab.json new file mode 100644 index 00000000..cbc3deb1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:small_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_deepslate_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_small_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_deepslate_brick_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..a70fa6eb --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs.json new file mode 100644 index 00000000..72f44a8c --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:small_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_deepslate_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_small_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_deepslate_brick_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..712750ed --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall.json new file mode 100644 index 00000000..96f0d77e --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "createnuclear:small_deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_deepslate_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_small_deepslate_bricks", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_deepslate_brick_wall" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..72333b78 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..52bd7201 --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_deepslate": { + "conditions": { + "items": [ + { + "tag": "createnuclear:stone_types/deepslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:small_deepslate_bricks_from_stone_types_deepslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_deepslate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:small_deepslate_bricks_from_stone_types_deepslate_stonecutting" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/asurine.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/asurine.json new file mode 100644 index 00000000..129d9b6b --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/asurine.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:asurine" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/asurine" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_layered.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_layered.json new file mode 100644 index 00000000..192cb7b7 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_layered.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:autunite_layered" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/autunite_layered" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_pillar.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_pillar.json new file mode 100644 index 00000000..1d47be63 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_pillar.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:autunite_pillar" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/autunite_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut.json new file mode 100644 index 00000000..746dde50 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:autunite_polished_cut" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/autunite_polished_cut" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_slab.json new file mode 100644 index 00000000..e0f36864 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "createnuclear:autunite_polished_cut_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "createnuclear:autunite_polished_cut_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/autunite_polished_cut_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_stairs.json new file mode 100644 index 00000000..100c9173 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:autunite_polished_cut_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/autunite_polished_cut_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_wall.json new file mode 100644 index 00000000..fbf890f2 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:autunite_polished_cut_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/autunite_polished_cut_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite.json new file mode 100644 index 00000000..43e62328 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_autunite" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_autunite" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_slab.json new file mode 100644 index 00000000..51ac79f1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "createnuclear:cut_autunite_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "createnuclear:cut_autunite_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_autunite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_stairs.json new file mode 100644 index 00000000..23ad33b6 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_autunite_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_autunite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_wall.json new file mode 100644 index 00000000..5d83f2f5 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_autunite_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_autunite_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_bricks.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_bricks.json new file mode 100644 index 00000000..aed5f900 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_autunite_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_autunite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_slab.json new file mode 100644 index 00000000..20f78f89 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "createnuclear:cut_autunite_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "createnuclear:cut_autunite_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_autunite_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_stairs.json new file mode 100644 index 00000000..bba3b49f --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_autunite_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_autunite_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_wall.json new file mode 100644 index 00000000..5dbb9f06 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_autunite_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_autunite_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_autunite_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate.json new file mode 100644 index 00000000..f41d7b4e --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_deepslate" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_deepslate" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_slab.json new file mode 100644 index 00000000..3f6c4f77 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "createnuclear:cut_deepslate_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "createnuclear:cut_deepslate_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_deepslate_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_stairs.json new file mode 100644 index 00000000..2a31b71a --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_deepslate_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_deepslate_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_wall.json new file mode 100644 index 00000000..b3719d07 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_deepslate_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_deepslate_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_bricks.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_bricks.json new file mode 100644 index 00000000..b7756e01 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_deepslate_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_deepslate_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_slab.json new file mode 100644 index 00000000..9f8a52ae --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "createnuclear:cut_deepslate_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "createnuclear:cut_deepslate_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_deepslate_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_stairs.json new file mode 100644 index 00000000..a85c3155 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_deepslate_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_deepslate_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_wall.json new file mode 100644 index 00000000..4211c88c --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:cut_deepslate_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/cut_deepslate_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_layered.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_layered.json new file mode 100644 index 00000000..f634654f --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_layered.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:deepslate_layered" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/deepslate_layered" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_pillar.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_pillar.json new file mode 100644 index 00000000..2168fa2d --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_pillar.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:deepslate_pillar" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/deepslate_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut.json new file mode 100644 index 00000000..eb51fb2c --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:deepslate_polished_cut" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/deepslate_polished_cut" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_slab.json new file mode 100644 index 00000000..1e12c8bf --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "createnuclear:deepslate_polished_cut_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "createnuclear:deepslate_polished_cut_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/deepslate_polished_cut_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_stairs.json new file mode 100644 index 00000000..471b2b6d --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:deepslate_polished_cut_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/deepslate_polished_cut_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_wall.json new file mode 100644 index 00000000..f5b59423 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:deepslate_polished_cut_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/deepslate_polished_cut_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_slab.json new file mode 100644 index 00000000..5cdf8d97 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "createnuclear:small_autunite_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "createnuclear:small_autunite_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/small_autunite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_stairs.json new file mode 100644 index 00000000..6b23e7a1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:small_autunite_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/small_autunite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_wall.json new file mode 100644 index 00000000..d3cbf590 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:small_autunite_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/small_autunite_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_bricks.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_bricks.json new file mode 100644 index 00000000..71ab1282 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:small_autunite_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/small_autunite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_slab.json new file mode 100644 index 00000000..aa2cac59 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "createnuclear:small_deepslate_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "createnuclear:small_deepslate_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/small_deepslate_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_stairs.json new file mode 100644 index 00000000..7b66bac2 --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:small_deepslate_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/small_deepslate_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_wall.json new file mode 100644 index 00000000..7610d6fc --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:small_deepslate_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/small_deepslate_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_bricks.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_bricks.json new file mode 100644 index 00000000..6fdc60ec --- /dev/null +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createnuclear:small_deepslate_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "createnuclear:blocks/small_deepslate_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/asurine_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/asurine_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..3d85195c --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/asurine_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:asurine" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_layered_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/autunite_layered_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..1a8ead30 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_layered_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:autunite_layered" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_pillar_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/autunite_pillar_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..ab76f18a --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_pillar_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:autunite_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..30dde522 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:autunite_polished_cut" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab.json new file mode 100644 index 00000000..df04f4be --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "autunite_polished_cut_slab", + "key": { + "X": { + "item": "createnuclear:autunite_polished_cut" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:autunite_polished_cut_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..859239c5 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 2, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:autunite_polished_cut_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs.json new file mode 100644 index 00000000..1b075171 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "autunite_polished_cut_stairs", + "key": { + "X": { + "item": "createnuclear:autunite_polished_cut" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "item": "createnuclear:autunite_polished_cut_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..028e7537 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:autunite_polished_cut_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall.json new file mode 100644 index 00000000..0c209876 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "createnuclear:autunite_polished_cut" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:autunite_polished_cut_wall" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..803feedb --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:autunite_polished_cut_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab.json new file mode 100644 index 00000000..3dbd3506 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_autunite_brick_slab", + "key": { + "X": { + "item": "createnuclear:cut_autunite_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:cut_autunite_brick_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..bfdcaeb7 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 2, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:cut_autunite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_stairs.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_stairs.json new file mode 100644 index 00000000..c753e714 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_autunite_brick_stairs", + "key": { + "X": { + "item": "createnuclear:cut_autunite_bricks" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "item": "createnuclear:cut_autunite_brick_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..678e9a74 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:cut_autunite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_wall.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_wall.json new file mode 100644 index 00000000..e941ba09 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "createnuclear:cut_autunite_bricks" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:cut_autunite_brick_wall" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..71d91844 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:cut_autunite_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..b694543c --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:cut_autunite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..6426412c --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:cut_autunite" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_slab.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_slab.json new file mode 100644 index 00000000..36b635c4 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_slab.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_autunite_slab", + "key": { + "X": { + "item": "createnuclear:cut_autunite" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:cut_autunite_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_slab_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..1e33d17e --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_slab_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 2, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:cut_autunite_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_stairs.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_stairs.json new file mode 100644 index 00000000..23b7740d --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_autunite_stairs", + "key": { + "X": { + "item": "createnuclear:cut_autunite" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "item": "createnuclear:cut_autunite_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..dc1f690e --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:cut_autunite_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_wall.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_wall.json new file mode 100644 index 00000000..f2b310d8 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "createnuclear:cut_autunite" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:cut_autunite_wall" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_autunite_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_wall_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..ecf4ef39 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_autunite_wall_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:cut_autunite_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab.json new file mode 100644 index 00000000..43c52fe5 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_deepslate_brick_slab", + "key": { + "X": { + "item": "createnuclear:cut_deepslate_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:cut_deepslate_brick_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..1dc5977e --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 2, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:cut_deepslate_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs.json new file mode 100644 index 00000000..fa1739e9 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_deepslate_brick_stairs", + "key": { + "X": { + "item": "createnuclear:cut_deepslate_bricks" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "item": "createnuclear:cut_deepslate_brick_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..8867c452 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:cut_deepslate_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall.json new file mode 100644 index 00000000..103af691 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "createnuclear:cut_deepslate_bricks" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:cut_deepslate_brick_wall" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..54f81593 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:cut_deepslate_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..3daf761c --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:cut_deepslate_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..041bedaf --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:cut_deepslate" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab.json new file mode 100644 index 00000000..ffccaa2c --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_deepslate_slab", + "key": { + "X": { + "item": "createnuclear:cut_deepslate" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:cut_deepslate_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..e6b803df --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 2, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:cut_deepslate_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs.json new file mode 100644 index 00000000..efb5f986 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_deepslate_stairs", + "key": { + "X": { + "item": "createnuclear:cut_deepslate" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "item": "createnuclear:cut_deepslate_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..bdc4dcff --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:cut_deepslate_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall.json new file mode 100644 index 00000000..7555f423 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "createnuclear:cut_deepslate" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:cut_deepslate_wall" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..e794413a --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:cut_deepslate_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..f895ebec --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "minecraft:deepslate" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_layered_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_layered_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..270f1a71 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_layered_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:deepslate_layered" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_pillar_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_pillar_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..5dbd7f80 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_pillar_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:deepslate_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..34de6f96 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:deepslate_polished_cut" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab.json new file mode 100644 index 00000000..af173e03 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "deepslate_polished_cut_slab", + "key": { + "X": { + "item": "createnuclear:deepslate_polished_cut" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:deepslate_polished_cut_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..4e65a27c --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 2, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:deepslate_polished_cut_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs.json new file mode 100644 index 00000000..0f758003 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "deepslate_polished_cut_stairs", + "key": { + "X": { + "item": "createnuclear:deepslate_polished_cut" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "item": "createnuclear:deepslate_polished_cut_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..160f404c --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:deepslate_polished_cut_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall.json new file mode 100644 index 00000000..48d7ebae --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "createnuclear:deepslate_polished_cut" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:deepslate_polished_cut_wall" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..9a79a830 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:deepslate_polished_cut_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab.json new file mode 100644 index 00000000..cd629a4d --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_autunite_brick_slab", + "key": { + "X": { + "item": "createnuclear:small_autunite_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:small_autunite_brick_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..2fb713f4 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 2, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:small_autunite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs.json new file mode 100644 index 00000000..2fe38822 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_autunite_brick_stairs", + "key": { + "X": { + "item": "createnuclear:small_autunite_bricks" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "item": "createnuclear:small_autunite_brick_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..e3dce519 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:small_autunite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall.json new file mode 100644 index 00000000..3c4b5b50 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "createnuclear:small_autunite_bricks" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:small_autunite_brick_wall" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..e4c918af --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:small_autunite_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_bricks_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_bricks_from_stone_types_autunite_stonecutting.json new file mode 100644 index 00000000..1ba37510 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_bricks_from_stone_types_autunite_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/autunite" + }, + "result": "createnuclear:small_autunite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab.json new file mode 100644 index 00000000..2a0a41c1 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_deepslate_brick_slab", + "key": { + "X": { + "item": "createnuclear:small_deepslate_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:small_deepslate_brick_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..b3686963 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 2, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:small_deepslate_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs.json new file mode 100644 index 00000000..a20f406b --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_deepslate_brick_stairs", + "key": { + "X": { + "item": "createnuclear:small_deepslate_bricks" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "item": "createnuclear:small_deepslate_brick_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..9d0d8be5 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:small_deepslate_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall.json new file mode 100644 index 00000000..c8be030d --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "createnuclear:small_deepslate_bricks" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "item": "createnuclear:small_deepslate_brick_wall" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..754acce3 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:small_deepslate_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json new file mode 100644 index 00000000..2d8bf767 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "createnuclear:stone_types/deepslate" + }, + "result": "createnuclear:small_deepslate_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/tags/items/stone_types/autunite.json b/src/generated/resources/data/createnuclear/tags/items/stone_types/autunite.json new file mode 100644 index 00000000..58b7a21c --- /dev/null +++ b/src/generated/resources/data/createnuclear/tags/items/stone_types/autunite.json @@ -0,0 +1,19 @@ +{ + "values": [ + "createnuclear:cut_autunite", + "createnuclear:cut_autunite_stairs", + "createnuclear:cut_autunite_wall", + "createnuclear:autunite_polished_cut", + "createnuclear:autunite_polished_cut_stairs", + "createnuclear:autunite_polished_cut_wall", + "createnuclear:cut_autunite_bricks", + "createnuclear:cut_autunite_brick_stairs", + "createnuclear:cut_autunite_brick_wall", + "createnuclear:small_autunite_bricks", + "createnuclear:small_autunite_brick_stairs", + "createnuclear:small_autunite_brick_wall", + "createnuclear:autunite_layered", + "createnuclear:autunite_pillar", + "createnuclear:asurine" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/tags/items/stone_types/deepslate.json b/src/generated/resources/data/createnuclear/tags/items/stone_types/deepslate.json new file mode 100644 index 00000000..68767a04 --- /dev/null +++ b/src/generated/resources/data/createnuclear/tags/items/stone_types/deepslate.json @@ -0,0 +1,19 @@ +{ + "values": [ + "createnuclear:cut_deepslate", + "createnuclear:cut_deepslate_stairs", + "createnuclear:cut_deepslate_wall", + "createnuclear:deepslate_polished_cut", + "createnuclear:deepslate_polished_cut_stairs", + "createnuclear:deepslate_polished_cut_wall", + "createnuclear:cut_deepslate_bricks", + "createnuclear:cut_deepslate_brick_stairs", + "createnuclear:cut_deepslate_brick_wall", + "createnuclear:small_deepslate_bricks", + "createnuclear:small_deepslate_brick_stairs", + "createnuclear:small_deepslate_brick_wall", + "createnuclear:deepslate_layered", + "createnuclear:deepslate_pillar", + "minecraft:deepslate" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json b/src/generated/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json new file mode 100644 index 00000000..c8c4b7c7 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createnuclear:asurine" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/dripstone_replaceable_blocks.json b/src/generated/resources/data/minecraft/tags/blocks/dripstone_replaceable_blocks.json new file mode 100644 index 00000000..c8c4b7c7 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/dripstone_replaceable_blocks.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createnuclear:asurine" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/lush_ground_replaceable.json b/src/generated/resources/data/minecraft/tags/blocks/lush_ground_replaceable.json new file mode 100644 index 00000000..c8c4b7c7 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/lush_ground_replaceable.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createnuclear:asurine" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 0c07325f..0734c176 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -15,6 +15,25 @@ "createnuclear:lead_block", "createnuclear:deepslate_uranium_ore", "createnuclear:uranium_ore", - "createnuclear:steel_block" + "createnuclear:steel_block", + "createnuclear:asurine", + "createnuclear:cut_autunite", + "createnuclear:cut_autunite_stairs", + "createnuclear:cut_autunite_slab", + "createnuclear:cut_autunite_wall", + "createnuclear:autunite_polished_cut", + "createnuclear:autunite_polished_cut_stairs", + "createnuclear:autunite_polished_cut_slab", + "createnuclear:autunite_polished_cut_wall", + "createnuclear:cut_autunite_bricks", + "createnuclear:cut_autunite_brick_stairs", + "createnuclear:cut_autunite_brick_slab", + "createnuclear:cut_autunite_brick_wall", + "createnuclear:small_autunite_bricks", + "createnuclear:small_autunite_brick_stairs", + "createnuclear:small_autunite_brick_slab", + "createnuclear:small_autunite_brick_wall", + "createnuclear:autunite_layered", + "createnuclear:autunite_pillar" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/moss_replaceable.json b/src/generated/resources/data/minecraft/tags/blocks/moss_replaceable.json new file mode 100644 index 00000000..c8c4b7c7 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/moss_replaceable.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createnuclear:asurine" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/slabs.json b/src/generated/resources/data/minecraft/tags/blocks/slabs.json new file mode 100644 index 00000000..2a7bf42a --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/slabs.json @@ -0,0 +1,8 @@ +{ + "values": [ + "createnuclear:cut_autunite_slab", + "createnuclear:autunite_polished_cut_slab", + "createnuclear:cut_autunite_brick_slab", + "createnuclear:small_autunite_brick_slab" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/stairs.json b/src/generated/resources/data/minecraft/tags/blocks/stairs.json new file mode 100644 index 00000000..3ece841b --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/stairs.json @@ -0,0 +1,8 @@ +{ + "values": [ + "createnuclear:cut_autunite_stairs", + "createnuclear:autunite_polished_cut_stairs", + "createnuclear:cut_autunite_brick_stairs", + "createnuclear:small_autunite_brick_stairs" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/walls.json b/src/generated/resources/data/minecraft/tags/blocks/walls.json new file mode 100644 index 00000000..dd860725 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/walls.json @@ -0,0 +1,8 @@ +{ + "values": [ + "createnuclear:cut_autunite_wall", + "createnuclear:autunite_polished_cut_wall", + "createnuclear:cut_autunite_brick_wall", + "createnuclear:small_autunite_brick_wall" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/slabs.json b/src/generated/resources/data/minecraft/tags/items/slabs.json new file mode 100644 index 00000000..2a7bf42a --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/items/slabs.json @@ -0,0 +1,8 @@ +{ + "values": [ + "createnuclear:cut_autunite_slab", + "createnuclear:autunite_polished_cut_slab", + "createnuclear:cut_autunite_brick_slab", + "createnuclear:small_autunite_brick_slab" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/stairs.json b/src/generated/resources/data/minecraft/tags/items/stairs.json new file mode 100644 index 00000000..3ece841b --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/items/stairs.json @@ -0,0 +1,8 @@ +{ + "values": [ + "createnuclear:cut_autunite_stairs", + "createnuclear:autunite_polished_cut_stairs", + "createnuclear:cut_autunite_brick_stairs", + "createnuclear:small_autunite_brick_stairs" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/walls.json b/src/generated/resources/data/minecraft/tags/items/walls.json new file mode 100644 index 00000000..dd860725 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/items/walls.json @@ -0,0 +1,8 @@ +{ + "values": [ + "createnuclear:cut_autunite_wall", + "createnuclear:autunite_polished_cut_wall", + "createnuclear:cut_autunite_brick_wall", + "createnuclear:small_autunite_brick_wall" + ] +} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java index d555f464..002e0ac4 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java +++ b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java @@ -23,6 +23,7 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.RegisterEvent; import net.nuclearteam.createnuclear.content.kinetics.fan.processing.CNFanProcessingTypes; +import net.nuclearteam.createnuclear.foundation.block.CNPaletteBlock; import net.nuclearteam.createnuclear.infrastructure.data.CreateNuclearDatagen; import org.slf4j.Logger; @@ -62,6 +63,7 @@ public static void onInitialize() { CNMenus.register(); CNFluids.register(); CNEntityType.register(); + CNPaletteBlock.register(); CNCreativeModeTabs.register(modEventBus); CNEffects.register(modEventBus); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlock.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlock.java new file mode 100644 index 00000000..6685205f --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlock.java @@ -0,0 +1,11 @@ +package net.nuclearteam.createnuclear.foundation.block; + +import net.nuclearteam.createnuclear.CreateNuclear; + +public class CNPaletteBlock { + static { + CNPalettesStoneTypes.register(CreateNuclear.REGISTRATE); + } + + public static void register() {} +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockPatten.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockPatten.java new file mode 100644 index 00000000..2140a010 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockPatten.java @@ -0,0 +1,252 @@ +package net.nuclearteam.createnuclear.foundation.block; + +import com.simibubi.create.Create; +import com.simibubi.create.content.decoration.palettes.ConnectedPillarBlock; +import com.simibubi.create.foundation.block.connected.*; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.providers.RegistrateRecipeProvider; +import com.tterrag.registrate.util.nullness.NonNullBiConsumer; +import com.tterrag.registrate.util.nullness.NonNullFunction; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +import java.util.Optional; +import java.util.function.Function; +import java.util.function.Supplier; + + +public class CNPaletteBlockPatten { + + public static final CNPaletteBlockPatten + CUT = create("cut", PatternNameType.PREFIX, CNPaletteBlockpartial.ALL_PARTIALS), + BRICKS = create("cut_bricks", PatternNameType.WRAP, CNPaletteBlockpartial.ALL_PARTIALS).textures("brick"), + SMALL_BRICKS = create("small_bricks", PatternNameType.WRAP, CNPaletteBlockpartial.ALL_PARTIALS).textures("small_brick"), + POLISHED = create("polished_cut", PatternNameType.SUFFIX, CNPaletteBlockpartial.ALL_PARTIALS).textures("polished", "slab"), + LAYERED = create("layered", PatternNameType.SUFFIX).blockStateFactory(p -> p::cubeColumn) + .textures("layered", "cap") + .connectedTextures(v -> new HorizontalCTBehaviour(ct(v, CNPaletteBlockPatten.CTs.LAYERED), ct(v, CNPaletteBlockPatten.CTs.CAP))), + PILLAR = create("pillar", PatternNameType.SUFFIX).blockStateFactory(p -> p::pillar) + .block(ConnectedPillarBlock::new) + .textures("pillar", "cap") + .connectedTextures(v -> new RotatedPillarCTBehaviour(ct(v, CNPaletteBlockPatten.CTs.PILLAR), ct(v, CNPaletteBlockPatten.CTs.CAP))) + ; + + public static final CNPaletteBlockPatten[] VANILLA_RANGE = { CUT, POLISHED, BRICKS, SMALL_BRICKS, LAYERED, PILLAR }; + + public static final CNPaletteBlockPatten[] STANDARD_RANGE = { CUT, POLISHED, BRICKS, SMALL_BRICKS, LAYERED, PILLAR }; + + static final String TEXTURE_LOCATION = "block/palettes/stone_types/%s/%s"; + + private PatternNameType nameType; + private String[] textures; + private String id; + private boolean isTranslucent; + private TagKey[] blockTags; + private TagKey[] itemTags; + private Optional> ctFactory; + + private IPatternBlockStateGenerator blockStateGenerator; + private NonNullFunction blockFactory; + private NonNullFunction, NonNullBiConsumer, RegistrateRecipeProvider>> additionalRecipes; + private CNPaletteBlockpartial[] partials; + + @OnlyIn(Dist.CLIENT) + private RenderType renderType; + + private static CNPaletteBlockPatten create(String name, PatternNameType nameType, + CNPaletteBlockpartial... partials) { + CNPaletteBlockPatten pattern = new CNPaletteBlockPatten(); + pattern.id = name; + pattern.ctFactory = Optional.empty(); + pattern.nameType = nameType; + pattern.partials = partials; + pattern.additionalRecipes = $ -> NonNullBiConsumer.noop(); + pattern.isTranslucent = false; + pattern.blockFactory = Block::new; + pattern.textures = new String[] { name }; + pattern.blockStateGenerator = p -> p::cubeAll; + return pattern; + } + + public IPatternBlockStateGenerator getBlockStateGenerator() { + return blockStateGenerator; + } + + public boolean isTranslucent() { + return isTranslucent; + } + + public TagKey[] getBlockTags() { + return blockTags; + } + + public TagKey[] getItemTags() { + return itemTags; + } + public NonNullFunction getBlockFactory() { + return blockFactory; + } + + public CNPaletteBlockpartial[] getPartials() { + return partials; + } + public String getTexture(int index) { + return textures[index]; + } + + public void addRecipes(NonNullSupplier baseBlock, DataGenContext c, + RegistrateRecipeProvider p) { + additionalRecipes.apply(baseBlock) + .accept(c, p); + } + + public Optional> createCTBehaviour(String variant) { + return ctFactory.map(d -> () -> d.apply(variant)); + } + + // Builder + + private CNPaletteBlockPatten blockStateFactory(IPatternBlockStateGenerator factory) { + blockStateGenerator = factory; + return this; + } + + private CNPaletteBlockPatten textures(String... textures) { + this.textures = textures; + return this; + } + + private CNPaletteBlockPatten block(NonNullFunction blockFactory) { + this.blockFactory = blockFactory; + return this; + } + + private CNPaletteBlockPatten connectedTextures(Function factory) { + this.ctFactory = Optional.of(factory); + return this; + } + + // Model generators + + public CNPaletteBlockPatten.IBlockStateProvider cubeAll(String variant) { + ResourceLocation all = toLocation(variant, textures[0]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeAll(createName(variant), all)); + } + + public CNPaletteBlockPatten.IBlockStateProvider cubeBottomTop(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation bottom = toLocation(variant, textures[1]); + ResourceLocation top = toLocation(variant, textures[2]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeBottomTop(createName(variant), side, bottom, top)); + } + + public CNPaletteBlockPatten.IBlockStateProvider pillar(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation end = toLocation(variant, textures[1]); + + return (ctx, prov) -> prov.getVariantBuilder(ctx.getEntry()) + .forAllStatesExcept(state -> { + Direction.Axis axis = state.getValue(BlockStateProperties.AXIS); + if (axis == Direction.Axis.Y) + return net.minecraftforge.client.model.generators.ConfiguredModel.builder() + .modelFile(prov.models() + .cubeColumn(createName(variant), side, end)) + .uvLock(false) + .build(); + return net.minecraftforge.client.model.generators.ConfiguredModel.builder() + .modelFile(prov.models() + .cubeColumnHorizontal(createName(variant) + "_horizontal", side, end)) + .uvLock(false) + .rotationX(90) + .rotationY(axis == Direction.Axis.X ? 90 : 0) + .build(); + }, BlockStateProperties.WATERLOGGED, ConnectedPillarBlock.NORTH, ConnectedPillarBlock.SOUTH, + ConnectedPillarBlock.EAST, ConnectedPillarBlock.WEST); + } + + public CNPaletteBlockPatten.IBlockStateProvider cubeColumn(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation end = toLocation(variant, textures[1]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeColumn(createName(variant), side, end)); + } + + // Utility + + public String createName(String variant) { + if (nameType == PatternNameType.WRAP) { + String[] split = id.split("_"); + if (split.length == 2) { + String formatString = "%s_%s_%s"; + return String.format(formatString, split[0], variant, split[1]); + } + } + String formatString = "%s_%s"; + return nameType == PatternNameType.SUFFIX ? String.format(formatString, variant, id) : String.format(formatString, id, variant); + } + + public static ResourceLocation toLocation(String variant, String texture) { + return Create.asResource( + String.format(TEXTURE_LOCATION, texture, variant + (texture.equals("cut") ? "_" : "_cut_") + texture)); + } + + protected static CTSpriteShiftEntry ct(String variant, CNPaletteBlockPatten.CTs texture) { + ResourceLocation resLoc = texture.srcFactory.apply(variant); + ResourceLocation resLocTarget = texture.targetFactory.apply(variant); + return CTSpriteShifter.getCT(texture.type, resLoc, + new ResourceLocation(resLocTarget.getNamespace(), resLocTarget.getPath() + "_connected")); + } + + @FunctionalInterface + static interface IPatternBlockStateGenerator + extends Function> { + } + + @FunctionalInterface + static interface IBlockStateProvider + extends NonNullBiConsumer, RegistrateBlockstateProvider> { + } + + enum PatternNameType { + PREFIX, SUFFIX, WRAP + } + + // Textures with connectability, used by Spriteshifter + + public enum CTs { + + PILLAR(AllCTTypes.RECTANGLE, s -> toLocation(s, "pillar")), + CAP(AllCTTypes.OMNIDIRECTIONAL, s -> toLocation(s, "cap")), + LAYERED(AllCTTypes.HORIZONTAL_KRYPPERS, s -> toLocation(s, "layered")) + + ; + + public CTType type; + private Function srcFactory; + private Function targetFactory; + + private CTs(CTType type, Function factory) { + this(type, factory, factory); + } + + private CTs(CTType type, Function srcFactory, + Function targetFactory) { + this.type = type; + this.srcFactory = srcFactory; + this.targetFactory = targetFactory; + } + + } +} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockpartial.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockpartial.java new file mode 100644 index 00000000..bd9a5c86 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockpartial.java @@ -0,0 +1,267 @@ +package net.nuclearteam.createnuclear.foundation.block; + +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +import java.util.Arrays; +import java.util.function.Supplier; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.data.recipes.ShapedRecipeBuilder; +import net.minecraft.data.recipes.ShapelessRecipeBuilder; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SlabBlock; +import net.minecraft.world.level.block.StairBlock; +import net.minecraft.world.level.block.WallBlock; +import net.minecraft.world.level.block.state.BlockBehaviour.Properties; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.builders.ItemBuilder; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.providers.RegistrateRecipeProvider; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonnullType; + +import net.minecraftforge.client.model.generators.ModelFile; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.utility.CreateNuclearLang; + +public abstract class CNPaletteBlockpartial { + + public static final CNPaletteBlockpartial STAIR = new Stairs(); + public static final CNPaletteBlockpartial SLAB = new Slab(false); + public static final CNPaletteBlockpartial UNIQUE_SLAB = new Slab(true); + public static final CNPaletteBlockpartial WALL = new Wall(); + + public static final CNPaletteBlockpartial[] ALL_PARTIALS = { STAIR, SLAB, WALL }; + public static final CNPaletteBlockpartial[] FOR_POLISHED = { STAIR, UNIQUE_SLAB, WALL }; + + private String name; + + private CNPaletteBlockpartial(String name) { + this.name = name; + } + + public @NonnullType BlockBuilder create(String variantName, CNPaletteBlockPatten pattern, + BlockEntry block, CNPalettesStoneTypes variant) { + String patternName = CreateNuclearLang.nonPluralId(pattern.createName(variantName)); + String blockName = patternName + "_" + this.name; + + BlockBuilder blockBuilder = CreateNuclear.REGISTRATE + .block(blockName, p -> createBlock(block)) + .blockstate((c, p) -> generateBlockState(c, p, variantName, pattern, block)) + .recipe((c, p) -> createRecipes(variant, block, c, p)) + .transform(b -> transformBlock(b, variantName, pattern)); + + ItemBuilder> itemBuilder = blockBuilder.item() + .transform(b -> transformItem(b, variantName, pattern)); + + if (canRecycle()) + itemBuilder.tag(variant.materialTag); + + return itemBuilder.build(); + } + + protected ResourceLocation getTexture(String variantName, CNPaletteBlockPatten pattern, int index) { + return CNPaletteBlockPatten.toLocation(variantName, pattern.getTexture(index)); + } + + protected BlockBuilder transformBlock(BlockBuilder builder, + String variantName, CNPaletteBlockPatten pattern) { + getBlockTags().forEach(builder::tag); + return builder.transform(pickaxeOnly()); + } + + protected ItemBuilder> transformItem( + ItemBuilder> builder, String variantName, + CNPaletteBlockPatten pattern) { + getItemTags().forEach(builder::tag); + return builder; + } + + protected boolean canRecycle() { + return true; + } + + protected abstract Iterable> getBlockTags(); + protected abstract Iterable> getItemTags(); + + protected abstract B createBlock(Supplier block); + + protected abstract void createRecipes(CNPalettesStoneTypes type, BlockEntry patternBlock, DataGenContext c, + RegistrateRecipeProvider p); + + protected abstract void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, CNPaletteBlockPatten pattern, Supplier block); + + private static class Stairs extends CNPaletteBlockpartial { + + public Stairs() { + super("stairs"); + } + + @Override + protected StairBlock createBlock(Supplier block) { + return new StairBlock(block.get().defaultBlockState(), Properties.copy(block.get())); + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, CNPaletteBlockPatten pattern, Supplier block) { + prov.stairsBlock(ctx.get(), getTexture(variantName, pattern, 0)); + } + + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.STAIRS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.STAIRS); + } + + @Override + protected void createRecipes(CNPalettesStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.stairs(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); + } + + } + + private static class Slab extends CNPaletteBlockpartial { + + private boolean customSide; + + public Slab(boolean customSide) { + super("slab"); + this.customSide = customSide; + } + + @Override + protected SlabBlock createBlock(Supplier block) { + return new SlabBlock(Properties.copy(block.get())); + } + + @Override + protected boolean canRecycle() { + return false; + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, CNPaletteBlockPatten pattern, Supplier block) { + String name = ctx.getName(); + ResourceLocation mainTexture = getTexture(variantName, pattern, 0); + ResourceLocation sideTexture = customSide ? getTexture(variantName, pattern, 1) : mainTexture; + + ModelFile bottom = prov.models() + .slab(name, sideTexture, mainTexture, mainTexture); + ModelFile top = prov.models() + .slabTop(name + "_top", sideTexture, mainTexture, mainTexture); + ModelFile doubleSlab; + + if (customSide) { + doubleSlab = prov.models() + .cubeColumn(name + "_double", sideTexture, mainTexture); + } else { + doubleSlab = prov.models() + .getExistingFile(prov.modLoc(pattern.createName(variantName))); + } + + prov.slabBlock(ctx.get(), bottom, top, doubleSlab); + } + + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.SLABS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.SLABS); + } + + @Override + protected void createRecipes(CNPalettesStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.slab(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 2); + DataIngredient ingredient = DataIngredient.items(c.get()); + ShapelessRecipeBuilder.shapeless(category, patternBlock.get()) + .requires(ingredient) + .requires(ingredient) + .unlockedBy("has_" + c.getName(), ingredient.getCritereon(p)) + .save(p, Create.ID + ":" + c.getName() + "_recycling"); + } + + @Override + protected BlockBuilder transformBlock( + BlockBuilder builder, + String variantName, CNPaletteBlockPatten pattern) { + builder.loot((lt, block) -> lt.add(block, lt.createSlabItemTable(block))); + return super.transformBlock(builder, variantName, pattern); + } + + } + + private static class Wall extends CNPaletteBlockpartial { + + public Wall() { + super("wall"); + } + + @Override + protected WallBlock createBlock(Supplier block) { + return new WallBlock(Properties.copy(block.get()).forceSolidOn()); + } + + @Override + protected ItemBuilder> transformItem( + ItemBuilder> builder, String variantName, + CNPaletteBlockPatten pattern) { + builder.model((c, p) -> p.wallInventory(c.getName(), getTexture(variantName, pattern, 0))); + return super.transformItem(builder, variantName, pattern); + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, CNPaletteBlockPatten pattern, Supplier block) { + prov.wallBlock(ctx.get(), pattern.createName(variantName), getTexture(variantName, pattern, 0)); + } + + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.WALLS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.WALLS); + } + + @Override + protected void createRecipes(CNPalettesStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); + DataIngredient ingredient = DataIngredient.items(patternBlock.get()); + ShapedRecipeBuilder.shaped(category, c.get(), 6) + .pattern("XXX") + .pattern("XXX") + .define('X', ingredient) + .unlockedBy("has_" + p.safeName(ingredient), ingredient.getCritereon(p)) + .save(p, p.safeId(c.get())); + } + } +} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesStoneTypes.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesStoneTypes.java new file mode 100644 index 00000000..24302e3b --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesStoneTypes.java @@ -0,0 +1,61 @@ +package net.nuclearteam.createnuclear.foundation.block; + +import com.simibubi.create.AllTags; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.createmod.catnip.lang.Lang; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.MapColor; +import net.minecraftforge.registries.ForgeRegistries; +import net.nuclearteam.createnuclear.CNTags; +import net.nuclearteam.createnuclear.CreateNuclear; + +import java.util.function.Function; + +public enum CNPalettesStoneTypes { + AUTUNITE(CNPaletteBlockPatten.STANDARD_RANGE, r -> r.paletteStoneBlock("asurine", () -> Blocks.DEEPSLATE, true, true) + .properties(p -> p.destroyTime(1.25f) + .mapColor(MapColor.COLOR_GREEN)) + .register()), + ; + + + private Function> factory; + private CNPalettesVariantEntry variants; + + public NonNullSupplier baseBlock; + public final CNPaletteBlockPatten[] variantTypes; + public TagKey materialTag; + + private CNPalettesStoneTypes(CNPaletteBlockPatten[] variantTypes, + Function> factory) { + this.factory = factory; + this.variantTypes = variantTypes; + } + + public NonNullSupplier getBaseBlock() { + return baseBlock; + } + + public CNPalettesVariantEntry getVariants() { + return variants; + } + + public static void register(CreateRegistrate registrate) { + for (CNPalettesStoneTypes paletteStoneVariants : values()) { + NonNullSupplier baseBlock = paletteStoneVariants.factory.apply(registrate); + paletteStoneVariants.baseBlock = baseBlock; + String id = Lang.asId(paletteStoneVariants.name()); + paletteStoneVariants.materialTag = + CNTags.optionalTag(ForgeRegistries.ITEMS, CreateNuclear.asResource("stone_types/" + id)); + paletteStoneVariants.variants = new CNPalettesVariantEntry(id, paletteStoneVariants); + } + } + + +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesVariantEntry.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesVariantEntry.java new file mode 100644 index 00000000..05fcf240 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesVariantEntry.java @@ -0,0 +1,83 @@ +package net.nuclearteam.createnuclear.foundation.block; + +import com.google.common.collect.ImmutableList; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.builders.ItemBuilder; +import com.tterrag.registrate.providers.ProviderType; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.nuclearteam.createnuclear.CreateNuclear; + +import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures; +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +public class CNPalettesVariantEntry { + public final ImmutableList> registeredBlocks; + public final ImmutableList> registeredPartials; + + public CNPalettesVariantEntry(String name, CNPalettesStoneTypes cnPalettesVariantEntry) { + ImmutableList.Builder> registeredBlocks = ImmutableList.builder(); + ImmutableList.Builder> registeredPartials = ImmutableList.builder(); + NonNullSupplier baseBlock = cnPalettesVariantEntry.baseBlock; + + for (CNPaletteBlockPatten pattern : cnPalettesVariantEntry.variantTypes) { + BlockBuilder builder = + CreateNuclear.REGISTRATE.block(pattern.createName(name), pattern.getBlockFactory()) + .initialProperties(baseBlock) + .transform(pickaxeOnly()) + .blockstate(pattern.getBlockStateGenerator() + .apply(pattern) + .apply(name)::accept); + + ItemBuilder> itemBuilder = + builder.item(); + + TagKey[] blockTags = pattern.getBlockTags(); + if (blockTags != null) + builder.tag(blockTags); + TagKey[] itemTags = pattern.getItemTags(); + if (itemTags != null) + itemBuilder.tag(itemTags); + + itemBuilder.tag(cnPalettesVariantEntry.materialTag); + + if (pattern.isTranslucent()) + builder.addLayer(() -> RenderType::translucent); + pattern.createCTBehaviour(name) + .ifPresent(b -> builder.onRegister(connectedTextures(b))); + + builder.recipe((c, p) -> { + p.stonecutting(DataIngredient.tag(cnPalettesVariantEntry.materialTag), RecipeCategory.BUILDING_BLOCKS, c); + pattern.addRecipes(baseBlock, c, p); + }); + + itemBuilder.register(); + BlockEntry block = builder.register(); + registeredBlocks.add(block); + + for (CNPaletteBlockpartial partialBlock : pattern.getPartials()) + registeredPartials.add(partialBlock.create(name, pattern, block, cnPalettesVariantEntry) + .register()); + } + + CreateNuclear.REGISTRATE.addDataGenerator(ProviderType.RECIPE, + p -> p.stonecutting(DataIngredient.tag(cnPalettesVariantEntry.materialTag), RecipeCategory.BUILDING_BLOCKS, + baseBlock)); + CreateNuclear.REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, p -> p.addTag(cnPalettesVariantEntry.materialTag) + .add(baseBlock.get() + .asItem())); + + this.registeredBlocks = registeredBlocks.build(); + this.registeredPartials = registeredPartials.build(); + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_0.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_0.png new file mode 100644 index 0000000000000000000000000000000000000000..a8fb45bedf1781bfa2f0f29a709ff01e31660c25 GIT binary patch literal 752 zcmVPx%s!2paR5*<#lF4pdRTu{A`_H+z2h+4WYFn`#FcM-7LWo74fHhl?cmg&^hz$~N zfp`zLWDOfO0Ynnv4D!%}?H=6jDfgc9v*;HnsY<1fzyHjC_~|Qx3`0nUVK@*JNU9j$ zjoE9pi7`+##PDiC2;!HYeNRCk zd~onSF^XsgPR-fy6{SS0G}`+e@+M$r6cOrN5rRQ>`n^5on-#;^h@v!1HN3nW;yCM^ znXhZ23L1M6YdFK@gzW}8-8~kI=}u0LheTc(vEC*;ILRGPPEOAC^o}g2a_4xjN7*is z!C-z1a$*%2&F=7!iHa~B4_Hpt$c>7OC*eTzoxsig9dRX`%5GoQi1Nt0Y;^vQRhx&=crk~!v%f-nVgosm0o zfkDvI76Ge*Nti93A#B+tL4c`jo}}no3*#{p}V{@Z~p;u_)d1m}Y*K0H0f%y@P-Kp_*Ky?#zv7QEYP zQ^*;uryOx#{)rm~vKGiJ_UIiX)Z zAaupsYsbliATF*h=yY04*9+VnNm!@TrqgS2d~iakh$-L+u9vqo>IS)3V={jK^9B9G zK4!b13eLmsA+cSSC>VpAA<03&V!6dKtX3Q3#($S@=pB??+>FSTm|QODKWsC)8xn)y zpT9?tGFi}lR1guh5~>X0WKTSK@)t4gf}Wi2;{XDE{^MiMmT=oWZZeQVC2}n!kZJe7 iIq5#(a*AdIIsXHZ=3Sr5S`P>S0000Px%%}GQ-R5*<-l1+LSD$vabatXU)pu}ti6|RVnV&}$5GSlGEwb5OBN{=Hi8%H^fxWhuARO_@ z_BDzPXcVEc3#ik2@k4$uLg61!Ak;t*QN{{pA*%5C_GM5I19LD1W0GJ9Pi7Br_u(17 zy?%`_j=P{j1O#K{i?~Ux2?7lMUqyfk;NS+a2ORPM{TIScD@IV%U{A132RGtj-F%V)*9`tCRdKG zkOCrxh*PQEOOlRA1_P3Q!V@<>!UT42L&Yq@oB80{PiH`47g_G$cwa R#peJ3002ovPDHLkV1j;hT&Dm4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_2.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5a353bc9b01d1fdbd8fd2bd53af67c6da1ea4dbc GIT binary patch literal 725 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 Date: Wed, 19 Mar 2025 16:59:23 +0100 Subject: [PATCH 10/40] Add configuration classes for reactor settings and world generation --- .../createnuclear/CreateNuclear.java | 3 + .../infrastructure/config/CExplose.java | 20 ++++++ .../infrastructure/config/CNCClient.java | 4 ++ .../infrastructure/config/CNCCommon.java | 20 ++++++ .../infrastructure/config/CNCServer.java | 4 ++ .../infrastructure/config/CNConfigs.java | 72 +++++++++++++++++++ .../infrastructure/config/CRods.java | 22 ++++++ .../infrastructure/config/CWorldGen.java | 16 +++++ 8 files changed, 161 insertions(+) create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CExplose.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCClient.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCCommon.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCServer.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNConfigs.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CRods.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CWorldGen.java diff --git a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java index d555f464..5becc7b4 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java +++ b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java @@ -23,6 +23,7 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.RegisterEvent; import net.nuclearteam.createnuclear.content.kinetics.fan.processing.CNFanProcessingTypes; +import net.nuclearteam.createnuclear.infrastructure.config.CNConfigs; import net.nuclearteam.createnuclear.infrastructure.data.CreateNuclearDatagen; import org.slf4j.Logger; @@ -63,6 +64,8 @@ public static void onInitialize() { CNFluids.register(); CNEntityType.register(); + CNConfigs.register(modLoadingContext); + CNCreativeModeTabs.register(modEventBus); CNEffects.register(modEventBus); CNPotions.register(modEventBus); diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CExplose.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CExplose.java new file mode 100644 index 00000000..1f271674 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CExplose.java @@ -0,0 +1,20 @@ +package net.nuclearteam.createnuclear.infrastructure.config; + +import net.createmod.catnip.config.ConfigBase; + +public class CExplose extends ConfigBase { + public final ConfigInt size = i(10, "Size of the reactor explosion"); + public final ConfigInt type = i(1, 0, 2, "Type of explosion", Comments.type); + public final ConfigInt time = i(600, 100, 1200, "Duration before exploration", Comments.explosionTime, Comments.hintExplosion); + + @Override + public String getName() { + return "Explosion Reactor"; + } + + private static class Comments { + static String explosionTime = "Create Nuclear Explosion Time"; + static String hintExplosion = "300 ticks = 15 seconds"; + static String type = "Explanation: 0 = no explosion, 1 = current explosion, 2 = new explosion."; + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCClient.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCClient.java new file mode 100644 index 00000000..0bbd8993 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCClient.java @@ -0,0 +1,4 @@ +package net.nuclearteam.createnuclear.infrastructure.config; + +public class CNCClient { +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCCommon.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCCommon.java new file mode 100644 index 00000000..cf642f72 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCCommon.java @@ -0,0 +1,20 @@ +package net.nuclearteam.createnuclear.infrastructure.config; + +import net.createmod.catnip.config.ConfigBase; + +public class CNCCommon extends ConfigBase { + public final CWorldGen worldGen = nested(0, CWorldGen::new, Comments.worldGen); + public final CRods rods = nested(0, CRods::new, Comments.rods); + public final CExplose explode = nested(0, CExplose::new, Comments.explode); + + @Override + public String getName() { + return "Common"; + } + + private static class Comments { + static String worldGen = "Modify CreateNuclear's impact on your terrain"; + static String rods = "Modify rods time and config"; + static String explode = "Explose: pas d'idée"; + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCServer.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCServer.java new file mode 100644 index 00000000..6192b4d5 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNCServer.java @@ -0,0 +1,4 @@ +package net.nuclearteam.createnuclear.infrastructure.config; + +public class CNCServer { +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNConfigs.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNConfigs.java new file mode 100644 index 00000000..6a3434a7 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CNConfigs.java @@ -0,0 +1,72 @@ +package net.nuclearteam.createnuclear.infrastructure.config; + +import net.createmod.catnip.config.ConfigBase; +import net.minecraftforge.common.ForgeConfigSpec; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.ModLoadingContext; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.fml.config.ModConfig; + +import net.minecraftforge.fml.event.config.ModConfigEvent; +import org.apache.commons.lang3.tuple.Pair; + +import java.util.EnumMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.function.Supplier; + +@EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD) +public class CNConfigs { + private static final Map CONFIGS = new EnumMap<>(ModConfig.Type.class); + + private static CNCClient client; + private static CNCCommon common; + private static CNCServer server; + + public static CNCCommon common() { + return common; + } + + public static ConfigBase byType(ModConfig.Type type) { + return CONFIGS.get(type); + } + + private static T register(Supplier factory, ModConfig.Type side) { + Pair specPair = new ForgeConfigSpec.Builder().configure(builder -> { + T config = factory.get(); + config.registerAll(builder); + return config; + }); + + T config = specPair.getLeft(); + config.specification = specPair.getRight(); + CONFIGS.put(side, config); + return config; + } + + public static void register(ModLoadingContext context) { + common = register(CNCCommon::new, ModConfig.Type.COMMON); + + for (Entry entry : CONFIGS.entrySet()) { + context.registerConfig(entry.getKey(), entry.getValue().specification); + } + } + + @SubscribeEvent + public static void onLoad(ModConfigEvent.Loading event) { + for (ConfigBase config : CONFIGS.values()) { + if (config.specification == event.getConfig().getSpec()) { + config.onLoad(); + } + } + } + + @SubscribeEvent + public static void onReload(ModConfigEvent.Reloading event) { + for (ConfigBase config : CONFIGS.values()) { + if (config.specification == event.getConfig().getSpec()) { + config.onReload(); + } + } + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CRods.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CRods.java new file mode 100644 index 00000000..947b9f43 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CRods.java @@ -0,0 +1,22 @@ +package net.nuclearteam.createnuclear.infrastructure.config; + +import net.createmod.catnip.config.ConfigBase; + +public class CRods extends ConfigBase { + public final ConfigInt uraniumRodLifetime = i(3600, 100, 5000, "Uranium rod lifespan", Comments.UraniumRodLifetime, Comments.hintTick); + public final ConfigInt graphiteRodLifetime = i(3600, 100, 5000, "Graphite rod lifespan", Comments.GraphiteRodLifetime, Comments.hintTick); + public final ConfigInt maxHeat = i(1000, 200, 1000, "Maximum reactor heat", Comments.maxHeat, Comments.hintHeat); + + @Override + public String getName() { + return "Rods"; + } + + private static class Comments { + static String hintTick = "20 ticks = 1 second"; + static String UraniumRodLifetime = "Uranium rod lifespan in reactor"; + static String GraphiteRodLifetime = "Graphite rod lifespan in reactor"; + static String maxHeat = "Maximum heat a reactor block can handle"; + static String hintHeat = "Avoids reactor failure due to excessive heat"; + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CWorldGen.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CWorldGen.java new file mode 100644 index 00000000..ea7de34e --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/config/CWorldGen.java @@ -0,0 +1,16 @@ +package net.nuclearteam.createnuclear.infrastructure.config; + +import net.createmod.catnip.config.ConfigBase; + +public class CWorldGen extends ConfigBase { + public final ConfigBool disable = b(false, "disableWorldGen", Comments.disable); + + @Override + public String getName() { + return "worldGen"; + } + + private static class Comments { + static String disable = "Prevents all worldgen added by Create from taking effect"; + } +} From 0d017d9c9f2c0be204b386a1feb45a9fcc99a839 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Thu, 27 Mar 2025 13:48:19 +0100 Subject: [PATCH 11/40] main: Updated change version mod --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 7946ca56..120f790b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -69,7 +69,7 @@ mod_name=Create Nuclear # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=All Rights Reserved # The mod version. See https://semver.org/ -mod_version=1.2.1 +mod_version=1.2.2 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html From cd0654244b65b81c468fc3195886e4009604eef6 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sun, 6 Apr 2025 16:48:04 +0200 Subject: [PATCH 12/40] CNPalettesStoneTypes: Updated --- .../foundation/block/CNPaletteBlock.java | 11 - .../block/CNPaletteBlockPatten.java | 252 ----------------- .../block/CNPaletteBlockpartial.java | 267 ------------------ .../block/CNPalettesStoneTypes.java | 61 ---- .../block/CNPalettesVariantEntry.java | 83 ------ 5 files changed, 674 deletions(-) delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlock.java delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockPatten.java delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockpartial.java delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesStoneTypes.java delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesVariantEntry.java diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlock.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlock.java deleted file mode 100644 index 6685205f..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlock.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.block; - -import net.nuclearteam.createnuclear.CreateNuclear; - -public class CNPaletteBlock { - static { - CNPalettesStoneTypes.register(CreateNuclear.REGISTRATE); - } - - public static void register() {} -} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockPatten.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockPatten.java deleted file mode 100644 index 2140a010..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockPatten.java +++ /dev/null @@ -1,252 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.block; - -import com.simibubi.create.Create; -import com.simibubi.create.content.decoration.palettes.ConnectedPillarBlock; -import com.simibubi.create.foundation.block.connected.*; -import com.tterrag.registrate.providers.DataGenContext; -import com.tterrag.registrate.providers.RegistrateBlockstateProvider; -import com.tterrag.registrate.providers.RegistrateRecipeProvider; -import com.tterrag.registrate.util.nullness.NonNullBiConsumer; -import com.tterrag.registrate.util.nullness.NonNullFunction; -import com.tterrag.registrate.util.nullness.NonNullSupplier; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.core.Direction; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - -import java.util.Optional; -import java.util.function.Function; -import java.util.function.Supplier; - - -public class CNPaletteBlockPatten { - - public static final CNPaletteBlockPatten - CUT = create("cut", PatternNameType.PREFIX, CNPaletteBlockpartial.ALL_PARTIALS), - BRICKS = create("cut_bricks", PatternNameType.WRAP, CNPaletteBlockpartial.ALL_PARTIALS).textures("brick"), - SMALL_BRICKS = create("small_bricks", PatternNameType.WRAP, CNPaletteBlockpartial.ALL_PARTIALS).textures("small_brick"), - POLISHED = create("polished_cut", PatternNameType.SUFFIX, CNPaletteBlockpartial.ALL_PARTIALS).textures("polished", "slab"), - LAYERED = create("layered", PatternNameType.SUFFIX).blockStateFactory(p -> p::cubeColumn) - .textures("layered", "cap") - .connectedTextures(v -> new HorizontalCTBehaviour(ct(v, CNPaletteBlockPatten.CTs.LAYERED), ct(v, CNPaletteBlockPatten.CTs.CAP))), - PILLAR = create("pillar", PatternNameType.SUFFIX).blockStateFactory(p -> p::pillar) - .block(ConnectedPillarBlock::new) - .textures("pillar", "cap") - .connectedTextures(v -> new RotatedPillarCTBehaviour(ct(v, CNPaletteBlockPatten.CTs.PILLAR), ct(v, CNPaletteBlockPatten.CTs.CAP))) - ; - - public static final CNPaletteBlockPatten[] VANILLA_RANGE = { CUT, POLISHED, BRICKS, SMALL_BRICKS, LAYERED, PILLAR }; - - public static final CNPaletteBlockPatten[] STANDARD_RANGE = { CUT, POLISHED, BRICKS, SMALL_BRICKS, LAYERED, PILLAR }; - - static final String TEXTURE_LOCATION = "block/palettes/stone_types/%s/%s"; - - private PatternNameType nameType; - private String[] textures; - private String id; - private boolean isTranslucent; - private TagKey[] blockTags; - private TagKey[] itemTags; - private Optional> ctFactory; - - private IPatternBlockStateGenerator blockStateGenerator; - private NonNullFunction blockFactory; - private NonNullFunction, NonNullBiConsumer, RegistrateRecipeProvider>> additionalRecipes; - private CNPaletteBlockpartial[] partials; - - @OnlyIn(Dist.CLIENT) - private RenderType renderType; - - private static CNPaletteBlockPatten create(String name, PatternNameType nameType, - CNPaletteBlockpartial... partials) { - CNPaletteBlockPatten pattern = new CNPaletteBlockPatten(); - pattern.id = name; - pattern.ctFactory = Optional.empty(); - pattern.nameType = nameType; - pattern.partials = partials; - pattern.additionalRecipes = $ -> NonNullBiConsumer.noop(); - pattern.isTranslucent = false; - pattern.blockFactory = Block::new; - pattern.textures = new String[] { name }; - pattern.blockStateGenerator = p -> p::cubeAll; - return pattern; - } - - public IPatternBlockStateGenerator getBlockStateGenerator() { - return blockStateGenerator; - } - - public boolean isTranslucent() { - return isTranslucent; - } - - public TagKey[] getBlockTags() { - return blockTags; - } - - public TagKey[] getItemTags() { - return itemTags; - } - public NonNullFunction getBlockFactory() { - return blockFactory; - } - - public CNPaletteBlockpartial[] getPartials() { - return partials; - } - public String getTexture(int index) { - return textures[index]; - } - - public void addRecipes(NonNullSupplier baseBlock, DataGenContext c, - RegistrateRecipeProvider p) { - additionalRecipes.apply(baseBlock) - .accept(c, p); - } - - public Optional> createCTBehaviour(String variant) { - return ctFactory.map(d -> () -> d.apply(variant)); - } - - // Builder - - private CNPaletteBlockPatten blockStateFactory(IPatternBlockStateGenerator factory) { - blockStateGenerator = factory; - return this; - } - - private CNPaletteBlockPatten textures(String... textures) { - this.textures = textures; - return this; - } - - private CNPaletteBlockPatten block(NonNullFunction blockFactory) { - this.blockFactory = blockFactory; - return this; - } - - private CNPaletteBlockPatten connectedTextures(Function factory) { - this.ctFactory = Optional.of(factory); - return this; - } - - // Model generators - - public CNPaletteBlockPatten.IBlockStateProvider cubeAll(String variant) { - ResourceLocation all = toLocation(variant, textures[0]); - return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() - .cubeAll(createName(variant), all)); - } - - public CNPaletteBlockPatten.IBlockStateProvider cubeBottomTop(String variant) { - ResourceLocation side = toLocation(variant, textures[0]); - ResourceLocation bottom = toLocation(variant, textures[1]); - ResourceLocation top = toLocation(variant, textures[2]); - return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() - .cubeBottomTop(createName(variant), side, bottom, top)); - } - - public CNPaletteBlockPatten.IBlockStateProvider pillar(String variant) { - ResourceLocation side = toLocation(variant, textures[0]); - ResourceLocation end = toLocation(variant, textures[1]); - - return (ctx, prov) -> prov.getVariantBuilder(ctx.getEntry()) - .forAllStatesExcept(state -> { - Direction.Axis axis = state.getValue(BlockStateProperties.AXIS); - if (axis == Direction.Axis.Y) - return net.minecraftforge.client.model.generators.ConfiguredModel.builder() - .modelFile(prov.models() - .cubeColumn(createName(variant), side, end)) - .uvLock(false) - .build(); - return net.minecraftforge.client.model.generators.ConfiguredModel.builder() - .modelFile(prov.models() - .cubeColumnHorizontal(createName(variant) + "_horizontal", side, end)) - .uvLock(false) - .rotationX(90) - .rotationY(axis == Direction.Axis.X ? 90 : 0) - .build(); - }, BlockStateProperties.WATERLOGGED, ConnectedPillarBlock.NORTH, ConnectedPillarBlock.SOUTH, - ConnectedPillarBlock.EAST, ConnectedPillarBlock.WEST); - } - - public CNPaletteBlockPatten.IBlockStateProvider cubeColumn(String variant) { - ResourceLocation side = toLocation(variant, textures[0]); - ResourceLocation end = toLocation(variant, textures[1]); - return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() - .cubeColumn(createName(variant), side, end)); - } - - // Utility - - public String createName(String variant) { - if (nameType == PatternNameType.WRAP) { - String[] split = id.split("_"); - if (split.length == 2) { - String formatString = "%s_%s_%s"; - return String.format(formatString, split[0], variant, split[1]); - } - } - String formatString = "%s_%s"; - return nameType == PatternNameType.SUFFIX ? String.format(formatString, variant, id) : String.format(formatString, id, variant); - } - - public static ResourceLocation toLocation(String variant, String texture) { - return Create.asResource( - String.format(TEXTURE_LOCATION, texture, variant + (texture.equals("cut") ? "_" : "_cut_") + texture)); - } - - protected static CTSpriteShiftEntry ct(String variant, CNPaletteBlockPatten.CTs texture) { - ResourceLocation resLoc = texture.srcFactory.apply(variant); - ResourceLocation resLocTarget = texture.targetFactory.apply(variant); - return CTSpriteShifter.getCT(texture.type, resLoc, - new ResourceLocation(resLocTarget.getNamespace(), resLocTarget.getPath() + "_connected")); - } - - @FunctionalInterface - static interface IPatternBlockStateGenerator - extends Function> { - } - - @FunctionalInterface - static interface IBlockStateProvider - extends NonNullBiConsumer, RegistrateBlockstateProvider> { - } - - enum PatternNameType { - PREFIX, SUFFIX, WRAP - } - - // Textures with connectability, used by Spriteshifter - - public enum CTs { - - PILLAR(AllCTTypes.RECTANGLE, s -> toLocation(s, "pillar")), - CAP(AllCTTypes.OMNIDIRECTIONAL, s -> toLocation(s, "cap")), - LAYERED(AllCTTypes.HORIZONTAL_KRYPPERS, s -> toLocation(s, "layered")) - - ; - - public CTType type; - private Function srcFactory; - private Function targetFactory; - - private CTs(CTType type, Function factory) { - this(type, factory, factory); - } - - private CTs(CTType type, Function srcFactory, - Function targetFactory) { - this.type = type; - this.srcFactory = srcFactory; - this.targetFactory = targetFactory; - } - - } -} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockpartial.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockpartial.java deleted file mode 100644 index bd9a5c86..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPaletteBlockpartial.java +++ /dev/null @@ -1,267 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.block; - -import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; - -import java.util.Arrays; -import java.util.function.Supplier; -import net.minecraft.data.recipes.RecipeCategory; -import net.minecraft.data.recipes.ShapedRecipeBuilder; -import net.minecraft.data.recipes.ShapelessRecipeBuilder; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.ItemTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.SlabBlock; -import net.minecraft.world.level.block.StairBlock; -import net.minecraft.world.level.block.WallBlock; -import net.minecraft.world.level.block.state.BlockBehaviour.Properties; -import com.simibubi.create.Create; -import com.simibubi.create.foundation.data.CreateRegistrate; -import com.tterrag.registrate.builders.BlockBuilder; -import com.tterrag.registrate.builders.ItemBuilder; -import com.tterrag.registrate.providers.DataGenContext; -import com.tterrag.registrate.providers.RegistrateBlockstateProvider; -import com.tterrag.registrate.providers.RegistrateRecipeProvider; -import com.tterrag.registrate.util.DataIngredient; -import com.tterrag.registrate.util.entry.BlockEntry; -import com.tterrag.registrate.util.nullness.NonnullType; - -import net.minecraftforge.client.model.generators.ModelFile; -import net.nuclearteam.createnuclear.CreateNuclear; -import net.nuclearteam.createnuclear.foundation.utility.CreateNuclearLang; - -public abstract class CNPaletteBlockpartial { - - public static final CNPaletteBlockpartial STAIR = new Stairs(); - public static final CNPaletteBlockpartial SLAB = new Slab(false); - public static final CNPaletteBlockpartial UNIQUE_SLAB = new Slab(true); - public static final CNPaletteBlockpartial WALL = new Wall(); - - public static final CNPaletteBlockpartial[] ALL_PARTIALS = { STAIR, SLAB, WALL }; - public static final CNPaletteBlockpartial[] FOR_POLISHED = { STAIR, UNIQUE_SLAB, WALL }; - - private String name; - - private CNPaletteBlockpartial(String name) { - this.name = name; - } - - public @NonnullType BlockBuilder create(String variantName, CNPaletteBlockPatten pattern, - BlockEntry block, CNPalettesStoneTypes variant) { - String patternName = CreateNuclearLang.nonPluralId(pattern.createName(variantName)); - String blockName = patternName + "_" + this.name; - - BlockBuilder blockBuilder = CreateNuclear.REGISTRATE - .block(blockName, p -> createBlock(block)) - .blockstate((c, p) -> generateBlockState(c, p, variantName, pattern, block)) - .recipe((c, p) -> createRecipes(variant, block, c, p)) - .transform(b -> transformBlock(b, variantName, pattern)); - - ItemBuilder> itemBuilder = blockBuilder.item() - .transform(b -> transformItem(b, variantName, pattern)); - - if (canRecycle()) - itemBuilder.tag(variant.materialTag); - - return itemBuilder.build(); - } - - protected ResourceLocation getTexture(String variantName, CNPaletteBlockPatten pattern, int index) { - return CNPaletteBlockPatten.toLocation(variantName, pattern.getTexture(index)); - } - - protected BlockBuilder transformBlock(BlockBuilder builder, - String variantName, CNPaletteBlockPatten pattern) { - getBlockTags().forEach(builder::tag); - return builder.transform(pickaxeOnly()); - } - - protected ItemBuilder> transformItem( - ItemBuilder> builder, String variantName, - CNPaletteBlockPatten pattern) { - getItemTags().forEach(builder::tag); - return builder; - } - - protected boolean canRecycle() { - return true; - } - - protected abstract Iterable> getBlockTags(); - protected abstract Iterable> getItemTags(); - - protected abstract B createBlock(Supplier block); - - protected abstract void createRecipes(CNPalettesStoneTypes type, BlockEntry patternBlock, DataGenContext c, - RegistrateRecipeProvider p); - - protected abstract void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, - String variantName, CNPaletteBlockPatten pattern, Supplier block); - - private static class Stairs extends CNPaletteBlockpartial { - - public Stairs() { - super("stairs"); - } - - @Override - protected StairBlock createBlock(Supplier block) { - return new StairBlock(block.get().defaultBlockState(), Properties.copy(block.get())); - } - - @Override - protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, - String variantName, CNPaletteBlockPatten pattern, Supplier block) { - prov.stairsBlock(ctx.get(), getTexture(variantName, pattern, 0)); - } - - @Override - protected Iterable> getBlockTags() { - return Arrays.asList(BlockTags.STAIRS); - } - - @Override - protected Iterable> getItemTags() { - return Arrays.asList(ItemTags.STAIRS); - } - - @Override - protected void createRecipes(CNPalettesStoneTypes type, BlockEntry patternBlock, - DataGenContext c, RegistrateRecipeProvider p) { - RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; - p.stairs(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); - p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); - } - - } - - private static class Slab extends CNPaletteBlockpartial { - - private boolean customSide; - - public Slab(boolean customSide) { - super("slab"); - this.customSide = customSide; - } - - @Override - protected SlabBlock createBlock(Supplier block) { - return new SlabBlock(Properties.copy(block.get())); - } - - @Override - protected boolean canRecycle() { - return false; - } - - @Override - protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, - String variantName, CNPaletteBlockPatten pattern, Supplier block) { - String name = ctx.getName(); - ResourceLocation mainTexture = getTexture(variantName, pattern, 0); - ResourceLocation sideTexture = customSide ? getTexture(variantName, pattern, 1) : mainTexture; - - ModelFile bottom = prov.models() - .slab(name, sideTexture, mainTexture, mainTexture); - ModelFile top = prov.models() - .slabTop(name + "_top", sideTexture, mainTexture, mainTexture); - ModelFile doubleSlab; - - if (customSide) { - doubleSlab = prov.models() - .cubeColumn(name + "_double", sideTexture, mainTexture); - } else { - doubleSlab = prov.models() - .getExistingFile(prov.modLoc(pattern.createName(variantName))); - } - - prov.slabBlock(ctx.get(), bottom, top, doubleSlab); - } - - @Override - protected Iterable> getBlockTags() { - return Arrays.asList(BlockTags.SLABS); - } - - @Override - protected Iterable> getItemTags() { - return Arrays.asList(ItemTags.SLABS); - } - - @Override - protected void createRecipes(CNPalettesStoneTypes type, BlockEntry patternBlock, - DataGenContext c, RegistrateRecipeProvider p) { - RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; - p.slab(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); - p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 2); - DataIngredient ingredient = DataIngredient.items(c.get()); - ShapelessRecipeBuilder.shapeless(category, patternBlock.get()) - .requires(ingredient) - .requires(ingredient) - .unlockedBy("has_" + c.getName(), ingredient.getCritereon(p)) - .save(p, Create.ID + ":" + c.getName() + "_recycling"); - } - - @Override - protected BlockBuilder transformBlock( - BlockBuilder builder, - String variantName, CNPaletteBlockPatten pattern) { - builder.loot((lt, block) -> lt.add(block, lt.createSlabItemTable(block))); - return super.transformBlock(builder, variantName, pattern); - } - - } - - private static class Wall extends CNPaletteBlockpartial { - - public Wall() { - super("wall"); - } - - @Override - protected WallBlock createBlock(Supplier block) { - return new WallBlock(Properties.copy(block.get()).forceSolidOn()); - } - - @Override - protected ItemBuilder> transformItem( - ItemBuilder> builder, String variantName, - CNPaletteBlockPatten pattern) { - builder.model((c, p) -> p.wallInventory(c.getName(), getTexture(variantName, pattern, 0))); - return super.transformItem(builder, variantName, pattern); - } - - @Override - protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, - String variantName, CNPaletteBlockPatten pattern, Supplier block) { - prov.wallBlock(ctx.get(), pattern.createName(variantName), getTexture(variantName, pattern, 0)); - } - - @Override - protected Iterable> getBlockTags() { - return Arrays.asList(BlockTags.WALLS); - } - - @Override - protected Iterable> getItemTags() { - return Arrays.asList(ItemTags.WALLS); - } - - @Override - protected void createRecipes(CNPalettesStoneTypes type, BlockEntry patternBlock, - DataGenContext c, RegistrateRecipeProvider p) { - RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; - p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); - DataIngredient ingredient = DataIngredient.items(patternBlock.get()); - ShapedRecipeBuilder.shaped(category, c.get(), 6) - .pattern("XXX") - .pattern("XXX") - .define('X', ingredient) - .unlockedBy("has_" + p.safeName(ingredient), ingredient.getCritereon(p)) - .save(p, p.safeId(c.get())); - } - } -} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesStoneTypes.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesStoneTypes.java deleted file mode 100644 index 24302e3b..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesStoneTypes.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.block; - -import com.simibubi.create.AllTags; -import com.simibubi.create.Create; -import com.simibubi.create.foundation.data.CreateRegistrate; -import com.tterrag.registrate.util.nullness.NonNullSupplier; -import net.createmod.catnip.lang.Lang; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.MapColor; -import net.minecraftforge.registries.ForgeRegistries; -import net.nuclearteam.createnuclear.CNTags; -import net.nuclearteam.createnuclear.CreateNuclear; - -import java.util.function.Function; - -public enum CNPalettesStoneTypes { - AUTUNITE(CNPaletteBlockPatten.STANDARD_RANGE, r -> r.paletteStoneBlock("asurine", () -> Blocks.DEEPSLATE, true, true) - .properties(p -> p.destroyTime(1.25f) - .mapColor(MapColor.COLOR_GREEN)) - .register()), - ; - - - private Function> factory; - private CNPalettesVariantEntry variants; - - public NonNullSupplier baseBlock; - public final CNPaletteBlockPatten[] variantTypes; - public TagKey materialTag; - - private CNPalettesStoneTypes(CNPaletteBlockPatten[] variantTypes, - Function> factory) { - this.factory = factory; - this.variantTypes = variantTypes; - } - - public NonNullSupplier getBaseBlock() { - return baseBlock; - } - - public CNPalettesVariantEntry getVariants() { - return variants; - } - - public static void register(CreateRegistrate registrate) { - for (CNPalettesStoneTypes paletteStoneVariants : values()) { - NonNullSupplier baseBlock = paletteStoneVariants.factory.apply(registrate); - paletteStoneVariants.baseBlock = baseBlock; - String id = Lang.asId(paletteStoneVariants.name()); - paletteStoneVariants.materialTag = - CNTags.optionalTag(ForgeRegistries.ITEMS, CreateNuclear.asResource("stone_types/" + id)); - paletteStoneVariants.variants = new CNPalettesVariantEntry(id, paletteStoneVariants); - } - } - - -} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesVariantEntry.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesVariantEntry.java deleted file mode 100644 index 05fcf240..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/block/CNPalettesVariantEntry.java +++ /dev/null @@ -1,83 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.block; - -import com.google.common.collect.ImmutableList; -import com.simibubi.create.Create; -import com.simibubi.create.foundation.data.CreateRegistrate; -import com.tterrag.registrate.builders.BlockBuilder; -import com.tterrag.registrate.builders.ItemBuilder; -import com.tterrag.registrate.providers.ProviderType; -import com.tterrag.registrate.util.DataIngredient; -import com.tterrag.registrate.util.entry.BlockEntry; -import com.tterrag.registrate.util.nullness.NonNullSupplier; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.data.recipes.RecipeCategory; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; -import net.nuclearteam.createnuclear.CreateNuclear; - -import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures; -import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; - -public class CNPalettesVariantEntry { - public final ImmutableList> registeredBlocks; - public final ImmutableList> registeredPartials; - - public CNPalettesVariantEntry(String name, CNPalettesStoneTypes cnPalettesVariantEntry) { - ImmutableList.Builder> registeredBlocks = ImmutableList.builder(); - ImmutableList.Builder> registeredPartials = ImmutableList.builder(); - NonNullSupplier baseBlock = cnPalettesVariantEntry.baseBlock; - - for (CNPaletteBlockPatten pattern : cnPalettesVariantEntry.variantTypes) { - BlockBuilder builder = - CreateNuclear.REGISTRATE.block(pattern.createName(name), pattern.getBlockFactory()) - .initialProperties(baseBlock) - .transform(pickaxeOnly()) - .blockstate(pattern.getBlockStateGenerator() - .apply(pattern) - .apply(name)::accept); - - ItemBuilder> itemBuilder = - builder.item(); - - TagKey[] blockTags = pattern.getBlockTags(); - if (blockTags != null) - builder.tag(blockTags); - TagKey[] itemTags = pattern.getItemTags(); - if (itemTags != null) - itemBuilder.tag(itemTags); - - itemBuilder.tag(cnPalettesVariantEntry.materialTag); - - if (pattern.isTranslucent()) - builder.addLayer(() -> RenderType::translucent); - pattern.createCTBehaviour(name) - .ifPresent(b -> builder.onRegister(connectedTextures(b))); - - builder.recipe((c, p) -> { - p.stonecutting(DataIngredient.tag(cnPalettesVariantEntry.materialTag), RecipeCategory.BUILDING_BLOCKS, c); - pattern.addRecipes(baseBlock, c, p); - }); - - itemBuilder.register(); - BlockEntry block = builder.register(); - registeredBlocks.add(block); - - for (CNPaletteBlockpartial partialBlock : pattern.getPartials()) - registeredPartials.add(partialBlock.create(name, pattern, block, cnPalettesVariantEntry) - .register()); - } - - CreateNuclear.REGISTRATE.addDataGenerator(ProviderType.RECIPE, - p -> p.stonecutting(DataIngredient.tag(cnPalettesVariantEntry.materialTag), RecipeCategory.BUILDING_BLOCKS, - baseBlock)); - CreateNuclear.REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, p -> p.addTag(cnPalettesVariantEntry.materialTag) - .add(baseBlock.get() - .asItem())); - - this.registeredBlocks = registeredBlocks.build(); - this.registeredPartials = registeredPartials.build(); - } - -} \ No newline at end of file From 1ed74276716c90c3c0d39f0d0004db436e94a7bf Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sun, 6 Apr 2025 16:48:22 +0200 Subject: [PATCH 13/40] CNPalettesStoneTypes: Updated --- .../3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 190 ++++++++++++- .../createnuclear/blockstates/autunite.json | 18 ++ .../blockstates/autunite_pillar.json | 16 ++ .../blockstates/cut_autunite.json | 7 + .../blockstates/cut_autunite_brick_slab.json | 13 + .../cut_autunite_brick_stairs.json | 209 ++++++++++++++ .../blockstates/cut_autunite_brick_wall.json | 90 ++++++ .../blockstates/cut_autunite_bricks.json | 7 + .../blockstates/cut_autunite_slab.json | 13 + .../blockstates/cut_autunite_stairs.json | 209 ++++++++++++++ .../blockstates/cut_autunite_wall.json | 90 ++++++ .../blockstates/layered_autunite.json | 7 + .../blockstates/polished_cut_autunite.json | 7 + .../polished_cut_autunite_slab.json | 13 + .../polished_cut_autunite_stairs.json | 209 ++++++++++++++ .../polished_cut_autunite_wall.json | 90 ++++++ .../blockstates/small_autunite_brick.json | 7 + .../small_autunite_brick_slab.json | 13 + .../small_autunite_brick_stairs.json | 209 ++++++++++++++ .../small_autunite_brick_wall.json | 90 ++++++ .../assets/createnuclear/lang/en_ud.json | 19 ++ .../assets/createnuclear/lang/en_us.json | 19 ++ .../models/block/autunite_natural_0.json | 6 + .../models/block/autunite_natural_1.json | 6 + .../models/block/autunite_natural_2.json | 6 + .../models/block/autunite_natural_3.json | 6 + .../models/block/autunite_pillar.json | 7 + .../block/autunite_pillar_horizontal.json | 7 + .../models/block/cut_autunite.json | 6 + .../models/block/cut_autunite_brick_slab.json | 8 + .../block/cut_autunite_brick_slab_top.json | 8 + .../block/cut_autunite_brick_stairs.json | 8 + .../cut_autunite_brick_stairs_inner.json | 8 + .../cut_autunite_brick_stairs_outer.json | 8 + .../models/block/cut_autunite_bricks.json | 6 + .../block/cut_autunite_bricks_wall_post.json | 6 + .../block/cut_autunite_bricks_wall_side.json | 6 + .../cut_autunite_bricks_wall_side_tall.json | 6 + .../models/block/cut_autunite_slab.json | 8 + .../models/block/cut_autunite_slab_top.json | 8 + .../models/block/cut_autunite_stairs.json | 8 + .../block/cut_autunite_stairs_inner.json | 8 + .../block/cut_autunite_stairs_outer.json | 8 + .../models/block/cut_autunite_wall_post.json | 6 + .../models/block/cut_autunite_wall_side.json | 6 + .../block/cut_autunite_wall_side_tall.json | 6 + .../models/block/layered_autunite.json | 7 + .../models/block/polished_cut_autunite.json | 6 + .../block/polished_cut_autunite_slab.json | 8 + .../polished_cut_autunite_slab_double.json | 7 + .../block/polished_cut_autunite_slab_top.json | 8 + .../block/polished_cut_autunite_stairs.json | 8 + .../polished_cut_autunite_stairs_inner.json | 8 + .../polished_cut_autunite_stairs_outer.json | 8 + .../polished_cut_autunite_wall_post.json | 6 + .../polished_cut_autunite_wall_side.json | 6 + .../polished_cut_autunite_wall_side_tall.json | 6 + .../models/block/small_autunite_brick.json | 6 + .../block/small_autunite_brick_slab.json | 8 + .../block/small_autunite_brick_slab_top.json | 8 + .../block/small_autunite_brick_stairs.json | 8 + .../small_autunite_brick_stairs_inner.json | 8 + .../small_autunite_brick_stairs_outer.json | 8 + .../block/small_autunite_brick_wall_post.json | 6 + .../block/small_autunite_brick_wall_side.json | 6 + .../small_autunite_brick_wall_side_tall.json | 6 + .../createnuclear/models/item/autunite.json | 6 + .../models/item/autunite_pillar.json | 3 + .../models/item/cut_autunite.json | 3 + .../models/item/cut_autunite_brick_slab.json | 3 + .../item/cut_autunite_brick_stairs.json | 3 + .../models/item/cut_autunite_brick_wall.json | 6 + .../models/item/cut_autunite_bricks.json | 3 + .../models/item/cut_autunite_slab.json | 3 + .../models/item/cut_autunite_stairs.json | 3 + .../models/item/cut_autunite_wall.json | 6 + .../models/item/layered_autunite.json | 3 + .../models/item/polished_cut_autunite.json | 3 + .../item/polished_cut_autunite_slab.json | 3 + .../item/polished_cut_autunite_stairs.json | 3 + .../item/polished_cut_autunite_wall.json | 6 + .../models/item/small_autunite_brick.json | 3 + .../item/small_autunite_brick_slab.json | 3 + .../item/small_autunite_brick_stairs.json | 3 + .../item/small_autunite_brick_wall.json | 6 + .../cut_deepslate_brick_slab_recycling.json | 35 --- ...deepslate_polished_cut_slab_recycling.json | 35 --- .../small_deepslate_brick_slab_recycling.json | 35 --- .../autunite_polished_cut_slab_recycling.json | 15 - .../cut_deepslate_brick_slab_recycling.json | 15 - .../recipes/cut_deepslate_slab_recycling.json | 15 - ...deepslate_polished_cut_slab_recycling.json | 15 - .../small_deepslate_brick_slab_recycling.json | 15 - ...om_stone_types_autunite_stonecutting.json} | 4 +- .../autunite_polished_cut_stairs.json | 35 --- .../cut_autunite_brick_slab_recycling.json | 4 +- .../cut_autunite_slab_recycling.json | 4 +- .../cut_deepslate_brick_slab.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../cut_deepslate_brick_stairs.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../cut_deepslate_brick_wall.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../building_blocks/cut_deepslate_slab.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../building_blocks/cut_deepslate_stairs.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../building_blocks/cut_deepslate_wall.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../deepslate_polished_cut_slab.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../deepslate_polished_cut_stairs.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../deepslate_polished_cut_wall.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- ...om_stone_types_autunite_stonecutting.json} | 4 +- ...om_stone_types_autunite_stonecutting.json} | 4 +- ...b.json => polished_cut_autunite_slab.json} | 10 +- ...om_stone_types_autunite_stonecutting.json} | 4 +- ...polished_cut_autunite_slab_recycling.json} | 10 +- .../polished_cut_autunite_stairs.json} | 10 +- ...om_stone_types_autunite_stonecutting.json} | 4 +- ...l.json => polished_cut_autunite_wall.json} | 10 +- ...om_stone_types_autunite_stonecutting.json} | 4 +- ...om_stone_types_autunite_stonecutting.json} | 4 +- .../small_autunite_brick_slab.json | 6 +- .../small_autunite_brick_slab_recycling.json | 4 +- .../small_autunite_brick_stairs.json | 6 +- .../small_autunite_brick_wall.json | 6 +- .../small_deepslate_brick_slab.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../small_deepslate_brick_stairs.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../small_deepslate_brick_wall.json | 35 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- ...om_stone_types_deepslate_stonecutting.json | 33 --- .../blocks/{asurine.json => autunite.json} | 4 +- .../blocks/autunite_polished_cut.json | 21 -- .../blocks/autunite_polished_cut_stairs.json | 21 -- .../blocks/autunite_polished_cut_wall.json | 21 -- .../loot_tables/blocks/cut_deepslate.json | 21 -- .../blocks/cut_deepslate_brick_slab.json | 35 --- .../blocks/cut_deepslate_brick_stairs.json | 21 -- .../blocks/cut_deepslate_brick_wall.json | 21 -- .../blocks/cut_deepslate_bricks.json | 21 -- .../blocks/cut_deepslate_slab.json | 35 --- .../blocks/cut_deepslate_wall.json | 21 -- .../loot_tables/blocks/deepslate_layered.json | 21 -- .../loot_tables/blocks/deepslate_pillar.json | 21 -- .../blocks/deepslate_polished_cut.json | 21 -- .../blocks/deepslate_polished_cut_slab.json | 35 --- .../blocks/deepslate_polished_cut_stairs.json | 21 -- .../blocks/deepslate_polished_cut_wall.json | 21 -- ...ite_layered.json => layered_autunite.json} | 4 +- ...bricks.json => polished_cut_autunite.json} | 4 +- ...b.json => polished_cut_autunite_slab.json} | 6 +- ...json => polished_cut_autunite_stairs.json} | 4 +- ...l.json => polished_cut_autunite_wall.json} | 4 +- ..._stairs.json => small_autunite_brick.json} | 4 +- .../blocks/small_deepslate_brick_slab.json | 35 --- .../blocks/small_deepslate_bricks.json | 21 -- ...om_stone_types_autunite_stonecutting.json} | 2 +- .../recipes/autunite_polished_cut_stairs.json | 20 -- .../recipes/autunite_polished_cut_wall.json | 18 -- .../cut_autunite_brick_slab_recycling.json | 0 .../recipes/cut_autunite_slab_recycling.json | 0 .../recipes/cut_deepslate_brick_slab.json | 18 -- ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - .../recipes/cut_deepslate_slab.json | 18 -- ...om_stone_types_deepslate_stonecutting.json | 8 - .../recipes/cut_deepslate_stairs.json | 20 -- ...om_stone_types_deepslate_stonecutting.json | 8 - .../recipes/cut_deepslate_wall.json | 18 -- ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - .../recipes/deepslate_polished_cut_slab.json | 18 -- ...om_stone_types_deepslate_stonecutting.json | 8 - .../deepslate_polished_cut_stairs.json | 20 -- ...om_stone_types_deepslate_stonecutting.json | 8 - .../recipes/deepslate_polished_cut_wall.json | 18 -- ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_autunite_stonecutting.json} | 2 +- ...om_stone_types_autunite_stonecutting.json} | 2 +- ...b.json => polished_cut_autunite_slab.json} | 6 +- ...om_stone_types_autunite_stonecutting.json} | 2 +- .../polished_cut_autunite_slab_recycling.json | 15 + ...json => polished_cut_autunite_stairs.json} | 6 +- ...om_stone_types_autunite_stonecutting.json} | 2 +- ...l.json => polished_cut_autunite_wall.json} | 4 +- ...om_stone_types_autunite_stonecutting.json} | 2 +- ...om_stone_types_autunite_stonecutting.json} | 2 +- .../recipes/small_autunite_brick_slab.json | 2 +- .../small_autunite_brick_slab_recycling.json | 2 +- .../recipes/small_autunite_brick_stairs.json | 2 +- .../recipes/small_autunite_brick_wall.json | 2 +- .../recipes/small_deepslate_brick_slab.json | 18 -- ...om_stone_types_deepslate_stonecutting.json | 8 - .../recipes/small_deepslate_brick_stairs.json | 20 -- ...om_stone_types_deepslate_stonecutting.json | 8 - .../recipes/small_deepslate_brick_wall.json | 18 -- ...om_stone_types_deepslate_stonecutting.json | 8 - ...om_stone_types_deepslate_stonecutting.json | 8 - .../tags/items/stone_types/autunite.json | 12 +- .../tags/items/stone_types/deepslate.json | 19 -- .../tags/blocks/azalea_root_replaceable.json | 2 +- .../blocks/dripstone_replaceable_blocks.json | 2 +- .../tags/blocks/lush_ground_replaceable.json | 2 +- .../tags/blocks/mineable/pickaxe.json | 14 +- .../tags/blocks/moss_replaceable.json | 2 +- .../data/minecraft/tags/blocks/slabs.json | 4 +- .../data/minecraft/tags/blocks/stairs.json | 4 +- .../data/minecraft/tags/blocks/walls.json | 4 +- .../data/minecraft/tags/items/slabs.json | 4 +- .../data/minecraft/tags/items/stairs.json | 4 +- .../data/minecraft/tags/items/walls.json | 4 +- .../createnuclear/CreateNuclear.java | 4 +- .../decoration/palettes/CNPaletteBlocks.java | 18 ++ .../palettes/CNPaletteStoneTypes.java | 56 ++++ .../palettes/PaletteBlockPartial.java | 267 ++++++++++++++++++ .../palettes/PaletteBlockPattern.java | 248 ++++++++++++++++ .../palettes/PalettesVariantEntry.java | 83 ++++++ .../worldgen/CNLayerPatterns.java | 4 + .../alternatives/autunite_cut_basketweave.png | Bin 0 -> 495 bytes .../alternatives/autunite_cut_bond.png | Bin 0 -> 496 bytes .../alternatives/autunite_cut_indented.png | Bin 0 -> 515 bytes .../stone_types/brick/autunite_cut_brick.png | Bin 0 -> 515 bytes .../stone_types/cap/autunite_cut_cap.png | Bin 0 -> 515 bytes .../palettes/stone_types/cut/autunite_cut.png | Bin 0 -> 513 bytes .../layered/autunite_cut_layered.png | Bin 0 -> 650 bytes .../stone_types/natural/asurine_0.png | Bin 752 -> 0 bytes .../stone_types/natural/asurine_1.png | Bin 787 -> 0 bytes .../stone_types/natural/asurine_2.png | Bin 725 -> 0 bytes .../stone_types/natural/asurine_3.png | Bin 772 -> 0 bytes .../stone_types/natural/asurine_4.png | Bin 757 -> 0 bytes .../stone_types/natural/asurine_5.png | Bin 776 -> 0 bytes .../stone_types/natural/asurine_6.png | Bin 660 -> 0 bytes .../stone_types/natural/asurine_7.png | Bin 797 -> 0 bytes .../stone_types/natural/asurine_8.png | Bin 825 -> 0 bytes .../stone_types/natural/autunite_0.png | Bin 0 -> 982 bytes .../stone_types/natural/autunite_1.png | Bin 0 -> 994 bytes .../stone_types/natural/autunite_2.png | Bin 0 -> 972 bytes .../stone_types/natural/autunite_3.png | Bin 0 -> 879 bytes .../pillar/autunite_cut_pillar.png | Bin 0 -> 504 bytes .../polished/autunite_cut_polished.png | Bin 0 -> 596 bytes .../stone_types/slab/autunite_cut_slab.png | Bin 0 -> 532 bytes .../small_brick/autunite_cut_small_brick.png | Bin 0 -> 499 bytes 259 files changed, 2726 insertions(+), 2209 deletions(-) create mode 100644 src/generated/resources/assets/createnuclear/blockstates/autunite.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/autunite_pillar.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/cut_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_slab.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_wall.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/cut_autunite_bricks.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/cut_autunite_slab.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/cut_autunite_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/cut_autunite_wall.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/layered_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_slab.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_wall.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_slab.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_wall.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/autunite_natural_0.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/autunite_natural_1.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/autunite_natural_2.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/autunite_natural_3.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/autunite_pillar.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/autunite_pillar_horizontal.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_slab.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_slab_top.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs_inner.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs_outer.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_post.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_side.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_side_tall.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_slab.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_slab_top.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs_inner.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs_outer.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_post.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_side.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_side_tall.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/layered_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab_double.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab_top.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs_inner.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs_outer.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_post.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_side.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_side_tall.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_slab.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_slab_top.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs_inner.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs_outer.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_post.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_side.json create mode 100644 src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_side_tall.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/autunite.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/autunite_pillar.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/cut_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_slab.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_wall.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/cut_autunite_bricks.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/cut_autunite_slab.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/cut_autunite_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/cut_autunite_wall.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/layered_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_slab.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_wall.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/small_autunite_brick.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_slab.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_stairs.json create mode 100644 src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_wall.json delete mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_brick_slab_recycling.json delete mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/deepslate_polished_cut_slab_recycling.json delete mode 100644 src/generated/resources/data/create/advancements/recipes/building_blocks/small_deepslate_brick_slab_recycling.json delete mode 100644 src/generated/resources/data/create/recipes/autunite_polished_cut_slab_recycling.json delete mode 100644 src/generated/resources/data/create/recipes/cut_deepslate_brick_slab_recycling.json delete mode 100644 src/generated/resources/data/create/recipes/cut_deepslate_slab_recycling.json delete mode 100644 src/generated/resources/data/create/recipes/deepslate_polished_cut_slab_recycling.json delete mode 100644 src/generated/resources/data/create/recipes/small_deepslate_brick_slab_recycling.json rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{asurine_from_stone_types_autunite_stonecutting.json => autunite_from_stone_types_autunite_stonecutting.json} (78%) delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs.json rename src/generated/resources/data/{create => createnuclear}/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json (83%) rename src/generated/resources/data/{create => createnuclear}/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json (84%) delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_layered_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_pillar_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{autunite_layered_from_stone_types_autunite_stonecutting.json => layered_autunite_from_stone_types_autunite_stonecutting.json} (82%) rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{autunite_polished_cut_from_stone_types_autunite_stonecutting.json => polished_cut_autunite_from_stone_types_autunite_stonecutting.json} (82%) rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{autunite_polished_cut_slab.json => polished_cut_autunite_slab.json} (67%) rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json => polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json} (83%) rename src/generated/resources/data/{create/advancements/recipes/building_blocks/autunite_polished_cut_slab_recycling.json => createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_recycling.json} (64%) rename src/generated/resources/data/{create/advancements/recipes/building_blocks/cut_deepslate_slab_recycling.json => createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs.json} (66%) rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json => polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json} (83%) rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{autunite_polished_cut_wall.json => polished_cut_autunite_wall.json} (67%) rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json => polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json} (83%) rename src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/{small_autunite_bricks_from_stone_types_autunite_stonecutting.json => small_autunite_brick_from_stone_types_autunite_stonecutting.json} (76%) rename src/generated/resources/data/{create => createnuclear}/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json (82%) delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json rename src/generated/resources/data/createnuclear/loot_tables/blocks/{asurine.json => autunite.json} (75%) delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_wall.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_slab.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_wall.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_bricks.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_slab.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_wall.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_layered.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_pillar.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_slab.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_wall.json rename src/generated/resources/data/createnuclear/loot_tables/blocks/{autunite_layered.json => layered_autunite.json} (72%) rename src/generated/resources/data/createnuclear/loot_tables/blocks/{small_autunite_bricks.json => polished_cut_autunite.json} (71%) rename src/generated/resources/data/createnuclear/loot_tables/blocks/{autunite_polished_cut_slab.json => polished_cut_autunite_slab.json} (78%) rename src/generated/resources/data/createnuclear/loot_tables/blocks/{small_deepslate_brick_stairs.json => polished_cut_autunite_stairs.json} (70%) rename src/generated/resources/data/createnuclear/loot_tables/blocks/{small_deepslate_brick_wall.json => polished_cut_autunite_wall.json} (70%) rename src/generated/resources/data/createnuclear/loot_tables/blocks/{cut_deepslate_stairs.json => small_autunite_brick.json} (71%) delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_slab.json delete mode 100644 src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_bricks.json rename src/generated/resources/data/createnuclear/recipes/{asurine_from_stone_types_autunite_stonecutting.json => autunite_from_stone_types_autunite_stonecutting.json} (77%) delete mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall.json rename src/generated/resources/data/{create => createnuclear}/recipes/cut_autunite_brick_slab_recycling.json (100%) rename src/generated/resources/data/{create => createnuclear}/recipes/cut_autunite_slab_recycling.json (100%) delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_layered_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_pillar_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json rename src/generated/resources/data/createnuclear/recipes/{autunite_layered_from_stone_types_autunite_stonecutting.json => layered_autunite_from_stone_types_autunite_stonecutting.json} (73%) rename src/generated/resources/data/createnuclear/recipes/{autunite_polished_cut_from_stone_types_autunite_stonecutting.json => polished_cut_autunite_from_stone_types_autunite_stonecutting.json} (71%) rename src/generated/resources/data/createnuclear/recipes/{autunite_polished_cut_slab.json => polished_cut_autunite_slab.json} (56%) rename src/generated/resources/data/createnuclear/recipes/{autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json => polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json} (69%) create mode 100644 src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab_recycling.json rename src/generated/resources/data/createnuclear/recipes/{cut_deepslate_brick_stairs.json => polished_cut_autunite_stairs.json} (58%) rename src/generated/resources/data/createnuclear/recipes/{autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json => polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json} (68%) rename src/generated/resources/data/createnuclear/recipes/{cut_deepslate_brick_wall.json => polished_cut_autunite_wall.json} (65%) rename src/generated/resources/data/createnuclear/recipes/{autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json => polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json} (69%) rename src/generated/resources/data/createnuclear/recipes/{small_autunite_bricks_from_stone_types_autunite_stonecutting.json => small_autunite_brick_from_stone_types_autunite_stonecutting.json} (71%) rename src/generated/resources/data/{create => createnuclear}/recipes/small_autunite_brick_slab_recycling.json (83%) delete mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/recipes/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json delete mode 100644 src/generated/resources/data/createnuclear/tags/items/stone_types/deepslate.json create mode 100644 src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteBlocks.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteStoneTypes.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPartial.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPattern.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PalettesVariantEntry.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_basketweave.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_bond.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_indented.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/brick/autunite_cut_brick.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cut/autunite_cut.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_0.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_1.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_2.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_3.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_4.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_5.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_6.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_7.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_8.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/autunite_0.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/autunite_1.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/autunite_2.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/autunite_3.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/polished/autunite_cut_polished.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/slab/autunite_cut_slab.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/small_brick/autunite_cut_small_brick.png diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index 39c8eadb..656ba799 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,11 +1,26 @@ -// 1.20.1 2025-03-07T23:26:05.6554053 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-04-06T16:36:02.0389366 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +0b2c76c9cff305eacfdfb57c4b703f94ca6dc903 assets/createnuclear/blockstates/autunite.json +5d06bc544bcbeb7443178d66955bb5101cf696da assets/createnuclear/blockstates/autunite_pillar.json +5b375444ac5057e63776f4991589c57824574b4a assets/createnuclear/blockstates/cut_autunite.json +f402fda858988cbb5e1a6a623cb15a6c76ac7f54 assets/createnuclear/blockstates/cut_autunite_bricks.json +b88d65e7a3393caeaed8d504bf6c4615767371aa assets/createnuclear/blockstates/cut_autunite_brick_slab.json +7f788334258cfb67dfbf716dbaf1b126376d1a14 assets/createnuclear/blockstates/cut_autunite_brick_stairs.json +7bfc6778893ef6552c10e17e3489e201758d3a75 assets/createnuclear/blockstates/cut_autunite_brick_wall.json +1e246d1862a801b2253595d7fac7717a0110ce79 assets/createnuclear/blockstates/cut_autunite_slab.json +56c308e675a047a3d28757377e61e5f79c6384e3 assets/createnuclear/blockstates/cut_autunite_stairs.json +98d386985f7c185f1acab25b9d606828f788769f assets/createnuclear/blockstates/cut_autunite_wall.json 5cf183e5277aea7ac5eb2bfa88737db909c6244d assets/createnuclear/blockstates/deepslate_lead_ore.json a6f90dfcfc0659663335d4c80129ce41d0c8e47a assets/createnuclear/blockstates/deepslate_uranium_ore.json e11c7fa5830b0877af69bb18e650d2b1e6f90027 assets/createnuclear/blockstates/enriched_soul_soil.json f6b762b1e80656d932e990210b43e4bfb209e4d8 assets/createnuclear/blockstates/enriching_campfire.json 41d2222cb4f17c8c035f1937873518ad2adca3db assets/createnuclear/blockstates/enriching_fire.json +98dd6f667ccef1f8f1d332b42b146a6c0bbfb0db assets/createnuclear/blockstates/layered_autunite.json f10bbdbab6112c58bebf2d98dc0ed3eb9370c09c assets/createnuclear/blockstates/lead_block.json 300b8a29d6a440a60320133481041671dde65448 assets/createnuclear/blockstates/lead_ore.json +1eed8de7f7b90d46d3e4fb6a0e7e9abf10a8a78f assets/createnuclear/blockstates/polished_cut_autunite.json +462d22ea4a021cc368721fdb841c8a9b9176c06d assets/createnuclear/blockstates/polished_cut_autunite_slab.json +76a9a39503654b94cbe01e249292ed280446bbb6 assets/createnuclear/blockstates/polished_cut_autunite_stairs.json +f628f8c7aa1e150ad2b5a3ce87dbe7f00b462e74 assets/createnuclear/blockstates/polished_cut_autunite_wall.json 8195d52278bf58414faaaec6067905635aaa29d5 assets/createnuclear/blockstates/raw_lead_block.json 63aaf78c3e0c16c2f37b069c5392e3d1a93ac058 assets/createnuclear/blockstates/raw_uranium_block.json 0fbc9288622efc18fe39b6c8ba89e7e2281dee26 assets/createnuclear/blockstates/reactor_casing.json @@ -16,23 +31,73 @@ ff68065029f7d47434aaf3f60e5ec3319302d2d8 assets/createnuclear/blockstates/reacto 797bb3045272b742be75c5dc1a511a1c2acaa877 assets/createnuclear/blockstates/reactor_input.json 36ee5c127b0548502d15bc16a638a5bac40df1b6 assets/createnuclear/blockstates/reactor_output.json f7504d5f748fe938bf07d2eb5d0ba46bbfa0499d assets/createnuclear/blockstates/reinforced_glass.json +f9dd0a30be6d92e85fd7c3dde4f1b732f63d35ce assets/createnuclear/blockstates/small_autunite_brick.json +533317e2fc9ab18b71dea2fecaec599533a864c4 assets/createnuclear/blockstates/small_autunite_brick_slab.json +b9c915389ea6cf8338d20c48e908591f8baa2108 assets/createnuclear/blockstates/small_autunite_brick_stairs.json +a2fc21fa320e677fe7690b260ee3f57ebdbd50b6 assets/createnuclear/blockstates/small_autunite_brick_wall.json 57c846a957e9250bc45f2f1091bf3f78b2a77344 assets/createnuclear/blockstates/steel_block.json de2884054a21315d8b167f64b206be331d388420 assets/createnuclear/blockstates/uranium.json 4557f548df100ae1d05e3b5711797225f6a39673 assets/createnuclear/blockstates/uranium_ore.json -02ce3c08498fe5cf316ee18e380285b1f7a1380f assets/createnuclear/lang/en_ud.json -7b1ce48eeb35c9e58238bfb67bc15c2baf56d0a2 assets/createnuclear/lang/en_us.json +db6df0c9f4a72bf4e7520c6f0dde6c16392c6f45 assets/createnuclear/lang/en_ud.json +9985d553d3dfd330242908e4d7df5db2fb480ef4 assets/createnuclear/lang/en_us.json +a8495d2cd5e38213683becaf1c84b2852f8b06f5 assets/createnuclear/models/block/autunite_natural_0.json +29394a22ee8655dc22ea51563411505fbcfd2dab assets/createnuclear/models/block/autunite_natural_1.json +9e4f83de1ca7a9ab5363f43fc7c3f7f4ec6164d5 assets/createnuclear/models/block/autunite_natural_2.json +8241a75180c5634be558974bc09f15600261f67f assets/createnuclear/models/block/autunite_natural_3.json +2f6b85682c569527f9f538dae16526505ce5655a assets/createnuclear/models/block/autunite_pillar.json +4a04692c39cfad137877258b4443eb4bf5298423 assets/createnuclear/models/block/autunite_pillar_horizontal.json +a48d579af38beab6fc87d3b02a7ed902b25bdf16 assets/createnuclear/models/block/cut_autunite.json +4d49f9151293582741edc0d935f3130547cf5360 assets/createnuclear/models/block/cut_autunite_bricks.json +6729240e3a6cbda812d3feb8e287f743bd6b6de5 assets/createnuclear/models/block/cut_autunite_bricks_wall_post.json +244715a4f0f6a21d055b1de3307c303a5a885c1d assets/createnuclear/models/block/cut_autunite_bricks_wall_side.json +f8d6743895a633a45eb0c565cb7f79aae9172175 assets/createnuclear/models/block/cut_autunite_bricks_wall_side_tall.json +c470ac7f3b34c8da456f221d81b45292f0657e36 assets/createnuclear/models/block/cut_autunite_brick_slab.json +d4084e8b32d197db311b575a06023bb5fd5d8aba assets/createnuclear/models/block/cut_autunite_brick_slab_top.json +e4a795c7efcfa306ac6772e2b8a23a3afc52c0ec assets/createnuclear/models/block/cut_autunite_brick_stairs.json +90a9c051a0c72398a1f052542620029275e6a676 assets/createnuclear/models/block/cut_autunite_brick_stairs_inner.json +4bb891d8f069cf043de74c0cc9d16fcbcb49ee07 assets/createnuclear/models/block/cut_autunite_brick_stairs_outer.json +d9ae523c08cbbe274a598736a8a9fd510d78d484 assets/createnuclear/models/block/cut_autunite_slab.json +14043cfcb42894ebb0db2501929ba4cae9d8bd7d assets/createnuclear/models/block/cut_autunite_slab_top.json +f66edf8ef01d16ee116ac71e742bea54e98e1724 assets/createnuclear/models/block/cut_autunite_stairs.json +e1e1e4bff55028860d776d8ecb992547fa12b1b5 assets/createnuclear/models/block/cut_autunite_stairs_inner.json +6d1c45b12d9e783e63849d15aa29d507266bd1bb assets/createnuclear/models/block/cut_autunite_stairs_outer.json +05c9937ab6b920dfbbab6c78d115cc0bff6b8d22 assets/createnuclear/models/block/cut_autunite_wall_post.json +baced15580735dd63848a96763f8c7ffe61f3376 assets/createnuclear/models/block/cut_autunite_wall_side.json +cd15b5be0dca5f621266b157b424ac37dac859dd assets/createnuclear/models/block/cut_autunite_wall_side_tall.json 9a589577d80aa23ac97312bda605b5512eff5167 assets/createnuclear/models/block/deepslate_lead_ore.json 6793dd91b730f4c9abea29215de16cd0751d8cbd assets/createnuclear/models/block/deepslate_uranium_ore.json e1b8fdc0555a1fdabda54f66cca868e444d1110b assets/createnuclear/models/block/enriched_soul_soil.json +8408a3894e9ca6e45e738b81f0a1932a0b2f86a5 assets/createnuclear/models/block/layered_autunite.json fd642aefed8f59f5575c96ad1a0251e7773f3909 assets/createnuclear/models/block/lead_block.json c9757e3fd9841ee17366b1d88563df6ea8106513 assets/createnuclear/models/block/lead_ore.json +460e9ac2c0a90607b74afc5823b737a2867a35e3 assets/createnuclear/models/block/polished_cut_autunite.json +8d0e97cda9e4098e0aa8dca93445d3b52150dcfa assets/createnuclear/models/block/polished_cut_autunite_slab.json +4fa87093074c0a325ea50ab2d3c9725a90a11e1c assets/createnuclear/models/block/polished_cut_autunite_slab_double.json +6aab787de0caf399f8b76b94c64d850e5d55c757 assets/createnuclear/models/block/polished_cut_autunite_slab_top.json +0057844c28c996dceebfc28e95e0f022a26db0aa assets/createnuclear/models/block/polished_cut_autunite_stairs.json +741e53f404a88b4aa7bf6e8246bbe3cf1d6404b5 assets/createnuclear/models/block/polished_cut_autunite_stairs_inner.json +a251d75552efea796382a4124659f9d39606461b assets/createnuclear/models/block/polished_cut_autunite_stairs_outer.json +3fcae9cce1819111bdab42b8b92a1468394db3b1 assets/createnuclear/models/block/polished_cut_autunite_wall_post.json +ad989d89e7b80a30e0860fb0f1418013fe3355d2 assets/createnuclear/models/block/polished_cut_autunite_wall_side.json +b950ac6ca2df77ffe3abd02e13c38567602e5536 assets/createnuclear/models/block/polished_cut_autunite_wall_side_tall.json cf8b4d604330762358b21b6e079aaab1eb2987f4 assets/createnuclear/models/block/raw_lead_block.json 561c9f9a4e153fc648a3c7224812c71c8ac2da5c assets/createnuclear/models/block/raw_uranium_block.json 7cdeee7f4740b6a86802354534be24dbb251e211 assets/createnuclear/models/block/reinforced_glass.json +e94d3eb865d17234b18241d89acdec2b10a1d21a assets/createnuclear/models/block/small_autunite_brick.json +2d0c4071223fd38069cfdac403b33bd2925d6750 assets/createnuclear/models/block/small_autunite_brick_slab.json +496e7d40f96d28015e8dd1c787d4620e090ad965 assets/createnuclear/models/block/small_autunite_brick_slab_top.json +b9b18c9a633527a817ba9745a818980ff35836b5 assets/createnuclear/models/block/small_autunite_brick_stairs.json +072d33301f6734db5108d78731686fc34b32c6c3 assets/createnuclear/models/block/small_autunite_brick_stairs_inner.json +f99b30bd0cb3a8b78ed88a3a17b35b512c69ee06 assets/createnuclear/models/block/small_autunite_brick_stairs_outer.json +0632d6a6ba895efbfa6a347c9693240cc601e114 assets/createnuclear/models/block/small_autunite_brick_wall_post.json +093bb2418968291015e9d3122755af3fd0b948d4 assets/createnuclear/models/block/small_autunite_brick_wall_side.json +5a9a262da20c1b7053276c444bff017e73c923c9 assets/createnuclear/models/block/small_autunite_brick_wall_side_tall.json 47f627eaccbd07bf81d1c45f95ebcc88994ad757 assets/createnuclear/models/block/steel_block.json d234edb3b6bc81b7300ee65722973b66db0b82d9 assets/createnuclear/models/block/uranium.json a4d5ee44c830e329034a46792280edea53343034 assets/createnuclear/models/block/uranium_ore.json fba1c32ae3c38d735ebb0b4c3912afc8f9e9cde4 assets/createnuclear/models/item/anti_radiation_boots.json +29394a22ee8655dc22ea51563411505fbcfd2dab assets/createnuclear/models/item/autunite.json +30b11d8da5d02a3e9cebb739b3b9efbee087573c assets/createnuclear/models/item/autunite_pillar.json f8e44e53a7bc368d4c159769bb071eef6d28d856 assets/createnuclear/models/item/black_anti_radiation_chestplate.json 82a63e5c93daac9c5430ae77aa8d10b1bddbc2c7 assets/createnuclear/models/item/black_anti_radiation_helmet.json 2d0a3f0d2dd0fab5b73c7b8291a5eb3a7921157a assets/createnuclear/models/item/black_anti_radiation_leggings.json @@ -48,6 +113,14 @@ ce17b82389ca226bc9e55072ae0dab1ef049e96f assets/createnuclear/models/item/brown_ 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/createnuclear/models/item/cat_irradiated_spawn_egg.json 63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/createnuclear/models/item/chicken_irradiated_spawn_egg.json 047d097f30f9586494547715d07271c6994acd18 assets/createnuclear/models/item/coal_dust.json +0c682ff48601bf7f42c8561819ecede780664fbf assets/createnuclear/models/item/cut_autunite.json +11220bd60ab51e05a978a8322511c224d15bf886 assets/createnuclear/models/item/cut_autunite_bricks.json +d43ffb4c5491fcd8c98451649c3f4ceb271e8875 assets/createnuclear/models/item/cut_autunite_brick_slab.json +dfea56e99288e64e5061c621e860fa314fc31e9d assets/createnuclear/models/item/cut_autunite_brick_stairs.json +95e992c1e1c881d0f00a234a5e6906b1a5dbf149 assets/createnuclear/models/item/cut_autunite_brick_wall.json +5027aa166900571aa2e4f50ad53869b595ff3426 assets/createnuclear/models/item/cut_autunite_slab.json +bd832947d219746d3264422bc4c82f6acdc5cc3e assets/createnuclear/models/item/cut_autunite_stairs.json +4c0b115eb2a2f8d6e74c612fa6e1aa5b357e9185 assets/createnuclear/models/item/cut_autunite_wall.json 3aa34b484b1eb135c9e2fcd3db675aa8d7927951 assets/createnuclear/models/item/cyan_anti_radiation_chestplate.json 4925fd5469c909ae1e212cb0279f534656ee93a4 assets/createnuclear/models/item/cyan_anti_radiation_helmet.json 84b9d23fadc9fd0a2e45fc3609f6bf16ecb1545d assets/createnuclear/models/item/cyan_anti_radiation_leggings.json @@ -67,6 +140,7 @@ b4ddee28d16f837d70e311c84748b18fe3cdc21a assets/createnuclear/models/item/green_ d0f9a216114a583e097ef8369c4ed74f50270672 assets/createnuclear/models/item/green_anti_radiation_helmet.json 00308a5c640b2ec21ad96b313789a2ec28cff516 assets/createnuclear/models/item/green_anti_radiation_leggings.json 104ab85c7f23d9239608603e6cb2227bc60b585f assets/createnuclear/models/item/green_cloth.json +ad33dca8ecf90a8bc1ebb61c2007af72c427e9ed assets/createnuclear/models/item/layered_autunite.json 17ec52f71bd19239771c599ee80d9ffa073738af assets/createnuclear/models/item/lead_block.json 649fce08e620f39f776ab8ae8dcb17e0fd77c82f assets/createnuclear/models/item/lead_ingot.json 4d18b6f86e9ebcff28c08b9876f1819a067cd290 assets/createnuclear/models/item/lead_nugget.json @@ -95,6 +169,10 @@ cfc8b9126dc3fe3b993c5e6201533aecc07989c3 assets/createnuclear/models/item/orange 0703dcb90ab1cbe58167c0872bd9e9950de99531 assets/createnuclear/models/item/pink_anti_radiation_helmet.json af0dd245292fd2952c37e2d81bfff0a34f8aa5f6 assets/createnuclear/models/item/pink_anti_radiation_leggings.json 9f81dccbba864441a1d76a5312216faa44e6e44b assets/createnuclear/models/item/pink_cloth.json +6d3410aa77b41ada9809f246f1d1a1a982449736 assets/createnuclear/models/item/polished_cut_autunite.json +6919e7571fa3bd76fa08b0a707f1f9367e203a49 assets/createnuclear/models/item/polished_cut_autunite_slab.json +d3459552745c002eb95585853ddec7b638b4c11f assets/createnuclear/models/item/polished_cut_autunite_stairs.json +b6c3a22d368bd0796b004ac27b8e453a16e7d14c assets/createnuclear/models/item/polished_cut_autunite_wall.json 86d99549567048667239096badcb4249d6dddf2b assets/createnuclear/models/item/purple_anti_radiation_chestplate.json 9e3c06e53c3bb29bd4fca943a6700e97e81a6705 assets/createnuclear/models/item/purple_anti_radiation_helmet.json 047c75651f6c6d8888fcfb1416e67dcb91f3dd99 assets/createnuclear/models/item/purple_anti_radiation_leggings.json @@ -116,6 +194,10 @@ b7a56e4ac63519df8fcefb9b18a2583991bd9f34 assets/createnuclear/models/item/red_an 54aa0a32f1eeedc5b78eb223ea01c3ff30ae365d assets/createnuclear/models/item/red_anti_radiation_leggings.json 4db93da70d6a7549155201b7d9d68355449652ac assets/createnuclear/models/item/red_cloth.json 78a9e80073512a111cb936a516d290a824846ff2 assets/createnuclear/models/item/reinforced_glass.json +60dc6eb917ee1567461f02aca765e061d3d9f55a assets/createnuclear/models/item/small_autunite_brick.json +9b83b53d90891eaf7aa4693eafe2876a831e0be2 assets/createnuclear/models/item/small_autunite_brick_slab.json +3e80ef1d80473c73a723d3c4b5c1409c7998d70f assets/createnuclear/models/item/small_autunite_brick_stairs.json +9286e69b3a5215a17ccb178933c2f52a9adb847f assets/createnuclear/models/item/small_autunite_brick_wall.json 7f33b090f2821bdeb07b2938b1618ad3f309248f assets/createnuclear/models/item/steel_block.json bcb30dce2419ce1ec2e043eaff83df82ac8a4bec assets/createnuclear/models/item/steel_ingot.json 4b0492cf73c071f13538ce485419e46a164c99c7 assets/createnuclear/models/item/steel_nugget.json @@ -133,13 +215,63 @@ ea04609e8b5c12a7805b1c564bca07fefd6d38ba assets/createnuclear/models/item/uraniu 953491d658ba39add0f080137ebfafc9ac07ee1d assets/createnuclear/models/item/yellow_anti_radiation_helmet.json b20aeafcdcd235c7d89067d5331b823535b82522 assets/createnuclear/models/item/yellow_anti_radiation_leggings.json a1970879fd57836f5ae5d23352cdca277095bc7d assets/createnuclear/models/item/yellow_cloth.json +72b0cec0c98e9ead9562ff0cc1231a5028e2a22f data/createnuclear/advancements/recipes/building_blocks/autunite_from_stone_types_autunite_stonecutting.json +e7967751f132676cb1d523743adaac3aea1f0814 data/createnuclear/advancements/recipes/building_blocks/autunite_pillar_from_stone_types_autunite_stonecutting.json +1ec4bd12e3fd4303800a758a2b791e30a04e5960 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json +801940038556c52d0e10aec6d16430a99f31a385 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab.json +d0f97d467c8a00a57ece37990ece8601a32c431d data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json +913dfa33a312cd9a08d6d1194d0f7af40d4c5856 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json +34078516fb6ce2269af6de5515b51cea41ba9ac3 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs.json +1a35a3a0cf6a0202eb8244d26647e8e277cf8fd3 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json +4fae09cee3ae86760906501da0dba47acb035cf4 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall.json +f893c5dec42faf470d493c4b1c5c184cad842c32 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json +c53fd5df1d52d6e9919c9600e483697e8db75f4d data/createnuclear/advancements/recipes/building_blocks/cut_autunite_from_stone_types_autunite_stonecutting.json +8ded4051daf417cb802b5327ef0e92d361dcb298 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab.json +1b0fefdf4f489b3e6c389c45ffd3918b10a50de0 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_from_stone_types_autunite_stonecutting.json +223f7f4d8c7186b4749c21cbab27bbaf43c3d82d data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json +1093b70dcd826156ba71b6a3264bcb66e3943166 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs.json +d1c3b78d9f91661325e2cad286789b5330052efa data/createnuclear/advancements/recipes/building_blocks/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json +013d8020ec673d6d480e6599706ed5e9598e46e1 data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall.json +ad7d418d3e8c49f2bb4929083f97eccc49add58c data/createnuclear/advancements/recipes/building_blocks/cut_autunite_wall_from_stone_types_autunite_stonecutting.json +6d4c64c8eb26caa6a9bb0ed794907b5eccb20838 data/createnuclear/advancements/recipes/building_blocks/layered_autunite_from_stone_types_autunite_stonecutting.json +24311c6915bd9c1c5a048ac9e0e2bc6d18acefa6 data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_from_stone_types_autunite_stonecutting.json +7a59963e3fc6fd226e9d336ec8577d29bcc3128c data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab.json +fd3f90dca34f1e977a85015acd4efaca5835e288 data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json +fbaa7584540ddc65d80ff6b38e9e54840448a15a data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_recycling.json +1680cd795b322ba6afb9d2951ca53896dec66d3c data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs.json +aac10ee87aad15f943db97cbbf5bd1924baee84c data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json +45bdc9cd3e000e844694cc53a1de3a5343915db9 data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_wall.json +b69e27fcd2261dc0fa0ec9cfc42786721ac6d2ae data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json +12432e7ba6104a4b221756281fbc8a6809038d54 data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_from_stone_types_autunite_stonecutting.json +e2195a18d37e7f16e1fddd422a9e7a10db9607c4 data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json +5f04c3e30c77925cd01bbe0d75ff704388488ebf data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json +5de0d26049f4b6a29c5812589d086947c0cdbbd6 data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json +b8f6ee21b426748e16cff1d76f098d5a032c15f7 data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json +73819b2283f45f3fdf7509ef458f3288f6329ca8 data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json +c1df1a2553a55dd47f37285912e5e3020c67da2a data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json +26b718d481625238a5ff718ee027dcddd29a2e98 data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json +a021646becb7b6411eddd86644e5b17c8365582c data/createnuclear/loot_tables/blocks/autunite.json +62b7087350b0a9af9007b848c7f619a730e90693 data/createnuclear/loot_tables/blocks/autunite_pillar.json +771b416236bcc21f380e0f312c61803224987616 data/createnuclear/loot_tables/blocks/cut_autunite.json +3b81b5b58b7ef985348cf511e609064a7171d7dc data/createnuclear/loot_tables/blocks/cut_autunite_bricks.json +feae7c8978bcce63f2eeb2ad6ed6a7ef53cbc13e data/createnuclear/loot_tables/blocks/cut_autunite_brick_slab.json +1fa4418198a079b6236b2f3e4b11a7f7d0fc6962 data/createnuclear/loot_tables/blocks/cut_autunite_brick_stairs.json +db666ffaca36edc9e246e225f225c1e87604dd88 data/createnuclear/loot_tables/blocks/cut_autunite_brick_wall.json +10aff7424eefd85e50269c66e60ae343043193cd data/createnuclear/loot_tables/blocks/cut_autunite_slab.json +e6e624e978fdacfa3cdd123d23d021f504308149 data/createnuclear/loot_tables/blocks/cut_autunite_stairs.json +f28efa9fb383b86c770b8c7344fc30f6ab9200d3 data/createnuclear/loot_tables/blocks/cut_autunite_wall.json 113d87359e902ec9112e063f87adf5646cd01dbc data/createnuclear/loot_tables/blocks/deepslate_lead_ore.json ac0d262ec298e481314387399c378ecd454e20cc data/createnuclear/loot_tables/blocks/deepslate_uranium_ore.json 76ca23065681dfd7f18dbbc5a65b8ab8bc40c20c data/createnuclear/loot_tables/blocks/enriched_soul_soil.json 62f405d930be8b534e863c8aac205687b943f3ef data/createnuclear/loot_tables/blocks/enriching_campfire.json aa8efeb48b11261953f7d90e6d7db38411550694 data/createnuclear/loot_tables/blocks/enriching_fire.json +297b7824fc2eea67ef47760da549f73e93424b60 data/createnuclear/loot_tables/blocks/layered_autunite.json efe2ad634ad8b801a8fa69f45516b30157b46771 data/createnuclear/loot_tables/blocks/lead_block.json 9db8f06cd9b1d7a9c2d94e652f00a7588398571c data/createnuclear/loot_tables/blocks/lead_ore.json +7ad41810138d7b55a5d9d0db0956cd255e879632 data/createnuclear/loot_tables/blocks/polished_cut_autunite.json +d5fb5ebfe991980abfd6f1932575363d026d8859 data/createnuclear/loot_tables/blocks/polished_cut_autunite_slab.json +8205832fc48bd24351b4b433f92a70a533336f48 data/createnuclear/loot_tables/blocks/polished_cut_autunite_stairs.json +2c3ca9fb7683d1edfdc2e4fcd4b25ab7f40c3ab6 data/createnuclear/loot_tables/blocks/polished_cut_autunite_wall.json 66ab1033aebea1383fe3f09c7468f4cd60d8aa25 data/createnuclear/loot_tables/blocks/raw_lead_block.json 0998d5a55f2dc10e85e83dd74bd91d4a3913f61f data/createnuclear/loot_tables/blocks/raw_uranium_block.json af059cd55441441329347fbd569245b539b095db data/createnuclear/loot_tables/blocks/reactor_casing.json @@ -150,11 +282,50 @@ daa4fad27f07fd72cb25a524464edea9efe771b7 data/createnuclear/loot_tables/blocks/r be48e04b069441c8593aab5e9bf78f4edc2dd249 data/createnuclear/loot_tables/blocks/reactor_input.json 37af2b0b5eacf53995703344a45fb3f4d0efe1f9 data/createnuclear/loot_tables/blocks/reactor_output.json 88c7cfbf28fdbe53241453e073722791c780de75 data/createnuclear/loot_tables/blocks/reinforced_glass.json +feedbac4c2a466fb93f82756562edc63cb1b4b5b data/createnuclear/loot_tables/blocks/small_autunite_brick.json +d51f9b307f2986ac086d32f48bd41e6dc4024348 data/createnuclear/loot_tables/blocks/small_autunite_brick_slab.json +4014ab450bb5de0522690577486f2fbbc334de9c data/createnuclear/loot_tables/blocks/small_autunite_brick_stairs.json +8718c7e7cce27e299611ee34792cdb59f3434e39 data/createnuclear/loot_tables/blocks/small_autunite_brick_wall.json 94dc8e72195da5aa505c6d5a3785ccfea30f7c05 data/createnuclear/loot_tables/blocks/steel_block.json 401811bf59cdb43ffb0c0bb5ba40eb954d7fa216 data/createnuclear/loot_tables/blocks/uranium_ore.json fba1a7bdb0835c034aa5ef52ebf589123d41b33e data/createnuclear/loot_tables/entities/irradiated_cat.json 2d8f5d7d7babd2b02ae836846e62daabf84de427 data/createnuclear/loot_tables/entities/irradiated_chicken.json f91f43a39c80f583f878ea1a0d944798c05f2388 data/createnuclear/loot_tables/entities/irradiated_wolf.json +4c985d77908c367245c3b4d56e1302a843522eff data/createnuclear/recipes/autunite_from_stone_types_autunite_stonecutting.json +9819e80259d08c1518b30ee9d4cf5c18689d3efc data/createnuclear/recipes/autunite_pillar_from_stone_types_autunite_stonecutting.json +ebfe438f4284101e07538accdf15789d06140c94 data/createnuclear/recipes/cut_autunite_bricks_from_stone_types_autunite_stonecutting.json +4b86d48cdf03dcfaa383552881a7f52b7bebe9c5 data/createnuclear/recipes/cut_autunite_brick_slab.json +b9d828959c4614caa4a0f3ac82f322dd538c6219 data/createnuclear/recipes/cut_autunite_brick_slab_from_stone_types_autunite_stonecutting.json +bb8a46365f31a2e4b5440a47d1d22d122d0e973b data/createnuclear/recipes/cut_autunite_brick_slab_recycling.json +3cd68ad698668475f66c2d72f997106d018fe2ee data/createnuclear/recipes/cut_autunite_brick_stairs.json +65ae0b709f14ec4c018ab5548d91c3a53657f612 data/createnuclear/recipes/cut_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json +f16b4fafe9693a2d4eaea0616aa1c01042430154 data/createnuclear/recipes/cut_autunite_brick_wall.json +e40db55eb02cdbedc6f4dc52786069c74b267ada data/createnuclear/recipes/cut_autunite_brick_wall_from_stone_types_autunite_stonecutting.json +b68221950ba50e3c11cdd6b58de2aafea83b07b5 data/createnuclear/recipes/cut_autunite_from_stone_types_autunite_stonecutting.json +0bfedb8324af8797150b1faf2c2b50856d1b4ace data/createnuclear/recipes/cut_autunite_slab.json +f04d6df381ea8dfbcae8d4387a5a58e25ed325e9 data/createnuclear/recipes/cut_autunite_slab_from_stone_types_autunite_stonecutting.json +2524a52992895706ce195ac93ff8f668295b5a75 data/createnuclear/recipes/cut_autunite_slab_recycling.json +5fcc16c9a5ce0334e8a01ad9a1b345d20b5987f5 data/createnuclear/recipes/cut_autunite_stairs.json +4132d0cc3bca17631674ee463ca4f09dbd3f3f17 data/createnuclear/recipes/cut_autunite_stairs_from_stone_types_autunite_stonecutting.json +d4f7707716472a68bec5a7a59dd1c9c17a880de5 data/createnuclear/recipes/cut_autunite_wall.json +aa1f3455bb6fba50a9bf1b7ac6fbe6ffc364b0e2 data/createnuclear/recipes/cut_autunite_wall_from_stone_types_autunite_stonecutting.json +8a7946c30f9f8f9c002a6651c6765724f4bc2055 data/createnuclear/recipes/layered_autunite_from_stone_types_autunite_stonecutting.json +ca78dd6ec5e706cf97e1dca2656c0cc70d70c7d1 data/createnuclear/recipes/polished_cut_autunite_from_stone_types_autunite_stonecutting.json +27b53fb459fbe530a61ecefeb5140c1d96a002ae data/createnuclear/recipes/polished_cut_autunite_slab.json +f2761361591493b2f3848fdcd49252df6629f352 data/createnuclear/recipes/polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json +2edba5af5bd8fd2c4b4cfd7216ac1730b82b5c96 data/createnuclear/recipes/polished_cut_autunite_slab_recycling.json +af81c9ed277e6f3d0d9e48d413247debcc7b64be data/createnuclear/recipes/polished_cut_autunite_stairs.json +9cd62ff9cbce5c4a5293c7bfcb9c8c35d68ea91e data/createnuclear/recipes/polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json +e74d31ed68a39baca7d719338fdfeb71a9cea9a4 data/createnuclear/recipes/polished_cut_autunite_wall.json +bd7dd55600eb9ddebb17ac6932cf77f0538bfe02 data/createnuclear/recipes/polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json +bf49ba3e1332f0742e933d81ddd0dd9462f175db data/createnuclear/recipes/small_autunite_brick_from_stone_types_autunite_stonecutting.json +01e0af5e7139dc9d887ee026e4d319d5063415e5 data/createnuclear/recipes/small_autunite_brick_slab.json +4b7f84c18f56ce5d29ce0aec9244e433738b7179 data/createnuclear/recipes/small_autunite_brick_slab_from_stone_types_autunite_stonecutting.json +96ace25ee0d4aabef83240275c4bcf35a36c2605 data/createnuclear/recipes/small_autunite_brick_slab_recycling.json +d6fbc19ffcbd5f5e3cdb0636813cf3a8c3262ec2 data/createnuclear/recipes/small_autunite_brick_stairs.json +bd84328028cb729d48f38ccc449f14be1d7acfb5 data/createnuclear/recipes/small_autunite_brick_stairs_from_stone_types_autunite_stonecutting.json +44f3dde18c582cc5dd95c705c7ad76691996b57c data/createnuclear/recipes/small_autunite_brick_wall.json +6bdbdc93b69c388425345d6d1aeb862eed894e5a data/createnuclear/recipes/small_autunite_brick_wall_from_stone_types_autunite_stonecutting.json a7d4278d8a39649c8b658ad2f3f1d092cb012bdf data/createnuclear/tags/blocks/enriching_fire_base_blocks.json 509b5baa813ae0dc3345fd97754e4088132359ec data/createnuclear/tags/blocks/fan_processing_catalysts/enriched.json 925cb97bc13b3122fe17e59ff3ec2fe4d1eaacd5 data/createnuclear/tags/blocks/lead_ores.json @@ -174,6 +345,7 @@ bebad856ee0f047735060f28544eb6149d8c2b20 data/createnuclear/tags/items/anti_radi 8e6598f14a72a61cbe1e5ed2aaea229fb2dd74e6 data/createnuclear/tags/items/cooler.json c5587bb72c54f59e9f9a4cd2c3e6bedb78ee198d data/createnuclear/tags/items/fuel.json 925cb97bc13b3122fe17e59ff3ec2fe4d1eaacd5 data/createnuclear/tags/items/lead_ores.json +1a438d724641b4899f18b4abeef0b0708c76ea70 data/createnuclear/tags/items/stone_types/autunite.json bad88bea18fec41c7ad6fa4d396feacc0346a137 data/createnuclear/tags/items/uranium_ores.json d8d6ad7a4fc31fd68a98b368207c359fb610f417 data/create/tags/blocks/safe_nbt.json 75f0600da4891d0f4a3329fb44cac6c4945a0b49 data/forge/tags/blocks/glass.json @@ -206,14 +378,24 @@ cdebf2b4eabcf71ee4566b7fbf22f18990a4e06b data/forge/tags/items/raw_materials.jso cdebf2b4eabcf71ee4566b7fbf22f18990a4e06b data/forge/tags/items/raw_ores.json c1ad472460350e6abd024de7785cd870dad05cd9 data/forge/tags/items/rods.json e84d8e1fa924bec3e226b8917b4973b9629a5f52 data/minecraft/tags/blocks/all/campfires.json +8875ba7215b30d75573e3dcfe46e0b690b1d7f2f data/minecraft/tags/blocks/azalea_root_replaceable.json e84d8e1fa924bec3e226b8917b4973b9629a5f52 data/minecraft/tags/blocks/campfires.json 3206babfa42429478935375acd710b4028884941 data/minecraft/tags/blocks/dragon_transparent.json +8875ba7215b30d75573e3dcfe46e0b690b1d7f2f data/minecraft/tags/blocks/dripstone_replaceable_blocks.json 3206babfa42429478935375acd710b4028884941 data/minecraft/tags/blocks/fire.json 75f0600da4891d0f4a3329fb44cac6c4945a0b49 data/minecraft/tags/blocks/impermeable.json +8875ba7215b30d75573e3dcfe46e0b690b1d7f2f data/minecraft/tags/blocks/lush_ground_replaceable.json e84d8e1fa924bec3e226b8917b4973b9629a5f52 data/minecraft/tags/blocks/mineable/axe.json -1d7e6191a929a7d66c3622f76211d5e5cb0dbc24 data/minecraft/tags/blocks/mineable/pickaxe.json +f3aae3bed8f4a0faad6d92489d9f8e9c0c10e30f data/minecraft/tags/blocks/mineable/pickaxe.json a7d4278d8a39649c8b658ad2f3f1d092cb012bdf data/minecraft/tags/blocks/mineable/shovel.json +8875ba7215b30d75573e3dcfe46e0b690b1d7f2f data/minecraft/tags/blocks/moss_replaceable.json 41d3382a5f829a516326fa59334529abffdc8fb2 data/minecraft/tags/blocks/needs_diamond_tool.json 38aa0fddd24ec7dde10f1e2804328660a2019ac8 data/minecraft/tags/blocks/needs_iron_tool.json +9b9e13222cf9d971353888483c5f041cbb664dc3 data/minecraft/tags/blocks/slabs.json +7e5c701218bfbd3b186b102ff52dc79454a39e8f data/minecraft/tags/blocks/stairs.json +92fe109294976e85a9b9763124896e012a17c98a data/minecraft/tags/blocks/walls.json 2535c56fd6376328fbca0528562ecc2046a3b655 data/minecraft/tags/entity_types/fall_damage_immune.json a63487094743744be756ad497f483fcd4d11e9bc data/minecraft/tags/fluids/lava.json +9b9e13222cf9d971353888483c5f041cbb664dc3 data/minecraft/tags/items/slabs.json +7e5c701218bfbd3b186b102ff52dc79454a39e8f data/minecraft/tags/items/stairs.json +92fe109294976e85a9b9763124896e012a17c98a data/minecraft/tags/items/walls.json diff --git a/src/generated/resources/assets/createnuclear/blockstates/autunite.json b/src/generated/resources/assets/createnuclear/blockstates/autunite.json new file mode 100644 index 00000000..4a2b9024 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/autunite.json @@ -0,0 +1,18 @@ +{ + "variants": { + "": [ + { + "model": "createnuclear:block/autunite_natural_0" + }, + { + "model": "createnuclear:block/autunite_natural_1" + }, + { + "model": "createnuclear:block/autunite_natural_2" + }, + { + "model": "createnuclear:block/autunite_natural_3" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/autunite_pillar.json b/src/generated/resources/assets/createnuclear/blockstates/autunite_pillar.json new file mode 100644 index 00000000..e458cf35 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/autunite_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "createnuclear:block/autunite_pillar_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "createnuclear:block/autunite_pillar" + }, + "axis=z": { + "model": "createnuclear:block/autunite_pillar_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/cut_autunite.json b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite.json new file mode 100644 index 00000000..348beec9 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "createnuclear:block/cut_autunite" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_slab.json b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_slab.json new file mode 100644 index 00000000..bf6717a8 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "createnuclear:block/cut_autunite_brick_slab" + }, + "type=double": { + "model": "createnuclear:block/cut_autunite_bricks" + }, + "type=top": { + "model": "createnuclear:block/cut_autunite_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_stairs.json b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_stairs.json new file mode 100644 index 00000000..e4ddb53d --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "createnuclear:block/cut_autunite_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "createnuclear:block/cut_autunite_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "createnuclear:block/cut_autunite_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "createnuclear:block/cut_autunite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "createnuclear:block/cut_autunite_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "createnuclear:block/cut_autunite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "createnuclear:block/cut_autunite_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "createnuclear:block/cut_autunite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_wall.json b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_wall.json new file mode 100644 index 00000000..6238eb23 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_bricks_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_bricks.json b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_bricks.json new file mode 100644 index 00000000..2310db79 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "createnuclear:block/cut_autunite_bricks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_slab.json b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_slab.json new file mode 100644 index 00000000..f988d441 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "createnuclear:block/cut_autunite_slab" + }, + "type=double": { + "model": "createnuclear:block/cut_autunite" + }, + "type=top": { + "model": "createnuclear:block/cut_autunite_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_stairs.json b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_stairs.json new file mode 100644 index 00000000..644c51df --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "createnuclear:block/cut_autunite_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "createnuclear:block/cut_autunite_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "createnuclear:block/cut_autunite_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "createnuclear:block/cut_autunite_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "createnuclear:block/cut_autunite_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "createnuclear:block/cut_autunite_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "createnuclear:block/cut_autunite_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "createnuclear:block/cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "createnuclear:block/cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "createnuclear:block/cut_autunite_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_wall.json b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_wall.json new file mode 100644 index 00000000..7dc547ea --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/cut_autunite_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/cut_autunite_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/layered_autunite.json b/src/generated/resources/assets/createnuclear/blockstates/layered_autunite.json new file mode 100644 index 00000000..0a3c80cd --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/layered_autunite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "createnuclear:block/layered_autunite" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite.json b/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite.json new file mode 100644 index 00000000..4c92a233 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "createnuclear:block/polished_cut_autunite" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_slab.json b/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_slab.json new file mode 100644 index 00000000..5b7942b8 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "createnuclear:block/polished_cut_autunite_slab" + }, + "type=double": { + "model": "createnuclear:block/polished_cut_autunite_slab_double" + }, + "type=top": { + "model": "createnuclear:block/polished_cut_autunite_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_stairs.json b/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_stairs.json new file mode 100644 index 00000000..415c46ed --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "createnuclear:block/polished_cut_autunite_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "createnuclear:block/polished_cut_autunite_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "createnuclear:block/polished_cut_autunite_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "createnuclear:block/polished_cut_autunite_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "createnuclear:block/polished_cut_autunite_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "createnuclear:block/polished_cut_autunite_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "createnuclear:block/polished_cut_autunite_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "createnuclear:block/polished_cut_autunite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "createnuclear:block/polished_cut_autunite_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_wall.json b/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_wall.json new file mode 100644 index 00000000..07a87341 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/polished_cut_autunite_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/polished_cut_autunite_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick.json b/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick.json new file mode 100644 index 00000000..165ab703 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "createnuclear:block/small_autunite_brick" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_slab.json b/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_slab.json new file mode 100644 index 00000000..9e0c94a5 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "createnuclear:block/small_autunite_brick_slab" + }, + "type=double": { + "model": "createnuclear:block/small_autunite_brick" + }, + "type=top": { + "model": "createnuclear:block/small_autunite_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_stairs.json b/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_stairs.json new file mode 100644 index 00000000..8d3d5f2d --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "createnuclear:block/small_autunite_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "createnuclear:block/small_autunite_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "createnuclear:block/small_autunite_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "createnuclear:block/small_autunite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "createnuclear:block/small_autunite_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "createnuclear:block/small_autunite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "createnuclear:block/small_autunite_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "createnuclear:block/small_autunite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "createnuclear:block/small_autunite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_wall.json b/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_wall.json new file mode 100644 index 00000000..a571f2ff --- /dev/null +++ b/src/generated/resources/assets/createnuclear/blockstates/small_autunite_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "createnuclear:block/small_autunite_brick_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/lang/en_ud.json b/src/generated/resources/assets/createnuclear/lang/en_ud.json index 8570c11e..d1c10af3 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_ud.json +++ b/src/generated/resources/assets/createnuclear/lang/en_ud.json @@ -51,14 +51,29 @@ "advancement.createnuclear.uranium_rod.desc": "ɹǝʇɟɐɹɔ ןɐɔıuɐɥɔǝɯ ɐ uı ǝʞɐɔʍoןןǝʎ pǝɥɔıɹuǝ buısn poɹ ɯnıuɐɹn ʇsɹıɟ ɹnoʎ ǝʇɐǝɹƆ", "advancement.createnuclear.yellowcake": "ssǝɔoɹԀ ǝʞɐɔʍoןןǝʎ ǝɥ⟘", "advancement.createnuclear.yellowcake.desc": "ǝʞɐɔʍoןןǝʎ ǝʇɐǝɹɔ oʇ pınbıן ɯnıuɐɹn ʇɔɐdɯoƆ", + "block.createnuclear.autunite": "ǝʇıunʇnⱯ", + "block.createnuclear.autunite_pillar": "ɹɐןןıԀ ǝʇıunʇnⱯ", + "block.createnuclear.cut_autunite": "ǝʇıunʇnⱯ ʇnƆ", + "block.createnuclear.cut_autunite_brick_slab": "qɐןS ʞɔıɹᗺ ǝʇıunʇnⱯ ʇnƆ", + "block.createnuclear.cut_autunite_brick_stairs": "sɹıɐʇS ʞɔıɹᗺ ǝʇıunʇnⱯ ʇnƆ", + "block.createnuclear.cut_autunite_brick_wall": "ןןɐM ʞɔıɹᗺ ǝʇıunʇnⱯ ʇnƆ", + "block.createnuclear.cut_autunite_bricks": "sʞɔıɹᗺ ǝʇıunʇnⱯ ʇnƆ", + "block.createnuclear.cut_autunite_slab": "qɐןS ǝʇıunʇnⱯ ʇnƆ", + "block.createnuclear.cut_autunite_stairs": "sɹıɐʇS ǝʇıunʇnⱯ ʇnƆ", + "block.createnuclear.cut_autunite_wall": "ןןɐM ǝʇıunʇnⱯ ʇnƆ", "block.createnuclear.deepslate_lead_ore": "ǝɹO pɐǝꞀ ǝʇɐןsdǝǝᗡ", "block.createnuclear.deepslate_uranium_ore": "ǝɹO ɯnıuɐɹ∩ ǝʇɐןsdǝǝᗡ", "block.createnuclear.enriched_soul_soil": "ןıoS ןnoS pǝɥɔıɹuƎ", "block.createnuclear.enriched_soul_soil.tooltip.summary": "˙‾ǝɹıɟ uǝǝɹb‾ ɐ ǝʞɐɯ oʇ ʇsnظ ɹo ǝɹıɟdɯɐɔ pǝɥɔıɹuǝ ‾ʇɟɐɹɔ‾ oʇ pǝsn ǝq uɐƆ˙‾ǝɹıɟ pǝɥɔıɹuǝ‾ ǝʇɐǝɹɔ oɥʍ ʞɔoןq ‾ʎןuo‾ ǝɥ⟘", "block.createnuclear.enriching_campfire": "ǝɹıɟdɯɐƆ buıɥɔıɹuƎ", "block.createnuclear.enriching_fire": "ǝɹıℲ buıɥɔıɹuƎ", + "block.createnuclear.layered_autunite": "ǝʇıunʇnⱯ pǝɹǝʎɐꞀ", "block.createnuclear.lead_block": "ʞɔoןᗺ pɐǝꞀ", "block.createnuclear.lead_ore": "ǝɹO pɐǝꞀ", + "block.createnuclear.polished_cut_autunite": "ǝʇıunʇnⱯ ʇnƆ pǝɥsıןoԀ", + "block.createnuclear.polished_cut_autunite_slab": "qɐןS ǝʇıunʇnⱯ ʇnƆ pǝɥsıןoԀ", + "block.createnuclear.polished_cut_autunite_stairs": "sɹıɐʇS ǝʇıunʇnⱯ ʇnƆ pǝɥsıןoԀ", + "block.createnuclear.polished_cut_autunite_wall": "ןןɐM ǝʇıunʇnⱯ ʇnƆ pǝɥsıןoԀ", "block.createnuclear.raw_lead_block": "ʞɔoןᗺ pɐǝꞀ ʍɐᴚ", "block.createnuclear.raw_uranium_block": "ʞɔoןᗺ ɯnıuɐɹ∩ ʍɐᴚ", "block.createnuclear.reactor_casing": "buısɐƆ ɹoʇɔɐǝᴚ", @@ -82,6 +97,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "ʎbɹǝuǝ ǝɔnpoɹd ɹoʇɔɐǝɹ ǝɥʇ uǝɥM", "block.createnuclear.reactor_output.tooltip.summary": "‾ɹoʇɔɐǝᴚ‾ ǝɥʇ ʎq pǝʇɐɹǝuǝb ʎbɹǝuǝ ןɐɔıuɐɥɔǝɯ ǝɥʇ ʇɔɐɹʇxǝ oʇ pǝsn ǝq uɐɔ ʇɐɥʇ ‾ʞɔoןq‾ ɐ sı ‾ʇndʇnO ɹoʇɔɐǝᴚ ǝɥ⟘‾", "block.createnuclear.reinforced_glass": "ssɐן⅁ pǝɔɹoɟuıǝᴚ", + "block.createnuclear.small_autunite_brick": "ʞɔıɹᗺ ǝʇıunʇnⱯ ןןɐɯS", + "block.createnuclear.small_autunite_brick_slab": "qɐןS ʞɔıɹᗺ ǝʇıunʇnⱯ ןןɐɯS", + "block.createnuclear.small_autunite_brick_stairs": "sɹıɐʇS ʞɔıɹᗺ ǝʇıunʇnⱯ ןןɐɯS", + "block.createnuclear.small_autunite_brick_wall": "ןןɐM ʞɔıɹᗺ ǝʇıunʇnⱯ ןןɐɯS", "block.createnuclear.steel_block": "ʞɔoןᗺ ןǝǝʇS", "block.createnuclear.uranium": "ɯnıuɐɹ∩", "block.createnuclear.uranium_ore": "ǝɹO ɯnıuɐɹ∩", diff --git a/src/generated/resources/assets/createnuclear/lang/en_us.json b/src/generated/resources/assets/createnuclear/lang/en_us.json index d108fbbd..453e72be 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_us.json +++ b/src/generated/resources/assets/createnuclear/lang/en_us.json @@ -51,14 +51,29 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can be used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +97,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick": "Small Autunite Brick", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", diff --git a/src/generated/resources/assets/createnuclear/models/block/autunite_natural_0.json b/src/generated/resources/assets/createnuclear/models/block/autunite_natural_0.json new file mode 100644 index 00000000..cb0b80fe --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/autunite_natural_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/natural/autunite_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/autunite_natural_1.json b/src/generated/resources/assets/createnuclear/models/block/autunite_natural_1.json new file mode 100644 index 00000000..43eaf7da --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/autunite_natural_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/natural/autunite_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/autunite_natural_2.json b/src/generated/resources/assets/createnuclear/models/block/autunite_natural_2.json new file mode 100644 index 00000000..717fcaa9 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/autunite_natural_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/natural/autunite_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/autunite_natural_3.json b/src/generated/resources/assets/createnuclear/models/block/autunite_natural_3.json new file mode 100644 index 00000000..14c2b222 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/autunite_natural_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/natural/autunite_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/autunite_pillar.json b/src/generated/resources/assets/createnuclear/models/block/autunite_pillar.json new file mode 100644 index 00000000..131eea31 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/autunite_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "createnuclear:block/palettes/stone_types/cap/autunite_cut_cap", + "side": "createnuclear:block/palettes/stone_types/pillar/autunite_cut_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/autunite_pillar_horizontal.json b/src/generated/resources/assets/createnuclear/models/block/autunite_pillar_horizontal.json new file mode 100644 index 00000000..5312732a --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/autunite_pillar_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "createnuclear:block/palettes/stone_types/cap/autunite_cut_cap", + "side": "createnuclear:block/palettes/stone_types/pillar/autunite_cut_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite.json new file mode 100644 index 00000000..8f73ebd9 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_slab.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_slab.json new file mode 100644 index 00000000..48ea4cfa --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "side": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "top": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_slab_top.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_slab_top.json new file mode 100644 index 00000000..2aa561eb --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "side": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "top": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs.json new file mode 100644 index 00000000..bc4722b3 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "side": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "top": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs_inner.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs_inner.json new file mode 100644 index 00000000..9b8df2ea --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "side": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "top": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs_outer.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs_outer.json new file mode 100644 index 00000000..4bb16955 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "side": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick", + "top": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks.json new file mode 100644 index 00000000..1114e0c8 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_post.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_post.json new file mode 100644 index 00000000..9d50264b --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_side.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_side.json new file mode 100644 index 00000000..29590b5a --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_side_tall.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_side_tall.json new file mode 100644 index 00000000..2315df84 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_bricks_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_slab.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_slab.json new file mode 100644 index 00000000..40e0473a --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "side": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "top": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_slab_top.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_slab_top.json new file mode 100644 index 00000000..279cc05f --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "side": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "top": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs.json new file mode 100644 index 00000000..486ac523 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "side": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "top": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs_inner.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs_inner.json new file mode 100644 index 00000000..85b0cdae --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "side": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "top": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs_outer.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs_outer.json new file mode 100644 index 00000000..0291f2cc --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "side": "createnuclear:block/palettes/stone_types/cut/autunite_cut", + "top": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_post.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_post.json new file mode 100644 index 00000000..7bce58c8 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_side.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_side.json new file mode 100644 index 00000000..c537cb4f --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_side_tall.json b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_side_tall.json new file mode 100644 index 00000000..2c8f3f18 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/cut_autunite_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/layered_autunite.json b/src/generated/resources/assets/createnuclear/models/block/layered_autunite.json new file mode 100644 index 00000000..dde2c3ea --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/layered_autunite.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "createnuclear:block/palettes/stone_types/cap/autunite_cut_cap", + "side": "createnuclear:block/palettes/stone_types/layered/autunite_cut_layered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite.json new file mode 100644 index 00000000..b4ad8997 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab.json new file mode 100644 index 00000000..a88a8eb8 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "side": "createnuclear:block/palettes/stone_types/slab/autunite_cut_slab", + "top": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab_double.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab_double.json new file mode 100644 index 00000000..97d612fc --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab_double.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "side": "createnuclear:block/palettes/stone_types/slab/autunite_cut_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab_top.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab_top.json new file mode 100644 index 00000000..a7e56545 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "side": "createnuclear:block/palettes/stone_types/slab/autunite_cut_slab", + "top": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs.json new file mode 100644 index 00000000..b052ecae --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "side": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "top": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs_inner.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs_inner.json new file mode 100644 index 00000000..22b032f5 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "side": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "top": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs_outer.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs_outer.json new file mode 100644 index 00000000..bc184683 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "side": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished", + "top": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_post.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_post.json new file mode 100644 index 00000000..27981642 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_side.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_side.json new file mode 100644 index 00000000..97342e99 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_side_tall.json b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_side_tall.json new file mode 100644 index 00000000..acd6f264 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/polished_cut_autunite_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick.json new file mode 100644 index 00000000..6f612f14 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_slab.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_slab.json new file mode 100644 index 00000000..29c5ca31 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "side": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "top": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_slab_top.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_slab_top.json new file mode 100644 index 00000000..3bb170c2 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "side": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "top": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs.json new file mode 100644 index 00000000..54f9e4ba --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "side": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "top": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs_inner.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs_inner.json new file mode 100644 index 00000000..ad2e5c32 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "side": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "top": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs_outer.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs_outer.json new file mode 100644 index 00000000..d5d2af97 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "side": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick", + "top": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_post.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_post.json new file mode 100644 index 00000000..a6dcb8a6 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_side.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_side.json new file mode 100644 index 00000000..6db9a704 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_side_tall.json b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_side_tall.json new file mode 100644 index 00000000..3f501c48 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/block/small_autunite_brick_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/autunite.json b/src/generated/resources/assets/createnuclear/models/item/autunite.json new file mode 100644 index 00000000..43eaf7da --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/autunite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createnuclear:block/palettes/stone_types/natural/autunite_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/autunite_pillar.json b/src/generated/resources/assets/createnuclear/models/item/autunite_pillar.json new file mode 100644 index 00000000..1a44d12a --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/autunite_pillar.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/autunite_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/cut_autunite.json b/src/generated/resources/assets/createnuclear/models/item/cut_autunite.json new file mode 100644 index 00000000..529d3f69 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/cut_autunite.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/cut_autunite" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_slab.json b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_slab.json new file mode 100644 index 00000000..620e8ff5 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/cut_autunite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_stairs.json b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_stairs.json new file mode 100644 index 00000000..fc289587 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/cut_autunite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_wall.json b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_wall.json new file mode 100644 index 00000000..8abf9ec6 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_brick_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/brick/autunite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/cut_autunite_bricks.json b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_bricks.json new file mode 100644 index 00000000..2e128ce0 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/cut_autunite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/cut_autunite_slab.json b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_slab.json new file mode 100644 index 00000000..c4c3ce4d --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/cut_autunite_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/cut_autunite_stairs.json b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_stairs.json new file mode 100644 index 00000000..e4dc09c6 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/cut_autunite_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/cut_autunite_wall.json b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_wall.json new file mode 100644 index 00000000..aa8816a6 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/cut_autunite_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/cut/autunite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/layered_autunite.json b/src/generated/resources/assets/createnuclear/models/item/layered_autunite.json new file mode 100644 index 00000000..43171e22 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/layered_autunite.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/layered_autunite" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite.json b/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite.json new file mode 100644 index 00000000..bfd8d470 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/polished_cut_autunite" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_slab.json b/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_slab.json new file mode 100644 index 00000000..3c96b76e --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/polished_cut_autunite_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_stairs.json b/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_stairs.json new file mode 100644 index 00000000..e35c914d --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/polished_cut_autunite_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_wall.json b/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_wall.json new file mode 100644 index 00000000..d217782c --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/polished_cut_autunite_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/polished/autunite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick.json b/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick.json new file mode 100644 index 00000000..a62e6ae8 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/small_autunite_brick" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_slab.json b/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_slab.json new file mode 100644 index 00000000..e2ae7286 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/small_autunite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_stairs.json b/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_stairs.json new file mode 100644 index 00000000..51ffb616 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "createnuclear:block/small_autunite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_wall.json b/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_wall.json new file mode 100644 index 00000000..868c8107 --- /dev/null +++ b/src/generated/resources/assets/createnuclear/models/item/small_autunite_brick_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "createnuclear:block/palettes/stone_types/small_brick/autunite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_brick_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_brick_slab_recycling.json deleted file mode 100644 index 2fe87b34..00000000 --- a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_brick_slab_recycling.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cut_deepslate_brick_slab": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:cut_deepslate_brick_slab" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "create:cut_deepslate_brick_slab_recycling" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_cut_deepslate_brick_slab", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "create:cut_deepslate_brick_slab_recycling" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/deepslate_polished_cut_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/deepslate_polished_cut_slab_recycling.json deleted file mode 100644 index 6006843e..00000000 --- a/src/generated/resources/data/create/advancements/recipes/building_blocks/deepslate_polished_cut_slab_recycling.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_deepslate_polished_cut_slab": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:deepslate_polished_cut_slab" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "create:deepslate_polished_cut_slab_recycling" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_deepslate_polished_cut_slab", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "create:deepslate_polished_cut_slab_recycling" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/small_deepslate_brick_slab_recycling.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/small_deepslate_brick_slab_recycling.json deleted file mode 100644 index 9eff604a..00000000 --- a/src/generated/resources/data/create/advancements/recipes/building_blocks/small_deepslate_brick_slab_recycling.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_small_deepslate_brick_slab": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:small_deepslate_brick_slab" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "create:small_deepslate_brick_slab_recycling" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_small_deepslate_brick_slab", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "create:small_deepslate_brick_slab_recycling" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/autunite_polished_cut_slab_recycling.json b/src/generated/resources/data/create/recipes/autunite_polished_cut_slab_recycling.json deleted file mode 100644 index 5131bc95..00000000 --- a/src/generated/resources/data/create/recipes/autunite_polished_cut_slab_recycling.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "building", - "ingredients": [ - { - "item": "createnuclear:autunite_polished_cut_slab" - }, - { - "item": "createnuclear:autunite_polished_cut_slab" - } - ], - "result": { - "item": "createnuclear:autunite_polished_cut" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/cut_deepslate_brick_slab_recycling.json b/src/generated/resources/data/create/recipes/cut_deepslate_brick_slab_recycling.json deleted file mode 100644 index 93d2222c..00000000 --- a/src/generated/resources/data/create/recipes/cut_deepslate_brick_slab_recycling.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "building", - "ingredients": [ - { - "item": "createnuclear:cut_deepslate_brick_slab" - }, - { - "item": "createnuclear:cut_deepslate_brick_slab" - } - ], - "result": { - "item": "createnuclear:cut_deepslate_bricks" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/cut_deepslate_slab_recycling.json b/src/generated/resources/data/create/recipes/cut_deepslate_slab_recycling.json deleted file mode 100644 index ae4f7a0e..00000000 --- a/src/generated/resources/data/create/recipes/cut_deepslate_slab_recycling.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "building", - "ingredients": [ - { - "item": "createnuclear:cut_deepslate_slab" - }, - { - "item": "createnuclear:cut_deepslate_slab" - } - ], - "result": { - "item": "createnuclear:cut_deepslate" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/deepslate_polished_cut_slab_recycling.json b/src/generated/resources/data/create/recipes/deepslate_polished_cut_slab_recycling.json deleted file mode 100644 index 5f7a27e1..00000000 --- a/src/generated/resources/data/create/recipes/deepslate_polished_cut_slab_recycling.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "building", - "ingredients": [ - { - "item": "createnuclear:deepslate_polished_cut_slab" - }, - { - "item": "createnuclear:deepslate_polished_cut_slab" - } - ], - "result": { - "item": "createnuclear:deepslate_polished_cut" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/small_deepslate_brick_slab_recycling.json b/src/generated/resources/data/create/recipes/small_deepslate_brick_slab_recycling.json deleted file mode 100644 index 156a1181..00000000 --- a/src/generated/resources/data/create/recipes/small_deepslate_brick_slab_recycling.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "building", - "ingredients": [ - { - "item": "createnuclear:small_deepslate_brick_slab" - }, - { - "item": "createnuclear:small_deepslate_brick_slab" - } - ], - "result": { - "item": "createnuclear:small_deepslate_bricks" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/asurine_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_from_stone_types_autunite_stonecutting.json similarity index 78% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/asurine_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_from_stone_types_autunite_stonecutting.json index bc46f9f1..9168859b 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/asurine_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_from_stone_types_autunite_stonecutting.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:asurine_from_stone_types_autunite_stonecutting" + "recipe": "createnuclear:autunite_from_stone_types_autunite_stonecutting" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "createnuclear:asurine_from_stone_types_autunite_stonecutting" + "createnuclear:autunite_from_stone_types_autunite_stonecutting" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs.json deleted file mode 100644 index 86d9f61f..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_autunite_polished_cut": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:autunite_polished_cut" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:autunite_polished_cut_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_autunite_polished_cut", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:autunite_polished_cut_stairs" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json similarity index 83% rename from src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json index 678ba7ca..d883a424 100644 --- a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_brick_slab_recycling.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "create:cut_autunite_brick_slab_recycling" + "recipe": "createnuclear:cut_autunite_brick_slab_recycling" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "create:cut_autunite_brick_slab_recycling" + "createnuclear:cut_autunite_brick_slab_recycling" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json similarity index 84% rename from src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json index 61bb9900..a530638b 100644 --- a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_autunite_slab_recycling.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "create:cut_autunite_slab_recycling" + "recipe": "createnuclear:cut_autunite_slab_recycling" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "create:cut_autunite_slab_recycling" + "createnuclear:cut_autunite_slab_recycling" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab.json deleted file mode 100644 index ff2514cf..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cut_deepslate_bricks": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:cut_deepslate_bricks" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_brick_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_cut_deepslate_bricks", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_brick_slab" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 03de4af1..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs.json deleted file mode 100644 index 1e9c28cb..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cut_deepslate_bricks": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:cut_deepslate_bricks" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_brick_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_cut_deepslate_bricks", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_brick_stairs" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index fd7b8b98..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall.json deleted file mode 100644 index 9814371f..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cut_deepslate_bricks": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:cut_deepslate_bricks" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_brick_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_cut_deepslate_bricks", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_brick_wall" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 99977cc2..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 5955897f..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_bricks_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_bricks_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 2377f598..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab.json deleted file mode 100644 index b6cd7359..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cut_deepslate": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:cut_deepslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_cut_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_slab" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 6fe837b7..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_slab_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_slab_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs.json deleted file mode 100644 index 20c2785e..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cut_deepslate": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:cut_deepslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_cut_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_stairs" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 023cd2dd..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_stairs_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_stairs_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall.json deleted file mode 100644 index f2cde439..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cut_deepslate": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:cut_deepslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_cut_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_wall" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index e87c1b13..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:cut_deepslate_wall_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:cut_deepslate_wall_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 6cfc77a7..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_layered_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_layered_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index d5fbadb5..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_layered_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_layered_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_layered_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_pillar_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_pillar_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 14c7f6d4..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_pillar_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_pillar_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_pillar_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index e5f992b6..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_polished_cut_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_polished_cut_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab.json deleted file mode 100644 index 281481f6..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_deepslate_polished_cut": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:deepslate_polished_cut" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_polished_cut_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_deepslate_polished_cut", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_polished_cut_slab" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 916fffb9..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs.json deleted file mode 100644 index e937a761..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_deepslate_polished_cut": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:deepslate_polished_cut" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_polished_cut_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_deepslate_polished_cut", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_polished_cut_stairs" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index ccb29fd1..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall.json deleted file mode 100644 index 28d2cdd7..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_deepslate_polished_cut": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:deepslate_polished_cut" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_polished_cut_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_deepslate_polished_cut", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_polished_cut_wall" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 17cb834b..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_layered_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/layered_autunite_from_stone_types_autunite_stonecutting.json similarity index 82% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_layered_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/layered_autunite_from_stone_types_autunite_stonecutting.json index 89e2406f..0def71b0 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_layered_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/layered_autunite_from_stone_types_autunite_stonecutting.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:autunite_layered_from_stone_types_autunite_stonecutting" + "recipe": "createnuclear:layered_autunite_from_stone_types_autunite_stonecutting" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "createnuclear:autunite_layered_from_stone_types_autunite_stonecutting" + "createnuclear:layered_autunite_from_stone_types_autunite_stonecutting" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_from_stone_types_autunite_stonecutting.json similarity index 82% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_from_stone_types_autunite_stonecutting.json index e4dbf0f3..dd002418 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_from_stone_types_autunite_stonecutting.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:autunite_polished_cut_from_stone_types_autunite_stonecutting" + "recipe": "createnuclear:polished_cut_autunite_from_stone_types_autunite_stonecutting" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "createnuclear:autunite_polished_cut_from_stone_types_autunite_stonecutting" + "createnuclear:polished_cut_autunite_from_stone_types_autunite_stonecutting" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab.json similarity index 67% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab.json index c4fc32de..a507e5cb 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab.json @@ -1,12 +1,12 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_autunite_polished_cut": { + "has_polished_cut_autunite": { "conditions": { "items": [ { "items": [ - "createnuclear:autunite_polished_cut" + "createnuclear:polished_cut_autunite" ] } ] @@ -15,20 +15,20 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:autunite_polished_cut_slab" + "recipe": "createnuclear:polished_cut_autunite_slab" }, "trigger": "minecraft:recipe_unlocked" } }, "requirements": [ [ - "has_autunite_polished_cut", + "has_polished_cut_autunite", "has_the_recipe" ] ], "rewards": { "recipes": [ - "createnuclear:autunite_polished_cut_slab" + "createnuclear:polished_cut_autunite_slab" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json similarity index 83% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json index 30303108..15089aa7 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:autunite_polished_cut_wall_from_stone_types_autunite_stonecutting" + "recipe": "createnuclear:polished_cut_autunite_slab_from_stone_types_autunite_stonecutting" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "createnuclear:autunite_polished_cut_wall_from_stone_types_autunite_stonecutting" + "createnuclear:polished_cut_autunite_slab_from_stone_types_autunite_stonecutting" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/autunite_polished_cut_slab_recycling.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_recycling.json similarity index 64% rename from src/generated/resources/data/create/advancements/recipes/building_blocks/autunite_polished_cut_slab_recycling.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_recycling.json index 99960354..925ada64 100644 --- a/src/generated/resources/data/create/advancements/recipes/building_blocks/autunite_polished_cut_slab_recycling.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_slab_recycling.json @@ -1,12 +1,12 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_autunite_polished_cut_slab": { + "has_polished_cut_autunite_slab": { "conditions": { "items": [ { "items": [ - "createnuclear:autunite_polished_cut_slab" + "createnuclear:polished_cut_autunite_slab" ] } ] @@ -15,20 +15,20 @@ }, "has_the_recipe": { "conditions": { - "recipe": "create:autunite_polished_cut_slab_recycling" + "recipe": "createnuclear:polished_cut_autunite_slab_recycling" }, "trigger": "minecraft:recipe_unlocked" } }, "requirements": [ [ - "has_autunite_polished_cut_slab", + "has_polished_cut_autunite_slab", "has_the_recipe" ] ], "rewards": { "recipes": [ - "create:autunite_polished_cut_slab_recycling" + "createnuclear:polished_cut_autunite_slab_recycling" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_slab_recycling.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs.json similarity index 66% rename from src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_slab_recycling.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs.json index fdf53293..89f5425d 100644 --- a/src/generated/resources/data/create/advancements/recipes/building_blocks/cut_deepslate_slab_recycling.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs.json @@ -1,12 +1,12 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_cut_deepslate_slab": { + "has_polished_cut_autunite": { "conditions": { "items": [ { "items": [ - "createnuclear:cut_deepslate_slab" + "createnuclear:polished_cut_autunite" ] } ] @@ -15,20 +15,20 @@ }, "has_the_recipe": { "conditions": { - "recipe": "create:cut_deepslate_slab_recycling" + "recipe": "createnuclear:polished_cut_autunite_stairs" }, "trigger": "minecraft:recipe_unlocked" } }, "requirements": [ [ - "has_cut_deepslate_slab", + "has_polished_cut_autunite", "has_the_recipe" ] ], "rewards": { "recipes": [ - "create:cut_deepslate_slab_recycling" + "createnuclear:polished_cut_autunite_stairs" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json similarity index 83% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json index 4ef7f17c..6daea314 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting" + "recipe": "createnuclear:polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "createnuclear:autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting" + "createnuclear:polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_wall.json similarity index 67% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_wall.json index d2f3a1d4..90aabe25 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_wall.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_wall.json @@ -1,12 +1,12 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_autunite_polished_cut": { + "has_polished_cut_autunite": { "conditions": { "items": [ { "items": [ - "createnuclear:autunite_polished_cut" + "createnuclear:polished_cut_autunite" ] } ] @@ -15,20 +15,20 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:autunite_polished_cut_wall" + "recipe": "createnuclear:polished_cut_autunite_wall" }, "trigger": "minecraft:recipe_unlocked" } }, "requirements": [ [ - "has_autunite_polished_cut", + "has_polished_cut_autunite", "has_the_recipe" ] ], "rewards": { "recipes": [ - "createnuclear:autunite_polished_cut_wall" + "createnuclear:polished_cut_autunite_wall" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json similarity index 83% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json index f5f298a4..244d3d09 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:autunite_polished_cut_slab_from_stone_types_autunite_stonecutting" + "recipe": "createnuclear:polished_cut_autunite_wall_from_stone_types_autunite_stonecutting" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "createnuclear:autunite_polished_cut_slab_from_stone_types_autunite_stonecutting" + "createnuclear:polished_cut_autunite_wall_from_stone_types_autunite_stonecutting" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_bricks_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_from_stone_types_autunite_stonecutting.json similarity index 76% rename from src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_bricks_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_from_stone_types_autunite_stonecutting.json index 8056afa0..300aac2b 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_bricks_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_from_stone_types_autunite_stonecutting.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "createnuclear:small_autunite_bricks_from_stone_types_autunite_stonecutting" + "recipe": "createnuclear:small_autunite_brick_from_stone_types_autunite_stonecutting" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "createnuclear:small_autunite_bricks_from_stone_types_autunite_stonecutting" + "createnuclear:small_autunite_brick_from_stone_types_autunite_stonecutting" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json index cc63c0dd..d221dcc0 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab.json @@ -1,12 +1,12 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_small_autunite_bricks": { + "has_small_autunite_brick": { "conditions": { "items": [ { "items": [ - "createnuclear:small_autunite_bricks" + "createnuclear:small_autunite_brick" ] } ] @@ -22,7 +22,7 @@ }, "requirements": [ [ - "has_small_autunite_bricks", + "has_small_autunite_brick", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json similarity index 82% rename from src/generated/resources/data/create/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json rename to src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json index 07249de3..d2f93915 100644 --- a/src/generated/resources/data/create/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_slab_recycling.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "create:small_autunite_brick_slab_recycling" + "recipe": "createnuclear:small_autunite_brick_slab_recycling" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "create:small_autunite_brick_slab_recycling" + "createnuclear:small_autunite_brick_slab_recycling" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json index 9caeeee1..ad8cdcff 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_stairs.json @@ -1,12 +1,12 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_small_autunite_bricks": { + "has_small_autunite_brick": { "conditions": { "items": [ { "items": [ - "createnuclear:small_autunite_bricks" + "createnuclear:small_autunite_brick" ] } ] @@ -22,7 +22,7 @@ }, "requirements": [ [ - "has_small_autunite_bricks", + "has_small_autunite_brick", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json index 42a41957..b1a76c36 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_autunite_brick_wall.json @@ -1,12 +1,12 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_small_autunite_bricks": { + "has_small_autunite_brick": { "conditions": { "items": [ { "items": [ - "createnuclear:small_autunite_bricks" + "createnuclear:small_autunite_brick" ] } ] @@ -22,7 +22,7 @@ }, "requirements": [ [ - "has_small_autunite_bricks", + "has_small_autunite_brick", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab.json deleted file mode 100644 index cbc3deb1..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_small_deepslate_bricks": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:small_deepslate_bricks" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:small_deepslate_brick_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_small_deepslate_bricks", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:small_deepslate_brick_slab" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index a70fa6eb..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs.json deleted file mode 100644 index 72f44a8c..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_small_deepslate_bricks": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:small_deepslate_bricks" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:small_deepslate_brick_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_small_deepslate_bricks", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:small_deepslate_brick_stairs" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 712750ed..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall.json deleted file mode 100644 index 96f0d77e..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_small_deepslate_bricks": { - "conditions": { - "items": [ - { - "items": [ - "createnuclear:small_deepslate_bricks" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:small_deepslate_brick_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_small_deepslate_bricks", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:small_deepslate_brick_wall" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 72333b78..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 52bd7201..00000000 --- a/src/generated/resources/data/createnuclear/advancements/recipes/building_blocks/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_stone_types_deepslate": { - "conditions": { - "items": [ - { - "tag": "createnuclear:stone_types/deepslate" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "createnuclear:small_deepslate_bricks_from_stone_types_deepslate_stonecutting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_stone_types_deepslate", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "createnuclear:small_deepslate_bricks_from_stone_types_deepslate_stonecutting" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/asurine.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite.json similarity index 75% rename from src/generated/resources/data/createnuclear/loot_tables/blocks/asurine.json rename to src/generated/resources/data/createnuclear/loot_tables/blocks/autunite.json index 129d9b6b..4e2d7860 100644 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/asurine.json +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite.json @@ -11,11 +11,11 @@ "entries": [ { "type": "minecraft:item", - "name": "createnuclear:asurine" + "name": "createnuclear:autunite" } ], "rolls": 1.0 } ], - "random_sequence": "createnuclear:blocks/asurine" + "random_sequence": "createnuclear:blocks/autunite" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut.json deleted file mode 100644 index 746dde50..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:autunite_polished_cut" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/autunite_polished_cut" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_stairs.json deleted file mode 100644 index 100c9173..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_stairs.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:autunite_polished_cut_stairs" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/autunite_polished_cut_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_wall.json deleted file mode 100644 index fbf890f2..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_wall.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:autunite_polished_cut_wall" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/autunite_polished_cut_wall" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate.json deleted file mode 100644 index f41d7b4e..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:cut_deepslate" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/cut_deepslate" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_slab.json deleted file mode 100644 index 3f6c4f77..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_slab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "add": false, - "conditions": [ - { - "block": "createnuclear:cut_deepslate_brick_slab", - "condition": "minecraft:block_state_property", - "properties": { - "type": "double" - } - } - ], - "count": 2.0, - "function": "minecraft:set_count" - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "createnuclear:cut_deepslate_brick_slab" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/cut_deepslate_brick_slab" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_stairs.json deleted file mode 100644 index 2a31b71a..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_stairs.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:cut_deepslate_brick_stairs" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/cut_deepslate_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_wall.json deleted file mode 100644 index b3719d07..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_brick_wall.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:cut_deepslate_brick_wall" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/cut_deepslate_brick_wall" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_bricks.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_bricks.json deleted file mode 100644 index b7756e01..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_bricks.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:cut_deepslate_bricks" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/cut_deepslate_bricks" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_slab.json deleted file mode 100644 index 9f8a52ae..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_slab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "add": false, - "conditions": [ - { - "block": "createnuclear:cut_deepslate_slab", - "condition": "minecraft:block_state_property", - "properties": { - "type": "double" - } - } - ], - "count": 2.0, - "function": "minecraft:set_count" - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "createnuclear:cut_deepslate_slab" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/cut_deepslate_slab" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_wall.json deleted file mode 100644 index 4211c88c..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_wall.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:cut_deepslate_wall" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/cut_deepslate_wall" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_layered.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_layered.json deleted file mode 100644 index f634654f..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_layered.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:deepslate_layered" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/deepslate_layered" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_pillar.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_pillar.json deleted file mode 100644 index 2168fa2d..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_pillar.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:deepslate_pillar" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/deepslate_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut.json deleted file mode 100644 index eb51fb2c..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:deepslate_polished_cut" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/deepslate_polished_cut" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_slab.json deleted file mode 100644 index 1e12c8bf..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_slab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "add": false, - "conditions": [ - { - "block": "createnuclear:deepslate_polished_cut_slab", - "condition": "minecraft:block_state_property", - "properties": { - "type": "double" - } - } - ], - "count": 2.0, - "function": "minecraft:set_count" - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "createnuclear:deepslate_polished_cut_slab" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/deepslate_polished_cut_slab" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_stairs.json deleted file mode 100644 index 471b2b6d..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_stairs.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:deepslate_polished_cut_stairs" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/deepslate_polished_cut_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_wall.json deleted file mode 100644 index f5b59423..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/deepslate_polished_cut_wall.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:deepslate_polished_cut_wall" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/deepslate_polished_cut_wall" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_layered.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/layered_autunite.json similarity index 72% rename from src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_layered.json rename to src/generated/resources/data/createnuclear/loot_tables/blocks/layered_autunite.json index 192cb7b7..5b252376 100644 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_layered.json +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/layered_autunite.json @@ -11,11 +11,11 @@ "entries": [ { "type": "minecraft:item", - "name": "createnuclear:autunite_layered" + "name": "createnuclear:layered_autunite" } ], "rolls": 1.0 } ], - "random_sequence": "createnuclear:blocks/autunite_layered" + "random_sequence": "createnuclear:blocks/layered_autunite" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_bricks.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite.json similarity index 71% rename from src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_bricks.json rename to src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite.json index 71ab1282..27bf0a18 100644 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_bricks.json +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite.json @@ -11,11 +11,11 @@ "entries": [ { "type": "minecraft:item", - "name": "createnuclear:small_autunite_bricks" + "name": "createnuclear:polished_cut_autunite" } ], "rolls": 1.0 } ], - "random_sequence": "createnuclear:blocks/small_autunite_bricks" + "random_sequence": "createnuclear:blocks/polished_cut_autunite" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_slab.json similarity index 78% rename from src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_slab.json rename to src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_slab.json index e0f36864..fcd67d94 100644 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/autunite_polished_cut_slab.json +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_slab.json @@ -11,7 +11,7 @@ "add": false, "conditions": [ { - "block": "createnuclear:autunite_polished_cut_slab", + "block": "createnuclear:polished_cut_autunite_slab", "condition": "minecraft:block_state_property", "properties": { "type": "double" @@ -25,11 +25,11 @@ "function": "minecraft:explosion_decay" } ], - "name": "createnuclear:autunite_polished_cut_slab" + "name": "createnuclear:polished_cut_autunite_slab" } ], "rolls": 1.0 } ], - "random_sequence": "createnuclear:blocks/autunite_polished_cut_slab" + "random_sequence": "createnuclear:blocks/polished_cut_autunite_slab" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_stairs.json similarity index 70% rename from src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_stairs.json rename to src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_stairs.json index 7b66bac2..0b8ff5f4 100644 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_stairs.json +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_stairs.json @@ -11,11 +11,11 @@ "entries": [ { "type": "minecraft:item", - "name": "createnuclear:small_deepslate_brick_stairs" + "name": "createnuclear:polished_cut_autunite_stairs" } ], "rolls": 1.0 } ], - "random_sequence": "createnuclear:blocks/small_deepslate_brick_stairs" + "random_sequence": "createnuclear:blocks/polished_cut_autunite_stairs" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_wall.json similarity index 70% rename from src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_wall.json rename to src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_wall.json index 7610d6fc..e67c4be7 100644 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_wall.json +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/polished_cut_autunite_wall.json @@ -11,11 +11,11 @@ "entries": [ { "type": "minecraft:item", - "name": "createnuclear:small_deepslate_brick_wall" + "name": "createnuclear:polished_cut_autunite_wall" } ], "rolls": 1.0 } ], - "random_sequence": "createnuclear:blocks/small_deepslate_brick_wall" + "random_sequence": "createnuclear:blocks/polished_cut_autunite_wall" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_stairs.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick.json similarity index 71% rename from src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_stairs.json rename to src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick.json index a85c3155..3543b04e 100644 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/cut_deepslate_stairs.json +++ b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_autunite_brick.json @@ -11,11 +11,11 @@ "entries": [ { "type": "minecraft:item", - "name": "createnuclear:cut_deepslate_stairs" + "name": "createnuclear:small_autunite_brick" } ], "rolls": 1.0 } ], - "random_sequence": "createnuclear:blocks/cut_deepslate_stairs" + "random_sequence": "createnuclear:blocks/small_autunite_brick" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_slab.json deleted file mode 100644 index aa2cac59..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_brick_slab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "add": false, - "conditions": [ - { - "block": "createnuclear:small_deepslate_brick_slab", - "condition": "minecraft:block_state_property", - "properties": { - "type": "double" - } - } - ], - "count": 2.0, - "function": "minecraft:set_count" - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "createnuclear:small_deepslate_brick_slab" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/small_deepslate_brick_slab" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_bricks.json b/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_bricks.json deleted file mode 100644 index 6fdc60ec..00000000 --- a/src/generated/resources/data/createnuclear/loot_tables/blocks/small_deepslate_bricks.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "createnuclear:small_deepslate_bricks" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "createnuclear:blocks/small_deepslate_bricks" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/asurine_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/autunite_from_stone_types_autunite_stonecutting.json similarity index 77% rename from src/generated/resources/data/createnuclear/recipes/asurine_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/recipes/autunite_from_stone_types_autunite_stonecutting.json index 3d85195c..1badcd71 100644 --- a/src/generated/resources/data/createnuclear/recipes/asurine_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/recipes/autunite_from_stone_types_autunite_stonecutting.json @@ -4,5 +4,5 @@ "ingredient": { "tag": "createnuclear:stone_types/autunite" }, - "result": "createnuclear:asurine" + "result": "createnuclear:autunite" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs.json deleted file mode 100644 index 1b075171..00000000 --- a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "group": "autunite_polished_cut_stairs", - "key": { - "X": { - "item": "createnuclear:autunite_polished_cut" - } - }, - "pattern": [ - "X ", - "XX ", - "XXX" - ], - "result": { - "count": 4, - "item": "createnuclear:autunite_polished_cut_stairs" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall.json b/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall.json deleted file mode 100644 index 0c209876..00000000 --- a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "X": { - "item": "createnuclear:autunite_polished_cut" - } - }, - "pattern": [ - "XXX", - "XXX" - ], - "result": { - "count": 6, - "item": "createnuclear:autunite_polished_cut_wall" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/cut_autunite_brick_slab_recycling.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab_recycling.json similarity index 100% rename from src/generated/resources/data/create/recipes/cut_autunite_brick_slab_recycling.json rename to src/generated/resources/data/createnuclear/recipes/cut_autunite_brick_slab_recycling.json diff --git a/src/generated/resources/data/create/recipes/cut_autunite_slab_recycling.json b/src/generated/resources/data/createnuclear/recipes/cut_autunite_slab_recycling.json similarity index 100% rename from src/generated/resources/data/create/recipes/cut_autunite_slab_recycling.json rename to src/generated/resources/data/createnuclear/recipes/cut_autunite_slab_recycling.json diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab.json deleted file mode 100644 index 43c52fe5..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "group": "cut_deepslate_brick_slab", - "key": { - "X": { - "item": "createnuclear:cut_deepslate_bricks" - } - }, - "pattern": [ - "XXX" - ], - "result": { - "count": 6, - "item": "createnuclear:cut_deepslate_brick_slab" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 1dc5977e..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 2, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:cut_deepslate_brick_slab" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 8867c452..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:cut_deepslate_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 54f81593..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:cut_deepslate_brick_wall" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 3daf761c..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_bricks_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:cut_deepslate_bricks" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 041bedaf..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:cut_deepslate" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab.json deleted file mode 100644 index ffccaa2c..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "group": "cut_deepslate_slab", - "key": { - "X": { - "item": "createnuclear:cut_deepslate" - } - }, - "pattern": [ - "XXX" - ], - "result": { - "count": 6, - "item": "createnuclear:cut_deepslate_slab" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index e6b803df..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_slab_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 2, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:cut_deepslate_slab" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs.json deleted file mode 100644 index efb5f986..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "group": "cut_deepslate_stairs", - "key": { - "X": { - "item": "createnuclear:cut_deepslate" - } - }, - "pattern": [ - "X ", - "XX ", - "XXX" - ], - "result": { - "count": 4, - "item": "createnuclear:cut_deepslate_stairs" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index bdc4dcff..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_stairs_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:cut_deepslate_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall.json deleted file mode 100644 index 7555f423..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "X": { - "item": "createnuclear:cut_deepslate" - } - }, - "pattern": [ - "XXX", - "XXX" - ], - "result": { - "count": 6, - "item": "createnuclear:cut_deepslate_wall" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index e794413a..00000000 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_wall_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:cut_deepslate_wall" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index f895ebec..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "minecraft:deepslate" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_layered_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_layered_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 270f1a71..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_layered_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:deepslate_layered" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_pillar_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_pillar_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 5dbd7f80..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_pillar_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:deepslate_pillar" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 34de6f96..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:deepslate_polished_cut" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab.json deleted file mode 100644 index af173e03..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "group": "deepslate_polished_cut_slab", - "key": { - "X": { - "item": "createnuclear:deepslate_polished_cut" - } - }, - "pattern": [ - "XXX" - ], - "result": { - "count": 6, - "item": "createnuclear:deepslate_polished_cut_slab" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 4e65a27c..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_slab_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 2, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:deepslate_polished_cut_slab" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs.json deleted file mode 100644 index 0f758003..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "group": "deepslate_polished_cut_stairs", - "key": { - "X": { - "item": "createnuclear:deepslate_polished_cut" - } - }, - "pattern": [ - "X ", - "XX ", - "XXX" - ], - "result": { - "count": 4, - "item": "createnuclear:deepslate_polished_cut_stairs" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 160f404c..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_stairs_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:deepslate_polished_cut_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall.json deleted file mode 100644 index 48d7ebae..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "X": { - "item": "createnuclear:deepslate_polished_cut" - } - }, - "pattern": [ - "XXX", - "XXX" - ], - "result": { - "count": 6, - "item": "createnuclear:deepslate_polished_cut_wall" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 9a79a830..00000000 --- a/src/generated/resources/data/createnuclear/recipes/deepslate_polished_cut_wall_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:deepslate_polished_cut_wall" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_layered_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/layered_autunite_from_stone_types_autunite_stonecutting.json similarity index 73% rename from src/generated/resources/data/createnuclear/recipes/autunite_layered_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/recipes/layered_autunite_from_stone_types_autunite_stonecutting.json index 1a8ead30..d0cb4cf6 100644 --- a/src/generated/resources/data/createnuclear/recipes/autunite_layered_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/recipes/layered_autunite_from_stone_types_autunite_stonecutting.json @@ -4,5 +4,5 @@ "ingredient": { "tag": "createnuclear:stone_types/autunite" }, - "result": "createnuclear:autunite_layered" + "result": "createnuclear:layered_autunite" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_from_stone_types_autunite_stonecutting.json similarity index 71% rename from src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_from_stone_types_autunite_stonecutting.json index 30dde522..d2704c52 100644 --- a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_from_stone_types_autunite_stonecutting.json @@ -4,5 +4,5 @@ "ingredient": { "tag": "createnuclear:stone_types/autunite" }, - "result": "createnuclear:autunite_polished_cut" + "result": "createnuclear:polished_cut_autunite" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab.json b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab.json similarity index 56% rename from src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab.json rename to src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab.json index df04f4be..825356e9 100644 --- a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab.json +++ b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab.json @@ -1,10 +1,10 @@ { "type": "minecraft:crafting_shaped", "category": "building", - "group": "autunite_polished_cut_slab", + "group": "polished_cut_autunite_slab", "key": { "X": { - "item": "createnuclear:autunite_polished_cut" + "item": "createnuclear:polished_cut_autunite" } }, "pattern": [ @@ -12,7 +12,7 @@ ], "result": { "count": 6, - "item": "createnuclear:autunite_polished_cut_slab" + "item": "createnuclear:polished_cut_autunite_slab" }, "show_notification": true } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json similarity index 69% rename from src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json index 859239c5..70ad74f5 100644 --- a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_slab_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab_from_stone_types_autunite_stonecutting.json @@ -4,5 +4,5 @@ "ingredient": { "tag": "createnuclear:stone_types/autunite" }, - "result": "createnuclear:autunite_polished_cut_slab" + "result": "createnuclear:polished_cut_autunite_slab" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab_recycling.json b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab_recycling.json new file mode 100644 index 00000000..70bc5cc9 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_slab_recycling.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "createnuclear:polished_cut_autunite_slab" + }, + { + "item": "createnuclear:polished_cut_autunite_slab" + } + ], + "result": { + "item": "createnuclear:polished_cut_autunite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_stairs.json similarity index 58% rename from src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs.json rename to src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_stairs.json index fa1739e9..0dd865ba 100644 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_stairs.json +++ b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_stairs.json @@ -1,10 +1,10 @@ { "type": "minecraft:crafting_shaped", "category": "building", - "group": "cut_deepslate_brick_stairs", + "group": "polished_cut_autunite_stairs", "key": { "X": { - "item": "createnuclear:cut_deepslate_bricks" + "item": "createnuclear:polished_cut_autunite" } }, "pattern": [ @@ -14,7 +14,7 @@ ], "result": { "count": 4, - "item": "createnuclear:cut_deepslate_brick_stairs" + "item": "createnuclear:polished_cut_autunite_stairs" }, "show_notification": true } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json similarity index 68% rename from src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json index 028e7537..e90c86d9 100644 --- a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_stairs_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_stairs_from_stone_types_autunite_stonecutting.json @@ -4,5 +4,5 @@ "ingredient": { "tag": "createnuclear:stone_types/autunite" }, - "result": "createnuclear:autunite_polished_cut_stairs" + "result": "createnuclear:polished_cut_autunite_stairs" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_wall.json similarity index 65% rename from src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall.json rename to src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_wall.json index 103af691..da27172b 100644 --- a/src/generated/resources/data/createnuclear/recipes/cut_deepslate_brick_wall.json +++ b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_wall.json @@ -3,7 +3,7 @@ "category": "building", "key": { "X": { - "item": "createnuclear:cut_deepslate_bricks" + "item": "createnuclear:polished_cut_autunite" } }, "pattern": [ @@ -12,7 +12,7 @@ ], "result": { "count": 6, - "item": "createnuclear:cut_deepslate_brick_wall" + "item": "createnuclear:polished_cut_autunite_wall" }, "show_notification": true } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json similarity index 69% rename from src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json index 803feedb..bcbde7f8 100644 --- a/src/generated/resources/data/createnuclear/recipes/autunite_polished_cut_wall_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/recipes/polished_cut_autunite_wall_from_stone_types_autunite_stonecutting.json @@ -4,5 +4,5 @@ "ingredient": { "tag": "createnuclear:stone_types/autunite" }, - "result": "createnuclear:autunite_polished_cut_wall" + "result": "createnuclear:polished_cut_autunite_wall" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_bricks_from_stone_types_autunite_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_from_stone_types_autunite_stonecutting.json similarity index 71% rename from src/generated/resources/data/createnuclear/recipes/small_autunite_bricks_from_stone_types_autunite_stonecutting.json rename to src/generated/resources/data/createnuclear/recipes/small_autunite_brick_from_stone_types_autunite_stonecutting.json index 1ba37510..fe0ec269 100644 --- a/src/generated/resources/data/createnuclear/recipes/small_autunite_bricks_from_stone_types_autunite_stonecutting.json +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_from_stone_types_autunite_stonecutting.json @@ -4,5 +4,5 @@ "ingredient": { "tag": "createnuclear:stone_types/autunite" }, - "result": "createnuclear:small_autunite_bricks" + "result": "createnuclear:small_autunite_brick" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab.json index cd629a4d..a68f1ddb 100644 --- a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab.json +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab.json @@ -4,7 +4,7 @@ "group": "small_autunite_brick_slab", "key": { "X": { - "item": "createnuclear:small_autunite_bricks" + "item": "createnuclear:small_autunite_brick" } }, "pattern": [ diff --git a/src/generated/resources/data/create/recipes/small_autunite_brick_slab_recycling.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab_recycling.json similarity index 83% rename from src/generated/resources/data/create/recipes/small_autunite_brick_slab_recycling.json rename to src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab_recycling.json index 68116528..bb601f8d 100644 --- a/src/generated/resources/data/create/recipes/small_autunite_brick_slab_recycling.json +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_slab_recycling.json @@ -10,6 +10,6 @@ } ], "result": { - "item": "createnuclear:small_autunite_bricks" + "item": "createnuclear:small_autunite_brick" } } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs.json index 2fe38822..10a085c7 100644 --- a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs.json +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_stairs.json @@ -4,7 +4,7 @@ "group": "small_autunite_brick_stairs", "key": { "X": { - "item": "createnuclear:small_autunite_bricks" + "item": "createnuclear:small_autunite_brick" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall.json b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall.json index 3c4b5b50..db2ccd48 100644 --- a/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall.json +++ b/src/generated/resources/data/createnuclear/recipes/small_autunite_brick_wall.json @@ -3,7 +3,7 @@ "category": "building", "key": { "X": { - "item": "createnuclear:small_autunite_bricks" + "item": "createnuclear:small_autunite_brick" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab.json deleted file mode 100644 index 2a0a41c1..00000000 --- a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "group": "small_deepslate_brick_slab", - "key": { - "X": { - "item": "createnuclear:small_deepslate_bricks" - } - }, - "pattern": [ - "XXX" - ], - "result": { - "count": 6, - "item": "createnuclear:small_deepslate_brick_slab" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index b3686963..00000000 --- a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_slab_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 2, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:small_deepslate_brick_slab" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs.json deleted file mode 100644 index a20f406b..00000000 --- a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "group": "small_deepslate_brick_stairs", - "key": { - "X": { - "item": "createnuclear:small_deepslate_bricks" - } - }, - "pattern": [ - "X ", - "XX ", - "XXX" - ], - "result": { - "count": 4, - "item": "createnuclear:small_deepslate_brick_stairs" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 9d0d8be5..00000000 --- a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_stairs_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:small_deepslate_brick_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall.json deleted file mode 100644 index c8be030d..00000000 --- a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "X": { - "item": "createnuclear:small_deepslate_bricks" - } - }, - "pattern": [ - "XXX", - "XXX" - ], - "result": { - "count": 6, - "item": "createnuclear:small_deepslate_brick_wall" - }, - "show_notification": true -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 754acce3..00000000 --- a/src/generated/resources/data/createnuclear/recipes/small_deepslate_brick_wall_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:small_deepslate_brick_wall" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json b/src/generated/resources/data/createnuclear/recipes/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json deleted file mode 100644 index 2d8bf767..00000000 --- a/src/generated/resources/data/createnuclear/recipes/small_deepslate_bricks_from_stone_types_deepslate_stonecutting.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:stonecutting", - "count": 1, - "ingredient": { - "tag": "createnuclear:stone_types/deepslate" - }, - "result": "createnuclear:small_deepslate_bricks" -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/tags/items/stone_types/autunite.json b/src/generated/resources/data/createnuclear/tags/items/stone_types/autunite.json index 58b7a21c..4b37ed20 100644 --- a/src/generated/resources/data/createnuclear/tags/items/stone_types/autunite.json +++ b/src/generated/resources/data/createnuclear/tags/items/stone_types/autunite.json @@ -3,17 +3,17 @@ "createnuclear:cut_autunite", "createnuclear:cut_autunite_stairs", "createnuclear:cut_autunite_wall", - "createnuclear:autunite_polished_cut", - "createnuclear:autunite_polished_cut_stairs", - "createnuclear:autunite_polished_cut_wall", "createnuclear:cut_autunite_bricks", "createnuclear:cut_autunite_brick_stairs", "createnuclear:cut_autunite_brick_wall", - "createnuclear:small_autunite_bricks", + "createnuclear:small_autunite_brick", "createnuclear:small_autunite_brick_stairs", "createnuclear:small_autunite_brick_wall", - "createnuclear:autunite_layered", + "createnuclear:polished_cut_autunite", + "createnuclear:polished_cut_autunite_stairs", + "createnuclear:polished_cut_autunite_wall", + "createnuclear:layered_autunite", "createnuclear:autunite_pillar", - "createnuclear:asurine" + "createnuclear:autunite" ] } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/tags/items/stone_types/deepslate.json b/src/generated/resources/data/createnuclear/tags/items/stone_types/deepslate.json deleted file mode 100644 index 68767a04..00000000 --- a/src/generated/resources/data/createnuclear/tags/items/stone_types/deepslate.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "values": [ - "createnuclear:cut_deepslate", - "createnuclear:cut_deepslate_stairs", - "createnuclear:cut_deepslate_wall", - "createnuclear:deepslate_polished_cut", - "createnuclear:deepslate_polished_cut_stairs", - "createnuclear:deepslate_polished_cut_wall", - "createnuclear:cut_deepslate_bricks", - "createnuclear:cut_deepslate_brick_stairs", - "createnuclear:cut_deepslate_brick_wall", - "createnuclear:small_deepslate_bricks", - "createnuclear:small_deepslate_brick_stairs", - "createnuclear:small_deepslate_brick_wall", - "createnuclear:deepslate_layered", - "createnuclear:deepslate_pillar", - "minecraft:deepslate" - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json b/src/generated/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json index c8c4b7c7..0c71748d 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json +++ b/src/generated/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json @@ -1,5 +1,5 @@ { "values": [ - "createnuclear:asurine" + "createnuclear:autunite" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/dripstone_replaceable_blocks.json b/src/generated/resources/data/minecraft/tags/blocks/dripstone_replaceable_blocks.json index c8c4b7c7..0c71748d 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/dripstone_replaceable_blocks.json +++ b/src/generated/resources/data/minecraft/tags/blocks/dripstone_replaceable_blocks.json @@ -1,5 +1,5 @@ { "values": [ - "createnuclear:asurine" + "createnuclear:autunite" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/lush_ground_replaceable.json b/src/generated/resources/data/minecraft/tags/blocks/lush_ground_replaceable.json index c8c4b7c7..0c71748d 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/lush_ground_replaceable.json +++ b/src/generated/resources/data/minecraft/tags/blocks/lush_ground_replaceable.json @@ -1,5 +1,5 @@ { "values": [ - "createnuclear:asurine" + "createnuclear:autunite" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 0734c176..cbc315dc 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -16,24 +16,24 @@ "createnuclear:deepslate_uranium_ore", "createnuclear:uranium_ore", "createnuclear:steel_block", - "createnuclear:asurine", + "createnuclear:autunite", "createnuclear:cut_autunite", "createnuclear:cut_autunite_stairs", "createnuclear:cut_autunite_slab", "createnuclear:cut_autunite_wall", - "createnuclear:autunite_polished_cut", - "createnuclear:autunite_polished_cut_stairs", - "createnuclear:autunite_polished_cut_slab", - "createnuclear:autunite_polished_cut_wall", "createnuclear:cut_autunite_bricks", "createnuclear:cut_autunite_brick_stairs", "createnuclear:cut_autunite_brick_slab", "createnuclear:cut_autunite_brick_wall", - "createnuclear:small_autunite_bricks", + "createnuclear:small_autunite_brick", "createnuclear:small_autunite_brick_stairs", "createnuclear:small_autunite_brick_slab", "createnuclear:small_autunite_brick_wall", - "createnuclear:autunite_layered", + "createnuclear:polished_cut_autunite", + "createnuclear:polished_cut_autunite_stairs", + "createnuclear:polished_cut_autunite_slab", + "createnuclear:polished_cut_autunite_wall", + "createnuclear:layered_autunite", "createnuclear:autunite_pillar" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/moss_replaceable.json b/src/generated/resources/data/minecraft/tags/blocks/moss_replaceable.json index c8c4b7c7..0c71748d 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/moss_replaceable.json +++ b/src/generated/resources/data/minecraft/tags/blocks/moss_replaceable.json @@ -1,5 +1,5 @@ { "values": [ - "createnuclear:asurine" + "createnuclear:autunite" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/slabs.json b/src/generated/resources/data/minecraft/tags/blocks/slabs.json index 2a7bf42a..091d9741 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/slabs.json +++ b/src/generated/resources/data/minecraft/tags/blocks/slabs.json @@ -1,8 +1,8 @@ { "values": [ "createnuclear:cut_autunite_slab", - "createnuclear:autunite_polished_cut_slab", "createnuclear:cut_autunite_brick_slab", - "createnuclear:small_autunite_brick_slab" + "createnuclear:small_autunite_brick_slab", + "createnuclear:polished_cut_autunite_slab" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/stairs.json b/src/generated/resources/data/minecraft/tags/blocks/stairs.json index 3ece841b..b4209709 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/stairs.json +++ b/src/generated/resources/data/minecraft/tags/blocks/stairs.json @@ -1,8 +1,8 @@ { "values": [ "createnuclear:cut_autunite_stairs", - "createnuclear:autunite_polished_cut_stairs", "createnuclear:cut_autunite_brick_stairs", - "createnuclear:small_autunite_brick_stairs" + "createnuclear:small_autunite_brick_stairs", + "createnuclear:polished_cut_autunite_stairs" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/walls.json b/src/generated/resources/data/minecraft/tags/blocks/walls.json index dd860725..d7309a6c 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/walls.json +++ b/src/generated/resources/data/minecraft/tags/blocks/walls.json @@ -1,8 +1,8 @@ { "values": [ "createnuclear:cut_autunite_wall", - "createnuclear:autunite_polished_cut_wall", "createnuclear:cut_autunite_brick_wall", - "createnuclear:small_autunite_brick_wall" + "createnuclear:small_autunite_brick_wall", + "createnuclear:polished_cut_autunite_wall" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/slabs.json b/src/generated/resources/data/minecraft/tags/items/slabs.json index 2a7bf42a..091d9741 100644 --- a/src/generated/resources/data/minecraft/tags/items/slabs.json +++ b/src/generated/resources/data/minecraft/tags/items/slabs.json @@ -1,8 +1,8 @@ { "values": [ "createnuclear:cut_autunite_slab", - "createnuclear:autunite_polished_cut_slab", "createnuclear:cut_autunite_brick_slab", - "createnuclear:small_autunite_brick_slab" + "createnuclear:small_autunite_brick_slab", + "createnuclear:polished_cut_autunite_slab" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/stairs.json b/src/generated/resources/data/minecraft/tags/items/stairs.json index 3ece841b..b4209709 100644 --- a/src/generated/resources/data/minecraft/tags/items/stairs.json +++ b/src/generated/resources/data/minecraft/tags/items/stairs.json @@ -1,8 +1,8 @@ { "values": [ "createnuclear:cut_autunite_stairs", - "createnuclear:autunite_polished_cut_stairs", "createnuclear:cut_autunite_brick_stairs", - "createnuclear:small_autunite_brick_stairs" + "createnuclear:small_autunite_brick_stairs", + "createnuclear:polished_cut_autunite_stairs" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/walls.json b/src/generated/resources/data/minecraft/tags/items/walls.json index dd860725..d7309a6c 100644 --- a/src/generated/resources/data/minecraft/tags/items/walls.json +++ b/src/generated/resources/data/minecraft/tags/items/walls.json @@ -1,8 +1,8 @@ { "values": [ "createnuclear:cut_autunite_wall", - "createnuclear:autunite_polished_cut_wall", "createnuclear:cut_autunite_brick_wall", - "createnuclear:small_autunite_brick_wall" + "createnuclear:small_autunite_brick_wall", + "createnuclear:polished_cut_autunite_wall" ] } \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java index 002e0ac4..d148c241 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java +++ b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java @@ -22,8 +22,8 @@ import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.RegisterEvent; +import net.nuclearteam.createnuclear.content.decoration.palettes.CNPaletteBlocks; import net.nuclearteam.createnuclear.content.kinetics.fan.processing.CNFanProcessingTypes; -import net.nuclearteam.createnuclear.foundation.block.CNPaletteBlock; import net.nuclearteam.createnuclear.infrastructure.data.CreateNuclearDatagen; import org.slf4j.Logger; @@ -63,7 +63,7 @@ public static void onInitialize() { CNMenus.register(); CNFluids.register(); CNEntityType.register(); - CNPaletteBlock.register(); + CNPaletteBlocks.register(); CNCreativeModeTabs.register(modEventBus); CNEffects.register(modEventBus); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteBlocks.java b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteBlocks.java new file mode 100644 index 00000000..9a823e11 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteBlocks.java @@ -0,0 +1,18 @@ +package net.nuclearteam.createnuclear.content.decoration.palettes; + +import com.simibubi.create.foundation.data.CreateRegistrate; +import net.nuclearteam.createnuclear.CNCreativeModeTabs; +import net.nuclearteam.createnuclear.CreateNuclear; + +public class CNPaletteBlocks { + private static final CreateRegistrate REGISTRATE = CreateNuclear.REGISTRATE; + + static { + REGISTRATE.setCreativeTab(CNCreativeModeTabs.MAIN); + CNPaletteStoneTypes.register(REGISTRATE); + } + + public static void register() {} + + +} diff --git a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteStoneTypes.java b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteStoneTypes.java new file mode 100644 index 00000000..a0912a5d --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteStoneTypes.java @@ -0,0 +1,56 @@ +package net.nuclearteam.createnuclear.content.decoration.palettes; + +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.MapColor; +import net.minecraftforge.registries.ForgeRegistries; +import net.nuclearteam.createnuclear.CNTags; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.utility.CreateNuclearLang; + +import java.util.function.Function; + +import static net.nuclearteam.createnuclear.content.decoration.palettes.PaletteBlockPattern.STANDARD_RANGE; + +public enum CNPaletteStoneTypes { + AUTUNITE(STANDARD_RANGE, r -> r.paletteStoneBlock("autunite", () -> Blocks.ANDESITE, true, true) + .properties(p -> + p.destroyTime(1.25f) + .mapColor(MapColor.COLOR_GREEN)) + .register()), + ; + + private Function> factory; + private PalettesVariantEntry variant; + + public NonNullSupplier baseBlock; + public PaletteBlockPattern[] variantTypes; + public TagKey materialTag; + + + CNPaletteStoneTypes(PaletteBlockPattern[] variantTypes, Function> factory) { + this.factory = factory; + this.variantTypes = variantTypes; + } + + public NonNullSupplier getBaseBlock() { + return baseBlock; + } + + public PalettesVariantEntry getVariant() { + return variant; + } + + public static void register(CreateRegistrate registrate) { + for (CNPaletteStoneTypes paletteStoneTypes : values()) { + paletteStoneTypes.baseBlock = paletteStoneTypes.factory.apply(registrate); + String id = CreateNuclearLang.asId(paletteStoneTypes.name()); + paletteStoneTypes.materialTag = CNTags.optionalTag(ForgeRegistries.ITEMS, CreateNuclear.asResource("stone_types/" + id)); + paletteStoneTypes.variant = new PalettesVariantEntry(id, paletteStoneTypes); + } + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPartial.java b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPartial.java new file mode 100644 index 00000000..616edbee --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPartial.java @@ -0,0 +1,267 @@ +package net.nuclearteam.createnuclear.content.decoration.palettes; + +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.builders.ItemBuilder; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.providers.RegistrateRecipeProvider; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonnullType; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.data.recipes.ShapedRecipeBuilder; +import net.minecraft.data.recipes.ShapelessRecipeBuilder; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SlabBlock; +import net.minecraft.world.level.block.StairBlock; +import net.minecraft.world.level.block.WallBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraftforge.client.model.generators.ModelFile; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.utility.CreateNuclearLang; + +import java.util.Arrays; +import java.util.function.Supplier; + +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +public abstract class PaletteBlockPartial { + public static final PaletteBlockPartial STAIR = new Stairs(); + public static final PaletteBlockPartial SLAB = new Slab(false); + public static final PaletteBlockPartial UNIQUE_SLAB = new Slab(true); + public static final PaletteBlockPartial WALL = new Wall(); + + public static final PaletteBlockPartial[] ALL_PARTIALS = {STAIR, SLAB, WALL}; + public static final PaletteBlockPartial[] FOR_POLISHED = {STAIR, UNIQUE_SLAB, WALL}; + + private String name; + + private PaletteBlockPartial(String name) { + this.name = name; + } + + public @NonnullType BlockBuilder create(String variantName, PaletteBlockPattern pattern, + BlockEntry block, CNPaletteStoneTypes variant) { + String patternName = CreateNuclearLang.nonPluralId(pattern.createName(variantName)); + String blockName = patternName + "_" + this.name; + + BlockBuilder blockBuilder = CreateNuclear.REGISTRATE + .block(blockName, p -> createBlock(block)) + .blockstate((c, p) -> generateBlockState(c, p, variantName, pattern, block)) + .recipe((c, p) -> createRecipes(variant, block, c, p)) + .transform(b -> transformBlock(b, variantName, pattern)); + + ItemBuilder> itemBuilder = blockBuilder.item() + .transform(b -> transformItem(b, variantName, pattern)); + + if (canRecycle()) + itemBuilder.tag(variant.materialTag); + + return itemBuilder.build(); + } + + protected ResourceLocation getTexture(String variantName, PaletteBlockPattern pattern, int index) { + return PaletteBlockPattern.toLocation(variantName, pattern.getTexture(index)); + } + + protected BlockBuilder transformBlock(BlockBuilder builder, + String variantName, PaletteBlockPattern pattern) { + getBlockTags().forEach(builder::tag); + return builder.transform(pickaxeOnly()); + } + + protected ItemBuilder> transformItem( + ItemBuilder> builder, String variantName, + PaletteBlockPattern pattern) { + getItemTags().forEach(builder::tag); + return builder; + } + + protected boolean canRecycle() { + return true; + } + + protected abstract Iterable> getBlockTags(); + + protected abstract Iterable> getItemTags(); + + protected abstract B createBlock(Supplier block); + + protected abstract void createRecipes(CNPaletteStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p); + + protected abstract void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, PaletteBlockPattern pattern, Supplier block); + + private static class Stairs extends PaletteBlockPartial { + + public Stairs() { + super("stairs"); + } + + @Override + protected StairBlock createBlock(Supplier block) { + return new StairBlock(() -> block.get() + .defaultBlockState(), BlockBehaviour.Properties.copy(block.get())); + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, PaletteBlockPattern pattern, Supplier block) { + prov.stairsBlock(ctx.get(), getTexture(variantName, pattern, 0)); + } + + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.STAIRS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.STAIRS); + } + + @Override + protected void createRecipes(CNPaletteStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.stairs(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); + } + + } + + private static class Slab extends PaletteBlockPartial { + + private boolean customSide; + + public Slab(boolean customSide) { + super("slab"); + this.customSide = customSide; + } + + @Override + protected SlabBlock createBlock(Supplier block) { + return new SlabBlock(BlockBehaviour.Properties.copy(block.get())); + } + + @Override + protected boolean canRecycle() { + return false; + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, PaletteBlockPattern pattern, Supplier block) { + String name = ctx.getName(); + ResourceLocation mainTexture = getTexture(variantName, pattern, 0); + ResourceLocation sideTexture = customSide ? getTexture(variantName, pattern, 1) : mainTexture; + + ModelFile bottom = prov.models() + .slab(name, sideTexture, mainTexture, mainTexture); + ModelFile top = prov.models() + .slabTop(name + "_top", sideTexture, mainTexture, mainTexture); + ModelFile doubleSlab; + + if (customSide) { + doubleSlab = prov.models() + .cubeColumn(name + "_double", sideTexture, mainTexture); + } else { + doubleSlab = prov.models() + .getExistingFile(prov.modLoc(pattern.createName(variantName))); + } + + prov.slabBlock(ctx.get(), bottom, top, doubleSlab); + } + + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.SLABS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.SLABS); + } + + @Override + protected void createRecipes(CNPaletteStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.slab(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 2); + DataIngredient ingredient = DataIngredient.items(c.get()); + ShapelessRecipeBuilder.shapeless(category, patternBlock.get()) + .requires(ingredient) + .requires(ingredient) + .unlockedBy("has_" + c.getName(), ingredient.getCritereon(p)) + .save(p, CreateNuclear.MOD_ID + ":" + c.getName() + "_recycling"); + } + + @Override + protected BlockBuilder transformBlock( + BlockBuilder builder, String variantName, PaletteBlockPattern pattern) { + builder.loot((lt, block) -> lt.add(block, lt.createSlabItemTable(block))); + return super.transformBlock(builder, variantName, pattern); + } + + } + + private static class Wall extends PaletteBlockPartial { + + public Wall() { + super("wall"); + } + + @Override + protected WallBlock createBlock(Supplier block) { + return new WallBlock(BlockBehaviour.Properties.copy(block.get()).forceSolidOn()); + } + + @Override + protected ItemBuilder> transformItem( + ItemBuilder> builder, String variantName, + PaletteBlockPattern pattern) { + builder.model((c, p) -> p.wallInventory(c.getName(), getTexture(variantName, pattern, 0))); + return super.transformItem(builder, variantName, pattern); + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, PaletteBlockPattern pattern, Supplier block) { + prov.wallBlock(ctx.get(), pattern.createName(variantName), getTexture(variantName, pattern, 0)); + } + + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.WALLS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.WALLS); + } + + @Override + protected void createRecipes(CNPaletteStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); + DataIngredient ingredient = DataIngredient.items(patternBlock.get()); + ShapedRecipeBuilder.shaped(category, c.get(), 6) + .pattern("XXX") + .pattern("XXX") + .define('X', ingredient) + .unlockedBy("has_" + p.safeName(ingredient), ingredient.getCritereon(p)) + .save(p, p.safeId(c.get())); + } + + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPattern.java b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPattern.java new file mode 100644 index 00000000..259f448a --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPattern.java @@ -0,0 +1,248 @@ +package net.nuclearteam.createnuclear.content.decoration.palettes; + +import com.simibubi.create.content.decoration.palettes.ConnectedPillarBlock; +import com.simibubi.create.foundation.block.connected.*; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.providers.RegistrateRecipeProvider; +import com.tterrag.registrate.util.nullness.NonNullBiConsumer; +import com.tterrag.registrate.util.nullness.NonNullFunction; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour.Properties; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraft.core.Direction.Axis; +import net.minecraftforge.client.model.generators.ConfiguredModel; +import net.nuclearteam.createnuclear.CreateNuclear; + +import java.util.Optional; +import java.util.function.Function; +import java.util.function.Supplier; + +import static net.nuclearteam.createnuclear.content.decoration.palettes.PaletteBlockPartial.ALL_PARTIALS; +import static net.nuclearteam.createnuclear.content.decoration.palettes.PaletteBlockPartial.FOR_POLISHED; +import static net.nuclearteam.createnuclear.content.decoration.palettes.PaletteBlockPattern.PatternNameType.*; + +public class PaletteBlockPattern { + public static final PaletteBlockPattern + CUT = create("cut", PREFIX, ALL_PARTIALS), + BRICKS = create("cut_bricks", WRAP, ALL_PARTIALS).textures("brick"), + SMALL_BRICKS = create("small_brick", WRAP, ALL_PARTIALS).textures("small_brick"), + POLISHED = create("polished_cut", PREFIX, FOR_POLISHED).textures("polished", "slab"), + LAYERED = create("layered", PREFIX).blockStateFactory(p -> p::cubeColumn) + .textures("layered", "cap") + .connectedTextures(v -> new HorizontalCTBehaviour(ct(v, CTs.LAYERED), ct(v, CTs.CAP))), + PILLAR = create("pillar", SUFFIX).blockStateFactory(p -> p::pillar) + .block(ConnectedPillarBlock::new) + .textures("pillar", "cap") + .connectedTextures(v -> new RotatedPillarCTBehaviour(ct(v, CTs.PILLAR), ct(v, CTs.CAP))) + ; + + public static final PaletteBlockPattern[] VANILLA_RANGE = { CUT, BRICKS, SMALL_BRICKS, POLISHED, LAYERED, PILLAR }; + public static final PaletteBlockPattern[] STANDARD_RANGE = { CUT, BRICKS, SMALL_BRICKS, POLISHED, LAYERED, PILLAR }; + + static final String TEXTURE_LOCATION = "block/palettes/stone_types/%s/%s"; + + private PatternNameType nameType; + private String[] textures; + private String id; + private boolean isTranslucent; + private TagKey[] blockTags; + private TagKey[] itemTags; + private Optional> ctFactory; + + private IPatternBlockStateGenerator blockStateGenerator; + private NonNullFunction blockFactory; + private NonNullFunction, NonNullBiConsumer, RegistrateRecipeProvider>> additionalRecipes; + private PaletteBlockPartial[] partials; + + @OnlyIn(Dist.CLIENT) + private RenderType renderType; + + private static PaletteBlockPattern create(String name, PatternNameType nameType, PaletteBlockPartial ...partials) { + PaletteBlockPattern pattern = new PaletteBlockPattern(); + pattern.id = name; + pattern.ctFactory = Optional.empty(); + pattern.nameType = nameType; + pattern.partials = partials; + pattern.additionalRecipes = $ -> NonNullBiConsumer.noop(); + pattern.isTranslucent = false; + pattern.blockFactory = Block::new; + pattern.textures = new String[] { name }; + pattern.blockStateGenerator = p -> p::cubeAll; + return pattern; + } + + public IPatternBlockStateGenerator getBlockStateGenerator() { + return blockStateGenerator; + } + + public boolean isTranslucent() { + return isTranslucent; + } + + public TagKey[] getBlockTags() { + return blockTags; + } + + public TagKey[] getItemTags() { + return itemTags; + } + + public NonNullFunction getBlockFactory() { + return blockFactory; + } + + public PaletteBlockPartial[] getPartials() { + return partials; + } + + public String getTexture(int index) { + return textures[index]; + } + + public void addRecipes(NonNullSupplier baseBlock, DataGenContext c, RegistrateRecipeProvider p) { + additionalRecipes.apply(baseBlock).accept(c, p); + } + + public Optional> createCTBehaviour(String variant) { + return ctFactory.map(d -> () -> d.apply(variant)); + } + + private PaletteBlockPattern blockStateFactory(IPatternBlockStateGenerator factory) { + blockStateGenerator = factory; + return this; + } + + private PaletteBlockPattern textures(String... textures) { + this.textures = textures; + return this; + } + + private PaletteBlockPattern block(NonNullFunction blockFactory) { + this.blockFactory = blockFactory; + return this; + } + + private PaletteBlockPattern connectedTextures(Function factory) { + this.ctFactory = Optional.of(factory); + return this; + } + + // Model generators + + public IBlockStateProvider cubeAll(String variant) { + ResourceLocation all = toLocation(variant, textures[0]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeAll(createName(variant), all)); + } + + public IBlockStateProvider cubeBottomTop(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation bottom = toLocation(variant, textures[1]); + ResourceLocation top = toLocation(variant, textures[2]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeBottomTop(createName(variant), side, bottom, top)); + } + + public IBlockStateProvider pillar(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation end = toLocation(variant, textures[1]); + + return (ctx, prov) -> prov.getVariantBuilder(ctx.getEntry()) + .forAllStatesExcept(state -> { + Axis axis = state.getValue(BlockStateProperties.AXIS); + if (axis == Axis.Y) + return ConfiguredModel.builder() + .modelFile(prov.models() + .cubeColumn(createName(variant), side, end)) + .uvLock(false) + .build(); + return ConfiguredModel.builder() + .modelFile(prov.models() + .cubeColumnHorizontal(createName(variant) + "_horizontal", side, end)) + .uvLock(false) + .rotationX(90) + .rotationY(axis == Axis.X ? 90 : 0) + .build(); + }, BlockStateProperties.WATERLOGGED, ConnectedPillarBlock.NORTH, ConnectedPillarBlock.SOUTH, + ConnectedPillarBlock.EAST, ConnectedPillarBlock.WEST); + } + + public IBlockStateProvider cubeColumn(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation end = toLocation(variant, textures[1]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeColumn(createName(variant), side, end)); + } + + // Utility + + protected String createName(String variant) { + if (nameType == WRAP) { + String[] split = id.split("_"); + if (split.length == 2) { + String formatString = "%s_%s_%s"; + return String.format(formatString, split[0], variant, split[1]); + } + } + String formatString = "%s_%s"; + return nameType == SUFFIX ? String.format(formatString, variant, id) : String.format(formatString, id, variant); + } + + protected static ResourceLocation toLocation(String variant, String texture) { + return CreateNuclear.asResource( + String.format(TEXTURE_LOCATION, texture, variant + (texture.equals("cut") ? "_" : "_cut_") + texture)); + } + + protected static CTSpriteShiftEntry ct(String variant, CTs texture) { + ResourceLocation resLoc = texture.srcFactory.apply(variant); + ResourceLocation resLocTarget = texture.targetFactory.apply(variant); + return CTSpriteShifter.getCT(texture.type, resLoc, + new ResourceLocation(resLocTarget.getNamespace(), resLocTarget.getPath() + "_connected")); + } + + + + + @FunctionalInterface + interface IPatternBlockStateGenerator + extends Function> { + } + + @FunctionalInterface + interface IBlockStateProvider + extends NonNullBiConsumer, RegistrateBlockstateProvider> { + } + + enum PatternNameType { + PREFIX, SUFFIX, WRAP + } + + public enum CTs { + PILLAR(AllCTTypes.RECTANGLE, s -> toLocation(s, "pillar")), + CAP(AllCTTypes.OMNIDIRECTIONAL, s -> toLocation(s, "cap")), + LAYERED(AllCTTypes.HORIZONTAL_KRYPPERS, s -> toLocation(s, "layered")), + ; + + public CTType type; + private Function srcFactory; + private Function targetFactory; + + CTs(CTType type, Function factory) { + this(type, factory, factory); + } + + CTs(CTType type, Function srcfactory, Function targetFactory) { + this.type = type; + this.srcFactory = srcfactory; + this.targetFactory = targetFactory; + } + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PalettesVariantEntry.java b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PalettesVariantEntry.java new file mode 100644 index 00000000..9f2bd9aa --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PalettesVariantEntry.java @@ -0,0 +1,83 @@ +package net.nuclearteam.createnuclear.content.decoration.palettes; + +import com.google.common.collect.ImmutableList; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.builders.ItemBuilder; +import com.tterrag.registrate.providers.ProviderType; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.nuclearteam.createnuclear.CreateNuclear; + +import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures; +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +public class PalettesVariantEntry { + private static final CreateRegistrate REGISTRATE = CreateNuclear.REGISTRATE; + + public final ImmutableList> registeredBlocks; + public final ImmutableList> registeredPartials; + + public PalettesVariantEntry(String name, CNPaletteStoneTypes paletteStoneVariants) { + ImmutableList.Builder> registeredBlocks = ImmutableList.builder(); + ImmutableList.Builder> registeredPartials = ImmutableList.builder(); + NonNullSupplier baseBlock = paletteStoneVariants.baseBlock; + + for (PaletteBlockPattern pattern : paletteStoneVariants.variantTypes) { + BlockBuilder builder = REGISTRATE + .block(pattern.createName(name), pattern.getBlockFactory()) + .initialProperties(baseBlock) + .transform(pickaxeOnly()) + .blockstate(pattern.getBlockStateGenerator() + .apply(pattern) + .apply(name)::accept + ); + ItemBuilder> itemBuilder = + builder.item(); + + TagKey[] blockTags = pattern.getBlockTags(); + if (blockTags != null) + builder.tag(blockTags); + TagKey[] itemTags = pattern.getItemTags(); + if (itemTags != null) + itemBuilder.tag(itemTags); + + itemBuilder.tag(paletteStoneVariants.materialTag); + + if (pattern.isTranslucent()) + builder.addLayer(() -> RenderType::translucent); + pattern.createCTBehaviour(name) + .ifPresent(b -> builder.onRegister(connectedTextures(b))); + + builder.recipe((c, p) -> { + p.stonecutting(DataIngredient.tag(paletteStoneVariants.materialTag), RecipeCategory.BUILDING_BLOCKS, c); + pattern.addRecipes(baseBlock, c, p); + }); + + itemBuilder.register(); + BlockEntry block = builder.register(); + registeredBlocks.add(block); + + for (PaletteBlockPartial partialBlock : pattern.getPartials()) + registeredPartials.add(partialBlock.create(name, pattern, block, paletteStoneVariants) + .register()); + } + + REGISTRATE.addDataGenerator(ProviderType.RECIPE, + p -> p.stonecutting(DataIngredient.tag(paletteStoneVariants.materialTag), RecipeCategory.BUILDING_BLOCKS, + baseBlock)); + REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, p -> p.addTag(paletteStoneVariants.materialTag) + .add(baseBlock.get() + .asItem())); + + this.registeredBlocks = registeredBlocks.build(); + this.registeredPartials = registeredPartials.build(); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java new file mode 100644 index 00000000..1eeb8005 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java @@ -0,0 +1,4 @@ +package net.nuclearteam.createnuclear.infrastructure.worldgen; + +public class CNLayerPatterns { +} diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_basketweave.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_basketweave.png new file mode 100644 index 0000000000000000000000000000000000000000..18b2c25cad91ac45a88ec9a57e7dd42e332dbc94 GIT binary patch literal 495 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF*IRQrk+o!U;rq6W>XHodYYt-2nQf*Q59Nmj4fj;{x*w`kF>TpY|nbjZbW>n61w=NqF1-x83}O z({yUMW1Fk0!M?5f--MFhURHL#{!j0OMgQV3`=AS=sXB+RfdY-e)78&qol`;+0Al-m AMgRZ+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_bond.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_bond.png new file mode 100644 index 0000000000000000000000000000000000000000..6aac6f0eb320a7ead4976c81a2fcef938d719d47 GIT binary patch literal 496 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF1h`YzJ|`Np|GWt;^bk;M!Q ze1}1p@p%4<6ri9)iEBhjaDG}zd16s2LqK9?UWuNcYlwoWo}r%6?>)@hfNHj-MtG)q zdTKFn06DA-QjDw&j6jwb5KBYZAUA3-GK0mLfNVoXCa@=>fb7h67O;30kPQL}Kn&6k zqtPs70D5}@I|B<)g@KW=0pkLQsURJ!3m_&<0kT1W31|)zSY?o<1&{^RWoTdkl6`sg zo5iVHIaNSrg{O;Sh{R>t-i>^R9C(~B`+KZ^^Md6mbI~K_3Dw2?qG?J?E^YnuzoB{R z!LInEms6~=^j9)0y&2k86L%qJ3M2o4oh!AsJ`c2-8ydZ`M@DSf`FWP&p3l-4-Ayb{ z+$h_>_w(fW@qtAOdk&xZ_guZfXVFZtS-a{MKl#kuHBr|3o8(+jP%(JA`njxgN@xNA D=x&1x literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_indented.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/alternatives/autunite_cut_indented.png new file mode 100644 index 0000000000000000000000000000000000000000..007c894364c0219d8e6b0f4bc788173ee2859f18 GIT binary patch literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFpOqpZ=muu3PlLMyFMxw6G9IZvUuRzJH~b${#I|3Jl@ z1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S_~VrE{6o}X)of~lUNp3(0;%-eu! zwxvdRrg?g5F>nAmtPE0&tPG4mmKP99L)jpgYA`Z`#hHL?Lq;aBSE7LI%yt&AcovWi z0trA2(hsB2EM)+CegZoK3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp4ii{qkfjBX1=VF} zU;vVRdG(vcsarW!KxV6_i(`nyW!0{YyoU?~T=J0m@*)=Z?TCv>w zcl5(lsWV1Wmc=sh537m0EXneb*5-zmsmOZDTf>Wlglx_p#@g Wp!DL@mz1v{$9cN?xvX&q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s&*=9a=50VV z+fpMu(>y)37&w3&Rt70XRt82O%L|C5p=^*#H5i$};!HrcAtMvmD^WmpW;+X5JPXJM zfdn81>4(v1mNEc6KY^Wr1*pQn$k>2!0mM|04%P(_lcoUKAixAPhY74Q$kGDHg6c9f zFaXKEy!y@J)UBKQf+)ckq=1uONWIhV5wuU{}< z@r89#toE1Ozxft?`yMl|dMxMA`+CBp3Cef6uNW@;7+?QAxpOqpZ=muu3PlLMyFMxw6G9IZvUuRzJH~b${#I|3Jl@ z1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S_~VrE{6o}X)of~lUNp3(0;%-eu! zwxvdRrg?g5F>nAmtPE0&tPG4mmKP99L)jpgYA`Z`#hHL?Lq;aBSE7LI%yt&AcovWi z0trA2(hsB2EM)+CegZoK3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp4ii{qkfjBX1=VF} zU;vVRdG(vcsarW!KxV6_i(`nyW!0{YyoU?~T=J0m@*)=Z?TCv>w zcl5(lsWV1Wmc=sh537m0EXneb*5-zmsmOZDTf>Wlglx_p#@g Wp!DL@mz1v{$9cN?xvXoCO|{ z#S9F5he4R}c>anMprAyFYeY$Kep*R+Vo@qXKw@TIiJqTph=Qq}p`Ow2JkOkFcXkY-6 zeR=hp#i?64RX}E&r;B5V#AV*zgIr9C5^VOKR_m4Kz7~8Gzi9Ep{)%^;EaIQ@Tb9 zCl@s2F168XaMBO+ZIJN%Vc;wu{;oY$=TDf{*A`DN$2rPAD|XD=#u2$%>F^i!EkBfG T8Lv)i0lCi8)z4*}Q$iB}eC>s= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered.png new file mode 100644 index 0000000000000000000000000000000000000000..3f27e3206bfd41428e595e5f05fc3a8f3bec2af8 GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%LhD0G|-o>5IJjXS?*waEwkD=$vX-)n?kzW8E{uy={_Hda-hDrABeRUPLl? zVXbaut7$|EZ$*nqeYaIgfqcsZ`{sU&VZZEN>5r?3D2Unn-L^zsuk-u$Xyh1T!m-B*t+lPx%s!2paR5*<#lF4pdRTu{A`_H+z2h+4WYFn`#FcM-7LWo74fHhl?cmg&^hz$~N zfp`zLWDOfO0Ynnv4D!%}?H=6jDfgc9v*;HnsY<1fzyHjC_~|Qx3`0nUVK@*JNU9j$ zjoE9pi7`+##PDiC2;!HYeNRCk zd~onSF^XsgPR-fy6{SS0G}`+e@+M$r6cOrN5rRQ>`n^5on-#;^h@v!1HN3nW;yCM^ znXhZ23L1M6YdFK@gzW}8-8~kI=}u0LheTc(vEC*;ILRGPPEOAC^o}g2a_4xjN7*is z!C-z1a$*%2&F=7!iHa~B4_Hpt$c>7OC*eTzoxsig9dRX`%5GoQi1Nt0Y;^vQRhx&=crk~!v%f-nVgosm0o zfkDvI76Ge*Nti93A#B+tL4c`jo}}no3*#{p}V{@Z~p;u_)d1m}Y*K0H0f%y@P-Kp_*Ky?#zv7QEYP zQ^*;uryOx#{)rm~vKGiJ_UIiX)Z zAaupsYsbliATF*h=yY04*9+VnNm!@TrqgS2d~iakh$-L+u9vqo>IS)3V={jK^9B9G zK4!b13eLmsA+cSSC>VpAA<03&V!6dKtX3Q3#($S@=pB??+>FSTm|QODKWsC)8xn)y zpT9?tGFi}lR1guh5~>X0WKTSK@)t4gf}Wi2;{XDE{^MiMmT=oWZZeQVC2}n!kZJe7 iIq5#(a*AdIIsXHZ=3Sr5S`P>S0000Px%%}GQ-R5*<-l1+LSD$vabatXU)pu}ti6|RVnV&}$5GSlGEwb5OBN{=Hi8%H^fxWhuARO_@ z_BDzPXcVEc3#ik2@k4$uLg61!Ak;t*QN{{pA*%5C_GM5I19LD1W0GJ9Pi7Br_u(17 zy?%`_j=P{j1O#K{i?~Ux2?7lMUqyfk;NS+a2ORPM{TIScD@IV%U{A132RGtj-F%V)*9`tCRdKG zkOCrxh*PQEOOlRA1_P3Q!V@<>!UT42L&Yq@oB80{PiH`47g_G$cwa R#peJ3002ovPDHLkV1j;hT&Dm4 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_2.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/asurine_2.png deleted file mode 100644 index 5a353bc9b01d1fdbd8fd2bd53af67c6da1ea4dbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 725 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 HP6NS%Gq?0X`wFDVc&z?Fu}`Rjrz} z9XgF|^3ClE(Lr3nfc;DuIx#1{E=a-De?Rj&FZC%>S2ED zDG7qf8G>#mO#V(R*@cn~t#WBOA}Luy(cv5kDLheO?8S|$_02NAHXPw0%zhpWsoBCQ ziTsJNd@tA-e*hzZv%n*=n1O-sFbFdq&tH)O6qG1&jVKAuPb(=;EJ|evNX*PD(erZ+ zQ83jr)HC|Mhj|-N&9>AC&ooa@Ed~xChm}E!k(GfF$npYWX($^M{ThtSU~wiO+mMk7 zoE)Nn?96r+uy_`b4FU;34AKvy(JW;ECZGxI3@ktu21dpPj0+&9f^@JhfS5D|$OZu> zpgBxnl|hykKo(S&p@9KN_T|-Y7N>6IQ~_<{@^o+#Us~&Y{Qdh%hM0GPk3RmgXxdXBqVRw>AaKz^fr-Zhc(es2 z=66gg$SLyba}Uv7=+EparB)hkoFSEA;Nw_z?VQTyojYyj>Wi%0%5dt@q{yOEA5Rs9 z`bBA*M(~Qv-L*+<)tdYqvoC91XaKdg~Vy))vqH5G}jxwQkw+JIqPyZl3=ieq4Fx z_pkH%7phH$p_*=mN^OpE;?zT_l-&g2{ TeSgb)7ZgICu6{1-oD!M!MXrq(i9*Y1ek#4Fo9JD zSy}*DP+f)w1|Zp&SHD@Dx|LG}R43=@;uvD#uX@lk|FQ!^!^Qk#$^F}Na)p*Fin=Pe zOwn5g`@mEU$GZOKhBK7=?^%sm`?u9Xd&J|weZh?Vsd}nWreeg~5n+co3-3{>< zMLJ$fPqN;me2_D>>&g~h-`=v9b0^zwtWT3y1Y8Xo^*?qcRCY#OhxabD!pSk-kwk5QB5A# ze@?sI0jz(|@FY&Yoi-63(|Th1`f`l8;QYxwGk4 za9h|**D0E=2OpbnId<_#dBWwn0zMtbIv8FbPHz&t9j{Y=S?Z76rDa;0MgkGD{&KlL z{_ZJcR=lQMeyMcS=Fe(3h3o_0fAl*kyn^$*0qa^7{|@mt;SqY9*3B+St*d!DLy;x! qNc}c;fwn1{7g?Xb@6jI+QavY3H^ z?=T269?xHq0u+=eag8Vm&QB{TPb^Ah2uRG#E79|F4N)-FGt@Ksy@z=lP|dc~2+uT6 zPb~%xAcvJfijkFp5yc zG@7LhKyOcAXJ7%UFfcMUU|aw(6{Lf80mP&!KsE?40nK3os|>QV0J5OE3=IrGvM;ZG zvp97trwYhy@N{tuk+__k5E5i$W@Z+Yk`Q84R#<2llu*Fw%iMHDfUPWzIZ<8kFcVu} zT6x;%q;590wzPJk<7v%qZJ*MblbV%2vnd?j6S2^9@7zXNrK{%x?xn=#+~W~5OgGG6 zdbKKJi$<6}i;+Y(Pt2L_E2kx64lf8ZSmmIrD-y)Sz|7Ek>zbOLGJQ&^>bP0 Hl+XkK=$v?@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/polished/autunite_cut_polished.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/polished/autunite_cut_polished.png new file mode 100644 index 0000000000000000000000000000000000000000..3980d0198c11f6e48ff1a6d3f63f80afad4e19ba GIT binary patch literal 596 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%LiU0G|-osSEu#Zi!vBE^ONDppG8b##Z~D30}?Z_FdE5LOtb*>-8#IP3ya@ zS|-@%R%)adE2k95hx$q`T@{#|FIUlGGGUH)VXf|@Y5p^o22Y(C92cY>87LPKAen3| z@fv6aXMsm#F#`kNVGw3Kp1&dmC@4|l8c`CQpH@ zkOkFcXkY-6eR=hp#i?64RY2wfPZ!4!jbPi}+d<5Z0#4Pv$9QZH<;+_1@zekNnWaIh z`2jK=9l6z(u6y>)y|4fLbce&ae$Id>?^}<(l+vfFcu5sbop4f1@ZGWA;}4tHXw8y2 ze?Tm@>{&LaUwOPK8i!SY*b0okR+N51>N{vKa%Q^?P<_N$^3$lac$pBp3ul2xWHAE+-(e7DJf6QI1t=&{;u=vBoS#-wo>-L15RjOeSEA?V8lqsTXQ*fN zdk^zApqg!|5uRzDo>~kXKn^Q|6eBAGBar0<#L`eU$h{hj%wTaQAls0U3GAULAUm_2 z1uUKgWP?Bg5QFr?Xf#V1fI%>Uoq+|Y!obMbfN=rDRFDqV1rU>_0NEhG1T=>UtTM>b z0?2~uGBhv%$-cb$&EnLpoGKu5f~SjPh{R>tGaI=M8Hl(&+;34T@`**u!aHY3XvS#y|w-geFG4wkAokUKqH{an^LB{Ts5a?Onu literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/small_brick/autunite_cut_small_brick.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/small_brick/autunite_cut_small_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..bd56b41759cd833336a7e9d985643eab0e712804 GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFEak7aapw2knfNK56gAcr#CIsZ%uAq(fN>7^BrT^5#|aZ{$m%- zl;38EUy%~-c8-&Llykw*$C>y1?~Zr*&e0ixi`#f?RZI+h7EQXLZl80D@6o&GVn?q2 z+V+!kX_|8hUkMcHJx6XWMx??K{oHSYBtIN&~sa)78&qol`;+ E01`QWTmS$7 literal 0 HcmV?d00001 From 95148a22b803f5f9eacdf4887d53cacad2069831 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sun, 6 Apr 2025 16:48:40 +0200 Subject: [PATCH 14/40] CNPalettesStoneTypes: Removed CNLayerPatterns --- .../infrastructure/worldgen/CNLayerPatterns.java | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java deleted file mode 100644 index 1eeb8005..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java +++ /dev/null @@ -1,4 +0,0 @@ -package net.nuclearteam.createnuclear.infrastructure.worldgen; - -public class CNLayerPatterns { -} From ea33d5ad3a227df29a5133b67fb1c94b25a6503e Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sun, 6 Apr 2025 17:44:01 +0200 Subject: [PATCH 15/40] CNPalettesStoneTypes: Updated --- .../fed443662143001aeb5341375f6f5ef31d10baea | 4 +- .../striated_ores_overworld.json | 146 ++++++++++++++++++ .../striated_ores_overworld.json | 27 ++++ .../data/GeneratedEntriesProvider.java | 5 +- ...eatures.java => CNConfiguredFeatures.java} | 14 +- .../worldgen/CNLayerPatterns.java | 28 ++++ .../worldgen/CNPlacedFeatures.java | 11 +- 7 files changed, 226 insertions(+), 9 deletions(-) create mode 100644 src/generated/resources/data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json create mode 100644 src/generated/resources/data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json rename src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/{CNCOnfiguredFeatures.java => CNConfiguredFeatures.java} (78%) create mode 100644 src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java diff --git a/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea b/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea index ddf158e6..53266ae4 100644 --- a/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea +++ b/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea @@ -1,7 +1,9 @@ -// 1.20.1 2025-02-02T13:23:38.0123343 CreateNuclear Generated Registry Entries +// 1.20.1 2025-04-06T17:35:38.0484587 CreateNuclear Generated Registry Entries 5edbd74546f4088818e02bb7a5c5eb2ecfe25623 data/createnuclear/forge/biome_modifier/lead_ore.json fa32145101dc12ec914684fec8c5cbb995d2c051 data/createnuclear/forge/biome_modifier/uranium_ore.json b68555f371c9700aa4ecfa9370b010de8fe25b60 data/createnuclear/worldgen/configured_feature/lead_ore.json +3f6a4ae9a7cf6fdbc51c6b28c39d885e8c1d09d5 data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json b0e1ee7314412507fd7346cb48b29d105f6186ad data/createnuclear/worldgen/configured_feature/uranium_ore.json ec82b14bb50728a37053e6dc6ce7832141651f49 data/createnuclear/worldgen/placed_feature/lead_ore.json +ea790e516e2783fa4a6382d11588e195547de164 data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json 06120ed6a00e684c347732b8178cef3bdf095ded data/createnuclear/worldgen/placed_feature/uranium_ore.json diff --git a/src/generated/resources/data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json b/src/generated/resources/data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json new file mode 100644 index 00000000..a50473a7 --- /dev/null +++ b/src/generated/resources/data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json @@ -0,0 +1,146 @@ +{ + "type": "create:layered_ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "layer_patterns": [ + [ + { + "max_size": 4, + "min_size": 2, + "targets": [ + [ + { + "state": { + "Name": "create:limestone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "create:limestone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 3, + "min_size": 2, + "targets": [ + [ + { + "state": { + "Name": "minecraft:calcite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:sandstone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 2, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:glowstone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:quartz_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 6, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "createnuclear:autunite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "createnuclear:autunite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 6 + } + ] + ], + "size": 32 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json b/src/generated/resources/data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json new file mode 100644 index 00000000..1ae0794a --- /dev/null +++ b/src/generated/resources/data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json @@ -0,0 +1,27 @@ +{ + "feature": "createnuclear:striated_ores_overworld", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 100 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 70 + }, + "min_inclusive": { + "absolute": -30 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/data/GeneratedEntriesProvider.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/data/GeneratedEntriesProvider.java index 8028bc75..e13ab777 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/data/GeneratedEntriesProvider.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/data/GeneratedEntriesProvider.java @@ -4,14 +4,13 @@ import net.minecraft.core.RegistrySetBuilder; import net.minecraft.core.registries.Registries; import net.minecraft.data.PackOutput; -import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.core.RegistrySetBuilder.RegistryBootstrap; import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider; import net.minecraftforge.registries.ForgeRegistries; import net.nuclearteam.createnuclear.CNDamageTypes; import net.nuclearteam.createnuclear.CreateNuclear; import net.nuclearteam.createnuclear.infrastructure.worldgen.CNBiomeModifiers; -import net.nuclearteam.createnuclear.infrastructure.worldgen.CNCOnfiguredFeatures; +import net.nuclearteam.createnuclear.infrastructure.worldgen.CNConfiguredFeatures; import net.nuclearteam.createnuclear.infrastructure.worldgen.CNPlacedFeatures; import java.util.Set; @@ -21,7 +20,7 @@ public class GeneratedEntriesProvider extends DatapackBuiltinEntriesProvider { @SuppressWarnings({ "rawtypes", "unchecked" }) private static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() .add(Registries.DAMAGE_TYPE, CNDamageTypes::bootstrap) - .add(Registries.CONFIGURED_FEATURE, (RegistryBootstrap) CNCOnfiguredFeatures::bootstrap) + .add(Registries.CONFIGURED_FEATURE, (RegistryBootstrap) CNConfiguredFeatures::bootstrap) .add(Registries.PLACED_FEATURE, CNPlacedFeatures::bootstrap) .add(ForgeRegistries.Keys.BIOME_MODIFIERS, CNBiomeModifiers::bootstrap) ; diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNCOnfiguredFeatures.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNConfiguredFeatures.java similarity index 78% rename from src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNCOnfiguredFeatures.java rename to src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNConfiguredFeatures.java index e26ed4c8..e8f3a2d2 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNCOnfiguredFeatures.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNConfiguredFeatures.java @@ -1,5 +1,8 @@ package net.nuclearteam.createnuclear.infrastructure.worldgen; +import com.simibubi.create.infrastructure.worldgen.AllFeatures; +import com.simibubi.create.infrastructure.worldgen.LayerPattern; +import com.simibubi.create.infrastructure.worldgen.LayeredOreConfiguration; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstapContext; import net.minecraft.resources.ResourceKey; @@ -16,10 +19,11 @@ import java.util.List; -public class CNCOnfiguredFeatures { +public class CNConfiguredFeatures { public static final ResourceKey> URANIUM_ORE = key("uranium_ore"), - LEAD_ORE = key("lead_ore") + LEAD_ORE = key("lead_ore"), + STRIATED_ORES_OVERWORLD = key("striated_ores_overworld") ; private static ResourceKey> key(String name) { @@ -43,5 +47,11 @@ public static void bootstrap(BootstapContext> ctx) { ); register(ctx, LEAD_ORE, Feature.ORE, new OreConfiguration(leadTargetStates, 7)); + + List overworldLayerPatterns = List.of( + CNLayerPatterns.AUTUNITE.get() + ); + + register(ctx, STRIATED_ORES_OVERWORLD, AllFeatures.LAYERED_ORE.get(), new LayeredOreConfiguration(overworldLayerPatterns, 32, 0)); } } diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java new file mode 100644 index 00000000..a988dbd6 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java @@ -0,0 +1,28 @@ +package net.nuclearteam.createnuclear.infrastructure.worldgen; + +import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; +import com.simibubi.create.infrastructure.worldgen.LayerPattern; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.world.level.block.Blocks; +import net.nuclearteam.createnuclear.content.decoration.palettes.CNPaletteStoneTypes; + +public class CNLayerPatterns { + public static final NonNullSupplier + AUTUNITE = () -> LayerPattern.builder() + .layer(l -> l.weight(2) + .block(AllPaletteStoneTypes.LIMESTONE.getBaseBlock()) + .size(2, 4)) + .layer(l -> l.weight(1) + .blocks(Blocks.CALCITE, Blocks.SANDSTONE) + .size(2, 3)) + .layer(l -> l.weight(1) + .block(Blocks.STONE) + .size(1, 2)) + .layer(l -> l.weight(1) + .blocks(Blocks.GLOWSTONE, Blocks.QUARTZ_BLOCK) + .size(1, 1)) + .layer(l -> l.weight(6) + .block(CNPaletteStoneTypes.AUTUNITE.getBaseBlock()) + .size(1, 6)) + .build(); +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java index 7973fee5..861b6cee 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java @@ -1,5 +1,6 @@ package net.nuclearteam.createnuclear.infrastructure.worldgen; +import com.simibubi.create.infrastructure.worldgen.AllConfiguredFeatures; import com.simibubi.create.infrastructure.worldgen.ConfigPlacementFilter; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; @@ -18,7 +19,8 @@ public class CNPlacedFeatures { public static final ResourceKey URANIUM_ORE = key("uranium_ore"), - LEAD_ORE = key("lead_ore") + LEAD_ORE = key("lead_ore"), + STRIATED_ORES_OVERWORLD = key("striated_ores_overworld") ; private static ResourceKey key(String name) { @@ -27,11 +29,14 @@ private static ResourceKey key(String name) { public static void bootstrap(BootstapContext ctx) { HolderGetter> featureLookup = ctx.lookup(Registries.CONFIGURED_FEATURE); - Holder> uraniumOre = featureLookup.getOrThrow(CNCOnfiguredFeatures.URANIUM_ORE); - Holder> leadOre = featureLookup.getOrThrow(CNCOnfiguredFeatures.LEAD_ORE); + Holder> uraniumOre = featureLookup.getOrThrow(CNConfiguredFeatures.URANIUM_ORE); + Holder> leadOre = featureLookup.getOrThrow(CNConfiguredFeatures.LEAD_ORE); + Holder> striatedOresOverworld = featureLookup.getOrThrow(CNConfiguredFeatures.STRIATED_ORES_OVERWORLD); register(ctx, URANIUM_ORE, uraniumOre, placement(CountPlacement.of(6), -64, 64)); register(ctx, LEAD_ORE, leadOre, placement(CountPlacement.of(6), -64, 64)); + register(ctx, STRIATED_ORES_OVERWORLD, striatedOresOverworld, placement(RarityFilter.onAverageOnceEvery(100/*18*/), -30, 70)); + } private static List placement(PlacementModifier frequency, int minHeight, int maxHeight) { From 791aa4b9246242fb75d225027d8182476fe863cb Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 9 Apr 2025 11:54:37 +0200 Subject: [PATCH 16/40] CNPalettesStoneTypes: Fixed gen striated_ores CNPalettesStoneTypes: Updated Add biome modifier for striated ores in the overworld --- .../fed443662143001aeb5341375f6f5ef31d10baea | 7 +-- .../striated_ores_overworld.json | 6 +++ .../striated_ores_overworld.json | 47 +++++++++++-------- .../striated_ores_overworld.json | 2 +- .../worldgen/CNBiomeModifiers.java | 6 ++- .../worldgen/CNLayerPatterns.java | 17 +++---- .../worldgen/CNPlacedFeatures.java | 3 +- 7 files changed, 54 insertions(+), 34 deletions(-) create mode 100644 src/generated/resources/data/createnuclear/forge/biome_modifier/striated_ores_overworld.json diff --git a/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea b/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea index 53266ae4..9adb28dd 100644 --- a/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea +++ b/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea @@ -1,9 +1,10 @@ -// 1.20.1 2025-04-06T17:35:38.0484587 CreateNuclear Generated Registry Entries +// 1.20.1 2025-04-09T11:43:02.2393534 CreateNuclear Generated Registry Entries 5edbd74546f4088818e02bb7a5c5eb2ecfe25623 data/createnuclear/forge/biome_modifier/lead_ore.json +72173023e6a31748692e750db0f5fa8c555d1009 data/createnuclear/forge/biome_modifier/striated_ores_overworld.json fa32145101dc12ec914684fec8c5cbb995d2c051 data/createnuclear/forge/biome_modifier/uranium_ore.json b68555f371c9700aa4ecfa9370b010de8fe25b60 data/createnuclear/worldgen/configured_feature/lead_ore.json -3f6a4ae9a7cf6fdbc51c6b28c39d885e8c1d09d5 data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json +4f11c0a518c0de7857919983fc638ba551c6630a data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json b0e1ee7314412507fd7346cb48b29d105f6186ad data/createnuclear/worldgen/configured_feature/uranium_ore.json ec82b14bb50728a37053e6dc6ce7832141651f49 data/createnuclear/worldgen/placed_feature/lead_ore.json -ea790e516e2783fa4a6382d11588e195547de164 data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json +f26be417cb34461ecb180e77a9a749eaaf4c9880 data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json 06120ed6a00e684c347732b8178cef3bdf095ded data/createnuclear/worldgen/placed_feature/uranium_ore.json diff --git a/src/generated/resources/data/createnuclear/forge/biome_modifier/striated_ores_overworld.json b/src/generated/resources/data/createnuclear/forge/biome_modifier/striated_ores_overworld.json new file mode 100644 index 00000000..a34288f7 --- /dev/null +++ b/src/generated/resources/data/createnuclear/forge/biome_modifier/striated_ores_overworld.json @@ -0,0 +1,6 @@ +{ + "type": "forge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "createnuclear:striated_ores_overworld", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json b/src/generated/resources/data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json index a50473a7..8e0c9954 100644 --- a/src/generated/resources/data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json +++ b/src/generated/resources/data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json @@ -5,13 +5,13 @@ "layer_patterns": [ [ { - "max_size": 4, + "max_size": 5, "min_size": 2, "targets": [ [ { "state": { - "Name": "create:limestone" + "Name": "createnuclear:autunite" }, "target": { "predicate_type": "minecraft:tag_match", @@ -20,7 +20,7 @@ }, { "state": { - "Name": "create:limestone" + "Name": "createnuclear:autunite" }, "target": { "predicate_type": "minecraft:tag_match", @@ -32,13 +32,13 @@ "weight": 2 }, { - "max_size": 3, - "min_size": 2, + "max_size": 2, + "min_size": 1, "targets": [ [ { "state": { - "Name": "minecraft:calcite" + "Name": "create:limestone" }, "target": { "predicate_type": "minecraft:tag_match", @@ -47,7 +47,7 @@ }, { "state": { - "Name": "minecraft:sandstone" + "Name": "create:limestone" }, "target": { "predicate_type": "minecraft:tag_match", @@ -59,13 +59,13 @@ "weight": 1 }, { - "max_size": 2, - "min_size": 1, + "max_size": 3, + "min_size": 2, "targets": [ [ { "state": { - "Name": "minecraft:stone" + "Name": "minecraft:calcite" }, "target": { "predicate_type": "minecraft:tag_match", @@ -74,7 +74,7 @@ }, { "state": { - "Name": "minecraft:stone" + "Name": "minecraft:calcite" }, "target": { "predicate_type": "minecraft:tag_match", @@ -86,13 +86,13 @@ "weight": 1 }, { - "max_size": 1, - "min_size": 1, + "max_size": 2, + "min_size": 2, "targets": [ [ { "state": { - "Name": "minecraft:glowstone" + "Name": "minecraft:stone" }, "target": { "predicate_type": "minecraft:tag_match", @@ -101,7 +101,10 @@ }, { "state": { - "Name": "minecraft:quartz_block" + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } }, "target": { "predicate_type": "minecraft:tag_match", @@ -113,13 +116,16 @@ "weight": 1 }, { - "max_size": 6, + "max_size": 1, "min_size": 1, "targets": [ [ { "state": { - "Name": "createnuclear:autunite" + "Name": "createnuclear:uranium_ore", + "Properties": { + "lit": "false" + } }, "target": { "predicate_type": "minecraft:tag_match", @@ -128,7 +134,10 @@ }, { "state": { - "Name": "createnuclear:autunite" + "Name": "createnuclear:deepslate_uranium_ore", + "Properties": { + "lit": "false" + } }, "target": { "predicate_type": "minecraft:tag_match", @@ -137,7 +146,7 @@ } ] ], - "weight": 6 + "weight": 1 } ] ], diff --git a/src/generated/resources/data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json b/src/generated/resources/data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json index 1ae0794a..d5ec73f0 100644 --- a/src/generated/resources/data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json +++ b/src/generated/resources/data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json @@ -3,7 +3,7 @@ "placement": [ { "type": "minecraft:rarity_filter", - "chance": 100 + "chance": 18 }, { "type": "minecraft:in_square" diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNBiomeModifiers.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNBiomeModifiers.java index f82cf068..92047c93 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNBiomeModifiers.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNBiomeModifiers.java @@ -1,5 +1,6 @@ package net.nuclearteam.createnuclear.infrastructure.worldgen; +import com.simibubi.create.infrastructure.worldgen.AllPlacedFeatures; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; import net.minecraft.core.HolderSet; @@ -18,7 +19,8 @@ public class CNBiomeModifiers { public static final ResourceKey URANIUM_ORE = key("uranium_ore"), - LEAD_ORE = key("lead_ore") + LEAD_ORE = key("lead_ore"), + STRIATED_ORES_OVERWORLD = key("striated_ores_overworld") ; private static ResourceKey key(String name) { @@ -32,9 +34,11 @@ public static void bootstrap(BootstapContext ctx) { HolderGetter featureLookup = ctx.lookup(Registries.PLACED_FEATURE); Holder uraniumOre = featureLookup.getOrThrow(CNPlacedFeatures.URANIUM_ORE); Holder leadOre = featureLookup.getOrThrow(CNPlacedFeatures.LEAD_ORE); + Holder striatedOresOverworld = featureLookup.getOrThrow(CNPlacedFeatures.STRIATED_ORES_OVERWORLD); ctx.register(URANIUM_ORE, addOre(isOverworld, uraniumOre)); ctx.register(LEAD_ORE, addOre(isOverworld, leadOre)); + ctx.register(STRIATED_ORES_OVERWORLD, addOre(isOverworld, striatedOresOverworld)); } private static AddFeaturesBiomeModifier addOre(HolderSet biomes, Holder feature) { diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java index a988dbd6..4b79c0ab 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNLayerPatterns.java @@ -4,25 +4,26 @@ import com.simibubi.create.infrastructure.worldgen.LayerPattern; import com.tterrag.registrate.util.nullness.NonNullSupplier; import net.minecraft.world.level.block.Blocks; +import net.nuclearteam.createnuclear.CNBlocks; import net.nuclearteam.createnuclear.content.decoration.palettes.CNPaletteStoneTypes; public class CNLayerPatterns { public static final NonNullSupplier AUTUNITE = () -> LayerPattern.builder() .layer(l -> l.weight(2) + .block(CNPaletteStoneTypes.AUTUNITE.getBaseBlock()) + .size(2, 5)) + .layer(l -> l.weight(1) .block(AllPaletteStoneTypes.LIMESTONE.getBaseBlock()) - .size(2, 4)) + .size(1, 2)) .layer(l -> l.weight(1) - .blocks(Blocks.CALCITE, Blocks.SANDSTONE) + .block(Blocks.CALCITE) .size(2, 3)) .layer(l -> l.weight(1) - .block(Blocks.STONE) - .size(1, 2)) + .passiveBlock() + .size(2, 2)) .layer(l -> l.weight(1) - .blocks(Blocks.GLOWSTONE, Blocks.QUARTZ_BLOCK) + .blocks(CNBlocks.URANIUM_ORE.get(), CNBlocks.DEEPSLATE_URANIUM_ORE.get()) .size(1, 1)) - .layer(l -> l.weight(6) - .block(CNPaletteStoneTypes.AUTUNITE.getBaseBlock()) - .size(1, 6)) .build(); } diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java index 861b6cee..856803bd 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java @@ -1,6 +1,5 @@ package net.nuclearteam.createnuclear.infrastructure.worldgen; -import com.simibubi.create.infrastructure.worldgen.AllConfiguredFeatures; import com.simibubi.create.infrastructure.worldgen.ConfigPlacementFilter; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; @@ -35,7 +34,7 @@ public static void bootstrap(BootstapContext ctx) { register(ctx, URANIUM_ORE, uraniumOre, placement(CountPlacement.of(6), -64, 64)); register(ctx, LEAD_ORE, leadOre, placement(CountPlacement.of(6), -64, 64)); - register(ctx, STRIATED_ORES_OVERWORLD, striatedOresOverworld, placement(RarityFilter.onAverageOnceEvery(100/*18*/), -30, 70)); + register(ctx, STRIATED_ORES_OVERWORLD, striatedOresOverworld, placement(RarityFilter.onAverageOnceEvery(18), -30, 70)); } From eff46892993152440092ba12cd9506bfab769b56 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 9 Apr 2025 14:02:02 +0200 Subject: [PATCH 17/40] CNPalettesStoneTypes: Updated placement methods for uranium and lead ores in CNPlacedFeatures --- .../fed443662143001aeb5341375f6f5ef31d10baea | 5 +++-- .../infrastructure/worldgen/CNPlacedFeatures.java | 15 ++++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea b/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea index cb628c25..f3abd780 100644 --- a/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea +++ b/src/generated/resources/.cache/fed443662143001aeb5341375f6f5ef31d10baea @@ -1,4 +1,4 @@ -// 1.20.1 2025-04-09T11:43:02.2393534 CreateNuclear Generated Registry Entries +// 1.20.1 2025-04-09T13:34:42.2149911 CreateNuclear Generated Registry Entries 5edbd74546f4088818e02bb7a5c5eb2ecfe25623 data/createnuclear/forge/biome_modifier/lead_ore.json 72173023e6a31748692e750db0f5fa8c555d1009 data/createnuclear/forge/biome_modifier/striated_ores_overworld.json fa32145101dc12ec914684fec8c5cbb995d2c051 data/createnuclear/forge/biome_modifier/uranium_ore.json @@ -6,4 +6,5 @@ b68555f371c9700aa4ecfa9370b010de8fe25b60 data/createnuclear/worldgen/configured_ 4f11c0a518c0de7857919983fc638ba551c6630a data/createnuclear/worldgen/configured_feature/striated_ores_overworld.json b0e1ee7314412507fd7346cb48b29d105f6186ad data/createnuclear/worldgen/configured_feature/uranium_ore.json d45ed5f7008864ba4f60c409038ad428a280fd7f data/createnuclear/worldgen/placed_feature/lead_ore.json -bed936158c61471513252910d9e3b0e2de610f1a data/createnuclear/worldgen/placed_feature/uranium_ore.json \ No newline at end of file +f26be417cb34461ecb180e77a9a749eaaf4c9880 data/createnuclear/worldgen/placed_feature/striated_ores_overworld.json +bed936158c61471513252910d9e3b0e2de610f1a data/createnuclear/worldgen/placed_feature/uranium_ore.json diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java index c194c343..2735718c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNPlacedFeatures.java @@ -32,13 +32,13 @@ public static void bootstrap(BootstapContext ctx) { Holder> leadOre = featureLookup.getOrThrow(CNConfiguredFeatures.LEAD_ORE); Holder> striatedOresOverworld = featureLookup.getOrThrow(CNConfiguredFeatures.STRIATED_ORES_OVERWORLD); - register(ctx, URANIUM_ORE, uraniumOre, placement(CountPlacement.of(6), -64, 64)); - register(ctx, LEAD_ORE, leadOre, placement(CountPlacement.of(6), -64, 64)); + register(ctx, URANIUM_ORE, uraniumOre, placementOres(CountPlacement.of(6), -64, 64)); + register(ctx, LEAD_ORE, leadOre, placementOres(CountPlacement.of(6), -64, 64)); register(ctx, STRIATED_ORES_OVERWORLD, striatedOresOverworld, placement(RarityFilter.onAverageOnceEvery(18), -30, 70)); } - private static List placement(PlacementModifier frequency, int minHeight, int maxHeight) { + private static List placementOres(PlacementModifier frequency, int minHeight, int maxHeight) { return List.of( frequency, InSquarePlacement.spread(), @@ -46,4 +46,13 @@ private static List placement(PlacementModifier frequency, in ConfigPlacementFilter.INSTANCE ); } + + private static List placement(PlacementModifier frequency, int minHeight, int maxHeight) { + return List.of( + frequency, + InSquarePlacement.spread(), + HeightRangePlacement.uniform(VerticalAnchor.absolute(minHeight), VerticalAnchor.absolute(maxHeight)), + ConfigPlacementFilter.INSTANCE + ); + } } From 8e1e73581fbbfd1d20373bfd875ab943b86c24d9 Mon Sep 17 00:00:00 2001 From: MathisGredtYnov <113118860+MathisGredtYnov@users.noreply.github.com> Date: Wed, 9 Apr 2025 15:54:44 +0200 Subject: [PATCH 18/40] debug radiation effect was not in creative --- src/main/java/net/nuclearteam/createnuclear/CNFluids.java | 2 +- .../createnuclear/foundation/mixin/BaseFireBlockMixin.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/CNFluids.java b/src/main/java/net/nuclearteam/createnuclear/CNFluids.java index 04daebd7..dff8c77c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNFluids.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNFluids.java @@ -52,7 +52,7 @@ public static void register() {} public static void handleFluidEffect(LivingEvent.LivingTickEvent event) { LivingEntity entity = event.getEntity(); - if (entity.isAlive() && !(entity.isSpectator() || entity instanceof Player player && player.isCreative())) { + if (entity.isAlive() && !(entity.isSpectator())) { if (entity.tickCount % 20 == 0) return; if (entity.isInFluidType(URANIUM.getType())) { entity.addEffect(new MobEffectInstance(CNEffects.RADIATION.get(), 100, 0)); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java b/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java index 74d6fe6b..7c4b5940 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java @@ -13,7 +13,7 @@ @Mixin(BaseFireBlock.class) public abstract class BaseFireBlockMixin { - @Inject(at = @At("HEAD"), method = "m_49245_", cancellable = true) + @Inject(at = @At("HEAD"), method = "getState", cancellable = true) private static void CN$getState(BlockGetter reader, BlockPos pos, CallbackInfoReturnable cir) { BlockPos blockPos = pos.below(); BlockState blockState = reader.getBlockState(blockPos); From 17cf6deb8ea8a7cd045510ba6dc185a037b7e3fe Mon Sep 17 00:00:00 2001 From: Giovanni Date: Fri, 11 Apr 2025 07:29:11 +0200 Subject: [PATCH 19/40] CNPalettesStoneTypes: Refactor getState method in BaseFireBlockMixin and add new autunite texture files --- .../foundation/mixin/BaseFireBlockMixin.java | 2 +- .../cap/autunite_cut_cap_connected.png | Bin 0 -> 7288 bytes .../cap/autunite_cut_cap_connectedv1.png | Bin 0 -> 7348 bytes .../cap/autunite_cut_cap_connectedv2.png | Bin 0 -> 7292 bytes .../layered/autunite_cut_layered_connected.png | Bin 0 -> 3128 bytes .../layered/autunite_cut_layered_connectedv1.png | Bin 0 -> 3321 bytes .../layered/autunite_cut_layered_connectedv2.png | Bin 0 -> 3321 bytes .../pillar/autunite_cut_pillar_connected.png | Bin 0 -> 4818 bytes .../pillar/autunite_cut_pillar_connectedv1.png | Bin 0 -> 4818 bytes .../pillar/autunite_cut_pillar_connectedv2.png | Bin 0 -> 4818 bytes 10 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connected.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connected.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv1.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connected.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connectedv1.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connectedv2.png diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java b/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java index 74d6fe6b..7c4b5940 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java @@ -13,7 +13,7 @@ @Mixin(BaseFireBlock.class) public abstract class BaseFireBlockMixin { - @Inject(at = @At("HEAD"), method = "m_49245_", cancellable = true) + @Inject(at = @At("HEAD"), method = "getState", cancellable = true) private static void CN$getState(BlockGetter reader, BlockPos pos, CallbackInfoReturnable cir) { BlockPos blockPos = pos.below(); BlockState blockState = reader.getBlockState(blockPos); diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connected.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..991b495b6956661f2fc354cc381bed2c5c1595f3 GIT binary patch literal 7288 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 IWA}*v0Xt8eOaK4? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png new file mode 100644 index 0000000000000000000000000000000000000000..1c4f20c263d44628d39b4897b781bbbc692c8e4f GIT binary patch literal 7348 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png new file mode 100644 index 0000000000000000000000000000000000000000..c90db79dd26f3d0f1bc3fbe141b695b369b6ceb4 GIT binary patch literal 7292 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connected.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..1e8a6a531c3f34ca0093bacb41408729014ff544 GIT binary patch literal 3128 zcmV-849D|{P)004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000Uv 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 S4@EKn0000N8_;o literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv1.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv1.png new file mode 100644 index 0000000000000000000000000000000000000000..2656eddf39de9c3d0ab509779cadeab981782942 GIT binary patch literal 3321 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 DFZfii literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png new file mode 100644 index 0000000000000000000000000000000000000000..2656eddf39de9c3d0ab509779cadeab981782942 GIT binary patch literal 3321 zcmVStO&>uS)ve<0AYj>5AR{$W90N^4L=L-RlQUJ&DC0@ZjPh;=*jPLSYvv5M~MFBAl0-BNIsH z15C~g000{K(ZT*WKal6<?_01!^k@7iDG<<3=fuAC~28EsPoqkpK{9G%|Vj005J}`Hw&=0RYXHq~ibpyyzHQsFW8>#s~laM4*8xut5h5 z!4#~(4xGUqyucR%VFpA%3?#rj5JCpzfE)^;7?wd9RKPme1hudO8lVxH;SjXJF*pt9 z;1XPc>u?taU>Kgl7`%oF1VP9M6Ja4bh!J9r*dopd7nzO(B4J20l7OTj>4+3jBE`sZ zqynizYLQ(?Bl0bB6giDtK>Co|$RIL`{EECsF_eL_Q3KQhbwIhO9~z3rpmWi5G!I>X zmZEFX8nhlgfVQHi(M#xcbO3#dj$?q)F%D*o*1Pf{>6$SWH+$s3q(pv=X`qR|$iJF~TPzlc-O$C3+J1 z#CT#lv5;6stS0Uu9wDA3UMCI{Uz12A4#|?_P6{CkNG+sOq(0IRX`DyT~9-sA|ffUF>wk++Z!kWZ5P$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>L zsh-pbs)#zDT1jo7c2F-(3)vyY4>O^>2$gY-Gd%Qm(Z8e zYv>2*=jns=cMJ`N4THx>VkjAF8G9M07`GWOnM|ey)0dgZR4~^v8<}UA514ONSSt1^ zd=-((5|uiYR+WC0=c-gyb5%dpd8!Lkt5pxHURHgkMpd&=fR^vEcAI*_=wwAG2sV%zY%w@v@XU~7=xdm1xY6*0;iwVIXu6TaXrs|dqbIl~ z?uTdNHFy_3W~^@g_pF#!K2~{F^;XxcN!DEJEbDF7 zS8PxlSDOr*I-AS3sI8l=#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{ z%p4LO);n}Nd~$Sk%yw*Wyz8XlG{dRHsl(}4XB%gsbDi@w7p6;)%MzD%mlsoQr;4X; zpL)xc%+^yMd)ZNTI#eJ*$O)i@o$z8)e??LqN_gLa_%;TM>o2SC_ zkmoO6c3xRt`@J4dvz#WL)-Y|z+r(Soy~}%GIzByR`p)SCKE^%*pL(B%zNWq+-#xw~ ze%5}Oeh2)X`#bu}{g3#+;d$~F@lFL`0l@*~0lk45fwKc^10MvL1f>Tx1&sx}1}_Xg z6+#RN4Ot&@lW)Km@*DYMGu&q^n$Z=?2%QyL8~QNJCQKgI5srq>2;UHXZ>IT7>CCnW zh~P(Th`1kV8JQRPeH1AwGO8}>QM6NZadh`A)~w`N`)9q5@sFvDxjWlxwsLl7tZHmh zY-8-3xPZ8-xPf?w_(k!T5_A(J3GIpG#Ms0=iQ{tu=WLoYoaCBRmULsT<=mpV7v|~C z%bs^USv6UZd^m-e5|^?+<%1wXP%juy<)>~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3h zINdvaL;7fjPeygdGYL;pD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eT zPi8AClMUo~=55LwlZVRpxOiFd;3B_8yA~shQx|tGF!j;$toK>JuS&gYLDkTP@C~gS@r~shUu{a>bfJ1` z^^VQ7&C1OKHDNXFTgC{M|V%fo{xK_dk6MK@9S!GZ*1JJzrV5xZBjOk z9!NTH<(q(S+MDf~ceQX@Dh|Ry<-sT4rhI$jQ0Sq~!`#Eo-%($2E^vo}is5J@NVEf|KK?WT&2;PCq@=ncR8z zO#GQ^T~S@VXG71PKNocFOt)Y6$@AXlk6rM*aP%VgV%sIRORYVwJx6|U{ozQjTW{-S z_si{9Jg#)~P3t?+@6&(!YQWWV*Z9{iU7vZq@5byKw{9lg9JnRA_4s!7?H6|n?o8ZW zdXIRo{Jz@#>IeD{>VLHUv1Pz*;P_y`V9&!@5AO~Mho1hF|I>%z(nrik)gwkDjgOrl z9~%uCz4Bzvli{bbrxVZ0epdf^>vOB;-~HnIOV3#R*zgPai_gEVd8zYq@2jb=I>#f& zAH2?aJ@Kaet(?AS{|Ja@>)gAzeeS$l27_PuIQN@D9svxm! zGO@#hQzuOq>b}7!ijwhXXU3lR?>>BdFSYELdNoy@)Bx!7F91}l4FlB*U{d{ZIJ~~U zr&2R~M+^XfbW8wxwH;FrC;)(8?cGeZQYn*~JJh>7pTEvC%^&#w@RgW}iG%?RPtO3% zY<3`uX8@0f&j6A<5djc0Gc!SnC}!py5fO7ZwAS33;XS%P5P-2Y)3Y!8-Bf3YsFdPS zQarO?vMfY3HhUt-)TEvk`xEPNmG>3MI>qjDmQyAY9{Xmht+o9gdEO^w-kKQz9oymz z5Ho6e&gMbYO8hWF2wj6o8Ey z^^{$)Q8RojOE%>?FQaX&9zDa4eJn!Q5AS43F=9EVT6y-l)+8S_5U=>UbVOvTj!vc> zE&rMhgQ;cs_Z$8V48*T3^_l8yPrxa)}Snc-*n z&AYex{%&nZ>cOP?@acdX^neLKt!X_7!O82vaxl{RfxI59yHHX;yas7KICY`Ceh3%g za)Ta3#3a9@XybF1(~JIo`HesE^D+Hb^uYUjUJn4wHAw0~xFz*qslldP=PBOy_vp!2 z`PH9sOMlPnK~yWN2k!8n>p_^3{Oq+cU+wQm>w%BounzYb#|)oc00000NkvXXu0mjf DFZfii literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connected.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc635a62005460682dbd282c9d984b3d5df08d5 GIT binary patch literal 4818 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 siNVi00004XF*Lt006O% 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 siNVi00004XF*Lt006O% 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 siNVi Date: Sun, 20 Apr 2025 23:31:12 +0200 Subject: [PATCH 20/40] CNPalettesStoneTypes: Updated method name in BaseFireBlockMixin and added new autunite cut textures --- .../foundation/mixin/BaseFireBlockMixin.java | 2 +- .../cap/autunite_cut_cap_connected.png | Bin 0 -> 7288 bytes .../cap/autunite_cut_cap_connectedv1.png | Bin 0 -> 7348 bytes .../cap/autunite_cut_cap_connectedv2.png | Bin 0 -> 7292 bytes .../layered/autunite_cut_layered_connected.png | Bin 0 -> 3128 bytes .../layered/autunite_cut_layered_connectedv1.png | Bin 0 -> 3321 bytes .../layered/autunite_cut_layered_connectedv2.png | Bin 0 -> 3321 bytes .../pillar/autunite_cut_pillar_connected.png | Bin 0 -> 4818 bytes .../pillar/autunite_cut_pillar_connectedv1.png | Bin 0 -> 4818 bytes .../pillar/autunite_cut_pillar_connectedv2.png | Bin 0 -> 4818 bytes 10 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connected.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connected.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv1.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connected.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connectedv1.png create mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connectedv2.png diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java b/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java index 74d6fe6b..7c4b5940 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/mixin/BaseFireBlockMixin.java @@ -13,7 +13,7 @@ @Mixin(BaseFireBlock.class) public abstract class BaseFireBlockMixin { - @Inject(at = @At("HEAD"), method = "m_49245_", cancellable = true) + @Inject(at = @At("HEAD"), method = "getState", cancellable = true) private static void CN$getState(BlockGetter reader, BlockPos pos, CallbackInfoReturnable cir) { BlockPos blockPos = pos.below(); BlockState blockState = reader.getBlockState(blockPos); diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connected.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..991b495b6956661f2fc354cc381bed2c5c1595f3 GIT binary patch literal 7288 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 IWA}*v0Xt8eOaK4? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png new file mode 100644 index 0000000000000000000000000000000000000000..1c4f20c263d44628d39b4897b781bbbc692c8e4f GIT binary patch literal 7348 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png new file mode 100644 index 0000000000000000000000000000000000000000..c90db79dd26f3d0f1bc3fbe141b695b369b6ceb4 GIT binary patch literal 7292 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connected.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..1e8a6a531c3f34ca0093bacb41408729014ff544 GIT binary patch literal 3128 zcmV-849D|{P)004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000Uv 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 S4@EKn0000N8_;o literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv1.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv1.png new file mode 100644 index 0000000000000000000000000000000000000000..2656eddf39de9c3d0ab509779cadeab981782942 GIT binary patch literal 3321 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 DFZfii literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png new file mode 100644 index 0000000000000000000000000000000000000000..2656eddf39de9c3d0ab509779cadeab981782942 GIT binary patch literal 3321 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 DFZfii literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connected.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc635a62005460682dbd282c9d984b3d5df08d5 GIT binary patch literal 4818 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 siNVi00004XF*Lt006O% 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 siNVi00004XF*Lt006O% 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 siNVi Date: Tue, 29 Apr 2025 08:57:39 +0200 Subject: [PATCH 21/40] Implement HUD overlays for helmet condition and radiation effects; refactor overlay rendering logic --- .../foundation/events/CNClientEvent.java | 38 +++++++-- .../events/CommentEventClients.java | 16 ---- .../foundation/events/EasingHudOverlay.java | 40 +++++++++ .../foundation/events/HudOverlay.java | 37 ++++++++ .../foundation/events/HudOverlayRegistry.java | 31 +++++++ .../events/overlay/EventTextOverlay.java | 60 +++++++++++++ .../events/overlay/HelmetOverlay.java | 85 +++++++++++++++++++ .../events/overlay/RadiationOverlay.java | 55 ++++++++++++ .../foundation/events/possible code | 66 ++++++++++++++ .../foundation/utility/RenderHelper.java | 67 +++++++++++++++ .../worldgen/CNCOnfiguredFeatures.java | 6 +- 11 files changed, 476 insertions(+), 25 deletions(-) delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/CommentEventClients.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/EasingHudOverlay.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlay.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlayRegistry.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/possible code create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java index 1ecc597f..26f55f4c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java @@ -1,20 +1,46 @@ package net.nuclearteam.createnuclear.foundation.events; +import net.minecraft.client.gui.GuiGraphics; import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.client.event.EntityRenderersEvent; import net.minecraftforge.client.event.RegisterGuiOverlaysEvent; +import net.minecraftforge.client.event.RenderGuiOverlayEvent; import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.nuclearteam.createnuclear.CNEntityType; import net.nuclearteam.createnuclear.content.equipment.armor.HelmetOverlayRenderer; +import java.util.Comparator; + @EventBusSubscriber(Dist.CLIENT) public class CNClientEvent { - @EventBusSubscriber(value = Dist.CLIENT, bus = EventBusSubscriber.Bus.MOD) - public static class ModBusEvents { - @SubscribeEvent - public static void regusterGuiOverlays(RegisterGuiOverlaysEvent event) { - event.registerAbove(VanillaGuiOverlay.HELMET.id(), "helmet_vision", HelmetOverlayRenderer.OVERLAY); - event.registerAbove(VanillaGuiOverlay.HELMET.id(), "irradiated_vision", IrradiatedOverlayRendererVision.OVERLAY); + /** + * Called after the vanilla helmet overlay is rendered. + * Dispatches all registered HudOverlay instances. + * + * @param event the RenderGuiOverlayEvent.Post event + */ + @SubscribeEvent + public static void onRenderGuiOverlay(RenderGuiOverlayEvent.Post event) { + // Only proceed if we're after the vanilla helmet overlay + if (!event.getOverlay().id().equals(VanillaGuiOverlay.HELMET.id())) { + return; } + + GuiGraphics gfx = event.getGuiGraphics(); + float partialTicks = event.getPartialTick(); + + // Render all active overlays sorted by priority (highest first) + HudOverlayRegistry.getAll().stream() + .filter(HudOverlay::isActive) + .filter(o -> o.getAfterOverlay().equals(VanillaGuiOverlay.HELMET.id())) + .sorted(Comparator.comparingInt(HudOverlay::getPriority).reversed()) + .forEach(o -> o.render(gfx, partialTicks)); + } + + @SubscribeEvent + public static void registerLayers(EntityRenderersEvent.RegisterLayerDefinitions event) { + CNEntityType.registerModelLayer(event); } } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CommentEventClients.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CommentEventClients.java deleted file mode 100644 index d79c1404..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CommentEventClients.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.events; - -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.EntityRenderersEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod.EventBusSubscriber; -import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; -import net.nuclearteam.createnuclear.CNEntityType; - -@EventBusSubscriber(bus = Bus.MOD, value = Dist.CLIENT) -public class CommentEventClients { - @SubscribeEvent - public static void registerLayers(EntityRenderersEvent.RegisterLayerDefinitions event) { - CNEntityType.registerModelLayer(event); - } -} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/EasingHudOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/EasingHudOverlay.java new file mode 100644 index 00000000..8ef2f3cd --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/EasingHudOverlay.java @@ -0,0 +1,40 @@ +package net.nuclearteam.createnuclear.foundation.events; + +import net.minecraft.client.gui.GuiGraphics; + +/** + * Abstract HUD overlay with smooth fade-in/out (ease-in-out) effect. + */ +public abstract class EasingHudOverlay implements HudOverlay { + private float progress = 0f; + protected float fadeSpeed = 0.03f; + + @Override + public void render(GuiGraphics graphics, float partialTicks) { + // Update progress based on active state + progress = isActive() + ? Math.min(1f, progress + fadeSpeed) + : Math.max(0f, progress - fadeSpeed); + if (progress > 0f) { + renderWithAlpha(graphics, partialTicks, ease(progress)); + } + } + + /** + * Smoothstep interpolation (ease-in-out). + * @param t linear progress [0,1] + * @return eased value + */ + private float ease(float t) { + return t * t * (3f - 2f * t); + } + + /** + * Renders the overlay with a specific alpha. + * Subclasses implement actual drawing here. + * @param graphics the GUI graphics context + * @param partialTicks frame interpolation value + * @param alpha transparency level [0,1] + */ + protected abstract void renderWithAlpha(GuiGraphics graphics, float partialTicks, float alpha); +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlay.java new file mode 100644 index 00000000..4162fedc --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlay.java @@ -0,0 +1,37 @@ +package net.nuclearteam.createnuclear.foundation.events; + +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.resources.ResourceLocation; + +/** + * Base interface for all HUD overlays. + */ +public interface HudOverlay { + /** + * Returns the ResourceLocation of the vanilla (or custom) overlay + * after which this overlay should be rendered. + * + * @return the anchor overlay ID + */ + ResourceLocation getAfterOverlay(); + + /** + * Determines whether this overlay should be rendered. + * @return true if the overlay is active, false otherwise. + */ + boolean isActive(); + + /** + * Renders the overlay. + * @param graphics the GUI graphics context + * @param partialTicks frame interpolation value + */ + void render(GuiGraphics graphics, float partialTicks); + + /** + * Computes the dynamic rendering priority of the overlay. + * Lower values render behind higher values. + * @return integer priority value + */ + int getPriority(); +} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlayRegistry.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlayRegistry.java new file mode 100644 index 00000000..958229f3 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlayRegistry.java @@ -0,0 +1,31 @@ +package net.nuclearteam.createnuclear.foundation.events; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * Central registry for all HudOverlay instances. + * Overlays auto-register themselves via a static block in their class. + */ +public class HudOverlayRegistry { + private static final List OVERLAYS = new ArrayList<>(); + + /** + * Registers a HudOverlay instance. + * + * @param overlay the HudOverlay to register + */ + public static void register(HudOverlay overlay) { + OVERLAYS.add(overlay); + } + + /** + * Returns an unmodifiable list of all registered overlays. + * + * @return list of registered overlays + */ + public static List getAll() { + return Collections.unmodifiableList(OVERLAYS); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java new file mode 100644 index 00000000..5df10b08 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java @@ -0,0 +1,60 @@ +package net.nuclearteam.createnuclear.foundation.events.overlay; + +import net.minecraft.ChatFormatting; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.events.HudOverlay; +import net.nuclearteam.createnuclear.foundation.events.HudOverlayRegistry; + +/** + * HUD overlay for displaying localized text when a specific event occurs. + */ +public class EventTextOverlay implements HudOverlay { + + static { + // Auto-register this overlay when the class is loaded + HudOverlayRegistry.register(new EventTextOverlay()); + } + + private static int timer = 0; + + /** + * Called via network packet to activate the overlay for a specific duration. + * @param displayDuration duration in ticks + */ + public static void triggerEvent(int displayDuration) { + timer = displayDuration; + } + + @Override + public ResourceLocation getAfterOverlay() { + return VanillaGuiOverlay.HELMET.id(); + } + + @Override + public boolean isActive() { + return timer > 0; + } + + @Override + public void render(GuiGraphics graphics, float partialTicks) { + if (timer-- <= 0) return; + CreateNuclear.LOGGER.warn("hum EventTextOverlay: {}", timer); + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) return; + Component text = Component.translatable("overlay.event_message", timer).withStyle(ChatFormatting.RED); + int width = graphics.guiWidth(); + int x = (width - Minecraft.getInstance().font.width(text)) / 2; + graphics.drawString(Minecraft.getInstance().font, text, x, 10, 0xFFFFFF); + } + + @Override + public int getPriority() { + return 300; // render on top of other overlays + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java new file mode 100644 index 00000000..3e9f3261 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java @@ -0,0 +1,85 @@ +package net.nuclearteam.createnuclear.foundation.events.overlay; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.ItemStack; +import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; +import net.nuclearteam.createnuclear.CNTags.CNItemTags; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.events.HudOverlay; +import net.nuclearteam.createnuclear.foundation.events.HudOverlayRegistry; +import net.nuclearteam.createnuclear.foundation.utility.RenderHelper; + +/** + * HUD overlay for displaying helmet condition based on durability. + */ +public class HelmetOverlay implements HudOverlay { + static { + // Auto-register this overlay when the class is loaded + HudOverlayRegistry.register(new HelmetOverlay()); + } + + private static final ResourceLocation[] HELMET_TEXTURES = { + CreateNuclear.asResource("textures/misc/helmet_new.png"), + CreateNuclear.asResource("textures/misc/helmet_minor_damage.png"), + CreateNuclear.asResource("textures/misc/helmet_crack1.png"), + CreateNuclear.asResource("textures/misc/helmet_crack2.png"), + CreateNuclear.asResource("textures/misc/helmet_almost_broken.png") + }; + private static final float[] COVERAGE_FACTORS = {1f, 1f, 1.05f, 1.45f, 1.98f}; + private static final int BASE_PRIORITY = 200; + + @Override + public ResourceLocation getAfterOverlay() { + return VanillaGuiOverlay.HELMET.id(); + } + + @Override + public boolean isActive() { + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) return false; + ItemStack helmet = player.getInventory().getArmor(EquipmentSlot.HEAD.getIndex()); + return !helmet.isEmpty() && helmet.is(CNItemTags.ANTI_RADIATION_HELMET_FULL_DYE.tag); + } + + @Override + public void render(GuiGraphics graphics, float partialTicks) { + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) return; + ItemStack helmet = player.getInventory().getArmor(EquipmentSlot.HEAD.getIndex()); + if (helmet.isEmpty()) return; + + // Calculate durability ratio + float durabilityRatio = (helmet.getMaxDamage() - helmet.getDamageValue()) + / (float) helmet.getMaxDamage(); + // Determine texture index based on thresholds + int index = durabilityRatio >= 0.95f ? 0 + : durabilityRatio >= 0.80f ? 1 + : durabilityRatio >= 0.60f ? 2 + : durabilityRatio >= 0.25f ? 3 + : 4; + + // Update radiation coverage based on helmet condition + RadiationOverlay.setCoverage(COVERAGE_FACTORS[index]); + + // Render helmet overlay texture + RenderHelper.renderTextureOverlay(graphics, HELMET_TEXTURES[index], 1f, 1f); + // Render the hotbar behind the helmet overlay + Minecraft.getInstance().gui.renderHotbar(12f, graphics); + } + + @Override + public int getPriority() { + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) return BASE_PRIORITY; + ItemStack helmet = player.getInventory().getArmor(EquipmentSlot.HEAD.getIndex()); + if (helmet.isEmpty()) return BASE_PRIORITY; + + float durabilityRatio = (helmet.getMaxDamage() - helmet.getDamageValue()) + / (float) helmet.getMaxDamage(); + return BASE_PRIORITY + (int) ((1f - durabilityRatio) * 100); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java new file mode 100644 index 00000000..4198a97c --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java @@ -0,0 +1,55 @@ +package net.nuclearteam.createnuclear.foundation.events.overlay; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; +import net.nuclearteam.createnuclear.CNEffects; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.events.EasingHudOverlay; +import net.nuclearteam.createnuclear.foundation.events.HudOverlayRegistry; +import net.nuclearteam.createnuclear.foundation.utility.RenderHelper; + +/** + * HUD overlay for radiation effect when the player is irradiated. + */ +public class RadiationOverlay extends EasingHudOverlay { + static { + // Auto-register this overlay when the class is loaded + HudOverlayRegistry.register(new RadiationOverlay()); + } + + private static final ResourceLocation RADIATION_TEXTURE = CreateNuclear.asResource("textures/misc/irradiated_vision.png"); + private static float coverage = 1f; + + /** + * Updates the coverage scale for the radiation effect. + * @param newCoverage scale factor (1.0 = normal size) + */ + public static void setCoverage(float newCoverage) { + coverage = newCoverage; + } + + @Override + public ResourceLocation getAfterOverlay() { + return VanillaGuiOverlay.HELMET.id(); + } + + @Override + public boolean isActive() { + LocalPlayer player = Minecraft.getInstance().player; + return player != null && player.getEffect(CNEffects.RADIATION.get()) != null; + } + + @Override + protected void renderWithAlpha(GuiGraphics graphics, float partialTicks, float alpha) { + // Render radiation overlay with dynamic coverage and alpha + RenderHelper.renderTextureOverlay(graphics, RADIATION_TEXTURE, alpha, coverage); + } + + @Override + public int getPriority() { + return 100; // Fixed background priority for radiation effect + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/possible code b/src/main/java/net/nuclearteam/createnuclear/foundation/events/possible code new file mode 100644 index 00000000..87cf86c2 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/possible code @@ -0,0 +1,66 @@ +/* + * META-INF/services/com.tonpackage.HudOverlay + * ------------------------------------------- + * Liste des implémentations de HudOverlay à charger via ServiceLoader + */ +com.tonpackage.HelmetOverlay +com.tonpackage.PotionOverlay +com.tonpackage.RadiationOverlay + +// -------------------------------------------------------- +package com.tonpackage; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.ServiceLoader; + +/** + * Chargement dynamique de tous les HudOverlay via Java SPI (ServiceLoader) + */ +public class HudOverlayRegistry { + private static final List ALL = new ArrayList<>(); + + static { + ServiceLoader.load(HudOverlay.class) + .forEach(ALL::add); + } + + /** + * Retourne la liste non modifiable de tous les overlays chargés. + */ + public static List getAll() { + return Collections.unmodifiableList(ALL); + } +} + +// -------------------------------------------------------- +package com.tonpackage; + +import net.minecraftforge.client.event.RenderGuiOverlayEvent; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; + +import java.util.Comparator; + +@Mod.EventBusSubscriber(value = Dist.CLIENT) +public class CNClientEvent { + + @SubscribeEvent + public static void onRenderGuiOverlay(RenderGuiOverlayEvent.Post event) { + // On ne rend qu'après l'overlay "helmet" + if (!event.getOverlay().id().equals(VanillaGuiOverlay.HELMET.id())) return; + + GuiGraphics gfx = event.getGuiGraphics(); + float pt = event.getPartialTick(); + + HudOverlayRegistry.getAll().stream() + .filter(HudOverlay::isActive) + .filter(o -> o.getAfterOverlay().equals(VanillaGuiOverlay.HELMET.id())) + .sorted(Comparator.comparingInt(HudOverlay::getPriority).reversed()) + .forEach(o -> o.render(gfx, pt)); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java new file mode 100644 index 00000000..428e7e0d --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java @@ -0,0 +1,67 @@ +package net.nuclearteam.createnuclear.foundation.utility; + +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.resources.ResourceLocation; + +/** + * Helper class for rendering full-screen overlays with optional scaling and caching. + */ +public class RenderHelper { + private static float lastAlpha = -1f; + private static float lastCoverage = -1f; + + /** + * Renders a full-screen texture with given transparency and coverage scale. + * Uses caching to skip rendering when parameters are unchanged. + * @param graphics GUI graphics context + * @param texture the texture to render + * @param alpha transparency [0,1] + * @param coverage scale factor (1.0 = normal size) + */ + public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation texture, float alpha, float coverage) { + // Skip rendering if parameters unchanged + /* if (alpha == lastAlpha && coverage == lastCoverage) return; + lastAlpha = alpha; + lastCoverage = coverage;*/ + + int width = graphics.guiWidth(); + int height = graphics.guiHeight(); + graphics.setColor(1f, 1f, 1f, alpha); + + if (coverage == 1f) { + // Simple blit without scaling + graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); + } else { + // Blit with scaling centered on screen + graphics.pose().pushPose(); + graphics.pose().translate(width / 2f, height / 2f, 0); + graphics.pose().scale(coverage, coverage, 1f); + graphics.pose().translate(-width / 2f, -height / 2f, 0); + graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); + graphics.pose().popPose(); + } + } + + /** + * Renders a full-screen texture with given transparency. + * This version does not apply scaling (no zoom effect). + * + * @param graphics GUI graphics context + * @param texture the texture to render + * @param alpha transparency [0,1] + */ + public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation texture, float alpha) { + // Skip rendering if parameters unchanged + if (alpha == lastAlpha) return; + lastAlpha = alpha; + + int width = graphics.guiWidth(); + int height = graphics.guiHeight(); + + // Set the color with the provided alpha + graphics.setColor(1f, 1f, 1f, alpha); + + // Simple blit without scaling (normal size) + graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNCOnfiguredFeatures.java b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNCOnfiguredFeatures.java index e26ed4c8..3cd4872c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNCOnfiguredFeatures.java +++ b/src/main/java/net/nuclearteam/createnuclear/infrastructure/worldgen/CNCOnfiguredFeatures.java @@ -27,18 +27,18 @@ public class CNCOnfiguredFeatures { } public static void bootstrap(BootstapContext> ctx) { - RuleTest stoneOreReplaceables = new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES); + RuleTest stoneOreReplaceable = new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES); RuleTest deepslateOreReplaceables = new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES); List uraniumTargetStates = List.of( - OreConfiguration.target(stoneOreReplaceables, CNBlocks.URANIUM_ORE.getDefaultState()), + OreConfiguration.target(stoneOreReplaceable, CNBlocks.URANIUM_ORE.getDefaultState()), OreConfiguration.target(deepslateOreReplaceables, CNBlocks.DEEPSLATE_URANIUM_ORE.getDefaultState()) ); register(ctx, URANIUM_ORE, Feature.ORE, new OreConfiguration(uraniumTargetStates, 7)); List leadTargetStates = List.of( - OreConfiguration.target(stoneOreReplaceables, CNBlocks.LEAD_ORE.getDefaultState()), + OreConfiguration.target(stoneOreReplaceable, CNBlocks.LEAD_ORE.getDefaultState()), OreConfiguration.target(deepslateOreReplaceables, CNBlocks.DEEPSLATE_LEAD_ORE.getDefaultState()) ); From 0a0b6dbba97a7ee8881a0a94a3555396c9ba8dc9 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 30 Apr 2025 07:53:59 +0200 Subject: [PATCH 22/40] hudDisplay: Updated --- .../createnuclear/foundation/events/CNClientEvent.java | 9 ++++++--- .../foundation/events/overlay/HelmetOverlay.java | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java index 26f55f4c..22508d77 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java @@ -39,8 +39,11 @@ public static void onRenderGuiOverlay(RenderGuiOverlayEvent.Post event) { .forEach(o -> o.render(gfx, partialTicks)); } - @SubscribeEvent - public static void registerLayers(EntityRenderersEvent.RegisterLayerDefinitions event) { - CNEntityType.registerModelLayer(event); + @EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) + public static class CommentEventClients { + @SubscribeEvent + public static void registerLayers(EntityRenderersEvent.RegisterLayerDefinitions event) { + CNEntityType.registerModelLayer(event); + } } } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java index 3e9f3261..f00dc75d 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java @@ -47,6 +47,7 @@ public boolean isActive() { @Override public void render(GuiGraphics graphics, float partialTicks) { + CreateNuclear.LOGGER.warn("hum HelmetOverlay"); LocalPlayer player = Minecraft.getInstance().player; if (player == null) return; ItemStack helmet = player.getInventory().getArmor(EquipmentSlot.HEAD.getIndex()); From cb0b567abc2718cabe15b7637c91cc8d925ebd71 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 30 Apr 2025 15:42:14 +0200 Subject: [PATCH 23/40] Refactor recipes and tags for lead, uranium, and steel - Updated reactor_frame recipe to use steel tag instead of steel ingot. - Changed lead ingot, nugget, and block recipes to utilize storage block tags. - Adjusted raw lead and uranium recipes to reference their respective storage block tags. - Modified steel ingot and nugget recipes to use storage block tags. - Updated smelting recipe for lead ingot to use raw material tag. - Created new tags for lead, raw lead, uranium, and steel storage blocks. - Enhanced CNBlocks and CNItems to include appropriate tags for new storage blocks. - Refactored recipe generation classes to utilize tags for crafting and processing. - Improved readability and maintainability of recipe definitions across various classes. --- .../15812fa7bc190aa8f0a8644088c7ff563925e506 | 41 +++-- .../3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 6 +- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 20 +-- .../blasting/lead_ingot_for_raw_lead.json | 4 +- .../recipes/misc/crafting/raw_lead_block.json | 4 +- .../misc/crafting/raw_uranium_block.json | 4 +- .../lead_ingot_from_decompacting.json | 4 +- .../lead_nugget_from_decompacting.json | 4 +- .../shapeless/raw_lead_from_decompacting.json | 4 +- .../raw_uranium_from_decompacting.json | 4 +- .../steel_ingot_from_decompacting.json | 4 +- .../steel_nugget_from_decompacting.json | 4 +- .../smelting/lead_ingot_for_raw_lead.json | 4 +- .../blasting/lead_ingot_for_raw_lead.json | 2 +- .../uranium_fluid_to_yellowcake.json | 3 +- .../recipes/crafting/raw_lead_block.json | 2 +- .../recipes/crafting/raw_uranium_block.json | 2 +- .../crafting/reactor/reinforced_glass.json | 4 +- .../recipes/crushing/charcoal.json | 15 -- .../createnuclear/recipes/crushing/coal.json | 2 +- ...or_casing_from_steel_and_brass_casing.json | 2 +- .../mechanical_crafting/graphite_rod.json | 2 +- .../mechanical_crafting/reactor_cooler.json | 2 +- .../mechanical_crafting/reactor_core.json | 2 +- .../mechanical_crafting/reactor_frame.json | 2 +- .../lead_ingot_from_decompacting.json | 2 +- .../lead_nugget_from_decompacting.json | 2 +- .../shapeless/raw_lead_from_decompacting.json | 2 +- .../raw_uranium_from_decompacting.json | 2 +- .../steel_ingot_from_decompacting.json | 2 +- .../steel_nugget_from_decompacting.json | 2 +- .../smelting/lead_ingot_for_raw_lead.json | 2 +- .../forge/tags/items/storage_blocks/lead.json | 5 + .../tags/items/storage_blocks/raw_lead.json | 5 + .../items/storage_blocks/raw_uranium.json | 5 + .../tags/items/storage_blocks/steel.json | 5 + .../nuclearteam/createnuclear/CNBlocks.java | 16 +- .../nuclearteam/createnuclear/CNItems.java | 10 +- .../data/recipe/CNCompactingRecipeGen.java | 6 +- .../data/recipe/CNCrushingRecipeGen.java | 45 ++---- .../recipe/CNItemApplicationRecipeGen.java | 10 +- .../recipe/CNMechanicalCraftingRecipeGen.java | 141 +++++++++--------- .../data/recipe/CNMixingRecipeGen.java | 4 +- .../data/recipe/CNPressingRecipeGen.java | 4 +- .../data/recipe/CNProcessingRecipeGen.java | 2 - .../data/recipe/CNShapelessRecipeGen.java | 42 +++--- .../data/recipe/CNStandardRecipeGen.java | 137 +++++++++-------- 47 files changed, 288 insertions(+), 310 deletions(-) delete mode 100644 src/generated/resources/data/createnuclear/recipes/crushing/charcoal.json create mode 100644 src/generated/resources/data/forge/tags/items/storage_blocks/lead.json create mode 100644 src/generated/resources/data/forge/tags/items/storage_blocks/raw_lead.json create mode 100644 src/generated/resources/data/forge/tags/items/storage_blocks/raw_uranium.json create mode 100644 src/generated/resources/data/forge/tags/items/storage_blocks/steel.json diff --git a/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 b/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 index b5dc8ae2..894d6ea7 100644 --- a/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 +++ b/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 @@ -1,4 +1,4 @@ -// 1.20.1 2025-03-19T11:40:04.4388497 CreateNuclear's Processing Recipes +// 1.20.1 2025-04-30T15:40:28.0364309 CreateNuclear's Processing Recipes d02fe65c0c4f06b58fa7565d7254902de5018e8b data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/black_cloth.json 9690e12858db1c546576ce70847e723c005f814e data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/blue_cloth.json 3bebcd85a99be0ddec8db66c5734232ac4bbd2ad data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/brown_cloth.json @@ -15,16 +15,15 @@ a68afd8036c827e4ee599ad27d3ef0d4466f69b3 data/createnuclear/advancements/recipes 908db808fbda28124967010f91007ae3d32e5a86 data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/red_cloth.json 887cfc7346e0791157a15a2afd3dae39dac8a82d data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/white_cloth.json 968c113480a37fe3c6f8f37d46528d428eaef3ad data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/yellow_cloth.json -41106df4ff80c468a24dbabac260cb606ae1a127 data/createnuclear/advancements/recipes/misc/shapeless/lead_ingot_from_decompacting.json -1a375cc75482d67851f1e31863c3541f227b079b data/createnuclear/advancements/recipes/misc/shapeless/lead_nugget_from_decompacting.json -1b83c7eb41d6e8e31a52845497ecc3c8aa3481b5 data/createnuclear/advancements/recipes/misc/shapeless/raw_lead_from_decompacting.json -8a53d33912301211518a4b6a371030f6fcd7532f data/createnuclear/advancements/recipes/misc/shapeless/raw_uranium_from_decompacting.json +2a88f3c33f2a6f1cf1147fb010dd08249fe16d03 data/createnuclear/advancements/recipes/misc/shapeless/lead_ingot_from_decompacting.json +a51062bde101050cc0232826aee6f58b61919fe9 data/createnuclear/advancements/recipes/misc/shapeless/lead_nugget_from_decompacting.json +0bbbab8b639238f895a57244f07815837ff1c7c9 data/createnuclear/advancements/recipes/misc/shapeless/raw_lead_from_decompacting.json +3507a7862c2bcd7cd22462f31972c55e01d45d2c data/createnuclear/advancements/recipes/misc/shapeless/raw_uranium_from_decompacting.json 5a7e80738122d1b84d6dcdd8ab664db2fe01e47e data/createnuclear/advancements/recipes/misc/shapeless/reactor_blueprint_item_clear.json -1d9bec5a7790640dea00d4fdd986251732ad4af3 data/createnuclear/advancements/recipes/misc/shapeless/steel_ingot_from_decompacting.json -7375d898c4722c94e6cbe35db70723fb58d13bf1 data/createnuclear/advancements/recipes/misc/shapeless/steel_nugget_from_decompacting.json -f0d205d168427e468bffe76d4400305528d701b5 data/createnuclear/recipes/compacting/uranium_fluid_to_yellowcake.json -607980178060555690388cdb2325b69156878012 data/createnuclear/recipes/crushing/charcoal.json -24c35af7a9dc3d740f3200bdd1ad96ad125df00a data/createnuclear/recipes/crushing/coal.json +44beb3f117dbd3be082ab34d193609b7d94d1662 data/createnuclear/advancements/recipes/misc/shapeless/steel_ingot_from_decompacting.json +fd90813bfa340202cf2e2e7eb293980f7f2ac056 data/createnuclear/advancements/recipes/misc/shapeless/steel_nugget_from_decompacting.json +c711d032a04e1a9350ad9bc4d9c4d74f54689862 data/createnuclear/recipes/compacting/uranium_fluid_to_yellowcake.json +33becbc558bd2fbe277be096b292c0093f84e44c data/createnuclear/recipes/crushing/coal.json 2a8b609dba5bad88511d9c9a80cf6fb582b18c36 data/createnuclear/recipes/crushing/fix/crushed_raw_uranium.json 57154e35ebb09170bb39f5b3a72ecd49182697f2 data/createnuclear/recipes/crushing/granite.json 4feb59d85e86e34ed565c18b6a4df120fe050bc7 data/createnuclear/recipes/crushing/raw_copper.json @@ -32,14 +31,14 @@ cf17713133d3e05e99164e2ea6649de3aef017fd data/createnuclear/recipes/crushing/raw 26d2787e831b9986ed6f90f8ea803d5fdc544bf5 data/createnuclear/recipes/crushing/raw_zinc.json e42be7d17c5e057e62c4b1176cbf43319a157f51 data/createnuclear/recipes/enriched/enriched_yellowcake.json 74555eb2cce0827f99dc5c4ff91362bdaecad725 data/createnuclear/recipes/enriched/enriching_campfire.json -5cee3df3d7c7cd41d6a94a36b713dddc77f2acc4 data/createnuclear/recipes/item_application/reactor_casing_from_steel_and_brass_casing.json +d0a30a8942f3e81d11afa21a93037916601c38cb data/createnuclear/recipes/item_application/reactor_casing_from_steel_and_brass_casing.json f2d3a2dbcb9135e31261cc8408f11cd07038a826 data/createnuclear/recipes/item_application/reactor_input_from_hopper_and_reactor_casing.json 91c07d7804d0960aaa17a6258f00f1731ca458f5 data/createnuclear/recipes/item_application/reactor_output_from_shaft_and_reactor_casing.json -527b9185fc739b99a8d0c46975e18b23dd4e9ceb data/createnuclear/recipes/mechanical_crafting/graphite_rod.json +0a56332199941d1db61ee7512130d2664fd73e46 data/createnuclear/recipes/mechanical_crafting/graphite_rod.json 85f68439da9d4bb70d1308b7b64db0e30fec9e51 data/createnuclear/recipes/mechanical_crafting/reactor_controller.json -d1ca4f0833248c93802a5ecce541c2cdec92d0bf data/createnuclear/recipes/mechanical_crafting/reactor_cooler.json -123aa4e9b991e5bebbaefa8a632790fd4c5df9a8 data/createnuclear/recipes/mechanical_crafting/reactor_core.json -2e34bda29300215b28c0179960ac02f2ce569b8c data/createnuclear/recipes/mechanical_crafting/reactor_frame.json +11b4c4d65d4f6981c34e7f97e0e8dc3468376b05 data/createnuclear/recipes/mechanical_crafting/reactor_cooler.json +8228bb2d850dfd474e2ce142ac9a0ff6ab707f07 data/createnuclear/recipes/mechanical_crafting/reactor_core.json +48db9006423a3762a24c7cae7a3534f124aa0e4c data/createnuclear/recipes/mechanical_crafting/reactor_frame.json 0a1d26105f14cb2a01b18b9f050c900412f917fb data/createnuclear/recipes/mechanical_crafting/uranium_rod.json 21619f6b573091dd880541f61af3c1b1b8d495e4 data/createnuclear/recipes/mixing/steel.json a9895b29715ad4cce9d97c158677bfcf21eaff14 data/createnuclear/recipes/mixing/uranium_fluid.json @@ -60,10 +59,10 @@ fa041c5a7e252bed6dc4636a45e5857d7e14dcb1 data/createnuclear/recipes/shapeless/cl c863e58a1e11f9b8a925b08b321d45f76cb96de4 data/createnuclear/recipes/shapeless/cloth/red_cloth.json 2d315d82efde22d511e339baec628babdce5767f data/createnuclear/recipes/shapeless/cloth/white_cloth.json fac232af7ba0edf6cf8e0f018cf53678457e652e data/createnuclear/recipes/shapeless/cloth/yellow_cloth.json -946c506e1a893e5160093c6f96d8cef59b897fa2 data/createnuclear/recipes/shapeless/lead_ingot_from_decompacting.json -60137204646376fdf562001f9897514412059be4 data/createnuclear/recipes/shapeless/lead_nugget_from_decompacting.json -ee9f6e45a6c733f1ce2a702c868b60a0d96bbb13 data/createnuclear/recipes/shapeless/raw_lead_from_decompacting.json -0963a19bb89ddbbd20079a0c2c02f7f83697563c data/createnuclear/recipes/shapeless/raw_uranium_from_decompacting.json +ad29e797fed10865a6c15d95c3de1278c0427df8 data/createnuclear/recipes/shapeless/lead_ingot_from_decompacting.json +42fa720bf96a1d46e206db30cbd38e1b04ea7f63 data/createnuclear/recipes/shapeless/lead_nugget_from_decompacting.json +7bf77189b1a9bc533e5ac0bb72ec87e8d5221691 data/createnuclear/recipes/shapeless/raw_lead_from_decompacting.json +997f2bf339dd63253d9a98d16a9efeffac4eea81 data/createnuclear/recipes/shapeless/raw_uranium_from_decompacting.json 8e194709b50fd2ca2ef2138b5d2528e092b45e4f data/createnuclear/recipes/shapeless/reactor_blueprint_item_clear.json -cea8045f8f5fae828c41c0fae8236cb4560b3d61 data/createnuclear/recipes/shapeless/steel_ingot_from_decompacting.json -106b21181a49e73524be22319ba318719b7db0c9 data/createnuclear/recipes/shapeless/steel_nugget_from_decompacting.json +ae6d07dc30751bfa39edbcdb8758a2faababa5da data/createnuclear/recipes/shapeless/steel_ingot_from_decompacting.json +5fb04284d66de4bf54471a3db0d9a3bfa6b7a18c data/createnuclear/recipes/shapeless/steel_nugget_from_decompacting.json diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index 39c8eadb..41ab6c3d 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,4 +1,4 @@ -// 1.20.1 2025-03-07T23:26:05.6554053 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-04-30T15:40:28.0620136 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 5cf183e5277aea7ac5eb2bfa88737db909c6244d assets/createnuclear/blockstates/deepslate_lead_ore.json a6f90dfcfc0659663335d4c80129ce41d0c8e47a assets/createnuclear/blockstates/deepslate_uranium_ore.json e11c7fa5830b0877af69bb18e650d2b1e6f90027 assets/createnuclear/blockstates/enriched_soul_soil.json @@ -205,6 +205,10 @@ cdebf2b4eabcf71ee4566b7fbf22f18990a4e06b data/forge/tags/items/raw_materials.jso 03a88f0d9f44d3c338b82bf92b22a14dec490bef data/forge/tags/items/raw_materials/uranium.json cdebf2b4eabcf71ee4566b7fbf22f18990a4e06b data/forge/tags/items/raw_ores.json c1ad472460350e6abd024de7785cd870dad05cd9 data/forge/tags/items/rods.json +a7258ae3454252e874b324fbd81b880ce52759c4 data/forge/tags/items/storage_blocks/lead.json +2b32fe875f887d4a406700d35e0fe5a93548ebb7 data/forge/tags/items/storage_blocks/raw_lead.json +0aafd338eaffcc3f48fb8dc9d18fc969318b06e0 data/forge/tags/items/storage_blocks/raw_uranium.json +f8074cdbc6e2b560acb4e9da953b23f9825486a6 data/forge/tags/items/storage_blocks/steel.json e84d8e1fa924bec3e226b8917b4973b9629a5f52 data/minecraft/tags/blocks/all/campfires.json e84d8e1fa924bec3e226b8917b4973b9629a5f52 data/minecraft/tags/blocks/campfires.json 3206babfa42429478935375acd710b4028884941 data/minecraft/tags/blocks/dragon_transparent.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 27bf5ba7..2bbbb689 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.1 2025-03-19T11:38:54.4169169 Recipes +// 1.20.1 2025-04-30T15:40:28.0504731 Recipes 2033f2859713c27e945069e6b831665a3fda414a data/createnuclear/advancements/recipes/combat/crafting/items/armors/anti_radiation_boots.json 994c303b720b9195df5332abdb6035fc0663d86b data/createnuclear/advancements/recipes/combat/crafting/items/armors/black_anti_radiation_chestplate.json 2e66d1ed8fb018bd2a5258109c7ce6bd1494dbf7 data/createnuclear/advancements/recipes/combat/crafting/items/armors/black_anti_radiation_helmet.json @@ -49,14 +49,14 @@ d222771ad3dde39d390e8d89d95918bb523eec93 data/createnuclear/advancements/recipes 1ca46718d29476420c4ebfd171e36e76770c79b6 data/createnuclear/advancements/recipes/combat/crafting/items/armors/yellow_anti_radiation_helmet.json 8978bafbd0fc5dc9bcb1789c78f0a9b398bd8d1c data/createnuclear/advancements/recipes/combat/crafting/items/armors/yellow_anti_radiation_leggings.json 14b3abbc5d9b1950f65ef1cc03f79a36c8820efc data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_lead_ore.json -ce857398ef3d501ad5724a7df00ea2a5acb4e38e data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_raw_lead.json +028d2b4f2f5ec4764791ca5c28c19b6848b00bea data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_raw_lead.json 605ccb2acc7e944ddbce2e962af3278e47a04627 data/createnuclear/advancements/recipes/misc/blasting/raw_uranium_for_uranium_ore.json eaf984d1126a240016bb6d32c08c673deadf2c3a data/createnuclear/advancements/recipes/misc/crafting/enriched_soul_soil.json ffca0fb212a8a89c18d88df891c0024cb57d7234 data/createnuclear/advancements/recipes/misc/crafting/enriching_campfire.json a72a296cd6cad499e78fa33f74194d74e9d2eef0 data/createnuclear/advancements/recipes/misc/crafting/lead_block_from_compacting.json c6acb8cd38541f9baf6e9045bf2547666a48dd66 data/createnuclear/advancements/recipes/misc/crafting/lead_ingot_from_compacting.json -b1f866938b7f0821e78bb945b87b5cb2c677c964 data/createnuclear/advancements/recipes/misc/crafting/raw_lead_block.json -9965b1f16205013a265d23a836d757bddf8d99ce data/createnuclear/advancements/recipes/misc/crafting/raw_uranium_block.json +8353c2ab4e2e194a3803b202f24174460f3107dd data/createnuclear/advancements/recipes/misc/crafting/raw_lead_block.json +2ce8c1b0568cf25f94aa4893d74c7df93cced6dd data/createnuclear/advancements/recipes/misc/crafting/raw_uranium_block.json c79a6b01a59b85fe35918ca866b7b2ed91494d2b data/createnuclear/advancements/recipes/misc/crafting/reactor/reinforced_glass.json bf50e5103f335c3e8e389922fa05a31531374f46 data/createnuclear/advancements/recipes/misc/crafting/reactor_blueprint_item.json 7be9394a2c56bc4683288e45a44bfc5dda6a4b6e data/createnuclear/advancements/recipes/misc/crafting/steel_block_from_compacting.json @@ -64,10 +64,10 @@ bf50e5103f335c3e8e389922fa05a31531374f46 data/createnuclear/advancements/recipes a98dc6de94e6658d78ec28b77959ae9cb17b1d58 data/createnuclear/advancements/recipes/misc/crafting/white_cloth.json 067475701d6f059793c064718b7bba4b939ce380 data/createnuclear/advancements/recipes/misc/crafting/white_cloth_wool.json 0c347228b63702ba70d4257c4b5642133fb8e5b8 data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_lead_ore.json -50ad5192e1c95871f5c808adb0d3c710bd7a32b9 data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_raw_lead.json +1bb03dfa15ff7f76bc2accdd7d26b520605ae4bf data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_raw_lead.json d7cfc6f1ff4d39df0df526ec3723e8d18d198945 data/createnuclear/advancements/recipes/misc/smelting/raw_uranium_for_uranium_ore.json b2ec2f955ece9110bf315a2773b70999e268f81d data/createnuclear/recipes/blasting/lead_ingot_for_lead_ore.json -09ea2c51cea1408eb4e994bb884d8bfadc2a3dc7 data/createnuclear/recipes/blasting/lead_ingot_for_raw_lead.json +c46810e5000a34edfceed6a8457595afe9d0377d data/createnuclear/recipes/blasting/lead_ingot_for_raw_lead.json 978cc9d92268673050da5697482f4013a63a65f1 data/createnuclear/recipes/blasting/raw_uranium_for_uranium_ore.json 749b8127db160264925c9117d1282fdfceded98d data/createnuclear/recipes/crafting/enriched_soul_soil.json 3ce1aa65e8260fbe5fe84c9064b8de3745762605 data/createnuclear/recipes/crafting/enriching_campfire.json @@ -122,14 +122,14 @@ e6396835f0c68c87409e25edda2779227b84f5ec data/createnuclear/recipes/crafting/ite 1d22695a4dd7ce4429529011c6cccee1969abb9e data/createnuclear/recipes/crafting/items/armors/yellow_anti_radiation_leggings.json 319718ee24e2c5bdeba2b16cd99c55fc7f97f9e4 data/createnuclear/recipes/crafting/lead_block_from_compacting.json 17e9a54a54b1ed1f6af0a3fbb0771262af585a95 data/createnuclear/recipes/crafting/lead_ingot_from_compacting.json -908a0bc9a7be42c1e471cda2106b2103f0f66792 data/createnuclear/recipes/crafting/raw_lead_block.json -b12cea6cfb392255f884069510c585833eda0bae data/createnuclear/recipes/crafting/raw_uranium_block.json -7b09b5481a5a905de580336f1beb2eecdc2e003d data/createnuclear/recipes/crafting/reactor/reinforced_glass.json +6d70c403bab3160fc13fbb3efee85d9f77f2e96c data/createnuclear/recipes/crafting/raw_lead_block.json +62e238496e81bbf9a86fcfc9396a6416e057007c data/createnuclear/recipes/crafting/raw_uranium_block.json +a7ff79f9d11a46e52fb25819a7c9e9604e8a317a data/createnuclear/recipes/crafting/reactor/reinforced_glass.json 77f77148406d34c065b55efa9d6e7a2b107831c5 data/createnuclear/recipes/crafting/reactor_blueprint_item.json 8e2e9b598fe86d2238915fb59486bccfac737e16 data/createnuclear/recipes/crafting/steel_block_from_compacting.json af5d168185e516ea79c335ac7eb6652b99723143 data/createnuclear/recipes/crafting/steel_ingot_from_compacting.json f2841ff83321c5bf5d43649fb204fa3a97fd596e data/createnuclear/recipes/crafting/white_cloth.json 93e75639c60d69067daddecfb2fa480a8e2040c4 data/createnuclear/recipes/crafting/white_cloth_wool.json 4121c89708b0b069ece6dd9356dd3865af602779 data/createnuclear/recipes/smelting/lead_ingot_for_lead_ore.json -0cb0e35b14a83085aa5868116e23fb4fb81c1234 data/createnuclear/recipes/smelting/lead_ingot_for_raw_lead.json +7acfaccfb12d280e8d858fdaf7f9048a5ac29e26 data/createnuclear/recipes/smelting/lead_ingot_for_raw_lead.json 93fe12ad36a99451009518d71ac105969a1ef2aa data/createnuclear/recipes/smelting/raw_uranium_for_uranium_ore.json diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_raw_lead.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_raw_lead.json index 6a11c850..5fc92591 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_raw_lead.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_raw_lead.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:raw_lead" - ] + "tag": "forge:raw_materials/lead" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/crafting/raw_lead_block.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/crafting/raw_lead_block.json index 690e3aa9..672d5e44 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/crafting/raw_lead_block.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/crafting/raw_lead_block.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:raw_lead" - ] + "tag": "forge:raw_materials/lead" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/crafting/raw_uranium_block.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/crafting/raw_uranium_block.json index 79c3b52e..6b279f97 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/crafting/raw_uranium_block.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/crafting/raw_uranium_block.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:raw_uranium" - ] + "tag": "forge:raw_materials/uranium" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/lead_ingot_from_decompacting.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/lead_ingot_from_decompacting.json index 3083c010..6e01557d 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/lead_ingot_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/lead_ingot_from_decompacting.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:lead_ingot" - ] + "tag": "forge:storage_blocks/lead" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/lead_nugget_from_decompacting.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/lead_nugget_from_decompacting.json index 5d94a4ef..6e2a6521 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/lead_nugget_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/lead_nugget_from_decompacting.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:lead_nugget" - ] + "tag": "forge:ingots/lead" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/raw_lead_from_decompacting.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/raw_lead_from_decompacting.json index ed1f3d15..0a16cae3 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/raw_lead_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/raw_lead_from_decompacting.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:raw_lead" - ] + "tag": "forge:storage_blocks/raw_lead" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/raw_uranium_from_decompacting.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/raw_uranium_from_decompacting.json index 8302f704..51c19a68 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/raw_uranium_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/raw_uranium_from_decompacting.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:raw_uranium" - ] + "tag": "forge:storage_blocks/raw_uranium" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/steel_ingot_from_decompacting.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/steel_ingot_from_decompacting.json index 0ec8803e..ecf0670e 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/steel_ingot_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/steel_ingot_from_decompacting.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:steel_ingot" - ] + "tag": "forge:storage_blocks/steel" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/steel_nugget_from_decompacting.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/steel_nugget_from_decompacting.json index 07fad98d..333b3611 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/steel_nugget_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/shapeless/steel_nugget_from_decompacting.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:steel_nugget" - ] + "tag": "forge:ingots/steel" } ] }, diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_raw_lead.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_raw_lead.json index 11bbe659..ca365a4a 100644 --- a/src/generated/resources/data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_raw_lead.json +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_raw_lead.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "createnuclear:raw_lead" - ] + "tag": "forge:raw_materials/lead" } ] }, diff --git a/src/generated/resources/data/createnuclear/recipes/blasting/lead_ingot_for_raw_lead.json b/src/generated/resources/data/createnuclear/recipes/blasting/lead_ingot_for_raw_lead.json index ab00c7b4..54ef8d6e 100644 --- a/src/generated/resources/data/createnuclear/recipes/blasting/lead_ingot_for_raw_lead.json +++ b/src/generated/resources/data/createnuclear/recipes/blasting/lead_ingot_for_raw_lead.json @@ -4,7 +4,7 @@ "cookingtime": 100, "experience": 0.1, "ingredient": { - "item": "createnuclear:raw_lead" + "tag": "forge:raw_materials/lead" }, "result": "createnuclear:lead_ingot" } \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/compacting/uranium_fluid_to_yellowcake.json b/src/generated/resources/data/createnuclear/recipes/compacting/uranium_fluid_to_yellowcake.json index a8def514..88a471a7 100644 --- a/src/generated/resources/data/createnuclear/recipes/compacting/uranium_fluid_to_yellowcake.json +++ b/src/generated/resources/data/createnuclear/recipes/compacting/uranium_fluid_to_yellowcake.json @@ -3,8 +3,7 @@ "ingredients": [ { "amount": 100, - "fluid": "createnuclear:uranium", - "nbt": {} + "fluidTag": "createnuclear:uranium" } ], "results": [ diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/raw_lead_block.json b/src/generated/resources/data/createnuclear/recipes/crafting/raw_lead_block.json index 7cec841b..b59db1a1 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/raw_lead_block.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/raw_lead_block.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "R": { - "item": "createnuclear:raw_lead" + "tag": "forge:raw_materials/lead" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/raw_uranium_block.json b/src/generated/resources/data/createnuclear/recipes/crafting/raw_uranium_block.json index 076a0369..157f1305 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/raw_uranium_block.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/raw_uranium_block.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "R": { - "item": "createnuclear:raw_uranium" + "tag": "forge:raw_materials/uranium" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/crafting/reactor/reinforced_glass.json b/src/generated/resources/data/createnuclear/recipes/crafting/reactor/reinforced_glass.json index 7cd7ab5b..0469fa69 100644 --- a/src/generated/resources/data/createnuclear/recipes/crafting/reactor/reinforced_glass.json +++ b/src/generated/resources/data/createnuclear/recipes/crafting/reactor/reinforced_glass.json @@ -3,10 +3,10 @@ "category": "misc", "key": { "G": { - "item": "minecraft:glass" + "tag": "forge:glass" }, "S": { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/crushing/charcoal.json b/src/generated/resources/data/createnuclear/recipes/crushing/charcoal.json deleted file mode 100644 index 09714b22..00000000 --- a/src/generated/resources/data/createnuclear/recipes/crushing/charcoal.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "create:crushing", - "ingredients": [ - { - "item": "minecraft:charcoal" - } - ], - "processingTime": 250, - "results": [ - { - "chance": 0.5, - "item": "createnuclear:coal_dust" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/crushing/coal.json b/src/generated/resources/data/createnuclear/recipes/crushing/coal.json index ea3b8845..d7a631f7 100644 --- a/src/generated/resources/data/createnuclear/recipes/crushing/coal.json +++ b/src/generated/resources/data/createnuclear/recipes/crushing/coal.json @@ -2,7 +2,7 @@ "type": "create:crushing", "ingredients": [ { - "item": "minecraft:coal" + "tag": "minecraft:coals" } ], "processingTime": 250, diff --git a/src/generated/resources/data/createnuclear/recipes/item_application/reactor_casing_from_steel_and_brass_casing.json b/src/generated/resources/data/createnuclear/recipes/item_application/reactor_casing_from_steel_and_brass_casing.json index 02f6a3a7..f74aed64 100644 --- a/src/generated/resources/data/createnuclear/recipes/item_application/reactor_casing_from_steel_and_brass_casing.json +++ b/src/generated/resources/data/createnuclear/recipes/item_application/reactor_casing_from_steel_and_brass_casing.json @@ -5,7 +5,7 @@ "item": "create:brass_casing" }, { - "item": "createnuclear:steel_ingot" + "tag": "forge:ingots/steel" } ], "results": [ diff --git a/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/graphite_rod.json b/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/graphite_rod.json index 02a198d9..466b31e1 100644 --- a/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/graphite_rod.json +++ b/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/graphite_rod.json @@ -6,7 +6,7 @@ "item": "createnuclear:graphene" }, "S": { - "item": "createnuclear:steel_ingot" + "tag": "forge:ingots/steel" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_cooler.json b/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_cooler.json index 39912896..a5d65e24 100644 --- a/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_cooler.json +++ b/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_cooler.json @@ -12,7 +12,7 @@ "item": "minecraft:blue_ice" }, "S": { - "item": "createnuclear:steel_ingot" + "tag": "forge:ingots/steel" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_core.json b/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_core.json index c3a88f3e..be920734 100644 --- a/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_core.json +++ b/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_core.json @@ -12,7 +12,7 @@ "item": "create:precision_mechanism" }, "S": { - "item": "createnuclear:steel_ingot" + "tag": "forge:ingots/steel" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_frame.json b/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_frame.json index 2cd116d1..a9e6a52b 100644 --- a/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_frame.json +++ b/src/generated/resources/data/createnuclear/recipes/mechanical_crafting/reactor_frame.json @@ -12,7 +12,7 @@ "item": "createnuclear:reinforced_glass" }, "S": { - "item": "createnuclear:steel_ingot" + "tag": "forge:ingots/steel" } }, "pattern": [ diff --git a/src/generated/resources/data/createnuclear/recipes/shapeless/lead_ingot_from_decompacting.json b/src/generated/resources/data/createnuclear/recipes/shapeless/lead_ingot_from_decompacting.json index 80318e22..37b9ced2 100644 --- a/src/generated/resources/data/createnuclear/recipes/shapeless/lead_ingot_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/recipes/shapeless/lead_ingot_from_decompacting.json @@ -3,7 +3,7 @@ "category": "misc", "ingredients": [ { - "item": "createnuclear:lead_block" + "tag": "forge:storage_blocks/lead" } ], "result": { diff --git a/src/generated/resources/data/createnuclear/recipes/shapeless/lead_nugget_from_decompacting.json b/src/generated/resources/data/createnuclear/recipes/shapeless/lead_nugget_from_decompacting.json index 1f3a2360..1c97b72f 100644 --- a/src/generated/resources/data/createnuclear/recipes/shapeless/lead_nugget_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/recipes/shapeless/lead_nugget_from_decompacting.json @@ -3,7 +3,7 @@ "category": "misc", "ingredients": [ { - "item": "createnuclear:lead_ingot" + "tag": "forge:ingots/lead" } ], "result": { diff --git a/src/generated/resources/data/createnuclear/recipes/shapeless/raw_lead_from_decompacting.json b/src/generated/resources/data/createnuclear/recipes/shapeless/raw_lead_from_decompacting.json index 6b808fc9..606bca67 100644 --- a/src/generated/resources/data/createnuclear/recipes/shapeless/raw_lead_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/recipes/shapeless/raw_lead_from_decompacting.json @@ -3,7 +3,7 @@ "category": "misc", "ingredients": [ { - "item": "createnuclear:raw_lead_block" + "tag": "forge:storage_blocks/raw_lead" } ], "result": { diff --git a/src/generated/resources/data/createnuclear/recipes/shapeless/raw_uranium_from_decompacting.json b/src/generated/resources/data/createnuclear/recipes/shapeless/raw_uranium_from_decompacting.json index e8291bd6..58be682d 100644 --- a/src/generated/resources/data/createnuclear/recipes/shapeless/raw_uranium_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/recipes/shapeless/raw_uranium_from_decompacting.json @@ -3,7 +3,7 @@ "category": "misc", "ingredients": [ { - "item": "createnuclear:raw_uranium_block" + "tag": "forge:storage_blocks/raw_uranium" } ], "result": { diff --git a/src/generated/resources/data/createnuclear/recipes/shapeless/steel_ingot_from_decompacting.json b/src/generated/resources/data/createnuclear/recipes/shapeless/steel_ingot_from_decompacting.json index 01a50bd4..5c954d64 100644 --- a/src/generated/resources/data/createnuclear/recipes/shapeless/steel_ingot_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/recipes/shapeless/steel_ingot_from_decompacting.json @@ -3,7 +3,7 @@ "category": "misc", "ingredients": [ { - "item": "createnuclear:steel_block" + "tag": "forge:storage_blocks/steel" } ], "result": { diff --git a/src/generated/resources/data/createnuclear/recipes/shapeless/steel_nugget_from_decompacting.json b/src/generated/resources/data/createnuclear/recipes/shapeless/steel_nugget_from_decompacting.json index 8227edeb..1cfb171a 100644 --- a/src/generated/resources/data/createnuclear/recipes/shapeless/steel_nugget_from_decompacting.json +++ b/src/generated/resources/data/createnuclear/recipes/shapeless/steel_nugget_from_decompacting.json @@ -3,7 +3,7 @@ "category": "misc", "ingredients": [ { - "item": "createnuclear:steel_ingot" + "tag": "forge:ingots/steel" } ], "result": { diff --git a/src/generated/resources/data/createnuclear/recipes/smelting/lead_ingot_for_raw_lead.json b/src/generated/resources/data/createnuclear/recipes/smelting/lead_ingot_for_raw_lead.json index 5e5d5f43..e302088d 100644 --- a/src/generated/resources/data/createnuclear/recipes/smelting/lead_ingot_for_raw_lead.json +++ b/src/generated/resources/data/createnuclear/recipes/smelting/lead_ingot_for_raw_lead.json @@ -4,7 +4,7 @@ "cookingtime": 200, "experience": 0.1, "ingredient": { - "item": "createnuclear:raw_lead" + "tag": "forge:raw_materials/lead" }, "result": "createnuclear:lead_ingot" } \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/storage_blocks/lead.json b/src/generated/resources/data/forge/tags/items/storage_blocks/lead.json new file mode 100644 index 00000000..090e36fd --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/storage_blocks/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createnuclear:lead_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/storage_blocks/raw_lead.json b/src/generated/resources/data/forge/tags/items/storage_blocks/raw_lead.json new file mode 100644 index 00000000..8d11d293 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/storage_blocks/raw_lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createnuclear:raw_lead_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/storage_blocks/raw_uranium.json b/src/generated/resources/data/forge/tags/items/storage_blocks/raw_uranium.json new file mode 100644 index 00000000..41ae6b11 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/storage_blocks/raw_uranium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createnuclear:raw_uranium_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/storage_blocks/steel.json b/src/generated/resources/data/forge/tags/items/storage_blocks/steel.json new file mode 100644 index 00000000..28dd0133 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/storage_blocks/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createnuclear:steel_block" + ] +} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java index 82c9dcee..c7044165 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java @@ -335,26 +335,32 @@ public class CNBlocks { public static final BlockEntry RAW_URANIUM_BLOCK = CreateNuclear.REGISTRATE.block("raw_uranium_block", Block::new) .initialProperties(SharedProperties::stone) - .simpleItem() .transform(pickaxeOnly()) .tag(CNTags.CNBlockTags.NEEDS_DIAMOND_TOOL.tag, CNTags.forgeBlockTag("storage_blocks/raw_uranium")) + .item() + .tag(CNTags.forgeItemTag("storage_blocks/raw_uranium")) + .build() .register(); public static final BlockEntry RAW_LEAD_BLOCK = CreateNuclear.REGISTRATE.block("raw_lead_block", Block::new) .initialProperties(SharedProperties::stone) - .simpleItem() .transform(pickaxeOnly()) .tag(CNTags.forgeBlockTag("storage_blocks/raw_lead")) + .item() + .tag(CNTags.forgeItemTag("storage_blocks/raw_lead")) + .build() .register(); public static final BlockEntry LEAD_BLOCK = CreateNuclear.REGISTRATE.block("lead_block", Block::new) .initialProperties(SharedProperties::stone) - .simpleItem() .transform(pickaxeOnly()) .tag(CNTags.forgeBlockTag("storage_blocks/lead")) + .item() + .tag(CNTags.forgeItemTag("storage_blocks/lead")) + .build() .register(); public static final BlockEntry ENRICHED_SOUL_SOIL = @@ -411,9 +417,11 @@ public class CNBlocks { public static final BlockEntry STEEL_BLOCK = CreateNuclear.REGISTRATE.block("steel_block", Block::new) .initialProperties(SharedProperties::stone) - .simpleItem() .transform(pickaxeOnly()) .tag(CNTags.forgeBlockTag("storage_blocks/steel")) + .item() + .tag(CNTags.forgeItemTag("storage_blocks/steel")) + .build() .register(); diff --git a/src/main/java/net/nuclearteam/createnuclear/CNItems.java b/src/main/java/net/nuclearteam/createnuclear/CNItems.java index 16338f18..9d21805b 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNItems.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNItems.java @@ -29,7 +29,7 @@ public class CNItems { public static final ItemEntry - YELLOWCAKE = CreateNuclear.REGISTRATE + YELLOWCAKE = CreateNuclear.REGISTRATE .item("yellowcake", Item::new) .properties(p -> p.food(new FoodProperties.Builder() .nutrition(20) @@ -79,21 +79,21 @@ public class CNItems { .tag(CNTags.forgeItemTag("nuggets"), CNTags.forgeItemTag("nuggets/steel")) .register(), - URANIUM_ROD = CreateNuclear.REGISTRATE + URANIUM_ROD = CreateNuclear.REGISTRATE .item("uranium_rod", Item::new) .tag(CNTags.forgeItemTag("rods"), CNItemTags.FUEL.tag) .register(), - LEAD_NUGGET = CreateNuclear.REGISTRATE + LEAD_NUGGET = CreateNuclear.REGISTRATE .item("lead_nugget", Item::new) .tag(CNTags.forgeItemTag("nuggets"), CNTags.forgeItemTag("nuggets/lead")) .register(), - GRAPHENE = CreateNuclear.REGISTRATE + GRAPHENE = CreateNuclear.REGISTRATE .item("graphene", Item::new) .register(), - ENRICHED_YELLOWCAKE = CreateNuclear.REGISTRATE + ENRICHED_YELLOWCAKE = CreateNuclear.REGISTRATE .item("enriched_yellowcake", Item::new) .register() ; diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCompactingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCompactingRecipeGen.java index f0cdacf5..c3a6bfd3 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCompactingRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCompactingRecipeGen.java @@ -5,11 +5,15 @@ import net.minecraft.data.PackOutput; import net.nuclearteam.createnuclear.CNFluids; import net.nuclearteam.createnuclear.CNItems; +import net.nuclearteam.createnuclear.CNTags; import net.nuclearteam.createnuclear.CreateNuclear; public class CNCompactingRecipeGen extends CNProcessingRecipeGen { GeneratedRecipe - YELLOWCAKE = create(CreateNuclear.asResource("uranium_fluid_to_yellowcake"), b -> b.require(CNFluids.URANIUM.get(), 100).output(CNItems.YELLOWCAKE, 1)); + YELLOWCAKE = create(CreateNuclear.asResource("uranium_fluid_to_yellowcake"), b -> b + .require(CNTags.CNFluidTags.URANIUM.tag, 100) + .output(CNItems.YELLOWCAKE, 1) + ); public CNCompactingRecipeGen(PackOutput output) { diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCrushingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCrushingRecipeGen.java index b82c95dc..f5bff7b2 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCrushingRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNCrushingRecipeGen.java @@ -8,12 +8,14 @@ import net.createmod.catnip.platform.CatnipServices; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.ItemTags; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Blocks; import net.nuclearteam.createnuclear.CNBlocks; import net.nuclearteam.createnuclear.CNItems; +import net.nuclearteam.createnuclear.CNTags; import net.nuclearteam.createnuclear.CreateNuclear; import java.util.function.Supplier; @@ -22,11 +24,9 @@ public class CNCrushingRecipeGen extends CNProcessingRecipeGen { GeneratedRecipe - COAL_DUST = create(() -> Items.COAL, b -> b.duration(250) - .output(.50f, CNItems.COAL_DUST) - ), - - CHARCOAL_DUST = create(() -> Items.CHARCOAL, b -> b.duration(250) + COAL_DUST = create("coal", b -> b + .duration(250) + .require(ItemTags.COALS) .output(.50f, CNItems.COAL_DUST) ), @@ -39,39 +39,24 @@ public class CNCrushingRecipeGen extends CNProcessingRecipeGen { .duration(255) .output(1, CNItems.URANIUM_POWDER, 9) ), - RAW_URANIUM_BLOCK = create(() -> CNBlocks.RAW_URANIUM_BLOCK, b -> b.duration(250) - .output(1, CNItems.URANIUM_POWDER,81)), - - RAW_ZINC = create(() -> AllItems.RAW_ZINC, b -> b.duration(250) - + RAW_URANIUM_BLOCK = create(() -> CNBlocks.RAW_URANIUM_BLOCK, b -> b + .duration(250) + .output(1, CNItems.URANIUM_POWDER,81) + ), + RAW_ZINC = create(() -> AllItems.RAW_ZINC, b -> b.duration(250) .output(1, AllItems.CRUSHED_ZINC, 1) - - - .output(.75f, AllItems.EXP_NUGGET, 1) - - - .output(.25f, CNItems.LEAD_NUGGET,1) - - + .output(.75f, AllItems.EXP_NUGGET, 1) + .output(.25f, CNItems.LEAD_NUGGET,1) ), - RAW_COPPER = create(() -> Items.RAW_COPPER, b -> b.duration(250) - - + RAW_COPPER = create(() -> Items.RAW_COPPER, b -> b.duration(250) .output(1, AllItems.CRUSHED_COPPER, 1) - - - .output(.75f, AllItems.EXP_NUGGET, 1) - - - .output(.15f, CNItems.LEAD_NUGGET,1) - + .output(.75f, AllItems.EXP_NUGGET, 1) + .output(.15f, CNItems.LEAD_NUGGET,1) ) - - ; public CNCrushingRecipeGen(PackOutput generator) { diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNItemApplicationRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNItemApplicationRecipeGen.java index 3b15881f..f2798c25 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNItemApplicationRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNItemApplicationRecipeGen.java @@ -2,25 +2,24 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllRecipeTypes; -import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen; import net.minecraft.data.PackOutput; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.ItemLike; import net.nuclearteam.createnuclear.CNBlocks; -import net.nuclearteam.createnuclear.CNItems; +import net.nuclearteam.createnuclear.CNTags; import net.nuclearteam.createnuclear.CreateNuclear; public class CNItemApplicationRecipeGen extends CNProcessingRecipeGen { GeneratedRecipe REACTOR_CASING = itemApplication("reactor_casing_from_steel_and_brass_casing", - CNItems.STEEL_INGOT.get(), + Ingredient.of(CNTags.forgeItemTag("ingots/steel")), AllBlocks.BRASS_CASING.get(), CNBlocks.REACTOR_CASING.get() ); - GeneratedRecipe REACTOR_OUPUT = itemApplication("reactor_output_from_shaft_and_reactor_casing", + GeneratedRecipe REACTOR_OUTPUT = itemApplication("reactor_output_from_shaft_and_reactor_casing", AllBlocks.SHAFT.asItem(), CNBlocks.REACTOR_CASING.get(), CNBlocks.REACTOR_OUTPUT.get() @@ -49,9 +48,6 @@ protected GeneratedRecipe itemApplication(String name, Item ingredient, ItemLike } - - - public CNItemApplicationRecipeGen(PackOutput generator) { super(generator); } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNMechanicalCraftingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNMechanicalCraftingRecipeGen.java index d91a805d..ed855bbd 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNMechanicalCraftingRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNMechanicalCraftingRecipeGen.java @@ -12,10 +12,7 @@ import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Blocks; -import net.nuclearteam.createnuclear.CNBlocks; -import net.nuclearteam.createnuclear.CNFluids; -import net.nuclearteam.createnuclear.CNItems; -import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.*; import java.util.function.Supplier; import java.util.function.UnaryOperator; @@ -23,83 +20,79 @@ public class CNMechanicalCraftingRecipeGen extends CNProcessingRecipeGen { GeneratedRecipe - GRAPHITE_ROD = create(CNItems.GRAPHITE_ROD::get) + GRAPHITE_ROD = create(CNItems.GRAPHITE_ROD::get) .recipe(b -> b - .key('S', Ingredient.of(CNItems.STEEL_INGOT)) - .key('G', Ingredient.of(CNItems.GRAPHENE)) - .patternLine("SGS") - .patternLine("SGS") - .patternLine("SGS") - .patternLine("SGS") - ), - URANIUM_ROD = create(CNItems.URANIUM_ROD::get) - .recipe(b -> b - .key('U', Ingredient.of(CNItems.ENRICHED_YELLOWCAKE)) - .patternLine(" U") - .patternLine(" U ") - .patternLine(" U ") - .patternLine(" U ") - .patternLine("U ") - ), - REACTOR_MAIN_FRAME = create(CNBlocks.REACTOR_FRAME::get) - .recipe(b -> b - .key('C', Ingredient.of(CNBlocks.REACTOR_CASING)) - .key('G', Ingredient.of(CNBlocks.REINFORCED_GLASS)) - .key('B', Ingredient.of(CNFluids.URANIUM.get().getBucket())) - .key('S', Ingredient.of(CNItems.STEEL_INGOT)) - .patternLine("CCCCC") - .patternLine("CSGSC") - .patternLine("CGBGC") - .patternLine("CSGSC") - .patternLine("CCCCC") - ), - - REACTOR_CONTROLLER = create(CNBlocks.REACTOR_CONTROLLER::get) + .key('S', Ingredient.of(CNTags.forgeItemTag("ingots/steel"))) + .key('G', Ingredient.of(CNItems.GRAPHENE)) + .patternLine("SGS") + .patternLine("SGS") + .patternLine("SGS") + .patternLine("SGS") + ), + + URANIUM_ROD = create(CNItems.URANIUM_ROD::get) .recipe(b -> b - .key('C', Ingredient.of(CNBlocks.REACTOR_CASING)) - .key('V', Ingredient.of(AllBlocks.ITEM_VAULT)) - .key('O', Ingredient.of(AllBlocks.SMART_OBSERVER)) - .key('T', Ingredient.of(AllItems.ELECTRON_TUBE)) - .key('N', Ingredient.of(Items.NETHERITE_INGOT)) - .key('X', Ingredient.of(Items.NETHER_STAR)) - .patternLine("CCCCC") - .patternLine("CNONC") - .patternLine("CTXTC") - .patternLine("CNVNC") - .patternLine("CCCCC") - ), - - REACTOR_COOLING_FRAME= create(CNBlocks.REACTOR_COOLER::get) + .key('U', Ingredient.of(CNItems.ENRICHED_YELLOWCAKE)) + .patternLine(" U") + .patternLine(" U ") + .patternLine(" U ") + .patternLine(" U ") + .patternLine("U ") + ), + + REACTOR_MAIN_FRAME = create(CNBlocks.REACTOR_FRAME::get) .recipe(b -> b - .key('C', Ingredient.of(CNBlocks.REACTOR_CASING)) - .key('I', Ingredient.of(Blocks.BLUE_ICE)) - .key('G', Ingredient.of(CNBlocks.REINFORCED_GLASS)) - .key('S', Ingredient.of(CNItems.STEEL_INGOT)) - .patternLine("CCCCC") - .patternLine("CSGSC") - .patternLine("CIGIC") - .patternLine("CSGSC") - .patternLine("CCCCC") - ), + .key('C', Ingredient.of(CNBlocks.REACTOR_CASING)) + .key('G', Ingredient.of(CNBlocks.REINFORCED_GLASS)) + .key('B', Ingredient.of(CNFluids.URANIUM.get().getBucket())) + .key('S', Ingredient.of(CNTags.forgeItemTag("ingots/steel"))) + .patternLine("CCCCC") + .patternLine("CSGSC") + .patternLine("CGBGC") + .patternLine("CSGSC") + .patternLine("CCCCC") + ), + REACTOR_CONTROLLER = create(CNBlocks.REACTOR_CONTROLLER::get) + .recipe(b -> b + .key('C', Ingredient.of(CNBlocks.REACTOR_CASING)) + .key('V', Ingredient.of(AllBlocks.ITEM_VAULT)) + .key('O', Ingredient.of(AllBlocks.SMART_OBSERVER)) + .key('T', Ingredient.of(AllItems.ELECTRON_TUBE)) + .key('N', Ingredient.of(Items.NETHERITE_INGOT)) + .key('X', Ingredient.of(Items.NETHER_STAR)) + .patternLine("CCCCC") + .patternLine("CNONC") + .patternLine("CTXTC") + .patternLine("CNVNC") + .patternLine("CCCCC") + ), + REACTOR_COOLING_FRAME= create(CNBlocks.REACTOR_COOLER::get) + .recipe(b -> b + .key('C', Ingredient.of(CNBlocks.REACTOR_CASING)) + .key('I', Ingredient.of(Blocks.BLUE_ICE)) + .key('G', Ingredient.of(CNBlocks.REINFORCED_GLASS)) + .key('S', Ingredient.of(CNTags.forgeItemTag("ingots/steel"))) + .patternLine("CCCCC") + .patternLine("CSGSC") + .patternLine("CIGIC") + .patternLine("CSGSC") + .patternLine("CCCCC") + ), REACTOR_CORE = create(CNBlocks.REACTOR_CORE::get) - .recipe(b -> b - .key('C', Ingredient.of(CNBlocks.REACTOR_CASING)) - .key('P', Ingredient.of(AllItems.PRECISION_MECHANISM)) - .key('B', Ingredient.of(CNFluids.URANIUM.get().getBucket())) - .key('S', Ingredient.of(CNItems.STEEL_INGOT)) - .patternLine("CCCCC") - .patternLine("CPSPC") - .patternLine("CSBSC") - .patternLine("CPSPC") - .patternLine("CCCCC") - ); - - - - + .recipe(b -> b + .key('C', Ingredient.of(CNBlocks.REACTOR_CASING)) + .key('P', Ingredient.of(AllItems.PRECISION_MECHANISM)) + .key('B', Ingredient.of(CNFluids.URANIUM.get().getBucket())) + .key('S', Ingredient.of(CNTags.forgeItemTag("ingots/steel"))) + .patternLine("CCCCC") + .patternLine("CPSPC") + .patternLine("CSBSC") + .patternLine("CPSPC") + .patternLine("CCCCC") + ); GeneratedRecipeBuilder create(Supplier result) { return new GeneratedRecipeBuilder(result); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNMixingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNMixingRecipeGen.java index d117e10e..a779de9a 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNMixingRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNMixingRecipeGen.java @@ -25,8 +25,8 @@ public class CNMixingRecipeGen extends CNProcessingRecipeGen { ), URANIUM_FLUID = create("uranium_fluid", b -> b - .require(CNItems.URANIUM_POWDER) - .output(CNFluids.URANIUM.get(), 25) + .require(CNItems.URANIUM_POWDER) + .output(CNFluids.URANIUM.get(), 25) ) ; diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNPressingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNPressingRecipeGen.java index 2781b917..04fe239a 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNPressingRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNPressingRecipeGen.java @@ -14,11 +14,11 @@ public class CNPressingRecipeGen extends CNProcessingRecipeGen { GeneratedRecipe - GRAPHENE = create("graphene", b -> b + GRAPHENE = create("graphene", b -> b .require(Ingredient.of(CNTags.forgeItemTag("coal_dusts"))) .output(CNItems.GRAPHENE) ) - ; + ; diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNProcessingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNProcessingRecipeGen.java index b6051464..c2a1000b 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNProcessingRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNProcessingRecipeGen.java @@ -27,8 +27,6 @@ public abstract class CNProcessingRecipeGen extends CreateRecipeProvider { protected static final List GENERATORS = new ArrayList<>(); public static void registerAll(DataGenerator gen, PackOutput output) { - - GENERATORS.add(new CNCompactingRecipeGen(output)); GENERATORS.add(new CNMechanicalCraftingRecipeGen(output)); GENERATORS.add(new CNItemApplicationRecipeGen(output)); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNShapelessRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNShapelessRecipeGen.java index ec29713b..d0b262aa 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNShapelessRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNShapelessRecipeGen.java @@ -21,7 +21,6 @@ import net.minecraftforge.common.crafting.conditions.ICondition; import net.minecraftforge.common.crafting.conditions.ModLoadedCondition; import net.minecraftforge.common.crafting.conditions.NotCondition; -import net.nuclearteam.createnuclear.CNBlocks; import net.nuclearteam.createnuclear.CNItems; import net.nuclearteam.createnuclear.CNTags; import net.nuclearteam.createnuclear.CreateNuclear; @@ -37,39 +36,38 @@ public class CNShapelessRecipeGen extends CNProcessingRecipeGen { private String SHAPELESS = enterFolder("shapeless"); GeneratedRecipe - - RAW_URANIUM = create(CNItems.RAW_URANIUM).returns(9) + RAW_URANIUM = create(CNItems.RAW_URANIUM).returns(9) .withSuffix("_from_decompacting") - .unlockedBy(CNItems.RAW_URANIUM::get) - .viaShapeless(b -> b.requires(CNBlocks.RAW_URANIUM_BLOCK.get())), + .unlockedByTag(() -> CNTags.forgeItemTag("storage_blocks/raw_uranium")) + .viaShapeless(b -> b.requires(CNTags.forgeItemTag("storage_blocks/raw_uranium"))), - RAW_LEAD = create(CNItems.RAW_LEAD).returns(9) + RAW_LEAD = create(CNItems.RAW_LEAD).returns(9) .withSuffix("_from_decompacting") - .unlockedBy(CNItems.RAW_LEAD::get) - .viaShapeless(b -> b.requires(CNBlocks.RAW_LEAD_BLOCK.get())), + .unlockedByTag(() -> CNTags.forgeItemTag("storage_blocks/raw_lead")) + .viaShapeless(b -> b.requires(CNTags.forgeItemTag("storage_blocks/raw_lead"))), - LEAD_INGOT = create(CNItems.LEAD_INGOT).returns(9) + LEAD_INGOT = create(CNItems.LEAD_INGOT).returns(9) .withSuffix("_from_decompacting") - .unlockedBy(CNItems.LEAD_INGOT::get) - .viaShapeless(b -> b.requires(CNBlocks.LEAD_BLOCK.get())), + .unlockedByTag(() -> CNTags.forgeItemTag("storage_blocks/lead")) + .viaShapeless(b -> b.requires(CNTags.forgeItemTag("storage_blocks/lead"))), - LEAD_NUGGET = create(CNItems.LEAD_NUGGET).returns(9) + LEAD_NUGGET = create(CNItems.LEAD_NUGGET).returns(9) .withSuffix("_from_decompacting") - .unlockedBy(CNItems.LEAD_NUGGET::get) - .viaShapeless(b -> b.requires(CNItems.LEAD_INGOT.get())), + .unlockedByTag(() -> CNTags.forgeItemTag("ingots/lead")) + .viaShapeless(b -> b.requires(CNTags.forgeItemTag("ingots/lead"))), - STEEL_INGOT = create(CNItems.STEEL_INGOT).returns(9) + STEEL_INGOT = create(CNItems.STEEL_INGOT).returns(9) .withSuffix("_from_decompacting") - .unlockedBy(CNItems.STEEL_INGOT::get) - .viaShapeless(b -> b.requires(CNBlocks.STEEL_BLOCK.get())), + .unlockedByTag(() -> CNTags.forgeItemTag("storage_blocks/steel")) + .viaShapeless(b -> b.requires(CNTags.forgeItemTag("storage_blocks/steel"))), - STEEL_NUGGET = create(CNItems.STEEL_NUGGET).returns(9) + STEEL_NUGGET = create(CNItems.STEEL_NUGGET).returns(9) .withSuffix("_from_decompacting") - .unlockedBy(CNItems.STEEL_NUGGET::get) - .viaShapeless(b -> b.requires(CNItems.STEEL_INGOT.get())), + .unlockedByTag(() -> CNTags.forgeItemTag("ingots/steel")) + .viaShapeless(b -> b.requires(CNTags.forgeItemTag("ingots/steel"))), - REACTOR_BLUEPRINT_ITEM_CLEAR = clearData(CNItems.REACTOR_BLUEPRINT) - ; + REACTOR_BLUEPRINT_ITEM_CLEAR = clearData(CNItems.REACTOR_BLUEPRINT) + ; private String SHAPELESS_CLOTH = enterFolder("shapeless/cloth"); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java index 6d4fb293..95e6755a 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java @@ -28,6 +28,7 @@ import net.nuclearteam.createnuclear.CNBlocks; import net.nuclearteam.createnuclear.CNItems; import net.nuclearteam.createnuclear.CNTags; +import net.nuclearteam.createnuclear.CNTags.CNItemTags; import net.nuclearteam.createnuclear.CreateNuclear; import net.nuclearteam.createnuclear.content.equipment.armor.AntiRadiationArmorItem; import net.nuclearteam.createnuclear.content.equipment.cloth.ClothItem; @@ -39,20 +40,24 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { private String CRAFTING = enterFolder("crafting"); GeneratedRecipe - WHITE_CLOTH_FROM_STRING = create(ClothItem.Cloths.WHITE_CLOTH::getItem).unlockedBy(() -> Items.STRING) + WHITE_CLOTH_FROM_STRING = create(ClothItem.Cloths.WHITE_CLOTH::getItem) + .unlockedBy(() -> Items.STRING) .viaShaped(b -> b - .define('#', Items.STRING) - .pattern("###") - .pattern("###") - .showNotification(true) + .define('#', Items.STRING) + .pattern("###") + .pattern("###") + .showNotification(true) ), - WHITE_CLOTH_FROM_WOOL = create(ClothItem.Cloths.WHITE_CLOTH::getItem).returns(6).unlockedBy(() -> Items.WHITE_WOOL).withSuffix("_wool") + WHITE_CLOTH_FROM_WOOL = create(ClothItem.Cloths.WHITE_CLOTH::getItem) + .returns(6) + .unlockedBy(() -> Items.WHITE_WOOL) + .withSuffix("_wool") .viaShaped(b -> b - .define('#', Blocks.WHITE_WOOL) - .pattern("###") - .pattern("###") - .showNotification(true) + .define('#', Blocks.WHITE_WOOL) + .pattern("###") + .pattern("###") + .showNotification(true) ), ENRICHED_SOUL_SOIL = create(CNBlocks.ENRICHED_SOUL_SOIL).unlockedBy(() -> Items.NETHER_STAR) @@ -77,40 +82,43 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { .showNotification(true) ), - - LEAD_COMPACTING = metalCompacting(ImmutableList.of(CNItems.LEAD_NUGGET, CNItems.LEAD_INGOT, CNBlocks.LEAD_BLOCK), ImmutableList.of(() -> CNTags.forgeItemTag("nuggets/lead"), () -> CNTags.forgeItemTag("ingots/lead"), () -> CNTags.forgeItemTag("storage_blocks/lead"))), STEEL_COMPACTING = metalCompacting(ImmutableList.of(CNItems.STEEL_NUGGET, CNItems.STEEL_INGOT, CNBlocks.STEEL_BLOCK), ImmutableList.of(() -> CNTags.forgeItemTag("nuggets/steel"), () -> CNTags.forgeItemTag("ingots/steel"), () -> CNTags.forgeItemTag("storage_blocks/steel"))), - RAW_LEAD_BLOCK = create(CNBlocks.RAW_LEAD_BLOCK).unlockedBy(CNItems.RAW_LEAD::get) - .viaShaped(b -> b.define('R', CNItems.RAW_LEAD.get()) + RAW_LEAD_BLOCK = create(CNBlocks.RAW_LEAD_BLOCK) + .unlockedByTag(() -> CNTags.forgeItemTag("raw_materials/lead")) + .viaShaped(b -> + b.define('R', CNTags.forgeItemTag("raw_materials/lead")) .pattern("RRR") .pattern("RRR") .pattern("RRR") .showNotification(true) ), - RAW_URANIUM_BLOCK = create(CNBlocks.RAW_URANIUM_BLOCK).unlockedBy(CNItems.RAW_URANIUM::get) - .viaShaped(b -> b.define('R', CNItems.RAW_URANIUM.get()) + RAW_URANIUM_BLOCK = create(CNBlocks.RAW_URANIUM_BLOCK) + .unlockedByTag(() -> CNTags.forgeItemTag("raw_materials/uranium")) + .viaShaped(b -> + b.define('R', CNTags.forgeItemTag("raw_materials/uranium")) .pattern("RRR") .pattern("RRR") .pattern("RRR") .showNotification(true) ), - REACTOR_BLUEPRINT_ITEM = create(CNItems.REACTOR_BLUEPRINT).unlockedBy(CNBlocks.REACTOR_CONTROLLER::get) - .viaShaped(b -> b - .define('S', CNTags.forgeItemTag("ingots/steel")) - .define('D', AllBlocks.DISPLAY_BOARD) - .define('P', AllItems.PRECISION_MECHANISM) - .define('E', AllItems.EMPTY_SCHEMATIC) - .pattern("SDS") - .pattern("SPS") - .pattern("SES") - .showNotification(true) + REACTOR_BLUEPRINT_ITEM = create(CNItems.REACTOR_BLUEPRINT) + .unlockedBy(CNBlocks.REACTOR_CONTROLLER::get) + .viaShaped(b -> + b.define('S', CNTags.forgeItemTag("ingots/steel")) + .define('D', AllBlocks.DISPLAY_BOARD) + .define('P', AllItems.PRECISION_MECHANISM) + .define('E', AllItems.EMPTY_SCHEMATIC) + .pattern("SDS") + .pattern("SPS") + .pattern("SES") + .showNotification(true) ) ; @@ -118,14 +126,15 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { private String CRAFTING_REACTOR = enterFolder("crafting/reactor"); GeneratedRecipe - REINFORCED_GLASS = create(CNBlocks.REINFORCED_GLASS).unlockedBy(CNBlocks.REACTOR_CASING::get) + REINFORCED_GLASS = create(CNBlocks.REINFORCED_GLASS) + .unlockedBy(CNBlocks.REACTOR_CASING::get) .viaShaped(b -> b - .define('G', Blocks.GLASS) - .define('S', CNItems.LEAD_INGOT) - .pattern("SGS") - .pattern("GSG") - .pattern("SGS") - .showNotification(true) + .define('G', CNTags.forgeItemTag("glass")) + .define('S', CNTags.forgeItemTag("ingots/lead")) + .pattern("SGS") + .pattern("GSG") + .pattern("SGS") + .showNotification(true) ) ; @@ -133,63 +142,63 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { AntiRadiationArmorItem.DyeRecipArmorList ANTI_RADIATION_HELMET = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_HELMETS.get(color)) - .unlockedByTag(() -> CNTags.CNItemTags.CLOTH.tag) + .unlockedByTag(() -> CNItemTags.CLOTH.tag) .withCategory(RecipeCategory.COMBAT) .viaShaped(i -> i - .define('X', CNTags.forgeItemTag("ingots/lead")) - .define('Y', ClothItem.Cloths.getByColor(color).get()) - .define('Z', CNBlocks.REINFORCED_GLASS) - .pattern("YXY") - .pattern("XZX") - .showNotification(true) + .define('X', CNTags.forgeItemTag("ingots/lead")) + .define('Y', ClothItem.Cloths.getByColor(color).get()) + .define('Z', CNBlocks.REINFORCED_GLASS) + .pattern("YXY") + .pattern("XZX") + .showNotification(true) ) ), ANTI_RADIATION_CHESTPLATES = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_CHESTPLATES.get(color)) - .unlockedByTag(() -> CNTags.CNItemTags.CLOTH.tag) + .unlockedByTag(() -> CNItemTags.CLOTH.tag) .withCategory(RecipeCategory.COMBAT) .viaShaped(i -> i .define('X', CNTags.forgeItemTag("ingots/lead")) .define('Y', ClothItem.Cloths.getByColor(color).get()) .define('Z', CNItems.GRAPHITE_ROD) - .pattern("Y Y") - .pattern("XXX") - .pattern("ZXZ") - .showNotification(true) + .pattern("Y Y") + .pattern("XXX") + .pattern("ZXZ") + .showNotification(true) ) ), - ANTI_RADIATION_LEGGINS = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_LEGGINGS.get(color)) - .unlockedByTag(() -> CNTags.CNItemTags.CLOTH.tag) + ANTI_RADIATION_LEGGINS = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_LEGGINGS.get(color)) + .unlockedByTag(() -> CNItemTags.CLOTH.tag) .withCategory(RecipeCategory.COMBAT) .viaShaped(i -> i - .define('X', CNTags.forgeItemTag("ingots/lead")) - .define('Y', ClothItem.Cloths.getByColor(color).get()) - .pattern("YXY") - .pattern("X X") - .pattern("Y Y") - .showNotification(true) + .define('X', CNTags.forgeItemTag("ingots/lead")) + .define('Y', ClothItem.Cloths.getByColor(color).get()) + .pattern("YXY") + .pattern("X X") + .pattern("Y Y") + .showNotification(true) ) - ) - ; + ) + ; GeneratedRecipe - ANTI_RADIATION_BOOTS = create(CNItems.ANTI_RADIATION_BOOTS).unlockedByTag(() -> CNTags.CNItemTags.CLOTH.tag).withCategory(RecipeCategory.COMBAT) + ANTI_RADIATION_BOOTS = create(CNItems.ANTI_RADIATION_BOOTS).unlockedByTag(() -> CNItemTags.CLOTH.tag).withCategory(RecipeCategory.COMBAT) .viaShaped(b -> b - .define('X', CNTags.forgeItemTag("ingots/lead")) - .define('Y', ClothItem.Cloths.WHITE_CLOTH.getItem()) - .pattern("Y Y") - .pattern("X X") - .showNotification(true) + .define('X', CNTags.forgeItemTag("ingots/lead")) + .define('Y', ClothItem.Cloths.WHITE_CLOTH.getItem()) + .pattern("Y Y") + .pattern("X X") + .showNotification(true) ) ; private final String BLAST_FURNACE = enterFolder("blast_furnace"); GeneratedRecipe - URANIUM_ORE_TO_URANIUM_POWDER = blastFurnaceRecipeTags(() -> CNItems.RAW_URANIUM::get, () -> CNTags.CNItemTags.URANIUM_ORES.tag, "_for_uranium_ore", 4), - RAW_LEAD_ORES = blastFurnaceRecipeTags(() -> CNItems.LEAD_INGOT::get, () -> CNTags.CNItemTags.LEAD_ORES.tag, "_for_lead_ore", 1), - RAW_LEAD = blastFurnaceRecipe(CNItems.LEAD_INGOT::get, CNItems.RAW_LEAD::get, "_for_raw_lead", 1) + URANIUM_ORE_TO_URANIUM_POWDER = blastFurnaceRecipeTags(() -> CNItems.RAW_URANIUM::get, () -> CNItemTags.URANIUM_ORES.tag, "_for_uranium_ore", 4), + RAW_LEAD_ORES = blastFurnaceRecipeTags(() -> CNItems.LEAD_INGOT::get, () -> CNItemTags.LEAD_ORES.tag, "_for_lead_ore", 1), + RAW_LEAD = blastFurnaceRecipeTags(CNItems.LEAD_INGOT::get, () -> CNTags.forgeItemTag("raw_materials/lead"), "_for_raw_lead", 1) ; From 0a9a0fd732628c0a92c876e345493cc2cd8e9046 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 30 Apr 2025 16:25:49 +0200 Subject: [PATCH 24/40] Register fluid interactions for uranium with lava and water types --- .../nuclearteam/createnuclear/CNFluids.java | 27 +++++++++++++++++++ .../createnuclear/CreateNuclear.java | 1 + 2 files changed, 28 insertions(+) diff --git a/src/main/java/net/nuclearteam/createnuclear/CNFluids.java b/src/main/java/net/nuclearteam/createnuclear/CNFluids.java index dff8c77c..1b807e20 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNFluids.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNFluids.java @@ -12,9 +12,13 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.FluidState; +import net.minecraftforge.common.ForgeMod; import net.minecraftforge.common.SoundActions; import net.minecraftforge.event.entity.living.LivingEvent; +import net.minecraftforge.fluids.FluidInteractionRegistry; +import net.minecraftforge.fluids.FluidInteractionRegistry.InteractionInformation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.ForgeFlowingFluid; import org.joml.Vector3f; @@ -61,6 +65,29 @@ public static void handleFluidEffect(LivingEvent.LivingTickEvent event) { } + public static void registerFluidInteractions() { + FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new InteractionInformation( + URANIUM.get().getFluidType(), + (fluidState) -> { + if (fluidState.isSource()) { + return Blocks.BLACKSTONE.defaultBlockState(); + } else { + return Blocks.LIGHT_GRAY_SHULKER_BOX.defaultBlockState(); + } + } + )); + FluidInteractionRegistry.addInteraction(ForgeMod.WATER_TYPE.get(), new InteractionInformation( + URANIUM.get().getFluidType(), + fluidState -> { + if (fluidState.isSource()) { + return Blocks.ACACIA_LOG.defaultBlockState(); + } else { + return Blocks.BEACON.defaultBlockState(); + } + } + )); + } + private static class SolidRenderedPlaceableFluidtype extends AllFluids.TintedFluidType { private Vector3f fogColor; diff --git a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java index 5becc7b4..fb5141d0 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java +++ b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java @@ -81,6 +81,7 @@ public static void onInitialize() { } public static void init(final FMLCommonSetupEvent event) { + CNFluids.registerFluidInteractions(); event.enqueueWork(CNPotions::registerPotionsRecipes); } From 3034ef457b76ab955b50d4a2caa461a748349143 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Thu, 1 May 2025 21:04:51 +0200 Subject: [PATCH 25/40] hudDisplay: Updated --- .../nuclearteam/createnuclear/CNPackets.java | 8 ++- .../armor/HelmetOverlayRenderer.java | 37 -------------- .../controller/EventTriggerPacket.java | 36 ++++++++++++++ .../foundation/events/CNClientEvent.java | 46 +++++------------- .../events/CommentEventClients.java | 16 ++++++ .../foundation/events/HudOverlay.java | 37 -------------- .../foundation/events/HudOverlayRegistry.java | 31 ------------ .../foundation/events/HudRenderer.java | 24 +++++++++ .../IrradiatedOverlayRendererVision.java | 31 ------------ .../{ => overlay}/EasingHudOverlay.java | 11 +++-- .../events/overlay/EventTextOverlay.java | 29 ++++++----- .../events/overlay/HelmetOverlay.java | 35 +++++++------ .../foundation/events/overlay/HudOverlay.java | 34 +++++++++++++ .../events/overlay/RadiationOverlay.java | 23 +++++---- .../foundation/utility/RenderHelper.java | 10 +++- .../utility/RenderTextureOverlay.java | 17 ------- ...ion_break.png => helmet_almost_broken.png} | Bin .../helmet_almost_broken.png.mcmeta | 6 +++ ...t_vision_damage2.png => helmet_crack1.png} | Bin .../helmet_vision/helmet_crack1.png.mcmeta | 6 +++ ...t_vision_damage3.png => helmet_crack2.png} | Bin .../helmet_vision/helmet_crack2.png.mcmeta | 6 +++ ...on_damage1.png => helmet_minor_damage.png} | Bin .../helmet_minor_damage.png.mcmeta | 6 +++ .../{helmet_vision.png => helmet_new.png} | Bin .../misc/helmet_vision/helmet_new.png.mcmeta | 6 +++ ..._radioactive.png => irradiated_vision.png} | Bin .../irradiated_vision.png.mcmeta | 6 +++ 28 files changed, 230 insertions(+), 231 deletions(-) delete mode 100644 src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/HelmetOverlayRenderer.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/EventTriggerPacket.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/CommentEventClients.java delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlay.java delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlayRegistry.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/HudRenderer.java delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/IrradiatedOverlayRendererVision.java rename src/main/java/net/nuclearteam/createnuclear/foundation/events/{ => overlay}/EasingHudOverlay.java (70%) create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HudOverlay.java delete mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderTextureOverlay.java rename src/main/resources/assets/createnuclear/textures/misc/helmet_vision/{helmet_vision_break.png => helmet_almost_broken.png} (100%) create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_almost_broken.png.mcmeta rename src/main/resources/assets/createnuclear/textures/misc/helmet_vision/{helmet_vision_damage2.png => helmet_crack1.png} (100%) create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack1.png.mcmeta rename src/main/resources/assets/createnuclear/textures/misc/helmet_vision/{helmet_vision_damage3.png => helmet_crack2.png} (100%) create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack2.png.mcmeta rename src/main/resources/assets/createnuclear/textures/misc/helmet_vision/{helmet_vision_damage1.png => helmet_minor_damage.png} (100%) create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_minor_damage.png.mcmeta rename src/main/resources/assets/createnuclear/textures/misc/helmet_vision/{helmet_vision.png => helmet_new.png} (100%) create mode 100644 src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_new.png.mcmeta rename src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/{effect_radioactive.png => irradiated_vision.png} (100%) create mode 100644 src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/irradiated_vision.png.mcmeta diff --git a/src/main/java/net/nuclearteam/createnuclear/CNPackets.java b/src/main/java/net/nuclearteam/createnuclear/CNPackets.java index 57936a4e..752e2e73 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNPackets.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNPackets.java @@ -5,6 +5,8 @@ import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; + +import static net.minecraftforge.network.NetworkDirection.PLAY_TO_CLIENT; import static net.minecraftforge.network.NetworkDirection.PLAY_TO_SERVER; import net.minecraftforge.network.NetworkDirection; @@ -13,13 +15,17 @@ import net.minecraftforge.network.simple.SimpleChannel; import net.minecraftforge.network.NetworkEvent.Context; import net.nuclearteam.createnuclear.content.multiblock.bluePrintItem.ReactorBluePrintItemPacket; +import net.nuclearteam.createnuclear.content.multiblock.controller.EventTriggerPacket; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.Supplier; public enum CNPackets { - CONFIGURE_REACTOR_PATTERN(ReactorBluePrintItemPacket.class, ReactorBluePrintItemPacket::new, PLAY_TO_SERVER) + CONFIGURE_REACTOR_PATTERN(ReactorBluePrintItemPacket.class, ReactorBluePrintItemPacket::new, PLAY_TO_SERVER), + + // To client + TRIGGER_EVENT_TEXT_OVERLAY(EventTriggerPacket.class, EventTriggerPacket::new, PLAY_TO_CLIENT), ; public static final ResourceLocation CHANNEL_NAME = CreateNuclear.asResource("main"); public static final int NETWORK_VERSION = 0; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/HelmetOverlayRenderer.java b/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/HelmetOverlayRenderer.java deleted file mode 100644 index f29421aa..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/HelmetOverlayRenderer.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.nuclearteam.createnuclear.content.equipment.armor; - -import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.player.LocalPlayer; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.level.GameType; -import net.minecraftforge.client.gui.overlay.ForgeGui; -import net.minecraftforge.client.gui.overlay.IGuiOverlay; -import net.nuclearteam.createnuclear.CNTags.CNItemTags; -import net.nuclearteam.createnuclear.CreateNuclear; -import net.nuclearteam.createnuclear.foundation.utility.RenderTextureOverlay; - -public class HelmetOverlayRenderer { - public static final IGuiOverlay OVERLAY = HelmetOverlayRenderer::renderOverlay; - - public static ResourceLocation helmetVision = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision.png"); - private ResourceLocation helmetVisionDamage1 = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision_damage1.png"); - private ResourceLocation helmetVisionDamage2 = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision_damage2.png"); - private ResourceLocation helmetVisionDamage3 = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision_damage3.png"); - private ResourceLocation helmetVisionBreak = CreateNuclear.asResource("textures/misc/helmet_vision/helmet_vision_break.png"); - - public static void renderOverlay(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height) { - Minecraft mc = Minecraft.getInstance(); - if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) return; - - LocalPlayer localPlayer = mc.player; - RenderSystem.enableBlend(); - Inventory playerInventory = localPlayer.getInventory(); - - if (playerInventory.getArmor(3).is(CNItemTags.ANTI_RADIATION_HELMET_FULL_DYE.tag)) { - RenderTextureOverlay.renderTextureOverlay(graphics, HelmetOverlayRenderer.helmetVision, 1f); - } - } -} diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/EventTriggerPacket.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/EventTriggerPacket.java new file mode 100644 index 00000000..00909f95 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/EventTriggerPacket.java @@ -0,0 +1,36 @@ +package net.nuclearteam.createnuclear.content.multiblock.controller; + +import com.simibubi.create.foundation.networking.SimplePacketBase; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraftforge.network.NetworkEvent; +import net.nuclearteam.createnuclear.foundation.events.overlay.EventTextOverlay; + +/** + * Packet sent from server to client to trigger a localized event overlay. + */ +public class EventTriggerPacket extends SimplePacketBase { + // Duration in ticks for which the overlay should be displayed + private final int duration; + + public EventTriggerPacket(int duration) { + this.duration = duration; + } + + // Decoder constructor + public EventTriggerPacket(FriendlyByteBuf buffer) { + this(buffer.readInt()); + } + + @Override + public void write(FriendlyByteBuf buffer) { + buffer.writeInt(duration); + } + + @Override + public boolean handle(NetworkEvent.Context context) { + context.enqueueWork(() -> { + EventTextOverlay.triggerEvent(duration); + }); + return true; + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java index 22508d77..1c8ad24f 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java @@ -1,49 +1,27 @@ package net.nuclearteam.createnuclear.foundation.events; -import net.minecraft.client.gui.GuiGraphics; import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.EntityRenderersEvent; import net.minecraftforge.client.event.RegisterGuiOverlaysEvent; -import net.minecraftforge.client.event.RenderGuiOverlayEvent; -import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; -import net.nuclearteam.createnuclear.CNEntityType; -import net.nuclearteam.createnuclear.content.equipment.armor.HelmetOverlayRenderer; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.events.overlay.EventTextOverlay; +import net.nuclearteam.createnuclear.foundation.events.overlay.HelmetOverlay; +import net.nuclearteam.createnuclear.foundation.events.overlay.HudOverlay; +import net.nuclearteam.createnuclear.foundation.events.overlay.RadiationOverlay; import java.util.Comparator; +import java.util.List; -@EventBusSubscriber(Dist.CLIENT) +@EventBusSubscriber(value = Dist.CLIENT) public class CNClientEvent { - /** - * Called after the vanilla helmet overlay is rendered. - * Dispatches all registered HudOverlay instances. - * - * @param event the RenderGuiOverlayEvent.Post event - */ - @SubscribeEvent - public static void onRenderGuiOverlay(RenderGuiOverlayEvent.Post event) { - // Only proceed if we're after the vanilla helmet overlay - if (!event.getOverlay().id().equals(VanillaGuiOverlay.HELMET.id())) { - return; - } - - GuiGraphics gfx = event.getGuiGraphics(); - float partialTicks = event.getPartialTick(); - - // Render all active overlays sorted by priority (highest first) - HudOverlayRegistry.getAll().stream() - .filter(HudOverlay::isActive) - .filter(o -> o.getAfterOverlay().equals(VanillaGuiOverlay.HELMET.id())) - .sorted(Comparator.comparingInt(HudOverlay::getPriority).reversed()) - .forEach(o -> o.render(gfx, partialTicks)); - } + @EventBusSubscriber(value = Dist.CLIENT, bus = EventBusSubscriber.Bus.MOD) + public static class ModBusEvents { + private static final HudRenderer HUD_RENDERER = new HudRenderer(); - @EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) - public static class CommentEventClients { @SubscribeEvent - public static void registerLayers(EntityRenderersEvent.RegisterLayerDefinitions event) { - CNEntityType.registerModelLayer(event); + public static void onRenderGuiOverlay(RegisterGuiOverlaysEvent event) { + HUD_RENDERER.onHudRender(event); } } } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CommentEventClients.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CommentEventClients.java new file mode 100644 index 00000000..d79c1404 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CommentEventClients.java @@ -0,0 +1,16 @@ +package net.nuclearteam.createnuclear.foundation.events; + +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.client.event.EntityRenderersEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; +import net.nuclearteam.createnuclear.CNEntityType; + +@EventBusSubscriber(bus = Bus.MOD, value = Dist.CLIENT) +public class CommentEventClients { + @SubscribeEvent + public static void registerLayers(EntityRenderersEvent.RegisterLayerDefinitions event) { + CNEntityType.registerModelLayer(event); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlay.java deleted file mode 100644 index 4162fedc..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlay.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.events; - -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.resources.ResourceLocation; - -/** - * Base interface for all HUD overlays. - */ -public interface HudOverlay { - /** - * Returns the ResourceLocation of the vanilla (or custom) overlay - * after which this overlay should be rendered. - * - * @return the anchor overlay ID - */ - ResourceLocation getAfterOverlay(); - - /** - * Determines whether this overlay should be rendered. - * @return true if the overlay is active, false otherwise. - */ - boolean isActive(); - - /** - * Renders the overlay. - * @param graphics the GUI graphics context - * @param partialTicks frame interpolation value - */ - void render(GuiGraphics graphics, float partialTicks); - - /** - * Computes the dynamic rendering priority of the overlay. - * Lower values render behind higher values. - * @return integer priority value - */ - int getPriority(); -} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlayRegistry.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlayRegistry.java deleted file mode 100644 index 958229f3..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudOverlayRegistry.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.events; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * Central registry for all HudOverlay instances. - * Overlays auto-register themselves via a static block in their class. - */ -public class HudOverlayRegistry { - private static final List OVERLAYS = new ArrayList<>(); - - /** - * Registers a HudOverlay instance. - * - * @param overlay the HudOverlay to register - */ - public static void register(HudOverlay overlay) { - OVERLAYS.add(overlay); - } - - /** - * Returns an unmodifiable list of all registered overlays. - * - * @return list of registered overlays - */ - public static List getAll() { - return Collections.unmodifiableList(OVERLAYS); - } -} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudRenderer.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudRenderer.java new file mode 100644 index 00000000..aed30cfb --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudRenderer.java @@ -0,0 +1,24 @@ +package net.nuclearteam.createnuclear.foundation.events; + +import net.minecraftforge.client.event.RegisterGuiOverlaysEvent; +import net.nuclearteam.createnuclear.foundation.events.overlay.EventTextOverlay; +import net.nuclearteam.createnuclear.foundation.events.overlay.HelmetOverlay; +import net.nuclearteam.createnuclear.foundation.events.overlay.HudOverlay; +import net.nuclearteam.createnuclear.foundation.events.overlay.RadiationOverlay; + +import java.util.Comparator; +import java.util.List; + +public class HudRenderer { + private static final List overlays = List.of( + new HelmetOverlay(), + new RadiationOverlay(), + new EventTextOverlay() + ); + + public void onHudRender(RegisterGuiOverlaysEvent event) { + overlays.stream() + .sorted(Comparator.comparingInt(HudOverlay::getPriority)) + .forEach(overlay -> overlay.register(event)); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/IrradiatedOverlayRendererVision.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/IrradiatedOverlayRendererVision.java deleted file mode 100644 index d829d823..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/IrradiatedOverlayRendererVision.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.events; - -import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.player.LocalPlayer; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.GameType; -import net.minecraftforge.client.gui.overlay.ForgeGui; -import net.minecraftforge.client.gui.overlay.IGuiOverlay; -import net.nuclearteam.createnuclear.CNEffects; -import net.nuclearteam.createnuclear.CreateNuclear; -import net.nuclearteam.createnuclear.foundation.utility.RenderTextureOverlay; - -public class IrradiatedOverlayRendererVision { - public static final IGuiOverlay OVERLAY = IrradiatedOverlayRendererVision::renderOverlay; - - public static final ResourceLocation IRRADIATED_VISION = CreateNuclear.asResource("textures/misc/irradiated_vision/effect_radioactive.png"); - - public static void renderOverlay(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height) { - Minecraft mc = Minecraft.getInstance(); - if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) return; - - LocalPlayer localPlayer = mc.player; - RenderSystem.enableBlend(); - - if (localPlayer.hasEffect(CNEffects.RADIATION.get())) { - RenderTextureOverlay.renderTextureOverlay(graphics, IrradiatedOverlayRendererVision.IRRADIATED_VISION, 1f); - } - } -} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/EasingHudOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EasingHudOverlay.java similarity index 70% rename from src/main/java/net/nuclearteam/createnuclear/foundation/events/EasingHudOverlay.java rename to src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EasingHudOverlay.java index 8ef2f3cd..217e8592 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/EasingHudOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EasingHudOverlay.java @@ -1,17 +1,18 @@ -package net.nuclearteam.createnuclear.foundation.events; +package net.nuclearteam.createnuclear.foundation.events.overlay; import net.minecraft.client.gui.GuiGraphics; +import net.minecraftforge.client.gui.overlay.ForgeGui; /** - * Abstract HUD overlay with smooth fade-in/out (ease-in-out) effect. + * Abstract HUD overlay with a smooth fade-in/out (ease-in-out) effect. */ public abstract class EasingHudOverlay implements HudOverlay { private float progress = 0f; protected float fadeSpeed = 0.03f; @Override - public void render(GuiGraphics graphics, float partialTicks) { - // Update progress based on active state + public void render(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height) { + // Update progress based on the active state progress = isActive() ? Math.min(1f, progress + fadeSpeed) : Math.max(0f, progress - fadeSpeed); @@ -31,7 +32,7 @@ private float ease(float t) { /** * Renders the overlay with a specific alpha. - * Subclasses implement actual drawing here. + * Subclasses implement the actual drawing here. * @param graphics the GUI graphics context * @param partialTicks frame interpolation value * @param alpha transparency level [0,1] diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java index 5df10b08..93210b69 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java @@ -6,25 +6,19 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.client.gui.overlay.ForgeGui; +import net.minecraftforge.client.gui.overlay.IGuiOverlay; import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; import net.nuclearteam.createnuclear.CreateNuclear; -import net.nuclearteam.createnuclear.foundation.events.HudOverlay; -import net.nuclearteam.createnuclear.foundation.events.HudOverlayRegistry; /** * HUD overlay for displaying localized text when a specific event occurs. */ public class EventTextOverlay implements HudOverlay { - - static { - // Auto-register this overlay when the class is loaded - HudOverlayRegistry.register(new EventTextOverlay()); - } - private static int timer = 0; /** - * Called via network packet to activate the overlay for a specific duration. + * Called via a network packet to activate the overlay for a specific duration. * @param displayDuration duration in ticks */ public static void triggerEvent(int displayDuration) { @@ -36,20 +30,26 @@ public ResourceLocation getAfterOverlay() { return VanillaGuiOverlay.HELMET.id(); } + @Override + public String getOverlayId() { + return "event_text_overlay"; + } + @Override public boolean isActive() { return timer > 0; } @Override - public void render(GuiGraphics graphics, float partialTicks) { + public void render(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height) { + if (!isActive()) return; if (timer-- <= 0) return; CreateNuclear.LOGGER.warn("hum EventTextOverlay: {}", timer); LocalPlayer player = Minecraft.getInstance().player; if (player == null) return; Component text = Component.translatable("overlay.event_message", timer).withStyle(ChatFormatting.RED); - int width = graphics.guiWidth(); - int x = (width - Minecraft.getInstance().font.width(text)) / 2; + int widths = graphics.guiWidth(); + int x = (widths - Minecraft.getInstance().font.width(text)) / 2; graphics.drawString(Minecraft.getInstance().font, text, x, 10, 0xFFFFFF); } @@ -57,4 +57,9 @@ public void render(GuiGraphics graphics, float partialTicks) { public int getPriority() { return 300; // render on top of other overlays } + + @Override + public IGuiOverlay getOverlay() { + return this::render; + } } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java index f00dc75d..9b33c4cb 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java @@ -6,28 +6,23 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.ItemStack; +import net.minecraftforge.client.gui.overlay.ForgeGui; +import net.minecraftforge.client.gui.overlay.IGuiOverlay; import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; import net.nuclearteam.createnuclear.CNTags.CNItemTags; import net.nuclearteam.createnuclear.CreateNuclear; -import net.nuclearteam.createnuclear.foundation.events.HudOverlay; -import net.nuclearteam.createnuclear.foundation.events.HudOverlayRegistry; import net.nuclearteam.createnuclear.foundation.utility.RenderHelper; /** * HUD overlay for displaying helmet condition based on durability. */ public class HelmetOverlay implements HudOverlay { - static { - // Auto-register this overlay when the class is loaded - HudOverlayRegistry.register(new HelmetOverlay()); - } - private static final ResourceLocation[] HELMET_TEXTURES = { - CreateNuclear.asResource("textures/misc/helmet_new.png"), - CreateNuclear.asResource("textures/misc/helmet_minor_damage.png"), - CreateNuclear.asResource("textures/misc/helmet_crack1.png"), - CreateNuclear.asResource("textures/misc/helmet_crack2.png"), - CreateNuclear.asResource("textures/misc/helmet_almost_broken.png") + CreateNuclear.asResource("textures/misc/helmet_vision/helmet_new.png"), + CreateNuclear.asResource("textures/misc/helmet_vision/helmet_minor_damage.png"), + CreateNuclear.asResource("textures/misc/helmet_vision/helmet_crack1.png"), + CreateNuclear.asResource("textures/misc/helmet_vision/helmet_crack2.png"), + CreateNuclear.asResource("textures/misc/helmet_vision/helmet_almost_broken.png") }; private static final float[] COVERAGE_FACTORS = {1f, 1f, 1.05f, 1.45f, 1.98f}; private static final int BASE_PRIORITY = 200; @@ -37,6 +32,11 @@ public ResourceLocation getAfterOverlay() { return VanillaGuiOverlay.HELMET.id(); } + @Override + public String getOverlayId() { + return "helmet_overlay"; + } + @Override public boolean isActive() { LocalPlayer player = Minecraft.getInstance().player; @@ -46,8 +46,8 @@ public boolean isActive() { } @Override - public void render(GuiGraphics graphics, float partialTicks) { - CreateNuclear.LOGGER.warn("hum HelmetOverlay"); + public void render(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height) { + if (!isActive()) return; LocalPlayer player = Minecraft.getInstance().player; if (player == null) return; ItemStack helmet = player.getInventory().getArmor(EquipmentSlot.HEAD.getIndex()); @@ -64,7 +64,7 @@ public void render(GuiGraphics graphics, float partialTicks) { : 4; // Update radiation coverage based on helmet condition - RadiationOverlay.setCoverage(COVERAGE_FACTORS[index]); + //RadiationOverlay.setCoverage(0.1f); //not fonctionnel // Render helmet overlay texture RenderHelper.renderTextureOverlay(graphics, HELMET_TEXTURES[index], 1f, 1f); @@ -83,4 +83,9 @@ public int getPriority() { / (float) helmet.getMaxDamage(); return BASE_PRIORITY + (int) ((1f - durabilityRatio) * 100); } + + @Override + public IGuiOverlay getOverlay() { + return this::render; + } } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HudOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HudOverlay.java new file mode 100644 index 00000000..706f916e --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HudOverlay.java @@ -0,0 +1,34 @@ +package net.nuclearteam.createnuclear.foundation.events.overlay; + +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.client.event.RegisterGuiOverlaysEvent; +import net.minecraftforge.client.gui.overlay.ForgeGui; +import net.minecraftforge.client.gui.overlay.IGuiOverlay; +import net.nuclearteam.createnuclear.CreateNuclear; + +/** + * Base interface for all HUD overlays. + */ +public interface HudOverlay { + ResourceLocation getAfterOverlay(); + + String getOverlayId(); + + boolean isActive(); + + int getPriority(); + + IGuiOverlay getOverlay(); + + void render(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height); + + default void register(RegisterGuiOverlaysEvent event) { + CreateNuclear.LOGGER.info("Registering overlay: {} | {} | {}", getOverlayId(), getAfterOverlay(), isActive()); + event.registerAbove( + getAfterOverlay(), + getOverlayId(), + getOverlay() + ); + } +} diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java index 4198a97c..7899c294 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java @@ -4,23 +4,18 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.client.gui.overlay.IGuiOverlay; import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; import net.nuclearteam.createnuclear.CNEffects; import net.nuclearteam.createnuclear.CreateNuclear; -import net.nuclearteam.createnuclear.foundation.events.EasingHudOverlay; -import net.nuclearteam.createnuclear.foundation.events.HudOverlayRegistry; import net.nuclearteam.createnuclear.foundation.utility.RenderHelper; /** * HUD overlay for radiation effect when the player is irradiated. */ public class RadiationOverlay extends EasingHudOverlay { - static { - // Auto-register this overlay when the class is loaded - HudOverlayRegistry.register(new RadiationOverlay()); - } - - private static final ResourceLocation RADIATION_TEXTURE = CreateNuclear.asResource("textures/misc/irradiated_vision.png"); + private static final ResourceLocation RADIATION_TEXTURE = + CreateNuclear.asResource("textures/misc/irradiated_vision/irradiated_vision.png"); private static float coverage = 1f; /** @@ -36,6 +31,11 @@ public ResourceLocation getAfterOverlay() { return VanillaGuiOverlay.HELMET.id(); } + @Override + public String getOverlayId() { + return "radiation_overlay"; + } + @Override public boolean isActive() { LocalPlayer player = Minecraft.getInstance().player; @@ -45,11 +45,16 @@ public boolean isActive() { @Override protected void renderWithAlpha(GuiGraphics graphics, float partialTicks, float alpha) { // Render radiation overlay with dynamic coverage and alpha - RenderHelper.renderTextureOverlay(graphics, RADIATION_TEXTURE, alpha, coverage); + RenderHelper.renderTextureOverlay(graphics, RADIATION_TEXTURE, alpha); } @Override public int getPriority() { return 100; // Fixed background priority for radiation effect } + + @Override + public IGuiOverlay getOverlay() { + return this::render; + } } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java index 428e7e0d..5372df2a 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java @@ -1,5 +1,6 @@ package net.nuclearteam.createnuclear.foundation.utility; +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.resources.ResourceLocation; @@ -32,12 +33,15 @@ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation t // Simple blit without scaling graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); } else { - // Blit with scaling centered on screen + // Blit with scaling centered on the screen graphics.pose().pushPose(); graphics.pose().translate(width / 2f, height / 2f, 0); - graphics.pose().scale(coverage, coverage, 1f); + //graphics.pose().scale(coverage, coverage, 1f); + graphics.pose().translate(-width / 2f, -height / 2f, 0); + RenderSystem.enableBlend(); graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); + RenderSystem.disableBlend(); graphics.pose().popPose(); } } @@ -62,6 +66,8 @@ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation t graphics.setColor(1f, 1f, 1f, alpha); // Simple blit without scaling (normal size) + RenderSystem.enableBlend(); graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); + RenderSystem.disableBlend(); } } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderTextureOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderTextureOverlay.java deleted file mode 100644 index 3767ae26..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderTextureOverlay.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.nuclearteam.createnuclear.foundation.utility; - -import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.resources.ResourceLocation; - -public class RenderTextureOverlay { - public static void renderTextureOverlay(GuiGraphics guiGraphics, ResourceLocation texture, float alpha) { - RenderSystem.disableDepthTest(); - RenderSystem.depthMask(false); - guiGraphics.setColor(1f, 1f, 1f, alpha); - guiGraphics.blit(texture, 0, 0, -90, 0.0f, 0.0f, guiGraphics.guiWidth(), guiGraphics.guiHeight(), guiGraphics.guiWidth(), guiGraphics.guiHeight()); - RenderSystem.depthMask(true); - RenderSystem.enableDepthTest(); - guiGraphics.setColor(1.0f, 1.0f, 1.0f, 1.0f); - } -} diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_break.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_almost_broken.png similarity index 100% rename from src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_break.png rename to src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_almost_broken.png diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_almost_broken.png.mcmeta b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_almost_broken.png.mcmeta new file mode 100644 index 00000000..2077f3ce --- /dev/null +++ b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_almost_broken.png.mcmeta @@ -0,0 +1,6 @@ +{ + "texture": { + "blur": true + } +} + diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage2.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack1.png similarity index 100% rename from src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage2.png rename to src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack1.png diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack1.png.mcmeta b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack1.png.mcmeta new file mode 100644 index 00000000..2077f3ce --- /dev/null +++ b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack1.png.mcmeta @@ -0,0 +1,6 @@ +{ + "texture": { + "blur": true + } +} + diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage3.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack2.png similarity index 100% rename from src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage3.png rename to src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack2.png diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack2.png.mcmeta b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack2.png.mcmeta new file mode 100644 index 00000000..2077f3ce --- /dev/null +++ b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_crack2.png.mcmeta @@ -0,0 +1,6 @@ +{ + "texture": { + "blur": true + } +} + diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage1.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_minor_damage.png similarity index 100% rename from src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision_damage1.png rename to src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_minor_damage.png diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_minor_damage.png.mcmeta b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_minor_damage.png.mcmeta new file mode 100644 index 00000000..2077f3ce --- /dev/null +++ b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_minor_damage.png.mcmeta @@ -0,0 +1,6 @@ +{ + "texture": { + "blur": true + } +} + diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision.png b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_new.png similarity index 100% rename from src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_vision.png rename to src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_new.png diff --git a/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_new.png.mcmeta b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_new.png.mcmeta new file mode 100644 index 00000000..2077f3ce --- /dev/null +++ b/src/main/resources/assets/createnuclear/textures/misc/helmet_vision/helmet_new.png.mcmeta @@ -0,0 +1,6 @@ +{ + "texture": { + "blur": true + } +} + diff --git a/src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/effect_radioactive.png b/src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/irradiated_vision.png similarity index 100% rename from src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/effect_radioactive.png rename to src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/irradiated_vision.png diff --git a/src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/irradiated_vision.png.mcmeta b/src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/irradiated_vision.png.mcmeta new file mode 100644 index 00000000..2077f3ce --- /dev/null +++ b/src/main/resources/assets/createnuclear/textures/misc/irradiated_vision/irradiated_vision.png.mcmeta @@ -0,0 +1,6 @@ +{ + "texture": { + "blur": true + } +} + From 4344976c546b1e52f519d786b3678313bc2530ca Mon Sep 17 00:00:00 2001 From: Giovanni Date: Fri, 2 May 2025 19:50:33 +0200 Subject: [PATCH 26/40] Refactor fluid interaction registration for uranium to use a common BlockState supplier and streamline source fluid handling --- .../nuclearteam/createnuclear/CNFluids.java | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/CNFluids.java b/src/main/java/net/nuclearteam/createnuclear/CNFluids.java index 1b807e20..be83355c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNFluids.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNFluids.java @@ -13,6 +13,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; import net.minecraftforge.common.ForgeMod; import net.minecraftforge.common.SoundActions; @@ -20,10 +21,13 @@ import net.minecraftforge.fluids.FluidInteractionRegistry; import net.minecraftforge.fluids.FluidInteractionRegistry.InteractionInformation; import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidType; import net.minecraftforge.fluids.ForgeFlowingFluid; +import net.nuclearteam.createnuclear.content.decoration.palettes.CNPaletteStoneTypes; import org.joml.Vector3f; import net.nuclearteam.createnuclear.CNTags.CNFluidTags; +import java.util.List; import java.util.function.Supplier; public class CNFluids { @@ -66,26 +70,22 @@ public static void handleFluidEffect(LivingEvent.LivingTickEvent event) { } public static void registerFluidInteractions() { - FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new InteractionInformation( - URANIUM.get().getFluidType(), - (fluidState) -> { - if (fluidState.isSource()) { - return Blocks.BLACKSTONE.defaultBlockState(); - } else { - return Blocks.LIGHT_GRAY_SHULKER_BOX.defaultBlockState(); - } - } - )); - FluidInteractionRegistry.addInteraction(ForgeMod.WATER_TYPE.get(), new InteractionInformation( - URANIUM.get().getFluidType(), - fluidState -> { - if (fluidState.isSource()) { - return Blocks.ACACIA_LOG.defaultBlockState(); - } else { - return Blocks.BEACON.defaultBlockState(); - } - } - )); + // Supplier for the common BlockState to return (Autunite) + Supplier autuniteState = () -> CNPaletteStoneTypes.AUTUNITE.getBaseBlock().get().defaultBlockState(); + + // The FluidType that all interactions will target (uranium) + FluidType uraniumType = URANIUM.get().getFluidType(); + + // List of source FluidTypes we want to register (lava and water) + List sourceFluids = List.of( + ForgeMod.LAVA_TYPE.get(), + ForgeMod.WATER_TYPE.get() + ); + + // Loop over each source fluid and register the interaction + for (FluidType source : sourceFluids) { + FluidInteractionRegistry.addInteraction(source, new InteractionInformation(uraniumType, fs -> autuniteState.get())); + } } private static class SolidRenderedPlaceableFluidtype extends AllFluids.TintedFluidType { From dd99873ef6bce5664f51a388a9b50218c4e7d724 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 7 May 2025 21:40:23 +0200 Subject: [PATCH 27/40] Refactor HUD overlay event handling and improve radiation coverage logic --- .../foundation/events/CNClientEvent.java | 20 +++++-------------- .../events/overlay/HelmetOverlay.java | 4 ++-- .../events/overlay/RadiationOverlay.java | 5 +++-- .../foundation/utility/RenderHelper.java | 7 +++---- 4 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java index 1c8ad24f..f2f0f338 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java @@ -5,23 +5,13 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.nuclearteam.createnuclear.CreateNuclear; -import net.nuclearteam.createnuclear.foundation.events.overlay.EventTextOverlay; -import net.nuclearteam.createnuclear.foundation.events.overlay.HelmetOverlay; -import net.nuclearteam.createnuclear.foundation.events.overlay.HudOverlay; -import net.nuclearteam.createnuclear.foundation.events.overlay.RadiationOverlay; -import java.util.Comparator; -import java.util.List; - -@EventBusSubscriber(value = Dist.CLIENT) +@EventBusSubscriber(modid = CreateNuclear.MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public class CNClientEvent { - @EventBusSubscriber(value = Dist.CLIENT, bus = EventBusSubscriber.Bus.MOD) - public static class ModBusEvents { - private static final HudRenderer HUD_RENDERER = new HudRenderer(); + private static final HudRenderer HUD_RENDERER = new HudRenderer(); - @SubscribeEvent - public static void onRenderGuiOverlay(RegisterGuiOverlaysEvent event) { - HUD_RENDERER.onHudRender(event); - } + @SubscribeEvent + public static void onRegisterGui(RegisterGuiOverlaysEvent event) { + HUD_RENDERER.onHudRender(event); } } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java index 9b33c4cb..0f84450f 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java @@ -24,7 +24,7 @@ public class HelmetOverlay implements HudOverlay { CreateNuclear.asResource("textures/misc/helmet_vision/helmet_crack2.png"), CreateNuclear.asResource("textures/misc/helmet_vision/helmet_almost_broken.png") }; - private static final float[] COVERAGE_FACTORS = {1f, 1f, 1.05f, 1.45f, 1.98f}; + private static final float[] COVERAGE_FACTORS = {.5f, 1f, 1.05f, 1.45f, 1.98f}; private static final int BASE_PRIORITY = 200; @Override @@ -64,7 +64,7 @@ public void render(ForgeGui gui, GuiGraphics graphics, float partialTicks, int w : 4; // Update radiation coverage based on helmet condition - //RadiationOverlay.setCoverage(0.1f); //not fonctionnel + RadiationOverlay.setCoverage(COVERAGE_FACTORS[index]); // Render helmet overlay texture RenderHelper.renderTextureOverlay(graphics, HELMET_TEXTURES[index], 1f, 1f); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java index 7899c294..a9999507 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/RadiationOverlay.java @@ -4,6 +4,7 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.client.gui.overlay.ForgeGui; import net.minecraftforge.client.gui.overlay.IGuiOverlay; import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; import net.nuclearteam.createnuclear.CNEffects; @@ -39,13 +40,13 @@ public String getOverlayId() { @Override public boolean isActive() { LocalPlayer player = Minecraft.getInstance().player; - return player != null && player.getEffect(CNEffects.RADIATION.get()) != null; + return player != null && player.hasEffect(CNEffects.RADIATION.get()); } @Override protected void renderWithAlpha(GuiGraphics graphics, float partialTicks, float alpha) { // Render radiation overlay with dynamic coverage and alpha - RenderHelper.renderTextureOverlay(graphics, RADIATION_TEXTURE, alpha); + RenderHelper.renderTextureOverlay(graphics, RADIATION_TEXTURE, Math.round(alpha * coverage)); } @Override diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java index 5372df2a..e11e0d24 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java @@ -3,6 +3,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.resources.ResourceLocation; +import net.nuclearteam.createnuclear.CreateNuclear; /** * Helper class for rendering full-screen overlays with optional scaling and caching. @@ -29,6 +30,7 @@ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation t int height = graphics.guiHeight(); graphics.setColor(1f, 1f, 1f, alpha); + RenderSystem.enableBlend(); if (coverage == 1f) { // Simple blit without scaling graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); @@ -39,11 +41,10 @@ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation t //graphics.pose().scale(coverage, coverage, 1f); graphics.pose().translate(-width / 2f, -height / 2f, 0); - RenderSystem.enableBlend(); graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); - RenderSystem.disableBlend(); graphics.pose().popPose(); } + RenderSystem.disableBlend(); } /** @@ -56,8 +57,6 @@ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation t */ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation texture, float alpha) { // Skip rendering if parameters unchanged - if (alpha == lastAlpha) return; - lastAlpha = alpha; int width = graphics.guiWidth(); int height = graphics.guiHeight(); From bdfa08d9a930e6a2a58ecbe161c02292ee9deaa0 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 7 May 2025 22:13:04 +0200 Subject: [PATCH 28/40] Add event trigger block and overlay message; update language files --- .../3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 6 ++-- .../assets/createnuclear/lang/en_ud.json | 1 + .../assets/createnuclear/lang/en_us.json | 1 + .../nuclearteam/createnuclear/CNBlocks.java | 7 ++++ .../nuclearteam/createnuclear/CNPackets.java | 12 +++---- .../foundation/block/EventTriggerBlock.java | 36 +++++++++++++++++++ .../createnuclear/lang/default/tooltips.json | 5 ++- 7 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/block/EventTriggerBlock.java diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index 39c8eadb..8022bbf1 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,4 +1,4 @@ -// 1.20.1 2025-03-07T23:26:05.6554053 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-05-07T21:52:46.8207826 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 5cf183e5277aea7ac5eb2bfa88737db909c6244d assets/createnuclear/blockstates/deepslate_lead_ore.json a6f90dfcfc0659663335d4c80129ce41d0c8e47a assets/createnuclear/blockstates/deepslate_uranium_ore.json e11c7fa5830b0877af69bb18e650d2b1e6f90027 assets/createnuclear/blockstates/enriched_soul_soil.json @@ -19,8 +19,8 @@ f7504d5f748fe938bf07d2eb5d0ba46bbfa0499d assets/createnuclear/blockstates/reinfo 57c846a957e9250bc45f2f1091bf3f78b2a77344 assets/createnuclear/blockstates/steel_block.json de2884054a21315d8b167f64b206be331d388420 assets/createnuclear/blockstates/uranium.json 4557f548df100ae1d05e3b5711797225f6a39673 assets/createnuclear/blockstates/uranium_ore.json -02ce3c08498fe5cf316ee18e380285b1f7a1380f assets/createnuclear/lang/en_ud.json -7b1ce48eeb35c9e58238bfb67bc15c2baf56d0a2 assets/createnuclear/lang/en_us.json +f6abe6d1113def301c147692d072677d6b84836d assets/createnuclear/lang/en_ud.json +ba35308494cb110bd9fa4d2fd21eb099eec51646 assets/createnuclear/lang/en_us.json 9a589577d80aa23ac97312bda605b5512eff5167 assets/createnuclear/models/block/deepslate_lead_ore.json 6793dd91b730f4c9abea29215de16cd0751d8cbd assets/createnuclear/models/block/deepslate_uranium_ore.json e1b8fdc0555a1fdabda54f66cca868e444d1110b assets/createnuclear/models/block/enriched_soul_soil.json diff --git a/src/generated/resources/assets/createnuclear/lang/en_ud.json b/src/generated/resources/assets/createnuclear/lang/en_ud.json index 8570c11e..d86bd044 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_ud.json +++ b/src/generated/resources/assets/createnuclear/lang/en_ud.json @@ -222,6 +222,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "uoıʇɐıpɐᴚ ɟo ʍoɹɹⱯ", "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "uoıʇɐıpɐᴚ ɟo ʍoɹɹⱯ", "itemGroup.createnuclear.main": "ɹɐǝןɔnN ǝʇɐǝɹƆ", + "overlay.event_message": "ɹǝɯıʇ %s ⚠ buıuɹɐM ⚠", "reactor.info.assembled.creator": "pǝןqɯǝssɐ uǝǝq sɐɥ ɹoʇɔɐǝᴚ", "reactor.info.assembled.destroyer": "pǝןqɯǝssɐsıp uǝǝq sɐɥ ɹoʇɔɐǝᴚ", "reactor.info.assembled.none": "pǝןqɯǝssɐ ʇou ʞɔoןqıʇןnW", diff --git a/src/generated/resources/assets/createnuclear/lang/en_us.json b/src/generated/resources/assets/createnuclear/lang/en_us.json index d108fbbd..036b634d 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_us.json +++ b/src/generated/resources/assets/createnuclear/lang/en_us.json @@ -222,6 +222,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Arrow of Radiation", "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Multiblock not assembled", diff --git a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java index b4ab854d..5cdbf8bd 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java @@ -42,6 +42,7 @@ import net.nuclearteam.createnuclear.content.multiblock.reactorCooler.ReactorCooler; import net.nuclearteam.createnuclear.content.multiblock.reinforced.ReinforcedGlassBlock; import net.nuclearteam.createnuclear.content.uraniumOre.UraniumOreBlock; +import net.nuclearteam.createnuclear.foundation.block.EventTriggerBlock; import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity; import static com.simibubi.create.foundation.data.ModelGen.customItemModel; @@ -416,6 +417,12 @@ public class CNBlocks { .tag(CNTags.forgeBlockTag("storage_blocks/steel")) .register(); + public static final BlockEntry TEST_EVENT_TRIGGER_BLOCK = CreateNuclear.REGISTRATE.block("test_event_trigger_block", EventTriggerBlock::new) + .defaultBlockstate() + .defaultLang() + .simpleItem() + .register(); + public static void register() { CreateNuclear.LOGGER.info("Registering ModBlocks for " + CreateNuclear.MOD_ID); diff --git a/src/main/java/net/nuclearteam/createnuclear/CNPackets.java b/src/main/java/net/nuclearteam/createnuclear/CNPackets.java index 752e2e73..2befcc46 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNPackets.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNPackets.java @@ -32,7 +32,7 @@ public enum CNPackets { public static final String NETWORK_VERSION_STR = String.valueOf(NETWORK_VERSION); private static SimpleChannel channel; - private PacketType packetType; + private final PacketType packetType; CNPackets(Class type, Function factory, NetworkDirection direction) { packetType = new PacketType<>(type, factory, direction); @@ -64,11 +64,11 @@ public static void sendToNear(Level world, BlockPos pos, int range, Object messa private static class PacketType { private static int index = 0; - private BiConsumer encoder; - private Function decoder; - private BiConsumer> handler; - private Class type; - private NetworkDirection direction; + private final BiConsumer encoder; + private final Function decoder; + private final BiConsumer> handler; + private final Class type; + private final NetworkDirection direction; private PacketType(Class type, Function factory, NetworkDirection direction) { encoder = T::write; diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/EventTriggerBlock.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/EventTriggerBlock.java new file mode 100644 index 00000000..92062616 --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/block/EventTriggerBlock.java @@ -0,0 +1,36 @@ +package net.nuclearteam.createnuclear.foundation.block; + +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.Vec3; +import net.nuclearteam.createnuclear.CNPackets; +import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.content.multiblock.controller.EventTriggerPacket; + +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +public class EventTriggerBlock extends Block { + public EventTriggerBlock(Properties properties) { + super(properties); + } + + @Override + public InteractionResult use(BlockState state, Level level, BlockPos pos, + Player player, InteractionHand hand, BlockHitResult hit) { + if (!level.isClientSide) { + // Send a packet to all clients around this block within 16 blocks + EventTriggerPacket packet = new EventTriggerPacket(100); // display for 100 ticks + CreateNuclear.LOGGER.warn("hum EventTriggerBlock ? {}", packet); + CNPackets.sendToNear(level, pos, 16, packet); + } + return InteractionResult.SUCCESS; + } +} diff --git a/src/main/resources/assets/createnuclear/lang/default/tooltips.json b/src/main/resources/assets/createnuclear/lang/default/tooltips.json index d047c94b..9c0df8e1 100644 --- a/src/main/resources/assets/createnuclear/lang/default/tooltips.json +++ b/src/main/resources/assets/createnuclear/lang/default/tooltips.json @@ -53,5 +53,8 @@ "tag.item.minecraft.all.campfires": "All Campfires", "tag.item.minecraft.campfires": "Campfires", - "tag.item.trinkets.head.face": "Head Face" + "tag.item.trinkets.head.face": "Head Face", + + + "overlay.event_message": "⚠ Warning ⚠ %s timer" } \ No newline at end of file From 0cc543b0744c3b79ec96faa1fdb936b1455aaccf Mon Sep 17 00:00:00 2001 From: Giovanni Date: Wed, 7 May 2025 22:21:34 +0200 Subject: [PATCH 29/40] Refactor HelmetOverlay and RenderHelper for improved overlay rendering; adjust priority and add first-person rendering support --- .../events/overlay/HelmetOverlay.java | 4 +- .../foundation/utility/RenderHelper.java | 64 ++++++++++++++----- 2 files changed, 49 insertions(+), 19 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java index 0f84450f..ad2e828a 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HelmetOverlay.java @@ -25,7 +25,7 @@ public class HelmetOverlay implements HudOverlay { CreateNuclear.asResource("textures/misc/helmet_vision/helmet_almost_broken.png") }; private static final float[] COVERAGE_FACTORS = {.5f, 1f, 1.05f, 1.45f, 1.98f}; - private static final int BASE_PRIORITY = 200; + private static final int BASE_PRIORITY = 50; @Override public ResourceLocation getAfterOverlay() { @@ -67,7 +67,7 @@ public void render(ForgeGui gui, GuiGraphics graphics, float partialTicks, int w RadiationOverlay.setCoverage(COVERAGE_FACTORS[index]); // Render helmet overlay texture - RenderHelper.renderTextureOverlay(graphics, HELMET_TEXTURES[index], 1f, 1f); + RenderHelper.renderFirstPersonOverlay(graphics, HELMET_TEXTURES[index], 1f, 1f); // Render the hotbar behind the helmet overlay Minecraft.getInstance().gui.renderHotbar(12f, graphics); } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java index e11e0d24..969c054e 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/utility/RenderHelper.java @@ -1,6 +1,7 @@ package net.nuclearteam.createnuclear.foundation.utility; import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.resources.ResourceLocation; import net.nuclearteam.createnuclear.CreateNuclear; @@ -9,33 +10,41 @@ * Helper class for rendering full-screen overlays with optional scaling and caching. */ public class RenderHelper { - private static float lastAlpha = -1f; - private static float lastCoverage = -1f; + private static float lastAlpha = Float.NaN; + private static float lastCoverage = Float.NaN; + private static boolean lastFirstPerson = false; /** * Renders a full-screen texture with given transparency and coverage scale. - * Uses caching to skip rendering when parameters are unchanged. - * @param graphics GUI graphics context - * @param texture the texture to render - * @param alpha transparency [0,1] - * @param coverage scale factor (1.0 = normal size) + * Caches the last parameters to skip redundant rendering. + * + * @param graphics GUI graphics context + * @param texture the texture to render + * @param alpha transparency [0,1] + * @param coverage scale factor (1.0 = normal size) + * @param onlyFirstPerson if true, renders only in first-person camera mode */ - public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation texture, float alpha, float coverage) { + public static void renderOverlay(GuiGraphics graphics, ResourceLocation texture, + float alpha, float coverage, boolean onlyFirstPerson) { + boolean isFirstPerson = Minecraft.getInstance().options.getCameraType().isFirstPerson(); + + // If rendering is restricted to first-person and we're not in it, skip + if (onlyFirstPerson && !isFirstPerson) return; + // Skip rendering if parameters unchanged - /* if (alpha == lastAlpha && coverage == lastCoverage) return; + lastAlpha = alpha; - lastCoverage = coverage;*/ + lastCoverage = coverage; + lastFirstPerson = isFirstPerson; int width = graphics.guiWidth(); int height = graphics.guiHeight(); - graphics.setColor(1f, 1f, 1f, alpha); + graphics.setColor(1f, 1f, 1f, alpha); RenderSystem.enableBlend(); - if (coverage == 1f) { - // Simple blit without scaling - graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); - } else { - // Blit with scaling centered on the screen + + if (coverage != 1f) { + // Center + scale graphics.pose().pushPose(); graphics.pose().translate(width / 2f, height / 2f, 0); //graphics.pose().scale(coverage, coverage, 1f); @@ -44,9 +53,29 @@ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation t graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); graphics.pose().popPose(); } + + if (coverage == 1f) { + graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); + } + RenderSystem.disableBlend(); } + /** + * Convenience overload: always renders in any camera mode, no scaling. + */ + public static void renderOverlay(GuiGraphics graphics, ResourceLocation texture, float alpha) { + renderOverlay(graphics, texture, alpha, 1f, false); + } + + /** + * Convenience overload: only in first-person, no scaling. + */ + public static void renderFirstPersonOverlay(GuiGraphics graphics, + ResourceLocation texture, float alpha, float coverage) { + renderOverlay(graphics, texture, alpha, coverage, true); + } + /** * Renders a full-screen texture with given transparency. * This version does not apply scaling (no zoom effect). @@ -57,7 +86,6 @@ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation t */ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation texture, float alpha) { // Skip rendering if parameters unchanged - int width = graphics.guiWidth(); int height = graphics.guiHeight(); @@ -69,4 +97,6 @@ public static void renderTextureOverlay(GuiGraphics graphics, ResourceLocation t graphics.blit(texture, 0, 0, -90, 0, 0, width, height, width, height); RenderSystem.disableBlend(); } + + } From d323f533f7882d1caf2908b21cdc79572d65a3f0 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Thu, 8 May 2025 12:46:05 +0200 Subject: [PATCH 30/40] refactor language files for clarity and consistency in fan enrichment recipes --- .../.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 6 +++--- .../resources/assets/createnuclear/lang/en_ud.json | 6 +++--- .../resources/assets/createnuclear/lang/en_us.json | 6 +++--- .../assets/createnuclear/lang/default/interface.json | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index 39c8eadb..e8a0ede0 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,4 +1,4 @@ -// 1.20.1 2025-03-07T23:26:05.6554053 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-05-08T12:28:43.9856978 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 5cf183e5277aea7ac5eb2bfa88737db909c6244d assets/createnuclear/blockstates/deepslate_lead_ore.json a6f90dfcfc0659663335d4c80129ce41d0c8e47a assets/createnuclear/blockstates/deepslate_uranium_ore.json e11c7fa5830b0877af69bb18e650d2b1e6f90027 assets/createnuclear/blockstates/enriched_soul_soil.json @@ -19,8 +19,8 @@ f7504d5f748fe938bf07d2eb5d0ba46bbfa0499d assets/createnuclear/blockstates/reinfo 57c846a957e9250bc45f2f1091bf3f78b2a77344 assets/createnuclear/blockstates/steel_block.json de2884054a21315d8b167f64b206be331d388420 assets/createnuclear/blockstates/uranium.json 4557f548df100ae1d05e3b5711797225f6a39673 assets/createnuclear/blockstates/uranium_ore.json -02ce3c08498fe5cf316ee18e380285b1f7a1380f assets/createnuclear/lang/en_ud.json -7b1ce48eeb35c9e58238bfb67bc15c2baf56d0a2 assets/createnuclear/lang/en_us.json +0646b343877300449f4aff998d7e1eca471b8522 assets/createnuclear/lang/en_ud.json +ae9c681b068d0f467cbc8c8270bec3287d14276f assets/createnuclear/lang/en_us.json 9a589577d80aa23ac97312bda605b5512eff5167 assets/createnuclear/models/block/deepslate_lead_ore.json 6793dd91b730f4c9abea29215de16cd0751d8cbd assets/createnuclear/models/block/deepslate_uranium_ore.json e1b8fdc0555a1fdabda54f66cca868e444d1110b assets/createnuclear/models/block/enriched_soul_soil.json diff --git a/src/generated/resources/assets/createnuclear/lang/en_ud.json b/src/generated/resources/assets/createnuclear/lang/en_ud.json index 8570c11e..ea15ade1 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_ud.json +++ b/src/generated/resources/assets/createnuclear/lang/en_ud.json @@ -85,8 +85,8 @@ "block.createnuclear.steel_block": "ʞɔoןᗺ ןǝǝʇS", "block.createnuclear.uranium": "ɯnıuɐɹ∩", "block.createnuclear.uranium_ore": "ǝɹO ɯnıuɐɹ∩", - "create.recipe.fan_enriched.fan": "pǝɥɔıɹuƎ buıɥǝq uɐℲ", - "createnuclear.enriched.fan.recipe": "pǝɥɔıɹuƎ ʞןnᗺ", + "create.recipe.fan_enriched.fan": "ǝɹıℲ pǝɥɔıɹuƎ puıɥǝq uɐℲ", + "createnuclear.enriched.fan.recipe": "buıɥɔıɹuƎ ʞןnᗺ", "createnuclear.generic.unit.heat": "Ὁ", "createnuclear.gui.createnuclear.reactor_controller.title": "ɹǝןןoɹʇuoƆ ɹoʇɔɐǝᴚ", "createnuclear.gui.createnuclear.reactor_input.title": "ǝbɐɹoʇS ʇnduI ɹoʇɔɐǝᴚ", @@ -114,7 +114,7 @@ "createnuclear.tooltip.item.unknown.rod": " :uʍouʞu∩", "createnuclear.tooltip.item.uranium.rod": " :poᴚ ɯnıuɐɹ∩", "effect.createnuclear.radiation": "uoıʇɐıpɐᴚ", - "emi.category.createnuclear.fan_enriched": "pǝɥɔıɹuƎ ʞןnᗺ", + "emi.category.createnuclear.fan_enriched": "buıɥɔıɹuƎ ʞןnᗺ", "entity.createnuclear.irradiated_cat": "ʇɐƆ pǝʇɐıpɐɹɹI", "entity.createnuclear.irradiated_chicken": "uǝʞɔıɥƆ pǝʇɐıpɐɹɹI", "entity.createnuclear.irradiated_wolf": "ɟןoM pǝʇɐıpɐɹɹI", diff --git a/src/generated/resources/assets/createnuclear/lang/en_us.json b/src/generated/resources/assets/createnuclear/lang/en_us.json index d108fbbd..7fde200e 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_us.json +++ b/src/generated/resources/assets/createnuclear/lang/en_us.json @@ -85,8 +85,8 @@ "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", - "create.recipe.fan_enriched.fan": "Fan behing Enriched", - "createnuclear.enriched.fan.recipe": "Bulk Enriched", + "create.recipe.fan_enriched.fan": "Fan behind Enriched Fire", + "createnuclear.enriched.fan.recipe": "Bulk Enriching", "createnuclear.generic.unit.heat": "Q", "createnuclear.gui.createnuclear.reactor_controller.title": "Reactor Controller", "createnuclear.gui.createnuclear.reactor_input.title": "Reactor Input Storage", @@ -114,7 +114,7 @@ "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", - "emi.category.createnuclear.fan_enriched": "Bulk Enriched", + "emi.category.createnuclear.fan_enriched": "Bulk Enriching", "entity.createnuclear.irradiated_cat": "Irradiated Cat", "entity.createnuclear.irradiated_chicken": "Irradiated Chicken", "entity.createnuclear.irradiated_wolf": "Irradiated Wolf", diff --git a/src/main/resources/assets/createnuclear/lang/default/interface.json b/src/main/resources/assets/createnuclear/lang/default/interface.json index 565927a9..0cf5bce0 100644 --- a/src/main/resources/assets/createnuclear/lang/default/interface.json +++ b/src/main/resources/assets/createnuclear/lang/default/interface.json @@ -1,9 +1,9 @@ { "itemGroup.createnuclear.main": "Create Nuclear", - "createnuclear.enriched.fan.recipe": "Bulk Enriched", - "emi.category.createnuclear.fan_enriched": "Bulk Enriched", - "create.recipe.fan_enriched.fan": "Fan behing Enriched", + "createnuclear.enriched.fan.recipe": "Bulk Enriching", + "emi.category.createnuclear.fan_enriched": "Bulk Enriching", + "create.recipe.fan_enriched.fan": "Fan behind Enriched Fire", "createnuclear.gui.createnuclear.reactor_controller.title": "Reactor Controller", "createnuclear.gui.createnuclear.reactor_input.title": "Reactor Input Storage", From d4de3fe1be1be1c54e1a373f4ee23826cac6e482 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Thu, 8 May 2025 16:18:43 +0200 Subject: [PATCH 31/40] Remove commented-out TEST_EVENT_TRIGGER_BLOCK and add packet sending for EventTrigger in ReactorControllerBlockEntity --- src/main/java/net/nuclearteam/createnuclear/CNBlocks.java | 4 ++-- .../multiblock/controller/ReactorControllerBlockEntity.java | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java index 5cdbf8bd..29fcba10 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java @@ -417,11 +417,11 @@ public class CNBlocks { .tag(CNTags.forgeBlockTag("storage_blocks/steel")) .register(); - public static final BlockEntry TEST_EVENT_TRIGGER_BLOCK = CreateNuclear.REGISTRATE.block("test_event_trigger_block", EventTriggerBlock::new) + /*public static final BlockEntry TEST_EVENT_TRIGGER_BLOCK = CreateNuclear.REGISTRATE.block("test_event_trigger_block", EventTriggerBlock::new) .defaultBlockstate() .defaultLang() .simpleItem() - .register(); + .register();*/ public static void register() { diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlockEntity.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlockEntity.java index b51984b4..fc90bef4 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlockEntity.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlockEntity.java @@ -23,6 +23,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.nuclearteam.createnuclear.CNBlocks; import net.nuclearteam.createnuclear.CNItems; +import net.nuclearteam.createnuclear.CNPackets; import net.nuclearteam.createnuclear.CreateNuclear; import net.nuclearteam.createnuclear.content.multiblock.IHeat; import net.nuclearteam.createnuclear.content.multiblock.input.ReactorInputEntity; @@ -230,6 +231,10 @@ public void tick() { if (IHeat.HeatLevel.of(heat) == IHeat.HeatLevel.SAFETY || IHeat.HeatLevel.of(heat) == IHeat.HeatLevel.CAUTION || IHeat.HeatLevel.of(heat) == IHeat.HeatLevel.WARNING) { this.rotate(getBlockState(), new BlockPos(getBlockPos().getX(), getBlockPos().getY() + FindController('O').getY(), getBlockPos().getZ()), getLevel(), heat/4); } else { + // Send a packet to all clients around this block within 16 blocks + EventTriggerPacket packet = new EventTriggerPacket(600); // display for 100 ticks + CreateNuclear.LOGGER.warn("hum EventTriggerBlock ? {}", packet); + CNPackets.sendToNear(level, getBlockPos(), 32, packet); this.rotate(getBlockState(), new BlockPos(getBlockPos().getX(), getBlockPos().getY() + FindController('O').getY(), getBlockPos().getZ()), getLevel(), 0); } return; From 1c95f5a20c7066447bcd6c372970d60a3ad5eaf5 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Thu, 8 May 2025 16:20:27 +0200 Subject: [PATCH 32/40] hudDisplay: Fixed --- .../3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index 337a22fe..d9d41885 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,8 +1,4 @@ -<<<<<<< HEAD -// 1.20.1 2025-05-07T21:52:46.8207826 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] -======= -// 1.20.1 2025-05-08T12:28:43.9856978 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] ->>>>>>> main +// 1.20.1 2025-05-08T16:20:06.0534783 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 5cf183e5277aea7ac5eb2bfa88737db909c6244d assets/createnuclear/blockstates/deepslate_lead_ore.json a6f90dfcfc0659663335d4c80129ce41d0c8e47a assets/createnuclear/blockstates/deepslate_uranium_ore.json e11c7fa5830b0877af69bb18e650d2b1e6f90027 assets/createnuclear/blockstates/enriched_soul_soil.json @@ -23,13 +19,8 @@ f7504d5f748fe938bf07d2eb5d0ba46bbfa0499d assets/createnuclear/blockstates/reinfo 57c846a957e9250bc45f2f1091bf3f78b2a77344 assets/createnuclear/blockstates/steel_block.json de2884054a21315d8b167f64b206be331d388420 assets/createnuclear/blockstates/uranium.json 4557f548df100ae1d05e3b5711797225f6a39673 assets/createnuclear/blockstates/uranium_ore.json -<<<<<<< HEAD -f6abe6d1113def301c147692d072677d6b84836d assets/createnuclear/lang/en_ud.json -ba35308494cb110bd9fa4d2fd21eb099eec51646 assets/createnuclear/lang/en_us.json -======= -0646b343877300449f4aff998d7e1eca471b8522 assets/createnuclear/lang/en_ud.json -ae9c681b068d0f467cbc8c8270bec3287d14276f assets/createnuclear/lang/en_us.json ->>>>>>> main +1fa3610e24bdf3a0e5beb0889a872c75ad18d8a2 assets/createnuclear/lang/en_ud.json +6e150e6a5150038af732a3a8c5fcbd788722a9ef assets/createnuclear/lang/en_us.json 9a589577d80aa23ac97312bda605b5512eff5167 assets/createnuclear/models/block/deepslate_lead_ore.json 6793dd91b730f4c9abea29215de16cd0751d8cbd assets/createnuclear/models/block/deepslate_uranium_ore.json e1b8fdc0555a1fdabda54f66cca868e444d1110b assets/createnuclear/models/block/enriched_soul_soil.json From d74bf5a5e4767296840b630601dd1bf4a319efd7 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Thu, 8 May 2025 16:23:52 +0200 Subject: [PATCH 33/40] changeItemForTags: Fixed --- .../.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index 0c416bff..77dcff30 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,8 +1,4 @@ -<<<<<<< HEAD -// 1.20.1 2025-04-30T15:40:28.0620136 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] -======= -// 1.20.1 2025-05-08T16:20:06.0534783 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] ->>>>>>> main +// 1.20.1 2025-05-08T16:23:43.3619434 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 5cf183e5277aea7ac5eb2bfa88737db909c6244d assets/createnuclear/blockstates/deepslate_lead_ore.json a6f90dfcfc0659663335d4c80129ce41d0c8e47a assets/createnuclear/blockstates/deepslate_uranium_ore.json e11c7fa5830b0877af69bb18e650d2b1e6f90027 assets/createnuclear/blockstates/enriched_soul_soil.json From 2acfb97f27d724c34864ba36d6e31e3dadcf5818 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Thu, 8 May 2025 16:26:14 +0200 Subject: [PATCH 34/40] CNPalettesStoneTypes: Updated --- .../3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index e3b968c4..c5092e29 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,5 +1,4 @@ -<<<<<<< HEAD -// 1.20.1 2025-04-06T16:36:02.0389366 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-05-08T16:25:54.3915495 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 0b2c76c9cff305eacfdfb57c4b703f94ca6dc903 assets/createnuclear/blockstates/autunite.json 5d06bc544bcbeb7443178d66955bb5101cf696da assets/createnuclear/blockstates/autunite_pillar.json 5b375444ac5057e63776f4991589c57824574b4a assets/createnuclear/blockstates/cut_autunite.json @@ -10,9 +9,6 @@ b88d65e7a3393caeaed8d504bf6c4615767371aa assets/createnuclear/blockstates/cut_au 1e246d1862a801b2253595d7fac7717a0110ce79 assets/createnuclear/blockstates/cut_autunite_slab.json 56c308e675a047a3d28757377e61e5f79c6384e3 assets/createnuclear/blockstates/cut_autunite_stairs.json 98d386985f7c185f1acab25b9d606828f788769f assets/createnuclear/blockstates/cut_autunite_wall.json -======= -// 1.20.1 2025-05-08T16:23:43.3619434 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] ->>>>>>> main 5cf183e5277aea7ac5eb2bfa88737db909c6244d assets/createnuclear/blockstates/deepslate_lead_ore.json a6f90dfcfc0659663335d4c80129ce41d0c8e47a assets/createnuclear/blockstates/deepslate_uranium_ore.json e11c7fa5830b0877af69bb18e650d2b1e6f90027 assets/createnuclear/blockstates/enriched_soul_soil.json @@ -42,9 +38,8 @@ a2fc21fa320e677fe7690b260ee3f57ebdbd50b6 assets/createnuclear/blockstates/small_ 57c846a957e9250bc45f2f1091bf3f78b2a77344 assets/createnuclear/blockstates/steel_block.json de2884054a21315d8b167f64b206be331d388420 assets/createnuclear/blockstates/uranium.json 4557f548df100ae1d05e3b5711797225f6a39673 assets/createnuclear/blockstates/uranium_ore.json -<<<<<<< HEAD -db6df0c9f4a72bf4e7520c6f0dde6c16392c6f45 assets/createnuclear/lang/en_ud.json -9985d553d3dfd330242908e4d7df5db2fb480ef4 assets/createnuclear/lang/en_us.json +a88689839af8cd0e82f47f4b8bef5ed383c11782 assets/createnuclear/lang/en_ud.json +b158b3d709a4465d8cebf293d764bca67db94078 assets/createnuclear/lang/en_us.json a8495d2cd5e38213683becaf1c84b2852f8b06f5 assets/createnuclear/models/block/autunite_natural_0.json 29394a22ee8655dc22ea51563411505fbcfd2dab assets/createnuclear/models/block/autunite_natural_1.json 9e4f83de1ca7a9ab5363f43fc7c3f7f4ec6164d5 assets/createnuclear/models/block/autunite_natural_2.json @@ -69,10 +64,6 @@ e1e1e4bff55028860d776d8ecb992547fa12b1b5 assets/createnuclear/models/block/cut_a 05c9937ab6b920dfbbab6c78d115cc0bff6b8d22 assets/createnuclear/models/block/cut_autunite_wall_post.json baced15580735dd63848a96763f8c7ffe61f3376 assets/createnuclear/models/block/cut_autunite_wall_side.json cd15b5be0dca5f621266b157b424ac37dac859dd assets/createnuclear/models/block/cut_autunite_wall_side_tall.json -======= -1fa3610e24bdf3a0e5beb0889a872c75ad18d8a2 assets/createnuclear/lang/en_ud.json -6e150e6a5150038af732a3a8c5fcbd788722a9ef assets/createnuclear/lang/en_us.json ->>>>>>> main 9a589577d80aa23ac97312bda605b5512eff5167 assets/createnuclear/models/block/deepslate_lead_ore.json 6793dd91b730f4c9abea29215de16cd0751d8cbd assets/createnuclear/models/block/deepslate_uranium_ore.json e1b8fdc0555a1fdabda54f66cca868e444d1110b assets/createnuclear/models/block/enriched_soul_soil.json From 2f1211e06cc1d7b05a2f2a4e384b87748d77d775 Mon Sep 17 00:00:00 2001 From: mathi Date: Mon, 19 May 2025 12:15:39 +0200 Subject: [PATCH 35/40] texture autunite, steel and lead --- .../3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 6 +++--- .../assets/createnuclear/lang/en_ud.json | 2 +- .../assets/createnuclear/lang/en_us.json | 2 +- .../textures/block/lead_block.png | Bin 333 -> 610 bytes .../stone_types/brick/autunite_cut_brick.png | Bin 515 -> 557 bytes .../cap/autunite_cut_cap_connected.png | Bin 7288 -> 4858 bytes .../cap/autunite_cut_cap_connectedv1.png | Bin 7348 -> 0 bytes .../cap/autunite_cut_cap_connectedv2.png | Bin 7292 -> 0 bytes .../autunite_cut_layered_connected.png | Bin 3128 -> 3301 bytes .../autunite_cut_layered_connectedv1.png | Bin 3321 -> 0 bytes .../autunite_cut_layered_connectedv2.png | Bin 3321 -> 0 bytes .../stone_types/natural/autunite_0.png | Bin 982 -> 980 bytes .../stone_types/natural/autunite_1.png | Bin 994 -> 905 bytes .../stone_types/natural/autunite_2.png | Bin 972 -> 994 bytes .../stone_types/natural/autunite_3.png | Bin 879 -> 994 bytes .../pillar/autunite_cut_pillar_connected.png | Bin 4818 -> 4159 bytes .../autunite_cut_pillar_connectedv1.png | Bin 4818 -> 0 bytes .../autunite_cut_pillar_connectedv2.png | Bin 4818 -> 0 bytes .../small_brick/autunite_cut_small_brick.png | Bin 499 -> 566 bytes .../textures/block/steel_block.png | Bin 689 -> 601 bytes 20 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv1.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connectedv1.png delete mode 100644 src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/pillar/autunite_cut_pillar_connectedv2.png diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index c5092e29..5864f1de 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,4 +1,4 @@ -// 1.20.1 2025-05-08T16:25:54.3915495 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-05-08T16:29:37.4855719 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 0b2c76c9cff305eacfdfb57c4b703f94ca6dc903 assets/createnuclear/blockstates/autunite.json 5d06bc544bcbeb7443178d66955bb5101cf696da assets/createnuclear/blockstates/autunite_pillar.json 5b375444ac5057e63776f4991589c57824574b4a assets/createnuclear/blockstates/cut_autunite.json @@ -38,8 +38,8 @@ a2fc21fa320e677fe7690b260ee3f57ebdbd50b6 assets/createnuclear/blockstates/small_ 57c846a957e9250bc45f2f1091bf3f78b2a77344 assets/createnuclear/blockstates/steel_block.json de2884054a21315d8b167f64b206be331d388420 assets/createnuclear/blockstates/uranium.json 4557f548df100ae1d05e3b5711797225f6a39673 assets/createnuclear/blockstates/uranium_ore.json -a88689839af8cd0e82f47f4b8bef5ed383c11782 assets/createnuclear/lang/en_ud.json -b158b3d709a4465d8cebf293d764bca67db94078 assets/createnuclear/lang/en_us.json +9c364bda9dbb1df8b9a3d2835865ef721295db8a assets/createnuclear/lang/en_ud.json +0a2f2ebc6b3e5af875eeb8fb9d95da6ce5eadc33 assets/createnuclear/lang/en_us.json a8495d2cd5e38213683becaf1c84b2852f8b06f5 assets/createnuclear/models/block/autunite_natural_0.json 29394a22ee8655dc22ea51563411505fbcfd2dab assets/createnuclear/models/block/autunite_natural_1.json 9e4f83de1ca7a9ab5363f43fc7c3f7f4ec6164d5 assets/createnuclear/models/block/autunite_natural_2.json diff --git a/src/generated/resources/assets/createnuclear/lang/en_ud.json b/src/generated/resources/assets/createnuclear/lang/en_ud.json index 809e491d..6fe2231a 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_ud.json +++ b/src/generated/resources/assets/createnuclear/lang/en_ud.json @@ -241,7 +241,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "uoıʇɐıpɐᴚ ɟo ʍoɹɹⱯ", "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "uoıʇɐıpɐᴚ ɟo ʍoɹɹⱯ", "itemGroup.createnuclear.main": "ɹɐǝןɔnN ǝʇɐǝɹƆ", - "overlay.event_message": "ɹǝɯıʇ %s ⚠ buıuɹɐM ⚠", + "overlay.event_message": "ɹǝɯıʇ %s  šâ buıuɹɐM  šâ", "reactor.info.assembled.creator": "pǝןqɯǝssɐ uǝǝq sɐɥ ɹoʇɔɐǝᴚ", "reactor.info.assembled.destroyer": "pǝןqɯǝssɐsıp uǝǝq sɐɥ ɹoʇɔɐǝᴚ", "reactor.info.assembled.none": "pǝןqɯǝssɐ ʇou ʞɔoןqıʇןnW", diff --git a/src/generated/resources/assets/createnuclear/lang/en_us.json b/src/generated/resources/assets/createnuclear/lang/en_us.json index 68d32f19..3a055166 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_us.json +++ b/src/generated/resources/assets/createnuclear/lang/en_us.json @@ -241,7 +241,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Arrow of Radiation", "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", - "overlay.event_message": "⚠ Warning ⚠ %s timer", + "overlay.event_message": "âš  Warning âš  %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Multiblock not assembled", diff --git a/src/main/resources/assets/createnuclear/textures/block/lead_block.png b/src/main/resources/assets/createnuclear/textures/block/lead_block.png index a3910159e0cb2a7dda7fad832b595a75f76a4fa0..0e20196d179b26215db9ca68899bcdee24aaa3a7 100644 GIT binary patch delta 585 zcmV-P0=E6l0^$UaB!2;OQb$4nuFf3k0006UNklfy%rBtrkG;$Q{fu zyJBH6l6w6Pl7AR&Z3?qP3qUdpSh%8Ak4MnZ?k)^l zw=rXGc@50y4VMA%sv=qHU@%?NYla(-7;k-VBWoW+3*No8a5d^Vlj|wTrxjrAzJ7sn zE_yGcl0w>zF62c{b$W!EVJ--Ud&YpAYe4)1 XGb%;z*HUHL00000NkvXXu0mjf$KeC( delta 306 zcmV-20nPs61kD1FB!3BTNLh0L04^f{04^f|c%?sf00030Nkl_W;dA(qo;`T##j9yjLISk7&|;#8W-070y8me>GyBcIvvc+I{PJ_Z zTB8(B@6Z)T-XNa(a2-Yfcu}0NSgpBD9?!}7g8@)l&iw8?4}W0u_KK$$Rr&7HNrR>P zwgcr29BYYC$wRg^I#&5^05tL~7l49{fox7d1NMr;XVp}wE zY9z<{;0#e9B`XhL`|-{si0~&N09BC=E(FocYG0NazsMGb#od?Jr~m)}07*qoM6N<$ Ef^4aem;e9( diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/brick/autunite_cut_brick.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/brick/autunite_cut_brick.png index a1aa35d46d634bee750e667b2b2eab8f3c4b376f..34a296df86e34bb0ed07941dc139ddab2000c49d 100644 GIT binary patch delta 314 zcmZo>S<5m(f|G-pfq_9omp^!-qC&E3fKP~POOJa)r%PSCQ(3)LL#JDQrG8GCPHwqw zW|3xAiB?CyZ%M65VYOjRt7A&8dUCdULZ(V;zGhRmM^&>!d4p|BuUA@u)_OrTUZBC8 z1s;*b3=Dh+L6~vJ#O${d8_M`@mN7EC0NM+oC$lg{)i2lBx9+#-!8brX-JULvAsWG^ zeK&;;EATM8N-Y+UJaO^cfBUV?p5GfMO3HIHWJU%ZdeVAThu=dwCt{}Z+5VUf-bH7R z$Fjc85w&Cs4M;vbM`7o}u9PczQ_QyfQ@_-B{6US4P}ZF-b(K2icOEbLz4P+f%)V0# z-f~$!ifxMf%%iiz^K{T|w`P}+#olk^C->;M1& delta 272 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 Cg_RNj literal 7288 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 IWA}*v0Xt8eOaK4? diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv1.png deleted file mode 100644 index 1c4f20c263d44628d39b4897b781bbbc692c8e4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7348 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 diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/cap/autunite_cut_cap_connectedv2.png deleted file mode 100644 index c90db79dd26f3d0f1bc3fbe141b695b369b6ceb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7292 zcmXX~XH-*7w7sE7Q-ZW8C?F_Sq$ou?D1wSqX(EQE^d>DJ1XP+*0s_*52-2I1gd!v$ z)zA?T0)`%{A%qr^keBbh_har^cg~qvd!5;L&tCVfiIM&ZZV_$(08ZR9xMRkQk^c?O zW6bAIO$RJ9u({|w)B%7m2p*aPI{6r!0SR2X2`~tE>JI zM;IG)^tME@2pP<>N$@RW+g;c@0bq+Y1O^YN)uMrFd;k`}ckKFk{_Z)(nROE$l#0l65jz+a8F_(!JIP zNT{#?x5WhdStSfvKgx}uXUm|z(G3P50E12M&v-C$L$D!zNF;cBYj*zJe7oltT?fcz zzUN$vlDQcOhg03bpcZaY%ZN+v8X&MiMDcoKIyKOK2&`ABM>BjJyJB(Sgn zd`5%BDd^JDIIC|rs5TJoQDzHFSpu$jirozy*T=`)L!p%T5EYuX7_z{mNB!&>ZXTY^ z3yuXXatraAj2m-4v+?jfX7&gdx&`=UYiCtq3g6KE9K3_7&5{UMHeGq|eS*|ccXR|j z>GJUW%`Z=`3B4m(zilv)eApe*XqIy4TyOe3|7wH+N&EwyD>e88P#I&4F{keJsSvUc0I6sSLi;KR=+7ux0DvDWr=FCiK@7V%0pQNZ zS66CvIF7doR$_Q_+s^*LKv*1(-O)aN9;42udu%cC40pk)4?3qGVO0OHeXnH|`FJvW zj<2pwUgZQ~mjB7CbzjIa`%}pFQ$J$3*mQb01su+)#+`Ib`Xf2O3CT)glXNh+`988p zVl__CRI;<@MG;Gxu6v4|fz-Cl3&C57PqYt{aXk_W?`ZFS=*y?Q`fAGhn=78NECx~Aab5(iH{W6;Cvdz*Y5c`Ia%M@(E4`ig$=1X{w7W)Msn>Xb8bl$8ejsL#l zGp!}I&-n_vSs%+y`^%8OIm_cz^B>>y`WR#)YaUxBa5FIbLVu3%ZETTD;n+~Nn~U4N ztL$n(6W7ceF};kTj1i9&j#a|yo1Ng}Ct^;#={9h@blT(e%hM&NP^V?H42#)EGqQRf z$xSGTX1Qd7Gkq+quk2k36H58TpRSs2nGR1Uls~fYx6m33Dd%}qVF9jqY8hU9*W#PW zLK)X@;fk@cvlh)|O4S2q!Da}PK~rd9E0q5F(CNh2nCQD7V+;x(Iib2vC!Q1TQg}wP z)*XLg$+~{cBlDr7?N`c%VGui2G)VTPq4{n9^5>P$Q=aE7`}Ko(yS~hB-I~n3KX7i~ z#K21#Rv9gsFXQf2&#T~7%2T0Jty7MhFE)iY*QbbqzIobt*Yb8%y;S!Dxtf%kOq-&c zaDjtsnxjtZA*)=wzjk?7XNL86y><$BA#22O;;^`~+)YlUKbqniS*sH3QJvGsC) znn(8Yrs2BLfWE$-Ytxl~DtkAQZjI%7ARSsKf8c0|(Vz8lJMYIU#dm+0`VfX?|M2j` zer2Ymre%obuH{7Kz40gO*VetptvpRct#Xd%sODhnORI9KI)ZY%@PhM#h|43Fcg?-0 z6IqY57^V%Cc+joZl?6_KhTG)$#z`h_)-yiEmb2opMb(H;FwQ>=4 zDe%uDD?*ANBxCtAf-)fHUM25Jyz@h`=}RL2nnu2l?iS`W=S){kdi|d1)94JZpgz2w zBid{CQ-i3pv$bzM@7K4GSCUiGPEIDsJ`H+m^OV{mX8bKz8aXcK)r0G>oo&Isv{%*C zcy>6j%BtC=$&w$MAKO~oDv8%Nbit$zdwdnfw`FwU*vU=$go$GF~e2et1@3 zJ1QsISg-X{;wRHDsD}IM@0ar|)Av+n)WUBcy2cpa4eYwXWo&jeB<1w`Mk(?`%RA$L zD+ee2CS`7=<)-Bpnw@a_PFp%5HzS`v-@f|V>SlUbS})eSdgpPY zlaNEYvjx#TW6ahv;tC`kTIpL^T76J^w_$nS$_P3Zwj1I#HTCyC>euGF!FtiUcjdkf zy5@e1yUy59%+`r2QBvZPDAeoz-++Qp_uZuay8d7Ntcnhbo3?%RmALH!rNX_?ya+q2 zCB3Qw)jBCXHIAMMeo5wib5=<0FEMT7$M>r+D~}ev@Llhbf3If{B95X>=wt51fRE>N4I2HG%ganDQOrQqcPS^*XDVkiJNUcr<14)FI!kRA@x@^; z7feI&OSY>--=?uiSi3hf!&G- zE9A$#OBy7~;_K9f66X?Ro{^Tu@2u&NeM4H7hn=Zii_7gnq!uLLpCJmm-%I{WK-g{l z@ZFKzcf?&lJ*d*C*3gIh(&r3nY<{|u+?LJ_bUTI&>jjpGo!7EyQfR7|THz=abVh)wwJ7V)f0H0>i3^6;Tk zcgc|Pz9u2;h$g!qMW)K=s|+$tri7D$*+T#bm1dgHC;&M8&xEc3K%g7|tl0yAY9;_c zd~=&j)tLz{UjrL|0N@e$Z-9X8+*1H>GVk6Uoky_TO}hs^S9=4Gn#!9lypzVu~m=0GtOefjp6u4U=P5K}&mG@XMosF?Q zYApW`?EW3Ev3V|&@_8?0wh)(hON-KbHFLf;Fk#g>ibx~nM+P?es-4Z&z_|ze2WF1Zf6Hx_vT6ot$9?0epXZv&Q|?PL~xQ=HKQ`jd<00uXlliSrmsk-2#oL z4{dSzQVwtYpl?GSQ@wet|8^Aysd*dzdct?VjrR!*8N2$kXsdg1!6JNzU)NC+fW>lr zHWHfT5DwmdLDj`-f@x;ZptEnU19AVZXuI`Mg4?8ghumMuy_=O^gYt;Cg^_N-r;m}F zzeJ(?;LQ`A3(lV$BK%UWeXGH-Z%jEs*;DC~wXT&rg^vLHrvV)72u;oleo|^Tv1t05 zQrpF-kL$ai!dagFLVeF~{WgY`@c3xu$KDG2d#FmDJ04lZ8n3uVqz+AIF-8 zWy?}mZbA>fxkf?TWxs;8vG4-M>x&y1{Vbu7!QqHtyGB10sNS8!3EM9yAI&kv}%tF3Ky+t?84tQq6fAiBoASMAUXJsF_MGIx-LM zJDI$7h{L!4q}K+Z?Eoiae6oJ9-YnJk%)8WhGK?eEL?umPvA5Bm#){-w3;9lZwOIG? zIxp9Ci7<2!Tm*kWYtGyuW}v2cU$Ng14^xUKezaWY+b4d~d7_Rmk|`@M%>hfuM+@Y3 zKatNF8?YkvYti1oxc18=o^mA9FQ%mm<8Ot@yIyH}vo?=)lklHm%jaX64~gb*#4@@F zco~{^h7NGv=skC19)~7umQY%mUv#6W@emta1|%<8-#050pC{F)lx4MZxOqwJzdzU95`tFRKtZ zDf31`-%g*oKWCCnVJvSdBEtjT&TZQLFd0RMBfM)M`9PrQas#f-wf2;qmU_ZMW7BP} zOu~HUgr=Q4WAP37fYIyx&SWc!o*?%*_rU(WT^G_&ZEoTzo#)47L|bG0^)xBO!j7SK zuJ6`^F-9JtOeAUw6N3sSJ#H)$6OS=n(0`*IxTzr$*16_*-|NwZ$-A3Zae5e?KVh4Z zdNZ*}3`C*d26`*wKr6g&S6t3qYW;2zyY&j`y{yBh?h2apM)!jrau&-ROVqY5wPG9H zyR@9%!Md_W3LydOb+S=_%oj8-Lo}S_I0rrI-}Ntsh~O37L1XfmPQH=4cIw{krNv(` zwiwsLhWm^$*s+gu7qv@ptS0KP$Hm?IKKR1$>Ha<-U>63+eaTPKul=460Vl%)CRVj- z)sY2UwS7+Re={w1VU35oOCS`$T=Q{`AFysK3~ zVPcLtdRh9X=`%*5byShaV@0t7F1ZlEPkkm#qOgL1+s>Q4$_YP1e)ct{8kt}3BLbGV zM$fpkkkKi1Gde^aLjxY{>^N$mRkir+yfjS&!L?%WNfNdUSw@#`J46w6W-iHHs>#1P zO7^0(^>L7=4KSctEhB;WThB;x4Up!#E!FxwrdQ+sEA1{ zs%HyRZX_JCF2I1vOEd9c{yp27YD;zPo?AvU5FY9;onB4ROGzBQoa~@2+5)1EZZ*fp z9YypD3v&MrcVkc|w7Q9O%D&-%O@i#vk@ywTqgs=#Ula;3q_J)>zObY>R21H57n}cu zm}^4?|Mr)xc%8LKC^>sE%9=n>_QFTykCWH87RpE=aoNyBrd@;0RLnb|9qv< zav0&P19aV^@=ZLtnH@|!xB;0iZH-hto6yXG-4h6#c0DQx3I}eLq_^<{^Kf%V8@Ofx zTX$V^8rq%uIz9>sjjl1;UE9*iO#HshXJwJ8+pGyhHbguiOc2&q=ctrmm%Fs74J>1# zuV$XHnS-*9>0X7c?km|hQ7GFfC8_yZBD|m;HLrxiAY7b}hn6vuV)zb5&`XNFclt%~ zWOhl{5P0}a8Obk5nb9wS>#UhuUYkAw;=lm(=`u1mmO3YLJ+jgKmBJ~DpV_}P`Lrut zu%}QO_#`kWH)31C-_bjQ@|==Y!DXn7e##45gl|XghpA}>e!ECr>F~6}9P2xe))G8( zj_~%g{c@vgU=q^~Tp*GZFQiqKtj(t_+)*>1KqmehCP2(t3{)BKNnhk$~J3vP|| zcOVVB;l!oobEcNJ&z}`broM`XN!2)>##?fTTUU2KC=CnLvOQ9z8IwVP_suCS{TueG z6#8n~Rj%%WOv8(xX@!MKVq#xMvkD7co2(Vl_AZn1m7WYT3Z?L+N~F^EBjl5KBm-&@RqnmlD*#ETW z74hOc=))MKCtg1p+o?)Zr`8WugH1|ZuAcblJ(0-K^YVAqXe$>}*CfK#pOH9U?3!fM z2q5fPHV=VFq}X*UwBtp^gNL}9RIqcmV8t>{yIE5^1)0~aJUpsAe56G3(s^W;-RS=| zb*S%=o=BR4bU{GtbR$8z7sYPQBW!SLbrOTb%i)hrFRjM< z#u&$?5i*l;8}qiGa!s=)rk?C& z+Nc@HS1#5nrkQNGnMCcsIDmR(86Np8R0X(t{`pRU*at5X5$f5un!A}B;caN4_&XtehP)j)nXaq;k z>&bDdaiPKBQz7UCbFsFj!hh}B`V>lWYYpXlxV29Lp7$hjxHkPgx^j?HPVjlC9{Jb@ zsymLwA3G{uqu2_7F}%~Rc@Zl2cT#ZecxR1>tMeeGf~V*c5$3zJt_6_i`V4M-9rfL( zeQ>k<6%ptpFi-)}b$+~5N0<;<@m0o{ay z(;7%UgvYHLZ;PfwV!j>syZVKR_?r*Uu^xcaU&Br~s#4FmrU&26`sdZji8rv!F3}IG za}}j1A1udL4+0eigrDkU6+B(_z!<6+F?Q6QkGd>|DS8UGX<;b9kw`Dw8phGTAdh*_ z$ewN0&*cTsZ!piC4%AqAE@O4l;s7TIHgSe#pg+KXv9~+HIpwh>)Xs4ANX<+Umx~d# ztD#g}QMYnGirr68Rl42S`U-uBSaqHy*Zx+VxS_} zr+uPq!pB|99B+S5z5V)jl`KF(Bq0&M!))~Im=xN3xV;{n;uC)m4gwSqX#p`cX&06( zO8=Go2;6LSw;}{zG z2H{cMCaUfRP+^hJ>9X%QfT6H(Kt^MVJbS4|4T?f~i-L#h7^31}KIQh9wN+-BMF(q7 zG`nfFK7NK)ZmOYy@ZtZjq>&_;mo!Ggz5c9xZL~0Fd^A{IOrmNnOAIaJj^J>8Y>e-M zMc(wJNHevowk-6(oPcv=v_{JOUpPC9v;Y6Mg})H{UlF;6JL^1Kl}PVL`Sw2#R-H%g zLomfHvY0fcA2(kUEH^Y(E|aZ&8)oY{O=U5p@IMQifyH<&S?SdYUK54A6>H%l@-Y3* z(nJZx58eEk7SK|3#g!Hgs;7C&Qdsy`*p?8tSjIDR4roYdU2cg|C;lg| zpE_p4L4NDfNa2lFeDCg$3I69mBIxtMB$7|~SwL zMZrEelNT_wmgji^FZ`JVyv^e&7JIl|LIw~OvPWwBsD10CJ}S%k?SL0~^znX3Sb{iX z2D+e@&$xW3)zY=@6X9Xu^*z;o`?K+C^TRzGJ@gx z=bABxtvFcQZgwxjha1cnhvf4?(>h1OkyjG_LQK-|KB;)`ijwvD?OhjYyaY!Vk;j0r z&%7xrXnTQcbIhsu1|hD*L)-mXIqrJj8H3O7RTX;&iB`K|x(1SHjee-*v~@T9Y-h?+ zXq(tcN14c>(&_kY&yT5is0%zSi#|<*O@xt3f=OrS!4r3L?V`u1EHQ;3)tO4M8fmM_ y+u$07v5MOUlkCoBKkH9wQHR0VK@J`yM&f9|=0d`267%m3a8J+ZPPMN6>;C}?f~TJV diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connected.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connected.png index 1e8a6a531c3f34ca0093bacb41408729014ff544..0f9be1b8f494c5a7a188cba07e76d8d15f946974 100644 GIT binary patch delta 593 zcmdlX@lgaN^4>cJ1_sUokH}&M25w;xW@MN(M*=7)QQ{g=5}cn_Ql40p$`Fv4 znOCCc=Nh75s%NNY-hJ)6B~VRIYJ_K+r>7PJ2LnSr11p0RBP#2!0mRh* z|3P}|85q7cZ?bysT2{fpz^Ll!;uvD#-#Y1H(P0H1mh-B7>WVRc|6eat*>3n~=^2Z8 zszywCjgMbv9C%&2@7(9R_gfhk$QoW|n8W+x_{O4aUJ==5lg$-Y+LH~0L#29?(k8ch zDy7djd_wNNt&URQgsqDft%}^Rfn!tPpANoE=XRHF>#Yht0`(Gq$X2O>R{zGhFBXX~zAjt_o+`&P@M0qyEQs1^;R5 zcRzTjQBXer;~nLK#PXVdzoey;Pw)Trp=`a~may7}-_M-o3KGA+a?acL!*DhKcT@d3 zm+o2r=N@j~?0UBTvuARi-4neq`?Rl)N{6rVe}8pY;%d9jil5=~kL0%fF_*ss)bi(0 p`N3KLpE)0k{e1t=jQ_trFzZcKyZ9~j(LGQIdb;|#taD0e0s!M5-~s>u delta 419 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 DFZfii diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/layered/autunite_cut_layered_connectedv2.png deleted file mode 100644 index 2656eddf39de9c3d0ab509779cadeab981782942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3321 zcmVStO&>uS)ve<0AYj>5AR{$W90N^4L=L-RlQUJ&DC0@ZjPh;=*jPLSYvv5M~MFBAl0-BNIsH z15C~g000{K(ZT*WKal6<?_01!^k@7iDG<<3=fuAC~28EsPoqkpK{9G%|Vj005J}`Hw&=0RYXHq~ibpyyzHQsFW8>#s~laM4*8xut5h5 z!4#~(4xGUqyucR%VFpA%3?#rj5JCpzfE)^;7?wd9RKPme1hudO8lVxH;SjXJF*pt9 z;1XPc>u?taU>Kgl7`%oF1VP9M6Ja4bh!J9r*dopd7nzO(B4J20l7OTj>4+3jBE`sZ zqynizYLQ(?Bl0bB6giDtK>Co|$RIL`{EECsF_eL_Q3KQhbwIhO9~z3rpmWi5G!I>X zmZEFX8nhlgfVQHi(M#xcbO3#dj$?q)F%D*o*1Pf{>6$SWH+$s3q(pv=X`qR|$iJF~TPzlc-O$C3+J1 z#CT#lv5;6stS0Uu9wDA3UMCI{Uz12A4#|?_P6{CkNG+sOq(0IRX`DyT~9-sA|ffUF>wk++Z!kWZ5P$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>L zsh-pbs)#zDT1jo7c2F-(3)vyY4>O^>2$gY-Gd%Qm(Z8e zYv>2*=jns=cMJ`N4THx>VkjAF8G9M07`GWOnM|ey)0dgZR4~^v8<}UA514ONSSt1^ zd=-((5|uiYR+WC0=c-gyb5%dpd8!Lkt5pxHURHgkMpd&=fR^vEcAI*_=wwAG2sV%zY%w@v@XU~7=xdm1xY6*0;iwVIXu6TaXrs|dqbIl~ z?uTdNHFy_3W~^@g_pF#!K2~{F^;XxcN!DEJEbDF7 zS8PxlSDOr*I-AS3sI8l=#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{ z%p4LO);n}Nd~$Sk%yw*Wyz8XlG{dRHsl(}4XB%gsbDi@w7p6;)%MzD%mlsoQr;4X; zpL)xc%+^yMd)ZNTI#eJ*$O)i@o$z8)e??LqN_gLa_%;TM>o2SC_ zkmoO6c3xRt`@J4dvz#WL)-Y|z+r(Soy~}%GIzByR`p)SCKE^%*pL(B%zNWq+-#xw~ ze%5}Oeh2)X`#bu}{g3#+;d$~F@lFL`0l@*~0lk45fwKc^10MvL1f>Tx1&sx}1}_Xg z6+#RN4Ot&@lW)Km@*DYMGu&q^n$Z=?2%QyL8~QNJCQKgI5srq>2;UHXZ>IT7>CCnW zh~P(Th`1kV8JQRPeH1AwGO8}>QM6NZadh`A)~w`N`)9q5@sFvDxjWlxwsLl7tZHmh zY-8-3xPZ8-xPf?w_(k!T5_A(J3GIpG#Ms0=iQ{tu=WLoYoaCBRmULsT<=mpV7v|~C z%bs^USv6UZd^m-e5|^?+<%1wXP%juy<)>~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3h zINdvaL;7fjPeygdGYL;pD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eT zPi8AClMUo~=55LwlZVRpxOiFd;3B_8yA~shQx|tGF!j;$toK>JuS&gYLDkTP@C~gS@r~shUu{a>bfJ1` z^^VQ7&C1OKHDNXFTgC{M|V%fo{xK_dk6MK@9S!GZ*1JJzrV5xZBjOk z9!NTH<(q(S+MDf~ceQX@Dh|Ry<-sT4rhI$jQ0Sq~!`#Eo-%($2E^vo}is5J@NVEf|KK?WT&2;PCq@=ncR8z zO#GQ^T~S@VXG71PKNocFOt)Y6$@AXlk6rM*aP%VgV%sIRORYVwJx6|U{ozQjTW{-S z_si{9Jg#)~P3t?+@6&(!YQWWV*Z9{iU7vZq@5byKw{9lg9JnRA_4s!7?H6|n?o8ZW zdXIRo{Jz@#>IeD{>VLHUv1Pz*;P_y`V9&!@5AO~Mho1hF|I>%z(nrik)gwkDjgOrl z9~%uCz4Bzvli{bbrxVZ0epdf^>vOB;-~HnIOV3#R*zgPai_gEVd8zYq@2jb=I>#f& zAH2?aJ@Kaet(?AS{|Ja@>)gAzeeS$l27_PuIQN@D9svxm! zGO@#hQzuOq>b}7!ijwhXXU3lR?>>BdFSYELdNoy@)Bx!7F91}l4FlB*U{d{ZIJ~~U zr&2R~M+^XfbW8wxwH;FrC;)(8?cGeZQYn*~JJh>7pTEvC%^&#w@RgW}iG%?RPtO3% zY<3`uX8@0f&j6A<5djc0Gc!SnC}!py5fO7ZwAS33;XS%P5P-2Y)3Y!8-Bf3YsFdPS zQarO?vMfY3HhUt-)TEvk`xEPNmG>3MI>qjDmQyAY9{Xmht+o9gdEO^w-kKQz9oymz z5Ho6e&gMbYO8hWF2wj6o8Ey z^^{$)Q8RojOE%>?FQaX&9zDa4eJn!Q5AS43F=9EVT6y-l)+8S_5U=>UbVOvTj!vc> zE&rMhgQ;cs_Z$8V48*T3^_l8yPrxa)}Snc-*n z&AYex{%&nZ>cOP?@acdX^neLKt!X_7!O82vaxl{RfxI59yHHX;yas7KICY`Ceh3%g za)Ta3#3a9@XybF1(~JIo`HesE^D+Hb^uYUjUJn4wHAw0~xFz*qslldP=PBOy_vp!2 z`PH9sOMlPnK~yWN2k!8n>p_^3{Oq+cU+wQm>w%BounzYb#|)oc00000NkvXXu0mjf DFZfii diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/autunite_0.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/natural/autunite_0.png index eb7643c6f685070d06a5dbea71434357dc03dff9..90aab089ed9259fe478ed6212f3976169f974c9c 100644 GIT binary patch delta 729 zcmV;~0w(>|2h<0UL4RvdOjJdQjy|TUPLY>Ke0DTzU?+u&Jco=ue0eZ*Z!KZDA>TY&4FNM16WQe04RF zoJoCkG^MFbo~l@lkwbfPG;3ZbeS0#1c{qxWK!uAub7(MiZhtO(dNPlcMvI3)Y+)#O zZ!U?BKY465Z(}Qabu@NwFLiA!b80Gkb25K;IBZ`hcx*JLsZE=vRfml|b!aerbToNw zHF|S1m!MCKkU^iRR-&v~rKwG)s!o7-H;|o5k()?-b2D^oE32WGjMuJEyBpj*~@nXD@zxG<EnvF>`J#lb}tDkU@!tJ%)okV|K}~00009a7bBm01N;Q!Tb^!qB1Cvn#T7Ql^!B^84yiNcB0Srk*K~yMH1;L3!!B89k;2%A+O|v8G znWC6wThAI2m06OGb%!qLK6I*d{rP<#fX_dK0#uMj3>zBe5Kv)W5T%g_l1H%+RbntU z9!Jr{#H5^zrPQ=G1t_B%lHZ(W3?1tPXTh4WbD4Z$wkXY&%Dg!b%74P5QE{qCcc~_4 z%;h?)gv(AtS&g`B>l>c7xdpy$duP`v5WKg4fU1oq#PW!NZBtptMJ`qnT zC0)vQ&X^7X+^wHG>P6G2TwY=E`Ubq)yZdy=q==@qh@(6JW~hXOdXG=fRW{grd4;Z} z3!S$q2c?dNZW%x>v6y2j}M@K&N(jEh-pFs00000 LNkvXXu0mjf9`HMa delta 731 zcmV<10wn#^2i6CWL4R&gOjJdSkT|KXN0XUBeRnQxU?GQ$HHnTkeR?T&a3^nKBXw;i zbZ#bvi!z0ZGnl4IjgdQeZzq3xD~*ynm7_<1dn|TtCwg)#d~Gj}ls$iYEPi$`l%GR? zb}p!_MWC)yj*~ombS-UOA%A=;f_gHHkvfNsHFanzcW)?udw(mDmOqV&I&NVid2lF; zkU4v8FmPiee0D8(a4C0gCUk2fd~+*-c`|NaA$n~usjWtxsZWWIH+N_%eswK-ZZLau zESRH7jgmT{tWcz{Q>d**s;)E@4mp<&B z#(KG6|MLsBp zU~D{0f{}?yDH@6?adiqvLeoX3F^#&08pR}}X3TUVlby|pbNPbbmOGsw?0dh_gL9Z@!DtB)vq_0zrk~@)>KaGhxetRo!VIp~OD2tFedw*>( zaAPEVb}e{tDR*urbZaAgb1Q*)GHzcXdTlSMtwx=xPl=B=cW5epbuD{tFne<>n4?LJ zk~*lZMyjqyf_X80bS!plC9bkdeR?W_d^3D+F_M=+e|9c~iZgU)DS>`1abzWgd^M@B zN0601c4sMxjyHmOGJt$7et9a6lvX^fu}YAZK6z{|iG?1(_nbawH0G@<~mrFsB<|YlkfeYAY-^sEpc_puQSF05H`VW5k{Oak` z_~EhL+-AFVdGU6N5Ikg+s=KCWF~(kidk98X5$NISCPU7-Lg7}mfBL9S&qKyoG#z1x zo1zs%7RJ1lmOxnFnIH&GF9t}il~JnvS;>8CD||i+f*?3KOT>^d#wdr*IzOT;BGy_y z68QNH$jz|>HX8e*d8{-%R&^(BeqZsJsDtf{0|4$bS#G3LmdxMHc8j`}((}F5%@+H8 z@4Bw*qJ+n3Qn|V*e-w7?m-k~zY5K%Rl+qV}Je$24BkB+U%%cPdE`lDwFd0TO!B3bm zhEf_&6N@8sb|y?`irWTg^xL2F(LC`(L|6|1Xsz}_-)A1AMr$20+xI1-wGpx3nvCnR6#!+wviQ#gM=d--;10kuj2jmOt9=N#C+csL*r5f6I;757ILp?oP3 zB8X68V0d{M^#+LvzPcJ>j4f=15VKcLQ~`?hF;2M<;`A~^eu!<^YORX~6G~;NA0Kto zG`nRzeVrI>e~dAG-#dfZi5~_7q-6KwYqt5Z4#{zF7N}AyrT+a=a4wk7@`Z$67teS! z3(}P10l^`EbF-H^_t&UOwU?_*>reVGxj>LYi9v2x3M#DHAzx(~l z4{5%X<+29=000OfY{)xjdE!-hef#C--QV{P0%WZ%HXrhvzgA6c5JEv}{|}yk0DveO msM4HYkDvW|asFn~6zzX6^k#9OOO@OJ0000gm(?;j!J^X1jHH@pg(3JYC=;7)nL(aKE;a0W!s7}vA##l5R zVSk95q7_3H#=Mo5Kv>_IAP7z`21u@zQL6k|$$e`pd_D_;AUHWo#E>z@D2L8EKcXxm z)>=Li`1uUT&9MVE8vCPptTa4Ubti3pU-6izgYAq10PZtcZlqI|%-_v+i@KK5^S#y0 z7W;kgx~}V@gvV)8xwJR|TqXY;pf*!yy8Ada~ zPna==QW{Saiz9S)CQN6F+XiU#+n@8%Jn=(BSPuYbt@c9SXC9ZMVKFI%5YhM-&*Xj#2?&D2L^yVZI-Z#D1?H7a0mh!#Ewk z`~AufX}*-@vIhVF00<#$$UA3w;#GNl`{n1|-}epzWUVb9@|(X_O>GcDK`d(j51xPk pfG8TM(wtw9pZ$7q{$|n??SC)yW^tfPmD~UT002ovPDHLkV1gIbNyPvF delta 696 zcmV;p0!RJg2h0bM83+Ra001a04^xpLAAbR5P)t-sWN8tChahZn8dgvTMmYdrWe#Fz z4^~qGPe}ksI{;2b08K{#UStbiV+?VBBW7z9QAhw-Qv_~&AX!uePe%Y#O9WL$2xx5< zSX2d9PY7*z99T~WfrTDqgeMhJq2A9jK$VrURh zK?7G#22@80R7?eNd?IFR6MBUyeTXc9h9856AX`!jYk3`PcNY7$#l2w-Fk zT2=>hfhB)~98Ek3S5yN|NC0JP6J%izVO=8 zg1moJAm9y9QKG>Rk;hOBD-jr~z@a!QUzR4t)T14$Ytbz3uN8fY*~L3-BCB(u4> zJe@BTskH#g;*wc%%JIr_RZdzfe>GSQ6rH-V7OJdoY&P_*8o0LYon0r#aId~k%Jn8> zNK}&(0et+?%RMT+Phk*rbP&Rd`kE=;B8^}jf8O!BK*m7_He*A egkSbYJ>(zncr8}h83+Ra001a04^xpLAAbRNP)t-sb9f+_oi=`iEMZ#`OFjT^bRBVa z9${V$SW*d3LIYM#2USl8Y;qZFaT@G@czq^dSP@G+0ApYeXI~d}dLwUj9ac#TS$|Oq zVqXt@fGTxyB27R6TT%*hcp+U+5>P_~U|JDcQVUp62USc2UseufT^39|09;QIn4C3> zmpyTJA6Q8XVp$PgP!e8N4~396cYGv}n?IGGM3V6a(5qLUJh|=9A{w|o1ZvdQGXMCf-6->3T9&xQA7o4VH%m9H+p|4S4awRb{}P7 z5@KBrcz!0GqC1tEGkSn1TTT#gY#n7{5pr!Ej+s4*mONou5^`@Ka(5t0IR{rt41I$u zmYXzpeI;{wA!lP0Z*v=FViSm#I+d9+R6`G9Uk+AK2Z4_>c6=mra2{`K92vC9ODq5Y z010qNS#tmY4#EHc4#EKyC`y2lQ+5vWb^!qB0{{T>b^!qB1CiHSe~vrBSJM}~P5=M_ z4oO5oR47vg!HGk`P#gf@A3bc-*p~H7QOw%Wqajh5Bk5Ro=px;hZXLS*_`VOo;T%9N zw}(PB;~iuXxP5+(7lr~z9L8Kw3c<)|7zHC^<6<-vljF(+AXU=^r!h(E8rBF-Kyu1V zsp-sgR+!1<{l+Xve{=JC!74^e<%*~p3sqS3<*k~u6eumPtlG-jIyg4W%`GcK@b=Cw zD%R?dLSb1X6x&Ex&AsM653%IIA%E18;<;M1&07*qoM6N<$f)dIi_W%F@ delta 640 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 literal 4818 zcmV;@5-shCP)00004XF*Lt006O% z3;baP000U}X+uL$b5ch_AW20-HZeIiHZ3wPF#rHaiJen-Sd;e_KHv9c4^~3h@UfR{ zfdC>StO&>uS)ve<0AYj>5AR{$W90N^4L=L-RlQUJ&DC0@ZjPh;=*jPLSYvv5M~MFBAl0-BNIsH z15C~g000{K(ZT*WKal6<?_01!^k@7iDG<<3=fuAC~28EsPoqkpK{9G%|Vj005J}`Hw&=0RYXHq~ibpyyzHQsFW8>#s~laM4*8xut5h5 z!4#~(4xGUqyucR%VFpA%3?#rj5JCpzfE)^;7?wd9RKPme1hudO8lVxH;SjXJF*pt9 z;1XPc>u?taU>Kgl7`%oF1VP9M6Ja4bh!J9r*dopd7nzO(B4J20l7OTj>4+3jBE`sZ zqynizYLQ(?Bl0bB6giDtK>Co|$RIL`{EECsF_eL_Q3KQhbwIhO9~z3rpmWi5G!I>X zmZEFX8nhlgfVQHi(M#xcbO3#dj$?q)F%D*o*1Pf{>6$SWH+$s3q(pv=X`qR|$iJF~TPzlc-O$C3+J1 z#CT#lv5;6stS0Uu9wDA3UMCI{Uz12A4#|?_P6{CkNG+sOq(0IRX`DyT~9-sA|ffUF>wk++Z!kWZ5P$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>L zsh-pbs)#zDT1jo7c2F-(3)vyY4>O^>2$gY-Gd%Qm(Z8e zYv>2*=jns=cMJ`N4THx>VkjAF8G9M07`GWOnM|ey)0dgZR4~^v8<}UA514ONSSt1^ zd=-((5|uiYR+WC0=c-gyb5%dpd8!Lkt5pxHURHgkMpd&=fR^vEcAI*_=wwAG2sV%zY%w@v@XU~7=xdm1xY6*0;iwVIXu6TaXrs|dqbIl~ z?uTdNHFy_3W~^@g_pF#!K2~{F^;XxcN!DEJEbDF7 zS8PxlSDOr*I-AS3sI8l=#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{ z%p4LO);n}Nd~$Sk%yw*Wyz8XlG{dRHsl(}4XB%gsbDi@w7p6;)%MzD%mlsoQr;4X; zpL)xc%+^yMd)ZNTI#eJ*$O)i@o$z8)e??LqN_gLa_%;TM>o2SC_ zkmoO6c3xRt`@J4dvz#WL)-Y|z+r(Soy~}%GIzByR`p)SCKE^%*pL(B%zNWq+-#xw~ ze%5}Oeh2)X`#bu}{g3#+;d$~F@lFL`0l@*~0lk45fwKc^10MvL1f>Tx1&sx}1}_Xg z6+#RN4Ot&@lW)Km@*DYMGu&q^n$Z=?2%QyL8~QNJCQKgI5srq>2;UHXZ>IT7>CCnW zh~P(Th`1kV8JQRPeH1AwGO8}>QM6NZadh`A)~w`N`)9q5@sFvDxjWlxwsLl7tZHmh zY-8-3xPZ8-xPf?w_(k!T5_A(J3GIpG#Ms0=iQ{tu=WLoYoaCBRmULsT<=mpV7v|~C z%bs^USv6UZd^m-e5|^?+<%1wXP%juy<)>~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3h zINdvaL;7fjPeygdGYL;pD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eT zPi8AClMUo~=55LwlZVRpxOiFd;3B_8yA~shQx|tGF!j;$toK>JuS&gYLDkTP@C~gS@r~shUu{a>bfJ1` z^^VQ7&C1OKHDNXFTgC{M|V%fo{xK_dk6MK@9S!GZ*1JJzrV5xZBjOk z9!NTH<(q(S+MDf~ceQX@Dh|Ry<-sT4rhI$jQ0Sq~!`#Eo-%($2E^vo}is5J@NVEf|KK?WT&2;PCq@=ncR8z zO#GQ^T~S@VXG71PKNocFOt)Y6$@AXlk6rM*aP%VgV%sIRORYVwJx6|U{ozQjTW{-S z_si{9Jg#)~P3t?+@6&(!YQWWV*Z9{iU7vZq@5byKw{9lg9JnRA_4s!7?H6|n?o8ZW zdXIRo{Jz@#>IeD{>VLHUv1Pz*;P_y`V9&!@5AO~Mho1hF|I>%z(nrik)gwkDjgOrl z9~%uCz4Bzvli{bbrxVZ0epdf^>vOB;-~HnIOV3#R*zgPai_gEVd8zYq@2jb=I>#f& zAH2?aJ@Kaet1iC0 zXCbZ-LU7%#W)T)SHy9)V(x)G|`26LQ^WFsy0M2_%37Up60RX0in16N7x5J#*okUjs zWU??D@olHD7yuB6jq~0G`VRBtXi&sN(zmioah1?a^CGNH@s<8H>1%@4hGI&zeI!iS zY~Q)yFKX$_=$XwaMgYK=Qc3{ey(ft=CMEYQYelM1Uaw60y>_Yx@Ri8eC696@MN?+~D)Hj=VS-_U8-xy*@v{~M0NDTg=$yN`yTcgw-yQ(q z=KfFmMohcgTN(oZo6QCQo}ZrqV7q+}0EffV)zxt|-Se2;^$h?Vp7sE+yS;VZ6V2U+ zTL3uh_ZZX7Jut8B_0D;}e|RY4=WmSZ@U%z7O!M$Wd=V4Lu-R-J066Cm5mVwN(%!IT zJMTj%NAH}I-#>m#c{9T5>gpKQlM6mflROh?c1%C4CjbcRwF@Ck69a>D9ufIl@payZ z)x`2RMf#VT^IpNx&!2yQG+*yw04DW*Ar{TavRc-qWoWx-NtjZrc}iRftkuL?P-PW7 zOiJI#fQzEfB00T_igC|aEm}q844H&E)?7l1eo{+SzXt2VAm$S^*CSn6QPxI8-guMz~!g(9)0YGh zlR)&)F}`*uoCkogn$8^0f^yVYjqj+a3&vn$m`RJE5MxqsCih-!11_qWfxk0MGbw2s z3}}n=yMAD?oe!_)(;xVdt{6(DY$#&I0}}jGWu2q(fsnVNFZ@PtQwB&VY=Bb&=X>_h zTZ3&3wfa>7si1GCP*`CxMNJC}01=Z&;i}zoT~9X;$nlm7-Z^J_Sw&wHUjl{<2D2m` zkL|VSrUX1@pf<`kWz?^r)8NvBa_5|~_^u-}#cHDBCf`HESP%wd%n2kWj8QFy{Wqqh zoRk7ONnZ`q3y{!;F*)bLdK$z$?ZiCZ@|xB7`6o7F6P=_}%khs;AsC-P+j=&@Y*Z8( z)@wP@Bv={uuq5FD}YnpTGBVy5Twv1O9cxh7V1dZ z!brB)E;aJdf04T3i_EiWTyPiu2r_wM4V;wEFa~4B7mPW}z)p-C&4I-cEaeJ-FHnP7I`WjPP zUe*#Xan-p?ljST-ml}adp8#S~aW+sWKVQSh$>qC^a9Hn~0!}<0>4as;Xb?52a{r)d zWMJyt!{FUQs>y&HU#rvAM4_vTA-AT#nxs7Xe&Cl1iH0rCIk6n@+xG)!$mZ&tE>#7nScYru;!!RZ85iD@yZSH*bG@IU=U% z@{+!(zQQcI;=r9GVp}%M6`e+rh`x%x@>2s4j|18)`y@^|rR2*ah%)gMn%rGHL4#RylIAkNcxYS4y_0_?;=i+2X2TJ*5=AX$uouJ*7s1Y^<{Qt{FfLaOa$iN?xC&7-+pTXYF_4evtL4a!Ckr^7;9&-U}3&y zJ+Svw1!}DPy=$I){>~$&%7}Xl5Jr4SM%>%o?lYmz0>+Ky8N3<_&xh{>WaE+`XCwq< zZKR!9)d<>3 z`rcjNU`+Hz=;q@`qT`&)?~5KDh>i>4@vpyOelJ9CkR*K`@0{OW@8n!eY5(wmh(w>> zHElNUq&yA)>bF1zH}ZY(dJ5~Q_g;wmF{Th!h?w6OO;g!pkeJr5YeZ1 zP3rxUeNWtL|M&ZWGU4rhpqlb_KQNM~bp87MfK7UMKTxdYy!(MlBV{~eh%v!Z_DB-+^mt*EiuZ(M-U*Jzw_H^t}{Zt7(pW$Eu)qo}qX#0Ue siNVi00004XF*Lt006O% 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 siNVi00004XF*Lt006O% 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 SF--uvk-^i|&t;ucLK6TuUxz>d delta 256 zcmdnS@|k&p1SbnK0|Ud`yN`k1^9%xwokFI?=df|)hKDy$*oi=s@KY|Rx5AT z%PLc<=`<1K++7CL!CBxDSw}xI_m|geER`S_)o=*EtGclIenWxf#j$rU~^>bP0l+XkK?)zZ> diff --git a/src/main/resources/assets/createnuclear/textures/block/steel_block.png b/src/main/resources/assets/createnuclear/textures/block/steel_block.png index b5b85199baae5e1fe713a114ec47c5a6f4cfc011..9ebe3ae16efa55103589f1d867537e672297fef5 100644 GIT binary patch delta 587 zcmV-R0<`_H1=$3U8Gi-<001BJ|6u?C00DDSM?wIu&K&6g00I+9L_t(Ija8GuPGd0) zMURt|2Scd@V&Fj~;2VYyV1?MQu&u2vy4_zm=a|puc<%`zpsJ`UX2$yZIw1rARF$S__B1q5zLH~ z5+Q`*d%Ygsd(4a&BO(I8%gYOG+Y;8+)=*WhuCBPbxxvgz7v~(0kB@lod47H_#Q+Zv z4;&sI5;iwCQB`hlZ*k6%QsVXXm5+}P0Gg(uX&OX?loBGs(a{lR#`pI(4#3O`*SEJf z%&Z`3nx<$WB7Z9=s;VO70KE5z2>pH^5n+FSf0_GlO6YdGgb;Xte_s(XKO{5b`1rV-)pd=kQdQM5M?_dG z7G*ryGAa?_{{EgABdSVDsrYD-(6%ixM$XR8czSwTdCDoJG6@l3XJ@CxQ%cLf@b&dY zzu)Kj`b3(P65jiQA{Uw&cXxM18xg^KPp8vCE-x=Fr9@R#%x1F!HFwH%^6$*{^YcSW ZiT}dnXaY`rQa=Cy002ovPDHLkV1i694>JG& delta 676 zcmV;V0$csr1hEB>8Gix*005AYXf^-<0flKpLr_UWLm+T+Z)Rz1WdHyuk$sUpNW(xJ z#a~m4A5nNgNw7S4z7YA z_yOYV;H2mxCH^ldw21NGxF7HCJ?`ECLZiY|vnvXynq{QoF@G_eTNS%s5kvsJn8Sp` zOg)ia%)oPe-NVP%y9m$nKKJM7SMnwUd?Im_>4rtTK|Hf*>74h8L#!kz#OK8023?T& zk?XR{Z=8z`3p_JqWK#3QA!4!E!Ey()lA#h$6NeR5qkJLjvch?bvs$UK);;+PgL!Qw z&2^e1h+_!}B!3}7Mh#_DU?D=QMv93P?Z-U)!;U{mE}2|qFmf!Q3Kf#$2mgcL-I|4| zNjE7N0|GC${V@u3?*h%bZGRuzcJl=AKLb}<+h1(}v!A5b+gkVt7}y3buG^Zt2VCv| zLr=P7NRH&EDHIC8`x$*x4j8-z`qtduTKhPC05a6o@_!9*a0rYQDSO@H-94SX{d=a> z-wy=Za^dav&Yu7P010qNS#tmYE+YT{E+YYWr9XB6000McNliru=nMr4EF9!YoJ#-z z02y>eSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{004kVL_t(2&!v)~4g@g> zL}wE!YJV`8{{R1BFcl+uqMKcD**(ZrAsG4~?-*mC@&tgHMTD8X^trpLy1M{~2vsHd z5>VBMxPJgJ=lt$lYh88koumNRvqdDkLu;+J^b^lxfMk-VhO{Z9#B&DnJbzp%4TF0000< KMNUMnLSTY8JRlwb From fd9f55b701965b4914d6ebc393510ca8a4f86c3a Mon Sep 17 00:00:00 2001 From: mathi Date: Sat, 24 May 2025 15:44:31 +0200 Subject: [PATCH 36/40] debug fov when player on enriched campfire --- .../content/effects/RadiationEffect.java | 72 +++++++++++++++---- 1 file changed, 57 insertions(+), 15 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java b/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java index ce166122..3003a3d0 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java @@ -3,6 +3,7 @@ import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectCategory; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; import net.nuclearteam.createnuclear.CNEffects; import net.nuclearteam.createnuclear.CNTags; import net.nuclearteam.createnuclear.content.equipment.armor.AntiRadiationArmorItem; @@ -10,33 +11,74 @@ import net.minecraft.world.entity.ai.attributes.AttributeModifier; public class RadiationEffect extends MobEffect { + + /** + * Constructs the RadiationEffect with harmful category and color. + * Also applies attribute modifiers to reduce speed, attack damage, and attack speed. + */ public RadiationEffect() { + super(MobEffectCategory.HARMFUL, 15453236); // Custom color (hex value) + + // Reduces movement speed by 20% + this.addAttributeModifier(Attributes.MOVEMENT_SPEED, + "91AEAA56-376B-4498-935B-2F7F68070635", -0.2D, AttributeModifier.Operation.MULTIPLY_TOTAL); - super(MobEffectCategory.HARMFUL, 15453236); - this.addAttributeModifier(Attributes.ATTACK_DAMAGE, "648D7064-6A60-4F59-8ABE-C2C23A6DD7A9", -0.2D, AttributeModifier.Operation.MULTIPLY_TOTAL); - this.addAttributeModifier(Attributes.ATTACK_SPEED, "55FCED67-E92A-486E-9800-B47F202C4386", -0.2D, AttributeModifier.Operation.MULTIPLY_TOTAL); + // Reduces attack damage by 20% + this.addAttributeModifier(Attributes.ATTACK_DAMAGE, + "648D7064-6A60-4F59-8ABE-C2C23A6DD7A9", -0.2D, AttributeModifier.Operation.MULTIPLY_TOTAL); + + // Reduces attack speed by 20% + this.addAttributeModifier(Attributes.ATTACK_SPEED, + "55FCED67-E92A-486E-9800-B47F202C4386", -0.2D, AttributeModifier.Operation.MULTIPLY_TOTAL); } + /** + * Determines if the effect should be applied this tick. + * Returning true causes the effect to apply every tick. + * + * @param duration The remaining duration of the effect. + * @param amplifier The strength (level) of the effect. + * @return true if the effect should apply on this tick. + */ @Override public boolean isDurationEffectTick(int duration, int amplifier) { return true; } /** - * If the player wears the anti_radiation_suit armor then he does not take damage + * Applies the radiation effect to the entity. + * - Does nothing if the entity is immune via tag. + * - Skips damage if the entity wears any anti-radiation armor. + * - Otherwise, applies magic damage based on the amplifier. + * + * @param livingEntity The affected living entity. + * @param amplifier The strength (level) of the effect. */ @Override public void applyEffectTick(LivingEntity livingEntity, int amplifier) { - livingEntity.getArmorSlots().forEach(e -> { - if (livingEntity.hasEffect(CNEffects.RADIATION.get()) && AntiRadiationArmorItem.Armor.isArmored2(e)) { - livingEntity.hurt(livingEntity.damageSources().magic(), 0); - } - else if (livingEntity.getType().is(CNTags.CNEntityTags.IRRADIATED_IMMUNE.tag)) { - livingEntity.removeEffect(this); - } - else { - livingEntity.hurt(livingEntity.damageSources().magic(), 1 << amplifier); + // If the entity is immune to radiation, remove the effect + if (livingEntity.getType().is(CNTags.CNEntityTags.IRRADIATED_IMMUNE.tag)) { + livingEntity.removeEffect(this); + return; + } + + // Check if the entity is wearing any anti-radiation armor + boolean isWearingAntiRadiationArmor = false; + for (ItemStack armor : livingEntity.getArmorSlots()) { + if (AntiRadiationArmorItem.Armor.isArmored(armor)) { + isWearingAntiRadiationArmor = true; + break; } - }); + } + + // If protected by armor, do not apply damage + if (isWearingAntiRadiationArmor) { + return; + + } + + // Apply radiation damage (magic type), scaled by amplifier + int damage = 1 << amplifier; + livingEntity.hurt(livingEntity.damageSources().magic(), damage); } -} +} \ No newline at end of file From df41c729b89bbf7adb3b5a50a98d7e036f0ec551 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sat, 24 May 2025 15:45:16 +0200 Subject: [PATCH 37/40] Refactor reactor multiblock state checks to use a dedicated predicate method --- .../content/multiblock/CNMultiblock.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/CNMultiblock.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/CNMultiblock.java index e83f1683..e0dd7b60 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/CNMultiblock.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/CNMultiblock.java @@ -1,10 +1,15 @@ package net.nuclearteam.createnuclear.content.multiblock; import lib.multiblock.SimpleMultiBlockAislePatternBuilder; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.pattern.BlockInWorld; import net.nuclearteam.createnuclear.CNBlocks; import net.nuclearteam.createnuclear.api.multiblock.MultiBlockManagerBeta; import net.nuclearteam.createnuclear.api.multiblock.TypeMultiblock; +import java.util.function.Predicate; + public class CNMultiblock { public static final MultiBlockManagerBeta REGISTRATE_MULTIBLOCK = new MultiBlockManagerBeta<>(); public static final String AAAAA = "AAAAA"; @@ -26,14 +31,21 @@ public class CNMultiblock { .aisle(AABAA, ADADA, BACAB, ADADA, AABAA) .aisle(AABAA, ADADA, BACAB, ADADA, AABAA) .aisle(AAAAA, AAAAA, AAAAA, AAAAA, AAOAA) - .where('A', a -> a.getState().is(CNBlocks.REACTOR_CASING.get())) - .where('B', a -> a.getState().is(CNBlocks.REACTOR_FRAME.get())) - .where('C', a -> a.getState().is(CNBlocks.REACTOR_CORE.get())) - .where('D', a -> a.getState().is(CNBlocks.REACTOR_COOLER.get())) - .where('*', a -> a.getState().is(CNBlocks.REACTOR_CONTROLLER.get())) - .where('O', a -> a.getState().is(CNBlocks.REACTOR_OUTPUT.get())) - .where('I', a -> a.getState().is(CNBlocks.REACTOR_INPUT.get())) + .where('A', stateIs(CNBlocks.REACTOR_CASING.get())) + .where('B', stateIs(CNBlocks.REACTOR_FRAME.get())) + .where('C', stateIs(CNBlocks.REACTOR_CORE.get())) + .where('D', stateIs(CNBlocks.REACTOR_COOLER.get())) + .where('*', stateIs(CNBlocks.REACTOR_CONTROLLER.get())) + .where('O', stateIs(CNBlocks.REACTOR_OUTPUT.get())) + .where('I', stateIs(CNBlocks.REACTOR_INPUT.get())) .build() ); } + + private static Predicate stateIs(Block block) { + return a -> { + BlockState state = a.getState(); + return state != null && state.is(block); + }; + } } From f9a6f3696d6e1f363dae196d7fa7b5b35faff5e1 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sat, 24 May 2025 17:27:10 +0200 Subject: [PATCH 38/40] Refactor and optimize various classes in the CreateNuclear mod - Added @SuppressWarnings and @ParametersAreNonnullByDefault annotations to several classes for better code clarity. - Renamed variables for consistency and clarity in ClothItem and ReactorBluePrintItem. - Simplified conditional checks in CNFanProcessingTypes and ReactorControllerBlock. - Removed unused ReactorOption enum and cleaned up ReactorCasingEntity. - Improved overlay rendering logic in CNClientEvent and added new IrradiatedOverlayRendererVision class. - Commented out unused RadiationOverlay in HudRenderer. - Enhanced readability by reducing nested conditions and using early returns where applicable. --- .../3c9854c256b4d84dd9b4b92d1a03ceb45298124f | 10 +- .../assets/createnuclear/lang/en_ud.json | 2 +- .../assets/createnuclear/lang/en_us.json | 2 +- .../data/forge/tags/blocks/ores/lead.json | 6 + .../data/forge/tags/blocks/ores/uranium.json | 6 + .../data/forge/tags/items/ores/lead.json | 6 + .../data/forge/tags/items/ores/uranium.json | 6 + .../nuclearteam/createnuclear/CNBlocks.java | 668 +++++++++--------- .../createnuclear/CNCreativeModeTabs.java | 20 +- .../createnuclear/CNDamageTypes.java | 1 + .../nuclearteam/createnuclear/CNFluids.java | 44 +- .../nuclearteam/createnuclear/CNItems.java | 147 ++-- .../nuclearteam/createnuclear/CNPotions.java | 21 +- .../createnuclear/CNRecipeTypes.java | 13 +- .../nuclearteam/createnuclear/CNShapes.java | 1 + .../net/nuclearteam/createnuclear/CNTags.java | 70 +- .../createnuclear/CreateNuclear.java | 1 - .../createnuclear/CreateNuclearClient.java | 4 +- .../api/multiblock/MultiBlockManagerBeta.java | 1 - .../compat/jei/CreateNuclearJEI.java | 4 +- .../jei/category/FanEnrichedCategory.java | 5 + .../irradiated/cat/CatLieOnBedGoal.java | 2 + .../irradiated/cat/CatSitOnBlockGoal.java | 5 +- .../irradiated/cat/IrradiatedCat.java | 42 +- .../cat/IrradiatedCatCollarLayer.java | 10 +- .../irradiated/cat/IrradiatedCatModel.java | 8 +- .../irradiated/cat/IrradiatedCatRenderer.java | 4 + .../irradiated/chicken/IrradiatedChicken.java | 6 + .../chicken/IrradiatedChickenModel.java | 2 + .../chicken/IrradiatedChickenRenderer.java | 5 + .../contraptions/irradiated/wolf/BegGoal.java | 6 +- .../wolf/IrradiatedWoldCollarLayer.java | 8 +- .../irradiated/wolf/IrradiatedWolf.java | 76 +- .../irradiated/wolf/IrradiatedWolfModel.java | 10 +- .../wolf/IrradiatedWolfRenderer.java | 8 +- .../palettes/CNPaletteStoneTypes.java | 5 +- .../palettes/PaletteBlockPartial.java | 32 +- .../palettes/PaletteBlockPattern.java | 7 +- .../content/effects/RadiationEffect.java | 1 - .../campfire/EnrichingCampfireBlock.java | 39 +- .../EnrichingCampfireBlockEntity.java | 1 + .../enriching/fire/EnrichingFireBlock.java | 7 +- .../armor/AntiRadiationArmorItem.java | 47 +- .../content/equipment/cloth/ClothItem.java | 21 +- .../fan/processing/CNFanProcessingTypes.java | 11 +- .../fan/processing/EnrichedRecipe.java | 2 - .../bluePrintItem/ReactorBluePrintItem.java | 13 +- .../ReactorBluePrintItemPacket.java | 1 + .../ReactorBluePrintItemScreen.java | 5 +- .../bluePrintItem/ReactorBluePrintMenu.java | 6 +- .../multiblock/casing/ReactorCasing.java | 7 +- .../casing/ReactorCasingEntity.java | 2 - .../controller/EventTriggerPacket.java | 4 +- .../controller/ReactorControllerBlock.java | 17 +- .../ReactorControllerBlockEntity.java | 30 +- .../ReactorControllerInventory.java | 2 + .../multiblock/controller/ReactorOption.java | 12 - .../multiblock/core/ReactorCoreEntity.java | 1 + .../content/uraniumOre/UraniumOreBlock.java | 6 + .../foundation/advancement/CNAdvancement.java | 7 +- .../advancement/CreateNuclearAdvancement.java | 17 +- .../foundation/block/EventTriggerBlock.java | 5 +- .../HorizontalDirectionalReactorBlock.java | 5 +- .../data/recipe/CNStandardRecipeGen.java | 8 +- .../foundation/events/CNClientEvent.java | 5 + .../foundation/events/HudRenderer.java | 2 +- .../events/overlay/EventTextOverlay.java | 2 +- .../foundation/events/overlay/HudOverlay.java | 1 - .../IrradiatedOverlayRendererVision.java | 50 ++ 69 files changed, 836 insertions(+), 775 deletions(-) create mode 100644 src/generated/resources/data/forge/tags/blocks/ores/lead.json create mode 100644 src/generated/resources/data/forge/tags/blocks/ores/uranium.json create mode 100644 src/generated/resources/data/forge/tags/items/ores/lead.json create mode 100644 src/generated/resources/data/forge/tags/items/ores/uranium.json delete mode 100644 src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorOption.java create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/IrradiatedOverlayRendererVision.java diff --git a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f index 5864f1de..1f148f4f 100644 --- a/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f +++ b/src/generated/resources/.cache/3c9854c256b4d84dd9b4b92d1a03ceb45298124f @@ -1,4 +1,4 @@ -// 1.20.1 2025-05-08T16:29:37.4855719 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-05-24T17:17:58.5625935 Registrate Provider for createnuclear [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 0b2c76c9cff305eacfdfb57c4b703f94ca6dc903 assets/createnuclear/blockstates/autunite.json 5d06bc544bcbeb7443178d66955bb5101cf696da assets/createnuclear/blockstates/autunite_pillar.json 5b375444ac5057e63776f4991589c57824574b4a assets/createnuclear/blockstates/cut_autunite.json @@ -38,8 +38,8 @@ a2fc21fa320e677fe7690b260ee3f57ebdbd50b6 assets/createnuclear/blockstates/small_ 57c846a957e9250bc45f2f1091bf3f78b2a77344 assets/createnuclear/blockstates/steel_block.json de2884054a21315d8b167f64b206be331d388420 assets/createnuclear/blockstates/uranium.json 4557f548df100ae1d05e3b5711797225f6a39673 assets/createnuclear/blockstates/uranium_ore.json -9c364bda9dbb1df8b9a3d2835865ef721295db8a assets/createnuclear/lang/en_ud.json -0a2f2ebc6b3e5af875eeb8fb9d95da6ce5eadc33 assets/createnuclear/lang/en_us.json +a88689839af8cd0e82f47f4b8bef5ed383c11782 assets/createnuclear/lang/en_ud.json +b158b3d709a4465d8cebf293d764bca67db94078 assets/createnuclear/lang/en_us.json a8495d2cd5e38213683becaf1c84b2852f8b06f5 assets/createnuclear/models/block/autunite_natural_0.json 29394a22ee8655dc22ea51563411505fbcfd2dab assets/createnuclear/models/block/autunite_natural_1.json 9e4f83de1ca7a9ab5363f43fc7c3f7f4ec6164d5 assets/createnuclear/models/block/autunite_natural_2.json @@ -350,6 +350,8 @@ bad88bea18fec41c7ad6fa4d396feacc0346a137 data/createnuclear/tags/items/uranium_o d8d6ad7a4fc31fd68a98b368207c359fb610f417 data/create/tags/blocks/safe_nbt.json 75f0600da4891d0f4a3329fb44cac6c4945a0b49 data/forge/tags/blocks/glass.json 38aa0fddd24ec7dde10f1e2804328660a2019ac8 data/forge/tags/blocks/ores.json +925cb97bc13b3122fe17e59ff3ec2fe4d1eaacd5 data/forge/tags/blocks/ores/lead.json +bad88bea18fec41c7ad6fa4d396feacc0346a137 data/forge/tags/blocks/ores/uranium.json dec8291df390fe12bd034da156c39432cccef0d4 data/forge/tags/blocks/ores_in_ground/deepslate.json f36fa9b8ea20e21fd4a452ea0ec7ce557acd3ac2 data/forge/tags/blocks/ores_in_ground/stone.json a7258ae3454252e874b324fbd81b880ce52759c4 data/forge/tags/blocks/storage_blocks/lead.json @@ -372,6 +374,8 @@ bebad856ee0f047735060f28544eb6149d8c2b20 data/forge/tags/items/leggings.json 3245aa72f5bb5f83632ab05f449e8a2d576ac386 data/forge/tags/items/nuggets.json 41ff866ec94383906342a0d1594554e3063b9d0f data/forge/tags/items/nuggets/lead.json 1ec402fda0c91947be220066973f79f3e522663f data/forge/tags/items/nuggets/steel.json +925cb97bc13b3122fe17e59ff3ec2fe4d1eaacd5 data/forge/tags/items/ores/lead.json +bad88bea18fec41c7ad6fa4d396feacc0346a137 data/forge/tags/items/ores/uranium.json cdebf2b4eabcf71ee4566b7fbf22f18990a4e06b data/forge/tags/items/raw_materials.json 610ed700de0886bcb4b1c90100c35f3034c53940 data/forge/tags/items/raw_materials/lead.json 03a88f0d9f44d3c338b82bf92b22a14dec490bef data/forge/tags/items/raw_materials/uranium.json diff --git a/src/generated/resources/assets/createnuclear/lang/en_ud.json b/src/generated/resources/assets/createnuclear/lang/en_ud.json index 6fe2231a..809e491d 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_ud.json +++ b/src/generated/resources/assets/createnuclear/lang/en_ud.json @@ -241,7 +241,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "uoıʇɐıpɐᴚ ɟo ʍoɹɹⱯ", "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "uoıʇɐıpɐᴚ ɟo ʍoɹɹⱯ", "itemGroup.createnuclear.main": "ɹɐǝןɔnN ǝʇɐǝɹƆ", - "overlay.event_message": "ɹǝɯıʇ %s  šâ buıuɹɐM  šâ", + "overlay.event_message": "ɹǝɯıʇ %s ⚠ buıuɹɐM ⚠", "reactor.info.assembled.creator": "pǝןqɯǝssɐ uǝǝq sɐɥ ɹoʇɔɐǝᴚ", "reactor.info.assembled.destroyer": "pǝןqɯǝssɐsıp uǝǝq sɐɥ ɹoʇɔɐǝᴚ", "reactor.info.assembled.none": "pǝןqɯǝssɐ ʇou ʞɔoןqıʇןnW", diff --git a/src/generated/resources/assets/createnuclear/lang/en_us.json b/src/generated/resources/assets/createnuclear/lang/en_us.json index 3a055166..68d32f19 100644 --- a/src/generated/resources/assets/createnuclear/lang/en_us.json +++ b/src/generated/resources/assets/createnuclear/lang/en_us.json @@ -241,7 +241,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Arrow of Radiation", "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", - "overlay.event_message": "âš  Warning âš  %s timer", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Multiblock not assembled", diff --git a/src/generated/resources/data/forge/tags/blocks/ores/lead.json b/src/generated/resources/data/forge/tags/blocks/ores/lead.json new file mode 100644 index 00000000..e456059a --- /dev/null +++ b/src/generated/resources/data/forge/tags/blocks/ores/lead.json @@ -0,0 +1,6 @@ +{ + "values": [ + "createnuclear:deepslate_lead_ore", + "createnuclear:lead_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/blocks/ores/uranium.json b/src/generated/resources/data/forge/tags/blocks/ores/uranium.json new file mode 100644 index 00000000..548841c4 --- /dev/null +++ b/src/generated/resources/data/forge/tags/blocks/ores/uranium.json @@ -0,0 +1,6 @@ +{ + "values": [ + "createnuclear:deepslate_uranium_ore", + "createnuclear:uranium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/ores/lead.json b/src/generated/resources/data/forge/tags/items/ores/lead.json new file mode 100644 index 00000000..e456059a --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/ores/lead.json @@ -0,0 +1,6 @@ +{ + "values": [ + "createnuclear:deepslate_lead_ore", + "createnuclear:lead_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/ores/uranium.json b/src/generated/resources/data/forge/tags/items/ores/uranium.json new file mode 100644 index 00000000..548841c4 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/ores/uranium.json @@ -0,0 +1,6 @@ +{ + "values": [ + "createnuclear:deepslate_uranium_ore", + "createnuclear:uranium_ore" + ] +} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java index 5d602e63..492d005b 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNBlocks.java @@ -6,7 +6,6 @@ import com.simibubi.create.foundation.data.AssetLookup; import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.data.SharedProperties; -import com.simibubi.create.infrastructure.config.CStress; import com.tterrag.registrate.providers.loot.RegistrateBlockLootTables; import com.tterrag.registrate.util.entry.BlockEntry; import net.minecraft.client.renderer.RenderType; @@ -26,10 +25,12 @@ import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; import net.minecraftforge.client.model.generators.ConfiguredModel; import net.minecraftforge.client.model.generators.ModelFile; +import net.minecraftforge.common.Tags; import net.nuclearteam.createnuclear.content.enriching.campfire.EnrichingCampfireBlock; import net.nuclearteam.createnuclear.content.enriching.fire.EnrichingFireBlock; import net.nuclearteam.createnuclear.content.multiblock.casing.ReactorCasing; import net.nuclearteam.createnuclear.CNTags.CNBlockTags; +import net.nuclearteam.createnuclear.CNTags.CNItemTags; import net.nuclearteam.createnuclear.content.multiblock.controller.ReactorControllerBlock; import net.nuclearteam.createnuclear.content.multiblock.controller.ReactorControllerGenerator; import net.nuclearteam.createnuclear.content.multiblock.core.ReactorCore; @@ -42,388 +43,391 @@ import net.nuclearteam.createnuclear.content.multiblock.reactorCooler.ReactorCooler; import net.nuclearteam.createnuclear.content.multiblock.reinforced.ReinforcedGlassBlock; import net.nuclearteam.createnuclear.content.uraniumOre.UraniumOreBlock; -import net.nuclearteam.createnuclear.foundation.block.EventTriggerBlock; import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity; import static com.simibubi.create.foundation.data.ModelGen.customItemModel; import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe; import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; - public class CNBlocks { public static final BlockEntry REACTOR_CASING = - CreateNuclear.REGISTRATE.block("reactor_casing", properties -> new ReactorCasing(properties, ReactorCasing.TypeBlock.CASING)) - .properties(p -> p.explosionResistance(3F) - .destroyTime(4F)) - .blockstate((c,p) -> - p.getVariantBuilder(c.getEntry()).forAllStates((state) -> ConfiguredModel.builder() - .modelFile(p.models().getExistingFile(p.modLoc("block/reactor/casing/block"))) - .build())) - .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(CNSpriteShifts.REACTOR_CASING))) - .onRegister(casingConnectivity((block,cc) -> cc.makeCasing(block, CNSpriteShifts.REACTOR_CASING))) - .tag(CNBlockTags.NEEDS_DIAMOND_TOOL.tag) - .simpleItem() - .transform(pickaxeOnly()) - .register(); + CreateNuclear.REGISTRATE.block("reactor_casing", properties -> new ReactorCasing(properties, ReactorCasing.TypeBlock.CASING)) + .properties(p -> p.explosionResistance(3F) + .destroyTime(4F)) + .blockstate((c,p) -> + p.getVariantBuilder(c.getEntry()).forAllStates((state) -> ConfiguredModel.builder() + .modelFile(p.models().getExistingFile(p.modLoc("block/reactor/casing/block"))) + .build())) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(CNSpriteShifts.REACTOR_CASING))) + .onRegister(casingConnectivity((block,cc) -> cc.makeCasing(block, CNSpriteShifts.REACTOR_CASING))) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .simpleItem() + .transform(pickaxeOnly()) + .register(); public static final BlockEntry REACTOR_CORE = - CreateNuclear.REGISTRATE.block("reactor_core", ReactorCore::new) - .properties(p -> p.explosionResistance(6F)) - .properties(p -> p.destroyTime(4F)) - .tag(CNBlockTags.NEEDS_DIAMOND_TOOL.tag) - .blockstate((c, p) -> - p.getVariantBuilder(c.getEntry()) - .forAllStates(state -> ConfiguredModel.builder() - .modelFile(p.models().getExistingFile(p.modLoc("block/reactor/core/block"))) - .uvLock(false) - .build() - ) + CreateNuclear.REGISTRATE.block("reactor_core", ReactorCore::new) + .properties(p -> p.explosionResistance(6F)) + .properties(p -> p.destroyTime(4F)) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .blockstate((c, p) -> + p.getVariantBuilder(c.getEntry()) + .forAllStates(state -> ConfiguredModel.builder() + .modelFile(p.models().getExistingFile(p.modLoc("block/reactor/core/block"))) + .uvLock(false) + .build() ) - .transform(pickaxeOnly()) - .simpleItem() - .register(); + ) + .transform(pickaxeOnly()) + .simpleItem() + .register(); public static final BlockEntry REACTOR_FRAME = - CreateNuclear.REGISTRATE.block("reactor_frame", ReactorFrame::new) - .initialProperties(SharedProperties::stone) - .properties(p -> p.explosionResistance(3F).destroyTime(2F)) - .addLayer(() -> RenderType::cutoutMipped) - .transform(pickaxeOnly()) - .tag(CNBlockTags.NEEDS_DIAMOND_TOOL.tag) - .blockstate((c, p) -> - p.getVariantBuilder(c.getEntry()) - .forAllStatesExcept(state -> { - ReactorFrame.Part part = state.getValue(ReactorFrame.PART); - String baseFile = "block/reactor/frame/frame_"; - ModelFile start = p.models().getExistingFile(p.modLoc(baseFile + "top")); - ModelFile middle = p.models().getExistingFile(p.modLoc(baseFile + "middle")); - ModelFile bottom = p.models().getExistingFile(p.modLoc(baseFile + "bottom")); - ModelFile none = p.models().getExistingFile(p.modLoc(baseFile + "none")); - return ConfiguredModel.builder().modelFile(switch (part) { - case START -> start; - case MIDDLE -> middle; - case END -> bottom; - default -> none; - }) - .uvLock(false) - .build(); - }) - ) - .item(ReactorframeItem::new) - .model(AssetLookup.customBlockItemModel("reactor", "frame", "item")) - .build() - .register(); + CreateNuclear.REGISTRATE.block("reactor_frame", ReactorFrame::new) + .initialProperties(SharedProperties::stone) + .properties(p -> p.explosionResistance(3F).destroyTime(2F)) + .addLayer(() -> RenderType::cutoutMipped) + .transform(pickaxeOnly()) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .blockstate((c, p) -> + p.getVariantBuilder(c.getEntry()) + .forAllStatesExcept(state -> { + ReactorFrame.Part part = state.getValue(ReactorFrame.PART); + String baseFile = "block/reactor/frame/frame_"; + ModelFile start = p.models().getExistingFile(p.modLoc(baseFile + "top")); + ModelFile middle = p.models().getExistingFile(p.modLoc(baseFile + "middle")); + ModelFile bottom = p.models().getExistingFile(p.modLoc(baseFile + "bottom")); + ModelFile none = p.models().getExistingFile(p.modLoc(baseFile + "none")); + return ConfiguredModel.builder().modelFile(switch (part) { + case START -> start; + case MIDDLE -> middle; + case END -> bottom; + default -> none; + }) + .uvLock(false) + .build(); + }) + ) + .item(ReactorframeItem::new) + .model(AssetLookup.customBlockItemModel("reactor", "frame", "item")) + .build() + .register(); public static final BlockEntry REACTOR_COOLER = - CreateNuclear.REGISTRATE.block("reactor_cooler", ReactorCooler::new) - .properties(p -> p.explosionResistance(3F) - .destroyTime(4F)) - .blockstate((c,p) -> - p.getVariantBuilder(c.getEntry()).forAllStates((state) -> ConfiguredModel.builder() - .modelFile(p.models().getExistingFile(p.modLoc("block/reactor/cooler/block"))) - .build())) - .tag(CNBlockTags.NEEDS_DIAMOND_TOOL.tag) - .simpleItem() - .transform(pickaxeOnly()) - .register(); + CreateNuclear.REGISTRATE.block("reactor_cooler", ReactorCooler::new) + .properties(p -> p.explosionResistance(3F) + .destroyTime(4F)) + .blockstate((c,p) -> + p.getVariantBuilder(c.getEntry()).forAllStates((state) -> ConfiguredModel.builder() + .modelFile(p.models().getExistingFile(p.modLoc("block/reactor/cooler/block"))) + .build())) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .simpleItem() + .transform(pickaxeOnly()) + .register(); public static final BlockEntry REACTOR_INPUT = - CreateNuclear.REGISTRATE.block("reactor_input", ReactorInput::new) - .initialProperties(SharedProperties::stone) - .properties(p -> p.explosionResistance(6F)) - .properties(p -> p.destroyTime(2F)) - .addLayer(() -> RenderType::cutoutMipped) - .transform(pickaxeOnly()) - .tag(CNBlockTags.NEEDS_DIAMOND_TOOL.tag) - .blockstate(new ReactorInputGenerator()::generate) - .item() - .transform(customItemModel("reactor", "input", "item")) - .register(); + CreateNuclear.REGISTRATE.block("reactor_input", ReactorInput::new) + .initialProperties(SharedProperties::stone) + .properties(p -> p.explosionResistance(6F)) + .properties(p -> p.destroyTime(2F)) + .addLayer(() -> RenderType::cutoutMipped) + .transform(pickaxeOnly()) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .blockstate(new ReactorInputGenerator()::generate) + .item() + .transform(customItemModel("reactor", "input", "item")) + .register(); public static final BlockEntry REACTOR_OUTPUT = - CreateNuclear.REGISTRATE.block("reactor_output", ReactorOutput::new) - .properties(p -> p.explosionResistance(6F).destroyTime(4F)) - .initialProperties(SharedProperties::stone) - .properties(p -> p.mapColor(MapColor.COLOR_PURPLE).forceSolidOn()) - .tag(AllTags.AllBlockTags.SAFE_NBT.tag, CNBlockTags.NEEDS_DIAMOND_TOOL.tag) - .transform(pickaxeOnly()) - .blockstate(new ReactorOutputGenerator()::generate) - .onRegister(block -> BlockStressValues.CAPACITIES.register(block, () -> 10240.0)) - .item() - .transform(customItemModel("reactor", "output", "item")) - .register(); + CreateNuclear.REGISTRATE.block("reactor_output", ReactorOutput::new) + .properties(p -> p.explosionResistance(6F).destroyTime(4F)) + .initialProperties(SharedProperties::stone) + .properties(p -> p.mapColor(MapColor.COLOR_PURPLE).forceSolidOn()) + .tag(AllTags.AllBlockTags.SAFE_NBT.tag, BlockTags.NEEDS_DIAMOND_TOOL) + .transform(pickaxeOnly()) + .blockstate(new ReactorOutputGenerator()::generate) + .onRegister(block -> BlockStressValues.CAPACITIES.register(block, () -> 10240.0)) + .item() + .transform(customItemModel("reactor", "output", "item")) + .register(); public static final BlockEntry REACTOR_CONTROLLER = - CreateNuclear.REGISTRATE.block("reactor_controller", ReactorControllerBlock::new) - .initialProperties(SharedProperties::stone) - .properties(p -> p.explosionResistance(6F)) - .properties(p -> p.destroyTime(4F)) - .transform(pickaxeOnly()) - .tag(BlockTags.NEEDS_DIAMOND_TOOL) - .blockstate(new ReactorControllerGenerator()::generate) - .item() - .transform(customItemModel("reactor", "controller", "item")) - .register(); + CreateNuclear.REGISTRATE.block("reactor_controller", ReactorControllerBlock::new) + .initialProperties(SharedProperties::stone) + .properties(p -> p.explosionResistance(6F)) + .properties(p -> p.destroyTime(4F)) + .transform(pickaxeOnly()) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .blockstate(new ReactorControllerGenerator()::generate) + .item() + .transform(customItemModel("reactor", "controller", "item")) + .register(); public static final BlockEntry REINFORCED_GLASS = CreateNuclear.REGISTRATE - .block("reinforced_glass", ReinforcedGlassBlock::new) - .initialProperties(() -> Blocks.GLASS) - .properties(p -> p.explosionResistance(7.0F).destroyTime(2F)) - .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(CNSpriteShifts.REACTOR_GLASS))) - .onRegister(casingConnectivity((block,cc) -> cc.makeCasing(block, CNSpriteShifts.REACTOR_GLASS))) - .loot(RegistrateBlockLootTables::dropWhenSilkTouch) - .tag(CNTags.forgeBlockTag("glass"), BlockTags.IMPERMEABLE) - .blockstate((c, p) -> p.getVariantBuilder(c.getEntry()) - .forAllStates(state -> ConfiguredModel.builder().modelFile(p.models() - .withExistingParent("reinforced_glass",new ResourceLocation("block/cube_all")) - .texture("all", p.modLoc("block/reactor/reinforced/glass")) - .texture("particle", p.modLoc("block/reactor/reinforced/glass")) - ) - .build()) + .block("reinforced_glass", ReinforcedGlassBlock::new) + .initialProperties(() -> Blocks.GLASS) + .properties(p -> p.explosionResistance(7.0F).destroyTime(2F)) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(CNSpriteShifts.REACTOR_GLASS))) + .onRegister(casingConnectivity((block,cc) -> cc.makeCasing(block, CNSpriteShifts.REACTOR_GLASS))) + .loot(RegistrateBlockLootTables::dropWhenSilkTouch) + .tag(CNTags.forgeBlockTag("glass"), BlockTags.IMPERMEABLE) + .blockstate((c, p) -> p.getVariantBuilder(c.getEntry()) + .forAllStates(state -> ConfiguredModel.builder().modelFile(p.models() + .withExistingParent("reinforced_glass",new ResourceLocation("block/cube_all")) + .texture("all", p.modLoc("block/reactor/reinforced/glass")) + .texture("particle", p.modLoc("block/reactor/reinforced/glass")) ) - .addLayer(() -> RenderType::translucent) - .item() - .tag(CNTags.forgeItemTag("glass")) - .build() - .register(); + .build()) + ) + .addLayer(() -> RenderType::translucent) + .item() + .tag(CNTags.forgeItemTag("glass")) + .build() + .register(); public static final BlockEntry ENRICHING_FIRE = - CreateNuclear.REGISTRATE.block("enriching_fire", properties -> new EnrichingFireBlock(properties, 3.0f)) - .initialProperties(() -> Blocks.FIRE) - .properties(Properties::replaceable) - .properties(Properties::noCollission) - .properties(Properties::noOcclusion) - .properties(EnrichingFireBlock.getLight()) - .tag(CNBlockTags.FAN_PROCESSING_CATALYSTS_ENRICHED.tag) - .loot((lt, b) -> lt.add(b, BlockLootSubProvider.noDrop())) - .addLayer(() -> RenderType::cutout) - .blockstate((c, p) -> { - String baseFolder = "block/enriching/fire/"; - ModelFile Floor0 = p.models().getExistingFile(p.modLoc(baseFolder + "floor0")); - ModelFile Floor1 = p.models().getExistingFile(p.modLoc(baseFolder + "floor1")); - ModelFile Side0 = p.models().getExistingFile(p.modLoc(baseFolder + "side0")); - ModelFile Side1 = p.models().getExistingFile(p.modLoc(baseFolder + "side1")); - ModelFile SideAlt0 = p.models().getExistingFile(p.modLoc(baseFolder + "side_alt0")); - ModelFile SideAlt1 = p.models().getExistingFile(p.modLoc(baseFolder + "side_alt1")); + CreateNuclear.REGISTRATE.block("enriching_fire", properties -> new EnrichingFireBlock(properties, 3.0f)) + .initialProperties(() -> Blocks.FIRE) + .properties(Properties::replaceable) + .properties(Properties::noCollission) + .properties(Properties::noOcclusion) + .properties(EnrichingFireBlock.getLight()) + .tag(CNBlockTags.FAN_PROCESSING_CATALYSTS_ENRICHED.tag) + .loot((lt, b) -> lt.add(b, BlockLootSubProvider.noDrop())) + .addLayer(() -> RenderType::cutout) + .blockstate((c, p) -> { + String baseFolder = "block/enriching/fire/"; + ModelFile Floor0 = p.models().getExistingFile(p.modLoc(baseFolder + "floor0")); + ModelFile Floor1 = p.models().getExistingFile(p.modLoc(baseFolder + "floor1")); + ModelFile Side0 = p.models().getExistingFile(p.modLoc(baseFolder + "side0")); + ModelFile Side1 = p.models().getExistingFile(p.modLoc(baseFolder + "side1")); + ModelFile SideAlt0 = p.models().getExistingFile(p.modLoc(baseFolder + "side_alt0")); + ModelFile SideAlt1 = p.models().getExistingFile(p.modLoc(baseFolder + "side_alt1")); - p.getMultipartBuilder(c.get()) - .part() - .modelFile(Floor0) - .nextModel() - .modelFile(Floor1) - .addModel() - .end() - .part() - .modelFile(Side0) - .nextModel() - .modelFile(Side1) - .nextModel() - .modelFile(SideAlt0) - .nextModel() - .modelFile(SideAlt1) - .addModel() - .end() - .part() - .modelFile(Side0).rotationY(90).nextModel() - .modelFile(Side1).rotationY(90).nextModel() - .modelFile(SideAlt0).rotationY(90).nextModel() - .modelFile(SideAlt1).rotationY(90) - .addModel() - .end() - .part() - .modelFile(Side0).rotationY(180).nextModel() - .modelFile(Side1).rotationY(180).nextModel() - .modelFile(SideAlt0).rotationY(180).nextModel() - .modelFile(SideAlt1).rotationY(180) - .addModel() - .end() - .part() - .modelFile(Side0).rotationY(270).nextModel() - .modelFile(Side1).rotationY(270).nextModel() - .modelFile(SideAlt0).rotationY(270).nextModel() - .modelFile(SideAlt1).rotationY(270) - .addModel() - .end(); - }) - .register() - ; + p.getMultipartBuilder(c.get()) + .part() + .modelFile(Floor0) + .nextModel() + .modelFile(Floor1) + .addModel() + .end() + .part() + .modelFile(Side0) + .nextModel() + .modelFile(Side1) + .nextModel() + .modelFile(SideAlt0) + .nextModel() + .modelFile(SideAlt1) + .addModel() + .end() + .part() + .modelFile(Side0).rotationY(90).nextModel() + .modelFile(Side1).rotationY(90).nextModel() + .modelFile(SideAlt0).rotationY(90).nextModel() + .modelFile(SideAlt1).rotationY(90) + .addModel() + .end() + .part() + .modelFile(Side0).rotationY(180).nextModel() + .modelFile(Side1).rotationY(180).nextModel() + .modelFile(SideAlt0).rotationY(180).nextModel() + .modelFile(SideAlt1).rotationY(180) + .addModel() + .end() + .part() + .modelFile(Side0).rotationY(270).nextModel() + .modelFile(Side1).rotationY(270).nextModel() + .modelFile(SideAlt0).rotationY(270).nextModel() + .modelFile(SideAlt1).rotationY(270) + .addModel() + .end(); + }) + .register() + ; public static final BlockEntry ENRICHING_CAMPFIRE = - CreateNuclear.REGISTRATE.block("enriching_campfire", properties -> new EnrichingCampfireBlock(properties, true, 5)) - .properties(p -> p.mapColor(MapColor.PODZOL)) - .properties(p -> p.instrument(NoteBlockInstrument.BASS)) - .properties(p -> p.strength(2.0F)) - .properties(p -> p.sound(SoundType.WOOD)) - .properties(p -> p.lightLevel(EnrichingCampfireBlock::getLight)) - .properties(Properties::noOcclusion) - .properties(Properties::ignitedByLava) - //.properties(Properties::replaceable) - .addLayer(() -> RenderType::cutoutMipped) - .transform(axeOrPickaxe()) - .tag(CNBlockTags.ALL_CAMPFIRES.tag) - .loot((lt, b) -> lt.add(b, RegistrateBlockLootTables.createSilkTouchDispatchTable(b, lt.applyExplosionDecay(b, LootItem.lootTableItem(CNBlocks.ENRICHED_SOUL_SOIL))))) - .blockstate((c, p) -> - p.getVariantBuilder(c.getEntry()).forAllStatesExcept(state -> { - Direction facing = state.getValue(BlockStateProperties.HORIZONTAL_FACING); - return ConfiguredModel.builder() - .modelFile(p.models().getExistingFile(p.modLoc("block/enriching/campfire/" + (state.getValue(EnrichingCampfireBlock.LIT) ? "block" : "block_off")))) - .uvLock(false) - .rotationY(switch (facing) { - case NORTH -> 180; - case SOUTH -> 0; - case WEST -> 90; - case EAST -> 270; - default -> 0; - }) - .build(); - }, BlockStateProperties.SIGNAL_FIRE, BlockStateProperties.WATERLOGGED - ) - ) - .item() - .model((c, p) -> - p.withExistingParent(c.getName(), new ResourceLocation("item/generated")) - .texture("layer0", p.modLoc("item/enriched/campfire")) - ) - .build() - .tag(CNTags.CNBlockTags.FAN_PROCESSING_CATALYSTS_ENRICHED.tag) - .register(); + CreateNuclear.REGISTRATE.block("enriching_campfire", properties -> new EnrichingCampfireBlock(properties, true, 5)) + .properties(p -> p.mapColor(MapColor.PODZOL) + .instrument(NoteBlockInstrument.BASS) + .strength(2.0F) + .sound(SoundType.WOOD) + .lightLevel(EnrichingCampfireBlock::getLight)) + .properties(Properties::noOcclusion) + .properties(Properties::ignitedByLava) + .addLayer(() -> RenderType::cutoutMipped) + .transform(axeOrPickaxe()) + .tag(CNBlockTags.ALL_CAMPFIRES.tag) + .loot((lt, b) -> lt.add(b, RegistrateBlockLootTables.createSilkTouchDispatchTable(b, lt.applyExplosionDecay(b, LootItem.lootTableItem(CNBlocks.ENRICHED_SOUL_SOIL))))) + .blockstate((c, p) -> + p.getVariantBuilder(c.getEntry()).forAllStatesExcept(state -> { + Direction facing = state.getValue(BlockStateProperties.HORIZONTAL_FACING); + return ConfiguredModel.builder() + .modelFile(p.models().getExistingFile(p.modLoc("block/enriching/campfire/" + (state.getValue(EnrichingCampfireBlock.LIT) ? "block" : "block_off")))) + .uvLock(false) + .rotationY(switch (facing) { + case NORTH -> 180; + case WEST -> 90; + case EAST -> 270; + default -> 0; + }) + .build(); + }, BlockStateProperties.SIGNAL_FIRE, BlockStateProperties.WATERLOGGED + ) + ) + .item() + .model((c, p) -> + p.withExistingParent(c.getName(), new ResourceLocation("item/generated")) + .texture("layer0", p.modLoc("item/enriched/campfire")) + ) + .build() + .tag(CNBlockTags.FAN_PROCESSING_CATALYSTS_ENRICHED.tag) + .register(); public static final BlockEntry DEEPSLATE_LEAD_ORE = - CreateNuclear.REGISTRATE.block("deepslate_lead_ore", Block::new) - .initialProperties(() -> Blocks.DIAMOND_ORE) - .simpleItem() - .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, - RegistrateBlockLootTables.createSilkTouchDispatchTable(b, - lt.applyExplosionDecay(b, LootItem.lootTableItem(CNItems.RAW_LEAD) - .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) - )))) - .tag(CNTags.CNBlockTags.NEEDS_IRON_TOOL.tag, - CNTags.forgeBlockTag("ores"), - CNTags.forgeBlockTag("ores_in_ground/deepslate"), - CNTags.CNBlockTags.LEAD_ORES.tag - - ) - .item() - .tag(CNTags.CNItemTags.LEAD_ORES.tag) - .build() - .register(); + CreateNuclear.REGISTRATE.block("deepslate_lead_ore", Block::new) + .initialProperties(() -> Blocks.DIAMOND_ORE) + .simpleItem() + .transform(pickaxeOnly()) + .loot((lt, b) -> lt.add(b, + RegistrateBlockLootTables.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(CNItems.RAW_LEAD) + .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) + )))) + .tag(BlockTags.NEEDS_IRON_TOOL, + CNTags.forgeBlockTag("ores"), + CNTags.forgeBlockTag("ores_in_ground/deepslate"), + CNTags.forgeBlockTag("ores/lead"), + CNBlockTags.LEAD_ORES.tag + ) + .item() + .tag(CNItemTags.LEAD_ORES.tag, + CNTags.forgeItemTag("ores/lead")) + .build() + .register(); public static final BlockEntry LEAD_ORE = - CreateNuclear.REGISTRATE.block("lead_ore", Block::new) - .initialProperties(SharedProperties::stone) - .simpleItem() - .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, - RegistrateBlockLootTables.createSilkTouchDispatchTable(b, - lt.applyExplosionDecay(b, LootItem.lootTableItem(CNItems.RAW_LEAD) - .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) - )))) - .tag(CNTags.CNBlockTags.NEEDS_IRON_TOOL.tag, - CNTags.forgeBlockTag("ores"), - CNTags.forgeBlockTag("ores_in_ground/stone"), - CNTags.CNBlockTags.LEAD_ORES.tag - ) - .item() - .tag(CNTags.CNItemTags.LEAD_ORES.tag) - .build() - .register(); + CreateNuclear.REGISTRATE.block("lead_ore", Block::new) + .initialProperties(SharedProperties::stone) + .simpleItem() + .transform(pickaxeOnly()) + .loot((lt, b) -> lt.add(b, + RegistrateBlockLootTables.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(CNItems.RAW_LEAD) + .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) + )))) + .tag(BlockTags.NEEDS_IRON_TOOL, + CNTags.forgeBlockTag("ores"), + CNTags.forgeBlockTag("ores_in_ground/stone"), + CNTags.forgeBlockTag("ores/lead"), + CNBlockTags.LEAD_ORES.tag + ) + .item() + .tag(CNItemTags.LEAD_ORES.tag, + CNTags.forgeItemTag("ores/lead")) + .build() + .register(); public static final BlockEntry RAW_URANIUM_BLOCK = - CreateNuclear.REGISTRATE.block("raw_uranium_block", Block::new) - .initialProperties(SharedProperties::stone) - .transform(pickaxeOnly()) - .tag(CNTags.CNBlockTags.NEEDS_DIAMOND_TOOL.tag, - CNTags.forgeBlockTag("storage_blocks/raw_uranium")) - .item() - .tag(CNTags.forgeItemTag("storage_blocks/raw_uranium")) - .build() - .register(); + CreateNuclear.REGISTRATE.block("raw_uranium_block", Block::new) + .initialProperties(SharedProperties::stone) + .transform(pickaxeOnly()) + .tag(BlockTags.NEEDS_DIAMOND_TOOL, + CNTags.forgeBlockTag("storage_blocks/raw_uranium")) + .item() + .tag(CNTags.forgeItemTag("storage_blocks/raw_uranium")) + .build() + .register(); public static final BlockEntry RAW_LEAD_BLOCK = - CreateNuclear.REGISTRATE.block("raw_lead_block", Block::new) - .initialProperties(SharedProperties::stone) - .transform(pickaxeOnly()) - .tag(CNTags.forgeBlockTag("storage_blocks/raw_lead")) - .item() - .tag(CNTags.forgeItemTag("storage_blocks/raw_lead")) - .build() - .register(); + CreateNuclear.REGISTRATE.block("raw_lead_block", Block::new) + .initialProperties(SharedProperties::stone) + .transform(pickaxeOnly()) + .tag(CNTags.forgeBlockTag("storage_blocks/raw_lead")) + .item() + .tag(CNTags.forgeItemTag("storage_blocks/raw_lead")) + .build() + .register(); public static final BlockEntry LEAD_BLOCK = - CreateNuclear.REGISTRATE.block("lead_block", Block::new) - .initialProperties(SharedProperties::stone) - .transform(pickaxeOnly()) - .tag(CNTags.forgeBlockTag("storage_blocks/lead")) - .item() - .tag(CNTags.forgeItemTag("storage_blocks/lead")) - .build() - .register(); + CreateNuclear.REGISTRATE.block("lead_block", Block::new) + .initialProperties(SharedProperties::stone) + .transform(pickaxeOnly()) + .tag(CNTags.forgeBlockTag("storage_blocks/lead")) + .item() + .tag(CNTags.forgeItemTag("storage_blocks/lead")) + .build() + .register(); public static final BlockEntry ENRICHED_SOUL_SOIL = - CreateNuclear.REGISTRATE.block("enriched_soul_soil", Block::new) - .initialProperties(() -> Blocks.SOUL_SOIL) - .simpleItem() - .tag(CNTags.CNBlockTags.SHOVEL.tag) - .tag(CNTags.CNBlockTags.ENRICHING_FIRE_BASE_BLOCKS.tag, CNTags.CNBlockTags.NEEDS_DIAMOND_TOOL.tag) - .register(); + CreateNuclear.REGISTRATE.block("enriched_soul_soil", Block::new) + .initialProperties(() -> Blocks.SOUL_SOIL) + .simpleItem() + .tag(BlockTags.MINEABLE_WITH_SHOVEL) + .tag(CNBlockTags.ENRICHING_FIRE_BASE_BLOCKS.tag, BlockTags.NEEDS_DIAMOND_TOOL) + .register(); public static final BlockEntry DEEPSLATE_URANIUM_ORE = - CreateNuclear.REGISTRATE.block("deepslate_uranium_ore", UraniumOreBlock::new) - .initialProperties(() -> Blocks.DIAMOND_ORE) - .properties(UraniumOreBlock.litBlockEmission()) - .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, - RegistrateBlockLootTables.createSilkTouchDispatchTable(b, - lt.applyExplosionDecay(b, LootItem.lootTableItem(CNItems.RAW_URANIUM) - .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) - )))) - .tag(CNBlockTags.NEEDS_DIAMOND_TOOL.tag, - BlockTags.NEEDS_IRON_TOOL, - CNTags.forgeBlockTag("ores"), - CNTags.forgeBlockTag("ores_in_ground/deepslate"), - CNBlockTags.URANIUM_ORES.tag - ) - .item() - .tag(CNTags.CNItemTags.URANIUM_ORES.tag) - .build() - .register(); + CreateNuclear.REGISTRATE.block("deepslate_uranium_ore", UraniumOreBlock::new) + .initialProperties(() -> Blocks.DIAMOND_ORE) + .properties(UraniumOreBlock.litBlockEmission()) + .transform(pickaxeOnly()) + .loot((lt, b) -> lt.add(b, + RegistrateBlockLootTables.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(CNItems.RAW_URANIUM) + .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) + )))) + .tag(BlockTags.NEEDS_DIAMOND_TOOL, + BlockTags.NEEDS_IRON_TOOL, + CNTags.forgeBlockTag("ores"), + CNTags.forgeBlockTag("ores_in_ground/deepslate"), + CNTags.forgeBlockTag("ores/uranium"), + CNBlockTags.URANIUM_ORES.tag + ) + .item() + .tag(CNItemTags.URANIUM_ORES.tag, + CNTags.forgeItemTag("ores/uranium")) + .build() + .register(); public static final BlockEntry URANIUM_ORE = - CreateNuclear.REGISTRATE.block("uranium_ore", UraniumOreBlock::new) - .initialProperties(SharedProperties::stone) - .properties(UraniumOreBlock.litBlockEmission()) - .simpleItem() - .transform(pickaxeOnly()) - .loot((lt, b) -> lt.add(b, - RegistrateBlockLootTables.createSilkTouchDispatchTable(b, - lt.applyExplosionDecay(b, LootItem.lootTableItem(CNItems.RAW_URANIUM) - .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) - )))) - .tag(CNTags.CNBlockTags.NEEDS_DIAMOND_TOOL.tag, - CNTags.CNBlockTags.NEEDS_IRON_TOOL.tag, - CNTags.forgeBlockTag("ores"), - CNTags.forgeBlockTag("ores_in_ground/stone"), - CNTags.CNBlockTags.URANIUM_ORES.tag - ) - .item() - .tag(CNTags.CNItemTags.URANIUM_ORES.tag) - .build() - .register(); + CreateNuclear.REGISTRATE.block("uranium_ore", UraniumOreBlock::new) + .initialProperties(SharedProperties::stone) + .properties(UraniumOreBlock.litBlockEmission()) + .simpleItem() + .transform(pickaxeOnly()) + .loot((lt, b) -> lt.add(b, + RegistrateBlockLootTables.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(CNItems.RAW_URANIUM) + .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) + )))) + .tag(BlockTags.NEEDS_DIAMOND_TOOL, + BlockTags.NEEDS_IRON_TOOL, + CNTags.forgeBlockTag("ores"), + CNTags.forgeBlockTag("ores_in_ground/stone"), + CNTags.forgeBlockTag("ores/uranium"), + CNBlockTags.URANIUM_ORES.tag + ) + .item() + .tag(CNItemTags.URANIUM_ORES.tag, + CNTags.forgeItemTag("ores/uranium")) + .build() + .register(); public static final BlockEntry STEEL_BLOCK = - CreateNuclear.REGISTRATE.block("steel_block", Block::new) - .initialProperties(SharedProperties::stone) - .transform(pickaxeOnly()) - .tag(CNTags.forgeBlockTag("storage_blocks/steel")) - .item() - .tag(CNTags.forgeItemTag("storage_blocks/steel")) - .build() - .register(); + CreateNuclear.REGISTRATE.block("steel_block", Block::new) + .initialProperties(SharedProperties::stone) + .transform(pickaxeOnly()) + .tag(CNTags.forgeBlockTag("storage_blocks/steel")) + .item() + .tag(CNTags.forgeItemTag("storage_blocks/steel")) + .build() + .register(); /*public static final BlockEntry TEST_EVENT_TRIGGER_BLOCK = CreateNuclear.REGISTRATE.block("test_event_trigger_block", EventTriggerBlock::new) .defaultBlockstate() diff --git a/src/main/java/net/nuclearteam/createnuclear/CNCreativeModeTabs.java b/src/main/java/net/nuclearteam/createnuclear/CNCreativeModeTabs.java index 944e9fea..205db218 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNCreativeModeTabs.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNCreativeModeTabs.java @@ -4,8 +4,6 @@ import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.world.item.*; -import net.minecraft.world.item.alchemy.Potion; -import net.minecraft.world.level.ItemLike; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @@ -15,18 +13,18 @@ @EventBusSubscriber(bus = Bus.MOD) public class CNCreativeModeTabs { private static final DeferredRegister REGISTER = - DeferredRegister.create(Registries.CREATIVE_MODE_TAB, CreateNuclear.MOD_ID); + DeferredRegister.create(Registries.CREATIVE_MODE_TAB, CreateNuclear.MOD_ID); public static final RegistryObject MAIN = REGISTER.register("main", CreativeModeTab.builder() - .title(Component.translatable("itemGroup.createnuclear.main")) - .icon(() -> CNItems.URANIUM_POWDER.asItem().getDefaultInstance()) - .displayItems((pPram, pOutp) -> { - for (RegistryEntry entry : CreateNuclear.REGISTRATE.getAll(Registries.ITEM)) { - pOutp.accept(entry.get()); - } - }) - ::build); + .title(Component.translatable("itemGroup.createnuclear.main")) + .icon(() -> CNItems.URANIUM_POWDER.asItem().getDefaultInstance()) + .displayItems((pPram, pOuts) -> { + for (RegistryEntry entry : CreateNuclear.REGISTRATE.getAll(Registries.ITEM)) { + pOuts.accept(entry.get()); + } + }) + ::build); public static void register(IEventBus modEventBus) { diff --git a/src/main/java/net/nuclearteam/createnuclear/CNDamageTypes.java b/src/main/java/net/nuclearteam/createnuclear/CNDamageTypes.java index 3b39e557..301ae82d 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNDamageTypes.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNDamageTypes.java @@ -5,6 +5,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.world.damagesource.DamageType; +@SuppressWarnings("unused") public class CNDamageTypes { private static ResourceKey key(String name) { return ResourceKey.create(Registries.DAMAGE_TYPE, CreateNuclear.asResource(name)); diff --git a/src/main/java/net/nuclearteam/createnuclear/CNFluids.java b/src/main/java/net/nuclearteam/createnuclear/CNFluids.java index be83355c..ba0eb278 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNFluids.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNFluids.java @@ -32,29 +32,27 @@ public class CNFluids { public static final FluidEntry URANIUM = - CreateNuclear.REGISTRATE.standardFluid("uranium", - SolidRenderedPlaceableFluidtype.create(0x38FF08, () -> 1f / 32f)) - .lang("Liquid Uranium") - .tag(CNFluidTags.URANIUM.tag) - .properties(p -> p.viscosity(2500) - .density(1600) - .canSwim(false) - .sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL_LAVA) - .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY_LAVA) - .canDrown(false) - - ) - .fluidProperties(f -> f.levelDecreasePerBlock(2) - .tickRate(15) - .slopeFindDistance(6) - .explosionResistance(100f) - ) - .source(ForgeFlowingFluid.Source::new) - .bucket() - .tag(CNTags.forgeItemTag("buckets/uranium")) - .lang("Uranium Bucket") - .build() - .register(); + CreateNuclear.REGISTRATE.standardFluid("uranium", SolidRenderedPlaceableFluidtype.create(0x38FF08, () -> 1f / 32f)) + .lang("Liquid Uranium") + .tag(CNFluidTags.URANIUM.tag) + .properties(p -> p.viscosity(2500) + .density(1600) + .canSwim(false) + .sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL_LAVA) + .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY_LAVA) + .canDrown(false) + ) + .fluidProperties(f -> f.levelDecreasePerBlock(2) + .tickRate(15) + .slopeFindDistance(6) + .explosionResistance(100f) + ) + .source(ForgeFlowingFluid.Source::new) + .bucket() + .tag(CNTags.forgeItemTag("buckets/uranium")) + .lang("Uranium Bucket") + .build() + .register(); public static void register() {} diff --git a/src/main/java/net/nuclearteam/createnuclear/CNItems.java b/src/main/java/net/nuclearteam/createnuclear/CNItems.java index 9d21805b..0fe889a8 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNItems.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNItems.java @@ -26,58 +26,59 @@ import java.util.function.Supplier; +@SuppressWarnings({"unused", "deprecation"}) public class CNItems { public static final ItemEntry YELLOWCAKE = CreateNuclear.REGISTRATE .item("yellowcake", Item::new) .properties(p -> p.food(new FoodProperties.Builder() - .nutrition(20) - .saturationMod(0.3F) - .alwaysEat() - .effect((new MobEffectInstance(CNEffects.RADIATION.get(),600,2)) , 1.0F) - .build()) + .nutrition(20) + .saturationMod(0.3F) + .alwaysEat() + .effect((new MobEffectInstance(CNEffects.RADIATION.get(),600,2)) , 1.0F) + .build()) ) .register(), RAW_LEAD = CreateNuclear.REGISTRATE - .item("raw_lead", Item::new) - .tag(CNTags.forgeItemTag("raw_ores"), CNTags.forgeItemTag("raw_materials"), CNTags.forgeItemTag("raw_materials/lead")) - .register(), + .item("raw_lead", Item::new) + .tag(CNTags.forgeItemTag("raw_ores"), CNTags.forgeItemTag("raw_materials"), CNTags.forgeItemTag("raw_materials/lead")) + .register(), RAW_URANIUM = CreateNuclear.REGISTRATE - .item("raw_uranium", Item::new) - .tag(CNTags.forgeItemTag("raw_ores"), CNTags.forgeItemTag("raw_materials"), CNTags.forgeItemTag("raw_materials/uranium")) - .register(), + .item("raw_uranium", Item::new) + .tag(CNTags.forgeItemTag("raw_ores"), CNTags.forgeItemTag("raw_materials"), CNTags.forgeItemTag("raw_materials/uranium")) + .register(), URANIUM_POWDER = CreateNuclear.REGISTRATE - .item("uranium_powder", Item::new) - .register(), + .item("uranium_powder", Item::new) + .register(), STEEL_INGOT = CreateNuclear.REGISTRATE - .item("steel_ingot", Item::new) - .tag(CNTags.forgeItemTag("ingots"), CNTags.forgeItemTag("ingots/steel")) - .register(), + .item("steel_ingot", Item::new) + .tag(CNTags.forgeItemTag("ingots"), CNTags.forgeItemTag("ingots/steel")) + .register(), COAL_DUST = CreateNuclear.REGISTRATE - .item("coal_dust", Item::new) - .tag(CNTags.forgeItemTag("dusts"), CNTags.forgeItemTag("coal_dusts")) - .register(), + .item("coal_dust", Item::new) + .tag(CNTags.forgeItemTag("dusts"), CNTags.forgeItemTag("coal_dusts")) + .register(), GRAPHITE_ROD = CreateNuclear.REGISTRATE - .item("graphite_rod", Item::new) - .tag(CNTags.forgeItemTag("rods"), CNItemTags.COOLER.tag) - .register(), + .item("graphite_rod", Item::new) + .tag(CNTags.forgeItemTag("rods"), CNItemTags.COOLER.tag) + .register(), LEAD_INGOT = CreateNuclear.REGISTRATE - .item("lead_ingot", Item::new) - .tag(CNTags.forgeItemTag("ingots"), CNTags.forgeItemTag("ingots/lead")) - .register(), + .item("lead_ingot", Item::new) + .tag(CNTags.forgeItemTag("ingots"), CNTags.forgeItemTag("ingots/lead")) + .register(), STEEL_NUGGET = CreateNuclear.REGISTRATE - .item("steel_nugget", Item::new) - .tag(CNTags.forgeItemTag("nuggets"), CNTags.forgeItemTag("nuggets/steel")) - .register(), + .item("steel_nugget", Item::new) + .tag(CNTags.forgeItemTag("nuggets"), CNTags.forgeItemTag("nuggets/steel")) + .register(), URANIUM_ROD = CreateNuclear.REGISTRATE .item("uranium_rod", Item::new) @@ -101,16 +102,16 @@ public class CNItems { public static final Helmet.DyeItemHelmetList ANTI_RADIATION_HELMETS = new Helmet.DyeItemHelmetList<>(color -> { String colorName = color.getSerializedName(); return CreateNuclear.REGISTRATE.item(colorName + "_anti_radiation_helmet", p -> new Helmet(p, color)) - .tag( - CNTags.forgeItemTag("helmets"), - CNTags.forgeItemTag("armors"), - getHelmetTag(colorName), - CNItemTags.ALL_ANTI_RADIATION_ARMORS.tag, - CNItemTags.ANTI_RADIATION_HELMET_FULL_DYE.tag - ) - .lang(TextUtils.titleCaseConversion(color.getName()) +" Anti Radiation Helmet") - .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/armors/helmets/" + colorName + "_anti_radiation_helmet"))) - .register(); + .tag( + CNTags.forgeItemTag("helmets"), + CNTags.forgeItemTag("armors"), + getHelmetTag(colorName), + CNItemTags.ALL_ANTI_RADIATION_ARMORS.tag, + CNItemTags.ANTI_RADIATION_HELMET_FULL_DYE.tag + ) + .lang(TextUtils.titleCaseConversion(color.getName()) +" Anti Radiation Helmet") + .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/armors/helmets/" + colorName + "_anti_radiation_helmet"))) + .register(); }); @@ -118,37 +119,37 @@ public class CNItems { String colorName = color.getSerializedName(); return CreateNuclear.REGISTRATE.item(colorName + "_anti_radiation_chestplate", p -> new Chestplate(p, color)) - .tag( - CNTags.forgeItemTag("chestplates"), - CNTags.forgeItemTag("armors"), - getChestplateTag(colorName), - CNItemTags.ALL_ANTI_RADIATION_ARMORS.tag, - CNItemTags.ANTI_RADIATION_CHESTPLATE_FULL_DYE.tag - ) - .lang(TextUtils.titleCaseConversion(color.getName()) +" Anti Radiation Chestplate") - .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/armors/chestplates/" + colorName + "_anti_radiation_chestplate"))) - .register(); + .tag( + CNTags.forgeItemTag("chestplates"), + CNTags.forgeItemTag("armors"), + getChestplateTag(colorName), + CNItemTags.ALL_ANTI_RADIATION_ARMORS.tag, + CNItemTags.ANTI_RADIATION_CHESTPLATE_FULL_DYE.tag + ) + .lang(TextUtils.titleCaseConversion(color.getName()) +" Anti Radiation Chestplate") + .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/armors/chestplates/" + colorName + "_anti_radiation_chestplate"))) + .register(); }); public static final Leggings.DyeItemLeggingsList ANTI_RADIATION_LEGGINGS = new Leggings.DyeItemLeggingsList<>(color -> { String colorName = color.getSerializedName(); return CreateNuclear.REGISTRATE.item(colorName + "_anti_radiation_leggings", p -> new Leggings(p, color)) - .tag( - CNTags.forgeItemTag("leggings"), - CNTags.forgeItemTag("armors"), - getLeggingsTag(colorName), - CNItemTags.ALL_ANTI_RADIATION_ARMORS.tag, - CNItemTags.ANTI_RADIATION_LEGGINGS_FULL_DYE.tag - ) - .lang(TextUtils.titleCaseConversion(color.getName()) +" Anti Radiation Leggings") - .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/armors/leggings/" + colorName + "_anti_radiation_leggings"))) - .register(); + .tag( + CNTags.forgeItemTag("leggings"), + CNTags.forgeItemTag("armors"), + getLeggingsTag(colorName), + CNItemTags.ALL_ANTI_RADIATION_ARMORS.tag, + CNItemTags.ANTI_RADIATION_LEGGINGS_FULL_DYE.tag + ) + .lang(TextUtils.titleCaseConversion(color.getName()) +" Anti Radiation Leggings") + .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/armors/leggings/" + colorName + "_anti_radiation_leggings"))) + .register(); }); public static final ItemEntry - ANTI_RADIATION_BOOTS = CreateNuclear.REGISTRATE.item("anti_radiation_boots", Boot::new) + ANTI_RADIATION_BOOTS = CreateNuclear.REGISTRATE.item("anti_radiation_boots", Boot::new) .tag(CNTags.forgeItemTag("boots"), CNTags.forgeItemTag("armors"), CNItemTags.ANTI_RADIATION_BOOTS_DYE.tag, CNItemTags.ANTI_RADIATION_ARMOR.tag, CNItemTags.ALL_ANTI_RADIATION_ARMORS.tag) .lang("Anti Radiation Boots") .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/armors/anti_radiation_boots"))) @@ -157,10 +158,10 @@ public class CNItems { public static final DyeItemList CLOTHS = new ClothItem.DyeItemList<>(color -> { String colorName = color.getSerializedName(); return CreateNuclear.REGISTRATE.item(colorName+ "_cloth", p -> new ClothItem(p, color)) - .tag(CNItemTags.CLOTH.tag) - .lang(TextUtils.titleCaseConversion(color.getName()) + " Cloth") - .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/cloth/" + colorName + "_cloth"))) - .register(); + .tag(CNItemTags.CLOTH.tag) + .lang(TextUtils.titleCaseConversion(color.getName()) + " Cloth") + .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/cloth/" + colorName + "_cloth"))) + .register(); }); public static final ItemEntry SPAWN_WOLF = registerSpawnEgg("wolf_irradiated_spawn_egg", CNEntityType.IRRADIATED_WOLF, 0x42452B,0x4C422B, "Irradiated Wolf Spawn Egg"); @@ -168,23 +169,21 @@ public class CNItems { public static final ItemEntry SPAWN_CHICKEN = registerSpawnEgg("chicken_irradiated_spawn_egg", CNEntityType.IRRADIATED_CHICKEN, 0x6B9455, 0x95393C, "Irradiated Chicken Spawn Egg"); public static final ItemEntry REACTOR_BLUEPRINT = CreateNuclear.REGISTRATE - .item("reactor_blueprint_item", ReactorBluePrintItem::new) - .lang("Reactor Blueprint") - .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/reactor_blueprint"))) - .properties(p -> p.stacksTo(1)) - .register(); + .item("reactor_blueprint_item", ReactorBluePrintItem::new) + .lang("Reactor Blueprint") + .model((c, p) -> p.generated(c, CreateNuclear.asResource("item/reactor_blueprint"))) + .properties(p -> p.stacksTo(1)) + .register(); private static ItemEntry registerSpawnEgg(String name, Supplier> entity, int backgroundColor, int highlightColor, String nameItems) { return CreateNuclear.REGISTRATE - .item(name, p -> new ForgeSpawnEggItem(entity, backgroundColor, highlightColor, p)) - .lang(nameItems) - .model((c, p) -> p.withExistingParent(c.getName(), new ResourceLocation("item/template_spawn_egg"))) - .register(); + .item(name, p -> new ForgeSpawnEggItem(entity, backgroundColor, highlightColor, p)) + .lang(nameItems) + .model((c, p) -> p.withExistingParent(c.getName(), new ResourceLocation("item/template_spawn_egg"))) + .register(); } public static void register() {} - - } diff --git a/src/main/java/net/nuclearteam/createnuclear/CNPotions.java b/src/main/java/net/nuclearteam/createnuclear/CNPotions.java index 57067624..6d72ab69 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNPotions.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNPotions.java @@ -1,15 +1,10 @@ package net.nuclearteam.createnuclear; import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraft.world.item.PotionItem; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionBrewing; -import net.minecraft.world.item.alchemy.PotionUtils; import net.minecraft.world.item.alchemy.Potions; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraftforge.common.brewing.BrewingRecipeRegistry; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; @@ -18,17 +13,17 @@ public class CNPotions { - public static final DeferredRegister CNPOTIONS = DeferredRegister.create(ForgeRegistries.POTIONS, CreateNuclear.MOD_ID); + public static final DeferredRegister CN_POTIONS = DeferredRegister.create(ForgeRegistries.POTIONS, CreateNuclear.MOD_ID); - public static final RegistryObject POTION_1 = CNPOTIONS.register("potion_of_radiation_1", - () -> new Potion(new MobEffectInstance(CNEffects.RADIATION.get(), 900))); - public static final RegistryObject POTION_AUGMENT_1 = CNPOTIONS.register("potion_of_radiation_augment_1", - () -> new Potion(new MobEffectInstance(CNEffects.RADIATION.get(), 1800))); - public static final RegistryObject POTION_2 = CNPOTIONS.register("potion_of_radiation_2", - () -> new Potion(new MobEffectInstance(CNEffects.RADIATION.get(), 410, 1))); + public static final RegistryObject POTION_1 = CN_POTIONS.register("potion_of_radiation_1", + () -> new Potion(new MobEffectInstance(CNEffects.RADIATION.get(), 900))); + public static final RegistryObject POTION_AUGMENT_1 = CN_POTIONS.register("potion_of_radiation_augment_1", + () -> new Potion(new MobEffectInstance(CNEffects.RADIATION.get(), 1800))); + public static final RegistryObject POTION_2 = CN_POTIONS.register("potion_of_radiation_2", + () -> new Potion(new MobEffectInstance(CNEffects.RADIATION.get(), 410, 1))); public static void register(IEventBus eventBus) { - CNPOTIONS.register(eventBus); + CN_POTIONS.register(eventBus); } public static void registerPotionsRecipes() { diff --git a/src/main/java/net/nuclearteam/createnuclear/CNRecipeTypes.java b/src/main/java/net/nuclearteam/createnuclear/CNRecipeTypes.java index e96896fb..546632b5 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNRecipeTypes.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNRecipeTypes.java @@ -23,25 +23,24 @@ import java.util.function.Predicate; import java.util.function.Supplier; +@SuppressWarnings({"unused", "unchecked"}) public enum CNRecipeTypes implements IRecipeTypeInfo { - ENRICHED(EnrichedRecipe::new) + ENRICHED(EnrichedRecipe::new) ; public static final Predicate> CAN_BE_AUTOMATED = r -> !r.getId() - .getPath() - .endsWith("_manual_only"); + .getPath() + .endsWith("_manual_only"); private final ResourceLocation id; private final RegistryObject> serializerObject; - @Nullable - private final RegistryObject> typeObject; private final Supplier> type; CNRecipeTypes(Supplier> serializerSupplier) { String name = Lang.asId(name()); id = CreateNuclear.asResource(name); serializerObject = Registers.SERIALIZER_REGISTER.register(name, serializerSupplier); - typeObject = Registers.TYPE_REGISTER.register(name, () -> RecipeType.simple(id)); + @Nullable RegistryObject> typeObject = Registers.TYPE_REGISTER.register(name, () -> RecipeType.simple(id)); type = typeObject; } @@ -60,13 +59,11 @@ public ResourceLocation getId() { return id; } - @SuppressWarnings("unchecked") @Override public > T getSerializer() { return (T) serializerObject.get(); } - @SuppressWarnings("unchecked") @Override public > T getType() { return (T) type.get(); diff --git a/src/main/java/net/nuclearteam/createnuclear/CNShapes.java b/src/main/java/net/nuclearteam/createnuclear/CNShapes.java index e79af21d..b32f6d2f 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNShapes.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNShapes.java @@ -10,6 +10,7 @@ import java.util.function.BiFunction; +@SuppressWarnings("unused") public class CNShapes { // Independent Shapers diff --git a/src/main/java/net/nuclearteam/createnuclear/CNTags.java b/src/main/java/net/nuclearteam/createnuclear/CNTags.java index cee70a22..e3340ddf 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CNTags.java +++ b/src/main/java/net/nuclearteam/createnuclear/CNTags.java @@ -1,8 +1,6 @@ package net.nuclearteam.createnuclear; -import com.simibubi.create.AllTags; import net.createmod.catnip.lang.Lang; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; @@ -26,6 +24,7 @@ import static net.nuclearteam.createnuclear.CNTags.NameSpace.*; +@SuppressWarnings({"unused", "deprecation"}) public class CNTags { public static TagKey optionalTag(IForgeRegistry registry, ResourceLocation id) { return registry.tags().createOptionalTagKey(id, Collections.emptySet()); @@ -56,16 +55,16 @@ public enum NameSpace { public final String id; public final boolean optionalDefault; - public final boolean alwayDatagenDefault; + public final boolean alwaysDatagenDefault; NameSpace(String id) { this(id, true, false); } - NameSpace(String id, boolean optionalDefault, boolean alwayDatagenDefault) { + NameSpace(String id, boolean optionalDefault, boolean alwaysDatagenDefault) { this.id = id; this.optionalDefault = optionalDefault; - this.alwayDatagenDefault = alwayDatagenDefault; + this.alwaysDatagenDefault = alwaysDatagenDefault; } } @@ -73,10 +72,6 @@ public enum CNBlockTags { FAN_PROCESSING_CATALYSTS_ENRICHED(MOD, "fan_processing_catalysts/enriched"), ENRICHING_FIRE_BASE_BLOCKS, ALL_CAMPFIRES(MINECRAFT, "all/campfires"), - NEEDS_DIAMOND_TOOL(MINECRAFT), - NEEDS_IRON_TOOL(MINECRAFT), - NEEDS_STONE_TOOL(MINECRAFT), - SHOVEL(MINECRAFT, "mineable/shovel"), URANIUM_ORES, LEAD_ORES ; @@ -89,28 +84,27 @@ public enum CNBlockTags { } CNBlockTags(NameSpace namespace) { - this(namespace, namespace.optionalDefault, namespace.alwayDatagenDefault); + this(namespace, namespace.optionalDefault, namespace.alwaysDatagenDefault); } CNBlockTags(NameSpace nameSpace, String path) { - this(nameSpace, path, nameSpace.optionalDefault, nameSpace.alwayDatagenDefault); + this(nameSpace, path, nameSpace.optionalDefault, nameSpace.alwaysDatagenDefault); } - CNBlockTags(NameSpace nameSpace, boolean optional, boolean alwayDatagenDefault) { - this(nameSpace, null, optional, alwayDatagenDefault); + CNBlockTags(NameSpace nameSpace, boolean optional, boolean alwaysDatagenDefault) { + this(nameSpace, null, optional, alwaysDatagenDefault); } - CNBlockTags(NameSpace nameSpace, String path, boolean optional, boolean alwayDatagenDefault) { + CNBlockTags(NameSpace nameSpace, String path, boolean optional, boolean alwaysDatagenDefault) { ResourceLocation id = new ResourceLocation(nameSpace.id, path == null ? Lang.asId(name()) : path); if (optional) { tag = optionalTag(ForgeRegistries.BLOCKS, id); } else { tag = BlockTags.create(id); } - this.alwaysDatagen = alwayDatagenDefault; + this.alwaysDatagen = alwaysDatagenDefault; } - @SuppressWarnings("deprecation") public boolean matches(Block block) { return block.builtInRegistryHolder().is(tag); } @@ -151,28 +145,27 @@ public enum CNItemTags { } CNItemTags(NameSpace namespace) { - this(namespace, namespace.optionalDefault, namespace.alwayDatagenDefault); + this(namespace, namespace.optionalDefault, namespace.alwaysDatagenDefault); } CNItemTags(NameSpace nameSpace, String path) { - this(nameSpace, path, nameSpace.optionalDefault, nameSpace.alwayDatagenDefault); + this(nameSpace, path, nameSpace.optionalDefault, nameSpace.alwaysDatagenDefault); } - CNItemTags(NameSpace nameSpace, boolean optional, boolean alwayDatagenDefault) { - this(nameSpace, null, optional, alwayDatagenDefault); + CNItemTags(NameSpace nameSpace, boolean optional, boolean alwaysDatagenDefault) { + this(nameSpace, null, optional, alwaysDatagenDefault); } - CNItemTags(NameSpace nameSpace, String path, boolean optional, boolean alwayDatagenDefault) { + CNItemTags(NameSpace nameSpace, String path, boolean optional, boolean alwaysDatagenDefault) { ResourceLocation id = new ResourceLocation(nameSpace.id, path == null ? Lang.asId(name()) : path); if (optional) { tag = optionalTag(ForgeRegistries.ITEMS, id); } else { tag = ItemTags.create(id); } - this.alwaysDatagen = alwayDatagenDefault; + this.alwaysDatagen = alwaysDatagenDefault; } - @SuppressWarnings("deprecation") public boolean matches(Item item) { return item.builtInRegistryHolder().is(tag); } @@ -196,28 +189,27 @@ public enum CNFluidTags { } CNFluidTags(NameSpace namespace) { - this(namespace, namespace.optionalDefault, namespace.alwayDatagenDefault); + this(namespace, namespace.optionalDefault, namespace.alwaysDatagenDefault); } CNFluidTags(NameSpace nameSpace, String path) { - this(nameSpace, path, nameSpace.optionalDefault, nameSpace.alwayDatagenDefault); + this(nameSpace, path, nameSpace.optionalDefault, nameSpace.alwaysDatagenDefault); } - CNFluidTags(NameSpace nameSpace, boolean optional, boolean alwayDatagenDefault) { - this(nameSpace, null, optional, alwayDatagenDefault); + CNFluidTags(NameSpace nameSpace, boolean optional, boolean alwaysDatagenDefault) { + this(nameSpace, null, optional, alwaysDatagenDefault); } - CNFluidTags(NameSpace nameSpace, String path, boolean optional, boolean alwayDatagenDefault) { + CNFluidTags(NameSpace nameSpace, String path, boolean optional, boolean alwaysDatagenDefault) { ResourceLocation id = new ResourceLocation(nameSpace.id, path == null ? Lang.asId(name()) : path); if (optional) { tag = optionalTag(ForgeRegistries.FLUIDS, id); } else { tag = FluidTags.create(id); } - this.alwaysDatagen = alwayDatagenDefault; + this.alwaysDatagen = alwaysDatagenDefault; } - @SuppressWarnings("deprecation") public boolean matches(Fluid fluid) { return fluid.is(tag); } @@ -241,25 +233,25 @@ public enum CNEntityTags { } CNEntityTags(NameSpace nameSpace) { - this(nameSpace, nameSpace.optionalDefault, nameSpace.alwayDatagenDefault); + this(nameSpace, nameSpace.optionalDefault, nameSpace.alwaysDatagenDefault); } CNEntityTags(NameSpace nameSpace, String path) { - this(nameSpace, path, nameSpace.optionalDefault, nameSpace.alwayDatagenDefault); + this(nameSpace, path, nameSpace.optionalDefault, nameSpace.alwaysDatagenDefault); } - CNEntityTags(NameSpace nameSpace, boolean optional, boolean alwayDatagenDefault) { - this(nameSpace, null, optional, alwayDatagenDefault); + CNEntityTags(NameSpace nameSpace, boolean optional, boolean alwaysDatagenDefault) { + this(nameSpace, null, optional, alwaysDatagenDefault); } - CNEntityTags(NameSpace nameSpace, String path, boolean optional, boolean alwayDatagenDefault) { + CNEntityTags(NameSpace nameSpace, String path, boolean optional, boolean alwaysDatagenDefault) { ResourceLocation id = new ResourceLocation(nameSpace.id, path == null ? Lang.asId(name()) : path); if (optional) { tag = optionalTag(ForgeRegistries.ENTITY_TYPES, id); } else { tag = TagKey.create(Registries.ENTITY_TYPE, id); } - this.alwaysDatagen = alwayDatagenDefault; + this.alwaysDatagen = alwaysDatagenDefault; } public boolean matches(EntityType type) { @@ -274,9 +266,7 @@ private static void init() {} } public enum CNRecipeSerializerTags { - AUTOMATION_IGNORE, - ; public final TagKey> tag; @@ -287,11 +277,11 @@ public enum CNRecipeSerializerTags { } CNRecipeSerializerTags(NameSpace namespace) { - this(namespace, namespace.optionalDefault, namespace.alwayDatagenDefault); + this(namespace, namespace.optionalDefault, namespace.alwaysDatagenDefault); } CNRecipeSerializerTags(NameSpace namespace, String path) { - this(namespace, path, namespace.optionalDefault, namespace.alwayDatagenDefault); + this(namespace, path, namespace.optionalDefault, namespace.alwaysDatagenDefault); } CNRecipeSerializerTags(NameSpace namespace, boolean optional, boolean alwaysDatagen) { diff --git a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java index da29d9b9..938e3b47 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java +++ b/src/main/java/net/nuclearteam/createnuclear/CreateNuclear.java @@ -6,7 +6,6 @@ import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.item.ItemDescription; import com.simibubi.create.foundation.item.KineticStats; -import com.simibubi.create.foundation.item.TooltipHelper; import com.simibubi.create.foundation.item.TooltipModifier; import net.createmod.catnip.lang.FontHelper; import net.minecraft.resources.ResourceKey; diff --git a/src/main/java/net/nuclearteam/createnuclear/CreateNuclearClient.java b/src/main/java/net/nuclearteam/createnuclear/CreateNuclearClient.java index 3219cb3f..fbf15823 100644 --- a/src/main/java/net/nuclearteam/createnuclear/CreateNuclearClient.java +++ b/src/main/java/net/nuclearteam/createnuclear/CreateNuclearClient.java @@ -3,12 +3,12 @@ import net.createmod.ponder.foundation.PonderIndex; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.nuclearteam.createnuclear.foundation.ponder.CNPonderIndex; import net.nuclearteam.createnuclear.foundation.ponder.CreateNuclearPonderPlugin; +@SuppressWarnings("unused") public class CreateNuclearClient { - public static void onCtorClient(IEventBus modEventBus, IEventBus forgeEnventBus) { + public static void onCtorClient(IEventBus modEventBus, IEventBus forgeEventBus) { modEventBus.addListener(CreateNuclearClient::clientInit); } diff --git a/src/main/java/net/nuclearteam/createnuclear/api/multiblock/MultiBlockManagerBeta.java b/src/main/java/net/nuclearteam/createnuclear/api/multiblock/MultiBlockManagerBeta.java index 6c990262..ce79b012 100644 --- a/src/main/java/net/nuclearteam/createnuclear/api/multiblock/MultiBlockManagerBeta.java +++ b/src/main/java/net/nuclearteam/createnuclear/api/multiblock/MultiBlockManagerBeta.java @@ -4,7 +4,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/net/nuclearteam/createnuclear/compat/jei/CreateNuclearJEI.java b/src/main/java/net/nuclearteam/createnuclear/compat/jei/CreateNuclearJEI.java index 28f9c54c..febadd4e 100644 --- a/src/main/java/net/nuclearteam/createnuclear/compat/jei/CreateNuclearJEI.java +++ b/src/main/java/net/nuclearteam/createnuclear/compat/jei/CreateNuclearJEI.java @@ -6,7 +6,6 @@ import com.simibubi.create.compat.jei.category.CreateRecipeCategory; import com.simibubi.create.compat.jei.category.ProcessingViaFanCategory; import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; -import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.infrastructure.config.AllConfigs; import com.simibubi.create.infrastructure.config.CRecipes; import mezz.jei.api.IModPlugin; @@ -23,11 +22,9 @@ import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.block.Blocks; import net.nuclearteam.createnuclear.CNBlocks; import net.nuclearteam.createnuclear.CNRecipeTypes; import net.nuclearteam.createnuclear.CreateNuclear; @@ -47,6 +44,7 @@ @JeiPlugin @SuppressWarnings("unused") @ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault public class CreateNuclearJEI implements IModPlugin { private static final ResourceLocation MOD_ID = CreateNuclear.asResource("jei_plugin"); @Override diff --git a/src/main/java/net/nuclearteam/createnuclear/compat/jei/category/FanEnrichedCategory.java b/src/main/java/net/nuclearteam/createnuclear/compat/jei/category/FanEnrichedCategory.java index 94ce6592..1d78730e 100644 --- a/src/main/java/net/nuclearteam/createnuclear/compat/jei/category/FanEnrichedCategory.java +++ b/src/main/java/net/nuclearteam/createnuclear/compat/jei/category/FanEnrichedCategory.java @@ -4,11 +4,16 @@ import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; import com.simibubi.create.foundation.gui.AllGuiTextures; import net.createmod.catnip.gui.element.GuiGameElement; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; import net.nuclearteam.createnuclear.CNBlocks; import net.nuclearteam.createnuclear.content.kinetics.fan.processing.EnrichedRecipe; +import javax.annotation.ParametersAreNonnullByDefault; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault public class FanEnrichedCategory extends ProcessingViaFanCategory.MultiOutput { public FanEnrichedCategory(Info info) { super(info); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/CatLieOnBedGoal.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/CatLieOnBedGoal.java index 3a84f5c5..1236034e 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/CatLieOnBedGoal.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/CatLieOnBedGoal.java @@ -6,8 +6,10 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal; import net.minecraft.world.level.LevelReader; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.EnumSet; +@ParametersAreNonnullByDefault public class CatLieOnBedGoal extends MoveToBlockGoal { private final IrradiatedCat cat; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/CatSitOnBlockGoal.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/CatSitOnBlockGoal.java index b8d77dbb..2da168ec 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/CatSitOnBlockGoal.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/CatSitOnBlockGoal.java @@ -2,7 +2,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.tags.BlockTags; -import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.MoveToBlockGoal; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.BedBlock; @@ -47,8 +46,8 @@ protected boolean isValidTarget(LevelReader level, BlockPos pos) { if (blockState.is(Blocks.CHEST)) { return ChestBlockEntity.getOpenCount(level, pos) < 1; } else { - return blockState.is(Blocks.FURNACE) && (Boolean) blockState.getValue(FurnaceBlock.LIT) || blockState.is(BlockTags.BEDS, (blockStatex) -> - (Boolean) blockStatex.getOptionalValue(BedBlock.PART) + return blockState.is(Blocks.FURNACE) && blockState.getValue(FurnaceBlock.LIT) || blockState.is(BlockTags.BEDS, (blockStates) -> + blockStates.getOptionalValue(BedBlock.PART) .map((bedPart) -> bedPart != BedPart.HEAD) .orElse(true)); } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCat.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCat.java index f5b29b9b..bdda3854 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCat.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCat.java @@ -1,19 +1,16 @@ package net.nuclearteam.createnuclear.content.contraptions.irradiated.cat; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.tags.BlockTags; -import net.minecraft.tags.CatVariantTags; import net.minecraft.tags.StructureTags; -import net.minecraft.tags.TagKey; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import net.minecraft.world.DifficultyInstance; @@ -43,11 +40,15 @@ import net.minecraft.world.phys.AABB; import org.jetbrains.annotations.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.function.Predicate; +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +@SuppressWarnings({"unused", "deprecation"}) public class IrradiatedCat extends TamableAnimal { public static final double TEMPT_SPEED_MOD = 0.6; public static final double WALK_SPEED_MOD = 0.8; @@ -94,7 +95,7 @@ public void setLying(boolean lying) { } public boolean isLying() { - return (Boolean)this.entityData.get(IS_LYING); + return this.entityData.get(IS_LYING); } public void setRelaxStateOne(boolean relaxStateOne) { @@ -102,11 +103,11 @@ public void setRelaxStateOne(boolean relaxStateOne) { } public boolean isRelaxStateOne() { - return (Boolean)this.entityData.get(RELAX_STATE_ONE); + return this.entityData.get(RELAX_STATE_ONE); } public DyeColor getCollarColor() { - return DyeColor.byId((Integer)this.entityData.get(DATA_COLLAR_COLOR)); + return DyeColor.byId(this.entityData.get(DATA_COLLAR_COLOR)); } public void setCollarColor(DyeColor color) { @@ -259,7 +260,7 @@ public float getRelaxStateOneAmount(float partialTicks) { @Nullable @Override public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob otherParent) { - Cat cat = (Cat) EntityType.CAT.create(level); + Cat cat = EntityType.CAT.create(level); if (cat != null && otherParent instanceof Cat cat2) { if (this.isTame()) { @@ -287,7 +288,6 @@ public boolean canMate(Animal otherAnimal) { } } - @Nullable public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData spawnData, @Nullable CompoundTag dataTag) { spawnData = super.finalizeSpawn(level, difficulty, reason, spawnData, dataTag); boolean bl = level.getMoonBrightness() > 0.9F; @@ -313,7 +313,7 @@ public InteractionResult mobInteract(Player player, InteractionHand hand) { if (this.isTame()) { if (this.isOwnedBy(player)) { if (!(item instanceof DyeItem)) { - if (((Item) item).isEdible() && this.isFood(itemStack) && this.getHealth() < this.getMaxHealth()) { + if (item.isEdible() && this.isFood(itemStack) && this.getHealth() < this.getMaxHealth()) { this.usePlayerItem(player, hand, itemStack); this.heal((float)item.getFoodProperties().getNutrition()); return InteractionResult.CONSUME; @@ -429,11 +429,7 @@ public boolean canUse() { BlockPos blockPos = this.ownerPlayer.blockPosition(); BlockState blockState = this.cat.level().getBlockState(blockPos); if (blockState.is(BlockTags.BEDS)) { - this.goalPos = (BlockPos)blockState.getOptionalValue(BedBlock.FACING).map((direction) -> { - return blockPos.relative(direction.getOpposite()); - }).orElseGet(() -> { - return new BlockPos(blockPos); - }); + this.goalPos = blockState.getOptionalValue(BedBlock.FACING).map((direction) -> blockPos.relative(direction.getOpposite())).orElseGet(() -> new BlockPos(blockPos)); return !this.spaceIsOccupied(); } } @@ -445,7 +441,7 @@ public boolean canUse() { private boolean spaceIsOccupied() { assert this.goalPos != null; List list = this.cat.level().getEntitiesOfClass(IrradiatedCat.class, (new AABB(this.goalPos)).inflate(2.0)); - Iterator var2 = list.iterator(); + Iterator var2 = list.iterator(); IrradiatedCat cat; do { @@ -454,7 +450,7 @@ private boolean spaceIsOccupied() { return false; } - cat = (IrradiatedCat)var2.next(); + cat = var2.next(); } while(cat == this.cat); } while(!cat.isLying() && !cat.isRelaxStateOne()); @@ -468,7 +464,7 @@ public boolean canContinueToUse() { public void start() { if (this.goalPos != null) { this.cat.setInSittingPose(false); - this.cat.getNavigation().moveTo((double)this.goalPos.getX(), (double)this.goalPos.getY(), (double)this.goalPos.getZ(), 1.100000023841858); + this.cat.getNavigation().moveTo(this.goalPos.getX(), this.goalPos.getY(), this.goalPos.getZ(), 1.100000023841858); } } @@ -489,16 +485,14 @@ private void giveMorningGift() { RandomSource randomSource = this.cat.getRandom(); BlockPos.MutableBlockPos mutableBlockPos = new BlockPos.MutableBlockPos(); mutableBlockPos.set(this.cat.isLeashed() ? this.cat.getLeashHolder().blockPosition() : this.cat.blockPosition()); - this.cat.randomTeleport((double)(mutableBlockPos.getX() + randomSource.nextInt(11) - 5), (double)(mutableBlockPos.getY() + randomSource.nextInt(5) - 2), (double)(mutableBlockPos.getZ() + randomSource.nextInt(11) - 5), false); + this.cat.randomTeleport(mutableBlockPos.getX() + randomSource.nextInt(11) - 5, mutableBlockPos.getY() + randomSource.nextInt(5) - 2, (double)(mutableBlockPos.getZ() + randomSource.nextInt(11) - 5), false); mutableBlockPos.set(this.cat.blockPosition()); LootTable lootTable = this.cat.level().getServer().getLootData().getLootTable(BuiltInLootTables.CAT_MORNING_GIFT); LootParams lootParams = (new LootParams.Builder((ServerLevel)this.cat.level())).withParameter(LootContextParams.ORIGIN, this.cat.position()).withParameter(LootContextParams.THIS_ENTITY, this.cat).create(LootContextParamSets.GIFT); List list = lootTable.getRandomItems(lootParams); - Iterator var6 = list.iterator(); - while(var6.hasNext()) { - ItemStack itemStack = (ItemStack)var6.next(); - this.cat.level().addFreshEntity(new ItemEntity(this.cat.level(), (double)mutableBlockPos.getX() - (double)Mth.sin(this.cat.yBodyRot * 0.017453292F), (double)mutableBlockPos.getY(), (double)mutableBlockPos.getZ() + (double)Mth.cos(this.cat.yBodyRot * 0.017453292F), itemStack)); + for (ItemStack itemStack : list) { + this.cat.level().addFreshEntity(new ItemEntity(this.cat.level(), (double) mutableBlockPos.getX() - (double) Mth.sin(this.cat.yBodyRot * 0.017453292F), (double) mutableBlockPos.getY(), (double) mutableBlockPos.getZ() + (double) Mth.cos(this.cat.yBodyRot * 0.017453292F), itemStack)); } } @@ -506,7 +500,7 @@ private void giveMorningGift() { public void tick() { if (this.ownerPlayer != null && this.goalPos != null) { this.cat.setInSittingPose(false); - this.cat.getNavigation().moveTo((double)this.goalPos.getX(), (double)this.goalPos.getY(), (double)this.goalPos.getZ(), 1.100000023841858); + this.cat.getNavigation().moveTo(this.goalPos.getX(), this.goalPos.getY(), this.goalPos.getZ(), 1.100000023841858); if (this.cat.distanceToSqr(this.ownerPlayer) < 2.5) { ++this.onBedTicks; if (this.onBedTicks > this.adjustedTickDelay(16)) { diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCatCollarLayer.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCatCollarLayer.java index 2982e769..83d842f8 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCatCollarLayer.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCatCollarLayer.java @@ -8,13 +8,17 @@ import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.resources.ResourceLocation; +import javax.annotation.ParametersAreNonnullByDefault; + +@SuppressWarnings("unused") +@ParametersAreNonnullByDefault public class IrradiatedCatCollarLayer extends RenderLayer> { private static final ResourceLocation CAT_COLLAR_LOCATION = new ResourceLocation("textures/entity/cat/cat_collar.png"); - private final IrradiatedCatModel catModelw; + private final IrradiatedCatModel irrigatedCatCollarModel; public IrradiatedCatCollarLayer(RenderLayerParent> render, EntityModelSet modelSet) { super(render); - this.catModelw = new IrradiatedCatModel<>(modelSet.bakeLayer(ModelLayers.CAT_COLLAR)); + this.irrigatedCatCollarModel = new IrradiatedCatModel<>(modelSet.bakeLayer(ModelLayers.CAT_COLLAR)); } @@ -22,7 +26,7 @@ public IrradiatedCatCollarLayer(RenderLayerParent extends AgeableListModel { - public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(CreateNuclear.asResource("irradiated_cat_model"), "main"); private final ModelPart pustule3; private final ModelPart pustule2; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCatRenderer.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCatRenderer.java index 759d8c1b..d7d4a743 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCatRenderer.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/cat/IrradiatedCatRenderer.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; +import com.mojang.math.MethodsReturnNonnullByDefault; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.core.BlockPos; @@ -12,8 +13,11 @@ import net.nuclearteam.createnuclear.CreateNuclear; import net.nuclearteam.createnuclear.content.contraptions.irradiated.CNModelLayers; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.List; +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault public class IrradiatedCatRenderer extends MobRenderer> { private static final ResourceLocation IRRADIATED_CAT_LOCATION = CreateNuclear.asResource("textures/entity/irradiated_cat.png"); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChicken.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChicken.java index 3971a7bb..1fa24f4b 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChicken.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChicken.java @@ -1,5 +1,6 @@ package net.nuclearteam.createnuclear.content.contraptions.irradiated.chicken; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; @@ -24,6 +25,11 @@ import net.nuclearteam.createnuclear.CNEntityType; import org.jetbrains.annotations.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +@SuppressWarnings("unused") public class IrradiatedChicken extends Animal { private static final Ingredient FOOD_ITEMS = Ingredient.of( Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChickenModel.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChickenModel.java index ffcfe67d..283650f6 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChickenModel.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChickenModel.java @@ -3,6 +3,7 @@ import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.model.AgeableListModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -13,6 +14,7 @@ import net.minecraft.util.Mth; import org.jetbrains.annotations.NotNull; +@MethodsReturnNonnullByDefault public class IrradiatedChickenModel extends AgeableListModel { private final ModelPart head; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChickenRenderer.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChickenRenderer.java index 97fe7232..18caaa9f 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChickenRenderer.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/chicken/IrradiatedChickenRenderer.java @@ -1,6 +1,7 @@ package net.nuclearteam.createnuclear.content.contraptions.irradiated.chicken; import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; @@ -9,6 +10,10 @@ import net.nuclearteam.createnuclear.CreateNuclear; import net.nuclearteam.createnuclear.content.contraptions.irradiated.CNModelLayers; +import javax.annotation.ParametersAreNonnullByDefault; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault public class IrradiatedChickenRenderer extends MobRenderer> { private static final ResourceLocation IRRADIATED_CHICKEN_LOCATION = CreateNuclear.asResource("textures/entity/irradiated_chicken.png"); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/BegGoal.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/BegGoal.java index 7e9feb91..477fe0fe 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/BegGoal.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/BegGoal.java @@ -24,7 +24,7 @@ public BegGoal(IrradiatedWolf wolf, float lookDistance) { this.wolf = wolf; this.level = wolf.level(); this.lookDistance = lookDistance; - this.begTargeting = TargetingConditions.forNonCombat().range((double)lookDistance); + this.begTargeting = TargetingConditions.forNonCombat().range(lookDistance); this.setFlags(EnumSet.of(Flag.LOOK)); } @@ -60,10 +60,8 @@ public void tick() { private boolean playerHoldingInteresting(Player player) { InteractionHand[] var2 = InteractionHand.values(); - int var3 = var2.length; - for(int var4 = 0; var4 < var3; ++var4) { - InteractionHand interactionHand = var2[var4]; + for (InteractionHand interactionHand : var2) { ItemStack itemStack = player.getItemInHand(interactionHand); if (this.wolf.isTame() && itemStack.is(Items.BONE)) { return true; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWoldCollarLayer.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWoldCollarLayer.java index 96e6c7a9..78e3f599 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWoldCollarLayer.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWoldCollarLayer.java @@ -6,6 +6,10 @@ import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.resources.ResourceLocation; +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +@SuppressWarnings("unused") public class IrradiatedWoldCollarLayer extends RenderLayer> { private static final ResourceLocation WOLF_COLLAR_LOCATION = new ResourceLocation("textures/entity/wolf/wolf_collar.png"); @@ -15,9 +19,5 @@ public IrradiatedWoldCollarLayer(RenderLayerParent DATA_INTERESTED_ID; //private static final EntityDataAccessor DATA_COLLAR_COLOR; @@ -88,7 +93,7 @@ protected void registerGoals() { this.goalSelector.addGoal(10, new RandomLookAroundGoal(this)); this.targetSelector.addGoal(1, new OwnerHurtByTargetGoal(this)); this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this)); - this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0])); + this.targetSelector.addGoal(3, (new HurtByTargetGoal(this)).setAlertOthers()); this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt)); this.targetSelector.addGoal(5, new NonTameRandomTargetGoal<>(this, Animal.class, false, PREY_SELECTOR)); this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR)); @@ -116,16 +121,11 @@ protected void playStepSound(BlockPos pos, BlockState state) { public void addAdditionalSaveData(CompoundTag compound) { super.addAdditionalSaveData(compound); - //compound.putByte("CollarColor", (byte)this.getCollarColor().getId()); this.addPersistentAngerSaveData(compound); } public void readAdditionalSaveData(CompoundTag compound) { super.readAdditionalSaveData(compound); - /* if (compound.contains("CollarColor", 99)) { - this.setCollarColor(DyeColor.byId(compound.getInt("CollarColor"))); - }*/ - this.readPersistentAngerSaveData(this.level(), compound); } @@ -205,7 +205,7 @@ public void tick() { for(int j = 0; j < i; ++j) { float g = (this.random.nextFloat() * 2.0F - 1.0F) * this.getBbWidth() * 0.5F; float h = (this.random.nextFloat() * 2.0F - 1.0F) * this.getBbWidth() * 0.5F; - this.level().addParticle(ParticleTypes.SPLASH, this.getX() + (double)g, (double)(f + 0.8F), this.getZ() + (double)h, vec3.x, vec3.y, vec3.z); + this.level().addParticle(ParticleTypes.SPLASH, this.getX() + (double)g, f + 0.8F, this.getZ() + (double)h, vec3.x, vec3.y, vec3.z); } } } @@ -303,50 +303,20 @@ public InteractionResult mobInteract(Player player, InteractionHand hand) { boolean bl = this.isOwnedBy(player) || this.isTame() || itemStack.is(Items.BONE) && !this.isTame() && !this.isAngry(); return bl ? InteractionResult.CONSUME : InteractionResult.PASS; } else { - label90: { + { if (this.isTame()) { if (this.isFood(itemStack) && this.getHealth() < this.getMaxHealth()) { if (!player.getAbilities().instabuild) { itemStack.shrink(1); } - this.heal((float)item.getFoodProperties().getNutrition()); + this.heal((float) item.getFoodProperties().getNutrition()); return InteractionResult.SUCCESS; } - - /* if (!(item instanceof DyeItem)) { - break label90; - }*/ - - /*DyeItem dyeItem = (DyeItem)item; - if (!this.isOwnedBy(player)) { - break label90; - }*/ - - //DyeColor dyeColor = dyeItem.getDyeColor(); - /*if (dyeColor != this.getCollarColor()) { - this.setCollarColor(dyeColor); - if (!player.getAbilities().instabuild) { - itemStack.shrink(1); - } - - return InteractionResult.SUCCESS; - }*/ } return super.mobInteract(player, hand); } - - /*InteractionResult interactionResult = super.mobInteract(player, hand); - if ((!interactionResult.consumesAction() || this.isBaby()) && this.isOwnedBy(player)) { - this.setOrderedToSit(!this.isOrderedToSit()); - this.jumping = false; - this.navigation.stop(); - this.setTarget((LivingEntity)null); - return InteractionResult.SUCCESS; - } else { - return interactionResult; - }*/ } } @@ -381,7 +351,7 @@ public int getMaxSpawnClusterSize() { } public int getRemainingPersistentAngerTime() { - return (Integer)this.entityData.get(DATA_REMAINING_ANGER_TIME); + return this.entityData.get(DATA_REMAINING_ANGER_TIME); } public void setRemainingPersistentAngerTime(int remainingPersistentAngerTime) { @@ -401,19 +371,9 @@ public void setPersistentAngerTarget(@Nullable UUID persistentAngerTarget) { this.persistentAngerTarget = persistentAngerTarget; } - /*public DyeColor getCollarColor() { - return DyeColor.byId((Integer)this.entityData.get(DATA_COLLAR_COLOR)); - }*/ - - /*public void setCollarColor(DyeColor collarColor) { - this.entityData.set(DATA_COLLAR_COLOR, collarColor.getId()); - }*/ - @Nullable public IrradiatedWolf getBreedOffspring(ServerLevel level, AgeableMob otherParent) { - IrradiatedWolf wolf = CNEntityType.IRRADIATED_WOLF.create(level); - - return wolf; + return CNEntityType.IRRADIATED_WOLF.create(level); } public void setIsInterested(boolean isInterested) { @@ -425,10 +385,9 @@ public boolean canMate(Animal otherAnimal) { return false; } else if (!this.isTame()) { return false; - } else if (!(otherAnimal instanceof IrradiatedWolf)) { + } else if (!(otherAnimal instanceof IrradiatedWolf wolf)) { return false; } else { - IrradiatedWolf wolf = (IrradiatedWolf)otherAnimal; if (!wolf.isTame()) { return false; } else if (wolf.isInSittingPose()) { @@ -440,13 +399,12 @@ public boolean canMate(Animal otherAnimal) { } public boolean isInterested() { - return (Boolean)this.entityData.get(DATA_INTERESTED_ID); + return this.entityData.get(DATA_INTERESTED_ID); } public boolean wantsToAttack(LivingEntity target, LivingEntity owner) { if (!(target instanceof Creeper) && !(target instanceof Ghast)) { - if (target instanceof IrradiatedWolf) { - IrradiatedWolf wolf = (IrradiatedWolf)target; + if (target instanceof IrradiatedWolf wolf) { return !wolf.isTame() || wolf.getOwner() != owner; } else if (target instanceof Player && owner instanceof Player && !((Player)owner).canHarmPlayer((Player)target)) { return false; @@ -465,7 +423,7 @@ public boolean canBeLeashed(Player player) { } public @NotNull Vec3 getLeashOffset() { - return new Vec3(0.0, (double)(0.6F * this.getEyeHeight()), (double)(this.getBbWidth() * 0.4F)); + return new Vec3(0.0, 0.6F * this.getEyeHeight(), this.getBbWidth() * 0.4F); } public static boolean checkWolfSpawnRules(EntityType wolf, LevelAccessor level, MobSpawnType spawnType, BlockPos pos, RandomSource random) { @@ -513,12 +471,12 @@ private boolean avoidLlama(Llama llama) { } public void start() { - IrradiatedWolf.this.setTarget((LivingEntity)null); + IrradiatedWolf.this.setTarget(null); super.start(); } public void tick() { - IrradiatedWolf.this.setTarget((LivingEntity)null); + IrradiatedWolf.this.setTarget(null); super.tick(); } } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWolfModel.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWolfModel.java index 5cea639d..e62c73a6 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWolfModel.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWolfModel.java @@ -2,19 +2,19 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.client.model.ColorableAgeableListModel; -import net.minecraft.client.model.geom.ModelLayerLocation; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; -import net.nuclearteam.createnuclear.CreateNuclear; +import javax.annotation.ParametersAreNonnullByDefault; +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +@SuppressWarnings("unused") public class IrradiatedWolfModel extends ColorableAgeableListModel { - // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor - public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(CreateNuclear.asResource("irradiated_wolf"), "main"); private final ModelPart head; private final ModelPart pustule1; private final ModelPart pustule2; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWolfRenderer.java b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWolfRenderer.java index 50ef4236..67f71f97 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWolfRenderer.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/contraptions/irradiated/wolf/IrradiatedWolfRenderer.java @@ -9,6 +9,9 @@ import net.nuclearteam.createnuclear.content.contraptions.irradiated.CNModelLayers; import org.jetbrains.annotations.NotNull; +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault public class IrradiatedWolfRenderer extends MobRenderer> { private static final ResourceLocation WOLF_LOCATION = CreateNuclear.asResource("textures/entity/irradiated_wolf.png"); private static final ResourceLocation WOLF_TAME_LOCATION = CreateNuclear.asResource("textures/entity/irradiated_wolf.png"); @@ -16,7 +19,6 @@ public class IrradiatedWolfRenderer extends MobRenderer(context.bakeLayer(CNModelLayers.IRRADIATED_WOLF)), 0.5F); - //this.addLayer(new IrradiatedWoldCollarLayer(this)); } protected float getBob(IrradiatedWolf livingBase, float partialTicks) { @@ -26,12 +28,12 @@ protected float getBob(IrradiatedWolf livingBase, float partialTicks) { public void render(IrradiatedWolf entity, float entityYaw, float partialTicks, PoseStack matrixStack, MultiBufferSource buffer, int packedLight) { if (entity.isWet()) { float f = entity.getWetShade(partialTicks); - ((IrradiatedWolfModel)this.model).setColor(f, f, f); + this.model.setColor(f, f, f); } super.render(entity, entityYaw, partialTicks, matrixStack, buffer, packedLight); if (entity.isWet()) { - ((IrradiatedWolfModel)this.model).setColor(1.0F, 1.0F, 1.0F); + this.model.setColor(1.0F, 1.0F, 1.0F); } } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteStoneTypes.java b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteStoneTypes.java index a0912a5d..01cfa0c9 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteStoneTypes.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/CNPaletteStoneTypes.java @@ -16,6 +16,7 @@ import static net.nuclearteam.createnuclear.content.decoration.palettes.PaletteBlockPattern.STANDARD_RANGE; +@SuppressWarnings("unused") public enum CNPaletteStoneTypes { AUTUNITE(STANDARD_RANGE, r -> r.paletteStoneBlock("autunite", () -> Blocks.ANDESITE, true, true) .properties(p -> @@ -24,11 +25,11 @@ public enum CNPaletteStoneTypes { .register()), ; - private Function> factory; + private final Function> factory; private PalettesVariantEntry variant; public NonNullSupplier baseBlock; - public PaletteBlockPattern[] variantTypes; + public final PaletteBlockPattern[] variantTypes; public TagKey materialTag; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPartial.java b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPartial.java index 616edbee..8370607b 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPartial.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPartial.java @@ -9,6 +9,7 @@ import com.tterrag.registrate.util.DataIngredient; import com.tterrag.registrate.util.entry.BlockEntry; import com.tterrag.registrate.util.nullness.NonnullType; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.ShapedRecipeBuilder; import net.minecraft.data.recipes.ShapelessRecipeBuilder; @@ -27,11 +28,14 @@ import net.nuclearteam.createnuclear.CreateNuclear; import net.nuclearteam.createnuclear.foundation.utility.CreateNuclearLang; -import java.util.Arrays; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.List; import java.util.function.Supplier; import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault public abstract class PaletteBlockPartial { public static final PaletteBlockPartial STAIR = new Stairs(); public static final PaletteBlockPartial SLAB = new Slab(false); @@ -41,7 +45,7 @@ public abstract class PaletteBlockPartial { public static final PaletteBlockPartial[] ALL_PARTIALS = {STAIR, SLAB, WALL}; public static final PaletteBlockPartial[] FOR_POLISHED = {STAIR, UNIQUE_SLAB, WALL}; - private String name; + private final String name; private PaletteBlockPartial(String name) { this.name = name; @@ -120,27 +124,27 @@ protected void generateBlockState(DataGenContext ctx, Registr @Override protected Iterable> getBlockTags() { - return Arrays.asList(BlockTags.STAIRS); + return List.of(BlockTags.STAIRS); } @Override protected Iterable> getItemTags() { - return Arrays.asList(ItemTags.STAIRS); + return List.of(ItemTags.STAIRS); } @Override protected void createRecipes(CNPaletteStoneTypes type, BlockEntry patternBlock, DataGenContext c, RegistrateRecipeProvider p) { RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; - p.stairs(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); - p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); + p.stairs(DataIngredient.items(patternBlock.get()), category, c, c.getName(), false); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c, 1); } } private static class Slab extends PaletteBlockPartial { - private boolean customSide; + private final boolean customSide; public Slab(boolean customSide) { super("slab"); @@ -183,20 +187,20 @@ protected void generateBlockState(DataGenContext ctx, Registra @Override protected Iterable> getBlockTags() { - return Arrays.asList(BlockTags.SLABS); + return List.of(BlockTags.SLABS); } @Override protected Iterable> getItemTags() { - return Arrays.asList(ItemTags.SLABS); + return List.of(ItemTags.SLABS); } @Override protected void createRecipes(CNPaletteStoneTypes type, BlockEntry patternBlock, DataGenContext c, RegistrateRecipeProvider p) { RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; - p.slab(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); - p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 2); + p.slab(DataIngredient.items(patternBlock.get()), category, c, c.getName(), false); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c, 2); DataIngredient ingredient = DataIngredient.items(c.get()); ShapelessRecipeBuilder.shapeless(category, patternBlock.get()) .requires(ingredient) @@ -241,19 +245,19 @@ protected void generateBlockState(DataGenContext ctx, Registra @Override protected Iterable> getBlockTags() { - return Arrays.asList(BlockTags.WALLS); + return List.of(BlockTags.WALLS); } @Override protected Iterable> getItemTags() { - return Arrays.asList(ItemTags.WALLS); + return List.of(ItemTags.WALLS); } @Override protected void createRecipes(CNPaletteStoneTypes type, BlockEntry patternBlock, DataGenContext c, RegistrateRecipeProvider p) { RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; - p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c, 1); DataIngredient ingredient = DataIngredient.items(patternBlock.get()); ShapedRecipeBuilder.shaped(category, c.get(), 6) .pattern("XXX") diff --git a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPattern.java b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPattern.java index 259f448a..f06ddf5f 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPattern.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/decoration/palettes/PaletteBlockPattern.java @@ -29,6 +29,7 @@ import static net.nuclearteam.createnuclear.content.decoration.palettes.PaletteBlockPartial.FOR_POLISHED; import static net.nuclearteam.createnuclear.content.decoration.palettes.PaletteBlockPattern.PatternNameType.*; +@SuppressWarnings("unused") public class PaletteBlockPattern { public static final PaletteBlockPattern CUT = create("cut", PREFIX, ALL_PARTIALS), @@ -231,9 +232,9 @@ public enum CTs { LAYERED(AllCTTypes.HORIZONTAL_KRYPPERS, s -> toLocation(s, "layered")), ; - public CTType type; - private Function srcFactory; - private Function targetFactory; + public final CTType type; + private final Function srcFactory; + private final Function targetFactory; CTs(CTType type, Function factory) { this(type, factory, factory); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java b/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java index 3003a3d0..e0eee6b6 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/effects/RadiationEffect.java @@ -4,7 +4,6 @@ import net.minecraft.world.effect.MobEffectCategory; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; -import net.nuclearteam.createnuclear.CNEffects; import net.nuclearteam.createnuclear.CNTags; import net.nuclearteam.createnuclear.content.equipment.armor.AntiRadiationArmorItem; import net.minecraft.world.entity.ai.attributes.Attributes; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/enriching/campfire/EnrichingCampfireBlock.java b/src/main/java/net/nuclearteam/createnuclear/content/enriching/campfire/EnrichingCampfireBlock.java index d5a96c3f..1b210938 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/enriching/campfire/EnrichingCampfireBlock.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/enriching/campfire/EnrichingCampfireBlock.java @@ -1,6 +1,7 @@ package net.nuclearteam.createnuclear.content.enriching.campfire; import com.simibubi.create.foundation.block.IBE; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; @@ -39,19 +40,22 @@ import net.nuclearteam.createnuclear.CNEffects; import org.jetbrains.annotations.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +@SuppressWarnings({"deprecation", "unused"}) public class EnrichingCampfireBlock extends BaseEntityBlock implements SimpleWaterloggedBlock, IBE { protected static final VoxelShape SHAPE = Block.box(0.0, 0.0, 0.0, 16.0, 7.0, 16.0); public static final BooleanProperty LIT = BlockStateProperties.LIT; public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; private final boolean spawnParticles; - private final int fireDamage; - public EnrichingCampfireBlock(Properties propertie, boolean spawnParticles, int fireDamage) { - super(propertie); + public EnrichingCampfireBlock(Properties property, boolean spawnParticles, int fireDamage) { + super(property); this.spawnParticles = spawnParticles; - this.fireDamage = fireDamage; - this.registerDefaultState((BlockState) ((BlockState)((BlockState)((BlockState)this.stateDefinition.any()).setValue(LIT, true)).setValue(WATERLOGGED, false)).setValue(FACING, Direction.NORTH)); + this.registerDefaultState(this.stateDefinition.any().setValue(LIT, true).setValue(WATERLOGGED, false).setValue(FACING, Direction.NORTH)); } @Override @@ -61,9 +65,8 @@ public InteractionResult use(BlockState state, Level level, BlockPos pos, Player @Override public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { - if (state.getValue(LIT).booleanValue() && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity)entity)) { + if (state.getValue(LIT) && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity)entity)) { ((LivingEntity) entity).addEffect(new MobEffectInstance(CNEffects.RADIATION.get(), 100, 0)); - //entity.hurt(level.damageSources().inFire(), this.fireDamage); // a remplacé } super.entityInside(state, level, pos, entity); } @@ -73,13 +76,13 @@ public void entityInside(BlockState state, Level level, BlockPos pos, Entity ent public BlockState getStateForPlacement(BlockPlaceContext context) { BlockPos blockPos; Level levelAccessor = context.getLevel(); - boolean bl = levelAccessor.getFluidState(blockPos = context.getClickedPos()).getType() == Fluids.WATER; - return (BlockState)((BlockState)((BlockState)this.defaultBlockState().setValue(WATERLOGGED, bl)).setValue(LIT, !bl)).setValue(FACING, context.getHorizontalDirection()); + boolean bl = levelAccessor.getFluidState(context.getClickedPos()).getType() == Fluids.WATER; + return this.defaultBlockState().setValue(WATERLOGGED, bl).setValue(LIT, !bl).setValue(FACING, context.getHorizontalDirection()); } @Override public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor level, BlockPos pos, BlockPos neighborPos) { - if (state.getValue(WATERLOGGED).booleanValue()) { + if (state.getValue(WATERLOGGED)) { level.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(level)); } return super.updateShape(state, direction, neighborState, level, pos, neighborPos); @@ -97,7 +100,7 @@ public RenderShape getRenderShape(BlockState p_49232_) { @Override public void animateTick(BlockState state, Level level, BlockPos pos, RandomSource random) { - if (!state.getValue(LIT).booleanValue()) { + if (!state.getValue(LIT)) { return; } if (random.nextInt(10) == 0) { @@ -125,7 +128,7 @@ public static void dowse(@Nullable Entity entity, LevelAccessor level, BlockPos @Override public boolean placeLiquid(LevelAccessor level, BlockPos pos, BlockState state, FluidState fluidState) { - if (!state.getValue(BlockStateProperties.WATERLOGGED).booleanValue() && fluidState.getType() == Fluids.WATER) { + if (!state.getValue(BlockStateProperties.WATERLOGGED) && fluidState.getType() == Fluids.WATER) { boolean bl = state.getValue(LIT); if (bl) { if (!level.isClientSide()) { @@ -133,7 +136,7 @@ public boolean placeLiquid(LevelAccessor level, BlockPos pos, BlockState state, } EnrichingCampfireBlock.dowse(null, level, pos, state); } - level.setBlock(pos, (BlockState)((BlockState)state.setValue(WATERLOGGED, true)).setValue(LIT, false), 3); + level.setBlock(pos, state.setValue(WATERLOGGED, true).setValue(LIT, false), 3); level.scheduleTick(pos, fluidState.getType(), fluidState.getType().getTickDelay(level)); return true; } @@ -143,8 +146,8 @@ public boolean placeLiquid(LevelAccessor level, BlockPos pos, BlockState state, @Override public void onProjectileHit(Level level, BlockState state, BlockHitResult hit, Projectile projectile) { BlockPos blockPos = hit.getBlockPos(); - if (!level.isClientSide && projectile.isOnFire() && projectile.mayInteract(level, blockPos) && !state.getValue(LIT).booleanValue() && !state.getValue(WATERLOGGED).booleanValue()) { - level.setBlock(blockPos, (BlockState)state.setValue(BlockStateProperties.LIT, true), 11); + if (!level.isClientSide && projectile.isOnFire() && projectile.mayInteract(level, blockPos) && !state.getValue(LIT) && !state.getValue(WATERLOGGED)) { + level.setBlock(blockPos, state.setValue(BlockStateProperties.LIT, true), 11); } } @@ -155,7 +158,7 @@ public static void makeParticles(Level level, BlockPos pos) { @Override public FluidState getFluidState(BlockState state) { - if (state.getValue(WATERLOGGED).booleanValue()) { + if (state.getValue(WATERLOGGED)) { return Fluids.WATER.getSource(false); } return super.getFluidState(state); @@ -163,7 +166,7 @@ public FluidState getFluidState(BlockState state) { @Override public BlockState rotate(BlockState state, Rotation rotation) { - return (BlockState)state.setValue(FACING, rotation.rotate(state.getValue(FACING))); + return state.setValue(FACING, rotation.rotate(state.getValue(FACING))); } @Override @@ -194,7 +197,7 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { @Override public BlockEntityTicker getTicker(Level level, BlockState state, BlockEntityType blockEntityType) { if (level.isClientSide) { - if (state.getValue(LIT).booleanValue()) { + if (state.getValue(LIT)) { return EnrichingCampfireBlock.createTickerHelper(blockEntityType, CNBlockEntityTypes.ENRICHING_CAMPFIRE_BLOCK.get(), EnrichingCampfireBlockEntity::particleTick); } } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/enriching/campfire/EnrichingCampfireBlockEntity.java b/src/main/java/net/nuclearteam/createnuclear/content/enriching/campfire/EnrichingCampfireBlockEntity.java index 35b295e9..3bb64fa3 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/enriching/campfire/EnrichingCampfireBlockEntity.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/enriching/campfire/EnrichingCampfireBlockEntity.java @@ -10,6 +10,7 @@ import java.util.List; +@SuppressWarnings("unused") public class EnrichingCampfireBlockEntity extends SmartBlockEntity { public EnrichingCampfireBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/enriching/fire/EnrichingFireBlock.java b/src/main/java/net/nuclearteam/createnuclear/content/enriching/fire/EnrichingFireBlock.java index 90455ee9..94e27c61 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/enriching/fire/EnrichingFireBlock.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/enriching/fire/EnrichingFireBlock.java @@ -1,9 +1,9 @@ package net.nuclearteam.createnuclear.content.enriching.fire; import com.tterrag.registrate.util.nullness.NonNullUnaryOperator; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.BaseFireBlock; @@ -11,6 +11,11 @@ import net.minecraft.world.level.block.state.BlockState; import net.nuclearteam.createnuclear.CNTags.CNBlockTags; +import javax.annotation.ParametersAreNonnullByDefault; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +@SuppressWarnings({"deprecation"}) public class EnrichingFireBlock extends BaseFireBlock { public EnrichingFireBlock(Properties properties, float fireDamage) { diff --git a/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/AntiRadiationArmorItem.java b/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/AntiRadiationArmorItem.java index ea13588b..de4f7e95 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/AntiRadiationArmorItem.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/equipment/armor/AntiRadiationArmorItem.java @@ -15,6 +15,7 @@ import java.util.*; import java.util.function.Function; +@SuppressWarnings("unused") public class AntiRadiationArmorItem { public static final ArmorItem.Type HELMET = ArmorItem.Type.HELMET; @@ -39,21 +40,21 @@ public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot public static class DyeItemHelmetList implements Iterable> { private static final int COLOR_AMOUNT = DyeColor.values().length; - private final ItemEntry[] entrys = new ItemEntry[COLOR_AMOUNT]; + private final ItemEntry[] entry = new ItemEntry[COLOR_AMOUNT]; public DyeItemHelmetList(Function> filler) { for (DyeColor color : DyeColor.values()) { - entrys[color.ordinal()] = filler.apply(color); + entry[color.ordinal()] = filler.apply(color); } } @SuppressWarnings("unchecked") public ItemEntry get(DyeColor color) { - return (ItemEntry) entrys[color.ordinal()]; + return (ItemEntry) entry[color.ordinal()]; } public boolean contains(Item block) { - for (ItemEntry entry : entrys) { + for (ItemEntry entry : entry) { if (entry.is(block)) return true; } return false; @@ -61,7 +62,7 @@ public boolean contains(Item block) { @SuppressWarnings("unchecked") public ItemEntry[] toArray() { - return (ItemEntry[]) Arrays.copyOf(entrys, entrys.length); + return (ItemEntry[]) Arrays.copyOf(entry, entry.length); } @Override @@ -70,14 +71,14 @@ public Iterator> iterator() { private int index = 0; @Override public boolean hasNext() { - return index < entrys.length; + return index < entry.length; } @SuppressWarnings("unchecked") @Override public ItemEntry next() { if (!hasNext()) throw new NoSuchElementException(); - return (ItemEntry) entrys[index++]; + return (ItemEntry) entry[index++]; } }; } @@ -109,21 +110,21 @@ public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot public static class DyeItemChestplateList implements Iterable> { private static final int COLOR_AMOUNT = DyeColor.values().length; - private final ItemEntry[] entrys = new ItemEntry[COLOR_AMOUNT]; + private final ItemEntry[] entry = new ItemEntry[COLOR_AMOUNT]; public DyeItemChestplateList(Function> filler) { for (DyeColor color : DyeColor.values()) { - entrys[color.ordinal()] = filler.apply(color); + entry[color.ordinal()] = filler.apply(color); } } @SuppressWarnings("unchecked") public ItemEntry get(DyeColor color) { - return (ItemEntry) entrys[color.ordinal()]; + return (ItemEntry) entry[color.ordinal()]; } public boolean contains(Item block) { - for (ItemEntry entry : entrys) { + for (ItemEntry entry : entry) { if (entry.is(block)) return true; } return false; @@ -131,7 +132,7 @@ public boolean contains(Item block) { @SuppressWarnings("unchecked") public ItemEntry[] toArray() { - return (ItemEntry[]) Arrays.copyOf(entrys, entrys.length); + return (ItemEntry[]) Arrays.copyOf(entry, entry.length); } @Override @@ -140,14 +141,14 @@ public Iterator> iterator() { private int index = 0; @Override public boolean hasNext() { - return index < entrys.length; + return index < entry.length; } @SuppressWarnings("unchecked") @Override public ItemEntry next() { if (!hasNext()) throw new NoSuchElementException(); - return (ItemEntry) entrys[index++]; + return (ItemEntry) entry[index++]; } }; } @@ -177,21 +178,21 @@ public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot public static class DyeItemLeggingsList implements Iterable> { private static final int COLOR_AMOUNT = DyeColor.values().length; - private final ItemEntry[] entrys = new ItemEntry[COLOR_AMOUNT]; + private final ItemEntry[] entry = new ItemEntry[COLOR_AMOUNT]; public DyeItemLeggingsList(Function> filler) { for (DyeColor color : DyeColor.values()) { - entrys[color.ordinal()] = filler.apply(color); + entry[color.ordinal()] = filler.apply(color); } } @SuppressWarnings("unchecked") public ItemEntry get(DyeColor color) { - return (ItemEntry) entrys[color.ordinal()]; + return (ItemEntry) entry[color.ordinal()]; } public boolean contains(Item block) { - for (ItemEntry entry : entrys) { + for (ItemEntry entry : entry) { if (entry.is(block)) return true; } return false; @@ -199,7 +200,7 @@ public boolean contains(Item block) { @SuppressWarnings("unchecked") public ItemEntry[] toArray() { - return (ItemEntry[]) Arrays.copyOf(entrys, entrys.length); + return (ItemEntry[]) Arrays.copyOf(entry, entry.length); } @Override @@ -208,14 +209,14 @@ public Iterator> iterator() { private int index = 0; @Override public boolean hasNext() { - return index < entrys.length; + return index < entry.length; } @SuppressWarnings("unchecked") @Override public ItemEntry next() { if (!hasNext()) throw new NoSuchElementException(); - return (ItemEntry) entrys[index++]; + return (ItemEntry) entry[index++]; } }; } @@ -240,12 +241,12 @@ public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot } } - public static class DyeRecipArmorList implements Iterable { + public static class DyeRecipeArmorList implements Iterable { private static final int COLOR_AMOUNT = DyeColor.values().length; protected final GeneratedRecipe[] recipes = new GeneratedRecipe[getColorCount()]; - public DyeRecipArmorList(Function<@NotNull DyeColor, GeneratedRecipe> filler) { + public DyeRecipeArmorList(Function<@NotNull DyeColor, GeneratedRecipe> filler) { for (DyeColor color : DyeColor.values()) { recipes[color.ordinal()] = filler.apply(color); } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/equipment/cloth/ClothItem.java b/src/main/java/net/nuclearteam/createnuclear/content/equipment/cloth/ClothItem.java index ed65850b..4aa03277 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/equipment/cloth/ClothItem.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/equipment/cloth/ClothItem.java @@ -10,6 +10,7 @@ import java.util.*; import java.util.function.Function; +@SuppressWarnings("unused") public class ClothItem extends Item { private final DyeColor color; @@ -60,9 +61,9 @@ public GeneratedRecipe next() { } public static class NullableDyedRecipeList extends DyeRecipeList { - public NullableDyedRecipeList(Function<@Nullable DyeColor, GeneratedRecipe> fillter) { - super(fillter); - recipes[recipes.length - 1] = fillter.apply(null); + public NullableDyedRecipeList(Function<@Nullable DyeColor, GeneratedRecipe> filter) { + super(filter); + recipes[recipes.length - 1] = filter.apply(null); } @Override protected int getColorCount() { @@ -80,21 +81,21 @@ public static class DyeItemList implements Iterable private static final int COLOR_AMOUNT = DyeColor.values().length; - private final ItemEntry[] entrys = new ItemEntry[COLOR_AMOUNT]; + private final ItemEntry[] entry = new ItemEntry[COLOR_AMOUNT]; public DyeItemList(Function> filler) { for (DyeColor color : DyeColor.values()) { - entrys[color.ordinal()] = filler.apply(color); + entry[color.ordinal()] = filler.apply(color); } } @SuppressWarnings("unchecked") public ItemEntry get(DyeColor color) { - return (ItemEntry) entrys[color.ordinal()]; + return (ItemEntry) entry[color.ordinal()]; } public boolean contains(Item block) { - for (ItemEntry entry : entrys) { + for (ItemEntry entry : entry) { if (entry.is(block)) return true; } return false; @@ -102,7 +103,7 @@ public boolean contains(Item block) { @SuppressWarnings("unchecked") public ItemEntry[] toArray() { - return (ItemEntry[]) Arrays.copyOf(entrys, entrys.length); + return (ItemEntry[]) Arrays.copyOf(entry, entry.length); } @Override @@ -111,13 +112,13 @@ public Iterator> iterator() { private int index = 0; @Override public boolean hasNext() { - return index < entrys.length; + return index < entry.length; } @SuppressWarnings("unchecked") @Override public ItemEntry next() { if (!hasNext()) throw new NoSuchElementException(); - return (ItemEntry) entrys[index++]; + return (ItemEntry) entry[index++]; } }; } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/kinetics/fan/processing/CNFanProcessingTypes.java b/src/main/java/net/nuclearteam/createnuclear/content/kinetics/fan/processing/CNFanProcessingTypes.java index 494ad6cc..b4a74269 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/kinetics/fan/processing/CNFanProcessingTypes.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/kinetics/fan/processing/CNFanProcessingTypes.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Optional; +@SuppressWarnings("unused") public class CNFanProcessingTypes { public static final EnrichedType ENRICHED = register("enriched", new EnrichedType()); @@ -64,10 +65,7 @@ public static class EnrichedType implements FanProcessingType { public boolean isValidAt(Level level, BlockPos pos) { BlockState state = level.getBlockState(pos); if (CNTags.CNBlockTags.FAN_PROCESSING_CATALYSTS_ENRICHED.matches(state)) { - if (state.is(CNBlocks.ENRICHING_CAMPFIRE.get()) && state.hasProperty(EnrichingCampfireBlock.LIT) && !state.getValue(EnrichingCampfireBlock.LIT)) { - return false; - } - return true; + return !state.is(CNBlocks.ENRICHING_CAMPFIRE.get()) || !state.hasProperty(EnrichingCampfireBlock.LIT) || state.getValue(EnrichingCampfireBlock.LIT); } return false; } @@ -89,10 +87,7 @@ public boolean canProcess(ItemStack stack, Level level) { public List process(ItemStack stack, Level level) { ENRICHED_WRAPPER.setItem(0, stack); Optional recipe = CNRecipeTypes.ENRICHED.find(ENRICHED_WRAPPER, level); - if (recipe.isPresent()) { - return RecipeApplier.applyRecipeOn(level, stack, recipe.get()); - } - return null; + return recipe.map(enrichedRecipe -> RecipeApplier.applyRecipeOn(level, stack, enrichedRecipe)).orElse(null); } @Override diff --git a/src/main/java/net/nuclearteam/createnuclear/content/kinetics/fan/processing/EnrichedRecipe.java b/src/main/java/net/nuclearteam/createnuclear/content/kinetics/fan/processing/EnrichedRecipe.java index 67b3c450..a14ecae1 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/kinetics/fan/processing/EnrichedRecipe.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/kinetics/fan/processing/EnrichedRecipe.java @@ -2,8 +2,6 @@ import javax.annotation.ParametersAreNonnullByDefault; -import com.simibubi.create.AllRecipeTypes; -import com.simibubi.create.content.kinetics.fan.processing.HauntingRecipe.HauntingWrapper; import com.simibubi.create.content.processing.recipe.ProcessingRecipe; import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder.ProcessingRecipeParams; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItem.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItem.java index 48e33bac..b0069fdd 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItem.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItem.java @@ -1,5 +1,6 @@ package net.nuclearteam.createnuclear.content.multiblock.bluePrintItem; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; @@ -19,6 +20,10 @@ import net.nuclearteam.createnuclear.CNItems; import org.jetbrains.annotations.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault public class ReactorBluePrintItem extends Item implements MenuProvider { public ReactorBluePrintItem(Properties properties) { @@ -49,16 +54,12 @@ public InteractionResultHolder use(Level world, Player player, Intera if (!player.isShiftKeyDown() && hand == InteractionHand.MAIN_HAND) { if (!world.isClientSide && player instanceof ServerPlayer) - NetworkHooks.openScreen((ServerPlayer) player, this, buf -> { - buf.writeItem(heldItem); - }); + NetworkHooks.openScreen((ServerPlayer) player, this, buf -> buf.writeItem(heldItem)); return InteractionResultHolder.success(heldItem); } else if (player.isShiftKeyDown() && hand == InteractionHand.MAIN_HAND) { if (!world.isClientSide && player instanceof ServerPlayer) { - NetworkHooks.openScreen((ServerPlayer) player, this, buf -> { - buf.writeItem(heldItem); - }); + NetworkHooks.openScreen((ServerPlayer) player, this, buf -> buf.writeItem(heldItem)); } return InteractionResultHolder.success(heldItem); } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItemPacket.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItemPacket.java index 29cdce34..f8657d55 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItemPacket.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItemPacket.java @@ -6,6 +6,7 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraftforge.network.NetworkEvent; +@SuppressWarnings("unused") public class ReactorBluePrintItemPacket extends SimplePacketBase { private final CompoundTag tag; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItemScreen.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItemScreen.java index 54f1e0d0..abd2a021 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItemScreen.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintItemScreen.java @@ -9,8 +9,12 @@ import net.nuclearteam.createnuclear.CNPackets; import net.nuclearteam.createnuclear.foundation.gui.CNGuiTextures; +import javax.annotation.ParametersAreNonnullByDefault; + import static com.simibubi.create.foundation.gui.AllGuiTextures.PLAYER_INVENTORY; +@ParametersAreNonnullByDefault +@SuppressWarnings({"unused"}) public class ReactorBluePrintItemScreen extends AbstractSimiContainerScreen { protected static final CNGuiTextures BG = CNGuiTextures.CONFIGURED_PATTERN_GUI; @@ -39,7 +43,6 @@ protected void renderBg(GuiGraphics guiGraphics, float partialTick, int mouseX, } - @SuppressWarnings("unchecked") @Override protected void containerTick() { super.containerTick(); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintMenu.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintMenu.java index 1dc783ec..a6406ae2 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintMenu.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/bluePrintItem/ReactorBluePrintMenu.java @@ -78,7 +78,7 @@ protected ItemStack createOnClient(FriendlyByteBuf extraData) { @Override protected void addSlots() { - addPlayerSlots(getPlayerInventotryXOffset(), getplayerInventoryYOffset()); + addPlayerSlots(getPlayerInventoryXOffset(), getPlayerInventoryYOffset()); addPatternSlots(); } @@ -127,11 +127,11 @@ protected void saveData(ItemStack contentHolder) { } - protected int getPlayerInventotryXOffset() { + protected int getPlayerInventoryXOffset() { return 31; } - protected int getplayerInventoryYOffset() { + protected int getPlayerInventoryYOffset() { return 231; } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/casing/ReactorCasing.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/casing/ReactorCasing.java index 12f3777f..cbdee861 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/casing/ReactorCasing.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/casing/ReactorCasing.java @@ -2,6 +2,7 @@ import com.simibubi.create.content.equipment.wrench.IWrenchable; import com.simibubi.create.foundation.block.IBE; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.core.Vec3i; import net.minecraft.network.chat.Component; @@ -25,10 +26,14 @@ import net.nuclearteam.createnuclear.foundation.utility.CreateNuclearLang; import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.List; +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +@SuppressWarnings({"deprecation", "unused"}) public class ReactorCasing extends Block implements IWrenchable, IBE { - private TypeBlock typeBlock; + private final TypeBlock typeBlock; public ReactorCasing(Properties properties, TypeBlock tBlock) { super(properties); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/casing/ReactorCasingEntity.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/casing/ReactorCasingEntity.java index 94df1932..bd9dc73c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/casing/ReactorCasingEntity.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/casing/ReactorCasingEntity.java @@ -12,8 +12,6 @@ public class ReactorCasingEntity extends SmartBlockEntity { protected BlockPos controller; - //protected ReactorControllerInventory inventory; - public ReactorCasingEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); setController(pos); diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/EventTriggerPacket.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/EventTriggerPacket.java index 00909f95..77cb368c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/EventTriggerPacket.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/EventTriggerPacket.java @@ -28,9 +28,7 @@ public void write(FriendlyByteBuf buffer) { @Override public boolean handle(NetworkEvent.Context context) { - context.enqueueWork(() -> { - EventTextOverlay.triggerEvent(duration); - }); + context.enqueueWork(() -> EventTextOverlay.triggerEvent(duration)); return true; } } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlock.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlock.java index a544890b..e9fd5cc1 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlock.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlock.java @@ -4,6 +4,7 @@ import com.simibubi.create.foundation.block.IBE; import com.simibubi.create.foundation.item.ItemHelper; import net.minecraft.ChatFormatting; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; @@ -28,8 +29,12 @@ import net.nuclearteam.createnuclear.foundation.block.HorizontalDirectionalReactorBlock; import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.List; +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +@SuppressWarnings("deprecation") public class ReactorControllerBlock extends HorizontalDirectionalReactorBlock implements IWrenchable, IBE { public static final BooleanProperty ASSEMBLED = BooleanProperty.create("assembled"); @@ -65,7 +70,7 @@ public InteractionResult use(BlockState state, Level worldIn, BlockPos pos, Play ItemStack heldItem = player.getItemInHand(handIn); - if (Boolean.FALSE.equals(state.getValue(ASSEMBLED))) { + if (!state.getValue(ASSEMBLED)) { player.sendSystemMessage(Component.translatable("reactor.info.assembled.none").withStyle(ChatFormatting.RED)); } else { @@ -119,7 +124,7 @@ public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState n @Override public void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston) { super.onPlace(state, level, pos, oldState, movedByPiston); - if (Boolean.TRUE.equals(state.getValue(ASSEMBLED))) + if (state.getValue(ASSEMBLED)) return; List players = level.players(); ReactorControllerBlock controller = (ReactorControllerBlock) state.getBlock(); @@ -175,18 +180,16 @@ public void Rotate(BlockState state, BlockPos pos, Level level, int rotation) { ReactorOutput block = (ReactorOutput) level.getBlockState(pos).getBlock(); ReactorOutputEntity entity = block.getBlockEntityType().getBlockEntity(level, pos); - if (Boolean.TRUE.equals(state.getValue(ASSEMBLED)) && rotation != 0) { // Starting the energy + if (state.getValue(ASSEMBLED) && rotation != 0) { // Starting the energy entity.speed = rotation; entity.setSpeed(Math.abs(entity.speed)); - entity.updateSpeed = true; - entity.updateGeneratedRotation(); } else { // stopping the energy entity.setSpeed(0); entity.speed = 0; - entity.updateSpeed = true; - entity.updateGeneratedRotation(); } + entity.updateSpeed = true; + entity.updateGeneratedRotation(); entity.setSpeed(rotation); } diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlockEntity.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlockEntity.java index fc90bef4..52233727 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlockEntity.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerBlockEntity.java @@ -29,13 +29,13 @@ import net.nuclearteam.createnuclear.content.multiblock.input.ReactorInputEntity; import net.nuclearteam.createnuclear.content.multiblock.output.ReactorOutput; import net.nuclearteam.createnuclear.content.multiblock.output.ReactorOutputEntity; -import net.nuclearteam.createnuclear.foundation.utility.CreateNuclearLang; import java.util.List; import static net.nuclearteam.createnuclear.content.multiblock.CNMultiblock.*; import static net.nuclearteam.createnuclear.content.multiblock.controller.ReactorControllerBlock.ASSEMBLED; +@SuppressWarnings({"unused"}) public class ReactorControllerBlockEntity extends SmartBlockEntity implements IInteractionChecker, IHaveGoggleInformation { public boolean destroyed = false; public boolean created = false; @@ -74,7 +74,7 @@ public class ReactorControllerBlockEntity extends SmartBlockEntity implements II private ItemStack fuelItem; private ItemStack coolerItem; - private int[][] formattedPattern = new int[][]{ + private final int[][] formattedPattern = new int[][]{ {99,99,99,0,1,2,99,99,99}, {99,99,3,4,5,6,7,99,99}, {99,8,9,10,11,12,13,14,99}, @@ -85,7 +85,7 @@ public class ReactorControllerBlockEntity extends SmartBlockEntity implements II {99,99,49,50,51,52,53,99,99}, {99,99,99,54,55,56,99,99,99} }; - private int[][] offsets = { {1, 0}, {-1, 0}, {0, 1}, {0, -1} }; + private final int[][] offsets = { {1, 0}, {-1, 0}, {0, 1}, {0, -1} }; @@ -103,7 +103,7 @@ public void addBehaviours(List behaviours) { public boolean getAssembled() { // permet de savoir si le réacteur est formé ou pas. BlockState state = getBlockState(); - return Boolean.TRUE.equals(state.getValue(ASSEMBLED)); + return state.getValue(ASSEMBLED); } @Override @@ -183,7 +183,7 @@ protected void write(CompoundTag compound, boolean clientPacket) { //Permet de s } public enum State { - ON, OFF; + ON, OFF } private void explodeReactorCore(Level level, BlockPos pos) { @@ -348,7 +348,7 @@ private double calculateHeat(CompoundTag tag) { // Loop through the list to find the neighbor slot for (int l = 0; l < list.size(); l++) { if (list.getCompound(l).getInt("Slot") == neighborSlot) { - // If currentRod equals "u", apply the corresponding heat + // If the currentRod equals "u", apply the corresponding heat if (currentRod.equals("u")) { String id = list.getCompound(l).getString("id"); if (id.equals("createnuclear:uranium_rod")) { @@ -430,27 +430,23 @@ private static BlockPos FindController(char character) { public void rotate(BlockState state, BlockPos pos, Level level, int rotation) { if (level.getBlockState(pos).is(CNBlocks.REACTOR_OUTPUT.get()) && rotation > 0) { - if (level.getBlockState(pos).getBlock() instanceof ReactorOutput) { - ReactorOutput block = (ReactorOutput) level.getBlockState(pos).getBlock(); + if (level.getBlockState(pos).getBlock() instanceof ReactorOutput block) { ReactorOutputEntity entity = block.getBlockEntityType().getBlockEntity(level, pos); if (state.getValue(ASSEMBLED)) { // Starting the energy entity.speed = rotation; entity.heat = rotation; - entity.updateSpeed = true; - entity.updateGeneratedRotation(); } else { // stopping the energy entity.speed = 0; entity.heat = 0; - entity.updateSpeed = true; - entity.updateGeneratedRotation(); } + entity.updateSpeed = true; + entity.updateGeneratedRotation(); entity.setSpeed(rotation); } } else { - if (level.getBlockState(pos).getBlock() instanceof ReactorOutput) { - ReactorOutput block = (ReactorOutput) level.getBlockState(pos).getBlock(); + if (level.getBlockState(pos).getBlock() instanceof ReactorOutput block) { ReactorOutputEntity entity = block.getBlockEntityType().getBlockEntity(level, pos); entity.setSpeed(0); entity.heat = 0; @@ -476,15 +472,13 @@ else if (heldItem.isEmpty()) { if (!level.isClientSide) { if (player.addItem(configuredPattern)){ configuredPattern = ItemStack.EMPTY; - notifyUpdate(); - return InteractionResult.CONSUME; } else { player.setItemInHand(hand, configuredPattern); inventory.setStackInSlot(0, ItemStack.EMPTY); - notifyUpdate(); - return InteractionResult.CONSUME; } + notifyUpdate(); + return InteractionResult.CONSUME; //return InteractionResult.FAIL; } else return InteractionResult.SUCCESS; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerInventory.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerInventory.java index e6bec6d9..1bd1bd5a 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerInventory.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorControllerInventory.java @@ -1,9 +1,11 @@ package net.nuclearteam.createnuclear.content.multiblock.controller; import com.simibubi.create.foundation.item.SmartInventory; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.world.item.ItemStack; import net.nuclearteam.createnuclear.CNItems; +@MethodsReturnNonnullByDefault public class ReactorControllerInventory extends SmartInventory { private final ReactorControllerBlockEntity be; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorOption.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorOption.java deleted file mode 100644 index da2b1697..00000000 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/controller/ReactorOption.java +++ /dev/null @@ -1,12 +0,0 @@ -package net.nuclearteam.createnuclear.content.multiblock.controller; - -public enum ReactorOption { - PLAY, - STOP, - COUNT_GRAPHITE_ROD, - COUNT_URANIUM_ROD, - REACTOR_POWER, - HEAT, - SCREEN_PATTERN - ;//, INVALIDE_INPUT1, INVALIDE_INPUT2, LACK_URANIUM_ROD, LACK_GRAPHITE_ROD; -} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/core/ReactorCoreEntity.java b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/core/ReactorCoreEntity.java index 97eef750..8b660c4b 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/multiblock/core/ReactorCoreEntity.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/multiblock/core/ReactorCoreEntity.java @@ -12,6 +12,7 @@ import static net.nuclearteam.createnuclear.content.multiblock.CNMultiblock.*; +@SuppressWarnings({"unused"}) public class ReactorCoreEntity extends ReactorCasingEntity { private int countdownTicks = 0; diff --git a/src/main/java/net/nuclearteam/createnuclear/content/uraniumOre/UraniumOreBlock.java b/src/main/java/net/nuclearteam/createnuclear/content/uraniumOre/UraniumOreBlock.java index 87788506..955a8848 100644 --- a/src/main/java/net/nuclearteam/createnuclear/content/uraniumOre/UraniumOreBlock.java +++ b/src/main/java/net/nuclearteam/createnuclear/content/uraniumOre/UraniumOreBlock.java @@ -1,6 +1,7 @@ package net.nuclearteam.createnuclear.content.uraniumOre; import com.tterrag.registrate.util.nullness.NonNullUnaryOperator; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.DustParticleOptions; @@ -25,6 +26,11 @@ import net.minecraft.world.phys.BlockHitResult; import org.joml.Vector3f; +import javax.annotation.ParametersAreNonnullByDefault; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +@SuppressWarnings({"deprecation", "unused"}) public class UraniumOreBlock extends Block { public static final BooleanProperty LIT = BlockStateProperties.LIT; diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CNAdvancement.java b/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CNAdvancement.java index 485afc61..2b8b7c57 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CNAdvancement.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CNAdvancement.java @@ -2,6 +2,7 @@ import com.google.common.collect.Sets; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.advancements.Advancement; import net.minecraft.advancements.critereon.*; import net.minecraft.data.CachedOutput; @@ -16,6 +17,7 @@ import net.nuclearteam.createnuclear.foundation.advancement.CreateNuclearAdvancement.Builder; +import javax.annotation.ParametersAreNonnullByDefault; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; @@ -29,6 +31,9 @@ import static net.nuclearteam.createnuclear.foundation.advancement.CreateNuclearAdvancement.TaskType.SILENT; import static net.nuclearteam.createnuclear.foundation.advancement.CreateNuclearAdvancement.TaskType.SECRET; +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +@SuppressWarnings("unused") public class CNAdvancement implements DataProvider { public static final List ENTRIES = new ArrayList<>(); @@ -95,7 +100,7 @@ public class CNAdvancement implements DataProvider { .after(COAL_DUST) .whenIconCollected()), - GRAPITE_ROD = create("graphite_rod", b -> b.icon(CNItems.GRAPHITE_ROD) + GRAPHITE_ROD = create("graphite_rod", b -> b.icon(CNItems.GRAPHITE_ROD) .title("Don't Forget Those Ones") .description("Combine graphene and steel ingots in a mechanical crafter to make graphite rods") .after(GRAPHENE) diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CreateNuclearAdvancement.java b/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CreateNuclearAdvancement.java index 9df7b80d..bbab8cd5 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CreateNuclearAdvancement.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/advancement/CreateNuclearAdvancement.java @@ -22,19 +22,20 @@ import java.util.function.Consumer; import java.util.function.UnaryOperator; +@SuppressWarnings("unused") public class CreateNuclearAdvancement { static final ResourceLocation BACKGROUND = CreateNuclear.asResource("textures/block/steel_block.png"); static final String LANG = "advancement." + CreateNuclear.MOD_ID + "."; static final String SECRET_SUFFIX = "\n\u00A77(Hidden Advancement)"; - private Advancement.Builder builder; + private final Advancement.Builder builder; private SimpleCreateTrigger builtinTrigger; private CreateNuclearAdvancement parent; Advancement datagenResult; - private String id; + private final String id; private String title; private String description; @@ -103,7 +104,7 @@ void provideLang(BiConsumer consumer) { consumer.accept(descriptionKey(), description); } - static enum TaskType { + enum TaskType { SILENT(FrameType.TASK, false, false, false), NORMAL(FrameType.TASK, true, false, false), @@ -113,12 +114,12 @@ static enum TaskType { ; - private FrameType frame; - private boolean toast; - private boolean announce; - private boolean hide; + private final FrameType frame; + private final boolean toast; + private final boolean announce; + private final boolean hide; - private TaskType(FrameType frame, boolean toast, boolean announce, boolean hide) { + TaskType(FrameType frame, boolean toast, boolean announce, boolean hide) { this.frame = frame; this.toast = toast; this.announce = announce; diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/EventTriggerBlock.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/EventTriggerBlock.java index 92062616..5a724318 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/block/EventTriggerBlock.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/block/EventTriggerBlock.java @@ -1,7 +1,7 @@ package net.nuclearteam.createnuclear.foundation.block; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; -import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; @@ -9,7 +9,6 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.Vec3; import net.nuclearteam.createnuclear.CNPackets; import net.nuclearteam.createnuclear.CreateNuclear; import net.nuclearteam.createnuclear.content.multiblock.controller.EventTriggerPacket; @@ -17,6 +16,8 @@ import javax.annotation.ParametersAreNonnullByDefault; @ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +@SuppressWarnings("deprecation") public class EventTriggerBlock extends Block { public EventTriggerBlock(Properties properties) { super(properties); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/block/HorizontalDirectionalReactorBlock.java b/src/main/java/net/nuclearteam/createnuclear/foundation/block/HorizontalDirectionalReactorBlock.java index e6a4119e..bd0bdfc4 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/block/HorizontalDirectionalReactorBlock.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/block/HorizontalDirectionalReactorBlock.java @@ -1,5 +1,6 @@ package net.nuclearteam.createnuclear.foundation.block; +import com.mojang.math.MethodsReturnNonnullByDefault; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Mirror; import net.minecraft.world.level.block.Rotation; @@ -8,6 +9,8 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.DirectionProperty; +@MethodsReturnNonnullByDefault +@SuppressWarnings("deprecation") public abstract class HorizontalDirectionalReactorBlock extends Block { public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; @@ -17,7 +20,7 @@ public HorizontalDirectionalReactorBlock(BlockBehaviour.Properties properties) { @Override public BlockState rotate(BlockState state, Rotation rotation) { - return (BlockState) state.setValue(FACING, rotation.rotate(state.getValue(FACING))); + return state.setValue(FACING, rotation.rotate(state.getValue(FACING))); } @Override diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java index 95e6755a..da035c46 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java @@ -140,8 +140,8 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { private String CRAFTING_ITEMS = enterFolder("crafting/items/armors"); - AntiRadiationArmorItem.DyeRecipArmorList - ANTI_RADIATION_HELMET = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_HELMETS.get(color)) + AntiRadiationArmorItem.DyeRecipeArmorList + ANTI_RADIATION_HELMET = new AntiRadiationArmorItem.DyeRecipeArmorList(color -> create(CNItems.ANTI_RADIATION_HELMETS.get(color)) .unlockedByTag(() -> CNItemTags.CLOTH.tag) .withCategory(RecipeCategory.COMBAT) .viaShaped(i -> i @@ -155,7 +155,7 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { ), - ANTI_RADIATION_CHESTPLATES = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_CHESTPLATES.get(color)) + ANTI_RADIATION_CHESTPLATES = new AntiRadiationArmorItem.DyeRecipeArmorList(color -> create(CNItems.ANTI_RADIATION_CHESTPLATES.get(color)) .unlockedByTag(() -> CNItemTags.CLOTH.tag) .withCategory(RecipeCategory.COMBAT) .viaShaped(i -> i @@ -169,7 +169,7 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { ) ), - ANTI_RADIATION_LEGGINS = new AntiRadiationArmorItem.DyeRecipArmorList(color -> create(CNItems.ANTI_RADIATION_LEGGINGS.get(color)) + ANTI_RADIATION_LEGGINS = new AntiRadiationArmorItem.DyeRecipeArmorList(color -> create(CNItems.ANTI_RADIATION_LEGGINGS.get(color)) .unlockedByTag(() -> CNItemTags.CLOTH.tag) .withCategory(RecipeCategory.COMBAT) .viaShaped(i -> i diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java index f2f0f338..f7b29e90 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/CNClientEvent.java @@ -2,9 +2,11 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.event.RegisterGuiOverlaysEvent; +import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.nuclearteam.createnuclear.CreateNuclear; +import net.nuclearteam.createnuclear.foundation.events.overlay.IrradiatedOverlayRendererVision; @EventBusSubscriber(modid = CreateNuclear.MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public class CNClientEvent { @@ -13,5 +15,8 @@ public class CNClientEvent { @SubscribeEvent public static void onRegisterGui(RegisterGuiOverlaysEvent event) { HUD_RENDERER.onHudRender(event); + event.registerAbove(VanillaGuiOverlay.HELMET.id(), "irradiated_vision", IrradiatedOverlayRendererVision.OVERLAY); } + + } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudRenderer.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudRenderer.java index aed30cfb..2baf9f46 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudRenderer.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/HudRenderer.java @@ -12,7 +12,7 @@ public class HudRenderer { private static final List overlays = List.of( new HelmetOverlay(), - new RadiationOverlay(), + //new RadiationOverlay(), new EventTextOverlay() ); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java index 93210b69..035de48c 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/EventTextOverlay.java @@ -37,7 +37,7 @@ public String getOverlayId() { @Override public boolean isActive() { - return timer > 0; + return timer > 0 && false; } @Override diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HudOverlay.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HudOverlay.java index 706f916e..7184a29d 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HudOverlay.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/HudOverlay.java @@ -24,7 +24,6 @@ public interface HudOverlay { void render(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height); default void register(RegisterGuiOverlaysEvent event) { - CreateNuclear.LOGGER.info("Registering overlay: {} | {} | {}", getOverlayId(), getAfterOverlay(), isActive()); event.registerAbove( getAfterOverlay(), getOverlayId(), diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/IrradiatedOverlayRendererVision.java b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/IrradiatedOverlayRendererVision.java new file mode 100644 index 00000000..5354f41a --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/events/overlay/IrradiatedOverlayRendererVision.java @@ -0,0 +1,50 @@ +package net.nuclearteam.createnuclear.foundation.events.overlay; + +import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.GameType; +import net.minecraftforge.client.gui.overlay.ForgeGui; +import net.minecraftforge.client.gui.overlay.IGuiOverlay; +import net.nuclearteam.createnuclear.CNEffects; +import net.nuclearteam.createnuclear.CreateNuclear; + +public class IrradiatedOverlayRendererVision { + public static final IGuiOverlay OVERLAY = IrradiatedOverlayRendererVision::renderOverlay; + private static float irradiatedVisionAlpha = 0.0f; // Variable to manage alpha <- Put it in the player to have it per character and not globally. + + + public static final ResourceLocation IRRADIATED_VISION = CreateNuclear.asResource("textures/misc/irradiated_vision/irradiated_vision.png"); + + public static void renderOverlay(ForgeGui gui, GuiGraphics graphics, float partialTicks, int width, int height) { + Minecraft mc = Minecraft.getInstance(); + if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) return; + LocalPlayer localPlayer = mc.player; + RenderSystem.enableBlend(); + if (localPlayer.hasEffect(CNEffects.RADIATION.get())) { + irradiatedVisionAlpha = Math.min(1.0f, irradiatedVisionAlpha + 0.01f); + } else { + irradiatedVisionAlpha = Math.max(0.0f, irradiatedVisionAlpha - 0.01f); + } + if (irradiatedVisionAlpha > 0.0f) { + renderTextureOverlay(graphics, IRRADIATED_VISION, irradiatedVisionAlpha, true); + } + } + + public static void renderTextureOverlay(GuiGraphics guiGraphics, ResourceLocation texture, float alpha, boolean onlyFirstPerson) { + boolean isFirstPerson = Minecraft.getInstance().options.getCameraType().isFirstPerson(); + + // If rendering is restricted to first-person and we're not in it, skip + if (onlyFirstPerson && !isFirstPerson) return; + + RenderSystem.disableDepthTest(); + RenderSystem.depthMask(false); + guiGraphics.setColor(1f, 1f, 1f, alpha); + guiGraphics.blit(texture, 0, 0, -90, 0.0f, 0.0f, guiGraphics.guiWidth(), guiGraphics.guiHeight(), guiGraphics.guiWidth(), guiGraphics.guiHeight()); + RenderSystem.depthMask(true); + RenderSystem.enableDepthTest(); + guiGraphics.setColor(1.0f, 1.0f, 1.0f, 1.0f); + } +} \ No newline at end of file From bfb2b7cee0ea211626c8cf196109675a570baed9 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Tue, 27 May 2025 20:26:08 +0200 Subject: [PATCH 39/40] Add lead processing recipes and update version timestamps --- .../15812fa7bc190aa8f0a8644088c7ff563925e506 | 3 +- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 6 +- .../misc/blasting/lead_ingot_for_lead.json | 35 +++++++++++ .../misc/smelting/lead_ingot_for_lead.json | 35 +++++++++++ .../recipes/blasting/lead_ingot_for_lead.json | 10 +++ .../recipes/smelting/lead_ingot_for_lead.json | 10 +++ .../recipes/splashing/crushed_raw_lead.json | 18 ++++++ ...ecipeGen.java => CNEnrichedRecipeGen.java} | 4 +- .../data/recipe/CNProcessingRecipeGen.java | 3 +- .../data/recipe/CNShapelessRecipeGen.java | 5 +- .../data/recipe/CNStandardRecipeGen.java | 13 ++-- .../data/recipe/CNWashingRecipeGen.java | 61 +++++++++++++++++++ 12 files changed, 190 insertions(+), 13 deletions(-) create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_lead.json create mode 100644 src/generated/resources/data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_lead.json create mode 100644 src/generated/resources/data/createnuclear/recipes/blasting/lead_ingot_for_lead.json create mode 100644 src/generated/resources/data/createnuclear/recipes/smelting/lead_ingot_for_lead.json create mode 100644 src/generated/resources/data/createnuclear/recipes/splashing/crushed_raw_lead.json rename src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/{EnrichedRecipeGen.java => CNEnrichedRecipeGen.java} (92%) create mode 100644 src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNWashingRecipeGen.java diff --git a/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 b/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 index 894d6ea7..43cdb6b6 100644 --- a/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 +++ b/src/generated/resources/.cache/15812fa7bc190aa8f0a8644088c7ff563925e506 @@ -1,4 +1,4 @@ -// 1.20.1 2025-04-30T15:40:28.0364309 CreateNuclear's Processing Recipes +// 1.20.1 2025-05-27T20:12:08.2853318 CreateNuclear's Processing Recipes d02fe65c0c4f06b58fa7565d7254902de5018e8b data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/black_cloth.json 9690e12858db1c546576ce70847e723c005f814e data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/blue_cloth.json 3bebcd85a99be0ddec8db66c5734232ac4bbd2ad data/createnuclear/advancements/recipes/building_blocks/shapeless/cloth/brown_cloth.json @@ -66,3 +66,4 @@ ad29e797fed10865a6c15d95c3de1278c0427df8 data/createnuclear/recipes/shapeless/le 8e194709b50fd2ca2ef2138b5d2528e092b45e4f data/createnuclear/recipes/shapeless/reactor_blueprint_item_clear.json ae6d07dc30751bfa39edbcdb8758a2faababa5da data/createnuclear/recipes/shapeless/steel_ingot_from_decompacting.json 5fb04284d66de4bf54471a3db0d9a3bfa6b7a18c data/createnuclear/recipes/shapeless/steel_nugget_from_decompacting.json +4ee934a60476e0d3d0d77297406d8d6aea65af2c data/createnuclear/recipes/splashing/crushed_raw_lead.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 2bbbb689..464fcf57 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.1 2025-04-30T15:40:28.0504731 Recipes +// 1.20.1 2025-05-27T20:21:02.5221545 Recipes 2033f2859713c27e945069e6b831665a3fda414a data/createnuclear/advancements/recipes/combat/crafting/items/armors/anti_radiation_boots.json 994c303b720b9195df5332abdb6035fc0663d86b data/createnuclear/advancements/recipes/combat/crafting/items/armors/black_anti_radiation_chestplate.json 2e66d1ed8fb018bd2a5258109c7ce6bd1494dbf7 data/createnuclear/advancements/recipes/combat/crafting/items/armors/black_anti_radiation_helmet.json @@ -48,6 +48,7 @@ ef9d304a52950c2f241ed965c1c5e2ca87feeaac data/createnuclear/advancements/recipes d222771ad3dde39d390e8d89d95918bb523eec93 data/createnuclear/advancements/recipes/combat/crafting/items/armors/yellow_anti_radiation_chestplate.json 1ca46718d29476420c4ebfd171e36e76770c79b6 data/createnuclear/advancements/recipes/combat/crafting/items/armors/yellow_anti_radiation_helmet.json 8978bafbd0fc5dc9bcb1789c78f0a9b398bd8d1c data/createnuclear/advancements/recipes/combat/crafting/items/armors/yellow_anti_radiation_leggings.json +229dafab82da54169697898f94d3be266a77d5ff data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_lead.json 14b3abbc5d9b1950f65ef1cc03f79a36c8820efc data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_lead_ore.json 028d2b4f2f5ec4764791ca5c28c19b6848b00bea data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_raw_lead.json 605ccb2acc7e944ddbce2e962af3278e47a04627 data/createnuclear/advancements/recipes/misc/blasting/raw_uranium_for_uranium_ore.json @@ -63,9 +64,11 @@ bf50e5103f335c3e8e389922fa05a31531374f46 data/createnuclear/advancements/recipes 4ad292cd97e78f82b3ed9d4123f5e95c5ddea55c data/createnuclear/advancements/recipes/misc/crafting/steel_ingot_from_compacting.json a98dc6de94e6658d78ec28b77959ae9cb17b1d58 data/createnuclear/advancements/recipes/misc/crafting/white_cloth.json 067475701d6f059793c064718b7bba4b939ce380 data/createnuclear/advancements/recipes/misc/crafting/white_cloth_wool.json +d4162de75c52e6106a386dcf4c5c3bc5b74261d6 data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_lead.json 0c347228b63702ba70d4257c4b5642133fb8e5b8 data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_lead_ore.json 1bb03dfa15ff7f76bc2accdd7d26b520605ae4bf data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_raw_lead.json d7cfc6f1ff4d39df0df526ec3723e8d18d198945 data/createnuclear/advancements/recipes/misc/smelting/raw_uranium_for_uranium_ore.json +932672d0475e9c82d033d395ee12010e9f3d6828 data/createnuclear/recipes/blasting/lead_ingot_for_lead.json b2ec2f955ece9110bf315a2773b70999e268f81d data/createnuclear/recipes/blasting/lead_ingot_for_lead_ore.json c46810e5000a34edfceed6a8457595afe9d0377d data/createnuclear/recipes/blasting/lead_ingot_for_raw_lead.json 978cc9d92268673050da5697482f4013a63a65f1 data/createnuclear/recipes/blasting/raw_uranium_for_uranium_ore.json @@ -130,6 +133,7 @@ a7ff79f9d11a46e52fb25819a7c9e9604e8a317a data/createnuclear/recipes/crafting/rea af5d168185e516ea79c335ac7eb6652b99723143 data/createnuclear/recipes/crafting/steel_ingot_from_compacting.json f2841ff83321c5bf5d43649fb204fa3a97fd596e data/createnuclear/recipes/crafting/white_cloth.json 93e75639c60d69067daddecfb2fa480a8e2040c4 data/createnuclear/recipes/crafting/white_cloth_wool.json +165a3c45b53d0a94149f26300f609c2fd7c688f1 data/createnuclear/recipes/smelting/lead_ingot_for_lead.json 4121c89708b0b069ece6dd9356dd3865af602779 data/createnuclear/recipes/smelting/lead_ingot_for_lead_ore.json 7acfaccfb12d280e8d858fdaf7f9048a5ac29e26 data/createnuclear/recipes/smelting/lead_ingot_for_raw_lead.json 93fe12ad36a99451009518d71ac105969a1ef2aa data/createnuclear/recipes/smelting/raw_uranium_for_uranium_ore.json diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_lead.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_lead.json new file mode 100644 index 00000000..134bb0fe --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/blasting/lead_ingot_for_lead.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "create:crushed_raw_lead" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:blasting/lead_ingot_for_lead" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:blasting/lead_ingot_for_lead" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_lead.json b/src/generated/resources/data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_lead.json new file mode 100644 index 00000000..61ec89de --- /dev/null +++ b/src/generated/resources/data/createnuclear/advancements/recipes/misc/smelting/lead_ingot_for_lead.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "create:crushed_raw_lead" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createnuclear:smelting/lead_ingot_for_lead" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createnuclear:smelting/lead_ingot_for_lead" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/blasting/lead_ingot_for_lead.json b/src/generated/resources/data/createnuclear/recipes/blasting/lead_ingot_for_lead.json new file mode 100644 index 00000000..991d4940 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/blasting/lead_ingot_for_lead.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.1, + "ingredient": { + "item": "create:crushed_raw_lead" + }, + "result": "createnuclear:lead_ingot" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/smelting/lead_ingot_for_lead.json b/src/generated/resources/data/createnuclear/recipes/smelting/lead_ingot_for_lead.json new file mode 100644 index 00000000..0ef24ce8 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/smelting/lead_ingot_for_lead.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "create:crushed_raw_lead" + }, + "result": "createnuclear:lead_ingot" +} \ No newline at end of file diff --git a/src/generated/resources/data/createnuclear/recipes/splashing/crushed_raw_lead.json b/src/generated/resources/data/createnuclear/recipes/splashing/crushed_raw_lead.json new file mode 100644 index 00000000..b17bbe30 --- /dev/null +++ b/src/generated/resources/data/createnuclear/recipes/splashing/crushed_raw_lead.json @@ -0,0 +1,18 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_raw_lead" + } + ], + "results": [ + { + "count": 9, + "item": "createnuclear:lead_nugget" + }, + { + "chance": 0.5, + "item": "create:experience_nugget" + } + ] +} \ No newline at end of file diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/EnrichedRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNEnrichedRecipeGen.java similarity index 92% rename from src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/EnrichedRecipeGen.java rename to src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNEnrichedRecipeGen.java index 9cdf67d1..8f304709 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/EnrichedRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNEnrichedRecipeGen.java @@ -13,7 +13,7 @@ import java.util.function.Supplier; -public class EnrichedRecipeGen extends CNProcessingRecipeGen { +public class CNEnrichedRecipeGen extends CNProcessingRecipeGen { GeneratedRecipe ENRICHING_CAMPFIRES = convert(Items.CAMPFIRE, CNBlocks.ENRICHING_CAMPFIRE), @@ -32,7 +32,7 @@ public GeneratedRecipe convert(Supplier input, Supplier re .output(result.get())); } - public EnrichedRecipeGen(PackOutput output) { + public CNEnrichedRecipeGen(PackOutput output) { super(output); } diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNProcessingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNProcessingRecipeGen.java index c2a1000b..769f0a86 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNProcessingRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNProcessingRecipeGen.java @@ -34,7 +34,8 @@ public static void registerAll(DataGenerator gen, PackOutput output) { GENERATORS.add(new CNMixingRecipeGen(output)); GENERATORS.add(new CNPressingRecipeGen(output)); GENERATORS.add(new CNShapelessRecipeGen(output)); - GENERATORS.add(new EnrichedRecipeGen(output)); + GENERATORS.add(new CNEnrichedRecipeGen(output)); + GENERATORS.add(new CNWashingRecipeGen(output)); gen.addProvider(true, new DataProvider() { diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNShapelessRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNShapelessRecipeGen.java index d0b262aa..ea0388fc 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNShapelessRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNShapelessRecipeGen.java @@ -32,9 +32,10 @@ import java.util.function.Supplier; import java.util.function.UnaryOperator; +@SuppressWarnings("unused") public class CNShapelessRecipeGen extends CNProcessingRecipeGen { - private String SHAPELESS = enterFolder("shapeless"); + private final String SHAPELESS = enterFolder("shapeless"); GeneratedRecipe RAW_URANIUM = create(CNItems.RAW_URANIUM).returns(9) .withSuffix("_from_decompacting") @@ -69,7 +70,7 @@ public class CNShapelessRecipeGen extends CNProcessingRecipeGen { REACTOR_BLUEPRINT_ITEM_CLEAR = clearData(CNItems.REACTOR_BLUEPRINT) ; - private String SHAPELESS_CLOTH = enterFolder("shapeless/cloth"); + private final String SHAPELESS_CLOTH = enterFolder("shapeless/cloth"); ClothItem.DyeRecipeList CLOTH_CHANGING = new ClothItem.DyeRecipeList(color -> { List ingredients = new ArrayList<>(Arrays.asList(Items.WHITE_DYE, Items.ORANGE_DYE, Items.MAGENTA_DYE, Items.LIGHT_BLUE_DYE, Items.YELLOW_DYE, Items.LIME_DYE, Items.PINK_DYE, Items.GRAY_DYE, Items.LIGHT_GRAY_DYE, Items.CYAN_DYE, Items.PURPLE_DYE, Items.BLUE_DYE, Items.BROWN_DYE, Items.GREEN_DYE, Items.RED_DYE, Items.BLACK_DYE)); diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java index da035c46..676dc265 100644 --- a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNStandardRecipeGen.java @@ -36,9 +36,10 @@ import java.util.List; import java.util.function.UnaryOperator; +@SuppressWarnings("unused") public class CNStandardRecipeGen extends CreateRecipeProvider { - private String CRAFTING = enterFolder("crafting"); + private final String CRAFTING = enterFolder("crafting"); GeneratedRecipe WHITE_CLOTH_FROM_STRING = create(ClothItem.Cloths.WHITE_CLOTH::getItem) .unlockedBy(() -> Items.STRING) @@ -123,7 +124,7 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { ; - private String CRAFTING_REACTOR = enterFolder("crafting/reactor"); + private final String CRAFTING_REACTOR = enterFolder("crafting/reactor"); GeneratedRecipe REINFORCED_GLASS = create(CNBlocks.REINFORCED_GLASS) @@ -138,7 +139,7 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { ) ; - private String CRAFTING_ITEMS = enterFolder("crafting/items/armors"); + private final String CRAFTING_ITEMS = enterFolder("crafting/items/armors"); AntiRadiationArmorItem.DyeRecipeArmorList ANTI_RADIATION_HELMET = new AntiRadiationArmorItem.DyeRecipeArmorList(color -> create(CNItems.ANTI_RADIATION_HELMETS.get(color)) @@ -169,7 +170,7 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { ) ), - ANTI_RADIATION_LEGGINS = new AntiRadiationArmorItem.DyeRecipeArmorList(color -> create(CNItems.ANTI_RADIATION_LEGGINGS.get(color)) + ANTI_RADIATION_LEGGINGS = new AntiRadiationArmorItem.DyeRecipeArmorList(color -> create(CNItems.ANTI_RADIATION_LEGGINGS.get(color)) .unlockedByTag(() -> CNItemTags.CLOTH.tag) .withCategory(RecipeCategory.COMBAT) .viaShaped(i -> i @@ -198,12 +199,12 @@ public class CNStandardRecipeGen extends CreateRecipeProvider { GeneratedRecipe URANIUM_ORE_TO_URANIUM_POWDER = blastFurnaceRecipeTags(() -> CNItems.RAW_URANIUM::get, () -> CNItemTags.URANIUM_ORES.tag, "_for_uranium_ore", 4), RAW_LEAD_ORES = blastFurnaceRecipeTags(() -> CNItems.LEAD_INGOT::get, () -> CNItemTags.LEAD_ORES.tag, "_for_lead_ore", 1), - RAW_LEAD = blastFurnaceRecipeTags(CNItems.LEAD_INGOT::get, () -> CNTags.forgeItemTag("raw_materials/lead"), "_for_raw_lead", 1) + RAW_LEAD = blastFurnaceRecipeTags(CNItems.LEAD_INGOT::get, () -> CNTags.forgeItemTag("raw_materials/lead"), "_for_raw_lead", 1), + CRUSHED_RAW_LEAD_TO_LEAD_BLAST_FURNACE = blastFurnaceRecipe(CNItems.LEAD_INGOT::get, AllItems.CRUSHED_LEAD::get, "_for_lead", 1) ; - String currentFolder = ""; String enterFolder(String foldedr) { diff --git a/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNWashingRecipeGen.java b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNWashingRecipeGen.java new file mode 100644 index 00000000..6672540e --- /dev/null +++ b/src/main/java/net/nuclearteam/createnuclear/foundation/data/recipe/CNWashingRecipeGen.java @@ -0,0 +1,61 @@ +package net.nuclearteam.createnuclear.foundation.data.recipe; + +import com.simibubi.create.AllItems; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.foundation.data.recipe.CompatMetals; +import com.simibubi.create.foundation.data.recipe.Mods; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import com.tterrag.registrate.util.entry.ItemEntry; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.Block; +import net.nuclearteam.createnuclear.CNItems; + +import java.util.function.Supplier; + +public class CNWashingRecipeGen extends CNProcessingRecipeGen { + + GeneratedRecipe + CRUSHED_LEAD = crushedOre(AllItems.CRUSHED_LEAD, CNItems.LEAD_NUGGET::get, AllItems.EXP_NUGGET::get, .5f) + ; + + public GeneratedRecipe convert(Block block, Block result) { + return create(() -> block, b -> b.output(result)); + } + + public GeneratedRecipe crushedOre(ItemEntry crushed, Supplier nugget, Supplier secondary, + float secondaryChance) { + return create(crushed::get, b -> b.output(nugget.get(), 9) + .output(secondaryChance, secondary.get(), 1)); + } + + public GeneratedRecipe moddedCrushedOre(ItemEntry crushed, CompatMetals metal) { + for (Mods mod : metal.getMods()) { + String metalName = metal.getName(mod); + ResourceLocation nugget = mod.nuggetOf(metalName); + create(mod.getId() + "/" + crushed.getId() + .getPath(), + b -> b.withItemIngredients(Ingredient.of(crushed::get)) + .output(1, nugget, 9) + .whenModLoaded(mod.getId())); + } + return null; + } + + public GeneratedRecipe simpleModded(Mods mod, String input, String output) { + return create(mod.getId() + "/" + output, b -> b.require(mod, input) + .output(mod, output).whenModLoaded(mod.getId())); + } + + public CNWashingRecipeGen(PackOutput output) { + super(output); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return AllRecipeTypes.SPLASHING; + } +} From 43d9a5d364edff91bbe3426a34c16cf7ab06049f Mon Sep 17 00:00:00 2001 From: mathi Date: Wed, 4 Jun 2025 13:04:33 +0200 Subject: [PATCH 40/40] lang from crowdin --- .../assets/createnuclear/lang/af_za.json | 30 +- .../assets/createnuclear/lang/ar_sa.json | 26 + .../assets/createnuclear/lang/ca_es.json | 28 +- .../assets/createnuclear/lang/cs_cz.json | 28 +- .../assets/createnuclear/lang/da_dk.json | 34 +- .../assets/createnuclear/lang/de_de.json | 32 +- .../createnuclear/lang/default/entity.json | 5 + .../createnuclear/lang/default/interface.json | 8 +- .../createnuclear/lang/default/reactor.json | 2 +- .../createnuclear/lang/default/tooltips.json | 3 + .../assets/createnuclear/lang/el_gr.json | 28 +- .../assets/createnuclear/lang/es_es.json | 26 + .../assets/createnuclear/lang/et_EE.json | 271 ++++++++++ .../assets/createnuclear/lang/fi_fi.json | 242 +++++---- .../assets/createnuclear/lang/fr_fr.json | 26 + .../assets/createnuclear/lang/he_il.json | 28 +- .../assets/createnuclear/lang/hu_hu.json | 490 +++++++++--------- .../assets/createnuclear/lang/it_it.json | 46 +- .../assets/createnuclear/lang/ja_jp.json | 44 +- .../assets/createnuclear/lang/ko_kr.json | 34 +- .../assets/createnuclear/lang/lt_LT.json | 28 +- .../assets/createnuclear/lang/nl_nl.json | 158 +++--- .../assets/createnuclear/lang/no_no.json | 28 +- .../assets/createnuclear/lang/pl_pl.json | 26 + .../assets/createnuclear/lang/pt_br.json | 88 ++-- .../assets/createnuclear/lang/pt_pt.json | 44 +- .../assets/createnuclear/lang/ro_ro.json | 26 + .../assets/createnuclear/lang/ru_ru.json | 226 ++++---- .../assets/createnuclear/lang/sr_sp.json | 28 +- .../assets/createnuclear/lang/sv_se.json | 36 +- .../assets/createnuclear/lang/tr_tr.json | 64 ++- .../assets/createnuclear/lang/uk_ua.json | 352 +++++++------ .../assets/createnuclear/lang/vi_vn.json | 26 + .../assets/createnuclear/lang/zh_cn.json | 88 ++-- .../assets/createnuclear/lang/zh_tw.json | 166 +++--- .../stone_types/slab/autunite_cut_slab.png | Bin 532 -> 380 bytes 36 files changed, 1938 insertions(+), 877 deletions(-) create mode 100644 src/main/resources/assets/createnuclear/lang/default/entity.json create mode 100644 src/main/resources/assets/createnuclear/lang/et_EE.json diff --git a/src/main/resources/assets/createnuclear/lang/af_za.json b/src/main/resources/assets/createnuclear/lang/af_za.json index ce4ce5c5..66d33db1 100644 --- a/src/main/resources/assets/createnuclear/lang/af_za.json +++ b/src/main/resources/assets/createnuclear/lang/af_za.json @@ -3,10 +3,12 @@ "advancement.createnuclear.anti_radiation_armor.desc": "Craft your first anti-radiation armor piece to protect yourself from radiation", "advancement.createnuclear.automatic_uranium": "Automating Uranium", "advancement.createnuclear.automatic_uranium.desc": "Obtain some uranium powder using the automatic uranium processing\n§7(Hidden Advancement)", - "advancement.createnuclear.coal_dust": "Coal Dust", + "advancement.createnuclear.coal_dust": "Steenkool Stof", "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "None", "createnuclear.tooltip.heatLevel.safety": "Safety", "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/ar_sa.json b/src/main/resources/assets/createnuclear/lang/ar_sa.json index a8157cf3..31e25e54 100644 --- a/src/main/resources/assets/createnuclear/lang/ar_sa.json +++ b/src/main/resources/assets/createnuclear/lang/ar_sa.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "اسحق الفحم او الفحم النباتي للحصول على مسحوق الفحم, مادة أساسيه للصناعة", "advancement.createnuclear.dye_anti_radiation_armor": "قم بتزيين درعي", "advancement.createnuclear.dye_anti_radiation_armor.desc": "لون الدرع المضاد للاشعاعات النووية الخاص بك", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "تعزيز الكعكة الصفراء", "advancement.createnuclear.enriched_yellowcake.desc": "استخدم المِرْوَحَة لتخصيب الكعكة الصفراء", "advancement.createnuclear.full_anti_radiation_armor": "محمي كليا", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "أنشئ أول قضيب اليورانيوم باستخدام الكعكة الصفراء المخصبة في الصانع الميكانيكي", "advancement.createnuclear.yellowcake": "عملية الكعكة الصفراء", "advancement.createnuclear.yellowcake.desc": "سائل اليورانيوم المدمج لصنع الكعكة الصفراء", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "خام الرَّصاص في أعماق الكهوف", "block.createnuclear.deepslate_uranium_ore": "خام اليورانيوم في أعماق الكهوف", "block.createnuclear.enriched_soul_soil": "تربة الروح المخصبة", "block.createnuclear.enriched_soul_soil.tooltip.summary": "كتلة _فقط__ التي تنشئ _fire_.يمكن استخدامها في _craft_ الغنية لنيران المخيم أو فقط لصنع _النار الخضراء_.", "block.createnuclear.enriching_campfire": "نار المخيم المخصبة", "block.createnuclear.enriching_fire": "النار المخصبة", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "كتلة رَصاص", "block.createnuclear.lead_ore": "رَصاص خام", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "كتلة رَصاص خام", "block.createnuclear.raw_uranium_block": "كتلة يورانيوم خام", "block.createnuclear.reactor_casing": "غلاف المفاعل", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "عندما ينتج المفاعل الطاقة", "block.createnuclear.reactor_output.tooltip.summary": "مخرج المفاعل هو كتلة التي يمكن استخدامها لاستخراج الطاقة الميكانيكية التي يولدها المفاعل", "block.createnuclear.reinforced_glass": "زجاج معزّز", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "كتلة الفولاذ", "block.createnuclear.uranium": "يورانيوم", "block.createnuclear.uranium_ore": "خام اليورانيوم", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "سهم الإشعاع", "itemGroup.createnuclear.main": "الصناعة نووي", "itemgroup.uranium": "مجموعة اليورانيوم", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "تم تركيب المفاعل", "reactor.info.assembled.destroyer": "تم تفكيك المفاعل", "reactor.info.assembled.none": "المفاعل لم يتم تركيبه", diff --git a/src/main/resources/assets/createnuclear/lang/ca_es.json b/src/main/resources/assets/createnuclear/lang/ca_es.json index ce4ce5c5..e79a54d9 100644 --- a/src/main/resources/assets/createnuclear/lang/ca_es.json +++ b/src/main/resources/assets/createnuclear/lang/ca_es.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "None", "createnuclear.tooltip.heatLevel.safety": "Safety", "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/cs_cz.json b/src/main/resources/assets/createnuclear/lang/cs_cz.json index e6a4412a..975ffa87 100644 --- a/src/main/resources/assets/createnuclear/lang/cs_cz.json +++ b/src/main/resources/assets/createnuclear/lang/cs_cz.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Rozdrť uhlí nebo dřevěné uhlí, důležitý výrobní materiál", "advancement.createnuclear.dye_anti_radiation_armor": "Vyzdob si svoji zbroj", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Obarvy svoji protiradiační zbroj", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Uranový koncentrát", "advancement.createnuclear.enriched_yellowcake.desc": "Použij větrák k obohacení uranového koncentrátu, abys ho udělal potentnějším", "advancement.createnuclear.full_anti_radiation_armor": "Plně Chráněn", @@ -51,18 +53,37 @@ "advancement.createnuclear.uranium_rod.desc": "Vyrob svoji první Uranovou tyč pomocí obohaceného Uranového koncentrátu v mechanickém výrobníku", "advancement.createnuclear.yellowcake": "Proces Uranového koncentrátu", "advancement.createnuclear.yellowcake.desc": "Zhutni tekutý Uran pro vytvoření Uranového koncentrátu", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Hlubinná olověná ruda", "block.createnuclear.deepslate_uranium_ore": "Hlubinná uranová ruda", "block.createnuclear.enriched_soul_soil": "Obohacená půda duší", "block.createnuclear.enriched_soul_soil.tooltip.summary": "_Jediný_ blok se kterým lze získat _obohacený oheň_. Může být použitý k _vytvoření_ obohaceného táboráku nebo k _zeleného ohně_.", "block.createnuclear.enriching_campfire": "Obohacující táborák", "block.createnuclear.enriching_fire": "Obohacující oheň", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Blok olova", "block.createnuclear.lead_ore": "Olověná ruda", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Blok surového olova", "block.createnuclear.raw_uranium_block": "Blok surového Uranu", "block.createnuclear.reactor_casing": "Reaktorové pouzdro", - "block.createnuclear.reactor_casing.tooltip.summary": "Reaktorová ocel", + "block.createnuclear.reactor_casing.tooltip.summary": "_Blok_, kterým se staví _reaktor_", "block.createnuclear.reactor_controller": "Řízení reaktoru", "block.createnuclear.reactor_controller.tooltip.behaviour1": "provádí veškeré kalkulace k _generování energie, potřebuje _plánek reaktoru_ se vzorem, aby fungoval", "block.createnuclear.reactor_controller.tooltip.condition1": "Když je reaktor sestaven", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Když reaktor produkuje energii", "block.createnuclear.reactor_output.tooltip.summary": "_Výstup reaktoru_ je _blok_, který může být použít k extrahování mechanické energie z _Reaktoru_", "block.createnuclear.reinforced_glass": "Zpevněné sklo", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Blok oceli", "block.createnuclear.uranium": "Uran", "block.createnuclear.uranium_ore": "Uranová ruda", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Šíp ozáření", "itemGroup.createnuclear.main": "Create Nukleární", "itemgroup.uranium": "Skupina Uranu", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reaktor byl sestaven", "reactor.info.assembled.destroyer": "Reaktor byl rozebrán", "reactor.info.assembled.none": "Reaktor není sestaven", diff --git a/src/main/resources/assets/createnuclear/lang/da_dk.json b/src/main/resources/assets/createnuclear/lang/da_dk.json index be5801b5..5c6a89ab 100644 --- a/src/main/resources/assets/createnuclear/lang/da_dk.json +++ b/src/main/resources/assets/createnuclear/lang/da_dk.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Knus kul eller trækul for at få kulstøv, et centralt fremstillingsstof", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp min rustning", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Farv dit anti-stråling rustning enhver farve", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Forstærkning af Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Brug en blæser for at berige yellowcake og gøre det more kraftfuld", "advancement.createnuclear.full_anti_radiation_armor": "Fuldt beskyttet", @@ -28,11 +30,11 @@ "advancement.createnuclear.reactor_controller": "Styreenhed af Reaktorkerne", "advancement.createnuclear.reactor_controller.desc": "Lav en reaktor styreenhed til at håndtere og regulere din reaktor", "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", - "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooler to cool your reactor", + "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", "advancement.createnuclear.reactor_core": "Kraftens Kerne", "advancement.createnuclear.reactor_core.desc": "Lav reaktorkernen for at udnytte din atomreaktors fulde energi", - "advancement.createnuclear.reactor_frame": "Reactor Frame", - "advancement.createnuclear.reactor_frame.desc": "Craft a reactor frame to build your nuclear reactor", + "advancement.createnuclear.reactor_frame": "Reactor Main Frame", + "advancement.createnuclear.reactor_frame.desc": "Craft a reactor main frame to build your nuclear reactor", "advancement.createnuclear.reactor_input": "Brændstof for Reaktoren", "advancement.createnuclear.reactor_input.desc": "Lav en reaktorindgang for at føre uran- og grafitstænger ind til din atomreaktor", "advancement.createnuclear.reactor_output": "Strømudgang", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Lav din første uran stang ved hjælp af beriget yellowcake i en mekanisk arbejdsbord", "advancement.createnuclear.yellowcake": "Yellowcake fremskridt", "advancement.createnuclear.yellowcake.desc": "Kompakt uranvæske for at lave yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Dybskifer-blymalm", "block.createnuclear.deepslate_uranium_ore": "Dybskifer-uranmalm", "block.createnuclear.enriched_soul_soil": "Beriget Sjælejord", "block.createnuclear.enriched_soul_soil.tooltip.summary": "Den _eneste_ blok som kan lave _beriget ild_. Kan blive brugt til at _lave_ beriget lejerbål eller lave _grån ild_.", "block.createnuclear.enriching_campfire": "Beriget lejerbål", "block.createnuclear.enriching_fire": "Beriget ild", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Blok af bly", "block.createnuclear.lead_ore": "Blymalm", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Blok af rå bly", "block.createnuclear.raw_uranium_block": "Blok af rå uran", "block.createnuclear.reactor_casing": "Reaktorhus", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Når reaktoren producerer energi", "block.createnuclear.reactor_output.tooltip.summary": "_Reaktor-strømudgangen_ er en _blok_ der kan bruges til at trække det strøm, der genereres af _Reaktoren_", "block.createnuclear.reinforced_glass": "Forstærket glas", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Blok af stål", "block.createnuclear.uranium": "Uran", "block.createnuclear.uranium_ore": "Uranmalm", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "Intet", "createnuclear.tooltip.heatLevel.safety": "Sikkert", "createnuclear.tooltip.heatLevel.warning": "Advarsel", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Ukendt: ", "createnuclear.tooltip.item.uranium.rod": "Uran stang: ", "effect.createnuclear.radiation": "Stråling", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Pil af stråling", "itemGroup.createnuclear.main": "Create Atomkraft", "itemgroup.uranium": "Uran gruppe", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reaktoren er blevet monteret", "reactor.info.assembled.destroyer": "Reaktoren er blevet demonteret", "reactor.info.assembled.none": "Reaktoren er ikke monteret", diff --git a/src/main/resources/assets/createnuclear/lang/de_de.json b/src/main/resources/assets/createnuclear/lang/de_de.json index 72b8d6dc..2d5dae35 100644 --- a/src/main/resources/assets/createnuclear/lang/de_de.json +++ b/src/main/resources/assets/createnuclear/lang/de_de.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Zermahle Kohle oder Holzkohle, um Kohlestaub zu erhalten, ein wichtiges Herstellungsmaterial", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp meine Rüstung", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Färbe deine Strahlenschutzrüstung in eine beliebige Farbe", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Verbesserung des Uranoxid", "advancement.createnuclear.enriched_yellowcake.desc": "Verwende einen Ventilator, um Uranoxid anzureichern und es leistungsfähiger zu machen", "advancement.createnuclear.full_anti_radiation_armor": "Vollständig geschützt", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Stelle deinen ersten Uranstab mit angereichertem Uranoxid in einem mechanischen Crafter her", "advancement.createnuclear.yellowcake": "Der Uranoxid Prozess", "advancement.createnuclear.yellowcake.desc": "Verdichte flüssiges Uran, um Uranoxid herzustellen", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Tiefenschiefer-Bleierz", "block.createnuclear.deepslate_uranium_ore": "Tiefenschiefer-Uranerz", "block.createnuclear.enriched_soul_soil": "Angereicherte Seelenerde", "block.createnuclear.enriched_soul_soil.tooltip.summary": "Der einzige Block der angereichertes Feuer erzeugt. Kann zum herstellen von angereichertem Lagerfeuer verwendet werden oder um grünes Feuer zu machen.", "block.createnuclear.enriching_campfire": "Angereichertes Lagerfeuer", "block.createnuclear.enriching_fire": "Angereichertes Feuer", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Bleiblock", "block.createnuclear.lead_ore": "Bleierz", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Roher Bleiblock", "block.createnuclear.raw_uranium_block": "Roher Uranblock", "block.createnuclear.reactor_casing": "Reaktorgehäuse", @@ -68,11 +89,11 @@ "block.createnuclear.reactor_controller.tooltip.condition1": "Wenn der Reaktor aufgebaut ist", "block.createnuclear.reactor_controller.tooltip.summary": " Die Reaktor Steuerung ist der wichtigste Block für den Betrieb des Reaktors", "block.createnuclear.reactor_cooler": "Reaktorkühler", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ für den Bau des _Reaktors_", "block.createnuclear.reactor_core": "Reaktorkern", "block.createnuclear.reactor_core.tooltip.summary": "Block der für den Bau des Reaktors verwendet wird", "block.createnuclear.reactor_frame": "Reaktor Rahmen", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ für den Bau des _Reaktors_", "block.createnuclear.reactor_input": "Reaktoreingabe", "block.createnuclear.reactor_input.tooltip.behaviour1": "Lege Uran -und Graphitstäbe in großen Mengen ein, um den Reaktor zu betreiben ", "block.createnuclear.reactor_input.tooltip.condition1": "Wenn der Reaktor zusammengebaut ist", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Wenn der Reaktor Energie produziert", "block.createnuclear.reactor_output.tooltip.summary": "Der Reaktor Ausgang ist ein Block, aus dem die vom Reaktor erzeugte Energie entnommen werden kann", "block.createnuclear.reinforced_glass": "Verstärktes Glas", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Stahlblock", "block.createnuclear.uranium": "Uran", "block.createnuclear.uranium_ore": "Uranerz", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "Nichts", "createnuclear.tooltip.heatLevel.safety": "Sicher", "createnuclear.tooltip.heatLevel.warning": "Warnung", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphitstab: ", "createnuclear.tooltip.item.unknown.rod": "Unbekannt: ", "createnuclear.tooltip.item.uranium.rod": "Uranstab: ", "effect.createnuclear.radiation": "Strahlung", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Pfeil der Strahlung", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uran Gruppe", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reaktor wurde zusammengebaut", "reactor.info.assembled.destroyer": "Reaktor wurde zerlegt", "reactor.info.assembled.none": "Reaktor ist nicht zusammengebaut", diff --git a/src/main/resources/assets/createnuclear/lang/default/entity.json b/src/main/resources/assets/createnuclear/lang/default/entity.json new file mode 100644 index 00000000..c79db5d0 --- /dev/null +++ b/src/main/resources/assets/createnuclear/lang/default/entity.json @@ -0,0 +1,5 @@ +{ + "entity.createnuclear.irradiated_chicken": "Irradiated Chicken", + "entity.createnuclear.irradiated_wolf": "Irradiated Wolf", + "entity.createnuclear.irradiated_cat": "Irradiated Cat" +} \ No newline at end of file diff --git a/src/main/resources/assets/createnuclear/lang/default/interface.json b/src/main/resources/assets/createnuclear/lang/default/interface.json index 0cf5bce0..1fc72eea 100644 --- a/src/main/resources/assets/createnuclear/lang/default/interface.json +++ b/src/main/resources/assets/createnuclear/lang/default/interface.json @@ -1,12 +1,13 @@ { "itemGroup.createnuclear.main": "Create Nuclear", + "itemgroup.uranium": "Uranium Group", "createnuclear.enriched.fan.recipe": "Bulk Enriching", "emi.category.createnuclear.fan_enriched": "Bulk Enriching", "create.recipe.fan_enriched.fan": "Fan behind Enriched Fire", - "createnuclear.gui.createnuclear.reactor_controller.title": "Reactor Controller", - "createnuclear.gui.createnuclear.reactor_input.title": "Reactor Input Storage", + "gui.createnuclear.reactor_controller.title": "Reactor Controller", + "gui.createnuclear.reactor_input.title": "Reactor Input Storage", "createnuclear.tooltip.heatLevel": "Heat Level", "createnuclear.tooltip.heatLevel.none": "None", @@ -20,4 +21,5 @@ "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.gui.reactor_controller.info_header.title": "Heat value" -} \ No newline at end of file + +} diff --git a/src/main/resources/assets/createnuclear/lang/default/reactor.json b/src/main/resources/assets/createnuclear/lang/default/reactor.json index d4d95199..67908b9d 100644 --- a/src/main/resources/assets/createnuclear/lang/default/reactor.json +++ b/src/main/resources/assets/createnuclear/lang/default/reactor.json @@ -1,5 +1,5 @@ { - "reactor.info.assembled.none": "Multiblock not assembled", + "reactor.info.assembled.none": "Reactor is not assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.is": "controller is", diff --git a/src/main/resources/assets/createnuclear/lang/default/tooltips.json b/src/main/resources/assets/createnuclear/lang/default/tooltips.json index 9c0df8e1..94b20cf0 100644 --- a/src/main/resources/assets/createnuclear/lang/default/tooltips.json +++ b/src/main/resources/assets/createnuclear/lang/default/tooltips.json @@ -3,6 +3,7 @@ "tag.item.createnuclear.cooler": "Cooler", "tag.item.createnuclear.fuel": "Fuel", + "block.createnuclear.reactor_input.tooltip.summary": "_The Reactor Input_ is a _block_ that can be used to insert _Uranium_ and _Graphene_ rods into the _Reactor_", "block.createnuclear.reactor_input.tooltip.condition1": "When the Reactor is assembled", "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _uranium_ and _graphene_ rods in large quantities to power _the reactor_ ", @@ -41,6 +42,8 @@ "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can be used to _craft_ enriched campfire or just to make a _green fire_.", + + "tag.item.c.coal_dusts": "Coal Dusts", "tag.item.c.ingots.lead": "Tags Lead ingots", "tag.item.c.ingots.steel": "Tags Steel ingots", diff --git a/src/main/resources/assets/createnuclear/lang/el_gr.json b/src/main/resources/assets/createnuclear/lang/el_gr.json index ce4ce5c5..e79a54d9 100644 --- a/src/main/resources/assets/createnuclear/lang/el_gr.json +++ b/src/main/resources/assets/createnuclear/lang/el_gr.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "None", "createnuclear.tooltip.heatLevel.safety": "Safety", "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/es_es.json b/src/main/resources/assets/createnuclear/lang/es_es.json index b2f779aa..fdf4e9b6 100644 --- a/src/main/resources/assets/createnuclear/lang/es_es.json +++ b/src/main/resources/assets/createnuclear/lang/es_es.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Tritura carbón o carbón vegetal para conseguir polvo de carbón, esencial para fabricar objetos", "advancement.createnuclear.dye_anti_radiation_armor": "Embellece mi traje", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Tiñe tu traje anti-radiación en el color que más te guste", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enriqueciendo el yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Usa un ventilador para enriquecer el yellowcake y hacerlo más potente", "advancement.createnuclear.full_anti_radiation_armor": "Protección total garantizada", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Crea tu primer barra de uranio usando yellowcake enriquecido en un fabricador mecánico", "advancement.createnuclear.yellowcake": "El proceso de yellowcake", "advancement.createnuclear.yellowcake.desc": "Compacta uranio líquido para crear yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Mineral de plomo de Pizarra Profunda", "block.createnuclear.deepslate_uranium_ore": "Mineral de Uranio de Pizarra Profunda", "block.createnuclear.enriched_soul_soil": "Suelo de Alma Enriquecido", "block.createnuclear.enriched_soul_soil.tooltip.summary": "El _único_ bloque que crea _fuego enriquecido_. Se puede usar para _fabricar_ una fogata enriquecida o simplemente para hacer un _fuego verde_.", "block.createnuclear.enriching_campfire": "Fogata Enriquecedora", "block.createnuclear.enriching_fire": "Fuego Enriquecedor", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Bloque de Plomo", "block.createnuclear.lead_ore": "Mineral de Plomo", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Bloque de Plomo en Bruto", "block.createnuclear.raw_uranium_block": "Bloque de Uranio en Bruto", "block.createnuclear.reactor_casing": "Caja de reactor", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Cuando el reactor produce energía", "block.createnuclear.reactor_output.tooltip.summary": "_La salida del reactor_ es un _bloque_ que se puede utilizar para extraer la energía mecánica generada por el _Reactor_", "block.createnuclear.reinforced_glass": "Vidrio Reforzado", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Bloque de Acero", "block.createnuclear.uranium": "Uranio", "block.createnuclear.uranium_ore": "Mineral de Uranio", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Flecha de Radiación", "itemGroup.createnuclear.main": "Create: Nuclear", "itemgroup.uranium": "Grupo: Uranio", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "El Reactor ha sido Ensamblado", "reactor.info.assembled.destroyer": "El Reactor ha sido Desensamblado", "reactor.info.assembled.none": "El Reactor no está Ensamblado", diff --git a/src/main/resources/assets/createnuclear/lang/et_EE.json b/src/main/resources/assets/createnuclear/lang/et_EE.json new file mode 100644 index 00000000..f55eb36b --- /dev/null +++ b/src/main/resources/assets/createnuclear/lang/et_EE.json @@ -0,0 +1,271 @@ +{ + "advancement.createnuclear.anti_radiation_armor": "Anti radiation Armor", + "advancement.createnuclear.anti_radiation_armor.desc": "Craft your first anti-radiation armor piece to protect yourself from radiation", + "advancement.createnuclear.automatic_uranium": "Automating Uranium", + "advancement.createnuclear.automatic_uranium.desc": "Obtain some uranium powder using the automatic uranium processing\n§7(Hidden Advancement)", + "advancement.createnuclear.coal_dust": "Coal Dust", + "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", + "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", + "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", + "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", + "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", + "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", + "advancement.createnuclear.full_anti_radiation_armor.desc": "Wear a full set of anti-radiation armor to fully protect yourself from radiation", + "advancement.createnuclear.graphene": "Graphene", + "advancement.createnuclear.graphene.desc": "Press coal dust to create graphene", + "advancement.createnuclear.graphite_rod": "Don't Forget Those Ones", + "advancement.createnuclear.graphite_rod.desc": "Combine graphene and steel ingots in a mechanical crafter to make graphite rods", + "advancement.createnuclear.lead_ingot": "Lead ingot", + "advancement.createnuclear.lead_ingot.desc": "Smelt a raw lead to obtain a lead ingot", + "advancement.createnuclear.raw_lead": "Raw Lead", + "advancement.createnuclear.raw_lead.desc": "Obtain some raw lead by mining lead ore", + "advancement.createnuclear.raw_uranium": "The Raw Power", + "advancement.createnuclear.raw_uranium.desc": "Mine uranium ore to obtain raw uranium for further processing", + "advancement.createnuclear.reactor_blueprint": "Blueprint For Power", + "advancement.createnuclear.reactor_blueprint.desc": "Craft a reactor blueprint to design the layout of rods in your reactor", + "advancement.createnuclear.reactor_casing": "The Power Of The Reactor", + "advancement.createnuclear.reactor_casing.desc": "Craft a reactor casing to begin building your nuclear reactor", + "advancement.createnuclear.reactor_controller": "Controller Of The Core", + "advancement.createnuclear.reactor_controller.desc": "Craft a reactor controller to manage and regulate your reactor", + "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", + "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooler to cool your reactor", + "advancement.createnuclear.reactor_core": "Core of Power", + "advancement.createnuclear.reactor_core.desc": "Craft the reactor core to harness the full energy of your nuclear reactor", + "advancement.createnuclear.reactor_frame": "Reactor Frame", + "advancement.createnuclear.reactor_frame.desc": "Craft a reactor frame to build your nuclear reactor", + "advancement.createnuclear.reactor_input": "Fueling The Reactor", + "advancement.createnuclear.reactor_input.desc": "Craft a reactor input to feed uranium and graphite rods into your reactor", + "advancement.createnuclear.reactor_output": "Power Output", + "advancement.createnuclear.reactor_output.desc": "Craft a reactor output to transfer the energy produced by your reactor", + "advancement.createnuclear.reinforced_glass": "Reinforced Glass", + "advancement.createnuclear.reinforced_glass.desc": "Craft some reinforced glass for the first time", + "advancement.createnuclear.root": "Starting The Nuclear Journey", + "advancement.createnuclear.root.desc": "Unlock the basics of nuclear energy and get your first uranium powder", + "advancement.createnuclear.steel_ingot": "Steel Ingot", + "advancement.createnuclear.steel_ingot.desc": "Combine coal dust and iron ingots to create steel ingots", + "advancement.createnuclear.uranium_liquid": "Turning Solid To Liquid", + "advancement.createnuclear.uranium_liquid.desc": "Obtain some uranium liquid by mixing uranium powder", + "advancement.createnuclear.uranium_powder": "Powdered Uranium", + "advancement.createnuclear.uranium_powder.desc": "Crush raw uranium into powder to prepare for further refining", + "advancement.createnuclear.uranium_rod": "The Power Of The Atom", + "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", + "advancement.createnuclear.yellowcake": "The Yellowcake Process", + "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", + "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", + "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", + "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", + "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can be used to _craft_ enriched campfire or just to make a _green fire_.", + "block.createnuclear.enriching_campfire": "Enriching Campfire", + "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", + "block.createnuclear.lead_block": "Lead Block", + "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", + "block.createnuclear.raw_lead_block": "Raw Lead Block", + "block.createnuclear.raw_uranium_block": "Raw Uranium Block", + "block.createnuclear.reactor_casing": "Reactor Casing", + "block.createnuclear.reactor_casing.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_controller": "Reactor Controller", + "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a pattern to work", + "block.createnuclear.reactor_controller.tooltip.condition1": "When the reactor is assembled", + "block.createnuclear.reactor_controller.tooltip.summary": " The _Reactor Controller_ is the _most important_ block for operating the reactor", + "block.createnuclear.reactor_cooler": "Reactor Cooler", + "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_core": "Reactor Core", + "block.createnuclear.reactor_core.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_frame": "Reactor Frame", + "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_input": "Reactor Input", + "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _uranium_ and _graphene_ rods in large quantities to power _the reactor_ ", + "block.createnuclear.reactor_input.tooltip.condition1": "When the Reactor is assembled", + "block.createnuclear.reactor_input.tooltip.summary": "_The Reactor Input_ is a _block_ that can be used to insert _Uranium_ and _Graphene_ rods into the _Reactor_", + "block.createnuclear.reactor_output": "Reactor Output", + "block.createnuclear.reactor_output.tooltip.behaviour1": "You can _extract the energy_ produce by the reactor by attaching _shaft_ to the _reactor output_", + "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", + "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", + "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.steel_block": "Steel Block", + "block.createnuclear.uranium": "Uranium", + "block.createnuclear.uranium_ore": "Uranium Ore", + "create.recipe.fan_enriched.fan": "Fan behind Enriched Fire", + "createnuclear.enriched.fan.recipe": "Bulk Enriched", + "createnuclear.generic.unit.heat": "Q", + "createnuclear.gui.reactor_controller.info_header.title": "Heat value", + "createnuclear.ponder.reactor.header": "Construction of the reactor", + "createnuclear.ponder.reactor.text_1": "Floor 1", + "createnuclear.ponder.reactor.text_10": "Floor 7", + "createnuclear.ponder.reactor.text_2": "Reactor Output: This is the block that outputs the energy (SU) generated by the reactor.", + "createnuclear.ponder.reactor.text_3": "Floor 2", + "createnuclear.ponder.reactor.text_4": "Floor 3", + "createnuclear.ponder.reactor.text_5": "Floor 4", + "createnuclear.ponder.reactor.text_6": "Reactor Input: A block that stores uranium and graphite rods to operate the reactor.", + "createnuclear.ponder.reactor.text_7": "Reactor Controller: The most important block to operate the reactor; it handles all the calculations needed to generate power.", + "createnuclear.ponder.reactor.text_8": "Floor 5", + "createnuclear.ponder.reactor.text_9": "Floor 6", + "createnuclear.ponder.reactor_blueprint.header": "Controller Activation", + "createnuclear.ponder.reactor_blueprint.text_1": "Reactor Blueprint: the most important element; it allows the reactor to be configured according to specific models.", + "createnuclear.tooltip.heatLevel": "Heat Level", + "createnuclear.tooltip.heatLevel.caution": "Caution", + "createnuclear.tooltip.heatLevel.danger": "Danger", + "createnuclear.tooltip.heatLevel.none": "None", + "createnuclear.tooltip.heatLevel.safety": "Safety", + "createnuclear.tooltip.heatLevel.warning": "Warning", + "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.unknown.rod": "Unknown: ", + "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", + "effect.createnuclear.radiation": "Radiation", + "emi.category.createnuclear.fan_enriched": "Bulk Enriched", + "entity.createnuclear.irradiated_cat": "Irradiated Cat", + "entity.createnuclear.irradiated_chicken": "Irradiated Chicken", + "entity.createnuclear.irradiated_wolf": "Irradiated Wolf", + "fluid.createnuclear.uranium": "Liquid Uranium", + "gui.createnuclear.reactor_controller.title": "Reactor Controller", + "gui.createnuclear.reactor_input.title": "Reactor Input Storage", + "item.createnuclear.anti_radiation_boots": "Anti Radiation Boots", + "item.createnuclear.black_anti_radiation_chestplate": "Black Anti Radiation Chestplate", + "item.createnuclear.black_anti_radiation_helmet": "Black Anti Radiation Helmet", + "item.createnuclear.black_anti_radiation_leggings": "Black Anti Radiation Leggings", + "item.createnuclear.black_cloth": "Black Cloth", + "item.createnuclear.blue_anti_radiation_chestplate": "Blue Anti Radiation Chestplate", + "item.createnuclear.blue_anti_radiation_helmet": "Blue Anti Radiation Helmet", + "item.createnuclear.blue_anti_radiation_leggings": "Blue Anti Radiation Leggings", + "item.createnuclear.blue_cloth": "Blue Cloth", + "item.createnuclear.brown_anti_radiation_chestplate": "Brown Anti Radiation Chestplate", + "item.createnuclear.brown_anti_radiation_helmet": "Brown Anti Radiation Helmet", + "item.createnuclear.brown_anti_radiation_leggings": "Brown Anti Radiation Leggings", + "item.createnuclear.brown_cloth": "Brown Cloth", + "item.createnuclear.cat_irradiated_spawn_egg": "Irradiated Cat Spawn Egg", + "item.createnuclear.chicken_irradiated_spawn_egg": "Irradiated Chicken Spawn Egg", + "item.createnuclear.coal_dust": "Coal Dust", + "item.createnuclear.cyan_anti_radiation_chestplate": "Cyan Anti Radiation Chestplate", + "item.createnuclear.cyan_anti_radiation_helmet": "Cyan Anti Radiation Helmet", + "item.createnuclear.cyan_anti_radiation_leggings": "Cyan Anti Radiation Leggings", + "item.createnuclear.cyan_cloth": "Cyan Cloth", + "item.createnuclear.enriched_yellowcake": "Enriched Yellowcake", + "item.createnuclear.graphene": "Graphene", + "item.createnuclear.graphite_rod": "Graphite Rod", + "item.createnuclear.graphite_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", + "item.createnuclear.gray_anti_radiation_chestplate": "Gray Anti Radiation Chestplate", + "item.createnuclear.gray_anti_radiation_helmet": "Gray Anti Radiation Helmet", + "item.createnuclear.gray_anti_radiation_leggings": "Gray Anti Radiation Leggings", + "item.createnuclear.gray_cloth": "Gray Cloth", + "item.createnuclear.green_anti_radiation_chestplate": "Green Anti Radiation Chestplate", + "item.createnuclear.green_anti_radiation_helmet": "Green Anti Radiation Helmet", + "item.createnuclear.green_anti_radiation_leggings": "Green Anti Radiation Leggings", + "item.createnuclear.green_cloth": "Green Cloth", + "item.createnuclear.lead_ingot": "Lead Ingot", + "item.createnuclear.lead_nugget": "Lead Nugget", + "item.createnuclear.light_blue_anti_radiation_chestplate": "Light Blue Anti Radiation Chestplate", + "item.createnuclear.light_blue_anti_radiation_helmet": "Light Blue Anti Radiation Helmet", + "item.createnuclear.light_blue_anti_radiation_leggings": "Light Blue Anti Radiation Leggings", + "item.createnuclear.light_blue_cloth": "Light Blue Cloth", + "item.createnuclear.light_gray_anti_radiation_chestplate": "Light Gray Anti Radiation Chestplate", + "item.createnuclear.light_gray_anti_radiation_helmet": "Light Gray Anti Radiation Helmet", + "item.createnuclear.light_gray_anti_radiation_leggings": "Light Gray Anti Radiation Leggings", + "item.createnuclear.light_gray_cloth": "Light Gray Cloth", + "item.createnuclear.lime_anti_radiation_chestplate": "Lime Anti Radiation Chestplate", + "item.createnuclear.lime_anti_radiation_helmet": "Lime Anti Radiation Helmet", + "item.createnuclear.lime_anti_radiation_leggings": "Lime Anti Radiation Leggings", + "item.createnuclear.lime_cloth": "Lime Cloth", + "item.createnuclear.magenta_anti_radiation_chestplate": "Magenta Anti Radiation Chestplate", + "item.createnuclear.magenta_anti_radiation_helmet": "Magenta Anti Radiation Helmet", + "item.createnuclear.magenta_anti_radiation_leggings": "Magenta Anti Radiation Leggings", + "item.createnuclear.magenta_cloth": "Magenta Cloth", + "item.createnuclear.orange_anti_radiation_chestplate": "Orange Anti Radiation Chestplate", + "item.createnuclear.orange_anti_radiation_helmet": "Orange Anti Radiation Helmet", + "item.createnuclear.orange_anti_radiation_leggings": "Orange Anti Radiation Leggings", + "item.createnuclear.orange_cloth": "Orange Cloth", + "item.createnuclear.pink_anti_radiation_chestplate": "Pink Anti Radiation Chestplate", + "item.createnuclear.pink_anti_radiation_helmet": "Pink Anti Radiation Helmet", + "item.createnuclear.pink_anti_radiation_leggings": "Pink Anti Radiation Leggings", + "item.createnuclear.pink_cloth": "Pink Cloth", + "item.createnuclear.purple_anti_radiation_chestplate": "Purple Anti Radiation Chestplate", + "item.createnuclear.purple_anti_radiation_helmet": "Purple Anti Radiation Helmet", + "item.createnuclear.purple_anti_radiation_leggings": "Purple Anti Radiation Leggings", + "item.createnuclear.purple_cloth": "Purple Cloth", + "item.createnuclear.raw_lead": "Raw Lead", + "item.createnuclear.raw_uranium": "Raw Uranium", + "item.createnuclear.reactor_blueprint_item": "Reactor Blueprint", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_Right_ click to fill it.", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", + "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", + "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "The reactor must be assembled", + "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own pattern.", + "item.createnuclear.red_anti_radiation_chestplate": "Red Anti Radiation Chestplate", + "item.createnuclear.red_anti_radiation_helmet": "Red Anti Radiation Helmet", + "item.createnuclear.red_anti_radiation_leggings": "Red Anti Radiation Leggings", + "item.createnuclear.red_cloth": "Red Cloth", + "item.createnuclear.steel_ingot": "Steel Ingot", + "item.createnuclear.steel_nugget": "Steel Nugget", + "item.createnuclear.uranium_bucket": "Uranium Bucket", + "item.createnuclear.uranium_powder": "Uranium Powder", + "item.createnuclear.uranium_rod": "Uranium Rod", + "item.createnuclear.uranium_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", + "item.createnuclear.white_anti_radiation_chestplate": "White Anti Radiation Chestplate", + "item.createnuclear.white_anti_radiation_helmet": "White Anti Radiation Helmet", + "item.createnuclear.white_anti_radiation_leggings": "White Anti Radiation Leggings", + "item.createnuclear.white_cloth": "White Cloth", + "item.createnuclear.wolf_irradiated_spawn_egg": "Irradiated Wolf Spawn Egg", + "item.createnuclear.yellow_anti_radiation_chestplate": "Yellow Anti Radiation Chestplate", + "item.createnuclear.yellow_anti_radiation_helmet": "Yellow Anti Radiation Helmet", + "item.createnuclear.yellow_anti_radiation_leggings": "Yellow Anti Radiation Leggings", + "item.createnuclear.yellow_cloth": "Yellow Cloth", + "item.createnuclear.yellowcake": "Yellowcake", + "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Lingering Potion of Radiation", + "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Lingering Potion of Radiation", + "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Lingering Potion of Radiation", + "item.minecraft.potion.effect.potion_of_radiation_1": "Potion of Radiation", + "item.minecraft.potion.effect.potion_of_radiation_2": "Potion of Radiation", + "item.minecraft.potion.effect.potion_of_radiation_augment_1": "Potion of Radiation", + "item.minecraft.splash_potion.effect.potion_of_radiation_1": "Splash Potion of Radiation", + "item.minecraft.splash_potion.effect.potion_of_radiation_2": "Splash Potion of Radiation", + "item.minecraft.splash_potion.effect.potion_of_radiation_augment_1": "Splash Potion of Radiation", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_1": "Arrow of Radiation", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Arrow of Radiation", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", + "itemGroup.createnuclear.main": "Create Nuclear", + "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", + "reactor.info.assembled.creator": "Reactor has been assembled", + "reactor.info.assembled.destroyer": "Reactor has been disassembled", + "reactor.info.assembled.none": "Reactor is not assembled", + "reactor.info.is": "controller is", + "reactor.item.gui.name": "Config Pattern", + "reactor.update.casing.input": "Update the casing in input", + "tag.fluid.c.uranium": "Fluid Uranium", + "tag.item.c.coal_dusts": "Coal Dusts", + "tag.item.c.ingots.lead": "Tags Lead ingots", + "tag.item.c.ingots.steel": "Tags Steel ingots", + "tag.item.c.lead_ingots": "Lead ingots", + "tag.item.c.lead_nuggets": "Lead nuggets", + "tag.item.c.uranium": "Fluid Uranium", + "tag.item.createnuclear.cloth": "Cloth", + "tag.item.createnuclear.cooler": "Cooler", + "tag.item.createnuclear.fuel": "Fuel", + "tag.item.minecraft.all.campfires": "All Campfires", + "tag.item.minecraft.campfires": "Campfires", + "tag.item.trinkets.head.face": "Head Face" +} \ No newline at end of file diff --git a/src/main/resources/assets/createnuclear/lang/fi_fi.json b/src/main/resources/assets/createnuclear/lang/fi_fi.json index ce4ce5c5..eade5a4a 100644 --- a/src/main/resources/assets/createnuclear/lang/fi_fi.json +++ b/src/main/resources/assets/createnuclear/lang/fi_fi.json @@ -1,64 +1,85 @@ { - "advancement.createnuclear.anti_radiation_armor": "Anti radiation Armor", - "advancement.createnuclear.anti_radiation_armor.desc": "Craft your first anti-radiation armor piece to protect yourself from radiation", - "advancement.createnuclear.automatic_uranium": "Automating Uranium", - "advancement.createnuclear.automatic_uranium.desc": "Obtain some uranium powder using the automatic uranium processing\n§7(Hidden Advancement)", - "advancement.createnuclear.coal_dust": "Coal Dust", - "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", - "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", - "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.anti_radiation_armor": "Säteily-vastainen panssari", + "advancement.createnuclear.anti_radiation_armor.desc": "Työstä ensimmäisesi Säteily-vastaisen panssarin suojataksesi itsesi säteilyltä", + "advancement.createnuclear.automatic_uranium": "Automatisoi Uraani", + "advancement.createnuclear.automatic_uranium.desc": "Kerää uraanipölyä käyttäen automaattista uraani prosessointia\n§7(Hidden Advancement)", + "advancement.createnuclear.coal_dust": "Hiilipöly", + "advancement.createnuclear.coal_dust.desc": "Murskaa hiiltä tai puuhiiltä jotta saat hiilipölyä, tärkeä työstämisaine", + "advancement.createnuclear.dye_anti_radiation_armor": "Koristele Panssarini", + "advancement.createnuclear.dye_anti_radiation_armor.desc": "Värjää säteily-vastaisesi panssarisi miksi tahansa väriksi", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", - "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", - "advancement.createnuclear.full_anti_radiation_armor.desc": "Wear a full set of anti-radiation armor to fully protect yourself from radiation", - "advancement.createnuclear.graphene": "Graphene", - "advancement.createnuclear.graphene.desc": "Press coal dust to create graphene", - "advancement.createnuclear.graphite_rod": "Don't Forget Those Ones", - "advancement.createnuclear.graphite_rod.desc": "Combine graphene and steel ingots in a mechanical crafter to make graphite rods", - "advancement.createnuclear.lead_ingot": "Lead ingot", - "advancement.createnuclear.lead_ingot.desc": "Smelt a raw lead to obtain a lead ingot", - "advancement.createnuclear.raw_lead": "Raw Lead", - "advancement.createnuclear.raw_lead.desc": "Obtain some raw lead by mining lead ore", - "advancement.createnuclear.raw_uranium": "The Raw Power", - "advancement.createnuclear.raw_uranium.desc": "Mine uranium ore to obtain raw uranium for further processing", - "advancement.createnuclear.reactor_blueprint": "Blueprint For Power", - "advancement.createnuclear.reactor_blueprint.desc": "Craft a reactor blueprint to design the layout of rods in your reactor", - "advancement.createnuclear.reactor_casing": "The Power Of The Reactor", - "advancement.createnuclear.reactor_casing.desc": "Craft a reactor casing to begin building your nuclear reactor", - "advancement.createnuclear.reactor_controller": "Controller Of The Core", - "advancement.createnuclear.reactor_controller.desc": "Craft a reactor controller to manage and regulate your reactor", - "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", + "advancement.createnuclear.full_anti_radiation_armor": "Täysin Suojattu", + "advancement.createnuclear.full_anti_radiation_armor.desc": "Pidä päällä kokonaista settiä säteily-vastaista panssaria suojataksesi itseäsi säteilyltä", + "advancement.createnuclear.graphene": "Grafeeni", + "advancement.createnuclear.graphene.desc": "Litistä hiilipölyä saadaksesi grafeenia", + "advancement.createnuclear.graphite_rod": "Älä Unohda Noita", + "advancement.createnuclear.graphite_rod.desc": "Yhdistä grafeenia ja teräsharkkoja mekaanisessa työpöydässä tehtäväksi grafeeni-sauvoja", + "advancement.createnuclear.lead_ingot": "Lyijyharkko", + "advancement.createnuclear.lead_ingot.desc": "Sulata raaka lyijy saadaksesi lyijyharkon", + "advancement.createnuclear.raw_lead": "Raaka lyijy", + "advancement.createnuclear.raw_lead.desc": "Kerää raakaa lyijyä kaivamalla lyijymalmia", + "advancement.createnuclear.raw_uranium": "Raaka Voima", + "advancement.createnuclear.raw_uranium.desc": "Kaiva uraania saadaksesi raakaa uraania jatkoprosessointia varten", + "advancement.createnuclear.reactor_blueprint": "Suunnitelma Voimaa Varten", + "advancement.createnuclear.reactor_blueprint.desc": "Työstä reaktorin suunnitelma sauvojen suunnittelua varten reaktorissasi", + "advancement.createnuclear.reactor_casing": "Reaktorin Voima", + "advancement.createnuclear.reactor_casing.desc": "Työstä reaktorikotelo ydin-reaktorin rakennusta varten", + "advancement.createnuclear.reactor_controller": "Ytimen Ohjain", + "advancement.createnuclear.reactor_controller.desc": "Rakenna reaktorin ohjain reaktorisi ohjaukseen ja sääntelemiseen", + "advancement.createnuclear.reactor_cooler": "Reaktoring Viilennys", "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", - "advancement.createnuclear.reactor_core": "Core of Power", - "advancement.createnuclear.reactor_core.desc": "Craft the reactor core to harness the full energy of your nuclear reactor", + "advancement.createnuclear.reactor_core": "Voiman Ydin", + "advancement.createnuclear.reactor_core.desc": "Työstä reaktorin ydin jotta voit valjastaa reaktorisi täyden voiman", "advancement.createnuclear.reactor_frame": "Reactor Main Frame", "advancement.createnuclear.reactor_frame.desc": "Craft a reactor main frame to build your nuclear reactor", - "advancement.createnuclear.reactor_input": "Fueling The Reactor", - "advancement.createnuclear.reactor_input.desc": "Craft a reactor input to feed uranium and graphite rods into your reactor", - "advancement.createnuclear.reactor_output": "Power Output", - "advancement.createnuclear.reactor_output.desc": "Craft a reactor output to transfer the energy produced by your reactor", - "advancement.createnuclear.reinforced_glass": "Reinforced Glass", - "advancement.createnuclear.reinforced_glass.desc": "Craft some reinforced glass for the first time", - "advancement.createnuclear.root": "Starting The Nuclear Journey", - "advancement.createnuclear.root.desc": "Unlock the basics of nuclear energy and get your first uranium powder", - "advancement.createnuclear.steel_ingot": "Steel Ingot", - "advancement.createnuclear.steel_ingot.desc": "Combine coal dust and iron ingots to create steel ingots", - "advancement.createnuclear.uranium_liquid": "Turning Solid To Liquid", - "advancement.createnuclear.uranium_liquid.desc": "Obtain some uranium liquid by mixing uranium powder", - "advancement.createnuclear.uranium_powder": "Powdered Uranium", - "advancement.createnuclear.uranium_powder.desc": "Crush raw uranium into powder to prepare for further refining", - "advancement.createnuclear.uranium_rod": "The Power Of The Atom", - "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", - "advancement.createnuclear.yellowcake": "The Yellowcake Process", - "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", - "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", - "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", - "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", + "advancement.createnuclear.reactor_input": "Reaktorin Tankkaus", + "advancement.createnuclear.reactor_input.desc": "Työstä reaktorin sisääntulo uraanin ja grafeeni-sauvojen lisäykseen", + "advancement.createnuclear.reactor_output": "Voiman Ulostulo", + "advancement.createnuclear.reactor_output.desc": "Työstä reaktorin ulostulo että voit siirtää energiaa jota reaktorisi tuottaa", + "advancement.createnuclear.reinforced_glass": "Vahvistettu Lasi", + "advancement.createnuclear.reinforced_glass.desc": "Työstä vahvistettua lasia ensimmäisen kerran", + "advancement.createnuclear.root": "Aloitetaan ydin-matka", + "advancement.createnuclear.root.desc": "Avaa ydinenergian perusteet ja kerää ensimmäinen uraanipöly", + "advancement.createnuclear.steel_ingot": "Teräsharkko", + "advancement.createnuclear.steel_ingot.desc": "Yhdistä hiilipölyä ja rautaharkkoja luodaksesi teräsharkkoja", + "advancement.createnuclear.uranium_liquid": "Kiinteä Nesteeksi", + "advancement.createnuclear.uranium_liquid.desc": "Kerää nestemäistä uraania sekoittamalla uraanipölyä", + "advancement.createnuclear.uranium_powder": "Pölytetty uraani", + "advancement.createnuclear.uranium_powder.desc": "Murskaa raaka uraani pölyksi jatkojalostusta varten", + "advancement.createnuclear.uranium_rod": "Atomin Voima", + "advancement.createnuclear.uranium_rod.desc": "Tee ensimmäisesi uraani-sauvan käyttämällä rikastuttua keltakakkua mekaanisessa työpöydässä", + "advancement.createnuclear.yellowcake": "Keltakakku Prosessi", + "advancement.createnuclear.yellowcake.desc": "Tiivistä nestemäistä uraania luodaksesi keltakakkua", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", + "block.createnuclear.deepslate_lead_ore": "", + "block.createnuclear.deepslate_uranium_ore": "Pohjaliuskeuraanimalmi", + "block.createnuclear.enriched_soul_soil": "Rikastettu sielumulta", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", - "block.createnuclear.enriching_campfire": "Enriching Campfire", + "block.createnuclear.enriching_campfire": "Rikastetaan Nuotio", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -106,24 +131,24 @@ "createnuclear.tooltip.heatLevel.caution": "Caution", "createnuclear.tooltip.heatLevel.danger": "Danger", "createnuclear.tooltip.heatLevel.none": "None", - "createnuclear.tooltip.heatLevel.safety": "Safety", - "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", - "createnuclear.tooltip.item.unknown.rod": "Unknown: ", - "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", - "effect.createnuclear.radiation": "Radiation", - "emi.category.createnuclear.fan_enriched": "Bulk Enriched", - "entity.createnuclear.irradiated_cat": "Irradiated Cat", - "entity.createnuclear.irradiated_chicken": "Irradiated Chicken", - "entity.createnuclear.irradiated_wolf": "Irradiated Wolf", - "fluid.createnuclear.uranium": "Liquid Uranium", - "gui.createnuclear.reactor_controller.title": "Reactor Controller", - "gui.createnuclear.reactor_input.title": "Reactor Input Storage", - "item.createnuclear.anti_radiation_boots": "Anti Radiation Boots", - "item.createnuclear.black_anti_radiation_chestplate": "Black Anti Radiation Chestplate", - "item.createnuclear.black_anti_radiation_helmet": "Black Anti Radiation Helmet", - "item.createnuclear.black_anti_radiation_leggings": "Black Anti Radiation Leggings", - "item.createnuclear.black_cloth": "Black Cloth", + "createnuclear.tooltip.heatLevel.safety": "Turvallisuus", + "createnuclear.tooltip.heatLevel.warning": "Varoitus", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", + "createnuclear.tooltip.item.unknown.rod": "Tuntematon: ", + "createnuclear.tooltip.item.uranium.rod": "Uraanisauva: ", + "effect.createnuclear.radiation": "Säteily", + "emi.category.createnuclear.fan_enriched": "Irtotavarana rikastettu", + "entity.createnuclear.irradiated_cat": "Säteilytetty Kissa", + "entity.createnuclear.irradiated_chicken": "Säteilytetty Kana", + "entity.createnuclear.irradiated_wolf": "Säteilytetty Susi", + "fluid.createnuclear.uranium": "Nestemäinen Uraani", + "gui.createnuclear.reactor_controller.title": "Reaktori Ohjain", + "gui.createnuclear.reactor_input.title": "Reaktori sisääntulovarasto", + "item.createnuclear.anti_radiation_boots": "Säteily-vastaiset Saappaat", + "item.createnuclear.black_anti_radiation_chestplate": "Musta Säteily-Vastainen rintapanssari", + "item.createnuclear.black_anti_radiation_helmet": "Musta Säteily-Vastainen kypärä", + "item.createnuclear.black_anti_radiation_leggings": "Mustat Säteily-Vastaiset housut", + "item.createnuclear.black_cloth": "Musta Kangas", "item.createnuclear.blue_anti_radiation_chestplate": "Blue Anti Radiation Chestplate", "item.createnuclear.blue_anti_radiation_helmet": "Blue Anti Radiation Helmet", "item.createnuclear.blue_anti_radiation_leggings": "Blue Anti Radiation Leggings", @@ -151,8 +176,8 @@ "item.createnuclear.green_anti_radiation_helmet": "Green Anti Radiation Helmet", "item.createnuclear.green_anti_radiation_leggings": "Green Anti Radiation Leggings", "item.createnuclear.green_cloth": "Green Cloth", - "item.createnuclear.lead_ingot": "Lead Ingot", - "item.createnuclear.lead_nugget": "Lead Nugget", + "item.createnuclear.lead_ingot": "Lyijyharkko", + "item.createnuclear.lead_nugget": "Lyijyhippu", "item.createnuclear.light_blue_anti_radiation_chestplate": "Light Blue Anti Radiation Chestplate", "item.createnuclear.light_blue_anti_radiation_helmet": "Light Blue Anti Radiation Helmet", "item.createnuclear.light_blue_anti_radiation_leggings": "Light Blue Anti Radiation Leggings", @@ -181,9 +206,9 @@ "item.createnuclear.purple_anti_radiation_helmet": "Purple Anti Radiation Helmet", "item.createnuclear.purple_anti_radiation_leggings": "Purple Anti Radiation Leggings", "item.createnuclear.purple_cloth": "Purple Cloth", - "item.createnuclear.raw_lead": "Raw Lead", - "item.createnuclear.raw_uranium": "Raw Uranium", - "item.createnuclear.reactor_blueprint_item": "Reactor Blueprint", + "item.createnuclear.raw_lead": "Raaka Lyijy", + "item.createnuclear.raw_uranium": "Raaka Uraani", + "item.createnuclear.reactor_blueprint_item": "Reaktori Suunnitelma", "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_Right_ click to fill it.", "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", @@ -193,53 +218,54 @@ "item.createnuclear.red_anti_radiation_helmet": "Red Anti Radiation Helmet", "item.createnuclear.red_anti_radiation_leggings": "Red Anti Radiation Leggings", "item.createnuclear.red_cloth": "Red Cloth", - "item.createnuclear.steel_ingot": "Steel Ingot", - "item.createnuclear.steel_nugget": "Steel Nugget", - "item.createnuclear.uranium_bucket": "Uranium Bucket", - "item.createnuclear.uranium_powder": "Uranium Powder", - "item.createnuclear.uranium_rod": "Uranium Rod", + "item.createnuclear.steel_ingot": "Teräsharkko", + "item.createnuclear.steel_nugget": "Teräshippu", + "item.createnuclear.uranium_bucket": "Uraaniämpäri", + "item.createnuclear.uranium_powder": "Uraanipöly", + "item.createnuclear.uranium_rod": "Uraani-sauva", "item.createnuclear.uranium_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", "item.createnuclear.white_anti_radiation_chestplate": "White Anti Radiation Chestplate", "item.createnuclear.white_anti_radiation_helmet": "White Anti Radiation Helmet", "item.createnuclear.white_anti_radiation_leggings": "White Anti Radiation Leggings", - "item.createnuclear.white_cloth": "White Cloth", + "item.createnuclear.white_cloth": "Valkoinen Kangas", "item.createnuclear.wolf_irradiated_spawn_egg": "Irradiated Wolf Spawn Egg", "item.createnuclear.yellow_anti_radiation_chestplate": "Yellow Anti Radiation Chestplate", "item.createnuclear.yellow_anti_radiation_helmet": "Yellow Anti Radiation Helmet", "item.createnuclear.yellow_anti_radiation_leggings": "Yellow Anti Radiation Leggings", "item.createnuclear.yellow_cloth": "Yellow Cloth", - "item.createnuclear.yellowcake": "Yellowcake", - "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Lingering Potion of Radiation", - "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Lingering Potion of Radiation", - "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Lingering Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_1": "Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_2": "Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_augment_1": "Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_1": "Splash Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_2": "Splash Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_augment_1": "Splash Potion of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_1": "Arrow of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Arrow of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", + "item.createnuclear.yellowcake": "Keltakakku", + "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Viipvä säteilyn taikajuoma", + "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Viipvä säteilyn taikajuoma", + "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Viipvä säteilyn taikajuoma", + "item.minecraft.potion.effect.potion_of_radiation_1": "Säteilyn Taikajuoma", + "item.minecraft.potion.effect.potion_of_radiation_2": "Säteilyn Taikajuoma", + "item.minecraft.potion.effect.potion_of_radiation_augment_1": "Säteilyn Taikajuoma", + "item.minecraft.splash_potion.effect.potion_of_radiation_1": "Roiskahtava Säteilyn Taikajuoma", + "item.minecraft.splash_potion.effect.potion_of_radiation_2": "Roiskahtava Säteilyn Taikajuoma", + "item.minecraft.splash_potion.effect.potion_of_radiation_augment_1": "Roiskahtava Säteilyn Taikajuoma", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_1": "Säteilyn nuoli", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Säteilyn nuoli", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Säteilyn nuoli", "itemGroup.createnuclear.main": "Create Nuclear", - "itemgroup.uranium": "Uranium Group", + "itemgroup.uranium": "Uraani ryhmä", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", - "reactor.info.is": "controller is", + "reactor.info.is": "ohjain on", "reactor.item.gui.name": "Config Pattern", "reactor.update.casing.input": "Update the casing in input", - "tag.fluid.c.uranium": "Fluid Uranium", - "tag.item.c.coal_dusts": "Coal Dusts", - "tag.item.c.ingots.lead": "Tags Lead ingots", - "tag.item.c.ingots.steel": "Tags Steel ingots", - "tag.item.c.lead_ingots": "Lead ingots", - "tag.item.c.lead_nuggets": "Lead nuggets", - "tag.item.c.uranium": "Fluid Uranium", - "tag.item.createnuclear.cloth": "Cloth", - "tag.item.createnuclear.cooler": "Cooler", - "tag.item.createnuclear.fuel": "Fuel", - "tag.item.minecraft.all.campfires": "All Campfires", - "tag.item.minecraft.campfires": "Campfires", - "tag.item.trinkets.head.face": "Head Face" + "tag.fluid.c.uranium": "Nestemäinen uraani", + "tag.item.c.coal_dusts": "Hiilipölyt", + "tag.item.c.ingots.lead": "Tagit Lyijyharkot", + "tag.item.c.ingots.steel": "Tagit Teräsharkot", + "tag.item.c.lead_ingots": "Lyijyharkot", + "tag.item.c.lead_nuggets": "Lyijyhippu", + "tag.item.c.uranium": "Nestemäinen uraani", + "tag.item.createnuclear.cloth": "Kangas", + "tag.item.createnuclear.cooler": "Jäähdytin", + "tag.item.createnuclear.fuel": "Polttoaine", + "tag.item.minecraft.all.campfires": "Kaikki nuotiot", + "tag.item.minecraft.campfires": "Nuotiot", + "tag.item.trinkets.head.face": "Pää Naama" } \ No newline at end of file diff --git a/src/main/resources/assets/createnuclear/lang/fr_fr.json b/src/main/resources/assets/createnuclear/lang/fr_fr.json index f8627cc8..702c09e0 100644 --- a/src/main/resources/assets/createnuclear/lang/fr_fr.json +++ b/src/main/resources/assets/createnuclear/lang/fr_fr.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Broyez du charbon ou du charbon de bois pour obtenir de la poudre de charbon, un matériau de fabrication clé", "advancement.createnuclear.dye_anti_radiation_armor": "Customise mon armure", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Teignez votre armure anti-radiation de n'importe quelle couleur", + "advancement.createnuclear.eated_yellowcake": "Manger du yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "À quoi vous attendiez-vous ?\n§7(Succès caché)", "advancement.createnuclear.enriched_yellowcake": "Amélioration du yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Utilisez un ventilateur pour enrichir le yellowcake et le rendre plus puissant", "advancement.createnuclear.full_anti_radiation_armor": "Entièrement protégé", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Créez votre première barre d'uranium en utilisant du yellowcake enrichi dans un assembleur mécanique", "advancement.createnuclear.yellowcake": "Le processus du yellowcake", "advancement.createnuclear.yellowcake.desc": "Compactez de l'uranium liquide pour créer du yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Autunite coupée", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Briques d'autunite coupée", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Autunite coupée polie", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Petites briques d'autunite", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Pilier d'autunite", + "block.createnuclear.cut_autunite": "Autunite coupée", + "block.createnuclear.cut_autunite_brick_slab": "Dalles en briques d'autunite coupée", + "block.createnuclear.cut_autunite_brick_stairs": "Escalier en briques d'autunite coupée", + "block.createnuclear.cut_autunite_brick_wall": "Muret en briques d'autunite coupée", + "block.createnuclear.cut_autunite_bricks": "Briques d'autunite coupée", + "block.createnuclear.cut_autunite_slab": "Dalle d'autunite coupée", + "block.createnuclear.cut_autunite_stairs": "Escalier d'autunite coupée", + "block.createnuclear.cut_autunite_wall": "Muret d'autunite coupée", "block.createnuclear.deepslate_lead_ore": "Minerai de plomb des abîmes", "block.createnuclear.deepslate_uranium_ore": "Minerai d'uranium des abîmes", "block.createnuclear.enriched_soul_soil": "Terre des âmes enrichie", "block.createnuclear.enriched_soul_soil.tooltip.summary": "Le _seul_ bloc qui crée un _feu de camp enrichi_. Peut être utilisé pour _fabriquer_ un feu de camp enrichi ou juste pour faire un _feu de camp vert_.", "block.createnuclear.enriching_campfire": "Feu de camp enrichi", "block.createnuclear.enriching_fire": "Feu enrichi", + "block.createnuclear.layered_autunite": "Couches d'autunite", "block.createnuclear.lead_block": "Bloc de plomb", "block.createnuclear.lead_ore": "Minerai de plomb", + "block.createnuclear.polished_cut_autunite": "Autunite coupée polie", + "block.createnuclear.polished_cut_autunite_slab": "Dalle d'autunite coupée polie", + "block.createnuclear.polished_cut_autunite_stairs": "Escalier d'autunite coupée polie", + "block.createnuclear.polished_cut_autunite_wall": "Muret d'autunite coupée polie", "block.createnuclear.raw_lead_block": "Bloc de plomb brut", "block.createnuclear.raw_uranium_block": "Bloc d'uranium brut", "block.createnuclear.reactor_casing": "Boitier de réacteur", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Quand le réacteur produit de l'énergie", "block.createnuclear.reactor_output.tooltip.summary": "_La sortie du réacteur_ est un _bloc_ qui peut être utilisé pour extraire l'énergie mécanique générée par le _Réacteur_", "block.createnuclear.reinforced_glass": "Verre renforcé", + "block.createnuclear.small_autunite_brick_slab": "Dalle de petites briques d'autunite", + "block.createnuclear.small_autunite_brick_stairs": "Escalier de petites briques d'autunite", + "block.createnuclear.small_autunite_brick_wall": "Muret de petites briques d'autunite", + "block.createnuclear.small_autunite_bricks": "Petites briques d'autunite", "block.createnuclear.steel_block": "Bloc d'acier", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Minerai d'uranium", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Flèche irradiée", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Groupe d'uranium", + "overlay.event_message": "⚠️ Avertissement ⚠️ Délai %s", "reactor.info.assembled.creator": "Le réacteur a été assemblé", "reactor.info.assembled.destroyer": "Le réacteur a été désassemblé", "reactor.info.assembled.none": "Le réacteur n'est pas assemblé", diff --git a/src/main/resources/assets/createnuclear/lang/he_il.json b/src/main/resources/assets/createnuclear/lang/he_il.json index ce4ce5c5..e79a54d9 100644 --- a/src/main/resources/assets/createnuclear/lang/he_il.json +++ b/src/main/resources/assets/createnuclear/lang/he_il.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "None", "createnuclear.tooltip.heatLevel.safety": "Safety", "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/hu_hu.json b/src/main/resources/assets/createnuclear/lang/hu_hu.json index c8eb10e5..4c95ac9c 100644 --- a/src/main/resources/assets/createnuclear/lang/hu_hu.json +++ b/src/main/resources/assets/createnuclear/lang/hu_hu.json @@ -1,245 +1,271 @@ { - "advancement.createnuclear.anti_radiation_armor": "Anti radiation Armor", - "advancement.createnuclear.anti_radiation_armor.desc": "Craft your first anti-radiation armor piece to protect yourself from radiation", - "advancement.createnuclear.automatic_uranium": "Automating Uranium", - "advancement.createnuclear.automatic_uranium.desc": "Obtain some uranium powder using the automatic uranium processing\n§7(Hidden Advancement)", - "advancement.createnuclear.coal_dust": "Coal Dust", - "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", - "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", - "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", - "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", - "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", - "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", - "advancement.createnuclear.full_anti_radiation_armor.desc": "Wear a full set of anti-radiation armor to fully protect yourself from radiation", - "advancement.createnuclear.graphene": "Graphene", - "advancement.createnuclear.graphene.desc": "Press coal dust to create graphene", - "advancement.createnuclear.graphite_rod": "Don't Forget Those Ones", - "advancement.createnuclear.graphite_rod.desc": "Combine graphene and steel ingots in a mechanical crafter to make graphite rods", - "advancement.createnuclear.lead_ingot": "Lead ingot", - "advancement.createnuclear.lead_ingot.desc": "Smelt a raw lead to obtain a lead ingot", - "advancement.createnuclear.raw_lead": "Raw Lead", - "advancement.createnuclear.raw_lead.desc": "Obtain some raw lead by mining lead ore", - "advancement.createnuclear.raw_uranium": "The Raw Power", - "advancement.createnuclear.raw_uranium.desc": "Mine uranium ore to obtain raw uranium for further processing", - "advancement.createnuclear.reactor_blueprint": "Blueprint For Power", - "advancement.createnuclear.reactor_blueprint.desc": "Craft a reactor blueprint to design the layout of rods in your reactor", - "advancement.createnuclear.reactor_casing": "The Power Of The Reactor", - "advancement.createnuclear.reactor_casing.desc": "Craft a reactor casing to begin building your nuclear reactor", - "advancement.createnuclear.reactor_controller": "Controller Of The Core", - "advancement.createnuclear.reactor_controller.desc": "Craft a reactor controller to manage and regulate your reactor", - "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", + "advancement.createnuclear.anti_radiation_armor": "Sugárzás elleni páncél", + "advancement.createnuclear.anti_radiation_armor.desc": "Barkácsold meg az első sugárzás-elleni páncélodat hogy megvédd magad a sugárzástól", + "advancement.createnuclear.automatic_uranium": "Automatizáld az uránium", + "advancement.createnuclear.automatic_uranium.desc": "Szerezz uránium port az automatikus uránium feldolgózó használatával\n§7(Rejtett Előrelépések)", + "advancement.createnuclear.coal_dust": "Szénpor", + "advancement.createnuclear.coal_dust.desc": "Zúzz össze szenet vagy faszenet hogy szénport szerezz, egy fontos barkácsolási alapanyagot", + "advancement.createnuclear.dye_anti_radiation_armor": "Turbózd Fel A Páncélomat", + "advancement.createnuclear.dye_anti_radiation_armor.desc": "Színezd be a sugárzás elleni páncélodat bármilyen színre", + "advancement.createnuclear.eated_yellowcake": "Sárgapogácsa Elfogyasztása", + "advancement.createnuclear.eated_yellowcake.desc": "Mire számítottál?\n§7(Rejtett mérföldkő)", + "advancement.createnuclear.enriched_yellowcake": "Sárga Pogácsa Fokozása", + "advancement.createnuclear.enriched_yellowcake.desc": "Használj egy ventillátort hogy gazdagított sárga pogácsát készíts", + "advancement.createnuclear.full_anti_radiation_armor": "Teljesen Megvédve", + "advancement.createnuclear.full_anti_radiation_armor.desc": "Szerelkezz fel egy teljes sugárzás elleni páncéllal, hogy megvédd magad a sugárzástól", + "advancement.createnuclear.graphene": "Grafén", + "advancement.createnuclear.graphene.desc": "Nyomj össze szénport hogy grafén készíts", + "advancement.createnuclear.graphite_rod": "Ne Feledd Azokat Sem", + "advancement.createnuclear.graphite_rod.desc": "Kombinálj grafén és acél port hogy grafén rudat szerezz", + "advancement.createnuclear.lead_ingot": "Ólomrúd", + "advancement.createnuclear.lead_ingot.desc": "Olvassz nyers ólomot egy ólomrúddá", + "advancement.createnuclear.raw_lead": "Nyers ólom", + "advancement.createnuclear.raw_lead.desc": "Szerezz nyers ólmot, ólomérc kibányászásával", + "advancement.createnuclear.raw_uranium": "A Ners Energia", + "advancement.createnuclear.raw_uranium.desc": "Bányássz uránium ércet hogy urániumot szerezz", + "advancement.createnuclear.reactor_blueprint": "Az Energia Tervrajza", + "advancement.createnuclear.reactor_blueprint.desc": "Barkácsolj egy reaktor üzemanyag tervrajzot", + "advancement.createnuclear.reactor_casing": "A Reaktor Ereje", + "advancement.createnuclear.reactor_casing.desc": "Barkácsolj reaktor burkolatot, hogy reaktort építhess", + "advancement.createnuclear.reactor_controller": "A Mag Vezérlője", + "advancement.createnuclear.reactor_controller.desc": "Barkácsolj egy reaktor vezérlőt hogy szabályozni tudd a reaktort", + "advancement.createnuclear.reactor_cooler": "A Reaktor Hűtése", "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", - "advancement.createnuclear.reactor_core": "Core of Power", - "advancement.createnuclear.reactor_core.desc": "Craft the reactor core to harness the full energy of your nuclear reactor", + "advancement.createnuclear.reactor_core": "Az erő magja", + "advancement.createnuclear.reactor_core.desc": "Barkácsolj egy reaktor magot, hogy kihasználd a reaktor energiáját", "advancement.createnuclear.reactor_frame": "Reactor Main Frame", "advancement.createnuclear.reactor_frame.desc": "Craft a reactor main frame to build your nuclear reactor", - "advancement.createnuclear.reactor_input": "Fueling The Reactor", - "advancement.createnuclear.reactor_input.desc": "Craft a reactor input to feed uranium and graphite rods into your reactor", - "advancement.createnuclear.reactor_output": "Power Output", - "advancement.createnuclear.reactor_output.desc": "Craft a reactor output to transfer the energy produced by your reactor", - "advancement.createnuclear.reinforced_glass": "Reinforced Glass", - "advancement.createnuclear.reinforced_glass.desc": "Craft some reinforced glass for the first time", - "advancement.createnuclear.root": "Starting The Nuclear Journey", - "advancement.createnuclear.root.desc": "Unlock the basics of nuclear energy and get your first uranium powder", - "advancement.createnuclear.steel_ingot": "Steel Ingot", - "advancement.createnuclear.steel_ingot.desc": "Combine coal dust and iron ingots to create steel ingots", + "advancement.createnuclear.reactor_input": "A Reaktor Üzemaga", + "advancement.createnuclear.reactor_input.desc": "Barkácsolj egy reaktor bemenetet, hogy uránuimrudat és grafitrudat vezethess a reaktorba", + "advancement.createnuclear.reactor_output": "Energia Kimenet", + "advancement.createnuclear.reactor_output.desc": "Barkácsolj egy energia kimenetet hogy kivezethessed az energiát a reaktorból", + "advancement.createnuclear.reinforced_glass": "Edzett üveg", + "advancement.createnuclear.reinforced_glass.desc": "Barkácsolj edzett üveget", + "advancement.createnuclear.root": "A Nukleáris Kaland Kezdete", + "advancement.createnuclear.root.desc": "Old fel a nukleáris energia alapjait, és szerezz uránium port", + "advancement.createnuclear.steel_ingot": "Acélrúd", + "advancement.createnuclear.steel_ingot.desc": "Barkácsolj acélrudat szénporból és vasrúdból", "advancement.createnuclear.uranium_liquid": "Tömörből folyadék", - "advancement.createnuclear.uranium_liquid.desc": "Obtain some uranium liquid by mixing uranium powder", - "advancement.createnuclear.uranium_powder": "Powdered Uranium", - "advancement.createnuclear.uranium_powder.desc": "Crush raw uranium into powder to prepare for further refining", - "advancement.createnuclear.uranium_rod": "The Power Of The Atom", + "advancement.createnuclear.uranium_liquid.desc": "Szerezz folyékony urániumot", + "advancement.createnuclear.uranium_powder": "Uránium por", + "advancement.createnuclear.uranium_powder.desc": "Zúzz össze nyers urániumot, hogy uránium port szerezz", + "advancement.createnuclear.uranium_rod": "Az Atomok Ereje", "advancement.createnuclear.uranium_rod.desc": "Csináld meg az első urániumrudadat feljavított yellowcake segítségével egy barkácsgépben", "advancement.createnuclear.yellowcake": "A Yellowcake Folyamat", - "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", - "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", - "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", - "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", + "advancement.createnuclear.yellowcake.desc": "Nyomj össze folyékony urániumot hogy sárga pogácsát készíthess", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Vágott Autunit", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Vágott Autunit Tégla", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Csiszolt Vágott Autunit", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Kicsi Autunit Tégla", + "block.createnuclear.autunite": "Autunit", + "block.createnuclear.autunite_pillar": "Autunit Oszlop", + "block.createnuclear.cut_autunite": "Vágott Autunit", + "block.createnuclear.cut_autunite_brick_slab": "Vágott Autunit Tégla Lap", + "block.createnuclear.cut_autunite_brick_stairs": "Vágott Autunit Lépcső", + "block.createnuclear.cut_autunite_brick_wall": "Vágott Autunit Tégla Fal", + "block.createnuclear.cut_autunite_bricks": "Vágott Autunit Tégla", + "block.createnuclear.cut_autunite_slab": "Vágott Autunit Lap", + "block.createnuclear.cut_autunite_stairs": "Vágott Autunit Lépcső", + "block.createnuclear.cut_autunite_wall": "Vágott Autunit Fal", + "block.createnuclear.deepslate_lead_ore": "Mélypala Ólomérc", + "block.createnuclear.deepslate_uranium_ore": "Mélypala Uránium Érc", + "block.createnuclear.enriched_soul_soil": "Gazdagított Lélek Talaj", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", - "block.createnuclear.enriching_campfire": "Enriching Campfire", - "block.createnuclear.enriching_fire": "Enriching Fire", - "block.createnuclear.lead_block": "Lead Block", - "block.createnuclear.lead_ore": "Lead Ore", - "block.createnuclear.raw_lead_block": "Raw Lead Block", - "block.createnuclear.raw_uranium_block": "Raw Uranium Block", - "block.createnuclear.reactor_casing": "Reactor Casing", - "block.createnuclear.reactor_casing.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_controller": "Reactor Controller", - "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a patern to work", - "block.createnuclear.reactor_controller.tooltip.condition1": "When the reactor is assembled", - "block.createnuclear.reactor_controller.tooltip.summary": " The _Reactor Controller_ is the _most important_ block for operating the reactor", - "block.createnuclear.reactor_cooler": "Reactor Cooler", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_core": "Reactor Core", - "block.createnuclear.reactor_core.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_frame": "Reactor Frame", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.enriching_campfire": "Gazdagító Tábortűz", + "block.createnuclear.enriching_fire": "Gazdagító Tűz", + "block.createnuclear.layered_autunite": "Réteges Autunit", + "block.createnuclear.lead_block": "Ólomblokk", + "block.createnuclear.lead_ore": "Ólomérc", + "block.createnuclear.polished_cut_autunite": "Csiszolt Vágott Autunit", + "block.createnuclear.polished_cut_autunite_slab": "Csiszolt Vágott Autunit Lap", + "block.createnuclear.polished_cut_autunite_stairs": "Csiszolt Vágott Autunit Lépcső", + "block.createnuclear.polished_cut_autunite_wall": "Csiszolt Vágott Autunit Fal", + "block.createnuclear.raw_lead_block": "Nyers Ólomblokk", + "block.createnuclear.raw_uranium_block": "Nyers Urániumblokk", + "block.createnuclear.reactor_casing": "Reaktor Burkolat", + "block.createnuclear.reactor_casing.tooltip.summary": "A reaktor építéséhez használt blokk", + "block.createnuclear.reactor_controller": "Reaktor Vezérlő", + "block.createnuclear.reactor_controller.tooltip.behaviour1": "az összes számolást elvégzi az energia generálásához, kell a reaktor tervrajz egy mintával hogy működjön", + "block.createnuclear.reactor_controller.tooltip.condition1": "Ha a reaktor összeállt", + "block.createnuclear.reactor_controller.tooltip.summary": " A reaktor vezérlő a legfontosabb blokk a reaktor működéséhez", + "block.createnuclear.reactor_cooler": "Reaktor Hűtő", + "block.createnuclear.reactor_cooler.tooltip.summary": "A reaktor építéséhez használt blokk", + "block.createnuclear.reactor_core": "Reaktor Mag", + "block.createnuclear.reactor_core.tooltip.summary": "A reaktor építéséhez használt blokk", + "block.createnuclear.reactor_frame": "Reaktor Váz", + "block.createnuclear.reactor_frame.tooltip.summary": "A reaktor építéséhez használt blokk", "block.createnuclear.reactor_input": "Reaktor-bemenet", "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _unranium_ and _graphene_ rods in large quantities to power _the reactor_ ", - "block.createnuclear.reactor_input.tooltip.condition1": "When the Reactor is assembled", - "block.createnuclear.reactor_input.tooltip.summary": "_The Reactor Input_ is a _block_ that can be used to insert _Uranium_ and _Graphene_ rods into the _Reactor_", - "block.createnuclear.reactor_output": "Reactor Output", - "block.createnuclear.reactor_output.tooltip.behaviour1": "You can _extract the energy_ produce by the reactor by attaching _shaft_ to the _reactor output_", - "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", - "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", - "block.createnuclear.reinforced_glass": "Reinforced Glass", - "block.createnuclear.steel_block": "Steel Block", - "block.createnuclear.uranium": "Uranium", - "block.createnuclear.uranium_ore": "Uranium Ore", - "create.recipe.fan_enriched.fan": "Fan behind Enriched Fire", - "createnuclear.enriched.fan.recipe": "Bulk Enriched", + "block.createnuclear.reactor_input.tooltip.condition1": "Ha a reaktor összeállt", + "block.createnuclear.reactor_input.tooltip.summary": "A reaktor bemenet egy olyan blokk ami képes bevezetni az urániumrudat és a grafénrudat a reaktorba", + "block.createnuclear.reactor_output": "Reaktor Kimenet", + "block.createnuclear.reactor_output.tooltip.behaviour1": "Fel tudod használni a forgási energiát amit a reaktor generál úgy hogy egy tengelyt raksz a reaktor kimenethez", + "block.createnuclear.reactor_output.tooltip.condition1": "Ha a reaktor energiát termel", + "block.createnuclear.reactor_output.tooltip.summary": "A reaktor kimenet egy olyan blokk amiből mechanikus energiát lehet kivezetni", + "block.createnuclear.reinforced_glass": "Edzett üveg", + "block.createnuclear.small_autunite_brick_slab": "Kicsi Autunit Tégla Lap", + "block.createnuclear.small_autunite_brick_stairs": "Kicsi Autunit Tégla Lépcső", + "block.createnuclear.small_autunite_brick_wall": "Kicsi Autunit Tégla Fal", + "block.createnuclear.small_autunite_bricks": "Kicsi Autunit Tégla", + "block.createnuclear.steel_block": "Acélblokk", + "block.createnuclear.uranium": "Uránium", + "block.createnuclear.uranium_ore": "Uránium Érc", + "create.recipe.fan_enriched.fan": "Mechanikus ventilátor, Gazdagító Tűz mögött", + "createnuclear.enriched.fan.recipe": "Tömegesen Gazdagított", "createnuclear.generic.unit.heat": "Q", - "createnuclear.gui.reactor_controller.info_header.title": "Heat value", - "createnuclear.ponder.reactor.header": "Construction of the reactor", - "createnuclear.ponder.reactor.text_1": "Floor 1", - "createnuclear.ponder.reactor.text_10": "Floor 7", - "createnuclear.ponder.reactor.text_2": "Reactor Output: This is the block that outputs the energy (SU) generated by the reactor.", - "createnuclear.ponder.reactor.text_3": "Floor 2", - "createnuclear.ponder.reactor.text_4": "Floor 3", - "createnuclear.ponder.reactor.text_5": "Floor 4", - "createnuclear.ponder.reactor.text_6": "Reactor Input: A block that stores uranium and graphite rods to operate the reactor.", - "createnuclear.ponder.reactor.text_7": "Reactor Controller: The most important block to operate the reactor; it handles all the calculations needed to generate power.", - "createnuclear.ponder.reactor.text_8": "Floor 5", - "createnuclear.ponder.reactor.text_9": "Floor 6", - "createnuclear.ponder.reactor_blueprint.header": "Controller Activation", - "createnuclear.ponder.reactor_blueprint.text_1": "Reactor Blueprint: the most important element; it allows the reactor to be configured according to specific models.", - "createnuclear.tooltip.heatLevel": "Heat Level", - "createnuclear.tooltip.heatLevel.caution": "Caution", - "createnuclear.tooltip.heatLevel.danger": "Danger", - "createnuclear.tooltip.heatLevel.none": "None", - "createnuclear.tooltip.heatLevel.safety": "Safety", - "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", - "createnuclear.tooltip.item.unknown.rod": "Unknown: ", - "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", - "effect.createnuclear.radiation": "Radiation", - "emi.category.createnuclear.fan_enriched": "Bulk Enriched", - "entity.createnuclear.irradiated_cat": "Irradiated Cat", - "entity.createnuclear.irradiated_chicken": "Irradiated Chicken", - "entity.createnuclear.irradiated_wolf": "Irradiated Wolf", - "fluid.createnuclear.uranium": "Liquid Uranium", - "gui.createnuclear.reactor_controller.title": "Reactor Controller", - "gui.createnuclear.reactor_input.title": "Reactor Input Storage", - "item.createnuclear.anti_radiation_boots": "Anti Radiation Boots", - "item.createnuclear.black_anti_radiation_chestplate": "Black Anti Radiation Chestplate", - "item.createnuclear.black_anti_radiation_helmet": "Black Anti Radiation Helmet", - "item.createnuclear.black_anti_radiation_leggings": "Black Anti Radiation Leggings", - "item.createnuclear.black_cloth": "Black Cloth", - "item.createnuclear.blue_anti_radiation_chestplate": "Blue Anti Radiation Chestplate", - "item.createnuclear.blue_anti_radiation_helmet": "Blue Anti Radiation Helmet", - "item.createnuclear.blue_anti_radiation_leggings": "Blue Anti Radiation Leggings", - "item.createnuclear.blue_cloth": "Blue Cloth", - "item.createnuclear.brown_anti_radiation_chestplate": "Brown Anti Radiation Chestplate", - "item.createnuclear.brown_anti_radiation_helmet": "Brown Anti Radiation Helmet", - "item.createnuclear.brown_anti_radiation_leggings": "Brown Anti Radiation Leggings", - "item.createnuclear.brown_cloth": "Brown Cloth", - "item.createnuclear.cat_irradiated_spawn_egg": "Irradiated Cat Spawn Egg", - "item.createnuclear.chicken_irradiated_spawn_egg": "Irradiated Chicken Spawn Egg", - "item.createnuclear.coal_dust": "Coal Dust", - "item.createnuclear.cyan_anti_radiation_chestplate": "Cyan Anti Radiation Chestplate", - "item.createnuclear.cyan_anti_radiation_helmet": "Cyan Anti Radiation Helmet", - "item.createnuclear.cyan_anti_radiation_leggings": "Cyan Anti Radiation Leggings", - "item.createnuclear.cyan_cloth": "Cyan Cloth", - "item.createnuclear.enriched_yellowcake": "Enriched Yellowcake", - "item.createnuclear.graphene": "Graphene", - "item.createnuclear.graphite_rod": "Graphite Rod", - "item.createnuclear.graphite_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", - "item.createnuclear.gray_anti_radiation_chestplate": "Gray Anti Radiation Chestplate", - "item.createnuclear.gray_anti_radiation_helmet": "Gray Anti Radiation Helmet", - "item.createnuclear.gray_anti_radiation_leggings": "Gray Anti Radiation Leggings", - "item.createnuclear.gray_cloth": "Gray Cloth", - "item.createnuclear.green_anti_radiation_chestplate": "Green Anti Radiation Chestplate", - "item.createnuclear.green_anti_radiation_helmet": "Green Anti Radiation Helmet", - "item.createnuclear.green_anti_radiation_leggings": "Green Anti Radiation Leggings", - "item.createnuclear.green_cloth": "Green Cloth", - "item.createnuclear.lead_ingot": "Lead Ingot", - "item.createnuclear.lead_nugget": "Lead Nugget", - "item.createnuclear.light_blue_anti_radiation_chestplate": "Light Blue Anti Radiation Chestplate", - "item.createnuclear.light_blue_anti_radiation_helmet": "Light Blue Anti Radiation Helmet", - "item.createnuclear.light_blue_anti_radiation_leggings": "Light Blue Anti Radiation Leggings", - "item.createnuclear.light_blue_cloth": "Light Blue Cloth", - "item.createnuclear.light_gray_anti_radiation_chestplate": "Light Gray Anti Radiation Chestplate", - "item.createnuclear.light_gray_anti_radiation_helmet": "Light Gray Anti Radiation Helmet", - "item.createnuclear.light_gray_anti_radiation_leggings": "Light Gray Anti Radiation Leggings", - "item.createnuclear.light_gray_cloth": "Light Gray Cloth", - "item.createnuclear.lime_anti_radiation_chestplate": "Lime Anti Radiation Chestplate", - "item.createnuclear.lime_anti_radiation_helmet": "Lime Anti Radiation Helmet", - "item.createnuclear.lime_anti_radiation_leggings": "Lime Anti Radiation Leggings", - "item.createnuclear.lime_cloth": "Lime Cloth", - "item.createnuclear.magenta_anti_radiation_chestplate": "Magenta Anti Radiation Chestplate", - "item.createnuclear.magenta_anti_radiation_helmet": "Magenta Anti Radiation Helmet", - "item.createnuclear.magenta_anti_radiation_leggings": "Magenta Anti Radiation Leggings", - "item.createnuclear.magenta_cloth": "Magenta Cloth", - "item.createnuclear.orange_anti_radiation_chestplate": "Orange Anti Radiation Chestplate", - "item.createnuclear.orange_anti_radiation_helmet": "Orange Anti Radiation Helmet", - "item.createnuclear.orange_anti_radiation_leggings": "Orange Anti Radiation Leggings", - "item.createnuclear.orange_cloth": "Orange Cloth", - "item.createnuclear.pink_anti_radiation_chestplate": "Pink Anti Radiation Chestplate", - "item.createnuclear.pink_anti_radiation_helmet": "Pink Anti Radiation Helmet", - "item.createnuclear.pink_anti_radiation_leggings": "Pink Anti Radiation Leggings", - "item.createnuclear.pink_cloth": "Pink Cloth", - "item.createnuclear.purple_anti_radiation_chestplate": "Purple Anti Radiation Chestplate", - "item.createnuclear.purple_anti_radiation_helmet": "Purple Anti Radiation Helmet", - "item.createnuclear.purple_anti_radiation_leggings": "Purple Anti Radiation Leggings", - "item.createnuclear.purple_cloth": "Purple Cloth", - "item.createnuclear.raw_lead": "Raw Lead", - "item.createnuclear.raw_uranium": "Raw Uranium", - "item.createnuclear.reactor_blueprint_item": "Reactor Blueprint", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_Right_ click to fill it.", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", - "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", - "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "The reactor must be assembled", + "createnuclear.gui.reactor_controller.info_header.title": "Hőérték", + "createnuclear.ponder.reactor.header": "A reaktor építése", + "createnuclear.ponder.reactor.text_1": "1. szint", + "createnuclear.ponder.reactor.text_10": "7. szint", + "createnuclear.ponder.reactor.text_2": "Reaktor kimenet: Ez az a blokk ami kivezeti a stressz (SU) energiát.", + "createnuclear.ponder.reactor.text_3": "2. szint", + "createnuclear.ponder.reactor.text_4": "3. szint", + "createnuclear.ponder.reactor.text_5": "4. szint", + "createnuclear.ponder.reactor.text_6": "Reaktor bemenet: Az a blokk ami urániumrudakat és grafitrudakat tárol hogy működtesse a reaktort.", + "createnuclear.ponder.reactor.text_7": "Reaktor vezérlő: A legfontosabb blokk a reaktorban, e nélkül nem fog energiát termelni.", + "createnuclear.ponder.reactor.text_8": "5. szint", + "createnuclear.ponder.reactor.text_9": "6. szint", + "createnuclear.ponder.reactor_blueprint.header": "Vezérlő Aktiválása", + "createnuclear.ponder.reactor_blueprint.text_1": "Reaktor tervrajz: A legfontosabb tárgy a reaktorban; ez adja meg a reaktor generálását és hűtését, ezzel testre szabható a reaktor.", + "createnuclear.tooltip.heatLevel": "Hőszint", + "createnuclear.tooltip.heatLevel.caution": "Figyelem", + "createnuclear.tooltip.heatLevel.danger": "Veszély", + "createnuclear.tooltip.heatLevel.none": "Semleges", + "createnuclear.tooltip.heatLevel.safety": "Biztonságos", + "createnuclear.tooltip.heatLevel.warning": "Figyelmeztetés", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", + "createnuclear.tooltip.item.unknown.rod": "Ismeretlen: ", + "createnuclear.tooltip.item.uranium.rod": "Uránium Rúd: ", + "effect.createnuclear.radiation": "Sugárzás", + "emi.category.createnuclear.fan_enriched": "Tömeges Gazdagítás", + "entity.createnuclear.irradiated_cat": "Besugárzott Macska", + "entity.createnuclear.irradiated_chicken": "Besugárzott Tyúk", + "entity.createnuclear.irradiated_wolf": "Besugárzott Farkas", + "fluid.createnuclear.uranium": "Folyékony uránium", + "gui.createnuclear.reactor_controller.title": "Reaktor Vezérlő", + "gui.createnuclear.reactor_input.title": "Reaktor Bemenet", + "item.createnuclear.anti_radiation_boots": "Sugárzás Elleni Csizma", + "item.createnuclear.black_anti_radiation_chestplate": "Fekete Sugárzás Elleni Mellvért", + "item.createnuclear.black_anti_radiation_helmet": "Fekete Sugárzás Elleni Sisak", + "item.createnuclear.black_anti_radiation_leggings": "Fekete Sugárzás Elleni Lábszárvédő", + "item.createnuclear.black_cloth": "Fekete Szövet", + "item.createnuclear.blue_anti_radiation_chestplate": "Kék Sugárzás Elleni Mellvért", + "item.createnuclear.blue_anti_radiation_helmet": "Kék Sugárzás Elleni Sisak", + "item.createnuclear.blue_anti_radiation_leggings": "Kék Sugárzás Elleni Lábszárvédő", + "item.createnuclear.blue_cloth": "Kék Szövet", + "item.createnuclear.brown_anti_radiation_chestplate": "Barna Sugárzás Elleni Mellvért", + "item.createnuclear.brown_anti_radiation_helmet": "Barna Sugárzás Elleni Sisak", + "item.createnuclear.brown_anti_radiation_leggings": "Barna Sugárzás Elleni Lábszárvédő", + "item.createnuclear.brown_cloth": "Barna Szövet", + "item.createnuclear.cat_irradiated_spawn_egg": "Besugárzott Macska Idézőtojás", + "item.createnuclear.chicken_irradiated_spawn_egg": "Besugárzott Tyúk Idézőtojás", + "item.createnuclear.coal_dust": "Szénpor", + "item.createnuclear.cyan_anti_radiation_chestplate": "Cián Sugárzás Elleni Mellvért", + "item.createnuclear.cyan_anti_radiation_helmet": "Cián Sugárzás Elleni Sisak", + "item.createnuclear.cyan_anti_radiation_leggings": "Cián Sugárzás Elleni Lábszárvédő", + "item.createnuclear.cyan_cloth": "Cián Szövet", + "item.createnuclear.enriched_yellowcake": "Gazdagított Sárga Pogácsa", + "item.createnuclear.graphene": "Grafén", + "item.createnuclear.graphite_rod": "Grafitrúd", + "item.createnuclear.graphite_rod.tooltip.summary": "A reaktor működtetéséhez kell.", + "item.createnuclear.gray_anti_radiation_chestplate": "Szürke Sugárzás Elleni Mellvért", + "item.createnuclear.gray_anti_radiation_helmet": "Szürke Sugárzás Elleni Sisak", + "item.createnuclear.gray_anti_radiation_leggings": "Szürke Sugárzás Elleni Lábszárvédő", + "item.createnuclear.gray_cloth": "Szürke Szövet", + "item.createnuclear.green_anti_radiation_chestplate": "Zöld Sugárzás Elleni Mellvért", + "item.createnuclear.green_anti_radiation_helmet": "Zöld Sugárzás Elleni Sisak", + "item.createnuclear.green_anti_radiation_leggings": "Zöld Sugárzás Elleni Lábszárvédő", + "item.createnuclear.green_cloth": "Zöld Szövet", + "item.createnuclear.lead_ingot": "Ólomrúd", + "item.createnuclear.lead_nugget": "Ólomrög", + "item.createnuclear.light_blue_anti_radiation_chestplate": "Világoskék Sugárzás Elleni Mellvért", + "item.createnuclear.light_blue_anti_radiation_helmet": "Világoskék Sugárzás Elleni Sisak", + "item.createnuclear.light_blue_anti_radiation_leggings": "Világoskék Sugárzás Elleni Lábszárvédő", + "item.createnuclear.light_blue_cloth": "Világoskék Szövet", + "item.createnuclear.light_gray_anti_radiation_chestplate": "Világosszürke Sugárzás Elleni Mellvért", + "item.createnuclear.light_gray_anti_radiation_helmet": "Világosszürke Sugárzás Elleni Sisak", + "item.createnuclear.light_gray_anti_radiation_leggings": "Világosszürke Sugárzás Elleni Lábszárvédő", + "item.createnuclear.light_gray_cloth": "Világosszürke Szövet", + "item.createnuclear.lime_anti_radiation_chestplate": "Lime Sugárzás Elleni Mellvért", + "item.createnuclear.lime_anti_radiation_helmet": "Lime Sugárzás Elleni Sisak", + "item.createnuclear.lime_anti_radiation_leggings": "Lime Sugárzás Elleni Lábszárvédő", + "item.createnuclear.lime_cloth": "Lime Szövet", + "item.createnuclear.magenta_anti_radiation_chestplate": "Bíborvörös Sugárzás Elleni Mellvért", + "item.createnuclear.magenta_anti_radiation_helmet": "Bíborvörös Sugárzás Elleni Sisak", + "item.createnuclear.magenta_anti_radiation_leggings": "Bíborvörös Sugárzás Elleni Lábszárvédő", + "item.createnuclear.magenta_cloth": "Bíborvörös Szövet", + "item.createnuclear.orange_anti_radiation_chestplate": "Narancssárga Sugárzás Elleni Mellvért", + "item.createnuclear.orange_anti_radiation_helmet": "Narancssárga Sugárzás Elleni Sisak", + "item.createnuclear.orange_anti_radiation_leggings": "Narancssárga Sugárzás Elleni Lábszárvédő", + "item.createnuclear.orange_cloth": "Narancssárga Szövet", + "item.createnuclear.pink_anti_radiation_chestplate": "Rózsaszín Sugárzás Elleni Mellvért", + "item.createnuclear.pink_anti_radiation_helmet": "Rózsaszín Sugárzás Elleni Sisak", + "item.createnuclear.pink_anti_radiation_leggings": "Rózsaszín Sugárzás Elleni Lábszárvédő", + "item.createnuclear.pink_cloth": "Rózsaszín Szövet", + "item.createnuclear.purple_anti_radiation_chestplate": "Lila Sugárzás Elleni Mellvért", + "item.createnuclear.purple_anti_radiation_helmet": "Lila Sugárzás Elleni Sisak", + "item.createnuclear.purple_anti_radiation_leggings": "Lila Sugárzás Elleni Lábszárvédő", + "item.createnuclear.purple_cloth": "Lila Szövet", + "item.createnuclear.raw_lead": "Nyers Ólom", + "item.createnuclear.raw_uranium": "Nyers uránium", + "item.createnuclear.reactor_blueprint_item": "Reaktor Tervrajz", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "Jobb egérgomb a megtöltéshez.", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "Jobb egérgomb a reaktor vezérlőén hogy megnyisd.", + "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Tele van grafittalrúddal és urániumrúddal", + "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "A reaktort össze kell állítani", "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own patern.", - "item.createnuclear.red_anti_radiation_chestplate": "Red Anti Radiation Chestplate", - "item.createnuclear.red_anti_radiation_helmet": "Red Anti Radiation Helmet", - "item.createnuclear.red_anti_radiation_leggings": "Red Anti Radiation Leggings", - "item.createnuclear.red_cloth": "Red Cloth", - "item.createnuclear.steel_ingot": "Steel Ingot", - "item.createnuclear.steel_nugget": "Steel Nugget", - "item.createnuclear.uranium_bucket": "Uranium Bucket", - "item.createnuclear.uranium_powder": "Uranium Powder", - "item.createnuclear.uranium_rod": "Uranium Rod", - "item.createnuclear.uranium_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", - "item.createnuclear.white_anti_radiation_chestplate": "White Anti Radiation Chestplate", - "item.createnuclear.white_anti_radiation_helmet": "White Anti Radiation Helmet", - "item.createnuclear.white_anti_radiation_leggings": "White Anti Radiation Leggings", - "item.createnuclear.white_cloth": "White Cloth", - "item.createnuclear.wolf_irradiated_spawn_egg": "Irradiated Wolf Spawn Egg", - "item.createnuclear.yellow_anti_radiation_chestplate": "Yellow Anti Radiation Chestplate", - "item.createnuclear.yellow_anti_radiation_helmet": "Yellow Anti Radiation Helmet", - "item.createnuclear.yellow_anti_radiation_leggings": "Yellow Anti Radiation Leggings", - "item.createnuclear.yellow_cloth": "Yellow Cloth", - "item.createnuclear.yellowcake": "Yellowcake", - "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Lingering Potion of Radiation", - "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Lingering Potion of Radiation", - "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Lingering Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_1": "Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_2": "Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_augment_1": "Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_1": "Splash Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_2": "Splash Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_augment_1": "Splash Potion of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_1": "Arrow of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Arrow of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", - "itemGroup.createnuclear.main": "Create Nuclear", - "itemgroup.uranium": "Uranium Group", - "reactor.info.assembled.creator": "Reactor has been assembled", - "reactor.info.assembled.destroyer": "Reactor has been disassembled", - "reactor.info.assembled.none": "Reactor is not assembled", - "reactor.info.is": "controller is", - "reactor.item.gui.name": "Config Pattern", - "reactor.update.casing.input": "Update the casing in input", - "tag.fluid.c.uranium": "Fluid Uranium", - "tag.item.c.coal_dusts": "Coal Dusts", - "tag.item.c.ingots.lead": "Tags Lead ingots", - "tag.item.c.ingots.steel": "Tags Steel ingots", - "tag.item.c.lead_ingots": "Lead ingots", - "tag.item.c.lead_nuggets": "Lead nuggets", - "tag.item.c.uranium": "Fluid Uranium", - "tag.item.createnuclear.cloth": "Cloth", - "tag.item.createnuclear.cooler": "Cooler", - "tag.item.createnuclear.fuel": "Fuel", - "tag.item.minecraft.all.campfires": "All Campfires", - "tag.item.minecraft.campfires": "Campfires", - "tag.item.trinkets.head.face": "Head Face" + "item.createnuclear.red_anti_radiation_chestplate": "Piros Sugárzás Elleni Mellvért", + "item.createnuclear.red_anti_radiation_helmet": "Piros Sugárzás Elleni Sisak", + "item.createnuclear.red_anti_radiation_leggings": "Piros Sugárzás Elleni Lábszárvédő", + "item.createnuclear.red_cloth": "Piros Szövet", + "item.createnuclear.steel_ingot": "Acelrúd", + "item.createnuclear.steel_nugget": "Acélrög", + "item.createnuclear.uranium_bucket": "Uránium vödör", + "item.createnuclear.uranium_powder": "Uránium por", + "item.createnuclear.uranium_rod": "Uránium rúd", + "item.createnuclear.uranium_rod.tooltip.summary": "A reaktor működtetéséhez kell.", + "item.createnuclear.white_anti_radiation_chestplate": "Fehér Sugárzás Elleni Mellvért", + "item.createnuclear.white_anti_radiation_helmet": "Fehér Sugárzás Elleni Sisak", + "item.createnuclear.white_anti_radiation_leggings": "Fehér Sugárzás Elleni Lábszárvédő", + "item.createnuclear.white_cloth": "Fehér Szövet", + "item.createnuclear.wolf_irradiated_spawn_egg": "Besugárzott Farkas Idézőtojás", + "item.createnuclear.yellow_anti_radiation_chestplate": "Sárga Sugárzás Elleni Mellvért", + "item.createnuclear.yellow_anti_radiation_helmet": "Sárga Sugárzás Elleni Sisak", + "item.createnuclear.yellow_anti_radiation_leggings": "Sárga Sugárzás Elleni Lábszárvédő", + "item.createnuclear.yellow_cloth": "Sárga Szövet", + "item.createnuclear.yellowcake": "Sárga Pogácsa", + "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Sugárzás Időző Bájitala", + "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Sugárzás Időző Bájitala", + "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Sugárzás Időző Bájitala", + "item.minecraft.potion.effect.potion_of_radiation_1": "Sugárzás Bájitala", + "item.minecraft.potion.effect.potion_of_radiation_2": "Sugárzás Bájitala", + "item.minecraft.potion.effect.potion_of_radiation_augment_1": "Sugárzás Bájitala", + "item.minecraft.splash_potion.effect.potion_of_radiation_1": "Sugárzás Robbanó Bájitala", + "item.minecraft.splash_potion.effect.potion_of_radiation_2": "Sugárzás Robbanó Bájitala", + "item.minecraft.splash_potion.effect.potion_of_radiation_augment_1": "Sugárzás Robbanó Bájitala", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_1": "Sugárzás Nyila", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Sugárzás Nyila", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Sugárzás Nyila", + "itemGroup.createnuclear.main": "Create: Nukleáris", + "itemgroup.uranium": "Uránium Csoport", + "overlay.event_message": "⚠ Veszély ⚠ %s időzítő", + "reactor.info.assembled.creator": "A reaktor összeállt", + "reactor.info.assembled.destroyer": "A reaktor szét lett szedve", + "reactor.info.assembled.none": "A reaktor nincs összeállítva", + "reactor.info.is": "a vezérlő", + "reactor.item.gui.name": "Konfigúrációs Minta", + "reactor.update.casing.input": "Frissítsd a burkolatot a bemenetnél", + "tag.fluid.c.uranium": "Folyékony Uránium", + "tag.item.c.coal_dusts": "Szénporok", + "tag.item.c.ingots.lead": "Tagok: Ólomrúdak", + "tag.item.c.ingots.steel": "Tagok: Acélrúdak", + "tag.item.c.lead_ingots": "Ólomrúdak", + "tag.item.c.lead_nuggets": "Ólomrögök", + "tag.item.c.uranium": "Folyékony Uránium", + "tag.item.createnuclear.cloth": "Szövet", + "tag.item.createnuclear.cooler": "Hűtő", + "tag.item.createnuclear.fuel": "Üzemanyag", + "tag.item.minecraft.all.campfires": "Bármilyen Tábortűz", + "tag.item.minecraft.campfires": "Tábortüzek", + "tag.item.trinkets.head.face": "Fej Arc" } \ No newline at end of file diff --git a/src/main/resources/assets/createnuclear/lang/it_it.json b/src/main/resources/assets/createnuclear/lang/it_it.json index 98bd1f9f..e1f1597e 100644 --- a/src/main/resources/assets/createnuclear/lang/it_it.json +++ b/src/main/resources/assets/createnuclear/lang/it_it.json @@ -5,8 +5,10 @@ "advancement.createnuclear.automatic_uranium.desc": "Ottieni della polvere di uranio tramite la lavorazione automatica §7(Avanzamento Nascosto)", "advancement.createnuclear.coal_dust": "Polvere di Carbone", "advancement.createnuclear.coal_dust.desc": "Frantuma carbone o carbonella per ottenere polvere di carbone, un materiale di fabbricazione essenziale", - "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", + "advancement.createnuclear.dye_anti_radiation_armor": "Migliora la mia Armatura", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Tingi la tua armatura anti-radiazioni in qualsiasi colore", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "Cosa ti aspettavi?\n§7(Avanzamento nascosto)", "advancement.createnuclear.enriched_yellowcake": "Yellowcake Arricchito", "advancement.createnuclear.enriched_yellowcake.desc": "Utilizzare un ventilatore per arricchire la Yellowcake e renderla più potente", "advancement.createnuclear.full_anti_radiation_armor": "Completamente Protetto", @@ -28,11 +30,11 @@ "advancement.createnuclear.reactor_controller": "Controller del Nucleo", "advancement.createnuclear.reactor_controller.desc": "Crea un pannello di controllo del reattore per gestire e regolare il tuo reattore", "advancement.createnuclear.reactor_cooler": "Raffreddare il Reattore", - "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooler to cool your reactor", + "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", "advancement.createnuclear.reactor_core": "Nucleo della Potenza", "advancement.createnuclear.reactor_core.desc": "Crea il nucleo del reattore per sfruttare tutta l'energia del tuo reattore nucleare", - "advancement.createnuclear.reactor_frame": "Reactor Frame", - "advancement.createnuclear.reactor_frame.desc": "Craft a reactor frame to build your nuclear reactor", + "advancement.createnuclear.reactor_frame": "Reactor Main Frame", + "advancement.createnuclear.reactor_frame.desc": "Craft a reactor main frame to build your nuclear reactor", "advancement.createnuclear.reactor_input": "Alimentare il Reattore", "advancement.createnuclear.reactor_input.desc": "Crea un ingresso del reattore per inserire barre d'uranio e grafite nel tuo reattore", "advancement.createnuclear.reactor_output": "Potenza in Uscita", @@ -51,20 +53,39 @@ "advancement.createnuclear.uranium_rod.desc": "Crea la tua prima barra di uranio utilizzando una Yellowcake arricchita in un Crafter meccanico", "advancement.createnuclear.yellowcake": "Il Processo della Yellowcake", "advancement.createnuclear.yellowcake.desc": "Compatta il liquido d'uranio per creare la Yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Minerale di piombo di ardesia profonda", "block.createnuclear.deepslate_uranium_ore": "Minerale di uranio di ardesia profonda", "block.createnuclear.enriched_soul_soil": "Suolo dell'Anima Arricchito", - "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can be used to _craft_ enriched campfire or just to make a _green fire_.", + "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Falò Arricchente", "block.createnuclear.enriching_fire": "Fuoco Arricchente", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Blocco di Piombo", "block.createnuclear.lead_ore": "Minerale di piombo", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Blocco di Piombo Grezzo", "block.createnuclear.raw_uranium_block": "Blocco di Uranio Grezzo", "block.createnuclear.reactor_casing": "Rivestimento del Reattore", "block.createnuclear.reactor_casing.tooltip.summary": "_Blocco_ usato per costruire il _reattore_", "block.createnuclear.reactor_controller": "Controllore del reattore", - "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a pattern to work", + "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a patern to work", "block.createnuclear.reactor_controller.tooltip.condition1": "Quando il reattore è assemblato", "block.createnuclear.reactor_controller.tooltip.summary": " Il _Controllore del reattore_ è il blocco _più importante per il funzionamento del reattore", "block.createnuclear.reactor_cooler": "Raffreddatore Del Reattore", @@ -74,7 +95,7 @@ "block.createnuclear.reactor_frame": "Telaio del reattore", "block.createnuclear.reactor_frame.tooltip.summary": "_Blocco_ usato per costruire il _reattore_", "block.createnuclear.reactor_input": "Ingresso del Reattore", - "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _uranium_ and _graphene_ rods in large quantities to power _the reactor_ ", + "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _unranium_ and _graphene_ rods in large quantities to power _the reactor_ ", "block.createnuclear.reactor_input.tooltip.condition1": "Quando il reattore è assemblato", "block.createnuclear.reactor_input.tooltip.summary": "_L'input del reattore_ è un _blocco_ che può essere usato per inserire le barre _uranio_ e _grafite_ nel _reattore_", "block.createnuclear.reactor_output": "Uscita del Reattore", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Quando il reattore produce energia", "block.createnuclear.reactor_output.tooltip.summary": "_L'uscita del reattore_ è un _blocco_ che può essere usato per estrarre l'energia meccanica generata dal _reattore_", "block.createnuclear.reinforced_glass": "Vetro Rinforzato", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Blocco di Acciaio", "block.createnuclear.uranium": "Uranio", "block.createnuclear.uranium_ore": "Minerale di Uranio", @@ -132,8 +157,8 @@ "item.createnuclear.brown_anti_radiation_helmet": "Elmo Anti-Radiazioni Marrone", "item.createnuclear.brown_anti_radiation_leggings": "Pantaloni Anti-Radiazioni Marroni", "item.createnuclear.brown_cloth": "Stoffa marrone", - "item.createnuclear.cat_irradiated_spawn_egg": "Irradiated Cat Spawn Egg", - "item.createnuclear.chicken_irradiated_spawn_egg": "Irradiated Chicken Spawn Egg", + "item.createnuclear.cat_irradiated_spawn_egg": "Uovo di Gatto Irradiato", + "item.createnuclear.chicken_irradiated_spawn_egg": "Uovo di Pollo Irradiato", "item.createnuclear.coal_dust": "Polvere di Carbone", "item.createnuclear.cyan_anti_radiation_chestplate": "Cyan Anti Radiation Chestplate", "item.createnuclear.cyan_anti_radiation_helmet": "Cyan Anti Radiation Helmet", @@ -188,7 +213,7 @@ "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "The reactor must be assembled", - "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own pattern.", + "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own patern.", "item.createnuclear.red_anti_radiation_chestplate": "Red Anti Radiation Chestplate", "item.createnuclear.red_anti_radiation_helmet": "Red Anti Radiation Helmet", "item.createnuclear.red_anti_radiation_leggings": "Red Anti Radiation Leggings", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Il reattore è stato assemblato", "reactor.info.assembled.destroyer": "Il reattore è stato smontato", "reactor.info.assembled.none": "Il reattore non è assemblato", diff --git a/src/main/resources/assets/createnuclear/lang/ja_jp.json b/src/main/resources/assets/createnuclear/lang/ja_jp.json index 5b5e2dcc..057ac2b6 100644 --- a/src/main/resources/assets/createnuclear/lang/ja_jp.json +++ b/src/main/resources/assets/createnuclear/lang/ja_jp.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "石炭や木炭を砕いて、重要なクラフト材料である石炭粉を得る。", "advancement.createnuclear.dye_anti_radiation_armor": "私の鎧を改造する", "advancement.createnuclear.dye_anti_radiation_armor.desc": "放射線防護服を好きな色に染める", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "イエローケーキの強化", "advancement.createnuclear.enriched_yellowcake.desc": "ファンを使ってイエローケーキを豊かにし、より強力にする", "advancement.createnuclear.full_anti_radiation_armor": "完全に保護", @@ -27,7 +29,7 @@ "advancement.createnuclear.reactor_casing.desc": "原子炉のケーシングをクラフトして、原子炉の建設を開始する", "advancement.createnuclear.reactor_controller": "コアのコントローラ", "advancement.createnuclear.reactor_controller.desc": "リアクターコントローラーを作って、リアクターを管理し、制御する", - "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", + "advancement.createnuclear.reactor_cooler": "原子炉を冷却中", "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", "advancement.createnuclear.reactor_core": "パワーのコア", "advancement.createnuclear.reactor_core.desc": "リアクターコアをクラフトして原子炉のエネルギーを最大限に活用する", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "機械的なクラスターで濃縮されたイエローケーキを使用して、あなたの最初のウランロッドを作成します", "advancement.createnuclear.yellowcake": "イエローケーキのプロセス", "advancement.createnuclear.yellowcake.desc": "イエローケーキを作るためのコンパクトウラン液体。", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "深層鉛鉱石", "block.createnuclear.deepslate_uranium_ore": "深層ウラン鉱石", "block.createnuclear.enriched_soul_soil": "濃厚な魂の土", "block.createnuclear.enriched_soul_soil.tooltip.summary": "_唯一_ のブロックで、_濃縮の炎_ を作り出すことができる。_濃縮の焚き火_ をクラフトするため、または単に _緑色の炎_ を作るために使用できる。", "block.createnuclear.enriching_campfire": "充実したキャンプファイヤー", "block.createnuclear.enriching_fire": "エンリッチング・ファイア", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "鉛ブロック", "block.createnuclear.lead_ore": "鉛鉱石", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "生リードブロック", "block.createnuclear.raw_uranium_block": "ウランの原石ブロック", "block.createnuclear.reactor_casing": "リアクターケーシング", @@ -67,21 +88,25 @@ "block.createnuclear.reactor_controller.tooltip.behaviour1": "原子炉の _エネルギー生成_ に必要なすべての計算を処理する。_パターン_ が設定された _原子炉設計図_ が必要。", "block.createnuclear.reactor_controller.tooltip.condition1": "原子炉が組み立てられるとき", "block.createnuclear.reactor_controller.tooltip.summary": "_原子炉コントローラー_ は原子炉を操作するための _最も重要な_ ブロックである。", - "block.createnuclear.reactor_cooler": "Reactor Cooler", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_cooler": "炉内冷却装置", + "block.createnuclear.reactor_cooler.tooltip.summary": "原子炉構築用のブロック", "block.createnuclear.reactor_core": "リアクターコア", "block.createnuclear.reactor_core.tooltip.summary": "_ブロック_ 、原子炉を建設するために使用される。", - "block.createnuclear.reactor_frame": "Reactor Frame", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_frame": "原子炉のフレーム", + "block.createnuclear.reactor_frame.tooltip.summary": "原子炉構築用のブロック", "block.createnuclear.reactor_input": "リアクター入力", "block.createnuclear.reactor_input.tooltip.behaviour1": "_ウラン_ と _グラフェン_ 棒を大量に挿入して「原子炉」を稼働させる", "block.createnuclear.reactor_input.tooltip.condition1": "原子炉が組み立てられるとき", "block.createnuclear.reactor_input.tooltip.summary": "_原子炉入力_ は、_ウラン_ と _グラフェン_ 棒を「原子炉」に挿入するために使用できる _ブロック_ である。", "block.createnuclear.reactor_output": "リアクター出力", - "block.createnuclear.reactor_output.tooltip.behaviour1": "You can _extract the energy_ produce by the reactor by attaching _shaft_ to the _reactor output_", - "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", - "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", + "block.createnuclear.reactor_output.tooltip.behaviour1": "原子炉の出力装置にシャフトを取り付けることによって生成したエネルギーを取り出すことができます", + "block.createnuclear.reactor_output.tooltip.condition1": "原子炉がエネルギーを生産するとき", + "block.createnuclear.reactor_output.tooltip.summary": "出力装置を使用して原子炉で生成したエネルギーを取り出すことができます", "block.createnuclear.reinforced_glass": "強化ガラス", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "鋼鉄ブロック", "block.createnuclear.uranium": "ウラニウム", "block.createnuclear.uranium_ore": "ウラン鉱石", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "なし", "createnuclear.tooltip.heatLevel.safety": "安全", "createnuclear.tooltip.heatLevel.warning": "警告", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "不明: ", "createnuclear.tooltip.item.uranium.rod": "ウラン棒: ", "effect.createnuclear.radiation": "放射線", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/ko_kr.json b/src/main/resources/assets/createnuclear/lang/ko_kr.json index c7889bf3..dc49d60b 100644 --- a/src/main/resources/assets/createnuclear/lang/ko_kr.json +++ b/src/main/resources/assets/createnuclear/lang/ko_kr.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "중요한 재료인 탄가루를 석탄 혹은 목탄을 부수어 얻으세요", "advancement.createnuclear.dye_anti_radiation_armor": "모든 게 다 새삥", "advancement.createnuclear.dye_anti_radiation_armor.desc": "방사선 보호구를 아무 염료로 염색하세요", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "강화 우라늄 정광", "advancement.createnuclear.enriched_yellowcake.desc": "선풍기를 사용해 정광의 힘을 더 강하게 만들어보세요", "advancement.createnuclear.full_anti_radiation_armor": "MOPP 5단계!", @@ -39,7 +41,7 @@ "advancement.createnuclear.reactor_output.desc": "원자로에서 생성한 에너지를 출력하는 동력축을 제작하세요", "advancement.createnuclear.reinforced_glass": "강화유리", "advancement.createnuclear.reinforced_glass.desc": "강화유리를 제작하세요", - "advancement.createnuclear.root": "호빗의 여정", + "advancement.createnuclear.root": "원자력을 향한 여정", "advancement.createnuclear.root.desc": "원자력의 기초를 이해하고 우라늄 가루를 얻어보세요", "advancement.createnuclear.steel_ingot": "강철 주괴", "advancement.createnuclear.steel_ingot.desc": "철 주괴와 탄가루를 섞어 강철 주괴를 만드세요", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "강화된 정광을 기계식 조립기에 넣어 우라늄 막대를 만드세요", "advancement.createnuclear.yellowcake": "정정광광하게", "advancement.createnuclear.yellowcake.desc": "액체 우라늄을 압착해 우라늄 정광을 만드세요", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "심층암 납 광석", "block.createnuclear.deepslate_uranium_ore": "심층암 우라늄 광석", "block.createnuclear.enriched_soul_soil": "농축한 영혼 흙", "block.createnuclear.enriched_soul_soil.tooltip.summary": "_농축화 불_을 만들 수 있는 _유일한_ 블록. 농축화 모닥불 _제작_에 활용하거나 _초록 불_을 만들 때 쓸 수 있다.", "block.createnuclear.enriching_campfire": "농축화 모닥불", "block.createnuclear.enriching_fire": "농축화 불", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "납 블록", "block.createnuclear.lead_ore": "납 광석", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "납 원석 블록", "block.createnuclear.raw_uranium_block": "우라늄 원석 블록", "block.createnuclear.reactor_casing": "원자로 케이스", @@ -68,11 +89,11 @@ "block.createnuclear.reactor_controller.tooltip.condition1": "원자로가 조립되었다면", "block.createnuclear.reactor_controller.tooltip.summary": " _원자로 제어기_는 원자로를 구동하기 위한 _가장 중요한_ 블록입니다", "block.createnuclear.reactor_cooler": "리액터 쿨러", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_cooler.tooltip.summary": "_원자로_를 만들기 위해 사용하는 _블록_", "block.createnuclear.reactor_core": "노심", "block.createnuclear.reactor_core.tooltip.summary": "_원자로_를 만들 때 쓰이는 _블록_", "block.createnuclear.reactor_frame": "반응기 프레임", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_frame.tooltip.summary": "_원자로_를 만들기 위해 사용하는 _블록_", "block.createnuclear.reactor_input": "원자로 연료 삽입기", "block.createnuclear.reactor_input.tooltip.behaviour1": "_우라늄_과 _그래핀_ 봉을 많이 넣어 _원자로_를 작동시키세요 ", "block.createnuclear.reactor_input.tooltip.condition1": "원자로가 조립되었다면", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "원자로가 에너지를 생성할 때", "block.createnuclear.reactor_output.tooltip.summary": "_원자로 동력축_은 _원자로_가 생성한 에너지를 회전 에너지로 변환하는 _블록_입니다", "block.createnuclear.reinforced_glass": "강화유리", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "강철 블록", "block.createnuclear.uranium": "우라늄", "block.createnuclear.uranium_ore": "우라늄 광석", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "없음", "createnuclear.tooltip.heatLevel.safety": "안전", "createnuclear.tooltip.heatLevel.warning": "경고", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "미상: ", "createnuclear.tooltip.item.uranium.rod": "우라늄 연료봉: ", "effect.createnuclear.radiation": "방사선", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "방사선 물약을 바른 화살", "itemGroup.createnuclear.main": "Create 원자력", "itemgroup.uranium": "우라늄 관련", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "원자로가 조립되었습니다", "reactor.info.assembled.destroyer": "원자로가 해체되었습니다", "reactor.info.assembled.none": "원자로가 조립되지 않았습니다", diff --git a/src/main/resources/assets/createnuclear/lang/lt_LT.json b/src/main/resources/assets/createnuclear/lang/lt_LT.json index 05bae380..7df3ed84 100644 --- a/src/main/resources/assets/createnuclear/lang/lt_LT.json +++ b/src/main/resources/assets/createnuclear/lang/lt_LT.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Sutrinkite anglį ar medžio anglį, kad gautumėte anglies miltelius - svarbų gamybos ingredientą", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Nudažykite savo apsauginį kostiumą bet kokia spalva", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "None", "createnuclear.tooltip.heatLevel.safety": "Safety", "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/nl_nl.json b/src/main/resources/assets/createnuclear/lang/nl_nl.json index 6b62b0b7..1870e2d2 100644 --- a/src/main/resources/assets/createnuclear/lang/nl_nl.json +++ b/src/main/resources/assets/createnuclear/lang/nl_nl.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Verbrijzel steenkool of houtskool om steenkoolstof te verkrijgen, een belangrijk materiaal voor het craften", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp Mijn Pantser", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Verf je anti-stralingpantser een kleur naar keuze", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Verbetering van Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Gebruik een ventilator om yellowcake te verrijken en krachtiger te maken", "advancement.createnuclear.full_anti_radiation_armor": "Volledig beschermd", @@ -27,12 +29,12 @@ "advancement.createnuclear.reactor_casing.desc": "Maak een reactor behuizing om te beginnen met het bouwen van je nucleaire reactor", "advancement.createnuclear.reactor_controller": "Controller Van De Kern", "advancement.createnuclear.reactor_controller.desc": "Maak een reactorcontroller om de reactor te beheren en te reguleren", - "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", - "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooler to cool your reactor", + "advancement.createnuclear.reactor_cooler": "De reactor koelen", + "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", "advancement.createnuclear.reactor_core": "Kern van Kracht", "advancement.createnuclear.reactor_core.desc": "Maak de reactor kern om gebruik te maken van de volledige energie van je nucleaire reactor", "advancement.createnuclear.reactor_frame": "Reactor Main Frame", - "advancement.createnuclear.reactor_frame.desc": "Craft a reactor frame to build your nuclear reactor", + "advancement.createnuclear.reactor_frame.desc": "Craft a reactor main frame to build your nuclear reactor", "advancement.createnuclear.reactor_input": "Voed de Reactor", "advancement.createnuclear.reactor_input.desc": "Maak een reactorinvoer om uranium en grafietstaven in je reactor te voeren", "advancement.createnuclear.reactor_output": "Energie uitvoer", @@ -50,38 +52,61 @@ "advancement.createnuclear.uranium_rod": "De kracht van de Atoom", "advancement.createnuclear.uranium_rod.desc": "Maak je eerste uranium staaf met behulp van verrijkt yellowcake in een mechanische crafter", "advancement.createnuclear.yellowcake": "Het Yellowcake proces", - "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "advancement.createnuclear.yellowcake.desc": "Gele cake maken van uranium vloeistof", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Diepstesteen Lood Erts", "block.createnuclear.deepslate_uranium_ore": "Diepstesteen Uranium Erts", "block.createnuclear.enriched_soul_soil": "Verrijkt Ziel Zand", - "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can be used to _craft_ enriched campfire or just to make a _green fire_.", + "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Verrijkt Kampvuur", "block.createnuclear.enriching_fire": "Verrijkt Vuur", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lood Blok", "block.createnuclear.lead_ore": "Lood Erts", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Rauw Lood Blok", "block.createnuclear.raw_uranium_block": "Rauw Uranium Blok", "block.createnuclear.reactor_casing": "Reactorbehuizing", - "block.createnuclear.reactor_casing.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_casing.tooltip.summary": "Reactor blok", "block.createnuclear.reactor_controller": "Reactorcontroller", - "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a pattern to work", + "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a patern to work", "block.createnuclear.reactor_controller.tooltip.condition1": "Wanneer de reactor in elkaar is gezet", "block.createnuclear.reactor_controller.tooltip.summary": " De _Reactor Controller_ is het _belangrijkste_ blok voor het gebruiken van de reactor", - "block.createnuclear.reactor_cooler": "Reactor Cooler", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_cooler": "Reactor koeler", + "block.createnuclear.reactor_cooler.tooltip.summary": "Blok voor het maken van de reactor", "block.createnuclear.reactor_core": "Reactor Kern", "block.createnuclear.reactor_core.tooltip.summary": "_Blok_ dat gebruikt wordt bij het bouwen van de _reactor_", - "block.createnuclear.reactor_frame": "Reactor Frame", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_frame": "Reactor kader", + "block.createnuclear.reactor_frame.tooltip.summary": "Blok nodig om de reactor te maken", "block.createnuclear.reactor_input": "Reactorinvoer", - "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _uranium_ and _graphene_ rods in large quantities to power _the reactor_ ", + "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _unranium_ and _graphene_ rods in large quantities to power _the reactor_ ", "block.createnuclear.reactor_input.tooltip.condition1": "Wanneer de Reactor gebouwd is", "block.createnuclear.reactor_input.tooltip.summary": "_De Reactor invoer_ is een _blok_ dat gebruikt kan worden om _Uranium-_ en _Grafeenstaven_ toe te voegen aan de _Reactor_", "block.createnuclear.reactor_output": "Reactoruitvoer", - "block.createnuclear.reactor_output.tooltip.behaviour1": "You can _extract the energy_ produce by the reactor by attaching _shaft_ to the _reactor output_", + "block.createnuclear.reactor_output.tooltip.behaviour1": "Je kan de energie dat door de reactor gemaakt is, gebruiken door een shaft aan de reactor vast te maken", "block.createnuclear.reactor_output.tooltip.condition1": "Wanneer de reactor energie produceert", - "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", + "block.createnuclear.reactor_output.tooltip.summary": "De reactor uitvoer block word gebruikt om mechanische energie uit de reactor te halen", "block.createnuclear.reinforced_glass": "Gewapend glas", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Staal Blok", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Erts", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "Geen", "createnuclear.tooltip.heatLevel.safety": "Veiligheid", "createnuclear.tooltip.heatLevel.warning": "Waarschuwing", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Onbekend: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Staaf: ", "effect.createnuclear.radiation": "Straling", @@ -132,8 +157,8 @@ "item.createnuclear.brown_anti_radiation_helmet": "Bruine Anti Stralingshelm", "item.createnuclear.brown_anti_radiation_leggings": "Bruine Anti Stralingsbroek", "item.createnuclear.brown_cloth": "Bruin Stof", - "item.createnuclear.cat_irradiated_spawn_egg": "Irradiated Cat Spawn Egg", - "item.createnuclear.chicken_irradiated_spawn_egg": "Irradiated Chicken Spawn Egg", + "item.createnuclear.cat_irradiated_spawn_egg": "Bestraalde kat", + "item.createnuclear.chicken_irradiated_spawn_egg": "Bestraalde kip", "item.createnuclear.coal_dust": "Steenkoolstof", "item.createnuclear.cyan_anti_radiation_chestplate": "Cyan Anti Radiation Chestplate", "item.createnuclear.cyan_anti_radiation_helmet": "Cyan Anti Radiation Helmet", @@ -142,72 +167,72 @@ "item.createnuclear.enriched_yellowcake": "Verrijkt Yellowcake", "item.createnuclear.graphene": "Grafeen", "item.createnuclear.graphite_rod": "Grafiet Staaf", - "item.createnuclear.graphite_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", - "item.createnuclear.gray_anti_radiation_chestplate": "Gray Anti Radiation Chestplate", - "item.createnuclear.gray_anti_radiation_helmet": "Gray Anti Radiation Helmet", - "item.createnuclear.gray_anti_radiation_leggings": "Gray Anti Radiation Leggings", - "item.createnuclear.gray_cloth": "Gray Cloth", - "item.createnuclear.green_anti_radiation_chestplate": "Green Anti Radiation Chestplate", - "item.createnuclear.green_anti_radiation_helmet": "Green Anti Radiation Helmet", - "item.createnuclear.green_anti_radiation_leggings": "Green Anti Radiation Leggings", - "item.createnuclear.green_cloth": "Green Cloth", + "item.createnuclear.graphite_rod.tooltip.summary": "_Stick_ wordt gebruikt in de _reactor input_ om het te bedienen.", + "item.createnuclear.gray_anti_radiation_chestplate": "Grijze anti-straling borstplaat", + "item.createnuclear.gray_anti_radiation_helmet": "Grijze anti-straling helm", + "item.createnuclear.gray_anti_radiation_leggings": "Grijze anti-straling broek", + "item.createnuclear.gray_cloth": "Grijze doek", + "item.createnuclear.green_anti_radiation_chestplate": "Groene anti-straling borstplaat", + "item.createnuclear.green_anti_radiation_helmet": "Groene anti-straling helm", + "item.createnuclear.green_anti_radiation_leggings": "Groene anti-straling broek", + "item.createnuclear.green_cloth": "Groene doek", "item.createnuclear.lead_ingot": "Loodstaaf", "item.createnuclear.lead_nugget": "Loodklompje", - "item.createnuclear.light_blue_anti_radiation_chestplate": "Light Blue Anti Radiation Chestplate", - "item.createnuclear.light_blue_anti_radiation_helmet": "Light Blue Anti Radiation Helmet", - "item.createnuclear.light_blue_anti_radiation_leggings": "Light Blue Anti Radiation Leggings", - "item.createnuclear.light_blue_cloth": "Light Blue Cloth", - "item.createnuclear.light_gray_anti_radiation_chestplate": "Light Gray Anti Radiation Chestplate", - "item.createnuclear.light_gray_anti_radiation_helmet": "Light Gray Anti Radiation Helmet", - "item.createnuclear.light_gray_anti_radiation_leggings": "Light Gray Anti Radiation Leggings", - "item.createnuclear.light_gray_cloth": "Light Gray Cloth", - "item.createnuclear.lime_anti_radiation_chestplate": "Lime Anti Radiation Chestplate", - "item.createnuclear.lime_anti_radiation_helmet": "Lime Anti Radiation Helmet", - "item.createnuclear.lime_anti_radiation_leggings": "Lime Anti Radiation Leggings", - "item.createnuclear.lime_cloth": "Lime Cloth", - "item.createnuclear.magenta_anti_radiation_chestplate": "Magenta Anti Radiation Chestplate", - "item.createnuclear.magenta_anti_radiation_helmet": "Magenta Anti Radiation Helmet", - "item.createnuclear.magenta_anti_radiation_leggings": "Magenta Anti Radiation Leggings", - "item.createnuclear.magenta_cloth": "Magenta Cloth", - "item.createnuclear.orange_anti_radiation_chestplate": "Orange Anti Radiation Chestplate", - "item.createnuclear.orange_anti_radiation_helmet": "Orange Anti Radiation Helmet", - "item.createnuclear.orange_anti_radiation_leggings": "Orange Anti Radiation Leggings", + "item.createnuclear.light_blue_anti_radiation_chestplate": "Licht blauwe anti-straling borstplaat", + "item.createnuclear.light_blue_anti_radiation_helmet": "Licht blauwe anti-straling helm", + "item.createnuclear.light_blue_anti_radiation_leggings": "Licht blauwe anti-straling broek", + "item.createnuclear.light_blue_cloth": "Licht blauwe doek", + "item.createnuclear.light_gray_anti_radiation_chestplate": "Licht grijze anti-straling borstplaat", + "item.createnuclear.light_gray_anti_radiation_helmet": "Licht grijze anti-straling helm", + "item.createnuclear.light_gray_anti_radiation_leggings": "Licht grijze anti-straling broek", + "item.createnuclear.light_gray_cloth": "Licht grijze doek", + "item.createnuclear.lime_anti_radiation_chestplate": "Licht groene anti-straling borstplaat", + "item.createnuclear.lime_anti_radiation_helmet": "Licht groene anti-straling helm", + "item.createnuclear.lime_anti_radiation_leggings": "Licht groene anti-straling broek", + "item.createnuclear.lime_cloth": "Licht groene doek", + "item.createnuclear.magenta_anti_radiation_chestplate": "Magenta anti-straling borstplaat", + "item.createnuclear.magenta_anti_radiation_helmet": "Magenta anti-straling helm", + "item.createnuclear.magenta_anti_radiation_leggings": "Magenta anti-straling broek", + "item.createnuclear.magenta_cloth": "Magenta doek", + "item.createnuclear.orange_anti_radiation_chestplate": "Oranje anti-straling borstplaat", + "item.createnuclear.orange_anti_radiation_helmet": "Oranje anti-straling helm", + "item.createnuclear.orange_anti_radiation_leggings": "Oranje anti-straling broek", "item.createnuclear.orange_cloth": "Oranje Stof", - "item.createnuclear.pink_anti_radiation_chestplate": "Pink Anti Radiation Chestplate", - "item.createnuclear.pink_anti_radiation_helmet": "Pink Anti Radiation Helmet", - "item.createnuclear.pink_anti_radiation_leggings": "Pink Anti Radiation Leggings", - "item.createnuclear.pink_cloth": "Pink Cloth", - "item.createnuclear.purple_anti_radiation_chestplate": "Purple Anti Radiation Chestplate", - "item.createnuclear.purple_anti_radiation_helmet": "Purple Anti Radiation Helmet", + "item.createnuclear.pink_anti_radiation_chestplate": "Rose anti-straling borstplaat", + "item.createnuclear.pink_anti_radiation_helmet": "Rose anti-straling helm", + "item.createnuclear.pink_anti_radiation_leggings": "Rose anti-straling broek", + "item.createnuclear.pink_cloth": "Rose doek", + "item.createnuclear.purple_anti_radiation_chestplate": "Paarse anti-straling borstplaat", + "item.createnuclear.purple_anti_radiation_helmet": "Paarse anti-straling helm", "item.createnuclear.purple_anti_radiation_leggings": "Paarse anti-radiatiebroek", - "item.createnuclear.purple_cloth": "Purple Cloth", + "item.createnuclear.purple_cloth": "Paarse doek", "item.createnuclear.raw_lead": "Rauw Lood", "item.createnuclear.raw_uranium": "Rauw Uranium", "item.createnuclear.reactor_blueprint_item": "Reactor Blauwdruk", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_Right_ click to fill it.", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", - "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", - "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "The reactor must be assembled", - "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own pattern.", - "item.createnuclear.red_anti_radiation_chestplate": "Red Anti Radiation Chestplate", - "item.createnuclear.red_anti_radiation_helmet": "Red Anti Radiation Helmet", - "item.createnuclear.red_anti_radiation_leggings": "Red Anti Radiation Leggings", - "item.createnuclear.red_cloth": "Red Cloth", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_Rechts_ klik om het te vullen.", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Rechts_ klik op de reactor controller om hem te openen.", + "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Gevuld met grafiet en uranium staven", + "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "De reactor moet gemonteerd worden", + "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own patern.", + "item.createnuclear.red_anti_radiation_chestplate": "Rode anti-straling borstplaat", + "item.createnuclear.red_anti_radiation_helmet": "Rode anti-straling helm", + "item.createnuclear.red_anti_radiation_leggings": "Rode anti-straling broek", + "item.createnuclear.red_cloth": "Rode doek", "item.createnuclear.steel_ingot": "Staalstaaf", "item.createnuclear.steel_nugget": "Staalklompje", "item.createnuclear.uranium_bucket": "Emmer Uranium", "item.createnuclear.uranium_powder": "Uranium Poeder", "item.createnuclear.uranium_rod": "Uranium Staaf", - "item.createnuclear.uranium_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", - "item.createnuclear.white_anti_radiation_chestplate": "White Anti Radiation Chestplate", - "item.createnuclear.white_anti_radiation_helmet": "White Anti Radiation Helmet", - "item.createnuclear.white_anti_radiation_leggings": "White Anti Radiation Leggings", + "item.createnuclear.uranium_rod.tooltip.summary": "_Stick_ te gebruiken in de _reactor input_ om het te bedienen.", + "item.createnuclear.white_anti_radiation_chestplate": "Witte anti-straling borstplaat", + "item.createnuclear.white_anti_radiation_helmet": "Witte anti-straling helm", + "item.createnuclear.white_anti_radiation_leggings": "Witte anti-straling broek", "item.createnuclear.white_cloth": "White Cloth", "item.createnuclear.wolf_irradiated_spawn_egg": "Irradiated Wolf Spawn Egg", "item.createnuclear.yellow_anti_radiation_chestplate": "Yellow Anti Radiation Chestplate", "item.createnuclear.yellow_anti_radiation_helmet": "Yellow Anti Radiation Helmet", "item.createnuclear.yellow_anti_radiation_leggings": "Yellow Anti Radiation Leggings", - "item.createnuclear.yellow_cloth": "Yellow Cloth", + "item.createnuclear.yellow_cloth": "Gele stof", "item.createnuclear.yellowcake": "Yellowcake", "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Lingering Potion of Radiation", "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Lingering Potion of Radiation", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nucleair", "itemgroup.uranium": "Uranium Groep", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor is geconstrueerd", "reactor.info.assembled.destroyer": "Reactor is uit elkaar gehaald", "reactor.info.assembled.none": "Reactor is niet geconstrueerd", diff --git a/src/main/resources/assets/createnuclear/lang/no_no.json b/src/main/resources/assets/createnuclear/lang/no_no.json index ce4ce5c5..e79a54d9 100644 --- a/src/main/resources/assets/createnuclear/lang/no_no.json +++ b/src/main/resources/assets/createnuclear/lang/no_no.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "None", "createnuclear.tooltip.heatLevel.safety": "Safety", "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/pl_pl.json b/src/main/resources/assets/createnuclear/lang/pl_pl.json index 9324bf7b..0142b8f4 100644 --- a/src/main/resources/assets/createnuclear/lang/pl_pl.json +++ b/src/main/resources/assets/createnuclear/lang/pl_pl.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Skrusz węgiel lub węgiel drzewny, aby uzyskać pył węglowy, kluczowy materiał do wytwarzania", "advancement.createnuclear.dye_anti_radiation_armor": "Ulepsz moją zbroję", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Zabarw swoją zbroję antyradiacyjną na dowolny kolor", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Ulepszanie żółtego ciasta", "advancement.createnuclear.enriched_yellowcake.desc": "Użyj wentylatora, aby wzbogacić żółte ciasto i uczynić je potężniejszym", "advancement.createnuclear.full_anti_radiation_armor": "W pełni chroniony", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Stwórz swój pierwszy pręt uranowy, używając wzbogaconego żółtego ciasta w mechanicznym konstruktorze", "advancement.createnuclear.yellowcake": "Proces żółtego ciasta", "advancement.createnuclear.yellowcake.desc": "Zagęść płynny uran, aby stworzyć żółte ciasto", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Łupkowe złoże ołowiu", "block.createnuclear.deepslate_uranium_ore": "Łupkowe złoże uranu", "block.createnuclear.enriched_soul_soil": "Wzbogacona Gleba Dusz", "block.createnuclear.enriched_soul_soil.tooltip.summary": "_Jedyny_ blok, który tworzy _wzbogacony ogień_. Może być użyty do _stworzenia_ wzbogaconego ogniska lub _zielonego ognia_.", "block.createnuclear.enriching_campfire": "Wzbogacające ognisko", "block.createnuclear.enriching_fire": "Wzbogacający ogień", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Blok ołowiu", "block.createnuclear.lead_ore": "Złoże ołowiu", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Blok surowego ołowiu", "block.createnuclear.raw_uranium_block": "Blok surowego uranu", "block.createnuclear.reactor_casing": "Obudowa reaktora", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Kiedy reaktor produkuje energię", "block.createnuclear.reactor_output.tooltip.summary": "_Wyjście reaktora_ to _blok_ który można używać do pozyskiwania energii mechanicznej wygenerowanej przez _reaktor_", "block.createnuclear.reinforced_glass": "Wzmocnione szkło", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Blok stali", "block.createnuclear.uranium": "Uran", "block.createnuclear.uranium_ore": "Złoże uranu", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Strzała radiacji", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Grupa uranu", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reaktor został zmontowany", "reactor.info.assembled.destroyer": "Reaktor został rozmontowany", "reactor.info.assembled.none": "Reaktor nie jest zmontowany", diff --git a/src/main/resources/assets/createnuclear/lang/pt_br.json b/src/main/resources/assets/createnuclear/lang/pt_br.json index 710dca30..28ba8973 100644 --- a/src/main/resources/assets/createnuclear/lang/pt_br.json +++ b/src/main/resources/assets/createnuclear/lang/pt_br.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Triture carvão ou carvão vegetal para obter pó de carvão, um material essencial para criação", "advancement.createnuclear.dye_anti_radiation_armor": "Tunando Minha Armadura", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Pinte sua armadura anti-radiação de qualquer cor", + "advancement.createnuclear.eated_yellowcake": "Comendo Bolo Amarelo", + "advancement.createnuclear.eated_yellowcake.desc": "O que você esperava ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Aprimorando o Bolo Amarelo", "advancement.createnuclear.enriched_yellowcake.desc": "Use um ventilador para enriquecer o bolo amarelo e torná-lo mais poderoso", "advancement.createnuclear.full_anti_radiation_armor": "Totalmente Protegido", @@ -27,12 +29,12 @@ "advancement.createnuclear.reactor_casing.desc": "Crie uma carcaça de reator para começar a construir seu reator nuclear", "advancement.createnuclear.reactor_controller": "Controlador do Núcleo", "advancement.createnuclear.reactor_controller.desc": "Crie um controlador de reator para gerenciar e regular seu reator", - "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", - "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooler to cool your reactor", + "advancement.createnuclear.reactor_cooler": "Resfriando o Reator", + "advancement.createnuclear.reactor_cooler.desc": "Crie uma estrutura de resfriamento para resfriar seu reator", "advancement.createnuclear.reactor_core": "Núcleo de Poder", "advancement.createnuclear.reactor_core.desc": "Crie o núcleo do reator para aproveitar toda a energia do seu reator nuclear", - "advancement.createnuclear.reactor_frame": "Reactor Frame", - "advancement.createnuclear.reactor_frame.desc": "Craft a reactor frame to build your nuclear reactor", + "advancement.createnuclear.reactor_frame": "Estrutura Principal do Reator", + "advancement.createnuclear.reactor_frame.desc": "Crie uma estrutura principal do reator para construir seu reator nuclear", "advancement.createnuclear.reactor_input": "Abastecendo o Reator", "advancement.createnuclear.reactor_input.desc": "Crie uma entrada de reator para alimentar hastes de urânio e grafite em seu reator", "advancement.createnuclear.reactor_output": "Saída de Energia", @@ -51,37 +53,60 @@ "advancement.createnuclear.uranium_rod.desc": "Crie sua primeira haste de urânio usando bolo amarelo enriquecido em um montador mecânico", "advancement.createnuclear.yellowcake": "O Processo do Bolo Amarelo", "advancement.createnuclear.yellowcake.desc": "Compacte urânio líquido para criar bolo amarelo", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Minério de Chumbo de Ardósia", "block.createnuclear.deepslate_uranium_ore": "Minério de Urânio de Ardósia", "block.createnuclear.enriched_soul_soil": "Terra das Almas Enriquecida", - "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can be used to _craft_ enriched campfire or just to make a _green fire_.", + "block.createnuclear.enriched_soul_soil.tooltip.summary": "O _único_ bloco que cria _fogo enriquecido_.Pode ser usado para _fabricar_ fogo enriquecido ou para fazer _fogo verde_.", "block.createnuclear.enriching_campfire": "Fogueira Enriquecida", "block.createnuclear.enriching_fire": "Fogo Enriquecido", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Bloco de Chumbo", "block.createnuclear.lead_ore": "Minério de Chumbo", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Bloco de Chumbo Bruto", "block.createnuclear.raw_uranium_block": "Bloco de Urânio Bruto", "block.createnuclear.reactor_casing": "Carcaça do Reator", - "block.createnuclear.reactor_casing.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_casing.tooltip.summary": "_Bloco_ usado para construir o _reator_", "block.createnuclear.reactor_controller": "Controlador do Reator", - "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a pattern to work", - "block.createnuclear.reactor_controller.tooltip.condition1": "When the reactor is assembled", - "block.createnuclear.reactor_controller.tooltip.summary": " The _Reactor Controller_ is the _most important_ block for operating the reactor", - "block.createnuclear.reactor_cooler": "Reactor Cooler", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_controller.tooltip.behaviour1": "ele lida com todos os cálculos necessários para gerar energia _, precisa de um _diagrama de reator_ com um padrão para funcionar", + "block.createnuclear.reactor_controller.tooltip.condition1": "Quando o reator é montado", + "block.createnuclear.reactor_controller.tooltip.summary": " O _Controlador de Reator_ é o bloco _mais importante_ para operar o reator", + "block.createnuclear.reactor_cooler": "Resfriador de Reator", + "block.createnuclear.reactor_cooler.tooltip.summary": "_Bloco_ usado para construir o _reator_", "block.createnuclear.reactor_core": "Núcleo do Reator", - "block.createnuclear.reactor_core.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_frame": "Reactor Frame", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_core.tooltip.summary": "_Bloco_ usado para construir o _reator_", + "block.createnuclear.reactor_frame": "Estrutura do Reator", + "block.createnuclear.reactor_frame.tooltip.summary": "_Bloco_ usado para construir o _reator_", "block.createnuclear.reactor_input": "Entrada do Reator", - "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _uranium_ and _graphene_ rods in large quantities to power _the reactor_ ", - "block.createnuclear.reactor_input.tooltip.condition1": "When the Reactor is assembled", - "block.createnuclear.reactor_input.tooltip.summary": "_The Reactor Input_ is a _block_ that can be used to insert _Uranium_ and _Graphene_ rods into the _Reactor_", + "block.createnuclear.reactor_input.tooltip.behaviour1": "Insira _hastes de urânio_ e _grafeno_ em grandes quantidades para alimentar _o reator_ ", + "block.createnuclear.reactor_input.tooltip.condition1": "Quando o Reator é montado", + "block.createnuclear.reactor_input.tooltip.summary": "_A Entrada do Reator_ é um _bloco_ que pode ser usado para inserir hastes de _urânio_ e _grafeno_ no _Reator_", "block.createnuclear.reactor_output": "Saída do Reator", - "block.createnuclear.reactor_output.tooltip.behaviour1": "You can _extract the energy_ produce by the reactor by attaching _shaft_ to the _reactor output_", - "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", - "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", + "block.createnuclear.reactor_output.tooltip.behaviour1": "Você pode _extrair a energia_ produzida pelo reator conectando o _eixo_ à _saída do reator_", + "block.createnuclear.reactor_output.tooltip.condition1": "Quando o reator produz energia", + "block.createnuclear.reactor_output.tooltip.summary": "_A Saída do Reator_ é um _bloco_ que pode ser usado para extrair a energia mecânica gerada pelo _Reator_", "block.createnuclear.reinforced_glass": "Vidro Reforçado", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Bloco de Aço", "block.createnuclear.uranium": "Urânio", "block.createnuclear.uranium_ore": "Minério de Urânio", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "Nenhum", "createnuclear.tooltip.heatLevel.safety": "Segurança", "createnuclear.tooltip.heatLevel.warning": "Aviso", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Haste de Grafite: ", "createnuclear.tooltip.item.unknown.rod": "Desconhecido: ", "createnuclear.tooltip.item.uranium.rod": "Haste de Urânio: ", "effect.createnuclear.radiation": "Radiação", @@ -132,8 +157,8 @@ "item.createnuclear.brown_anti_radiation_helmet": "Capacete Anti-Radiação Marrom", "item.createnuclear.brown_anti_radiation_leggings": "Calças Anti-Radiação Marrons", "item.createnuclear.brown_cloth": "Tecido castanho", - "item.createnuclear.cat_irradiated_spawn_egg": "Irradiated Cat Spawn Egg", - "item.createnuclear.chicken_irradiated_spawn_egg": "Irradiated Chicken Spawn Egg", + "item.createnuclear.cat_irradiated_spawn_egg": "Ovo Gerador de Gato Irradiado", + "item.createnuclear.chicken_irradiated_spawn_egg": "Ovo Gerador de Galinha Irradiada", "item.createnuclear.coal_dust": "Pó de Carvão", "item.createnuclear.cyan_anti_radiation_chestplate": "Peitoral Anti-Radiação Ciano", "item.createnuclear.cyan_anti_radiation_helmet": "Capacete Anti-Radiação Ciano", @@ -142,7 +167,7 @@ "item.createnuclear.enriched_yellowcake": "Bolo Amarelo Enriquecido", "item.createnuclear.graphene": "Grafeno", "item.createnuclear.graphite_rod": "Haste de Grafite", - "item.createnuclear.graphite_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", + "item.createnuclear.graphite_rod.tooltip.summary": "_Haste_ a ser usada na _entrada do reator_ para operá-lo.", "item.createnuclear.gray_anti_radiation_chestplate": "Peitoral Anti-Radiação Cinza", "item.createnuclear.gray_anti_radiation_helmet": "Capacete Anti-Radiação Cinza", "item.createnuclear.gray_anti_radiation_leggings": "Calças Anti-Radiação Cinza", @@ -184,11 +209,11 @@ "item.createnuclear.raw_lead": "Chumbo Bruto", "item.createnuclear.raw_uranium": "Urânio Bruto", "item.createnuclear.reactor_blueprint_item": "Diagrama de Reator", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_Right_ click to fill it.", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", - "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", - "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "The reactor must be assembled", - "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own pattern.", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_Clique_ direito para preenchê-lo.", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Clique_ direito no controlador de reator para abri-lo.", + "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Preenchido com hastes de grafite e urânio", + "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "O reator precisa ser montado", + "item.createnuclear.reactor_blueprint_item.tooltip.summary": "Isso permite que você configure seu próprio padrão.", "item.createnuclear.red_anti_radiation_chestplate": "Peitoral Anti-Radiação Vermelho", "item.createnuclear.red_anti_radiation_helmet": "Capacete Anti-Radiação Vermelho", "item.createnuclear.red_anti_radiation_leggings": "Calças Anti-Radiação Vermelhas", @@ -198,12 +223,12 @@ "item.createnuclear.uranium_bucket": "Balde de Urânio", "item.createnuclear.uranium_powder": "Pó de Urânio", "item.createnuclear.uranium_rod": "Bastão de urânio", - "item.createnuclear.uranium_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", + "item.createnuclear.uranium_rod.tooltip.summary": "_Haste_ a ser usada na _entrada do reator_ para operá-lo.", "item.createnuclear.white_anti_radiation_chestplate": "Peitoral Anti-Radiação Branco", "item.createnuclear.white_anti_radiation_helmet": "Capacete Anti-Radiação Branco", "item.createnuclear.white_anti_radiation_leggings": "Calças Anti-Radiação Brancas", "item.createnuclear.white_cloth": "Tecido branco", - "item.createnuclear.wolf_irradiated_spawn_egg": "Irradiated Wolf Spawn Egg", + "item.createnuclear.wolf_irradiated_spawn_egg": "Ovo Gerador de Lobo Irradiado", "item.createnuclear.yellow_anti_radiation_chestplate": "Peitoral Anti-Radiação Amarelo", "item.createnuclear.yellow_anti_radiation_helmet": "Capacete Anti-Radiação Amarelo", "item.createnuclear.yellow_anti_radiation_leggings": "Calças Anti-Radiação Amarelas", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Flecha Radioativa", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Grupo do Urânio", + "overlay.event_message": "⚠️ Aviso ⚠️ %s timer", "reactor.info.assembled.creator": "O Reator foi montado", "reactor.info.assembled.destroyer": "O Reator foi desmontado", "reactor.info.assembled.none": "O Reator não está montado", diff --git a/src/main/resources/assets/createnuclear/lang/pt_pt.json b/src/main/resources/assets/createnuclear/lang/pt_pt.json index f41c12ca..64b4b913 100644 --- a/src/main/resources/assets/createnuclear/lang/pt_pt.json +++ b/src/main/resources/assets/createnuclear/lang/pt_pt.json @@ -1,5 +1,5 @@ { - "advancement.createnuclear.anti_radiation_armor": "Anti radiation Armor", + "advancement.createnuclear.anti_radiation_armor": "Armadura Antirradiação", "advancement.createnuclear.anti_radiation_armor.desc": "Crie a sua primeira peça de armadura antirradiação para se proteger da radiação", "advancement.createnuclear.automatic_uranium": "Automatizando Urânio", "advancement.createnuclear.automatic_uranium.desc": "Obtenha um pouco de pó de urânio usando o processamento automático de urânio §7(Avanço oculto)", @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Esmague carvão ou carvão vegetal para obter pó de carvão, um material chave para fabricação", "advancement.createnuclear.dye_anti_radiation_armor": "Pimpar a minha Armadura", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Tingir a sua armadura antirradiação para qualquer cor", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Aprimorando Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use uma ventoinha para enriquecer yellowcake e torná-lo mais poderoso", "advancement.createnuclear.full_anti_radiation_armor": "Totalmente Protegido", @@ -28,11 +30,11 @@ "advancement.createnuclear.reactor_controller": "Controller Of The Core", "advancement.createnuclear.reactor_controller.desc": "Craft a reactor controller to manage and regulate your reactor", "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", - "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooler to cool your reactor", + "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", "advancement.createnuclear.reactor_core": "Core of Power", "advancement.createnuclear.reactor_core.desc": "Craft the reactor core to harness the full energy of your nuclear reactor", - "advancement.createnuclear.reactor_frame": "Reactor Frame", - "advancement.createnuclear.reactor_frame.desc": "Craft a reactor frame to build your nuclear reactor", + "advancement.createnuclear.reactor_frame": "Reactor Main Frame", + "advancement.createnuclear.reactor_frame.desc": "Craft a reactor main frame to build your nuclear reactor", "advancement.createnuclear.reactor_input": "Fueling The Reactor", "advancement.createnuclear.reactor_input.desc": "Craft a reactor input to feed uranium and graphite rods into your reactor", "advancement.createnuclear.reactor_output": "Power Output", @@ -51,20 +53,39 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", - "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can be used to _craft_ enriched campfire or just to make a _green fire_.", + "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", "block.createnuclear.reactor_casing.tooltip.summary": "_Block_ used to build the _reactor_", "block.createnuclear.reactor_controller": "Reactor Controller", - "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a pattern to work", + "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a patern to work", "block.createnuclear.reactor_controller.tooltip.condition1": "When the reactor is assembled", "block.createnuclear.reactor_controller.tooltip.summary": " The _Reactor Controller_ is the _most important_ block for operating the reactor", "block.createnuclear.reactor_cooler": "Reactor Cooler", @@ -74,7 +95,7 @@ "block.createnuclear.reactor_frame": "Reactor Frame", "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", "block.createnuclear.reactor_input": "Reactor Input", - "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _uranium_ and _graphene_ rods in large quantities to power _the reactor_ ", + "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _unranium_ and _graphene_ rods in large quantities to power _the reactor_ ", "block.createnuclear.reactor_input.tooltip.condition1": "When the Reactor is assembled", "block.createnuclear.reactor_input.tooltip.summary": "_The Reactor Input_ is a _block_ that can be used to insert _Uranium_ and _Graphene_ rods into the _Reactor_", "block.createnuclear.reactor_output": "Reactor Output", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "None", "createnuclear.tooltip.heatLevel.safety": "Safety", "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", @@ -188,7 +213,7 @@ "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "The reactor must be assembled", - "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own pattern.", + "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own patern.", "item.createnuclear.red_anti_radiation_chestplate": "Red Anti Radiation Chestplate", "item.createnuclear.red_anti_radiation_helmet": "Red Anti Radiation Helmet", "item.createnuclear.red_anti_radiation_leggings": "Red Anti Radiation Leggings", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/ro_ro.json b/src/main/resources/assets/createnuclear/lang/ro_ro.json index 0bd1ebce..cb277446 100644 --- a/src/main/resources/assets/createnuclear/lang/ro_ro.json +++ b/src/main/resources/assets/createnuclear/lang/ro_ro.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Zdrobiți cărbunele sau cărbunele de lemn pentru a obține praful de cărbune, un material de fabricat cheie", "advancement.createnuclear.dye_anti_radiation_armor": "Arată-ți Armura", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Vopsește-ți armura anti-radiație in orice culoare", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Îmbunătățirea Prăjiturii Galbene", "advancement.createnuclear.enriched_yellowcake.desc": "Folosește un ventilator pentru a îmbogăți prăjitura galbenă și pentru a o face mai puternică", "advancement.createnuclear.full_anti_radiation_armor": "Protejat Complet", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Creează prima ta tijă de uraniu folosind o prăjitură galbenă îmbogățită într-un meșter mecanic", "advancement.createnuclear.yellowcake": "Procesul Prăjiturii Galbene", "advancement.createnuclear.yellowcake.desc": "Creează prăjitură galbenă prin compresarea uraniului lichid", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Minereu de Plumb de Ardezie Adâncă", "block.createnuclear.deepslate_uranium_ore": "Minereu de Uraniu de Ardezie Adâncă", "block.createnuclear.enriched_soul_soil": "Sol de Suflete Îmbogățit", "block.createnuclear.enriched_soul_soil.tooltip.summary": "Singurul bloc care poate crea focul îmbogățit. Poate fi folosit ca să craftezi un foc de tabără îmbogățit sau doar pentru a crea foc verde.", "block.createnuclear.enriching_campfire": "Îmbogățirea Focului de Tabără", "block.createnuclear.enriching_fire": "Îmbogățirea Focului", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Bloc de Plumb", "block.createnuclear.lead_ore": "Minereu de Plumb", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Bloc de Plumb Brut", "block.createnuclear.raw_uranium_block": "Bloc de Uraniu Brut", "block.createnuclear.reactor_casing": "Carcasa de Reactor", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Atunci când reactorul produce energie", "block.createnuclear.reactor_output.tooltip.summary": "Ieșirea Reactorului este un bloc care poate fi utilizat pentru a extrage energia mecanică generată de Reactor", "block.createnuclear.reinforced_glass": "Sticlă Întărită", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Bloc De Oțel", "block.createnuclear.uranium": "Uraniu", "block.createnuclear.uranium_ore": "Minereu de Uraniu", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Săgeată de Radiație ", "itemGroup.createnuclear.main": "Creează Nuclear", "itemgroup.uranium": "Grupa Uraniumului", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactorul a fost asamblat", "reactor.info.assembled.destroyer": "Reactorul a fost dezasamblat", "reactor.info.assembled.none": "Reactorul nu este asamblat", diff --git a/src/main/resources/assets/createnuclear/lang/ru_ru.json b/src/main/resources/assets/createnuclear/lang/ru_ru.json index 55a35668..04132e44 100644 --- a/src/main/resources/assets/createnuclear/lang/ru_ru.json +++ b/src/main/resources/assets/createnuclear/lang/ru_ru.json @@ -1,26 +1,28 @@ { - "advancement.createnuclear.anti_radiation_armor": "Антирадиационная броня", - "advancement.createnuclear.anti_radiation_armor.desc": "Создайте свой первый элемент антирадиационной брони, чтобы защитить себя от радиации", + "advancement.createnuclear.anti_radiation_armor": "Противорадиационная броня", + "advancement.createnuclear.anti_radiation_armor.desc": "Создайте часть противорадиационной брони для защиты от радиации", "advancement.createnuclear.automatic_uranium": "Автоматизация урана", "advancement.createnuclear.automatic_uranium.desc": "Получите урановый порошок с помощью автоматической обработки урана\n§7(Скрытое достижение)", "advancement.createnuclear.coal_dust": "Угольная пыль", - "advancement.createnuclear.coal_dust.desc": "Измельчите уголь или древесный уголь, чтобы получить угольную пыль - ключевой материал для крафта", + "advancement.createnuclear.coal_dust.desc": "Раздробите уголь или древесный уголь для получения угольной пыли — ключевого материала для изготовления", "advancement.createnuclear.dye_anti_radiation_armor": "Прокачай свою броню", - "advancement.createnuclear.dye_anti_radiation_armor.desc": "Покрасьте свою антирадиационную броню в любой цвет", + "advancement.createnuclear.dye_anti_radiation_armor.desc": "Покрасьте свою противорадиационную броню в любой цвет", + "advancement.createnuclear.eated_yellowcake": "Жёлтый торт", + "advancement.createnuclear.eated_yellowcake.desc": "Чего вы ожидали?\n§7(Скрытое достижение)", "advancement.createnuclear.enriched_yellowcake": "Обогащённый жёлтый кек", "advancement.createnuclear.enriched_yellowcake.desc": "Используйте вентилятор, чтобы обогатить жёлтый кек и сделать его более мощным", "advancement.createnuclear.full_anti_radiation_armor": "Полная защита", - "advancement.createnuclear.full_anti_radiation_armor.desc": "Наденьте полный комплект антирадиационной брони, чтобы полностью защитить себя от радиации", + "advancement.createnuclear.full_anti_radiation_armor.desc": "Наденьте полный комплект противорадиационной брони, чтобы полностью защитить себя от радиации", "advancement.createnuclear.graphene": "Графен", "advancement.createnuclear.graphene.desc": "Спрессуйте угольную пыль, чтобы создать графен", - "advancement.createnuclear.graphite_rod": "Не забудьте про эти", + "advancement.createnuclear.graphite_rod": "И комочек не забудь", "advancement.createnuclear.graphite_rod.desc": "Объедините графен и стальные слитки в механическом сборщике, чтобы сделать графитовые стержни", "advancement.createnuclear.lead_ingot": "Свинцовый слиток", - "advancement.createnuclear.lead_ingot.desc": "Переплавьте сырой свинец, чтобы получить свинцовый слиток", - "advancement.createnuclear.raw_lead": "Сырой свинец", - "advancement.createnuclear.raw_lead.desc": "Добудьте сырой свинец, выкопав свинцовую руду", + "advancement.createnuclear.lead_ingot.desc": "Переплавьте рудный свинец для получения слитка", + "advancement.createnuclear.raw_lead": "Рудный свинец", + "advancement.createnuclear.raw_lead.desc": "Добудьте рудный свинец", "advancement.createnuclear.raw_uranium": "Сырая мощь", - "advancement.createnuclear.raw_uranium.desc": "Добудьте урановую руду, чтобы получить сырой уран для дальнейшей обработки", + "advancement.createnuclear.raw_uranium.desc": "Добудьте рудный уран для дальнейшей переработки", "advancement.createnuclear.reactor_blueprint": "Чертёж для мощности", "advancement.createnuclear.reactor_blueprint.desc": "Создайте чертёж реактора, чтобы спроектировать расположение стержней в вашем реакторе", "advancement.createnuclear.reactor_casing": "Мощь реактора", @@ -31,8 +33,8 @@ "advancement.createnuclear.reactor_cooler.desc": "Создайте реактор для охлаждения вашего реактора", "advancement.createnuclear.reactor_core": "Ядро мощности", "advancement.createnuclear.reactor_core.desc": "Создайте ядро реактора, чтобы использовать всю энергию вашего ядерного реактора", - "advancement.createnuclear.reactor_frame": "Фрейм реактора", - "advancement.createnuclear.reactor_frame.desc": "Создайте раму реактора, чтобы построить ваш ядерный реактор", + "advancement.createnuclear.reactor_frame": "Каркас реактора", + "advancement.createnuclear.reactor_frame.desc": "Создайте каркас для строительства вашего реактора", "advancement.createnuclear.reactor_input": "Заправка реактора", "advancement.createnuclear.reactor_input.desc": "Создайте вход реактора для подачи урановых и графитовых стержней в ваш реактор", "advancement.createnuclear.reactor_output": "Выход мощности", @@ -51,37 +53,60 @@ "advancement.createnuclear.uranium_rod.desc": "Создайте свой первый урановый стержень, используя обогащённый жёлтый кек в механическом сборщике", "advancement.createnuclear.yellowcake": "Процесс жёлтого кека", "advancement.createnuclear.yellowcake.desc": "Сожмите жидкий уран, чтобы создать жёлтый кек", - "block.createnuclear.deepslate_lead_ore": "Глубинная свинцовая руда", - "block.createnuclear.deepslate_uranium_ore": "Глубинная урановая руда", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Резной автунит", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Резные автунитовые кирпичи", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Полированный резной автунит", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Мелкие автунитовые кирпичи", + "block.createnuclear.autunite": "Автунит", + "block.createnuclear.autunite_pillar": "Автунитовая колонна", + "block.createnuclear.cut_autunite": "Резной автунит", + "block.createnuclear.cut_autunite_brick_slab": "Плита из резного автунитового кирпича", + "block.createnuclear.cut_autunite_brick_stairs": "Ступеньки", + "block.createnuclear.cut_autunite_brick_wall": "Ограда из резного автунитового кирпича", + "block.createnuclear.cut_autunite_bricks": "Резные автунитовые кирпичи", + "block.createnuclear.cut_autunite_slab": "Резная автунитовая плита", + "block.createnuclear.cut_autunite_stairs": "Резные автунитовые ступеньки", + "block.createnuclear.cut_autunite_wall": "Резная автунитовая ограда", + "block.createnuclear.deepslate_lead_ore": "Свинцоносный глубинный сланец", + "block.createnuclear.deepslate_uranium_ore": "Ураноносный глубинный сланец", "block.createnuclear.enriched_soul_soil": "Обогащенная почва душ", - "block.createnuclear.enriched_soul_soil.tooltip.summary": "Блок _only_ создающий _обогащенный огнен_.Может быть использован для _создания обогащенного костра или просто для создания _зеленого огня_.", + "block.createnuclear.enriched_soul_soil.tooltip.summary": "_Единственный_ блок, создающий _обогащающий огонь_. Может использоваться для _создания_ обогащённого костра или просто _зелёного огня_.", "block.createnuclear.enriching_campfire": "Обогащающий костер", "block.createnuclear.enriching_fire": "Обогащенный огонь", + "block.createnuclear.layered_autunite": "Слоистый автунит", "block.createnuclear.lead_block": "Свинцовый блок", "block.createnuclear.lead_ore": "Свинцовая руда", + "block.createnuclear.polished_cut_autunite": "Полированный резной автунит", + "block.createnuclear.polished_cut_autunite_slab": "Плита из полированного резного автунита", + "block.createnuclear.polished_cut_autunite_stairs": "Ступеньки из полированного резного автунита", + "block.createnuclear.polished_cut_autunite_wall": "Ограда из полированного резного автунита", "block.createnuclear.raw_lead_block": "Блок рудного свинца", "block.createnuclear.raw_uranium_block": "Блок рудного урана", "block.createnuclear.reactor_casing": "Корпус реактора", - "block.createnuclear.reactor_casing.tooltip.summary": "_Блок_, используемый для постройки _реактора_", - "block.createnuclear.reactor_controller": "Панель управления реактором", - "block.createnuclear.reactor_controller.tooltip.behaviour1": "он обрабатывает все расчеты, необходимые для _генерации энергии_, ему нужен _реактор blueprint_ с узором для работы", - "block.createnuclear.reactor_controller.tooltip.condition1": "При сборке реактора", - "block.createnuclear.reactor_controller.tooltip.summary": "_Контроллер реактора_ это _самый важный_ блок, необходимы для работы реактора", - "block.createnuclear.reactor_cooler": "Охлаждение Реактора", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Блок_, используемый для постройки _реактора_", + "block.createnuclear.reactor_casing.tooltip.summary": "_Блок_, используемый для строительства _реактора_.", + "block.createnuclear.reactor_controller": "Контроллер реактора", + "block.createnuclear.reactor_controller.tooltip.behaviour1": "Обрабатывает все расчёты, необходимые для _выработки энергии_. Для работы требуется чертёж реактора.", + "block.createnuclear.reactor_controller.tooltip.condition1": "Когда реактор собран", + "block.createnuclear.reactor_controller.tooltip.summary": "_Самый важный_ блок для работы реактора.", + "block.createnuclear.reactor_cooler": "Охладитель реактора", + "block.createnuclear.reactor_cooler.tooltip.summary": "_Блок_, используемый для строительства _реактора_.", "block.createnuclear.reactor_core": "Ядро реактора", - "block.createnuclear.reactor_core.tooltip.summary": "_Блок_, используемый для постройки _реактора_", - "block.createnuclear.reactor_frame": "Фрейм реактора", - "block.createnuclear.reactor_frame.tooltip.summary": "_Блок_, используемый для постройки _реактора_", + "block.createnuclear.reactor_core.tooltip.summary": "_Блок_, используемый для строительства _реактора_.", + "block.createnuclear.reactor_frame": "Каркас реактора", + "block.createnuclear.reactor_frame.tooltip.summary": "_Блок_, используемый для строительства _реактора_.", "block.createnuclear.reactor_input": "Вход реактора", - "block.createnuclear.reactor_input.tooltip.behaviour1": "Вставьте _уран_и _графически_ стержни в большие количества для _реактора_ ", - "block.createnuclear.reactor_input.tooltip.condition1": "При сборке Реактора", - "block.createnuclear.reactor_input.tooltip.summary": "_Вход реактора_ это блок, который используется для доставки _урана_ и _графена_ в Реактор", + "block.createnuclear.reactor_input.tooltip.behaviour1": "Поместите _урановые_ и _графитовые_ стержни в больших количествах для питания _реактора_.", + "block.createnuclear.reactor_input.tooltip.condition1": "Когда реактор собран", + "block.createnuclear.reactor_input.tooltip.summary": "Блок для загрузки _урановых_ и _графитовых_ стержней в _реактор_.", "block.createnuclear.reactor_output": "Выход реактора", - "block.createnuclear.reactor_output.tooltip.behaviour1": "Вы можете _извлечь энергию_, производимую реактором, установив _вал_ у _выхода реактора_", + "block.createnuclear.reactor_output.tooltip.behaviour1": "Вы можете _извлекать энергию_, вырабатываемую реактором, установив _вал_ к его _выходу_.", "block.createnuclear.reactor_output.tooltip.condition1": "Когда реактор производит энергию", - "block.createnuclear.reactor_output.tooltip.summary": "_Выход реактора_ это _блок_, который используется для извлечения механической энергии, производимой _Реактором_", + "block.createnuclear.reactor_output.tooltip.summary": "_Блок_ для извлечения механической энергии, вырабатываемой _реактором_.", "block.createnuclear.reinforced_glass": "Укреплённое стекло", + "block.createnuclear.small_autunite_brick_slab": "Плита из мелкого автунитового кирпича", + "block.createnuclear.small_autunite_brick_stairs": "Ступеньки из мелкого автунитового кирпича", + "block.createnuclear.small_autunite_brick_wall": "Ограда из мелкого автунитового кирпича", + "block.createnuclear.small_autunite_bricks": "Мелкие автунитовые кирпичи", "block.createnuclear.steel_block": "Стальной блок", "block.createnuclear.uranium": "Уран", "block.createnuclear.uranium_ore": "Урановая руда", @@ -89,19 +114,19 @@ "createnuclear.enriched.fan.recipe": "Массовое обогащение", "createnuclear.generic.unit.heat": "Q", "createnuclear.gui.reactor_controller.info_header.title": "Тепловое значение", - "createnuclear.ponder.reactor.header": "Включение реактора", + "createnuclear.ponder.reactor.header": "Строительством реактора", "createnuclear.ponder.reactor.text_1": "Этап 1", "createnuclear.ponder.reactor.text_10": "Этап 7", - "createnuclear.ponder.reactor.text_2": "Выход реактора: Это блок, который выводит энергию (SU), генерируемую реактором.", + "createnuclear.ponder.reactor.text_2": "Выход реактора — это блок, извлекающий энергию (SU), вырабатываемую реактором", "createnuclear.ponder.reactor.text_3": "Этап 2", "createnuclear.ponder.reactor.text_4": "Этап 3", "createnuclear.ponder.reactor.text_5": "Этап 4", - "createnuclear.ponder.reactor.text_6": "Входное хранилище реактора: Блок, который хранит уран и графические стержни для управления реактором.", - "createnuclear.ponder.reactor.text_7": "Панель управления реактором: Самый важный блок для управления реактором; он обрабатывает все расчеты, необходимые для генерации энергии.", + "createnuclear.ponder.reactor.text_6": "Вход реактора — это блок, хранящий урановые и графитовые стержни для работы реактора", + "createnuclear.ponder.reactor.text_7": "Контроллер реактора является наиболее важным блоком для работы реактора; он обрабатывает все расчёты, необходимые для выработки энергии", "createnuclear.ponder.reactor.text_8": "Этап 5", "createnuclear.ponder.reactor.text_9": "Этап 6", - "createnuclear.ponder.reactor_blueprint.header": "Активация контроллера", - "createnuclear.ponder.reactor_blueprint.text_1": "Схема реактора: самый важный элемент; он позволяет сконфигурировать реактор в соответствии с определенными моделями.", + "createnuclear.ponder.reactor_blueprint.header": "Активацией контроллера", + "createnuclear.ponder.reactor_blueprint.text_1": "Чертёж реактора является наиболее важным элементом; он позволяет сконфигурировать реактор в соответствии с конкретными моделями", "createnuclear.tooltip.heatLevel": "Уровень тепла", "createnuclear.tooltip.heatLevel.caution": "Осторожность", "createnuclear.tooltip.heatLevel.danger": "Опасность", @@ -117,101 +142,101 @@ "entity.createnuclear.irradiated_chicken": "Облученная курица", "entity.createnuclear.irradiated_wolf": "Облученный волк", "fluid.createnuclear.uranium": "Жидкий уран", - "gui.createnuclear.reactor_controller.title": "Панель управления реактором", + "gui.createnuclear.reactor_controller.title": "Контроллер реактора", "gui.createnuclear.reactor_input.title": "Входное хранилище реактора", - "item.createnuclear.anti_radiation_boots": "Антирадиационные сапоги", - "item.createnuclear.black_anti_radiation_chestplate": "Черный антирадиационный нагрудник", - "item.createnuclear.black_anti_radiation_helmet": "Черный антирадиационный шлем", - "item.createnuclear.black_anti_radiation_leggings": "Черные антирадиационные поножи", + "item.createnuclear.anti_radiation_boots": "Противорадиационные ботинки", + "item.createnuclear.black_anti_radiation_chestplate": "Черный противорадиационный нагрудник", + "item.createnuclear.black_anti_radiation_helmet": "Черный противорадиационный шлем", + "item.createnuclear.black_anti_radiation_leggings": "Черные противорадиационные поножи", "item.createnuclear.black_cloth": "Черная ткань", - "item.createnuclear.blue_anti_radiation_chestplate": "Синий антирадиационный нагрудник", - "item.createnuclear.blue_anti_radiation_helmet": "Синий антирадиационный шлем", - "item.createnuclear.blue_anti_radiation_leggings": "Синие антирадиационные поножи", + "item.createnuclear.blue_anti_radiation_chestplate": "Синий противорадиационный нагрудник", + "item.createnuclear.blue_anti_radiation_helmet": "Синий противорадиационный шлем", + "item.createnuclear.blue_anti_radiation_leggings": "Синие противорадиационные поножи", "item.createnuclear.blue_cloth": "Синяя ткань", - "item.createnuclear.brown_anti_radiation_chestplate": "Коричневый антирадиационный нагрудник", - "item.createnuclear.brown_anti_radiation_helmet": "Коричневый антирадиационный шлем", - "item.createnuclear.brown_anti_radiation_leggings": "Коричневые антирадиационные поножи", + "item.createnuclear.brown_anti_radiation_chestplate": "Коричневый противорадиационный нагрудник", + "item.createnuclear.brown_anti_radiation_helmet": "Коричневый противорадиационный шлем", + "item.createnuclear.brown_anti_radiation_leggings": "Коричневые противорадиационные поножи", "item.createnuclear.brown_cloth": "Коричневая ткань", "item.createnuclear.cat_irradiated_spawn_egg": "Яйцо призыва облученного кота", "item.createnuclear.chicken_irradiated_spawn_egg": "Яйцо призыва облученной курицы", "item.createnuclear.coal_dust": "Угольная пыль", - "item.createnuclear.cyan_anti_radiation_chestplate": "Бирюзовы антирадиационный нагрудник", - "item.createnuclear.cyan_anti_radiation_helmet": "Бирюзовый антирадиационный шлем", - "item.createnuclear.cyan_anti_radiation_leggings": "Бирюзовые антирадиационные поножи", + "item.createnuclear.cyan_anti_radiation_chestplate": "Бирюзовый противорадиационный нагрудник", + "item.createnuclear.cyan_anti_radiation_helmet": "Бирюзовый противорадиационный шлем", + "item.createnuclear.cyan_anti_radiation_leggings": "Бирюзовые противорадиационные поножи", "item.createnuclear.cyan_cloth": "Бирюзовая ткань", "item.createnuclear.enriched_yellowcake": "Обогащённый жёлтый кек", "item.createnuclear.graphene": "Графен", "item.createnuclear.graphite_rod": "Графитовый стержень", "item.createnuclear.graphite_rod.tooltip.summary": "_Стержень_, используемый _входом реактора_ для поддержания его работы.", - "item.createnuclear.gray_anti_radiation_chestplate": "Серый антирадиационный нагрудник", - "item.createnuclear.gray_anti_radiation_helmet": "Серый антирадиационный шлем", - "item.createnuclear.gray_anti_radiation_leggings": "Серые антирадиационные поножи", + "item.createnuclear.gray_anti_radiation_chestplate": "Серый противорадиационный нагрудник", + "item.createnuclear.gray_anti_radiation_helmet": "Серый противорадиационный шлем", + "item.createnuclear.gray_anti_radiation_leggings": "Серые противорадиационные поножи", "item.createnuclear.gray_cloth": "Серая ткань", - "item.createnuclear.green_anti_radiation_chestplate": "Зелёный антирадиационный нагрудник", - "item.createnuclear.green_anti_radiation_helmet": "Зеленый антирадиационный шлем", - "item.createnuclear.green_anti_radiation_leggings": "Зелёные антирадиационные поножи", + "item.createnuclear.green_anti_radiation_chestplate": "Зелёный противорадиационный нагрудник", + "item.createnuclear.green_anti_radiation_helmet": "Зелёный противорадиационный шлем", + "item.createnuclear.green_anti_radiation_leggings": "Зелёные противорадиационные поножи", "item.createnuclear.green_cloth": "Зелёная ткань", "item.createnuclear.lead_ingot": "Свинцовый слиток", - "item.createnuclear.lead_nugget": "Свинцовый самородок", - "item.createnuclear.light_blue_anti_radiation_chestplate": "Голубой антирадиационный нагрудник", - "item.createnuclear.light_blue_anti_radiation_helmet": "Голубой антирадиационный шлем", - "item.createnuclear.light_blue_anti_radiation_leggings": "Голубые антирадиационные поножи", + "item.createnuclear.lead_nugget": "Кусочек свинца", + "item.createnuclear.light_blue_anti_radiation_chestplate": "Голубой противорадиационный нагрудник", + "item.createnuclear.light_blue_anti_radiation_helmet": "Голубой противорадиационный шлем", + "item.createnuclear.light_blue_anti_radiation_leggings": "Голубые противорадиационные поножи", "item.createnuclear.light_blue_cloth": "Голубая ткань", - "item.createnuclear.light_gray_anti_radiation_chestplate": "Светло-серый антирадиационный нагрудник", - "item.createnuclear.light_gray_anti_radiation_helmet": "Светло-серый антирадиационный шлем", - "item.createnuclear.light_gray_anti_radiation_leggings": "Светло-серые антирадиационные поножи", + "item.createnuclear.light_gray_anti_radiation_chestplate": "Светло-серый противорадиационный нагрудник", + "item.createnuclear.light_gray_anti_radiation_helmet": "Светло-серый противорадиационный шлем", + "item.createnuclear.light_gray_anti_radiation_leggings": "Светло-серые противорадиационные поножи", "item.createnuclear.light_gray_cloth": "Светло-серая ткань", - "item.createnuclear.lime_anti_radiation_chestplate": "Лаймовый антирадиационный нагрудник", - "item.createnuclear.lime_anti_radiation_helmet": "Лаймовый антирадиационный шлем", - "item.createnuclear.lime_anti_radiation_leggings": "Лаймовые антирадиационные поножи", + "item.createnuclear.lime_anti_radiation_chestplate": "Лаймовый противорадиационный нагрудник", + "item.createnuclear.lime_anti_radiation_helmet": "Лаймовый противорадиационный шлем", + "item.createnuclear.lime_anti_radiation_leggings": "Лаймовые противорадиационные поножи", "item.createnuclear.lime_cloth": "Лаймовая ткань", - "item.createnuclear.magenta_anti_radiation_chestplate": "Пурпурный антирадиационный нагрудник", - "item.createnuclear.magenta_anti_radiation_helmet": "Пурпурный антирадиационный шлем", - "item.createnuclear.magenta_anti_radiation_leggings": "Пурпурные антирадиационные поножи", + "item.createnuclear.magenta_anti_radiation_chestplate": "Пурпурный противорадиационный нагрудник", + "item.createnuclear.magenta_anti_radiation_helmet": "Пурпурный противорадиационный шлем", + "item.createnuclear.magenta_anti_radiation_leggings": "Пурпурные противорадиационные поножи", "item.createnuclear.magenta_cloth": "Пурпурная ткань", - "item.createnuclear.orange_anti_radiation_chestplate": "Оранжевый антирадиационный нагрудник", - "item.createnuclear.orange_anti_radiation_helmet": "Оранжевый антирадиационный шлем", - "item.createnuclear.orange_anti_radiation_leggings": "Оранжевые антирадиационные поножи", + "item.createnuclear.orange_anti_radiation_chestplate": "Оранжевый противорадиационный нагрудник", + "item.createnuclear.orange_anti_radiation_helmet": "Оранжевый противорадиационный шлем", + "item.createnuclear.orange_anti_radiation_leggings": "Оранжевые противорадиационные поножи", "item.createnuclear.orange_cloth": "Оранжевая ткань", "item.createnuclear.pink_anti_radiation_chestplate": "Розовый антирадиационный нагрудник", - "item.createnuclear.pink_anti_radiation_helmet": "Розовый антирадиационный шлем", - "item.createnuclear.pink_anti_radiation_leggings": "Розовые антирадиационные поножи", + "item.createnuclear.pink_anti_radiation_helmet": "Розовый противорадиационный шлем", + "item.createnuclear.pink_anti_radiation_leggings": "Розовые противорадиационные поножи", "item.createnuclear.pink_cloth": "Розовая ткань", - "item.createnuclear.purple_anti_radiation_chestplate": "Фиолетовый антирадиационный нагрудник", - "item.createnuclear.purple_anti_radiation_helmet": "Фиолетовый антирадиационный шлем", - "item.createnuclear.purple_anti_radiation_leggings": "Фиолетовые антирадиационные поножи", + "item.createnuclear.purple_anti_radiation_chestplate": "Фиолетовый противорадиационный нагрудник", + "item.createnuclear.purple_anti_radiation_helmet": "Фиолетовый противорадиационный шлем", + "item.createnuclear.purple_anti_radiation_leggings": "Фиолетовые противорадиационные поножи", "item.createnuclear.purple_cloth": "Фиолетовая ткань", - "item.createnuclear.raw_lead": "Сырой свинец", - "item.createnuclear.raw_uranium": "Сырой уран", + "item.createnuclear.raw_lead": "Рудный свинец", + "item.createnuclear.raw_uranium": "Рудный уран", "item.createnuclear.reactor_blueprint_item": "Схема реактора", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "Используйте _ПКМ_ чтобы настроить чертёж.", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "Используйте _ПКМ_ на контроллере реактора, чтобы установить чертёж.", - "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Заполняется графитом и урановыми стержнями", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_ПКМ_ для заполнения.", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_ПКМ_ по контроллеру для открытия.", + "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Заполнен графитовыми и урановыми стержнями", "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "Реактор должен быть собран", "item.createnuclear.reactor_blueprint_item.tooltip.summary": "Она позволяет вам настроить свой собственный шаблон.", - "item.createnuclear.red_anti_radiation_chestplate": "Красный антирадиационный нагрудник", - "item.createnuclear.red_anti_radiation_helmet": "Красный антирадиационный шлем", - "item.createnuclear.red_anti_radiation_leggings": "Красные антирадиационные поножи", + "item.createnuclear.red_anti_radiation_chestplate": "Красный противорадиационный нагрудник", + "item.createnuclear.red_anti_radiation_helmet": "Красный противорадиационный шлем", + "item.createnuclear.red_anti_radiation_leggings": "Красные противорадиационные поножи", "item.createnuclear.red_cloth": "Красная ткань", "item.createnuclear.steel_ingot": "Стальной слиток", - "item.createnuclear.steel_nugget": "Стальной самородок", + "item.createnuclear.steel_nugget": "Кусочек стали", "item.createnuclear.uranium_bucket": "Ведро урана", "item.createnuclear.uranium_powder": "Урановый порошок", "item.createnuclear.uranium_rod": "Урановый стержень", "item.createnuclear.uranium_rod.tooltip.summary": "_Стержень, используемый _входом реактора_ для поддержания его работы.", - "item.createnuclear.white_anti_radiation_chestplate": "Белый антирадиационный нагрудник", - "item.createnuclear.white_anti_radiation_helmet": "Белый антирадиационный шлем", - "item.createnuclear.white_anti_radiation_leggings": "Белые антирадиационные поножи", + "item.createnuclear.white_anti_radiation_chestplate": "Белый противорадиационный нагрудник", + "item.createnuclear.white_anti_radiation_helmet": "Белый противорадиационный шлем", + "item.createnuclear.white_anti_radiation_leggings": "Белые противорадиационные поножи", "item.createnuclear.white_cloth": "Белая ткань", "item.createnuclear.wolf_irradiated_spawn_egg": "Яйцо призыва облученного волка", - "item.createnuclear.yellow_anti_radiation_chestplate": "Жёлтый антирадиационный нагрудник", - "item.createnuclear.yellow_anti_radiation_helmet": "Жёлтый антирадиационный шлем", - "item.createnuclear.yellow_anti_radiation_leggings": "Жёлтые антирадиационные поножи", + "item.createnuclear.yellow_anti_radiation_chestplate": "Жёлтый противорадиационный нагрудник", + "item.createnuclear.yellow_anti_radiation_helmet": "Жёлтый противорадиационный шлем", + "item.createnuclear.yellow_anti_radiation_leggings": "Жёлтые противорадиационные поножи", "item.createnuclear.yellow_cloth": "Желтая ткань", "item.createnuclear.yellowcake": "Желтый кек", - "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Остающееся зелье радиации", - "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Остающееся зелье радиации", - "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Остающееся зелье радиации", + "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Туманное зелье радиации", + "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Туманное зелье радиации", + "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Туманное зелье радиации", "item.minecraft.potion.effect.potion_of_radiation_1": "Зелье радиации", "item.minecraft.potion.effect.potion_of_radiation_2": "Зелье радиации", "item.minecraft.potion.effect.potion_of_radiation_augment_1": "Зелье радиации", @@ -223,19 +248,20 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Стрела радиации", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Группа урана", + "overlay.event_message": "⚠ Предупреждение ⚠ %s таймер", "reactor.info.assembled.creator": "Реактор собран", "reactor.info.assembled.destroyer": "Реактор разобран", "reactor.info.assembled.none": "Реактор не собран", - "reactor.info.is": "контролер", + "reactor.info.is": "контроллер", "reactor.item.gui.name": "Шаблон конфигурации", "reactor.update.casing.input": "Обновление во входе оболочки", "tag.fluid.c.uranium": "Жидкий уран", "tag.item.c.coal_dusts": "Угольная пыль", - "tag.item.c.ingots.lead": "Свинцовые слитки тегов", - "tag.item.c.ingots.steel": "Стальные слитки тегов", + "tag.item.c.ingots.lead": "Свинцовые слитки", + "tag.item.c.ingots.steel": "Стальные слитки", "tag.item.c.lead_ingots": "Свинцовые слитки", - "tag.item.c.lead_nuggets": "Свинцовые самородки", - "tag.item.c.uranium": "Урановая жидкость", + "tag.item.c.lead_nuggets": "Кусочки свинца", + "tag.item.c.uranium": "Жидкий уран", "tag.item.createnuclear.cloth": "Ткань", "tag.item.createnuclear.cooler": "Охладитель", "tag.item.createnuclear.fuel": "Топливо", diff --git a/src/main/resources/assets/createnuclear/lang/sr_sp.json b/src/main/resources/assets/createnuclear/lang/sr_sp.json index ce4ce5c5..e79a54d9 100644 --- a/src/main/resources/assets/createnuclear/lang/sr_sp.json +++ b/src/main/resources/assets/createnuclear/lang/sr_sp.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", "advancement.createnuclear.yellowcake": "The Yellowcake Process", "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Lead Block", "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", "block.createnuclear.reactor_casing": "Reactor Casing", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", "block.createnuclear.reinforced_glass": "Reinforced Glass", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Steel Block", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Uranium Ore", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "None", "createnuclear.tooltip.heatLevel.safety": "Safety", "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Graphene Rod: ", "createnuclear.tooltip.item.unknown.rod": "Unknown: ", "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", "effect.createnuclear.radiation": "Radiation", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", diff --git a/src/main/resources/assets/createnuclear/lang/sv_se.json b/src/main/resources/assets/createnuclear/lang/sv_se.json index 229dcc09..a483c792 100644 --- a/src/main/resources/assets/createnuclear/lang/sv_se.json +++ b/src/main/resources/assets/createnuclear/lang/sv_se.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Krossa kol eller träkol för att få kol damm, en nyckel tillverkning material", "advancement.createnuclear.dye_anti_radiation_armor": "Förfina Min Rustning", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Färglägg din radioaktivitetsskyddande rustning i vilken färg som helst", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Förstärkning av gulkaka", "advancement.createnuclear.enriched_yellowcake.desc": "Använd en fläkt för att stärka gulkakan och för att göra den mer kraftfull", "advancement.createnuclear.full_anti_radiation_armor": "Helt Skyddad", @@ -28,11 +30,11 @@ "advancement.createnuclear.reactor_controller": "Kärnkontrollpanel", "advancement.createnuclear.reactor_controller.desc": "Tillverka en reaktorkontrollpanel för att reglera och övervaka din reaktor", "advancement.createnuclear.reactor_cooler": "Nedkylning av reaktorn", - "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooler to cool your reactor", + "advancement.createnuclear.reactor_cooler.desc": "Tillverka en reaktorkylare för att kyla ner din reaktor", "advancement.createnuclear.reactor_core": "Kärnan av kraft", "advancement.createnuclear.reactor_core.desc": "Tillverka en reaktorkärna för att utnyttja den fulla kapaciteten av din kärnreaktor", - "advancement.createnuclear.reactor_frame": "Reactor Frame", - "advancement.createnuclear.reactor_frame.desc": "Craft a reactor frame to build your nuclear reactor", + "advancement.createnuclear.reactor_frame": "Reaktorram", + "advancement.createnuclear.reactor_frame.desc": "Tillverka en reaktorram för att bygga din kärnreaktor", "advancement.createnuclear.reactor_input": "Att fylla reaktorn med bränsle", "advancement.createnuclear.reactor_input.desc": "Tillverka en reaktoröppning för att mata in uran och grafitstavar i din reaktor", "advancement.createnuclear.reactor_output": "Rotationsutgång", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Tillverka din första uranstav genom att tillverka förstärkt gulkaka i en tillverkare", "advancement.createnuclear.yellowcake": "Gulkakans process", "advancement.createnuclear.yellowcake.desc": "Packa flytande uran för att skapa gulkaka", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Djupstensblymalm", "block.createnuclear.deepslate_uranium_ore": "Djupstensuranmalm", "block.createnuclear.enriched_soul_soil": "Berikad själjord", "block.createnuclear.enriched_soul_soil.tooltip.summary": "Det_enda_blocket_som_kan_skapa_berikad_eld_.Kan_användas_för_att_tillverka_en_berikad_lägereld_eller_en_grön_eld_.", "block.createnuclear.enriching_campfire": "Berikande lägereld", "block.createnuclear.enriching_fire": "Berikande Eld", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Blyblock", "block.createnuclear.lead_ore": "Blymalm", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Rått blyblock", "block.createnuclear.raw_uranium_block": "Rått uranblock", "block.createnuclear.reactor_casing": "Reaktorhölje", @@ -74,7 +95,7 @@ "block.createnuclear.reactor_frame": "Reaktorram", "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ som används för att bygga _reaktorn_", "block.createnuclear.reactor_input": "Reaktorinmatning", - "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _uranium_ and _graphene_ rods in large quantities to power _the reactor_ ", + "block.createnuclear.reactor_input.tooltip.behaviour1": "Sätt in _uran_ and _grafen_stavar i större mängder för att ge kraft till _reaktorn_ ", "block.createnuclear.reactor_input.tooltip.condition1": "När reaktorn är ihopsatt", "block.createnuclear.reactor_input.tooltip.summary": "_Reaktoröppningen_ är ett _block_ som kan användas för att sätta in _Uran-_ och _Grafen_stavar i _reaktorn_", "block.createnuclear.reactor_output": "Reaktorutgång", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "När reaktorn producerar energi", "block.createnuclear.reactor_output.tooltip.summary": "_Reaktorutgången_ är ett _block_ som kan användas för att extrahera den rörelseenergin som genereras av _Reaktorn_", "block.createnuclear.reinforced_glass": "Förstärkt Glas", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Stålblock", "block.createnuclear.uranium": "Uran", "block.createnuclear.uranium_ore": "Uranmalm", @@ -188,7 +213,7 @@ "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Höger_ klicka på reaktorkontrollpanelen för att öppna den.", "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Fylld med grafit- och uranstavar", "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "Reaktorn måste sättas ihop", - "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own pattern.", + "item.createnuclear.reactor_blueprint_item.tooltip.summary": "Den tillåter dig att konfigurera ditt eget mönster.", "item.createnuclear.red_anti_radiation_chestplate": "Röd radioaktivitetsskyddande harnesk", "item.createnuclear.red_anti_radiation_helmet": "Röd radioaktivitetsskyddande hjälm", "item.createnuclear.red_anti_radiation_leggings": "Röda radioaktivitetsskyddande byxor", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Strålningspil", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uran grupp", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reaktorn har satts ihop", "reactor.info.assembled.destroyer": "Reaktorn har tagits isär", "reactor.info.assembled.none": "Reaktorn är inte ihopsatt", diff --git a/src/main/resources/assets/createnuclear/lang/tr_tr.json b/src/main/resources/assets/createnuclear/lang/tr_tr.json index a3a97c92..d1dc5bf7 100644 --- a/src/main/resources/assets/createnuclear/lang/tr_tr.json +++ b/src/main/resources/assets/createnuclear/lang/tr_tr.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Kömür veya odun kömürünü ezerek önemli bir üretim malzemesi olan kömür tozu elde edin", "advancement.createnuclear.dye_anti_radiation_armor": "Zırhımı Süsle", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Radyasyon önleyici zırhınızı istediğiniz renge boyayın", + "advancement.createnuclear.eated_yellowcake": "Sarı Kek Ye", + "advancement.createnuclear.eated_yellowcake.desc": "Ne bekliyordun ? §7(Gizli Başarım)", "advancement.createnuclear.enriched_yellowcake": "Uranyum Oksiti Zenginleştirme", "advancement.createnuclear.enriched_yellowcake.desc": "Uranyum Oksiti zenginleştirmek ve daha güçlü hale getirmek için bir fan kullanın", "advancement.createnuclear.full_anti_radiation_armor": "Tam Korunma", @@ -27,12 +29,12 @@ "advancement.createnuclear.reactor_casing.desc": "Nükleer reaktörünüzü inşa etmeye başlamak için bir reaktör kasası üretin", "advancement.createnuclear.reactor_controller": "Çekirdeğin Kontrolcüsü", "advancement.createnuclear.reactor_controller.desc": "Reaktörünüzü yönetmek ve düzenlemek için bir reaktör kontrolcüsü üretin", - "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", - "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooler to cool your reactor", + "advancement.createnuclear.reactor_cooler": "Reaktör Soğutuluyor", + "advancement.createnuclear.reactor_cooler.desc": "Reaktörü soğutmak için reaktör soğutma çerçevesi yapın", "advancement.createnuclear.reactor_core": "Gücün Çekirdeği", "advancement.createnuclear.reactor_core.desc": "Nükleer reaktörünüzün tüm enerjisini kullanmak için reaktör çekirdeğini üretin", - "advancement.createnuclear.reactor_frame": "Reactor Frame", - "advancement.createnuclear.reactor_frame.desc": "Craft a reactor frame to build your nuclear reactor", + "advancement.createnuclear.reactor_frame": "Reaktör Ana Çerçevesi", + "advancement.createnuclear.reactor_frame.desc": "Nükleer Reaktör için Reaktör Ana Çerçevesi yapın", "advancement.createnuclear.reactor_input": "Reaktöre Yakıt Verme", "advancement.createnuclear.reactor_input.desc": "Reaktörünüze uranyum ve grafit çubukları beslemek için bir reaktör girişi üretin", "advancement.createnuclear.reactor_output": "Güç Çıkışı", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Mekanik üreticide zenginleştirilmiş uranyum oksit kullanarak ilk uranyum çubuğunuzu oluşturun", "advancement.createnuclear.yellowcake": "Uranyum Oksit Süreci", "advancement.createnuclear.yellowcake.desc": "Uranyum Oksit oluşturmak için sıvı uranyumu sıkıştırın", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Kesilmiş Otunit", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Kesilmiş Otunit Tuğlalar", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Cilalı Kesilmiş Otunit", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Küçük Otunit Tuğlalar", + "block.createnuclear.autunite": "Otunit", + "block.createnuclear.autunite_pillar": "Otunit Sütun", + "block.createnuclear.cut_autunite": "Kesilmiş Otunit", + "block.createnuclear.cut_autunite_brick_slab": "Kesilmiş Otunit Tuğla Basamak", + "block.createnuclear.cut_autunite_brick_stairs": "Kesilmiş Otunit Tuğla Merdiven", + "block.createnuclear.cut_autunite_brick_wall": "Kesilmiş Otunit Tuğla Duvar", + "block.createnuclear.cut_autunite_bricks": "Kesilmiş Otunit Tuğlası", + "block.createnuclear.cut_autunite_slab": "Kesilmiş Otunit Basamak", + "block.createnuclear.cut_autunite_stairs": "Kesilmiş Otunit Merdiven", + "block.createnuclear.cut_autunite_wall": "Kesilmiş Otunit Duvar", "block.createnuclear.deepslate_lead_ore": "Kayrak Taşı Kurşun Cevheri", "block.createnuclear.deepslate_uranium_ore": "Kayrak Taşı Uranyum Cevheri", "block.createnuclear.enriched_soul_soil": "Zenginleştirilmiş Ruh Kumu", - "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can be used to _craft_ enriched campfire or just to make a _green fire_.", + "block.createnuclear.enriched_soul_soil.tooltip.summary": "_Zenginleştirilmiş ateş_ yapabilen _tek_ blok. Zenginleştirilmiş kamp ateşi _yapmak_ için ya da sadece _yeşil ateş_ yapmak için kullanılır.", "block.createnuclear.enriching_campfire": "Zenginleştirilmiş Kamp Ateşi", "block.createnuclear.enriching_fire": "Zenginleştirilmiş Ateş", + "block.createnuclear.layered_autunite": "Katmanlı Otunit", "block.createnuclear.lead_block": "Kurşun Blogu", "block.createnuclear.lead_ore": "Kurşun Cevheri", + "block.createnuclear.polished_cut_autunite": "Cilalı Kesilmiş Otunit", + "block.createnuclear.polished_cut_autunite_slab": "Cilalı Kesilmiş Otunit Basamak", + "block.createnuclear.polished_cut_autunite_stairs": "Cilalı Kesilmiş Otunit Merdiven", + "block.createnuclear.polished_cut_autunite_wall": "Cilalı Kesilmiş Otunit Duvar", "block.createnuclear.raw_lead_block": "Ham Kurşun Bloğu", "block.createnuclear.raw_uranium_block": "Ham Uranyum Bloğu", "block.createnuclear.reactor_casing": "Reaktör Kaplaması", @@ -66,27 +87,31 @@ "block.createnuclear.reactor_controller": "Reaktör Kontrolü", "block.createnuclear.reactor_controller.tooltip.behaviour1": "_enerji üretmek_ için gereken tüm hesaplamaları yapar, çalışması için bir patern ile bir _reaktör planına_ ihtiyaç duyar", "block.createnuclear.reactor_controller.tooltip.condition1": "Reaktör bir araya getirildiğinde", - "block.createnuclear.reactor_controller.tooltip.summary": " The _Reactor Controller_ is the _most important_ block for operating the reactor", + "block.createnuclear.reactor_controller.tooltip.summary": " _Reaktör Kontrolcüsü_, reaktörü çalıştırmak için _en önemli_ bloktur", "block.createnuclear.reactor_cooler": "Reaktör soğutucu", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_cooler.tooltip.summary": "_Reaktör_ inşa etmek için kullanılan _Blok_", "block.createnuclear.reactor_core": "Reaktör Çekirdeği", - "block.createnuclear.reactor_core.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_frame": "Reactor Frame", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_core.tooltip.summary": "_Reaktör_ inşa etmek için kullanılan _Blok_", + "block.createnuclear.reactor_frame": "Reaktör Çerçevesi", + "block.createnuclear.reactor_frame.tooltip.summary": "_Reaktör_ inşa etmek için kullanılan _Blok_", "block.createnuclear.reactor_input": "Reaktör Girişi", - "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _uranium_ and _graphene_ rods in large quantities to power _the reactor_ ", + "block.createnuclear.reactor_input.tooltip.behaviour1": "_Reaktöre_ güç sağlamak için büyük miktarlarda _uranyum_ ve _grafen_ çubukları yerleştirin ", "block.createnuclear.reactor_input.tooltip.condition1": "Reaktör bir araya getirildiğinde", - "block.createnuclear.reactor_input.tooltip.summary": "_The Reactor Input_ is a _block_ that can be used to insert _Uranium_ and _Graphene_ rods into the _Reactor_", + "block.createnuclear.reactor_input.tooltip.summary": "_Reaktör Girişi_, _Uranyum_ ve _Grafen_ çubuklarını _Reaktöre_ yerleştirmek için kullanılan bir _bloktur_", "block.createnuclear.reactor_output": "Reaktör Çıkışı", - "block.createnuclear.reactor_output.tooltip.behaviour1": "You can _extract the energy_ produce by the reactor by attaching _shaft_ to the _reactor output_", + "block.createnuclear.reactor_output.tooltip.behaviour1": "_Reaktör Çıkışına_ _şaft_ yerleştirerek _çıkartılan enerji_ elde kullanılabilir", "block.createnuclear.reactor_output.tooltip.condition1": "Reaktör enerji üretmeye başladığında", - "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", + "block.createnuclear.reactor_output.tooltip.summary": "_Reaktör Çıkışı_, _Reaktörden_ elde edilen mekanik enerjiyi kullanmaya yarayan bir _bloktur_", "block.createnuclear.reinforced_glass": "Sağlamlaştırılmış Cam", + "block.createnuclear.small_autunite_brick_slab": "Küçük Otunit Tuğla Basamak", + "block.createnuclear.small_autunite_brick_stairs": "Küçük Otunit Tuğla Merdiven", + "block.createnuclear.small_autunite_brick_wall": "Küçük Otunit Tuğla Duvar", + "block.createnuclear.small_autunite_bricks": "Küçük Otunit Tuğlası", "block.createnuclear.steel_block": "Çelik Bloğu", "block.createnuclear.uranium": "Uranyum", "block.createnuclear.uranium_ore": "Uranyum Cevheri", "create.recipe.fan_enriched.fan": "Zenginleştirilmiş Ateşin Arkasındaki Vantilatör", - "createnuclear.enriched.fan.recipe": "Yığın Zenginleştirilmiş", + "createnuclear.enriched.fan.recipe": "Yığın Zenginleştirme", "createnuclear.generic.unit.heat": "Q", "createnuclear.gui.reactor_controller.info_header.title": "Isı Değeri", "createnuclear.ponder.reactor.header": "Reaktörün İnşaası", @@ -108,11 +133,11 @@ "createnuclear.tooltip.heatLevel.none": "Hiç", "createnuclear.tooltip.heatLevel.safety": "Güvenlık", "createnuclear.tooltip.heatLevel.warning": "Uyarı", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Grafen Çubuk: ", "createnuclear.tooltip.item.unknown.rod": "Bilinmeyen ", "createnuclear.tooltip.item.uranium.rod": "Uranyum Çubğu.", "effect.createnuclear.radiation": "Radyasyon", - "emi.category.createnuclear.fan_enriched": "Yığın Zenginleştirilmiş", + "emi.category.createnuclear.fan_enriched": "Yığın Zenginleştirme", "entity.createnuclear.irradiated_cat": "Radyasyonlu Kedi", "entity.createnuclear.irradiated_chicken": "Radyasyonlu Tavuk", "entity.createnuclear.irradiated_wolf": "Radyasyonlu Kurt", @@ -142,7 +167,7 @@ "item.createnuclear.enriched_yellowcake": "Zenginleştirilmiş Uranyum Oksit", "item.createnuclear.graphene": "Grafen", "item.createnuclear.graphite_rod": "Grafen Çubuk", - "item.createnuclear.graphite_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", + "item.createnuclear.graphite_rod.tooltip.summary": "_Reaktör Girişinde_ çalıştırmak için _Çubuk_ kullanılır.", "item.createnuclear.gray_anti_radiation_chestplate": "Gri Anti Radyasyon Göğüslüğü", "item.createnuclear.gray_anti_radiation_helmet": "Gri Anti Radyasyon Miğferi", "item.createnuclear.gray_anti_radiation_leggings": "Gri Anti Radyasyon Pantolonu", @@ -198,7 +223,7 @@ "item.createnuclear.uranium_bucket": "Uranyum Kovası", "item.createnuclear.uranium_powder": "Uranyum Tozu", "item.createnuclear.uranium_rod": "Uranyum Çubuğu", - "item.createnuclear.uranium_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", + "item.createnuclear.uranium_rod.tooltip.summary": "_Reaktör Girişinde_ çalıştırmak için _Çubuk_ kullanılır.", "item.createnuclear.white_anti_radiation_chestplate": "Beyaz Anti Radyasyon Göğüslüğü", "item.createnuclear.white_anti_radiation_helmet": "Beyaz Anti Radyasyon Miğferi", "item.createnuclear.white_anti_radiation_leggings": "Beyaz Anti Radyasyon Pantolonu", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Radyasyon Oku", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranyum Grubu", + "overlay.event_message": "⚠ Uyarı ⚠ %s zamanlayıcı", "reactor.info.assembled.creator": "Reaktör Kuruldu", "reactor.info.assembled.destroyer": "Reaktör Söküldü", "reactor.info.assembled.none": "Reaktör Bir Arada Değil", diff --git a/src/main/resources/assets/createnuclear/lang/uk_ua.json b/src/main/resources/assets/createnuclear/lang/uk_ua.json index 4a7833d3..4798ccc5 100644 --- a/src/main/resources/assets/createnuclear/lang/uk_ua.json +++ b/src/main/resources/assets/createnuclear/lang/uk_ua.json @@ -1,40 +1,42 @@ { - "advancement.createnuclear.anti_radiation_armor": "Антирадіаційна броня", + "advancement.createnuclear.anti_radiation_armor": "Протирадіаційні обладунки", "advancement.createnuclear.anti_radiation_armor.desc": "Зробіть ваш перший протирадіаційний обладунок, щоб захистити себе від радіації", "advancement.createnuclear.automatic_uranium": "Автоматизація урану", "advancement.createnuclear.automatic_uranium.desc": "Отримайте трохи уранового порошку за допомогою автоматичної обробки урану\n§7(Приховане досягнення)", "advancement.createnuclear.coal_dust": "Вугільний пил", "advancement.createnuclear.coal_dust.desc": "Подрібніть вугілля або деревне вугілля, щоб отримати вугільний пил, ключовий матеріал для крафту", "advancement.createnuclear.dye_anti_radiation_armor": "Кольоровий Захист", - "advancement.createnuclear.dye_anti_radiation_armor.desc": "Пофарбуйте ваші антирадіаційні обладунки у будь-який колір", - "advancement.createnuclear.enriched_yellowcake": "Збагачена Жовта руда", - "advancement.createnuclear.enriched_yellowcake.desc": "Використайте вентилятор для збагачення жовтої руди та створення його більш потужним", + "advancement.createnuclear.dye_anti_radiation_armor.desc": "Пофарбуйте ваші протирадіаційні обладунки у будь-який колір", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", + "advancement.createnuclear.enriched_yellowcake": "Збагачення жовтого кеку", + "advancement.createnuclear.enriched_yellowcake.desc": "Використайте вітрогін, щоб збагити жовтий кек та зробити його потужнішим", "advancement.createnuclear.full_anti_radiation_armor": "Захист по саму голову", - "advancement.createnuclear.full_anti_radiation_armor.desc": "Зробіть ваш перший протирадіаційний обладунок, щоб захистити себе від радіації", + "advancement.createnuclear.full_anti_radiation_armor.desc": "Одягніть повний добір протирадіаційних обладунків, щоб повністю захистити себе від радіації", "advancement.createnuclear.graphene": "Графен", "advancement.createnuclear.graphene.desc": "Пресуйте вугільний пил, щоб створити Графен", "advancement.createnuclear.graphite_rod": "Не забувай про них", - "advancement.createnuclear.graphite_rod.desc": "Поєднання графен і сталевих злитків у механічному збирачі, щоб зробити графічний стрижень", + "advancement.createnuclear.graphite_rod.desc": "Поєднайте графен і сталеві злитки у механічному збирачі, щоб зробити графітовий стрижень", "advancement.createnuclear.lead_ingot": "Свинцевий злиток", "advancement.createnuclear.lead_ingot.desc": "Отримайте свинцевий злиток шляхом пережарювання руди в печі", "advancement.createnuclear.raw_lead": "Необроблений свинець", - "advancement.createnuclear.raw_lead.desc": "Отримайте сирого свинцю добуваючи його з руди свинцю, десь в шахті", + "advancement.createnuclear.raw_lead.desc": "Отримайте необроблений свинець, видобувши свинцеву руду", "advancement.createnuclear.raw_uranium": "Сира Потужність", "advancement.createnuclear.raw_uranium.desc": "Добудьте уранову руду, для отримання уранової сировини для подальшої її обробки", "advancement.createnuclear.reactor_blueprint": "Креслення Потужності", - "advancement.createnuclear.reactor_blueprint.desc": "Створіть креслення, для розташування стрижнів в реакторі", + "advancement.createnuclear.reactor_blueprint.desc": "Змайструйте світлокопію, щоб спроєктувати розташування стрижнів у реакторі", "advancement.createnuclear.reactor_casing": "Потужність Реактора", "advancement.createnuclear.reactor_casing.desc": "Створіть корпус реактора, щоб розпочати будівництво реактора", - "advancement.createnuclear.reactor_controller": "Контролер Ядра", + "advancement.createnuclear.reactor_controller": "Контролер ядра", "advancement.createnuclear.reactor_controller.desc": "Створіть контролер ядра для управління реактором", "advancement.createnuclear.reactor_cooler": "Охолодження Реактора", - "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", + "advancement.createnuclear.reactor_cooler.desc": "Створіть охолоджувач для вашого реактора", "advancement.createnuclear.reactor_core": "Ядро потужності", "advancement.createnuclear.reactor_core.desc": "Створити активну зону, щоб використати повну енергію вашого реактору", - "advancement.createnuclear.reactor_frame": "Reactor Main Frame", - "advancement.createnuclear.reactor_frame.desc": "Craft a reactor main frame to build your nuclear reactor", + "advancement.createnuclear.reactor_frame": "Каркас реактора", + "advancement.createnuclear.reactor_frame.desc": "Створіть каркас реактора для побудови реактора", "advancement.createnuclear.reactor_input": "Паливо реактора", - "advancement.createnuclear.reactor_input.desc": "Створіть паливо для реактора, здобудьте Урановий та Графітний стрижень", + "advancement.createnuclear.reactor_input.desc": "Змайструйте вхід для реактора для подачі уранових та графітових стрижнів", "advancement.createnuclear.reactor_output": "Вихід потужності", "advancement.createnuclear.reactor_output.desc": "Створіть блок виходу потужності", "advancement.createnuclear.reinforced_glass": "Посилене скло", @@ -48,198 +50,222 @@ "advancement.createnuclear.uranium_powder": "Живлений уран", "advancement.createnuclear.uranium_powder.desc": "Розтрощіть сирий уран в порошок, щоб підготувати його для подальшої обробки", "advancement.createnuclear.uranium_rod": "Потужність атома", - "advancement.createnuclear.uranium_rod.desc": "Створіть перший урановий стрижень з уранового оксиду в механічному збирачі", - "advancement.createnuclear.yellowcake": "Окислення урану", - "advancement.createnuclear.yellowcake.desc": "Спресуйте уранову рідину для створення уранового оксиду", - "block.createnuclear.deepslate_lead_ore": "Глибинна свинцева руда", + "advancement.createnuclear.uranium_rod.desc": "Створіть в механічному збирачі перший урановий стрижень зі збагаченого жовтого кеку", + "advancement.createnuclear.yellowcake": "Виготовлення жовтого кеку", + "advancement.createnuclear.yellowcake.desc": "Спресуйте уранову рідину для створення жовтого кеку", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", + "block.createnuclear.deepslate_lead_ore": "Глибосланцева свинцева руда", "block.createnuclear.deepslate_uranium_ore": "Глибинна уранова руда", "block.createnuclear.enriched_soul_soil": "Збагачений пісок душ", "block.createnuclear.enriched_soul_soil.tooltip.summary": "Це єдиний блок, який здатен створити збагачений вогонь. Може бути використаний для створення загаченого багаття або зеленого вогню.", "block.createnuclear.enriching_campfire": "Збагачувальне багаття", "block.createnuclear.enriching_fire": "Збагачувальний вогонь", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Свинцевий блок", "block.createnuclear.lead_ore": "Свинцева руда", - "block.createnuclear.raw_lead_block": "Необроблений свинцевий блок", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", + "block.createnuclear.raw_lead_block": "Блок необробленого свинцю", "block.createnuclear.raw_uranium_block": "Необроблений урановий блок", "block.createnuclear.reactor_casing": "Корпус реактора", - "block.createnuclear.reactor_casing.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_casing.tooltip.summary": "_Блок_, що використовується для побудови _реактора_", "block.createnuclear.reactor_controller": "Контролер реактора", - "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a patern to work", - "block.createnuclear.reactor_controller.tooltip.condition1": "When the reactor is assembled", - "block.createnuclear.reactor_controller.tooltip.summary": " The _Reactor Controller_ is the _most important_ block for operating the reactor", - "block.createnuclear.reactor_cooler": "Reactor Cooler", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_controller.tooltip.behaviour1": "він проводить усі обчислення, необхідні для _створення енергії_. Для роботи потребує _креслення реактора_ із шаблоном", + "block.createnuclear.reactor_controller.tooltip.condition1": "Коли реактор зібрано", + "block.createnuclear.reactor_controller.tooltip.summary": " _Контролер реактора_ - це _найважливіший_ блок для керування реактором", + "block.createnuclear.reactor_cooler": "Охолоджувач реактора", + "block.createnuclear.reactor_cooler.tooltip.summary": "_Блок_, що використовується для побудови _реактора_", "block.createnuclear.reactor_core": "Активна зона реактора", - "block.createnuclear.reactor_core.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_frame": "Reactor Frame", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_input": "Активна зона реактора", - "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _unranium_ and _graphene_ rods in large quantities to power _the reactor_ ", - "block.createnuclear.reactor_input.tooltip.condition1": "When the Reactor is assembled", - "block.createnuclear.reactor_input.tooltip.summary": "_The Reactor Input_ is a _block_ that can be used to insert _Uranium_ and _Graphene_ rods into the _Reactor_", + "block.createnuclear.reactor_core.tooltip.summary": "_Блок_, що використовується для побудови _реактора_", + "block.createnuclear.reactor_frame": "Каркас реактора", + "block.createnuclear.reactor_frame.tooltip.summary": "_Блок_, що використовується для побудови _реактора_", + "block.createnuclear.reactor_input": "Вхід реактора", + "block.createnuclear.reactor_input.tooltip.behaviour1": "Вставте _уранові_ та _графітові_ стрижні у великій кількості, щоб заживити _реактор_ ", + "block.createnuclear.reactor_input.tooltip.condition1": "Коли реактор зібрано", + "block.createnuclear.reactor_input.tooltip.summary": "_Вхід реактора_ — це блок, що використовується для подачі _уранових_ та _графітових_ стрижнів у _реактор_", "block.createnuclear.reactor_output": "Вхід реактора", - "block.createnuclear.reactor_output.tooltip.behaviour1": "You can _extract the energy_ produce by the reactor by attaching _shaft_ to the _reactor output_", + "block.createnuclear.reactor_output.tooltip.behaviour1": "Приєднайте _вал_ до до виходу реактора для _отримання енергії_, виробленої реактором", "block.createnuclear.reactor_output.tooltip.condition1": "Коли реактор виробляє енергію", - "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", - "block.createnuclear.reinforced_glass": "Укріплене Скло", + "block.createnuclear.reactor_output.tooltip.summary": "_Вихід реактора_ — це блок, що дозволяє отримувати механічну енергію, вироблену _реактором_", + "block.createnuclear.reinforced_glass": "Посилене скло", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Сталевий блок", "block.createnuclear.uranium": "Уран", "block.createnuclear.uranium_ore": "Уранова руда", - "create.recipe.fan_enriched.fan": "Fan behind Enriched Fire", + "create.recipe.fan_enriched.fan": "Вітрогін позаду збагаченого вогню", "createnuclear.enriched.fan.recipe": "Масове збагачення", "createnuclear.generic.unit.heat": "Q", "createnuclear.gui.reactor_controller.info_header.title": "Теплотворна здатність", "createnuclear.ponder.reactor.header": "Конструкція Реактору", - "createnuclear.ponder.reactor.text_1": "Floor 1", - "createnuclear.ponder.reactor.text_10": "Floor 7", - "createnuclear.ponder.reactor.text_2": "Reactor Output: This is the block that outputs the energy (SU) generated by the reactor.", - "createnuclear.ponder.reactor.text_3": "Floor 2", - "createnuclear.ponder.reactor.text_4": "Floor 3", - "createnuclear.ponder.reactor.text_5": "Floor 4", - "createnuclear.ponder.reactor.text_6": "Reactor Input: A block that stores uranium and graphite rods to operate the reactor.", - "createnuclear.ponder.reactor.text_7": "Reactor Controller: The most important block to operate the reactor; it handles all the calculations needed to generate power.", - "createnuclear.ponder.reactor.text_8": "Floor 5", - "createnuclear.ponder.reactor.text_9": "Floor 6", - "createnuclear.ponder.reactor_blueprint.header": "Controller Activation", - "createnuclear.ponder.reactor_blueprint.text_1": "Reactor Blueprint: the most important element; it allows the reactor to be configured according to specific models.", + "createnuclear.ponder.reactor.text_1": "Поверх 1", + "createnuclear.ponder.reactor.text_10": "Поверх 7", + "createnuclear.ponder.reactor.text_2": "Вихід реактора — це блок, що виводить енергію (ОН), згенеровану реактором.", + "createnuclear.ponder.reactor.text_3": "Поверх 2", + "createnuclear.ponder.reactor.text_4": "Поверх 3", + "createnuclear.ponder.reactor.text_5": "Поверх 4", + "createnuclear.ponder.reactor.text_6": "Вхід реактора: блок, що зберігає уранові та графітові стрижні для керування реактором.", + "createnuclear.ponder.reactor.text_7": "Контролер реактора: найважливіший блок для керування реактором; він проводить усі обчислення, необхідні для створення енергії.", + "createnuclear.ponder.reactor.text_8": "Поверх 5", + "createnuclear.ponder.reactor.text_9": "Поверх 6", + "createnuclear.ponder.reactor_blueprint.header": "Активація контролера", + "createnuclear.ponder.reactor_blueprint.text_1": "Креслення реактора: наважливіша частина, дозволяє налаштовувати реактор відповідно до конкретних моделей.", "createnuclear.tooltip.heatLevel": "Рівень тепла", - "createnuclear.tooltip.heatLevel.caution": "Caution", + "createnuclear.tooltip.heatLevel.caution": "Обережно", "createnuclear.tooltip.heatLevel.danger": "Небезпечно", - "createnuclear.tooltip.heatLevel.none": "None", - "createnuclear.tooltip.heatLevel.safety": "Safety", + "createnuclear.tooltip.heatLevel.none": "Немає", + "createnuclear.tooltip.heatLevel.safety": "Безпечно", "createnuclear.tooltip.heatLevel.warning": "Зверніть увагу", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", - "createnuclear.tooltip.item.unknown.rod": "Unknown: ", - "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", + "createnuclear.tooltip.item.graphene.rod": "Графітовий стрижень: ", + "createnuclear.tooltip.item.unknown.rod": "Невідомо: ", + "createnuclear.tooltip.item.uranium.rod": "Урановий стрижень: ", "effect.createnuclear.radiation": "Радіація", "emi.category.createnuclear.fan_enriched": "Bulk Enriched", "entity.createnuclear.irradiated_cat": "Опромінений котик-мурчик", "entity.createnuclear.irradiated_chicken": "Опромінена курочка-чубатурочка", - "entity.createnuclear.irradiated_wolf": "Опромінений вовчик-братик", + "entity.createnuclear.irradiated_wolf": "Опромінений вовк", "fluid.createnuclear.uranium": "Рідкий Уран", "gui.createnuclear.reactor_controller.title": "Контролер реактора", "gui.createnuclear.reactor_input.title": "Вхідне сховище реактора", - "item.createnuclear.anti_radiation_boots": "Радіаційно-захисні чоботи", - "item.createnuclear.black_anti_radiation_chestplate": "Чорна радіаційно-захисна куртка", - "item.createnuclear.black_anti_radiation_helmet": "Чорний радіаційно-захисний шолом", - "item.createnuclear.black_anti_radiation_leggings": "Чорні антирадіаційні наголінники", + "item.createnuclear.anti_radiation_boots": "Протирадіаційні чоботи", + "item.createnuclear.black_anti_radiation_chestplate": "Чорний протирадіаційний нагрудник", + "item.createnuclear.black_anti_radiation_helmet": "Чорний протирадіаційний шолом", + "item.createnuclear.black_anti_radiation_leggings": "Чорні протирадіаційні наголінники", "item.createnuclear.black_cloth": "Чорна тканина", - "item.createnuclear.blue_anti_radiation_chestplate": "Синій антирадіаційний нагрудник", - "item.createnuclear.blue_anti_radiation_helmet": "Синій антирадіаційний шолом", + "item.createnuclear.blue_anti_radiation_chestplate": "Синій протирадіаційний нагрудник", + "item.createnuclear.blue_anti_radiation_helmet": "Синій протирадіаційний шолом", "item.createnuclear.blue_anti_radiation_leggings": "Сині антирадіаційні наголінники", "item.createnuclear.blue_cloth": "Синя тканина", "item.createnuclear.brown_anti_radiation_chestplate": "Коричневий антирадіаційний нагрудник", - "item.createnuclear.brown_anti_radiation_helmet": "Коричневий антирадіаційний шолом", - "item.createnuclear.brown_anti_radiation_leggings": "Коричневі радіаційно-захисні штани", - "item.createnuclear.brown_cloth": "Коричневий одяг", + "item.createnuclear.brown_anti_radiation_helmet": "Коричневий протирадіаційний шолом", + "item.createnuclear.brown_anti_radiation_leggings": "Коричневі протирадіаційні наголінники", + "item.createnuclear.brown_cloth": "Коричнева тканина", "item.createnuclear.cat_irradiated_spawn_egg": "Яйце Виклику Опроміненого котика-мурчика", "item.createnuclear.chicken_irradiated_spawn_egg": "Яйце Виклику Опроміненої курочки-чубатурочки", "item.createnuclear.coal_dust": "Вугільний пил", "item.createnuclear.cyan_anti_radiation_chestplate": "Бірюзова радіаційно-захисна куртка", - "item.createnuclear.cyan_anti_radiation_helmet": "Cyan Anti Radiation Helmet", - "item.createnuclear.cyan_anti_radiation_leggings": "Cyan Anti Radiation Leggings", - "item.createnuclear.cyan_cloth": "Ціанова тканина", - "item.createnuclear.enriched_yellowcake": "Enriched Yellowcake", - "item.createnuclear.graphene": "Graphene", - "item.createnuclear.graphite_rod": "Graphite Rod", - "item.createnuclear.graphite_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", - "item.createnuclear.gray_anti_radiation_chestplate": "Gray Anti Radiation Chestplate", - "item.createnuclear.gray_anti_radiation_helmet": "Gray Anti Radiation Helmet", - "item.createnuclear.gray_anti_radiation_leggings": "Gray Anti Radiation Leggings", - "item.createnuclear.gray_cloth": "Gray Cloth", - "item.createnuclear.green_anti_radiation_chestplate": "Green Anti Radiation Chestplate", - "item.createnuclear.green_anti_radiation_helmet": "Green Anti Radiation Helmet", - "item.createnuclear.green_anti_radiation_leggings": "Green Anti Radiation Leggings", - "item.createnuclear.green_cloth": "Green Cloth", - "item.createnuclear.lead_ingot": "Lead Ingot", - "item.createnuclear.lead_nugget": "Lead Nugget", - "item.createnuclear.light_blue_anti_radiation_chestplate": "Light Blue Anti Radiation Chestplate", - "item.createnuclear.light_blue_anti_radiation_helmet": "Light Blue Anti Radiation Helmet", - "item.createnuclear.light_blue_anti_radiation_leggings": "Light Blue Anti Radiation Leggings", - "item.createnuclear.light_blue_cloth": "Light Blue Cloth", + "item.createnuclear.cyan_anti_radiation_helmet": "Бірюзовий протирадіаційний шолом", + "item.createnuclear.cyan_anti_radiation_leggings": "Бірюзові протирадіаційні наголінники", + "item.createnuclear.cyan_cloth": "Бірюзова тканина", + "item.createnuclear.enriched_yellowcake": "Збагачений жовтий кек", + "item.createnuclear.graphene": "Графен", + "item.createnuclear.graphite_rod": "Графітовий стрижень", + "item.createnuclear.graphite_rod.tooltip.summary": "стрижень, що використовується _входом реактора_ для керування ним.", + "item.createnuclear.gray_anti_radiation_chestplate": "Сірий протирадіаційний нагрудник", + "item.createnuclear.gray_anti_radiation_helmet": "Сірий протирадіаційний шолом", + "item.createnuclear.gray_anti_radiation_leggings": "Сірі протирадіаційні наголінники", + "item.createnuclear.gray_cloth": "Сіра тканина", + "item.createnuclear.green_anti_radiation_chestplate": "Зелений протирадіаційний нагрудник", + "item.createnuclear.green_anti_radiation_helmet": "Зелений протирадіаційний шолом", + "item.createnuclear.green_anti_radiation_leggings": "Зелені протирадіаційні наголінники", + "item.createnuclear.green_cloth": "Зелена тканина", + "item.createnuclear.lead_ingot": "Свинцевий злиток", + "item.createnuclear.lead_nugget": "Свинцевий самородок", + "item.createnuclear.light_blue_anti_radiation_chestplate": "Блакитний протирадіаційний нагрудник", + "item.createnuclear.light_blue_anti_radiation_helmet": "Блакитний протирадіаційний шолом", + "item.createnuclear.light_blue_anti_radiation_leggings": "Блакитні протирадіаційні наголінники", + "item.createnuclear.light_blue_cloth": "Блакитна тканина", "item.createnuclear.light_gray_anti_radiation_chestplate": "Світло-сірий антирадіаційний нагрудник", - "item.createnuclear.light_gray_anti_radiation_helmet": "Light Gray Anti Radiation Helmet", - "item.createnuclear.light_gray_anti_radiation_leggings": "Light Gray Anti Radiation Leggings", - "item.createnuclear.light_gray_cloth": "Light Gray Cloth", - "item.createnuclear.lime_anti_radiation_chestplate": "Lime Anti Radiation Chestplate", - "item.createnuclear.lime_anti_radiation_helmet": "Lime Anti Radiation Helmet", - "item.createnuclear.lime_anti_radiation_leggings": "Lime Anti Radiation Leggings", - "item.createnuclear.lime_cloth": "Lime Cloth", - "item.createnuclear.magenta_anti_radiation_chestplate": "Magenta Anti Radiation Chestplate", - "item.createnuclear.magenta_anti_radiation_helmet": "Magenta Anti Radiation Helmet", - "item.createnuclear.magenta_anti_radiation_leggings": "Magenta Anti Radiation Leggings", - "item.createnuclear.magenta_cloth": "Magenta Cloth", - "item.createnuclear.orange_anti_radiation_chestplate": "Orange Anti Radiation Chestplate", - "item.createnuclear.orange_anti_radiation_helmet": "Orange Anti Radiation Helmet", - "item.createnuclear.orange_anti_radiation_leggings": "Orange Anti Radiation Leggings", - "item.createnuclear.orange_cloth": "Orange Cloth", - "item.createnuclear.pink_anti_radiation_chestplate": "Pink Anti Radiation Chestplate", - "item.createnuclear.pink_anti_radiation_helmet": "Pink Anti Radiation Helmet", - "item.createnuclear.pink_anti_radiation_leggings": "Pink Anti Radiation Leggings", - "item.createnuclear.pink_cloth": "Pink Cloth", - "item.createnuclear.purple_anti_radiation_chestplate": "Purple Anti Radiation Chestplate", - "item.createnuclear.purple_anti_radiation_helmet": "Purple Anti Radiation Helmet", - "item.createnuclear.purple_anti_radiation_leggings": "Purple Anti Radiation Leggings", - "item.createnuclear.purple_cloth": "Purple Cloth", - "item.createnuclear.raw_lead": "Raw Lead", - "item.createnuclear.raw_uranium": "Raw Uranium", - "item.createnuclear.reactor_blueprint_item": "Reactor Blueprint", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "_Right_ click to fill it.", - "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", - "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", - "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "The reactor must be assembled", + "item.createnuclear.light_gray_anti_radiation_helmet": "Світло-сірий протирадіаційний шолом", + "item.createnuclear.light_gray_anti_radiation_leggings": "Світло-сірі протирадіаційні наголінники", + "item.createnuclear.light_gray_cloth": "Світло-сіра тканина", + "item.createnuclear.lime_anti_radiation_chestplate": "Лаймовий протирадіаційний нагрудник", + "item.createnuclear.lime_anti_radiation_helmet": "Лаймовий протирадіаційний шолом", + "item.createnuclear.lime_anti_radiation_leggings": "Лаймові протирадіаційні наголінники", + "item.createnuclear.lime_cloth": "Лаймова тканина", + "item.createnuclear.magenta_anti_radiation_chestplate": "Пурпуровий протирадіаційний нагрудник", + "item.createnuclear.magenta_anti_radiation_helmet": "Пурпуровий протирадіаційний шолом", + "item.createnuclear.magenta_anti_radiation_leggings": "Пурпурові протирадіаційні наголінники", + "item.createnuclear.magenta_cloth": "Пурпурова тканина", + "item.createnuclear.orange_anti_radiation_chestplate": "Помаранчевий протирадіаційний нагрудник", + "item.createnuclear.orange_anti_radiation_helmet": "Помаранчевий протирадіаційний шолом", + "item.createnuclear.orange_anti_radiation_leggings": "Помаранчеві протирадіаційні наголінники", + "item.createnuclear.orange_cloth": "Помаранчева тканина", + "item.createnuclear.pink_anti_radiation_chestplate": "Рожевий протирадіаційний нагрудник", + "item.createnuclear.pink_anti_radiation_helmet": "Рожевий протирадіаційний шолом", + "item.createnuclear.pink_anti_radiation_leggings": "Рожеві протирадіаційні наголінники", + "item.createnuclear.pink_cloth": "Рожева тканина", + "item.createnuclear.purple_anti_radiation_chestplate": "Фіолетовий протирадіаційний нагрудник", + "item.createnuclear.purple_anti_radiation_helmet": "Фіолетовий протирадіаційний шолом", + "item.createnuclear.purple_anti_radiation_leggings": "Фіолетові протирадіаційні наголінники", + "item.createnuclear.purple_cloth": "Фіолетова тканина", + "item.createnuclear.raw_lead": "Необроблений свинець", + "item.createnuclear.raw_uranium": "Необроблений уран", + "item.createnuclear.reactor_blueprint_item": "Креслення реактора", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour1": "Клацніть _ПКМ_, щоб заповнити.", + "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Клацніть ПКМ_ по контролеру реактора, щоб відкрити його.", + "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Заповнюється графітовими та урановими стрижнями", + "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "Реактор має бути зібраний", "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own patern.", - "item.createnuclear.red_anti_radiation_chestplate": "Red Anti Radiation Chestplate", - "item.createnuclear.red_anti_radiation_helmet": "Red Anti Radiation Helmet", - "item.createnuclear.red_anti_radiation_leggings": "Red Anti Radiation Leggings", - "item.createnuclear.red_cloth": "Red Cloth", + "item.createnuclear.red_anti_radiation_chestplate": "Червоний протирадіаційний нагрудник", + "item.createnuclear.red_anti_radiation_helmet": "Червоний протирадіаційний шолом", + "item.createnuclear.red_anti_radiation_leggings": "Червоні протирадіаційні наголінники", + "item.createnuclear.red_cloth": "Червона тканина", "item.createnuclear.steel_ingot": "Сталевий злиток", "item.createnuclear.steel_nugget": "Сталевий самородок", - "item.createnuclear.uranium_bucket": "Uranium Bucket", - "item.createnuclear.uranium_powder": "Uranium Powder", - "item.createnuclear.uranium_rod": "Uranium Rod", - "item.createnuclear.uranium_rod.tooltip.summary": "_Stick_ to be used in the _reactor input_ to operate it.", - "item.createnuclear.white_anti_radiation_chestplate": "White Anti Radiation Chestplate", - "item.createnuclear.white_anti_radiation_helmet": "White Anti Radiation Helmet", - "item.createnuclear.white_anti_radiation_leggings": "White Anti Radiation Leggings", - "item.createnuclear.white_cloth": "White Cloth", - "item.createnuclear.wolf_irradiated_spawn_egg": "Irradiated Wolf Spawn Egg", - "item.createnuclear.yellow_anti_radiation_chestplate": "Yellow Anti Radiation Chestplate", - "item.createnuclear.yellow_anti_radiation_helmet": "Yellow Anti Radiation Helmet", - "item.createnuclear.yellow_anti_radiation_leggings": "Жовті радіаційно-захисні штани", - "item.createnuclear.yellow_cloth": "Yellow Cloth", - "item.createnuclear.yellowcake": "Yellowcake", - "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Lingering Potion of Radiation", - "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Lingering Potion of Radiation", - "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Lingering Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_1": "Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_2": "Potion of Radiation", - "item.minecraft.potion.effect.potion_of_radiation_augment_1": "Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_1": "Splash Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_2": "Splash Potion of Radiation", - "item.minecraft.splash_potion.effect.potion_of_radiation_augment_1": "Splash Potion of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_1": "Arrow of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Arrow of Radiation", - "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", + "item.createnuclear.uranium_bucket": "Відро урану", + "item.createnuclear.uranium_powder": "Урановий порошок", + "item.createnuclear.uranium_rod": "Урановий стрижень", + "item.createnuclear.uranium_rod.tooltip.summary": "_Стрижень_, що використовується _входом реактора_ для керування ним.", + "item.createnuclear.white_anti_radiation_chestplate": "Білий протирадіаційний нагрудник", + "item.createnuclear.white_anti_radiation_helmet": "Білий протирадіаційний шолом", + "item.createnuclear.white_anti_radiation_leggings": "Білі протирадіаційні наголінники", + "item.createnuclear.white_cloth": "Біла тканина", + "item.createnuclear.wolf_irradiated_spawn_egg": "Яйце виклику опроміненого вовка", + "item.createnuclear.yellow_anti_radiation_chestplate": "Жовтий протирадіаційний нагрудник", + "item.createnuclear.yellow_anti_radiation_helmet": "Жовтий протирадіаційний шолом", + "item.createnuclear.yellow_anti_radiation_leggings": "Жовті протирадіаційні наголінники", + "item.createnuclear.yellow_cloth": "Жовта тканина", + "item.createnuclear.yellowcake": "Жовтий кек", + "item.minecraft.lingering_potion.effect.potion_of_radiation_1": "Осідальне зілля радіації", + "item.minecraft.lingering_potion.effect.potion_of_radiation_2": "Осідальне зілля радіації", + "item.minecraft.lingering_potion.effect.potion_of_radiation_augment_1": "Осідальне зілля радіації", + "item.minecraft.potion.effect.potion_of_radiation_1": "Зілля радіації", + "item.minecraft.potion.effect.potion_of_radiation_2": "Зілля радіації", + "item.minecraft.potion.effect.potion_of_radiation_augment_1": "Зілля радіації", + "item.minecraft.splash_potion.effect.potion_of_radiation_1": "Вибухове зілля радіації", + "item.minecraft.splash_potion.effect.potion_of_radiation_2": "Вибухове зілля радіації", + "item.minecraft.splash_potion.effect.potion_of_radiation_augment_1": "Вибухове зілля радіації", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_1": "Стріла радіації", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_2": "Стріла радіації", + "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Стріла радіації", "itemGroup.createnuclear.main": "Create Nuclear", - "itemgroup.uranium": "Uranium Group", - "reactor.info.assembled.creator": "Reactor has been assembled", - "reactor.info.assembled.destroyer": "Reactor has been disassembled", - "reactor.info.assembled.none": "Reactor is not assembled", - "reactor.info.is": "controller is", - "reactor.item.gui.name": "Config Pattern", - "reactor.update.casing.input": "Update the casing in input", - "tag.fluid.c.uranium": "Fluid Uranium", + "itemgroup.uranium": "Група: уран", + "overlay.event_message": "⚠ Warning ⚠ %s timer", + "reactor.info.assembled.creator": "Реактор зібрано", + "reactor.info.assembled.destroyer": "Реактор розібрано", + "reactor.info.assembled.none": "Реактор не зібрано", + "reactor.info.is": "контролер", + "reactor.item.gui.name": "Налаштувати шаблон", + "reactor.update.casing.input": "Змінити корпус для входу", + "tag.fluid.c.uranium": "Рідкий уран", "tag.item.c.coal_dusts": "Вугільний пил", - "tag.item.c.ingots.lead": "Tags Lead ingots", - "tag.item.c.ingots.steel": "Tags Steel ingots", - "tag.item.c.lead_ingots": "Lead ingots", - "tag.item.c.lead_nuggets": "Lead nuggets", - "tag.item.c.uranium": "Fluid Uranium", - "tag.item.createnuclear.cloth": "Cloth", - "tag.item.createnuclear.cooler": "Cooler", - "tag.item.createnuclear.fuel": "Fuel", - "tag.item.minecraft.all.campfires": "All Campfires", - "tag.item.minecraft.campfires": "Campfires", - "tag.item.trinkets.head.face": "Head Face" + "tag.item.c.ingots.lead": "Тег свинцеві злитки", + "tag.item.c.ingots.steel": "Тег сталеві злитки", + "tag.item.c.lead_ingots": "Свинцеві злитки", + "tag.item.c.lead_nuggets": "Свинцеві самородки", + "tag.item.c.uranium": "Рідкий уран", + "tag.item.createnuclear.cloth": "Тканина", + "tag.item.createnuclear.cooler": "Охолоджувач", + "tag.item.createnuclear.fuel": "Паливо", + "tag.item.minecraft.all.campfires": "Усі багаття", + "tag.item.minecraft.campfires": "Багаття", + "tag.item.trinkets.head.face": "Голова" } \ No newline at end of file diff --git a/src/main/resources/assets/createnuclear/lang/vi_vn.json b/src/main/resources/assets/createnuclear/lang/vi_vn.json index f3e8b0b1..1dcf07e9 100644 --- a/src/main/resources/assets/createnuclear/lang/vi_vn.json +++ b/src/main/resources/assets/createnuclear/lang/vi_vn.json @@ -7,6 +7,8 @@ "advancement.createnuclear.coal_dust.desc": "Nghiền Than/Than gỗ để có được Bụi than, nguyên liệu cần thiết trong chế tạo", "advancement.createnuclear.dye_anti_radiation_armor": "Mai Mối Giáp Tôi", "advancement.createnuclear.dye_anti_radiation_armor.desc": "Nhuộm màu giáp kháng xạ với bất cứ màu nào", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Nâng Cấp Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Dùng quạt để tinh chế Yellowcake và tăng cường sức mạnh của nó", "advancement.createnuclear.full_anti_radiation_armor": "Bảo Hộ Toàn Phần", @@ -51,14 +53,33 @@ "advancement.createnuclear.uranium_rod.desc": "Chế tạo thanh uranium đầu tiên của bạn từ yellowcake làm giàu trong thiết bị chế tạo cơ khí", "advancement.createnuclear.yellowcake": "Quá Trình Yellowcake", "advancement.createnuclear.yellowcake.desc": "Cô đặc dung dịch Uranium thành Yelllowcake", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "Quặng chì bảng sâu", "block.createnuclear.deepslate_uranium_ore": "Quặng Uranium bảng sâu", "block.createnuclear.enriched_soul_soil": "Đất linh hồn đã tinh luyện", "block.createnuclear.enriched_soul_soil.tooltip.summary": "Khối _duy nhất_ tạo ra _lửa tinh luyện_. Có thể dùng để _chế tạo_ lửa trại tinh luyện_ hoặc chỉ để tạo ra _lửa màu xanh_.", "block.createnuclear.enriching_campfire": "Lửa trại tinh luyện", "block.createnuclear.enriching_fire": "Lửa tinh luyện", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "Khối chì", "block.createnuclear.lead_ore": "Quặng chì", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Quặng chì thô", "block.createnuclear.raw_uranium_block": "Quặng Uranium thô", "block.createnuclear.reactor_casing": "Vỏ lò phản ứng", @@ -82,6 +103,10 @@ "block.createnuclear.reactor_output.tooltip.condition1": "Khi lò phản ứng sản sinh năng lượng", "block.createnuclear.reactor_output.tooltip.summary": "_Đầu ra lò phản ứng_ là một khối_ có thể dùng để trích xuất năng lượng cơ học sản sinh bởi _Lò Phản Ứng_", "block.createnuclear.reinforced_glass": "Kính cường lực", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "Khối thép", "block.createnuclear.uranium": "Uranium", "block.createnuclear.uranium_ore": "Quặng Uranium", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Mũi tên phóng xạ", "itemGroup.createnuclear.main": "Tạo ra hạt nhân", "itemgroup.uranium": "Nhóm Uranium", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Lò phản ứng đã được lắp vào", "reactor.info.assembled.destroyer": "Lò phản ứng đã bị tháo ra", "reactor.info.assembled.none": "Lò phản ứng không được lắp ráp", diff --git a/src/main/resources/assets/createnuclear/lang/zh_cn.json b/src/main/resources/assets/createnuclear/lang/zh_cn.json index 521a5680..79a234fc 100644 --- a/src/main/resources/assets/createnuclear/lang/zh_cn.json +++ b/src/main/resources/assets/createnuclear/lang/zh_cn.json @@ -1,5 +1,5 @@ { - "advancement.createnuclear.anti_radiation_armor": "身在“辐”中不知“辐”", + "advancement.createnuclear.anti_radiation_armor": "身在辐中不知辐", "advancement.createnuclear.anti_radiation_armor.desc": "制作你的第一件防辐射护甲来保护你免受辐射伤害", "advancement.createnuclear.automatic_uranium": "人间铀物", "advancement.createnuclear.automatic_uranium.desc": "利用自动铀加工装置获得一些铀粉\n§7(隐藏进度)", @@ -7,10 +7,12 @@ "advancement.createnuclear.coal_dust.desc": "通过粉碎煤炭或木炭以制作碳粉,一种关键的材料", "advancement.createnuclear.dye_anti_radiation_armor": "改装我的护甲", "advancement.createnuclear.dye_anti_radiation_armor.desc": "用染料来给你的防辐射护甲染色", + "advancement.createnuclear.eated_yellowcake": "品尝黄饼", + "advancement.createnuclear.eated_yellowcake.desc": "你在期待什么?\n§7(隐藏进度)", "advancement.createnuclear.enriched_yellowcake": "浓缩黄饼", "advancement.createnuclear.enriched_yellowcake.desc": "使用鼓风机通过富集营火批量浓缩黄饼", - "advancement.createnuclear.full_anti_radiation_armor": "铅防护体", - "advancement.createnuclear.full_anti_radiation_armor.desc": "穿上全套防辐射护甲,充分保护自己免受辐射伤害", + "advancement.createnuclear.full_anti_radiation_armor": "全方位保护", + "advancement.createnuclear.full_anti_radiation_armor.desc": "穿上全套防辐射护甲,保护自己免受辐射伤害", "advancement.createnuclear.graphene": "石墨", "advancement.createnuclear.graphene.desc": "辊压碳粉以制作石墨", "advancement.createnuclear.graphite_rod": "勿忘它", @@ -19,28 +21,28 @@ "advancement.createnuclear.lead_ingot.desc": "熔炼粗铅以获得铅锭", "advancement.createnuclear.raw_lead": "粗铅", "advancement.createnuclear.raw_lead.desc": "开采铅矿石以获得一些粗铅", - "advancement.createnuclear.raw_uranium": "原始能量", + "advancement.createnuclear.raw_uranium": "粗犷的能量", "advancement.createnuclear.raw_uranium.desc": "开采铀矿石以获取粗铀以供进一步加工", - "advancement.createnuclear.reactor_blueprint": "蓝图指挥", + "advancement.createnuclear.reactor_blueprint": "蓝图之力", "advancement.createnuclear.reactor_blueprint.desc": "制作一个反应堆控制蓝图来设计你的反应堆中的铀棒与石墨棒布局", - "advancement.createnuclear.reactor_casing": "核能动力", - "advancement.createnuclear.reactor_casing.desc": "制作一个反应堆机壳,开始建造你的反应堆", - "advancement.createnuclear.reactor_controller": "核心控制器", + "advancement.createnuclear.reactor_casing": "裂变之能", + "advancement.createnuclear.reactor_casing.desc": "制作一个反应堆机壳,开始建造你的核反应堆", + "advancement.createnuclear.reactor_controller": "控制的核心", "advancement.createnuclear.reactor_controller.desc": "制作一个反应堆控制器来管理你的反应堆", - "advancement.createnuclear.reactor_cooler": "冷却反应器", + "advancement.createnuclear.reactor_cooler": "给反应堆降降温", "advancement.createnuclear.reactor_cooler.desc": "制造一个反应堆冷却器,冷却你的反应器", "advancement.createnuclear.reactor_core": "能量核心", "advancement.createnuclear.reactor_core.desc": "制作反应堆核心来利用核反应堆的全部能量", - "advancement.createnuclear.reactor_frame": "反应器帧", - "advancement.createnuclear.reactor_frame.desc": "制造一个反应堆框架来构建你的核反应堆", - "advancement.createnuclear.reactor_input": "自动化反应堆", + "advancement.createnuclear.reactor_frame": "反应堆框架", + "advancement.createnuclear.reactor_frame.desc": "制造一个反应堆框架来建造你的核反应堆", + "advancement.createnuclear.reactor_input": "加注核燃料", "advancement.createnuclear.reactor_input.desc": "制造一个反应堆输入口,将铀棒和石墨棒输入到你的反应堆中", "advancement.createnuclear.reactor_output": "应力输出", "advancement.createnuclear.reactor_output.desc": "制作一个反应堆应力输出器来转化反应堆产生的能量", "advancement.createnuclear.reinforced_glass": "强化玻璃", "advancement.createnuclear.reinforced_glass.desc": "首次制作一些强化玻璃", "advancement.createnuclear.root": "开启核能之旅", - "advancement.createnuclear.root.desc": "解锁原子能基础,并想办法获取你的第一个铀粉,", + "advancement.createnuclear.root.desc": "解锁核能基础,并想办法获取你的第一撮铀粉", "advancement.createnuclear.steel_ingot": "钢锭", "advancement.createnuclear.steel_ingot.desc": "通过混合搅拌碳粉和铁锭以制作钢锭", "advancement.createnuclear.uranium_liquid": "固液转换", @@ -48,55 +50,78 @@ "advancement.createnuclear.uranium_powder": "粉碎的铀", "advancement.createnuclear.uranium_powder.desc": "通过粉碎粗铀以制作铀粉,为进一步提炼做好准备", "advancement.createnuclear.uranium_rod": "原子之力", - "advancement.createnuclear.uranium_rod.desc": "通过动力合成器使用浓缩黄饼以制作你的第一个铀棒", + "advancement.createnuclear.uranium_rod.desc": "在动力合成器中放置浓缩黄饼以制作你的第一个铀棒", "advancement.createnuclear.yellowcake": "黄饼是怎样炼成的", - "advancement.createnuclear.yellowcake.desc": "通过压块塑性以制作黄饼", + "advancement.createnuclear.yellowcake.desc": "通过挤压来制作黄饼", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", "block.createnuclear.deepslate_lead_ore": "深层铅矿石", "block.createnuclear.deepslate_uranium_ore": "深层铀矿石", "block.createnuclear.enriched_soul_soil": "富集灵魂土", "block.createnuclear.enriched_soul_soil.tooltip.summary": "_只能_用于制作_富集营火_,或者像灵魂沙一样_点燃_一个_绿色火焰_。", "block.createnuclear.enriching_campfire": "富集营火", - "block.createnuclear.enriching_fire": "富集魂火", + "block.createnuclear.enriching_fire": "富集火", + "block.createnuclear.layered_autunite": "Layered Autunite", "block.createnuclear.lead_block": "铅块", "block.createnuclear.lead_ore": "铅矿石", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "粗铅块", "block.createnuclear.raw_uranium_block": "粗铀块", "block.createnuclear.reactor_casing": "反应堆机壳", - "block.createnuclear.reactor_casing.tooltip.summary": "用于建造_反应堆_", + "block.createnuclear.reactor_casing.tooltip.summary": "_此方块_用于建造_反应堆_", "block.createnuclear.reactor_controller": "反应堆控制器", "block.createnuclear.reactor_controller.tooltip.behaviour1": "它处理_产生能量_所需的所有计算,它需要一个已经被配置了的_反应堆控制蓝图_", "block.createnuclear.reactor_controller.tooltip.condition1": "当反应堆组装好之后", - "block.createnuclear.reactor_controller.tooltip.summary": " _反应堆控制器_是运行反应堆_最重要的_方块", - "block.createnuclear.reactor_cooler": "反应器冷却器", - "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_controller.tooltip.summary": " _反应堆控制器_是控制反应堆_最重要的_方块", + "block.createnuclear.reactor_cooler": "反应堆冷却器", + "block.createnuclear.reactor_cooler.tooltip.summary": "_此方块_用于建造_反应堆_", "block.createnuclear.reactor_core": "反应堆核心", - "block.createnuclear.reactor_core.tooltip.summary": "用于建造_反应堆_", - "block.createnuclear.reactor_frame": "反应器帧", - "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", + "block.createnuclear.reactor_core.tooltip.summary": "_此方块_用于建造_反应堆_", + "block.createnuclear.reactor_frame": "反应堆框架", + "block.createnuclear.reactor_frame.tooltip.summary": "_此方块_用于建造_反应堆_", "block.createnuclear.reactor_input": "反应堆输入口", - "block.createnuclear.reactor_input.tooltip.behaviour1": "可以通过它实现自动化大量添加_铀棒_和_石墨棒_源源不断地为_反应堆_提供原料 ", + "block.createnuclear.reactor_input.tooltip.behaviour1": "可以通过它实现自动化大量添加_铀棒_和_石墨棒_来源源不断地为_反应堆_提供原料 ", "block.createnuclear.reactor_input.tooltip.condition1": "当反应堆组装好之后", - "block.createnuclear.reactor_input.tooltip.summary": "_反应堆输入口_是一个_部件方块_,用来将_铀棒_和_石墨棒_放入_反应堆_", + "block.createnuclear.reactor_input.tooltip.summary": "_反应堆输入口_是一个_燃料输入方块_,用来将_铀棒_和_石墨棒_放入_反应堆_", "block.createnuclear.reactor_output": "反应堆应力输出器", "block.createnuclear.reactor_output.tooltip.behaviour1": "你可以使用_传动杆_连接到_反应堆应力输出器_来_提取能量_", - "block.createnuclear.reactor_output.tooltip.condition1": "当反应堆产生能量时", - "block.createnuclear.reactor_output.tooltip.summary": "_反应堆应力输出器_是一个_部件方块_,可以用来提取由_反应堆_产生热能转化而来的机械能应力", + "block.createnuclear.reactor_output.tooltip.condition1": "反应堆生产能量时", + "block.createnuclear.reactor_output.tooltip.summary": "_反应堆应力输出器_是一个_应力输出方块_,可以将_反应堆_产生的热能转化为机械能", "block.createnuclear.reinforced_glass": "强化玻璃", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", "block.createnuclear.steel_block": "钢块", "block.createnuclear.uranium": "铀", "block.createnuclear.uranium_ore": "铀矿石", - "create.recipe.fan_enriched.fan": "在富集营火后放置鼓风机", + "create.recipe.fan_enriched.fan": "在富集火后放置鼓风机", "createnuclear.enriched.fan.recipe": "批量浓缩", "createnuclear.generic.unit.heat": "Q", "createnuclear.gui.reactor_controller.info_header.title": "热值", "createnuclear.ponder.reactor.header": "建造反应堆", "createnuclear.ponder.reactor.text_1": "第1层", "createnuclear.ponder.reactor.text_10": "第7层", - "createnuclear.ponder.reactor.text_2": "反应堆应力输出器:这是输出由反应堆产生的应力(SU)方块。", + "createnuclear.ponder.reactor.text_2": "反应堆应力输出器:此方块可以将反应堆产生的能量转换成应力并输出。", "createnuclear.ponder.reactor.text_3": "第2层", "createnuclear.ponder.reactor.text_4": "第3层", "createnuclear.ponder.reactor.text_5": "第4层", - "createnuclear.ponder.reactor.text_6": "反应堆输入口:输入并储存铀棒和石墨棒以运行反应堆的方块。", + "createnuclear.ponder.reactor.text_6": "反应堆输入口:输入并储存 铀棒 和 石墨棒 以运行反应堆的方块。", "createnuclear.ponder.reactor.text_7": "反应堆控制器:运行反应堆中最重要的方块,它处理产生能量所需的所有计算。", "createnuclear.ponder.reactor.text_8": "第5层", "createnuclear.ponder.reactor.text_9": "第6层", @@ -108,7 +133,7 @@ "createnuclear.tooltip.heatLevel.none": "无", "createnuclear.tooltip.heatLevel.safety": "安全", "createnuclear.tooltip.heatLevel.warning": "警告", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", + "createnuclear.tooltip.item.graphene.rod": "石墨棒: ", "createnuclear.tooltip.item.unknown.rod": "未知: ", "createnuclear.tooltip.item.uranium.rod": "铀棒: ", "effect.createnuclear.radiation": "辐射", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "辐射之箭", "itemGroup.createnuclear.main": "机械动力:原子核动", "itemgroup.uranium": "铀类", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "反应堆已组装完成", "reactor.info.assembled.destroyer": "反应堆被破坏", "reactor.info.assembled.none": "反应堆未完成组装", diff --git a/src/main/resources/assets/createnuclear/lang/zh_tw.json b/src/main/resources/assets/createnuclear/lang/zh_tw.json index ce4ce5c5..c80f88ad 100644 --- a/src/main/resources/assets/createnuclear/lang/zh_tw.json +++ b/src/main/resources/assets/createnuclear/lang/zh_tw.json @@ -1,99 +1,124 @@ { - "advancement.createnuclear.anti_radiation_armor": "Anti radiation Armor", - "advancement.createnuclear.anti_radiation_armor.desc": "Craft your first anti-radiation armor piece to protect yourself from radiation", + "advancement.createnuclear.anti_radiation_armor": "防輻射護甲", + "advancement.createnuclear.anti_radiation_armor.desc": "製作你的第一件防輻射護甲以保護自己免受輻射汙染", "advancement.createnuclear.automatic_uranium": "Automating Uranium", "advancement.createnuclear.automatic_uranium.desc": "Obtain some uranium powder using the automatic uranium processing\n§7(Hidden Advancement)", "advancement.createnuclear.coal_dust": "Coal Dust", "advancement.createnuclear.coal_dust.desc": "Crush coal or charcoal to obtain coal dust, a key crafting material", "advancement.createnuclear.dye_anti_radiation_armor": "Pimp My Armor", - "advancement.createnuclear.dye_anti_radiation_armor.desc": "Dye your anti radiation armor to any color", + "advancement.createnuclear.dye_anti_radiation_armor.desc": "用染料來給你的防輻射護甲染色", + "advancement.createnuclear.eated_yellowcake": "Eating Yellowcake", + "advancement.createnuclear.eated_yellowcake.desc": "What did you expect ?\n§7(Hidden Advancement)", "advancement.createnuclear.enriched_yellowcake": "Enhancing Yellowcake", "advancement.createnuclear.enriched_yellowcake.desc": "Use a fan to enrich yellowcake and make it more powerful", - "advancement.createnuclear.full_anti_radiation_armor": "Fully Protected", - "advancement.createnuclear.full_anti_radiation_armor.desc": "Wear a full set of anti-radiation armor to fully protect yourself from radiation", - "advancement.createnuclear.graphene": "Graphene", - "advancement.createnuclear.graphene.desc": "Press coal dust to create graphene", + "advancement.createnuclear.full_anti_radiation_armor": "有「輻」不同享", + "advancement.createnuclear.full_anti_radiation_armor.desc": "穿戴全套防輻射護甲,全面保護自己免受輻射汙染", + "advancement.createnuclear.graphene": "石墨", + "advancement.createnuclear.graphene.desc": "輥壓碳粉以製作石墨", "advancement.createnuclear.graphite_rod": "Don't Forget Those Ones", "advancement.createnuclear.graphite_rod.desc": "Combine graphene and steel ingots in a mechanical crafter to make graphite rods", - "advancement.createnuclear.lead_ingot": "Lead ingot", + "advancement.createnuclear.lead_ingot": "鉛錠", "advancement.createnuclear.lead_ingot.desc": "Smelt a raw lead to obtain a lead ingot", - "advancement.createnuclear.raw_lead": "Raw Lead", - "advancement.createnuclear.raw_lead.desc": "Obtain some raw lead by mining lead ore", - "advancement.createnuclear.raw_uranium": "The Raw Power", + "advancement.createnuclear.raw_lead": "鉛原礦", + "advancement.createnuclear.raw_lead.desc": "開採鉛礦以獲得一些鉛原礦", + "advancement.createnuclear.raw_uranium": "原始力量", "advancement.createnuclear.raw_uranium.desc": "Mine uranium ore to obtain raw uranium for further processing", "advancement.createnuclear.reactor_blueprint": "Blueprint For Power", "advancement.createnuclear.reactor_blueprint.desc": "Craft a reactor blueprint to design the layout of rods in your reactor", - "advancement.createnuclear.reactor_casing": "The Power Of The Reactor", - "advancement.createnuclear.reactor_casing.desc": "Craft a reactor casing to begin building your nuclear reactor", - "advancement.createnuclear.reactor_controller": "Controller Of The Core", - "advancement.createnuclear.reactor_controller.desc": "Craft a reactor controller to manage and regulate your reactor", - "advancement.createnuclear.reactor_cooler": "Cooling The Reactor", + "advancement.createnuclear.reactor_casing": "核能發電", + "advancement.createnuclear.reactor_casing.desc": "製作反應爐外殼以開始建造你的核反應爐", + "advancement.createnuclear.reactor_controller": "核心控制器", + "advancement.createnuclear.reactor_controller.desc": "製作一個反應爐控制器來管理和調節你的反應爐", + "advancement.createnuclear.reactor_cooler": "冷卻時間", "advancement.createnuclear.reactor_cooler.desc": "Craft a reactor cooling frame to cool your reactor", - "advancement.createnuclear.reactor_core": "Core of Power", - "advancement.createnuclear.reactor_core.desc": "Craft the reactor core to harness the full energy of your nuclear reactor", + "advancement.createnuclear.reactor_core": "核心動力", + "advancement.createnuclear.reactor_core.desc": "製作反應爐核心以充分利用核反應器的能量", "advancement.createnuclear.reactor_frame": "Reactor Main Frame", "advancement.createnuclear.reactor_frame.desc": "Craft a reactor main frame to build your nuclear reactor", "advancement.createnuclear.reactor_input": "Fueling The Reactor", "advancement.createnuclear.reactor_input.desc": "Craft a reactor input to feed uranium and graphite rods into your reactor", - "advancement.createnuclear.reactor_output": "Power Output", + "advancement.createnuclear.reactor_output": "輸出動力", "advancement.createnuclear.reactor_output.desc": "Craft a reactor output to transfer the energy produced by your reactor", - "advancement.createnuclear.reinforced_glass": "Reinforced Glass", + "advancement.createnuclear.reinforced_glass": "強化玻璃", "advancement.createnuclear.reinforced_glass.desc": "Craft some reinforced glass for the first time", "advancement.createnuclear.root": "Starting The Nuclear Journey", "advancement.createnuclear.root.desc": "Unlock the basics of nuclear energy and get your first uranium powder", - "advancement.createnuclear.steel_ingot": "Steel Ingot", + "advancement.createnuclear.steel_ingot": "鋼錠", "advancement.createnuclear.steel_ingot.desc": "Combine coal dust and iron ingots to create steel ingots", - "advancement.createnuclear.uranium_liquid": "Turning Solid To Liquid", - "advancement.createnuclear.uranium_liquid.desc": "Obtain some uranium liquid by mixing uranium powder", + "advancement.createnuclear.uranium_liquid": "固液轉換", + "advancement.createnuclear.uranium_liquid.desc": "透過混合鈾粉來獲得一些液態鈾", "advancement.createnuclear.uranium_powder": "Powdered Uranium", "advancement.createnuclear.uranium_powder.desc": "Crush raw uranium into powder to prepare for further refining", - "advancement.createnuclear.uranium_rod": "The Power Of The Atom", - "advancement.createnuclear.uranium_rod.desc": "Create your first uranium rod using enriched yellowcake in a mechanical crafter", - "advancement.createnuclear.yellowcake": "The Yellowcake Process", - "advancement.createnuclear.yellowcake.desc": "Compact uranium liquid to create yellowcake", - "block.createnuclear.deepslate_lead_ore": "Deepslate Lead Ore", - "block.createnuclear.deepslate_uranium_ore": "Deepslate Uranium Ore", + "advancement.createnuclear.uranium_rod": "原子力量", + "advancement.createnuclear.uranium_rod.desc": "透過動力合成器使用濃縮黃餅來製作你的第一個鈾棒", + "advancement.createnuclear.yellowcake": "黃餅的煉製過程", + "advancement.createnuclear.yellowcake.desc": "透過壓塊塑性來製作黃餅", + "architecture_extensions.grouped_block.createnuclear.cut_autunite": "Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "architecture_extensions.grouped_block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "architecture_extensions.grouped_block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.autunite": "Autunite", + "block.createnuclear.autunite_pillar": "Autunite Pillar", + "block.createnuclear.cut_autunite": "Cut Autunite", + "block.createnuclear.cut_autunite_brick_slab": "Cut Autunite Brick Slab", + "block.createnuclear.cut_autunite_brick_stairs": "Cut Autunite Brick Stairs", + "block.createnuclear.cut_autunite_brick_wall": "Cut Autunite Brick Wall", + "block.createnuclear.cut_autunite_bricks": "Cut Autunite Bricks", + "block.createnuclear.cut_autunite_slab": "Cut Autunite Slab", + "block.createnuclear.cut_autunite_stairs": "Cut Autunite Stairs", + "block.createnuclear.cut_autunite_wall": "Cut Autunite Wall", + "block.createnuclear.deepslate_lead_ore": "深板岩鉛礦", + "block.createnuclear.deepslate_uranium_ore": "深板岩鈾礦", "block.createnuclear.enriched_soul_soil": "Enriched Soul Soil", "block.createnuclear.enriched_soul_soil.tooltip.summary": "The _only_ block who create _enriched fire_.Can used to _craft_ enriched campfire or just to make a _green fire_.", "block.createnuclear.enriching_campfire": "Enriching Campfire", "block.createnuclear.enriching_fire": "Enriching Fire", - "block.createnuclear.lead_block": "Lead Block", - "block.createnuclear.lead_ore": "Lead Ore", + "block.createnuclear.layered_autunite": "Layered Autunite", + "block.createnuclear.lead_block": "鉛塊", + "block.createnuclear.lead_ore": "鉛礦", + "block.createnuclear.polished_cut_autunite": "Polished Cut Autunite", + "block.createnuclear.polished_cut_autunite_slab": "Polished Cut Autunite Slab", + "block.createnuclear.polished_cut_autunite_stairs": "Polished Cut Autunite Stairs", + "block.createnuclear.polished_cut_autunite_wall": "Polished Cut Autunite Wall", "block.createnuclear.raw_lead_block": "Raw Lead Block", "block.createnuclear.raw_uranium_block": "Raw Uranium Block", - "block.createnuclear.reactor_casing": "Reactor Casing", + "block.createnuclear.reactor_casing": "反應爐機殼", "block.createnuclear.reactor_casing.tooltip.summary": "_Block_ used to build the _reactor_", "block.createnuclear.reactor_controller": "Reactor Controller", "block.createnuclear.reactor_controller.tooltip.behaviour1": "it handles all the calculations needed to _generate energy_, it need a _reactor blueprint_ with a patern to work", - "block.createnuclear.reactor_controller.tooltip.condition1": "When the reactor is assembled", + "block.createnuclear.reactor_controller.tooltip.condition1": "當反應爐組裝完成時", "block.createnuclear.reactor_controller.tooltip.summary": " The _Reactor Controller_ is the _most important_ block for operating the reactor", - "block.createnuclear.reactor_cooler": "Reactor Cooler", + "block.createnuclear.reactor_cooler": "反應爐冷卻器", "block.createnuclear.reactor_cooler.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_core": "Reactor Core", + "block.createnuclear.reactor_core": "反應爐核心", "block.createnuclear.reactor_core.tooltip.summary": "_Block_ used to build the _reactor_", "block.createnuclear.reactor_frame": "Reactor Frame", "block.createnuclear.reactor_frame.tooltip.summary": "_Block_ used to build the _reactor_", - "block.createnuclear.reactor_input": "Reactor Input", + "block.createnuclear.reactor_input": "反應爐輸入口", "block.createnuclear.reactor_input.tooltip.behaviour1": "Insert _unranium_ and _graphene_ rods in large quantities to power _the reactor_ ", - "block.createnuclear.reactor_input.tooltip.condition1": "When the Reactor is assembled", + "block.createnuclear.reactor_input.tooltip.condition1": "當反應爐好之後", "block.createnuclear.reactor_input.tooltip.summary": "_The Reactor Input_ is a _block_ that can be used to insert _Uranium_ and _Graphene_ rods into the _Reactor_", - "block.createnuclear.reactor_output": "Reactor Output", + "block.createnuclear.reactor_output": "反應爐輸出口", "block.createnuclear.reactor_output.tooltip.behaviour1": "You can _extract the energy_ produce by the reactor by attaching _shaft_ to the _reactor output_", - "block.createnuclear.reactor_output.tooltip.condition1": "When the reactor produce energy", + "block.createnuclear.reactor_output.tooltip.condition1": "當反應爐產生能量時", "block.createnuclear.reactor_output.tooltip.summary": "_The Reactor Output_ is a _block_ that can be used to extract the mechanical energy generated by the _Reactor_", - "block.createnuclear.reinforced_glass": "Reinforced Glass", - "block.createnuclear.steel_block": "Steel Block", - "block.createnuclear.uranium": "Uranium", - "block.createnuclear.uranium_ore": "Uranium Ore", + "block.createnuclear.reinforced_glass": "強化玻璃", + "block.createnuclear.small_autunite_brick_slab": "Small Autunite Brick Slab", + "block.createnuclear.small_autunite_brick_stairs": "Small Autunite Brick Stairs", + "block.createnuclear.small_autunite_brick_wall": "Small Autunite Brick Wall", + "block.createnuclear.small_autunite_bricks": "Small Autunite Bricks", + "block.createnuclear.steel_block": "鋼塊", + "block.createnuclear.uranium": "鈾", + "block.createnuclear.uranium_ore": "鈾礦", "create.recipe.fan_enriched.fan": "Fan behind Enriched Fire", - "createnuclear.enriched.fan.recipe": "Bulk Enriched", + "createnuclear.enriched.fan.recipe": "批量濃縮", "createnuclear.generic.unit.heat": "Q", "createnuclear.gui.reactor_controller.info_header.title": "Heat value", - "createnuclear.ponder.reactor.header": "Construction of the reactor", - "createnuclear.ponder.reactor.text_1": "Floor 1", - "createnuclear.ponder.reactor.text_10": "Floor 7", + "createnuclear.ponder.reactor.header": "建造反應爐", + "createnuclear.ponder.reactor.text_1": "第一層", + "createnuclear.ponder.reactor.text_10": "第七層", "createnuclear.ponder.reactor.text_2": "Reactor Output: This is the block that outputs the energy (SU) generated by the reactor.", - "createnuclear.ponder.reactor.text_3": "Floor 2", + "createnuclear.ponder.reactor.text_3": "第二層", "createnuclear.ponder.reactor.text_4": "Floor 3", "createnuclear.ponder.reactor.text_5": "Floor 4", "createnuclear.ponder.reactor.text_6": "Reactor Input: A block that stores uranium and graphite rods to operate the reactor.", @@ -104,15 +129,15 @@ "createnuclear.ponder.reactor_blueprint.text_1": "Reactor Blueprint: the most important element; it allows the reactor to be configured according to specific models.", "createnuclear.tooltip.heatLevel": "Heat Level", "createnuclear.tooltip.heatLevel.caution": "Caution", - "createnuclear.tooltip.heatLevel.danger": "Danger", - "createnuclear.tooltip.heatLevel.none": "None", - "createnuclear.tooltip.heatLevel.safety": "Safety", - "createnuclear.tooltip.heatLevel.warning": "Warning", - "createnuclear.tooltip.item.graphene.rod": "Graphite Rod: ", - "createnuclear.tooltip.item.unknown.rod": "Unknown: ", - "createnuclear.tooltip.item.uranium.rod": "Uranium Rod: ", - "effect.createnuclear.radiation": "Radiation", - "emi.category.createnuclear.fan_enriched": "Bulk Enriched", + "createnuclear.tooltip.heatLevel.danger": "危險", + "createnuclear.tooltip.heatLevel.none": "無", + "createnuclear.tooltip.heatLevel.safety": "安全", + "createnuclear.tooltip.heatLevel.warning": "警告", + "createnuclear.tooltip.item.graphene.rod": "石墨棒: ", + "createnuclear.tooltip.item.unknown.rod": "未知: ", + "createnuclear.tooltip.item.uranium.rod": "鈾棒: ", + "effect.createnuclear.radiation": "輻射", + "emi.category.createnuclear.fan_enriched": "批量濃縮", "entity.createnuclear.irradiated_cat": "Irradiated Cat", "entity.createnuclear.irradiated_chicken": "Irradiated Chicken", "entity.createnuclear.irradiated_wolf": "Irradiated Wolf", @@ -188,7 +213,7 @@ "item.createnuclear.reactor_blueprint_item.tooltip.behaviour2": "_Right_ click on the reactor controller to open it.", "item.createnuclear.reactor_blueprint_item.tooltip.condition1": "Filled with graphite and uranium rods", "item.createnuclear.reactor_blueprint_item.tooltip.condition2": "The reactor must be assembled", - "item.createnuclear.reactor_blueprint_item.tooltip.summary": "It allows you to configure your own patern.", + "item.createnuclear.reactor_blueprint_item.tooltip.summary": "允許您配置反應爐同時反應多少鈾棒。", "item.createnuclear.red_anti_radiation_chestplate": "Red Anti Radiation Chestplate", "item.createnuclear.red_anti_radiation_helmet": "Red Anti Radiation Helmet", "item.createnuclear.red_anti_radiation_leggings": "Red Anti Radiation Leggings", @@ -223,6 +248,7 @@ "item.minecraft.tipped_arrow.effect.potion_of_radiation_augment_1": "Arrow of Radiation", "itemGroup.createnuclear.main": "Create Nuclear", "itemgroup.uranium": "Uranium Group", + "overlay.event_message": "⚠ Warning ⚠ %s timer", "reactor.info.assembled.creator": "Reactor has been assembled", "reactor.info.assembled.destroyer": "Reactor has been disassembled", "reactor.info.assembled.none": "Reactor is not assembled", @@ -230,16 +256,16 @@ "reactor.item.gui.name": "Config Pattern", "reactor.update.casing.input": "Update the casing in input", "tag.fluid.c.uranium": "Fluid Uranium", - "tag.item.c.coal_dusts": "Coal Dusts", - "tag.item.c.ingots.lead": "Tags Lead ingots", - "tag.item.c.ingots.steel": "Tags Steel ingots", - "tag.item.c.lead_ingots": "Lead ingots", - "tag.item.c.lead_nuggets": "Lead nuggets", - "tag.item.c.uranium": "Fluid Uranium", - "tag.item.createnuclear.cloth": "Cloth", - "tag.item.createnuclear.cooler": "Cooler", - "tag.item.createnuclear.fuel": "Fuel", - "tag.item.minecraft.all.campfires": "All Campfires", - "tag.item.minecraft.campfires": "Campfires", - "tag.item.trinkets.head.face": "Head Face" + "tag.item.c.coal_dusts": "碳粉", + "tag.item.c.ingots.lead": "鉛錠", + "tag.item.c.ingots.steel": "鋼錠", + "tag.item.c.lead_ingots": "鉛錠", + "tag.item.c.lead_nuggets": "鉛粒", + "tag.item.c.uranium": "液態鈾", + "tag.item.createnuclear.cloth": "布料", + "tag.item.createnuclear.cooler": "冷卻裝置", + "tag.item.createnuclear.fuel": "燃料", + "tag.item.minecraft.all.campfires": "所有營火", + "tag.item.minecraft.campfires": "營火", + "tag.item.trinkets.head.face": "頭顱" } \ No newline at end of file diff --git a/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/slab/autunite_cut_slab.png b/src/main/resources/assets/createnuclear/textures/block/palettes/stone_types/slab/autunite_cut_slab.png index b9f544fb3a6e705f173515282b657a40df3c6734..2914c808a7ee2fcc23ffa0b8ecad81aba4065962 100644 GIT binary patch delta 309 zcmbQj@`q`H1SbbG0|SGGE`RVuMTIDv0G|-o$+Ob>XC(JdNsLHPO)t<*%GOHF(+-YO zOv%+Ms4@?YR?aCk$}G|^seIpn|!@__qFeqKv}-j2+uTMUj{88n*)eJ;8O5pAldEd;uxY4?AsU4ci4c( zIdl4y_9sgo|0~yhV&d>qQRqSyLqL`;>vXvlOI%J(Io5Won$5Uy!mNhf?e~wWubP;B zQKx)KXY%edY&XwJ@fn{MZa%1&J>%^)KlK9PKZO&V-879hFs>66T;#sysJhp;;v=?U z8y$pBp3ul2xWHAE+-(e7DJf6QI1t=&{;u=vBoS#-wo>-L15RjOeSEA?V8lqsTXQ*fN zdk^zApqg!|5uRzDo>~kXKn^Q|6eBAGBar0<#L`eU$h{hj%wTaQAls0U3GAULAUm_2 z1uUKgWP?Bg5QFr?Xf#V1fI%>Uoq+|Y!obMbfN=rDRFDqV1rU>_0NEhG1T=>UtTM>b z0?2~uGBhv%$-cb$&EnLpoGKu5f~SjPh{R>tGaI=M8Hl(&+;34T@`**u!aHY3XvS#y|w-geFG4wkAokUKqH{an^LB{Ts5a?Onu