Metal unification (WIP)

This commit is contained in:
paulevsGitch 2021-01-30 11:53:02 +03:00
parent 7b1c9ec0fb
commit e6c7b48802
10 changed files with 105 additions and 184 deletions

View file

@ -4,7 +4,11 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.MaterialColor; import net.minecraft.block.MaterialColor;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.Item.Settings;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.item.ToolMaterial; import net.minecraft.item.ToolMaterial;
import net.minecraft.sound.BlockSoundGroup; import net.minecraft.sound.BlockSoundGroup;
@ -22,10 +26,12 @@ import ru.betterend.blocks.basis.EndStairsBlock;
import ru.betterend.blocks.basis.EndTrapdoorBlock; import ru.betterend.blocks.basis.EndTrapdoorBlock;
import ru.betterend.blocks.basis.EndWoodenPlateBlock; import ru.betterend.blocks.basis.EndWoodenPlateBlock;
import ru.betterend.item.EndAxeItem; import ru.betterend.item.EndAxeItem;
import ru.betterend.item.EndHammerItem;
import ru.betterend.item.EndHoeItem; import ru.betterend.item.EndHoeItem;
import ru.betterend.item.EndPickaxeItem; import ru.betterend.item.EndPickaxeItem;
import ru.betterend.item.EndShovelItem; import ru.betterend.item.EndShovelItem;
import ru.betterend.item.EndSwordItem; import ru.betterend.item.EndSwordItem;
import ru.betterend.item.PatternedItem;
import ru.betterend.recipe.builders.AlloyingRecipe; import ru.betterend.recipe.builders.AlloyingRecipe;
import ru.betterend.recipe.builders.FurnaceRecipe; import ru.betterend.recipe.builders.FurnaceRecipe;
import ru.betterend.recipe.builders.GridRecipe; import ru.betterend.recipe.builders.GridRecipe;
@ -57,37 +63,66 @@ public class MetalMaterial {
public final Item pickaxe; public final Item pickaxe;
public final Item axe; public final Item axe;
public final Item hoe; public final Item hoe;
public final Item hammer;
public MetalMaterial(String name, MaterialColor color, ToolMaterial material) { public final Item helmet;
FabricBlockSettings materialBlock = FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color); public final Item chestplate;
FabricBlockSettings lantern = FabricBlockSettings.copyOf(materialBlock).sounds(BlockSoundGroup.LANTERN).hardness(1).resistance(1).luminance(15); public final Item leggings;
public final Item boots;
ore = EndBlocks.registerBlock(name + "_ore", new BlockBase(FabricBlockSettings.copyOf(Blocks.END_STONE))); public static MetalMaterial makeNormal(String name, MaterialColor color, ToolMaterial material, ArmorMaterial armor) {
block = EndBlocks.registerBlock(name + "_block", new BlockBase(materialBlock)); return new MetalMaterial(name, true, FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color), EndItems.makeItemSettings(), material, armor);
tile = EndBlocks.registerBlock(name + "_tile", new BlockBase(materialBlock)); }
public static MetalMaterial makeNormal(String name, MaterialColor color, float hardness, float resistance, ToolMaterial material, ArmorMaterial armor) {
return new MetalMaterial(name, true, FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color).hardness(hardness).resistance(resistance), EndItems.makeItemSettings(), material, armor);
}
public static MetalMaterial makeOreless(String name, MaterialColor color, ToolMaterial material, ArmorMaterial armor) {
return new MetalMaterial(name, false, FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color), EndItems.makeItemSettings(), material, armor);
}
public static MetalMaterial makeOreless(String name, MaterialColor color, float hardness, float resistance, ToolMaterial material, ArmorMaterial armor) {
return new MetalMaterial(name, false, FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color).hardness(hardness).resistance(resistance), EndItems.makeItemSettings(), material, armor);
}
private MetalMaterial(String name, boolean hasOre, FabricBlockSettings settings, Settings itemSettings, ToolMaterial material, ArmorMaterial armor) {
FabricBlockSettings lantern = FabricBlockSettings.copyOf(settings).sounds(BlockSoundGroup.LANTERN).hardness(1).resistance(1).luminance(15);
ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BlockBase(FabricBlockSettings.copyOf(Blocks.END_STONE))) : null;
block = EndBlocks.registerBlock(name + "_block", new BlockBase(settings));
tile = EndBlocks.registerBlock(name + "_tile", new BlockBase(settings));
stairs = EndBlocks.registerBlock(name + "_stairs", new EndStairsBlock(tile)); stairs = EndBlocks.registerBlock(name + "_stairs", new EndStairsBlock(tile));
slab = EndBlocks.registerBlock(name + "_slab", new EndSlabBlock(tile)); slab = EndBlocks.registerBlock(name + "_slab", new EndSlabBlock(tile));
door = EndBlocks.registerBlock(name + "_door", new EndDoorBlock(block)); door = EndBlocks.registerBlock(name + "_door", new EndDoorBlock(block));
trapdoor = EndBlocks.registerBlock(name + "_trapdoor", new EndTrapdoorBlock(block)); trapdoor = EndBlocks.registerBlock(name + "_trapdoor", new EndTrapdoorBlock(block));
anvil = EndBlocks.registerBlock(name + "_anvil", new EndAnvilBlock(color)); anvil = EndBlocks.registerBlock(name + "_anvil", new EndAnvilBlock(block.getDefaultMaterialColor()));
bars = EndBlocks.registerBlock(name + "_bars", new EndMetalPaneBlock(block)); bars = EndBlocks.registerBlock(name + "_bars", new EndMetalPaneBlock(block));
chain = EndBlocks.registerBlock(name + "_chain", new EndChainBlock(color)); chain = EndBlocks.registerBlock(name + "_chain", new EndChainBlock(block.getDefaultMaterialColor()));
plate = EndBlocks.registerBlock(name + "_plate", new EndWoodenPlateBlock(block)); plate = EndBlocks.registerBlock(name + "_plate", new EndWoodenPlateBlock(block));
chandelier = EndBlocks.registerBlock(name + "_chandelier", new ChandelierBlock(block)); chandelier = EndBlocks.registerBlock(name + "_chandelier", new ChandelierBlock(block));
bulb_lantern = EndBlocks.registerBlock(name + "_bulb_lantern", new BulbVineLanternBlock(lantern)); bulb_lantern = EndBlocks.registerBlock(name + "_bulb_lantern", new BulbVineLanternBlock(lantern));
bulb_lantern_colored = new ColoredMaterial(BulbVineLanternColoredBlock::new, bulb_lantern, false); bulb_lantern_colored = new ColoredMaterial(BulbVineLanternColoredBlock::new, bulb_lantern, false);
nugget = EndItems.registerItem(name + "_nugget"); nugget = EndItems.registerItem(name + "_nugget", new PatternedItem(itemSettings));
ingot = EndItems.registerItem(name + "_ingot"); ingot = EndItems.registerItem(name + "_ingot", new PatternedItem(itemSettings));
shovel = EndItems.registerTool(name + "_shovel", new EndShovelItem(material, 1.5F, -3.0F, EndItems.makeItemSettings())); shovel = EndItems.registerTool(name + "_shovel", new EndShovelItem(material, 1.5F, -3.0F, itemSettings));
sword = EndItems.registerTool(name + "_sword", new EndSwordItem(material, 3, -2.4F, EndItems.makeItemSettings())); sword = EndItems.registerTool(name + "_sword", new EndSwordItem(material, 3, -2.4F, itemSettings));
pickaxe = EndItems.registerTool(name + "_pickaxe", new EndPickaxeItem(material, 1, -2.8F, EndItems.makeItemSettings())); pickaxe = EndItems.registerTool(name + "_pickaxe", new EndPickaxeItem(material, 1, -2.8F, itemSettings));
axe = EndItems.registerTool(name + "_axe", new EndAxeItem(material, 6.0F, -3.0F, EndItems.makeItemSettings())); axe = EndItems.registerTool(name + "_axe", new EndAxeItem(material, 6.0F, -3.0F, itemSettings));
hoe = EndItems.registerTool(name + "_hoe", new EndHoeItem(material, -3, 0.0F, EndItems.makeItemSettings())); hoe = EndItems.registerTool(name + "_hoe", new EndHoeItem(material, -3, 0.0F, itemSettings));
hammer = EndItems.registerTool(name + "_hammer", new EndHammerItem(material, 5.0F, -3.2F, 0.3D, itemSettings));
helmet = EndItems.registerItem(name + "_helmet", new ArmorItem(armor, EquipmentSlot.HEAD, itemSettings));
chestplate = EndItems.registerItem(name + "_chestplate", new ArmorItem(armor, EquipmentSlot.CHEST, itemSettings));
leggings = EndItems.registerItem(name + "_leggings", new ArmorItem(armor, EquipmentSlot.LEGS, itemSettings));
boots = EndItems.registerItem(name + "_boots", new ArmorItem(armor, EquipmentSlot.FEET, itemSettings));
if (hasOre) {
FurnaceRecipe.make("thallasium_ingot_furnace", ore, ingot).build(true); FurnaceRecipe.make("thallasium_ingot_furnace", ore, ingot).build(true);
AlloyingRecipe.Builder.create("thallasium_ingot").setInput(ore, ore).setOutput(ingot, 3).setExpiriense(2.1F).build(); AlloyingRecipe.Builder.create("thallasium_ingot").setInput(ore, ore).setOutput(ingot, 3).setExpiriense(2.1F).build();
}
GridRecipe.make(name + "_ingot_from_nuggets", ingot).setShape("###", "###", "###").addMaterial('#', nugget).setGroup("end_metal_ingots_nug").build(); GridRecipe.make(name + "_ingot_from_nuggets", ingot).setShape("###", "###", "###").addMaterial('#', nugget).setGroup("end_metal_ingots_nug").build();
GridRecipe.make(name + "_block", block).setShape("###", "###", "###").addMaterial('#', ingot).setGroup("end_metal_blocks").build(); GridRecipe.make(name + "_block", block).setShape("###", "###", "###").addMaterial('#', ingot).setGroup("end_metal_blocks").build();
@ -104,12 +139,13 @@ public class MetalMaterial {
GridRecipe.make(name + "_anvil", anvil).setOutputCount(3).setShape("###", " I ", "III").addMaterial('#', block, tile).addMaterial('I', ingot).setGroup("end_metal_anvil").build(); GridRecipe.make(name + "_anvil", anvil).setOutputCount(3).setShape("###", " I ", "III").addMaterial('#', block, tile).addMaterial('I', ingot).setGroup("end_metal_anvil").build();
GridRecipe.make(name + "bulb_lantern", bulb_lantern).setShape("C", "I", "#").addMaterial('C', chain).addMaterial('I', ingot).addMaterial('#', EndItems.GLOWING_BULB).build(); GridRecipe.make(name + "bulb_lantern", bulb_lantern).setShape("C", "I", "#").addMaterial('C', chain).addMaterial('I', ingot).addMaterial('#', EndItems.GLOWING_BULB).build();
GridRecipe.make(name + "_axe", axe).setShape("##", "#I", " I").addMaterial('#', ingot).addMaterial('I', Items.STICK).build(); GridRecipe.make(name + "_axe", axe).setShape("##", "#I", " I").addMaterial('#', ingot).addMaterial('I', Items.STICK).setGroup("end_metal_axes").build();
GridRecipe.make(name + "_hoe", hoe).setShape("##", " I", " I").addMaterial('#', ingot).addMaterial('I', Items.STICK).build(); GridRecipe.make(name + "_hoe", hoe).setShape("##", " I", " I").addMaterial('#', ingot).addMaterial('I', Items.STICK).setGroup("end_metal_hoes").build();
GridRecipe.make(name + "_pickaxe", pickaxe).setShape("###", " I ", " I ").addMaterial('#', ingot).addMaterial('I', Items.STICK).build(); GridRecipe.make(name + "_pickaxe", pickaxe).setShape("###", " I ", " I ").addMaterial('#', ingot).addMaterial('I', Items.STICK).setGroup("end_metal_picks").build();
GridRecipe.make(name + "_sword", sword).setShape("#", "#", "I").addMaterial('#', ingot).addMaterial('I', Items.STICK).build(); GridRecipe.make(name + "_sword", sword).setShape("#", "#", "I").addMaterial('#', ingot).addMaterial('I', Items.STICK).setGroup("end_metal_swords").build();
GridRecipe.make(name + "_chandelier", chandelier).setShape("I#I", " # ").addMaterial('#', ingot).addMaterial('I', EndItems.LUMECORN_ROD).setGroup("end_metal_chandelier").build(); GridRecipe.make(name + "_chandelier", chandelier).setShape("I#I", " # ").addMaterial('#', ingot).addMaterial('I', EndItems.LUMECORN_ROD).setGroup("end_metal_chandelier").build();
GridRecipe.make(name + "_hammer", hammer).setShape("III", "ISI", " S ").addMaterial('I', ingot).addMaterial('S', Items.STICK).setGroup("end_metal_hammers").build();
FurnaceRecipe.make(name + "_axe_ingot", axe, nugget).build(true); FurnaceRecipe.make(name + "_axe_ingot", axe, nugget).build(true);
FurnaceRecipe.make(name + "_hoe_ingot", hoe, nugget).build(true); FurnaceRecipe.make(name + "_hoe_ingot", hoe, nugget).build(true);

View file

@ -10,17 +10,21 @@ import net.minecraft.recipe.Ingredient;
import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvent;
import net.minecraft.sound.SoundEvents; import net.minecraft.sound.SoundEvents;
import net.minecraft.util.Lazy; import net.minecraft.util.Lazy;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndItems; import ru.betterend.registry.EndItems;
public enum EndArmorMaterial implements ArmorMaterial { public enum EndArmorMaterial implements ArmorMaterial {
THALLASIUM("thallasium", 26, new int[] { 3, 6, 7, 3 }, 14, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 1.0F, 0.05F, () -> {
return Ingredient.ofItems(EndBlocks.THALLASIUM.ingot);
}),
TERMINITE("terminite", 26, new int[] { 3, 6, 7, 3 }, 14, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 1.0F, 0.05F, () -> { TERMINITE("terminite", 26, new int[] { 3, 6, 7, 3 }, 14, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 1.0F, 0.05F, () -> {
return Ingredient.ofItems(EndItems.TERMINITE_INGOT); return Ingredient.ofItems(EndBlocks.TERMINITE.ingot);
}), }),
AETERNIUM("aeternium", 40, new int[] { 4, 7, 9, 4 }, 18, SoundEvents.ITEM_ARMOR_EQUIP_NETHERITE, 3.5F, 0.2F, () -> { AETERNIUM("aeternium", 40, new int[] { 4, 7, 9, 4 }, 18, SoundEvents.ITEM_ARMOR_EQUIP_NETHERITE, 3.5F, 0.2F, () -> {
return Ingredient.ofItems(EndItems.AETERNIUM_INGOT); return Ingredient.ofItems(EndItems.AETERNIUM_INGOT);
}), }),
CRYSTALITE("crystalite", 30, new int[] { 3, 6, 8, 3 }, 24, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 1.2F, 0.1F, () -> { CRYSTALITE("crystalite", 30, new int[] { 3, 6, 8, 3 }, 24, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 1.2F, 0.1F, () -> {
return Ingredient.ofItems(EndItems.TERMINITE_INGOT); return Ingredient.ofItems(EndBlocks.TERMINITE.ingot);
}); });
private static final int[] BASE_DURABILITY = new int[] { 13, 15, 16, 11 }; private static final int[] BASE_DURABILITY = new int[] { 13, 15, 16, 11 };

View file

@ -5,14 +5,15 @@ import java.util.function.Supplier;
import net.minecraft.item.ToolMaterial; import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.Ingredient;
import net.minecraft.util.Lazy; import net.minecraft.util.Lazy;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndItems; import ru.betterend.registry.EndItems;
public enum EndToolMaterial implements ToolMaterial { public enum EndToolMaterial implements ToolMaterial {
THALLASIUM(2, 320, 7.0F, 1.5F, 12, () -> { THALLASIUM(2, 320, 7.0F, 1.5F, 12, () -> {
return Ingredient.ofItems(EndItems.AETERNIUM_INGOT); return Ingredient.ofItems(EndBlocks.THALLASIUM.ingot);
}), }),
TERMINITE(3, 1230, 8.5F, 3.0F, 14, () -> { TERMINITE(3, 1230, 8.5F, 3.0F, 14, () -> {
return Ingredient.ofItems(EndItems.TERMINITE_INGOT); return Ingredient.ofItems(EndBlocks.TERMINITE.ingot);
}), }),
AETERNIUM(5, 2196, 10.0F, 4.5F, 18, () -> { AETERNIUM(5, 2196, 10.0F, 4.5F, 18, () -> {
return Ingredient.ofItems(EndItems.AETERNIUM_INGOT); return Ingredient.ofItems(EndItems.AETERNIUM_INGOT);

View file

@ -26,19 +26,19 @@ public class AlloyingRecipes {
.build(); .build();
AlloyingRecipe.Builder.create("terminite_ingot") AlloyingRecipe.Builder.create("terminite_ingot")
.setInput(Items.IRON_INGOT, EndItems.ENDER_DUST) .setInput(Items.IRON_INGOT, EndItems.ENDER_DUST)
.setOutput(EndItems.TERMINITE_INGOT, 1) .setOutput(EndBlocks.TERMINITE.ingot, 1)
.setExpiriense(2.5F) .setExpiriense(2.5F)
.setSmeltTime(450) .setSmeltTime(450)
.build(); .build();
AlloyingRecipe.Builder.create("aeternium_ingot") AlloyingRecipe.Builder.create("aeternium_ingot")
.setInput(EndItems.TERMINITE_INGOT, Items.NETHERITE_INGOT) .setInput(EndBlocks.TERMINITE.ingot, Items.NETHERITE_INGOT)
.setOutput(EndItems.AETERNIUM_INGOT, 1) .setOutput(EndItems.AETERNIUM_INGOT, 1)
.setExpiriense(4.5F) .setExpiriense(4.5F)
.setSmeltTime(600) .setSmeltTime(600)
.build(); .build();
AlloyingRecipe.Builder.create("terminite_ingot_thallasium") AlloyingRecipe.Builder.create("terminite_ingot_thallasium")
.setInput(EndBlocks.THALLASIUM.ingot, EndItems.ENDER_DUST) .setInput(EndBlocks.THALLASIUM.ingot, EndItems.ENDER_DUST)
.setOutput(EndItems.TERMINITE_INGOT, 1) .setOutput(EndBlocks.TERMINITE.ingot, 1)
.setExpiriense(2.5F) .setExpiriense(2.5F)
.setSmeltTime(450) .setSmeltTime(450)
.build(); .build();

View file

@ -2,7 +2,6 @@ package ru.betterend.recipe;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.potion.PotionUtil; import net.minecraft.potion.PotionUtil;
@ -55,29 +54,7 @@ public class CraftingRecipes {
.addMaterial('#', Blocks.OBSIDIAN) .addMaterial('#', Blocks.OBSIDIAN)
.build(); .build();
String material = "terminite"; String material = "aeternium";
GridRecipe.make(material + "_block", EndBlocks.TERMINITE_BLOCK)
.setShape("III", "III", "III")
.addMaterial('I', EndItems.TERMINITE_INGOT)
.build();
GridRecipe.make(material + "_block_to_ingot", EndItems.TERMINITE_INGOT)
.addMaterial('#', EndBlocks.TERMINITE_BLOCK)
.setOutputCount(9)
.setList("#")
.build();
registerHelmet(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_HELMET);
registerChestplate(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_CHESTPLATE);
registerLeggings(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_LEGGINGS);
registerBoots(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_BOOTS);
registerShovel(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_SHOVEL);
registerSword(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_SWORD);
registerPickaxe(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_PICKAXE);
registerAxe(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_AXE);
registerHoe(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_HOE);
registerHammer(material, EndItems.TERMINITE_INGOT, EndItems.TERMINITE_HAMMER);
material = "aeternium";
GridRecipe.make(material + "_block", EndBlocks.AETERNIUM_BLOCK) GridRecipe.make(material + "_block", EndBlocks.AETERNIUM_BLOCK)
.setShape("III", "III", "III") .setShape("III", "III", "III")
.addMaterial('I', EndItems.AETERNIUM_INGOT) .addMaterial('I', EndItems.AETERNIUM_INGOT)
@ -88,11 +65,6 @@ public class CraftingRecipes {
.setList("#") .setList("#")
.build(); .build();
registerHammer("iron", Items.IRON_INGOT, EndItems.IRON_HAMMER);
registerHammer("golden", Items.GOLD_INGOT, EndItems.GOLDEN_HAMMER);
registerHammer("diamond", Items.DIAMOND, EndItems.DIAMOND_HAMMER);
registerHammer("netherite", Items.NETHERITE_INGOT, EndItems.NETHERITE_HAMMER);
GridRecipe.make("blue_vine_seed_dye", Items.BLUE_DYE).setList("#").addMaterial('#', EndBlocks.BLUE_VINE_SEED).build(); GridRecipe.make("blue_vine_seed_dye", Items.BLUE_DYE).setList("#").addMaterial('#', EndBlocks.BLUE_VINE_SEED).build();
GridRecipe.make("creeping_moss_dye", Items.CYAN_DYE).setList("#").addMaterial('#', EndBlocks.CREEPING_MOSS).build(); GridRecipe.make("creeping_moss_dye", Items.CYAN_DYE).setList("#").addMaterial('#', EndBlocks.CREEPING_MOSS).build();
GridRecipe.make("umbrella_moss_dye", Items.YELLOW_DYE).setList("#").addMaterial('#', EndBlocks.UMBRELLA_MOSS).build(); GridRecipe.make("umbrella_moss_dye", Items.YELLOW_DYE).setList("#").addMaterial('#', EndBlocks.UMBRELLA_MOSS).build();
@ -219,80 +191,4 @@ public class CraftingRecipes {
.setOutputCount(2) .setOutputCount(2)
.build(); .build();
} }
private static void registerHelmet(String name, Item material, Item result) {
GridRecipe.make(name + "_helmet", result)
.setShape("III", "I I")
.addMaterial('I', material)
.build();
}
private static void registerChestplate(String name, Item material, Item result) {
GridRecipe.make(name + "_chestplate", result)
.setShape("I I", "III", "III")
.addMaterial('I', material)
.build();
}
private static void registerLeggings(String name, Item material, Item result) {
GridRecipe.make(name + "_leggings", result)
.setShape("III", "I I", "I I")
.addMaterial('I', material)
.build();
}
private static void registerBoots(String name, Item material, Item result) {
GridRecipe.make(name + "_boots", result)
.setShape("I I", "I I")
.addMaterial('I', material)
.build();
}
private static void registerShovel(String name, Item material, Item result) {
GridRecipe.make(name + "_shovel", result)
.setShape("I", "#", "#")
.addMaterial('I', material)
.addMaterial('#', Items.STICK)
.build();
}
private static void registerSword(String name, Item material, Item result) {
GridRecipe.make(name + "_sword", result)
.setShape(new String[] { "I", "I", "#" })
.addMaterial('I', material)
.addMaterial('#', Items.STICK)
.build();
}
private static void registerPickaxe(String name, Item material, Item result) {
GridRecipe.make(name + "_pickaxe", result)
.setShape("III", " # ", " # ")
.addMaterial('I', material)
.addMaterial('#', Items.STICK)
.build();
}
private static void registerAxe(String name, Item material, Item result) {
GridRecipe.make(name + "_axe", result)
.setShape("II", "#I", "# ")
.addMaterial('I', material)
.addMaterial('#', Items.STICK)
.build();
}
private static void registerHoe(String name, Item material, Item result) {
GridRecipe.make(name + "_hoe", result)
.setShape("II", "# ", "# ")
.addMaterial('I', material)
.addMaterial('#', Items.STICK)
.build();
}
private static void registerHammer(String name, Item material, Item result) {
GridRecipe.make(name + "_hammer", result)
.setShape("I I", "I#I", " # ")
.addMaterial('I', material)
.addMaterial('#', Items.STICK)
.build();
}
} }

View file

@ -38,7 +38,7 @@ public class InfusionRecipes {
.build(); .build();
InfusionRecipe.Builder.create("crystalite_helmet") InfusionRecipe.Builder.create("crystalite_helmet")
.setInput(EndItems.TERMINITE_HELMET) .setInput(EndBlocks.TERMINITE.helmet)
.setOutput(EndItems.CRYSTALITE_HELMET) .setOutput(EndItems.CRYSTALITE_HELMET)
.addCatalyst(0, EndItems.AMBER_GEM) .addCatalyst(0, EndItems.AMBER_GEM)
.addCatalyst(2, EndItems.CRYSTAL_SHARDS) .addCatalyst(2, EndItems.CRYSTAL_SHARDS)
@ -46,7 +46,7 @@ public class InfusionRecipes {
.setTime(150) .setTime(150)
.build(); .build();
InfusionRecipe.Builder.create("crystalite_chestplate") InfusionRecipe.Builder.create("crystalite_chestplate")
.setInput(EndItems.TERMINITE_CHESTPLATE) .setInput(EndBlocks.TERMINITE.chestplate)
.setOutput(EndItems.CRYSTALITE_CHESTPLATE) .setOutput(EndItems.CRYSTALITE_CHESTPLATE)
.addCatalyst(0, EndItems.AMBER_GEM) .addCatalyst(0, EndItems.AMBER_GEM)
.addCatalyst(1, EndItems.CRYSTAL_SHARDS) .addCatalyst(1, EndItems.CRYSTAL_SHARDS)
@ -56,7 +56,7 @@ public class InfusionRecipes {
.setTime(300) .setTime(300)
.build(); .build();
InfusionRecipe.Builder.create("crystalite_leggings") InfusionRecipe.Builder.create("crystalite_leggings")
.setInput(EndItems.TERMINITE_LEGGINGS) .setInput(EndBlocks.TERMINITE.leggings)
.setOutput(EndItems.CRYSTALITE_LEGGINGS) .setOutput(EndItems.CRYSTALITE_LEGGINGS)
.addCatalyst(0, EndItems.AMBER_GEM) .addCatalyst(0, EndItems.AMBER_GEM)
.addCatalyst(2, EndItems.CRYSTAL_SHARDS) .addCatalyst(2, EndItems.CRYSTAL_SHARDS)
@ -65,7 +65,7 @@ public class InfusionRecipes {
.setTime(225) .setTime(225)
.build(); .build();
InfusionRecipe.Builder.create("crystalite_boots") InfusionRecipe.Builder.create("crystalite_boots")
.setInput(EndItems.TERMINITE_BOOTS) .setInput(EndBlocks.TERMINITE.boots)
.setOutput(EndItems.CRYSTALITE_BOOTS) .setOutput(EndItems.CRYSTALITE_BOOTS)
.addCatalyst(0, EndItems.AMBER_GEM) .addCatalyst(0, EndItems.AMBER_GEM)
.addCatalyst(2, EndItems.CRYSTAL_SHARDS) .addCatalyst(2, EndItems.CRYSTAL_SHARDS)

View file

@ -1,6 +1,7 @@
package ru.betterend.recipe; package ru.betterend.recipe;
import ru.betterend.recipe.builders.SmithingTableRecipe; import ru.betterend.recipe.builders.SmithingTableRecipe;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndItems; import ru.betterend.registry.EndItems;
public class SmithingRecipes { public class SmithingRecipes {
@ -8,7 +9,7 @@ public class SmithingRecipes {
public static void register() { public static void register() {
SmithingTableRecipe.create("aeternium_sword_handle") SmithingTableRecipe.create("aeternium_sword_handle")
.setResult(EndItems.AETERNIUM_SWORD_HANDLE) .setResult(EndItems.AETERNIUM_SWORD_HANDLE)
.setBase(EndItems.TERMINITE_INGOT) .setBase(EndBlocks.TERMINITE.ingot)
.setAddition(EndItems.LEATHER_WRAPPED_STICK) .setAddition(EndItems.LEATHER_WRAPPED_STICK)
.build(); .build();
@ -45,22 +46,22 @@ public class SmithingRecipes {
SmithingTableRecipe.create("aeternium_helmet") SmithingTableRecipe.create("aeternium_helmet")
.setResult(EndItems.AETERNIUM_HELMET) .setResult(EndItems.AETERNIUM_HELMET)
.setBase(EndItems.TERMINITE_HELMET) .setBase(EndBlocks.TERMINITE.helmet)
.setAddition(EndItems.AETERNIUM_INGOT) .setAddition(EndItems.AETERNIUM_INGOT)
.build(); .build();
SmithingTableRecipe.create("aeternium_chestplate") SmithingTableRecipe.create("aeternium_chestplate")
.setResult(EndItems.AETERNIUM_CHESTPLATE) .setResult(EndItems.AETERNIUM_CHESTPLATE)
.setBase(EndItems.TERMINITE_CHESTPLATE) .setBase(EndBlocks.TERMINITE.chestplate)
.setAddition(EndItems.AETERNIUM_INGOT) .setAddition(EndItems.AETERNIUM_INGOT)
.build(); .build();
SmithingTableRecipe.create("aeternium_leggings") SmithingTableRecipe.create("aeternium_leggings")
.setResult(EndItems.AETERNIUM_LEGGINGS) .setResult(EndItems.AETERNIUM_LEGGINGS)
.setBase(EndItems.TERMINITE_LEGGINGS) .setBase(EndBlocks.TERMINITE.leggings)
.setAddition(EndItems.AETERNIUM_INGOT) .setAddition(EndItems.AETERNIUM_INGOT)
.build(); .build();
SmithingTableRecipe.create("aeternium_boots") SmithingTableRecipe.create("aeternium_boots")
.setResult(EndItems.AETERNIUM_BOOTS) .setResult(EndItems.AETERNIUM_BOOTS)
.setBase(EndItems.TERMINITE_BOOTS) .setBase(EndBlocks.TERMINITE.boots)
.setAddition(EndItems.AETERNIUM_INGOT) .setAddition(EndItems.AETERNIUM_INGOT)
.build(); .build();
} }

View file

@ -77,7 +77,6 @@ import ru.betterend.blocks.SmallJellyshroomBlock;
import ru.betterend.blocks.SulphurCrystalBlock; import ru.betterend.blocks.SulphurCrystalBlock;
import ru.betterend.blocks.TenaneaFlowersBlock; import ru.betterend.blocks.TenaneaFlowersBlock;
import ru.betterend.blocks.TenaneaSaplingBlock; import ru.betterend.blocks.TenaneaSaplingBlock;
import ru.betterend.blocks.TerminiteBlock;
import ru.betterend.blocks.TerrainPlantBlock; import ru.betterend.blocks.TerrainPlantBlock;
import ru.betterend.blocks.TwistedUmbrellaMossBlock; import ru.betterend.blocks.TwistedUmbrellaMossBlock;
import ru.betterend.blocks.TwistedUmbrellaMossTallBlock; import ru.betterend.blocks.TwistedUmbrellaMossTallBlock;
@ -103,6 +102,7 @@ import ru.betterend.blocks.complex.MetalMaterial;
import ru.betterend.blocks.complex.StoneMaterial; import ru.betterend.blocks.complex.StoneMaterial;
import ru.betterend.blocks.complex.WoodenMaterial; import ru.betterend.blocks.complex.WoodenMaterial;
import ru.betterend.config.Configs; import ru.betterend.config.Configs;
import ru.betterend.item.material.EndArmorMaterial;
import ru.betterend.item.material.EndToolMaterial; import ru.betterend.item.material.EndToolMaterial;
public class EndBlocks { public class EndBlocks {
@ -287,9 +287,10 @@ public class EndBlocks {
public static final Block AMBER_ORE = registerBlock("amber_ore", new EndOreBlock(EndItems.RAW_AMBER, 1, 2, 4)); public static final Block AMBER_ORE = registerBlock("amber_ore", new EndOreBlock(EndItems.RAW_AMBER, 1, 2, 4));
// Materials // // Materials //
public static final Block TERMINITE_BLOCK = registerBlock("terminite_block", new TerminiteBlock()); public static final MetalMaterial THALLASIUM = MetalMaterial.makeNormal("thallasium", MaterialColor.BLUE, EndToolMaterial.THALLASIUM, EndArmorMaterial.TERMINITE);
public static final MetalMaterial TERMINITE = MetalMaterial.makeOreless("terminite", MaterialColor.field_25708, 7F, 9F, EndToolMaterial.TERMINITE, EndArmorMaterial.TERMINITE);
public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock()); public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock());
public static final MetalMaterial THALLASIUM = new MetalMaterial("thallasium", MaterialColor.BLUE, EndToolMaterial.THALLASIUM);
public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock()); public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock());
public static final Block AURORA_CRYSTAL = registerBlock("aurora_crystal", new AuroraCrystalBlock()); public static final Block AURORA_CRYSTAL = registerBlock("aurora_crystal", new AuroraCrystalBlock());
public static final Block AMBER_BLOCK = registerBlock("amber_block", new AmberBlock()); public static final Block AMBER_BLOCK = registerBlock("amber_block", new AmberBlock());

View file

@ -25,7 +25,6 @@ import net.minecraft.item.ShovelItem;
import net.minecraft.item.SpawnEggItem; import net.minecraft.item.SpawnEggItem;
import net.minecraft.item.SwordItem; import net.minecraft.item.SwordItem;
import net.minecraft.item.ToolItem; import net.minecraft.item.ToolItem;
import net.minecraft.item.ToolMaterials;
import net.minecraft.tag.Tag; import net.minecraft.tag.Tag;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity; import net.minecraft.util.Rarity;
@ -57,7 +56,6 @@ public class EndItems {
// Materials // // Materials //
public final static Item ENDER_DUST = registerItem("ender_dust"); public final static Item ENDER_DUST = registerItem("ender_dust");
public final static Item ENDER_SHARD = registerItem("ender_shard"); public final static Item ENDER_SHARD = registerItem("ender_shard");
public final static Item TERMINITE_INGOT = registerItem("terminite_ingot");
public final static Item AETERNIUM_INGOT = registerItem("aeternium_ingot"); public final static Item AETERNIUM_INGOT = registerItem("aeternium_ingot");
public final static Item END_LILY_LEAF = registerItem("end_lily_leaf"); public final static Item END_LILY_LEAF = registerItem("end_lily_leaf");
public final static Item END_LILY_LEAF_DRIED = registerItem("end_lily_leaf_dried"); public final static Item END_LILY_LEAF_DRIED = registerItem("end_lily_leaf_dried");
@ -76,10 +74,6 @@ public class EndItems {
public final static Item LUMECORN_ROD = registerItem("lumecorn_rod"); public final static Item LUMECORN_ROD = registerItem("lumecorn_rod");
// Armor // // Armor //
public static final Item TERMINITE_HELMET = registerItem("terminite_helmet", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.HEAD, makeItemSettings()));
public static final Item TERMINITE_CHESTPLATE = registerItem("terminite_chestplate", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.CHEST, makeItemSettings()));
public static final Item TERMINITE_LEGGINGS = registerItem("terminite_leggings", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.LEGS, makeItemSettings()));
public static final Item TERMINITE_BOOTS = registerItem("terminite_boots", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.FEET, makeItemSettings()));
public static final Item AETERNIUM_HELMET = registerItem("aeternium_helmet", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.HEAD, makeItemSettings().fireproof())); public static final Item AETERNIUM_HELMET = registerItem("aeternium_helmet", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.HEAD, makeItemSettings().fireproof()));
public static final Item AETERNIUM_CHESTPLATE = registerItem("aeternium_chestplate", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.CHEST, makeItemSettings().fireproof())); public static final Item AETERNIUM_CHESTPLATE = registerItem("aeternium_chestplate", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.CHEST, makeItemSettings().fireproof()));
public static final Item AETERNIUM_LEGGINGS = registerItem("aeternium_leggings", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.LEGS, makeItemSettings().fireproof())); public static final Item AETERNIUM_LEGGINGS = registerItem("aeternium_leggings", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.LEGS, makeItemSettings().fireproof()));
@ -90,13 +84,6 @@ public class EndItems {
public static final Item CRYSTALITE_BOOTS = registerItem("crystalite_boots", new ArmorItem(EndArmorMaterial.CRYSTALITE, EquipmentSlot.FEET, makeItemSettings().rarity(Rarity.UNCOMMON))); public static final Item CRYSTALITE_BOOTS = registerItem("crystalite_boots", new ArmorItem(EndArmorMaterial.CRYSTALITE, EquipmentSlot.FEET, makeItemSettings().rarity(Rarity.UNCOMMON)));
// Tools // // Tools //
public static final ToolItem TERMINITE_SHOVEL = registerTool("terminite_shovel", new EndShovelItem(EndToolMaterial.TERMINITE, 1.5F, -3.0F, makeItemSettings()));
public static final ToolItem TERMINITE_SWORD = registerTool("terminite_sword", new EndSwordItem(EndToolMaterial.TERMINITE, 3, -2.4F, makeItemSettings()));
public static final ToolItem TERMINITE_PICKAXE = registerTool("terminite_pickaxe", new EndPickaxeItem(EndToolMaterial.TERMINITE, 1, -2.8F, makeItemSettings()));
public static final ToolItem TERMINITE_AXE = registerTool("terminite_axe", new EndAxeItem(EndToolMaterial.TERMINITE, 6.0F, -3.0F, makeItemSettings()));
public static final ToolItem TERMINITE_HOE = registerTool("terminite_hoe", new EndHoeItem(EndToolMaterial.TERMINITE, -3, 0.0F, makeItemSettings()));
public static final ToolItem TERMINITE_HAMMER = registerTool("terminite_hammer", new EndHammerItem(EndToolMaterial.TERMINITE, 5.0F, -3.2F, 0.3D, makeItemSettings()));
public static final ToolItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel", new EndShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeItemSettings().fireproof())); public static final ToolItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel", new EndShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeItemSettings().fireproof()));
public static final ToolItem AETERNIUM_SWORD = registerTool("aeternium_sword", new EndSwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeItemSettings().fireproof())); public static final ToolItem AETERNIUM_SWORD = registerTool("aeternium_sword", new EndSwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeItemSettings().fireproof()));
public static final ToolItem AETERNIUM_PICKAXE = registerTool("aeternium_pickaxe", new EndPickaxeItem(EndToolMaterial.AETERNIUM, 1, -2.8F, makeItemSettings().fireproof())); public static final ToolItem AETERNIUM_PICKAXE = registerTool("aeternium_pickaxe", new EndPickaxeItem(EndToolMaterial.AETERNIUM, 1, -2.8F, makeItemSettings().fireproof()));
@ -104,10 +91,14 @@ public class EndItems {
public static final ToolItem AETERNIUM_HOE = registerTool("aeternium_hoe", new EndHoeItem(EndToolMaterial.AETERNIUM, -3, 0.0F, makeItemSettings().fireproof())); public static final ToolItem AETERNIUM_HOE = registerTool("aeternium_hoe", new EndHoeItem(EndToolMaterial.AETERNIUM, -3, 0.0F, makeItemSettings().fireproof()));
public static final ToolItem AETERNIUM_HAMMER = registerTool("aeternium_hammer", new EndHammerItem(EndToolMaterial.AETERNIUM, 6.0F, -3.0F, 0.3D, makeItemSettings().fireproof())); public static final ToolItem AETERNIUM_HAMMER = registerTool("aeternium_hammer", new EndHammerItem(EndToolMaterial.AETERNIUM, 6.0F, -3.0F, 0.3D, makeItemSettings().fireproof()));
public static final ToolItem IRON_HAMMER = registerTool("iron_hammer", new EndHammerItem(ToolMaterials.IRON, 5.0F, -3.2F, 0.2D, makeItemSettings())); // Toolparts //
public static final ToolItem GOLDEN_HAMMER = registerTool("golden_hammer", new EndHammerItem(ToolMaterials.GOLD, 4.5F, -3.4F, 0.3D, makeItemSettings())); public final static Item AETERNIUM_SHOVEL_HEAD = registerItem("aeternium_shovel_head");
public static final ToolItem DIAMOND_HAMMER = registerTool("diamond_hammer", new EndHammerItem(ToolMaterials.DIAMOND, 5.5F, -3.1F, 0.2D, makeItemSettings())); public final static Item AETERNIUM_PICKAXE_HEAD = registerItem("aeternium_pickaxe_head");
public static final ToolItem NETHERITE_HAMMER = registerTool("netherite_hammer", new EndHammerItem(ToolMaterials.NETHERITE, 5.0F, -3.0F, 0.2D, makeItemSettings())); public final static Item AETERNIUM_AXE_HEAD = registerItem("aeternium_axe_head");
public final static Item AETERNIUM_HOE_HEAD = registerItem("aeternium_hoe_head");
public final static Item AETERNIUM_HAMMER_HEAD = registerItem("aeternium_hammer_head");
public final static Item AETERNIUM_SWORD_BLADE = registerItem("aeternium_sword_blade");
public final static Item AETERNIUM_SWORD_HANDLE = registerItem("aeternium_sword_handle");
// Food // // Food //
public final static Item SHADOW_BERRY_RAW = registerFood("shadow_berry_raw", 4, 0.5F); public final static Item SHADOW_BERRY_RAW = registerFood("shadow_berry_raw", 4, 0.5F);
@ -119,23 +110,14 @@ public class EndItems {
public final static Item SHADOW_BERRY_JELLY = registerFood("shadow_berry_jelly", 4, 0.75F, new StatusEffectInstance(StatusEffects.NIGHT_VISION, 400)); public final static Item SHADOW_BERRY_JELLY = registerFood("shadow_berry_jelly", 4, 0.75F, new StatusEffectInstance(StatusEffects.NIGHT_VISION, 400));
public final static Item BLOSSOM_BERRY = registerFood("blossom_berry", FoodComponents.APPLE); public final static Item BLOSSOM_BERRY = registerFood("blossom_berry", FoodComponents.APPLE);
// Drinks // Drinks //
public final static Item UMBRELLA_CLUSTER_JUICE = registerDrink("umbrella_cluster_juice"); public final static Item UMBRELLA_CLUSTER_JUICE = registerDrink("umbrella_cluster_juice");
// Toolparts //
public final static Item AETERNIUM_SHOVEL_HEAD = registerItem("aeternium_shovel_head");
public final static Item AETERNIUM_PICKAXE_HEAD = registerItem("aeternium_pickaxe_head");
public final static Item AETERNIUM_AXE_HEAD = registerItem("aeternium_axe_head");
public final static Item AETERNIUM_HOE_HEAD = registerItem("aeternium_hoe_head");
public final static Item AETERNIUM_HAMMER_HEAD = registerItem("aeternium_hammer_head");
public final static Item AETERNIUM_SWORD_BLADE = registerItem("aeternium_sword_blade");
public final static Item AETERNIUM_SWORD_HANDLE = registerItem("aeternium_sword_handle");
public static Item registerItem(String name) { public static Item registerItem(String name) {
return registerItem(BetterEnd.makeID(name), new PatternedItem(makeItemSettings())); return registerItem(BetterEnd.makeID(name), new PatternedItem(makeItemSettings()));
} }
protected static Item registerItem(String name, Item item) { public static Item registerItem(String name, Item item) {
return registerItem(BetterEnd.makeID(name), item); return registerItem(BetterEnd.makeID(name), item);
} }

View file

@ -1,6 +1,8 @@
package ru.betterend.registry; package ru.betterend.registry;
import java.util.Arrays; import java.util.List;
import com.google.common.collect.Lists;
import net.fabricmc.fabric.api.tag.TagRegistry; import net.fabricmc.fabric.api.tag.TagRegistry;
import net.fabricmc.fabric.impl.tool.attribute.ToolManagerImpl; import net.fabricmc.fabric.impl.tool.attribute.ToolManagerImpl;
@ -26,6 +28,7 @@ import ru.betterend.blocks.EndTerrainBlock;
import ru.betterend.blocks.basis.PedestalBlock; import ru.betterend.blocks.basis.PedestalBlock;
import ru.betterend.blocks.basis.SimpleLeavesBlock; import ru.betterend.blocks.basis.SimpleLeavesBlock;
import ru.betterend.blocks.basis.VineBlock; import ru.betterend.blocks.basis.VineBlock;
import ru.betterend.item.EndHammerItem;
import ru.betterend.mixin.common.ComposterBlockAccessor; import ru.betterend.mixin.common.ComposterBlockAccessor;
import ru.betterend.util.TagHelper; import ru.betterend.util.TagHelper;
@ -96,16 +99,13 @@ public class EndTags {
TagHelper.addTag(GEN_TERRAIN, EndBlocks.ENDER_ORE, EndBlocks.FLAVOLITE.stone, EndBlocks.VIOLECITE.stone, EndBlocks.SULPHURIC_ROCK.stone, EndBlocks.BRIMSTONE); TagHelper.addTag(GEN_TERRAIN, EndBlocks.ENDER_ORE, EndBlocks.FLAVOLITE.stone, EndBlocks.VIOLECITE.stone, EndBlocks.SULPHURIC_ROCK.stone, EndBlocks.BRIMSTONE);
TagHelper.addTag(END_GROUND, EndBlocks.SULPHURIC_ROCK.stone, EndBlocks.BRIMSTONE); TagHelper.addTag(END_GROUND, EndBlocks.SULPHURIC_ROCK.stone, EndBlocks.BRIMSTONE);
ToolManagerImpl.tag(HAMMERS).register(new ModdedToolsVanillaBlocksToolHandler( List<Item> hammers = Lists.newArrayList();
Arrays.asList( EndItems.getModItems().forEach((item) -> {
EndItems.IRON_HAMMER, if (item instanceof EndHammerItem) {
EndItems.GOLDEN_HAMMER, hammers.add(item);
EndItems.DIAMOND_HAMMER, }
EndItems.NETHERITE_HAMMER, });
EndItems.TERMINITE_HAMMER, ToolManagerImpl.tag(HAMMERS).register(new ModdedToolsVanillaBlocksToolHandler(hammers));
EndItems.AETERNIUM_HAMMER
)
));
} }
public static void addSurfaceBlock(Block block) { public static void addSurfaceBlock(Block block) {