From 43e127bf753a40ed4c53f893c9c28aa4402d5972 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Wed, 7 Jul 2021 22:56:14 +0300 Subject: [PATCH] New ores recipes & smelter light fix --- .../ru/betterend/blocks/AuroraCrystalBlock.java | 3 ++- .../ru/betterend/blocks/EndStoneSmelter.java | 5 ++--- .../betterend/blocks/complex/MetalMaterial.java | 3 ++- .../ru/betterend/item/tool/EndHammerItem.java | 5 +++-- .../ru/betterend/recipe/AlloyingRecipes.java | 12 ++++++++++-- .../betterend/recipe/builders/AnvilRecipe.java | 5 +++-- .../java/ru/betterend/registry/EndTags.java | 17 +++++++++++------ 7 files changed, 33 insertions(+), 17 deletions(-) diff --git a/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java b/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java index 22473aa7..1d8a2e8e 100644 --- a/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java +++ b/src/main/java/ru/betterend/blocks/AuroraCrystalBlock.java @@ -20,6 +20,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Material; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; +import ru.bclib.api.TagAPI; import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.interfaces.IColorProvider; import ru.bclib.interfaces.IRenderTyped; @@ -36,7 +37,7 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements IRenderTyp public AuroraCrystalBlock() { super(FabricBlockSettings.of(Material.GLASS) .breakByTool(FabricToolTags.PICKAXES) - .breakByTool(EndTags.HAMMERS) + .breakByTool(TagAPI.HAMMERS) .hardness(1F) .resistance(1F) .luminance(15) diff --git a/src/main/java/ru/betterend/blocks/EndStoneSmelter.java b/src/main/java/ru/betterend/blocks/EndStoneSmelter.java index 8a0b9b0d..071fba3e 100644 --- a/src/main/java/ru/betterend/blocks/EndStoneSmelter.java +++ b/src/main/java/ru/betterend/blocks/EndStoneSmelter.java @@ -45,13 +45,12 @@ public class EndStoneSmelter extends BaseBlockWithEntity { public EndStoneSmelter() { super(FabricBlockSettings.of(Material.STONE, MaterialColor.COLOR_GRAY) + .luminance(state -> state.getValue(LIT) ? 15 : 0) .hardness(4F) .resistance(100F) .requiresCorrectToolForDrops() .sound(SoundType.STONE)); - registerDefaultState(this.stateDefinition.any() - .setValue(FACING, Direction.NORTH) - .setValue(LIT, false)); + registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH).setValue(LIT, false)); } public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { diff --git a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java index 92c45505..1fdb2f5f 100644 --- a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.MaterialColor; +import ru.bclib.api.TagAPI; import ru.bclib.blocks.BaseBlock; import ru.bclib.blocks.BaseChainBlock; import ru.bclib.blocks.BaseDoorBlock; @@ -213,6 +214,6 @@ public class MetalMaterial { TagHelper.addTag(BlockTags.ANVIL, anvilBlock); TagHelper.addTag(BlockTags.BEACON_BASE_BLOCKS, block); TagHelper.addTag(ItemTags.BEACON_PAYMENT_ITEMS, ingot); - TagHelper.addTag(EndTags.DRAGON_IMMUNE, ore, bars); + TagHelper.addTag(TagAPI.DRAGON_IMMUNE, ore, bars); } } \ No newline at end of file diff --git a/src/main/java/ru/betterend/item/tool/EndHammerItem.java b/src/main/java/ru/betterend/item/tool/EndHammerItem.java index 93e21ace..9ec7c149 100644 --- a/src/main/java/ru/betterend/item/tool/EndHammerItem.java +++ b/src/main/java/ru/betterend/item/tool/EndHammerItem.java @@ -31,6 +31,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Material; +import ru.bclib.api.TagAPI; import ru.bclib.client.models.ItemModelProvider; import ru.bclib.client.models.ModelsHelper; import ru.betterend.registry.EndTags; @@ -96,7 +97,7 @@ public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, I @Override public float getMiningSpeedMultiplier(Tag tag, BlockState state, ItemStack stack, LivingEntity user) { - if (tag.equals(EndTags.HAMMERS)) { + if (tag.equals(TagAPI.HAMMERS)) { return this.getDestroySpeed(stack, state); } return 1.0F; @@ -104,7 +105,7 @@ public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, I @Override public int getMiningLevel(Tag tag, BlockState state, ItemStack stack, LivingEntity user) { - if (tag.equals(EndTags.HAMMERS)) { + if (tag.equals(TagAPI.HAMMERS)) { return this.getTier().getLevel(); } return 0; diff --git a/src/main/java/ru/betterend/recipe/AlloyingRecipes.java b/src/main/java/ru/betterend/recipe/AlloyingRecipes.java index 9d6dfc88..404a8aa4 100644 --- a/src/main/java/ru/betterend/recipe/AlloyingRecipes.java +++ b/src/main/java/ru/betterend/recipe/AlloyingRecipes.java @@ -1,23 +1,31 @@ package ru.betterend.recipe; +import net.minecraft.tags.ItemTags; import net.minecraft.world.item.Items; +import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Blocks; import ru.betterend.recipe.builders.AlloyingRecipe; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; +import ru.betterend.registry.EndTags; public class AlloyingRecipes { public static void register() { AlloyingRecipe.Builder.create("additional_iron") - .setInput(Blocks.IRON_ORE, Blocks.IRON_ORE) + .setInput(EndTags.ALLOYING_IRON, EndTags.ALLOYING_IRON) .setOutput(Items.IRON_INGOT, 3) .setExpiriense(2.1F) .build(); AlloyingRecipe.Builder.create("additional_gold") - .setInput(Blocks.GOLD_ORE, Blocks.GOLD_ORE) + .setInput(EndTags.ALLOYING_GOLD, EndTags.ALLOYING_GOLD) .setOutput(Items.GOLD_INGOT, 3) .setExpiriense(3F) .build(); + AlloyingRecipe.Builder.create("additional_gold") + .setInput(EndTags.ALLOYING_COPPER, EndTags.ALLOYING_COPPER) + .setOutput(Items.COPPER_INGOT, 3) + .setExpiriense(3F) + .build(); AlloyingRecipe.Builder.create("additional_netherite") .setInput(Blocks.ANCIENT_DEBRIS, Blocks.ANCIENT_DEBRIS) .setOutput(Items.NETHERITE_SCRAP, 3) diff --git a/src/main/java/ru/betterend/recipe/builders/AnvilRecipe.java b/src/main/java/ru/betterend/recipe/builders/AnvilRecipe.java index 0bee9b39..887e5d6a 100644 --- a/src/main/java/ru/betterend/recipe/builders/AnvilRecipe.java +++ b/src/main/java/ru/betterend/recipe/builders/AnvilRecipe.java @@ -26,6 +26,7 @@ import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.Level; +import ru.bclib.api.TagAPI; import ru.bclib.recipes.BCLRecipeManager; import ru.betterend.BetterEnd; import ru.betterend.config.Configs; @@ -98,7 +99,7 @@ public class AnvilRecipe implements Recipe, BetterEndRecipe { public boolean matches(Container craftingInventory) { ItemStack hammer = craftingInventory.getItem(1); - if (hammer.isEmpty() || !EndTags.HAMMERS.contains(hammer.getItem())) { + if (hammer.isEmpty() || !TagAPI.HAMMERS.contains(hammer.getItem())) { return false; } ItemStack material = craftingInventory.getItem(0); @@ -124,7 +125,7 @@ public class AnvilRecipe implements Recipe, BetterEndRecipe { @Override public NonNullList getIngredients() { NonNullList defaultedList = NonNullList.create(); - defaultedList.add(Ingredient.of(EndTags.HAMMERS.getValues().stream().filter(hammer -> + defaultedList.add(Ingredient.of(TagAPI.HAMMERS.getValues().stream().filter(hammer -> ((TieredItem) hammer).getTier().getLevel() >= toolLevel).map(ItemStack::new))); defaultedList.add(input); diff --git a/src/main/java/ru/betterend/registry/EndTags.java b/src/main/java/ru/betterend/registry/EndTags.java index bcae1aff..d3a9a6dc 100644 --- a/src/main/java/ru/betterend/registry/EndTags.java +++ b/src/main/java/ru/betterend/registry/EndTags.java @@ -11,6 +11,7 @@ import net.minecraft.tags.ItemTags; import net.minecraft.tags.Tag; import net.minecraft.world.food.FoodProperties; import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biome.BiomeCategory; import net.minecraft.world.level.block.Block; @@ -35,10 +36,10 @@ public class EndTags { // Block Tags public static final Tag.Named PEDESTALS = TagAPI.makeBlockTag(BetterEnd.MOD_ID, "pedestal"); public static final Tag.Named END_STONES = TagAPI.makeCommonBlockTag("end_stones"); - public static final Tag.Named DRAGON_IMMUNE = TagAPI.getMCBlockTag("dragon_immune"); - - // Item Tags - public final static Tag.Named HAMMERS = TagAPI.makeItemTag("fabric", "hammers"); + + public static final Tag.Named ALLOYING_IRON = TagAPI.makeItemTag(BetterEnd.MOD_ID, "alloying_iron"); + public static final Tag.Named ALLOYING_GOLD = TagAPI.makeItemTag(BetterEnd.MOD_ID, "alloying_gold"); + public static final Tag.Named ALLOYING_COPPER = TagAPI.makeItemTag(BetterEnd.MOD_ID, "alloying_copper"); public static void register() { TagAPI.addEndGround(EndBlocks.THALLASIUM.ore); @@ -84,7 +85,7 @@ public class EndTags { hammers.add(item); } }); - ToolManagerImpl.tag(HAMMERS).register(new ModdedToolsVanillaBlocksToolHandler(hammers)); + ToolManagerImpl.tag(TagAPI.HAMMERS).register(new ModdedToolsVanillaBlocksToolHandler(hammers)); TagHelper.addTag( TagAPI.GEN_TERRAIN, @@ -101,13 +102,17 @@ public class EndTags { TagHelper.addTag(BlockTags.ANVIL, EndBlocks.AETERNIUM_ANVIL); TagHelper.addTag(BlockTags.BEACON_BASE_BLOCKS, EndBlocks.AETERNIUM_BLOCK); TagHelper.addTag(ItemTags.BEACON_PAYMENT_ITEMS, EndItems.AETERNIUM_INGOT); - TagHelper.addTag(EndTags.DRAGON_IMMUNE, + TagHelper.addTag(TagAPI.DRAGON_IMMUNE, EndBlocks.ENDER_ORE, EndBlocks.ETERNAL_PEDESTAL, EndBlocks.FLAVOLITE_RUNED_ETERNAL, EndBlocks.FLAVOLITE_RUNED ); TagHelper.addTag(TagAPI.IRON_INGOTS, EndBlocks.THALLASIUM.ingot); + + TagHelper.addTag(ALLOYING_IRON, Items.IRON_ORE, Items.DEEPSLATE_IRON_ORE, Items.RAW_IRON); + TagHelper.addTag(ALLOYING_GOLD, Items.GOLD_ORE, Items.DEEPSLATE_GOLD_ORE, Items.RAW_GOLD); + TagHelper.addTag(ALLOYING_COPPER, Items.COPPER_ORE, Items.DEEPSLATE_COPPER_ORE, Items.RAW_COPPER); } public static void addTerrainTags(Registry biomeRegistry) {