Complex material package move
This commit is contained in:
parent
a151132478
commit
da8237c359
9 changed files with 918 additions and 918 deletions
|
@ -2,7 +2,7 @@ package ru.betterend.blocks.basis;
|
|||
|
||||
import net.minecraft.world.level.material.MaterialColor;
|
||||
import ru.bclib.blocks.BaseAnvilBlock;
|
||||
import ru.betterend.blocks.complex.MetalMaterial;
|
||||
import ru.betterend.complexmaterials.MetalMaterial;
|
||||
|
||||
public class EndAnvilBlock extends BaseAnvilBlock {
|
||||
protected MetalMaterial metalMaterial;
|
||||
|
|
|
@ -1,73 +1,73 @@
|
|||
package ru.betterend.blocks.complex;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.item.DyeItem;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.material.MaterialColor;
|
||||
import ru.bclib.recipes.GridRecipe;
|
||||
import ru.bclib.util.BlocksHelper;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class ColoredMaterial {
|
||||
private static final Map<Integer, ItemLike> DYES = Maps.newHashMap();
|
||||
private static final Map<Integer, String> COLORS = Maps.newHashMap();
|
||||
private final Map<Integer, Block> colors = Maps.newHashMap();
|
||||
|
||||
public ColoredMaterial(Function<FabricBlockSettings, Block> constructor, Block source, boolean craftEight) {
|
||||
this(constructor, source, COLORS, DYES, craftEight);
|
||||
}
|
||||
|
||||
public ColoredMaterial(Function<FabricBlockSettings, Block> constructor, Block source, Map<Integer, String> colors, Map<Integer, ItemLike> dyes, boolean craftEight) {
|
||||
String id = Registry.BLOCK.getKey(source).getPath();
|
||||
colors.forEach((color, name) -> {
|
||||
String blockName = id + "_" + name;
|
||||
Block block = constructor.apply(FabricBlockSettings.copyOf(source)
|
||||
.materialColor(MaterialColor.COLOR_BLACK));
|
||||
EndBlocks.registerBlock(blockName, block);
|
||||
if (craftEight) {
|
||||
GridRecipe.make(BetterEnd.MOD_ID, blockName, block)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(8)
|
||||
.setShape("###", "#D#", "###")
|
||||
.addMaterial('#', source)
|
||||
.addMaterial('D', dyes.get(color))
|
||||
.build();
|
||||
}
|
||||
else {
|
||||
GridRecipe.make(BetterEnd.MOD_ID, blockName, block)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setList("#D")
|
||||
.addMaterial('#', source)
|
||||
.addMaterial('D', dyes.get(color))
|
||||
.build();
|
||||
}
|
||||
this.colors.put(color, block);
|
||||
BlocksHelper.addBlockColor(block, color);
|
||||
});
|
||||
}
|
||||
|
||||
public Block getByColor(DyeColor color) {
|
||||
return colors.get(color.getMaterialColor().col);
|
||||
}
|
||||
|
||||
public Block getByColor(int color) {
|
||||
return colors.get(color);
|
||||
}
|
||||
|
||||
static {
|
||||
for (DyeColor color : DyeColor.values()) {
|
||||
int colorRGB = color.getMaterialColor().col;
|
||||
COLORS.put(colorRGB, color.getName());
|
||||
DYES.put(colorRGB, DyeItem.byColor(color));
|
||||
}
|
||||
}
|
||||
}
|
||||
package ru.betterend.complexmaterials;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.item.DyeItem;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.material.MaterialColor;
|
||||
import ru.bclib.recipes.GridRecipe;
|
||||
import ru.bclib.util.BlocksHelper;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class ColoredMaterial {
|
||||
private static final Map<Integer, ItemLike> DYES = Maps.newHashMap();
|
||||
private static final Map<Integer, String> COLORS = Maps.newHashMap();
|
||||
private final Map<Integer, Block> colors = Maps.newHashMap();
|
||||
|
||||
public ColoredMaterial(Function<FabricBlockSettings, Block> constructor, Block source, boolean craftEight) {
|
||||
this(constructor, source, COLORS, DYES, craftEight);
|
||||
}
|
||||
|
||||
public ColoredMaterial(Function<FabricBlockSettings, Block> constructor, Block source, Map<Integer, String> colors, Map<Integer, ItemLike> dyes, boolean craftEight) {
|
||||
String id = Registry.BLOCK.getKey(source).getPath();
|
||||
colors.forEach((color, name) -> {
|
||||
String blockName = id + "_" + name;
|
||||
Block block = constructor.apply(FabricBlockSettings.copyOf(source)
|
||||
.materialColor(MaterialColor.COLOR_BLACK));
|
||||
EndBlocks.registerBlock(blockName, block);
|
||||
if (craftEight) {
|
||||
GridRecipe.make(BetterEnd.MOD_ID, blockName, block)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(8)
|
||||
.setShape("###", "#D#", "###")
|
||||
.addMaterial('#', source)
|
||||
.addMaterial('D', dyes.get(color))
|
||||
.build();
|
||||
}
|
||||
else {
|
||||
GridRecipe.make(BetterEnd.MOD_ID, blockName, block)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setList("#D")
|
||||
.addMaterial('#', source)
|
||||
.addMaterial('D', dyes.get(color))
|
||||
.build();
|
||||
}
|
||||
this.colors.put(color, block);
|
||||
BlocksHelper.addBlockColor(block, color);
|
||||
});
|
||||
}
|
||||
|
||||
public Block getByColor(DyeColor color) {
|
||||
return colors.get(color.getMaterialColor().col);
|
||||
}
|
||||
|
||||
public Block getByColor(int color) {
|
||||
return colors.get(color);
|
||||
}
|
||||
|
||||
static {
|
||||
for (DyeColor color : DyeColor.values()) {
|
||||
int colorRGB = color.getMaterialColor().col;
|
||||
COLORS.put(colorRGB, color.getName());
|
||||
DYES.put(colorRGB, DyeItem.byColor(color));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,133 +1,133 @@
|
|||
package ru.betterend.blocks.complex;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.blocks.BaseSlabBlock;
|
||||
import ru.bclib.blocks.BaseStairsBlock;
|
||||
import ru.bclib.blocks.BaseWallBlock;
|
||||
import ru.bclib.recipes.GridRecipe;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.EndPedestal;
|
||||
import ru.betterend.blocks.basis.LitBaseBlock;
|
||||
import ru.betterend.blocks.basis.LitPillarBlock;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.recipe.CraftingRecipes;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
|
||||
public class CrystalSubblocksMaterial {
|
||||
public final Block polished;
|
||||
public final Block tiles;
|
||||
public final Block pillar;
|
||||
public final Block stairs;
|
||||
public final Block slab;
|
||||
public final Block wall;
|
||||
public final Block pedestal;
|
||||
public final Block bricks;
|
||||
public final Block brick_stairs;
|
||||
public final Block brick_slab;
|
||||
public final Block brick_wall;
|
||||
|
||||
public CrystalSubblocksMaterial(String name, Block source) {
|
||||
FabricBlockSettings material = FabricBlockSettings.copyOf(source);
|
||||
polished = EndBlocks.registerBlock(name + "_polished", new LitBaseBlock(material));
|
||||
tiles = EndBlocks.registerBlock(name + "_tiles", new LitBaseBlock(material));
|
||||
pillar = EndBlocks.registerBlock(name + "_pillar", new LitPillarBlock(material));
|
||||
stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(source));
|
||||
slab = EndBlocks.registerBlock(name + "_slab", new BaseSlabBlock(source));
|
||||
wall = EndBlocks.registerBlock(name + "_wall", new BaseWallBlock(source));
|
||||
pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(source));
|
||||
bricks = EndBlocks.registerBlock(name + "_bricks", new LitBaseBlock(material));
|
||||
brick_stairs = EndBlocks.registerBlock(name + "_bricks_stairs", new BaseStairsBlock(bricks));
|
||||
brick_slab = EndBlocks.registerBlock(name + "_bricks_slab", new BaseSlabBlock(bricks));
|
||||
brick_wall = EndBlocks.registerBlock(name + "_bricks_wall", new BaseWallBlock(bricks));
|
||||
|
||||
// Recipes //
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks", bricks)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', source)
|
||||
.setGroup("end_bricks")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_polished", polished)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_tile")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_tiles", tiles)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', polished)
|
||||
.setGroup("end_small_tile")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_pillar", pillar)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("#", "#")
|
||||
.addMaterial('#', slab)
|
||||
.setGroup("end_pillar")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_stairs", stairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', source)
|
||||
.setGroup("end_stone_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_slab", slab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', source)
|
||||
.setGroup("end_stone_slabs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_stairs", brick_stairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_stone_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_slab", brick_slab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_stone_slabs")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_wall", wall)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', source)
|
||||
.setGroup("end_wall")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_wall", brick_wall)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_wall")
|
||||
.build();
|
||||
|
||||
CraftingRecipes.registerPedestal(name + "_pedestal", pedestal, slab, pillar);
|
||||
|
||||
// Item Tags //
|
||||
TagAPI.addTag(ItemTags.SLABS, slab, brick_slab);
|
||||
TagAPI.addTag(ItemTags.STONE_BRICKS, bricks);
|
||||
TagAPI.addTag(ItemTags.STONE_CRAFTING_MATERIALS, source);
|
||||
TagAPI.addTag(ItemTags.STONE_TOOL_MATERIALS, source);
|
||||
|
||||
// Block Tags //
|
||||
TagAPI.addTag(BlockTags.STONE_BRICKS, bricks);
|
||||
TagAPI.addTag(BlockTags.WALLS, wall, brick_wall);
|
||||
TagAPI.addTag(BlockTags.SLABS, slab, brick_slab);
|
||||
}
|
||||
package ru.betterend.complexmaterials;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.blocks.BaseSlabBlock;
|
||||
import ru.bclib.blocks.BaseStairsBlock;
|
||||
import ru.bclib.blocks.BaseWallBlock;
|
||||
import ru.bclib.recipes.GridRecipe;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.EndPedestal;
|
||||
import ru.betterend.blocks.basis.LitBaseBlock;
|
||||
import ru.betterend.blocks.basis.LitPillarBlock;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.recipe.CraftingRecipes;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
|
||||
public class CrystalSubblocksMaterial {
|
||||
public final Block polished;
|
||||
public final Block tiles;
|
||||
public final Block pillar;
|
||||
public final Block stairs;
|
||||
public final Block slab;
|
||||
public final Block wall;
|
||||
public final Block pedestal;
|
||||
public final Block bricks;
|
||||
public final Block brick_stairs;
|
||||
public final Block brick_slab;
|
||||
public final Block brick_wall;
|
||||
|
||||
public CrystalSubblocksMaterial(String name, Block source) {
|
||||
FabricBlockSettings material = FabricBlockSettings.copyOf(source);
|
||||
polished = EndBlocks.registerBlock(name + "_polished", new LitBaseBlock(material));
|
||||
tiles = EndBlocks.registerBlock(name + "_tiles", new LitBaseBlock(material));
|
||||
pillar = EndBlocks.registerBlock(name + "_pillar", new LitPillarBlock(material));
|
||||
stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(source));
|
||||
slab = EndBlocks.registerBlock(name + "_slab", new BaseSlabBlock(source));
|
||||
wall = EndBlocks.registerBlock(name + "_wall", new BaseWallBlock(source));
|
||||
pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(source));
|
||||
bricks = EndBlocks.registerBlock(name + "_bricks", new LitBaseBlock(material));
|
||||
brick_stairs = EndBlocks.registerBlock(name + "_bricks_stairs", new BaseStairsBlock(bricks));
|
||||
brick_slab = EndBlocks.registerBlock(name + "_bricks_slab", new BaseSlabBlock(bricks));
|
||||
brick_wall = EndBlocks.registerBlock(name + "_bricks_wall", new BaseWallBlock(bricks));
|
||||
|
||||
// Recipes //
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks", bricks)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', source)
|
||||
.setGroup("end_bricks")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_polished", polished)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_tile")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_tiles", tiles)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', polished)
|
||||
.setGroup("end_small_tile")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_pillar", pillar)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("#", "#")
|
||||
.addMaterial('#', slab)
|
||||
.setGroup("end_pillar")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_stairs", stairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', source)
|
||||
.setGroup("end_stone_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_slab", slab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', source)
|
||||
.setGroup("end_stone_slabs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_stairs", brick_stairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_stone_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_slab", brick_slab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_stone_slabs")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_wall", wall)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', source)
|
||||
.setGroup("end_wall")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_wall", brick_wall)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_wall")
|
||||
.build();
|
||||
|
||||
CraftingRecipes.registerPedestal(name + "_pedestal", pedestal, slab, pillar);
|
||||
|
||||
// Item Tags //
|
||||
TagAPI.addTag(ItemTags.SLABS, slab, brick_slab);
|
||||
TagAPI.addTag(ItemTags.STONE_BRICKS, bricks);
|
||||
TagAPI.addTag(ItemTags.STONE_CRAFTING_MATERIALS, source);
|
||||
TagAPI.addTag(ItemTags.STONE_TOOL_MATERIALS, source);
|
||||
|
||||
// Block Tags //
|
||||
TagAPI.addTag(BlockTags.STONE_BRICKS, bricks);
|
||||
TagAPI.addTag(BlockTags.WALLS, wall, brick_wall);
|
||||
TagAPI.addTag(BlockTags.SLABS, slab, brick_slab);
|
||||
}
|
||||
}
|
|
@ -1,24 +1,24 @@
|
|||
package ru.betterend.blocks.complex;
|
||||
package ru.betterend.complexmaterials;
|
||||
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.material.MaterialColor;
|
||||
import ru.bclib.complexmaterials.WoodenMaterial;
|
||||
import ru.bclib.complexmaterials.WoodenComplexMaterial;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndItems;
|
||||
|
||||
public class EndWoodenMaterial extends WoodenMaterial {
|
||||
public class EndWoodenComplexMaterial extends WoodenComplexMaterial {
|
||||
private Block bark;
|
||||
private Block log;
|
||||
|
||||
public EndWoodenMaterial(String name, MaterialColor woodColor, MaterialColor planksColor) {
|
||||
public EndWoodenComplexMaterial(String name, MaterialColor woodColor, MaterialColor planksColor) {
|
||||
super(BetterEnd.MOD_ID, name, woodColor, planksColor);
|
||||
}
|
||||
|
||||
public EndWoodenMaterial init() {
|
||||
return (EndWoodenMaterial) super.init(EndBlocks.getBlockRegistry(), EndItems.getItemRegistry(), Configs.RECIPE_CONFIG);
|
||||
public EndWoodenComplexMaterial init() {
|
||||
return (EndWoodenComplexMaterial) super.init(EndBlocks.getBlockRegistry(), EndItems.getItemRegistry(), Configs.RECIPE_CONFIG);
|
||||
}
|
||||
|
||||
public boolean isTreeLog(Block block) {
|
|
@ -1,493 +1,493 @@
|
|||
package ru.betterend.blocks.complex;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.item.ArmorMaterial;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Item.Properties;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.Tier;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
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;
|
||||
import ru.bclib.blocks.BaseMetalBarsBlock;
|
||||
import ru.bclib.blocks.BaseOreBlock;
|
||||
import ru.bclib.blocks.BaseSlabBlock;
|
||||
import ru.bclib.blocks.BaseStairsBlock;
|
||||
import ru.bclib.blocks.BaseTrapdoorBlock;
|
||||
import ru.bclib.blocks.WoodenPressurePlateBlock;
|
||||
import ru.bclib.items.ModelProviderItem;
|
||||
import ru.bclib.items.tool.BaseAxeItem;
|
||||
import ru.bclib.items.tool.BaseHoeItem;
|
||||
import ru.bclib.items.tool.BaseShovelItem;
|
||||
import ru.bclib.items.tool.BaseSwordItem;
|
||||
import ru.bclib.recipes.FurnaceRecipe;
|
||||
import ru.bclib.recipes.GridRecipe;
|
||||
import ru.bclib.recipes.SmithingTableRecipe;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.BulbVineLanternBlock;
|
||||
import ru.betterend.blocks.BulbVineLanternColoredBlock;
|
||||
import ru.betterend.blocks.ChandelierBlock;
|
||||
import ru.betterend.blocks.basis.EndAnvilBlock;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.item.EndArmorItem;
|
||||
import ru.betterend.item.tool.EndHammerItem;
|
||||
import ru.betterend.item.tool.EndPickaxe;
|
||||
import ru.betterend.recipe.builders.AlloyingRecipe;
|
||||
import ru.betterend.recipe.builders.AnvilRecipe;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndItems;
|
||||
|
||||
public class MetalMaterial {
|
||||
public final Block ore;
|
||||
public final Block block;
|
||||
public final Block tile;
|
||||
public final Block bars;
|
||||
public final Block pressurePlate;
|
||||
public final Block door;
|
||||
public final Block trapdoor;
|
||||
public final Block chain;
|
||||
public final Block stairs;
|
||||
public final Block slab;
|
||||
|
||||
public final Block chandelier;
|
||||
public final Block bulb_lantern;
|
||||
public final ColoredMaterial bulb_lantern_colored;
|
||||
|
||||
public final Block anvilBlock;
|
||||
|
||||
public final Item rawOre;
|
||||
public final Item nugget;
|
||||
public final Item ingot;
|
||||
|
||||
public final Item shovelHead;
|
||||
public final Item pickaxeHead;
|
||||
public final Item axeHead;
|
||||
public final Item hoeHead;
|
||||
public final Item swordBlade;
|
||||
public final Item swordHandle;
|
||||
|
||||
public final Item shovel;
|
||||
public final Item sword;
|
||||
public final Item pickaxe;
|
||||
public final Item axe;
|
||||
public final Item hoe;
|
||||
public final Item hammer;
|
||||
|
||||
public final Item forgedPlate;
|
||||
public final Item helmet;
|
||||
public final Item chestplate;
|
||||
public final Item leggings;
|
||||
public final Item boots;
|
||||
|
||||
public final Tag.Named<Item> alloyingOre;
|
||||
|
||||
public static MetalMaterial makeNormal(String name, MaterialColor color, Tier material, ArmorMaterial armor) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
true,
|
||||
FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color),
|
||||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor
|
||||
);
|
||||
}
|
||||
|
||||
public static MetalMaterial makeNormal(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
true,
|
||||
FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)
|
||||
.materialColor(color)
|
||||
.hardness(hardness)
|
||||
.resistance(resistance),
|
||||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor
|
||||
);
|
||||
}
|
||||
|
||||
public static MetalMaterial makeOreless(String name, MaterialColor color, Tier material, ArmorMaterial armor) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
false,
|
||||
FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color),
|
||||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor
|
||||
);
|
||||
}
|
||||
|
||||
public static MetalMaterial makeOreless(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
false,
|
||||
FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)
|
||||
.materialColor(color)
|
||||
.hardness(hardness)
|
||||
.resistance(resistance),
|
||||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor
|
||||
);
|
||||
}
|
||||
|
||||
private MetalMaterial(String name, boolean hasOre, FabricBlockSettings settings, Properties itemSettings, Tier material, ArmorMaterial armor) {
|
||||
BlockBehaviour.Properties lanternProperties = FabricBlockSettings.copyOf(settings)
|
||||
.hardness(1)
|
||||
.resistance(1)
|
||||
.luminance(15)
|
||||
.sound(SoundType.LANTERN);
|
||||
final int level = material.getLevel();
|
||||
|
||||
rawOre = hasOre ? EndItems.registerEndItem(name + "_raw", new ModelProviderItem(itemSettings)) : null;
|
||||
ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseOreBlock(rawOre, 1, 3, 1)) : null;
|
||||
alloyingOre = hasOre ? TagAPI.makeItemTag(BetterEnd.MOD_ID, name + "_alloying") : null;
|
||||
if (hasOre) {
|
||||
TagAPI.addTag(alloyingOre, ore, rawOre);
|
||||
}
|
||||
|
||||
block = EndBlocks.registerBlock(name + "_block", new BaseBlock(settings));
|
||||
tile = EndBlocks.registerBlock(name + "_tile", new BaseBlock(settings));
|
||||
stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(tile));
|
||||
slab = EndBlocks.registerBlock(name + "_slab", new BaseSlabBlock(tile));
|
||||
door = EndBlocks.registerBlock(name + "_door", new BaseDoorBlock(block));
|
||||
trapdoor = EndBlocks.registerBlock(name + "_trapdoor", new BaseTrapdoorBlock(block));
|
||||
bars = EndBlocks.registerBlock(name + "_bars", new BaseMetalBarsBlock(block));
|
||||
chain = EndBlocks.registerBlock(name + "_chain", new BaseChainBlock(block.defaultMaterialColor()));
|
||||
pressurePlate = EndBlocks.registerBlock(name + "_plate", new WoodenPressurePlateBlock(block));
|
||||
|
||||
chandelier = EndBlocks.registerBlock(name + "_chandelier", new ChandelierBlock(block));
|
||||
bulb_lantern = EndBlocks.registerBlock(name + "_bulb_lantern", new BulbVineLanternBlock(lanternProperties));
|
||||
bulb_lantern_colored = new ColoredMaterial(BulbVineLanternColoredBlock::new, bulb_lantern, false);
|
||||
|
||||
nugget = EndItems.registerEndItem(name + "_nugget", new ModelProviderItem(itemSettings));
|
||||
ingot = EndItems.registerEndItem(name + "_ingot", new ModelProviderItem(itemSettings));
|
||||
|
||||
shovelHead = EndItems.registerEndItem(name + "_shovel_head");
|
||||
pickaxeHead = EndItems.registerEndItem(name + "_pickaxe_head");
|
||||
axeHead = EndItems.registerEndItem(name + "_axe_head");
|
||||
hoeHead = EndItems.registerEndItem(name + "_hoe_head");
|
||||
swordBlade = EndItems.registerEndItem(name + "_sword_blade");
|
||||
swordHandle = EndItems.registerEndItem(name + "_sword_handle");
|
||||
|
||||
shovel = EndItems.registerEndTool(name + "_shovel", new BaseShovelItem(material, 1.5F, -3.0F, itemSettings));
|
||||
sword = EndItems.registerEndTool(name + "_sword", new BaseSwordItem(material, 3, -2.4F, itemSettings));
|
||||
pickaxe = EndItems.registerEndTool(name + "_pickaxe", new EndPickaxe(material, 1, -2.8F, itemSettings));
|
||||
axe = EndItems.registerEndTool(name + "_axe", new BaseAxeItem(material, 6.0F, -3.0F, itemSettings));
|
||||
hoe = EndItems.registerEndTool(name + "_hoe", new BaseHoeItem(material, -3, 0.0F, itemSettings));
|
||||
hammer = EndItems.registerEndTool(
|
||||
name + "_hammer",
|
||||
new EndHammerItem(material, 5.0F, -3.2F, 0.3D, itemSettings)
|
||||
);
|
||||
|
||||
forgedPlate = EndItems.registerEndItem(name + "_forged_plate");
|
||||
helmet = EndItems.registerEndItem(name + "_helmet", new EndArmorItem(armor, EquipmentSlot.HEAD, itemSettings));
|
||||
chestplate = EndItems.registerEndItem(
|
||||
name + "_chestplate",
|
||||
new EndArmorItem(armor, EquipmentSlot.CHEST, itemSettings)
|
||||
);
|
||||
leggings = EndItems.registerEndItem(
|
||||
name + "_leggings",
|
||||
new EndArmorItem(armor, EquipmentSlot.LEGS, itemSettings)
|
||||
);
|
||||
boots = EndItems.registerEndItem(name + "_boots", new EndArmorItem(armor, EquipmentSlot.FEET, itemSettings));
|
||||
|
||||
anvilBlock = EndBlocks.registerBlock(
|
||||
name + "_anvil",
|
||||
new EndAnvilBlock(this, block.defaultMaterialColor(), level)
|
||||
);
|
||||
|
||||
if (hasOre) {
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_ore", ore, ingot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_ingot")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_raw", rawOre, ingot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_ingot")
|
||||
.buildWithBlasting();
|
||||
AlloyingRecipe.Builder.create(name + "_ingot_alloy")
|
||||
.setInput(alloyingOre, alloyingOre)
|
||||
.setOutput(ingot, 3)
|
||||
.setExpiriense(2.1F)
|
||||
.build();
|
||||
}
|
||||
|
||||
// Basic recipes
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_ingot_from_nuggets", ingot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "###", "###")
|
||||
.addMaterial('#', nugget)
|
||||
.setGroup("end_metal_ingots_nug")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_nuggets_from_ingot", nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(9)
|
||||
.setList("#")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_nuggets_ing")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_block", block)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "###", "###")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_blocks")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_ingot_from_block", ingot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(9)
|
||||
.setList("#")
|
||||
.addMaterial('#', block)
|
||||
.setGroup("end_metal_ingots")
|
||||
.build();
|
||||
|
||||
// Block recipes
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_tile", tile)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', block)
|
||||
.setGroup("end_metal_tiles")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bars", bars)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(16)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_bars")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_pressure_plate", pressurePlate)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("##")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_plates")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_door", door)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(3)
|
||||
.setShape("##", "##", "##")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_doors")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_trapdoor", trapdoor)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_trapdoors")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_stairs", stairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', block, tile)
|
||||
.setGroup("end_metal_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_slab", slab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', block, tile)
|
||||
.setGroup("end_metal_slabs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_chain", chain)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("N", "#", "N")
|
||||
.addMaterial('#', ingot)
|
||||
.addMaterial('N', nugget)
|
||||
.setGroup("end_metal_chain")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_anvil", anvilBlock)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", " I ", "III")
|
||||
.addMaterial('#', block, tile)
|
||||
.addMaterial('I', ingot)
|
||||
.setGroup("end_metal_anvil")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bulb_lantern", bulb_lantern)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("C", "I", "#")
|
||||
.addMaterial('C', chain)
|
||||
.addMaterial('I', ingot)
|
||||
.addMaterial('#', EndItems.GLOWING_BULB)
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_chandelier", chandelier)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("I#I", " # ")
|
||||
.addMaterial('#', ingot)
|
||||
.addMaterial('I', EndItems.LUMECORN_ROD)
|
||||
.setGroup("end_metal_chandelier")
|
||||
.build();
|
||||
|
||||
// Tools & armor into nuggets
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_axe_nugget", axe, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hoe_nugget", hoe, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_pickaxe_nugget", pickaxe, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_sword_nugget", sword, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hammer_nugget", hammer, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_helmet_nugget", helmet, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_chestplate_nugget", chestplate, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_leggings_nugget", leggings, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_boots_nugget", boots, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
|
||||
// Tool parts from ingots
|
||||
AnvilRecipe.Builder.create(name + "_shovel_head")
|
||||
.setInput(ingot)
|
||||
.setOutput(shovelHead)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_pickaxe_head")
|
||||
.setInput(ingot)
|
||||
.setInputCount(3)
|
||||
.setOutput(pickaxeHead)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_axe_head")
|
||||
.setInput(ingot)
|
||||
.setInputCount(3)
|
||||
.setOutput(axeHead)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_hoe_head")
|
||||
.setInput(ingot)
|
||||
.setInputCount(2)
|
||||
.setOutput(hoeHead)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_sword_blade")
|
||||
.setInput(ingot)
|
||||
.setOutput(swordBlade)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_forged_plate")
|
||||
.setInput(ingot)
|
||||
.setOutput(forgedPlate)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
|
||||
// Tools from parts
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_hammer")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(hammer)
|
||||
.setBase(block)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_axe")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(axe)
|
||||
.setBase(axeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_pickaxe")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(pickaxe)
|
||||
.setBase(pickaxeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_hoe")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(hoe)
|
||||
.setBase(hoeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_sword_handle")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(swordHandle)
|
||||
.setBase(ingot)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_sword")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(sword)
|
||||
.setBase(swordBlade)
|
||||
.setAddition(swordHandle)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_shovel")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(shovel)
|
||||
.setBase(shovelHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
|
||||
// Armor crafting
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_helmet", helmet)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "# #")
|
||||
.addMaterial('#', forgedPlate)
|
||||
.setGroup("end_metal_helmets")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_chestplate", chestplate)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("# #", "###", "###")
|
||||
.addMaterial('#', forgedPlate)
|
||||
.setGroup("end_metal_chestplates")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_leggings", leggings)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "# #", "# #")
|
||||
.addMaterial('#', forgedPlate)
|
||||
.setGroup("end_metal_leggings")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_boots", boots)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("# #", "# #")
|
||||
.addMaterial('#', forgedPlate)
|
||||
.setGroup("end_metal_boots")
|
||||
.build();
|
||||
|
||||
TagAPI.addTag(BlockTags.ANVIL, anvilBlock);
|
||||
TagAPI.addTag(BlockTags.BEACON_BASE_BLOCKS, block);
|
||||
TagAPI.addTag(ItemTags.BEACON_PAYMENT_ITEMS, ingot);
|
||||
TagAPI.addTag(TagAPI.BLOCK_DRAGON_IMMUNE, ore, bars);
|
||||
TagAPI.addTag(TagAPI.ITEM_HAMMERS, hammer);
|
||||
}
|
||||
package ru.betterend.complexmaterials;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.item.ArmorMaterial;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Item.Properties;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.Tier;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
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;
|
||||
import ru.bclib.blocks.BaseMetalBarsBlock;
|
||||
import ru.bclib.blocks.BaseOreBlock;
|
||||
import ru.bclib.blocks.BaseSlabBlock;
|
||||
import ru.bclib.blocks.BaseStairsBlock;
|
||||
import ru.bclib.blocks.BaseTrapdoorBlock;
|
||||
import ru.bclib.blocks.WoodenPressurePlateBlock;
|
||||
import ru.bclib.items.ModelProviderItem;
|
||||
import ru.bclib.items.tool.BaseAxeItem;
|
||||
import ru.bclib.items.tool.BaseHoeItem;
|
||||
import ru.bclib.items.tool.BaseShovelItem;
|
||||
import ru.bclib.items.tool.BaseSwordItem;
|
||||
import ru.bclib.recipes.FurnaceRecipe;
|
||||
import ru.bclib.recipes.GridRecipe;
|
||||
import ru.bclib.recipes.SmithingTableRecipe;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.BulbVineLanternBlock;
|
||||
import ru.betterend.blocks.BulbVineLanternColoredBlock;
|
||||
import ru.betterend.blocks.ChandelierBlock;
|
||||
import ru.betterend.blocks.basis.EndAnvilBlock;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.item.EndArmorItem;
|
||||
import ru.betterend.item.tool.EndHammerItem;
|
||||
import ru.betterend.item.tool.EndPickaxe;
|
||||
import ru.betterend.recipe.builders.AlloyingRecipe;
|
||||
import ru.betterend.recipe.builders.AnvilRecipe;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndItems;
|
||||
|
||||
public class MetalMaterial {
|
||||
public final Block ore;
|
||||
public final Block block;
|
||||
public final Block tile;
|
||||
public final Block bars;
|
||||
public final Block pressurePlate;
|
||||
public final Block door;
|
||||
public final Block trapdoor;
|
||||
public final Block chain;
|
||||
public final Block stairs;
|
||||
public final Block slab;
|
||||
|
||||
public final Block chandelier;
|
||||
public final Block bulb_lantern;
|
||||
public final ColoredMaterial bulb_lantern_colored;
|
||||
|
||||
public final Block anvilBlock;
|
||||
|
||||
public final Item rawOre;
|
||||
public final Item nugget;
|
||||
public final Item ingot;
|
||||
|
||||
public final Item shovelHead;
|
||||
public final Item pickaxeHead;
|
||||
public final Item axeHead;
|
||||
public final Item hoeHead;
|
||||
public final Item swordBlade;
|
||||
public final Item swordHandle;
|
||||
|
||||
public final Item shovel;
|
||||
public final Item sword;
|
||||
public final Item pickaxe;
|
||||
public final Item axe;
|
||||
public final Item hoe;
|
||||
public final Item hammer;
|
||||
|
||||
public final Item forgedPlate;
|
||||
public final Item helmet;
|
||||
public final Item chestplate;
|
||||
public final Item leggings;
|
||||
public final Item boots;
|
||||
|
||||
public final Tag.Named<Item> alloyingOre;
|
||||
|
||||
public static MetalMaterial makeNormal(String name, MaterialColor color, Tier material, ArmorMaterial armor) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
true,
|
||||
FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color),
|
||||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor
|
||||
);
|
||||
}
|
||||
|
||||
public static MetalMaterial makeNormal(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
true,
|
||||
FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)
|
||||
.materialColor(color)
|
||||
.hardness(hardness)
|
||||
.resistance(resistance),
|
||||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor
|
||||
);
|
||||
}
|
||||
|
||||
public static MetalMaterial makeOreless(String name, MaterialColor color, Tier material, ArmorMaterial armor) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
false,
|
||||
FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color),
|
||||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor
|
||||
);
|
||||
}
|
||||
|
||||
public static MetalMaterial makeOreless(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
false,
|
||||
FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)
|
||||
.materialColor(color)
|
||||
.hardness(hardness)
|
||||
.resistance(resistance),
|
||||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor
|
||||
);
|
||||
}
|
||||
|
||||
private MetalMaterial(String name, boolean hasOre, FabricBlockSettings settings, Properties itemSettings, Tier material, ArmorMaterial armor) {
|
||||
BlockBehaviour.Properties lanternProperties = FabricBlockSettings.copyOf(settings)
|
||||
.hardness(1)
|
||||
.resistance(1)
|
||||
.luminance(15)
|
||||
.sound(SoundType.LANTERN);
|
||||
final int level = material.getLevel();
|
||||
|
||||
rawOre = hasOre ? EndItems.registerEndItem(name + "_raw", new ModelProviderItem(itemSettings)) : null;
|
||||
ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseOreBlock(rawOre, 1, 3, 1)) : null;
|
||||
alloyingOre = hasOre ? TagAPI.makeItemTag(BetterEnd.MOD_ID, name + "_alloying") : null;
|
||||
if (hasOre) {
|
||||
TagAPI.addTag(alloyingOre, ore, rawOre);
|
||||
}
|
||||
|
||||
block = EndBlocks.registerBlock(name + "_block", new BaseBlock(settings));
|
||||
tile = EndBlocks.registerBlock(name + "_tile", new BaseBlock(settings));
|
||||
stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(tile));
|
||||
slab = EndBlocks.registerBlock(name + "_slab", new BaseSlabBlock(tile));
|
||||
door = EndBlocks.registerBlock(name + "_door", new BaseDoorBlock(block));
|
||||
trapdoor = EndBlocks.registerBlock(name + "_trapdoor", new BaseTrapdoorBlock(block));
|
||||
bars = EndBlocks.registerBlock(name + "_bars", new BaseMetalBarsBlock(block));
|
||||
chain = EndBlocks.registerBlock(name + "_chain", new BaseChainBlock(block.defaultMaterialColor()));
|
||||
pressurePlate = EndBlocks.registerBlock(name + "_plate", new WoodenPressurePlateBlock(block));
|
||||
|
||||
chandelier = EndBlocks.registerBlock(name + "_chandelier", new ChandelierBlock(block));
|
||||
bulb_lantern = EndBlocks.registerBlock(name + "_bulb_lantern", new BulbVineLanternBlock(lanternProperties));
|
||||
bulb_lantern_colored = new ColoredMaterial(BulbVineLanternColoredBlock::new, bulb_lantern, false);
|
||||
|
||||
nugget = EndItems.registerEndItem(name + "_nugget", new ModelProviderItem(itemSettings));
|
||||
ingot = EndItems.registerEndItem(name + "_ingot", new ModelProviderItem(itemSettings));
|
||||
|
||||
shovelHead = EndItems.registerEndItem(name + "_shovel_head");
|
||||
pickaxeHead = EndItems.registerEndItem(name + "_pickaxe_head");
|
||||
axeHead = EndItems.registerEndItem(name + "_axe_head");
|
||||
hoeHead = EndItems.registerEndItem(name + "_hoe_head");
|
||||
swordBlade = EndItems.registerEndItem(name + "_sword_blade");
|
||||
swordHandle = EndItems.registerEndItem(name + "_sword_handle");
|
||||
|
||||
shovel = EndItems.registerEndTool(name + "_shovel", new BaseShovelItem(material, 1.5F, -3.0F, itemSettings));
|
||||
sword = EndItems.registerEndTool(name + "_sword", new BaseSwordItem(material, 3, -2.4F, itemSettings));
|
||||
pickaxe = EndItems.registerEndTool(name + "_pickaxe", new EndPickaxe(material, 1, -2.8F, itemSettings));
|
||||
axe = EndItems.registerEndTool(name + "_axe", new BaseAxeItem(material, 6.0F, -3.0F, itemSettings));
|
||||
hoe = EndItems.registerEndTool(name + "_hoe", new BaseHoeItem(material, -3, 0.0F, itemSettings));
|
||||
hammer = EndItems.registerEndTool(
|
||||
name + "_hammer",
|
||||
new EndHammerItem(material, 5.0F, -3.2F, 0.3D, itemSettings)
|
||||
);
|
||||
|
||||
forgedPlate = EndItems.registerEndItem(name + "_forged_plate");
|
||||
helmet = EndItems.registerEndItem(name + "_helmet", new EndArmorItem(armor, EquipmentSlot.HEAD, itemSettings));
|
||||
chestplate = EndItems.registerEndItem(
|
||||
name + "_chestplate",
|
||||
new EndArmorItem(armor, EquipmentSlot.CHEST, itemSettings)
|
||||
);
|
||||
leggings = EndItems.registerEndItem(
|
||||
name + "_leggings",
|
||||
new EndArmorItem(armor, EquipmentSlot.LEGS, itemSettings)
|
||||
);
|
||||
boots = EndItems.registerEndItem(name + "_boots", new EndArmorItem(armor, EquipmentSlot.FEET, itemSettings));
|
||||
|
||||
anvilBlock = EndBlocks.registerBlock(
|
||||
name + "_anvil",
|
||||
new EndAnvilBlock(this, block.defaultMaterialColor(), level)
|
||||
);
|
||||
|
||||
if (hasOre) {
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_ore", ore, ingot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_ingot")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_raw", rawOre, ingot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_ingot")
|
||||
.buildWithBlasting();
|
||||
AlloyingRecipe.Builder.create(name + "_ingot_alloy")
|
||||
.setInput(alloyingOre, alloyingOre)
|
||||
.setOutput(ingot, 3)
|
||||
.setExpiriense(2.1F)
|
||||
.build();
|
||||
}
|
||||
|
||||
// Basic recipes
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_ingot_from_nuggets", ingot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "###", "###")
|
||||
.addMaterial('#', nugget)
|
||||
.setGroup("end_metal_ingots_nug")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_nuggets_from_ingot", nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(9)
|
||||
.setList("#")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_nuggets_ing")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_block", block)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "###", "###")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_blocks")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_ingot_from_block", ingot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(9)
|
||||
.setList("#")
|
||||
.addMaterial('#', block)
|
||||
.setGroup("end_metal_ingots")
|
||||
.build();
|
||||
|
||||
// Block recipes
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_tile", tile)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', block)
|
||||
.setGroup("end_metal_tiles")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bars", bars)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(16)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_bars")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_pressure_plate", pressurePlate)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("##")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_plates")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_door", door)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(3)
|
||||
.setShape("##", "##", "##")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_doors")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_trapdoor", trapdoor)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', ingot)
|
||||
.setGroup("end_metal_trapdoors")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_stairs", stairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', block, tile)
|
||||
.setGroup("end_metal_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_slab", slab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', block, tile)
|
||||
.setGroup("end_metal_slabs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_chain", chain)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("N", "#", "N")
|
||||
.addMaterial('#', ingot)
|
||||
.addMaterial('N', nugget)
|
||||
.setGroup("end_metal_chain")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_anvil", anvilBlock)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", " I ", "III")
|
||||
.addMaterial('#', block, tile)
|
||||
.addMaterial('I', ingot)
|
||||
.setGroup("end_metal_anvil")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bulb_lantern", bulb_lantern)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("C", "I", "#")
|
||||
.addMaterial('C', chain)
|
||||
.addMaterial('I', ingot)
|
||||
.addMaterial('#', EndItems.GLOWING_BULB)
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_chandelier", chandelier)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("I#I", " # ")
|
||||
.addMaterial('#', ingot)
|
||||
.addMaterial('I', EndItems.LUMECORN_ROD)
|
||||
.setGroup("end_metal_chandelier")
|
||||
.build();
|
||||
|
||||
// Tools & armor into nuggets
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_axe_nugget", axe, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hoe_nugget", hoe, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_pickaxe_nugget", pickaxe, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_sword_nugget", sword, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hammer_nugget", hammer, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_helmet_nugget", helmet, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_chestplate_nugget", chestplate, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_leggings_nugget", leggings, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_boots_nugget", boots, nugget)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setGroup("end_nugget")
|
||||
.buildWithBlasting();
|
||||
|
||||
// Tool parts from ingots
|
||||
AnvilRecipe.Builder.create(name + "_shovel_head")
|
||||
.setInput(ingot)
|
||||
.setOutput(shovelHead)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_pickaxe_head")
|
||||
.setInput(ingot)
|
||||
.setInputCount(3)
|
||||
.setOutput(pickaxeHead)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_axe_head")
|
||||
.setInput(ingot)
|
||||
.setInputCount(3)
|
||||
.setOutput(axeHead)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_hoe_head")
|
||||
.setInput(ingot)
|
||||
.setInputCount(2)
|
||||
.setOutput(hoeHead)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_sword_blade")
|
||||
.setInput(ingot)
|
||||
.setOutput(swordBlade)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
AnvilRecipe.Builder.create(name + "_forged_plate")
|
||||
.setInput(ingot)
|
||||
.setOutput(forgedPlate)
|
||||
.setAnvilLevel(level)
|
||||
.setToolLevel(level)
|
||||
.setDamage(level)
|
||||
.build();
|
||||
|
||||
// Tools from parts
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_hammer")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(hammer)
|
||||
.setBase(block)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_axe")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(axe)
|
||||
.setBase(axeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_pickaxe")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(pickaxe)
|
||||
.setBase(pickaxeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_hoe")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(hoe)
|
||||
.setBase(hoeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_sword_handle")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(swordHandle)
|
||||
.setBase(ingot)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_sword")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(sword)
|
||||
.setBase(swordBlade)
|
||||
.setAddition(swordHandle)
|
||||
.build();
|
||||
SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_shovel")
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setResult(shovel)
|
||||
.setBase(shovelHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
|
||||
// Armor crafting
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_helmet", helmet)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "# #")
|
||||
.addMaterial('#', forgedPlate)
|
||||
.setGroup("end_metal_helmets")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_chestplate", chestplate)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("# #", "###", "###")
|
||||
.addMaterial('#', forgedPlate)
|
||||
.setGroup("end_metal_chestplates")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_leggings", leggings)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "# #", "# #")
|
||||
.addMaterial('#', forgedPlate)
|
||||
.setGroup("end_metal_leggings")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_boots", boots)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("# #", "# #")
|
||||
.addMaterial('#', forgedPlate)
|
||||
.setGroup("end_metal_boots")
|
||||
.build();
|
||||
|
||||
TagAPI.addTag(BlockTags.ANVIL, anvilBlock);
|
||||
TagAPI.addTag(BlockTags.BEACON_BASE_BLOCKS, block);
|
||||
TagAPI.addTag(ItemTags.BEACON_PAYMENT_ITEMS, ingot);
|
||||
TagAPI.addTag(TagAPI.BLOCK_DRAGON_IMMUNE, ore, bars);
|
||||
TagAPI.addTag(TagAPI.ITEM_HAMMERS, hammer);
|
||||
}
|
||||
}
|
|
@ -1,198 +1,198 @@
|
|||
package ru.betterend.blocks.complex;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.material.MaterialColor;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.blocks.BaseBlock;
|
||||
import ru.bclib.blocks.BaseFurnaceBlock;
|
||||
import ru.bclib.blocks.BaseRotatedPillarBlock;
|
||||
import ru.bclib.blocks.BaseSlabBlock;
|
||||
import ru.bclib.blocks.BaseStairsBlock;
|
||||
import ru.bclib.blocks.BaseStoneButtonBlock;
|
||||
import ru.bclib.blocks.BaseWallBlock;
|
||||
import ru.bclib.blocks.StonePressurePlateBlock;
|
||||
import ru.bclib.recipes.GridRecipe;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.EndPedestal;
|
||||
import ru.betterend.blocks.FlowerPotBlock;
|
||||
import ru.betterend.blocks.basis.StoneLanternBlock;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.recipe.CraftingRecipes;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndItems;
|
||||
|
||||
public class StoneMaterial {
|
||||
public final Block stone;
|
||||
|
||||
public final Block polished;
|
||||
public final Block tiles;
|
||||
public final Block pillar;
|
||||
public final Block stairs;
|
||||
public final Block slab;
|
||||
public final Block wall;
|
||||
public final Block button;
|
||||
public final Block pressurePlate;
|
||||
public final Block pedestal;
|
||||
public final Block lantern;
|
||||
|
||||
public final Block bricks;
|
||||
public final Block brickStairs;
|
||||
public final Block brickSlab;
|
||||
public final Block brickWall;
|
||||
public final Block furnace;
|
||||
public final Block flowerPot;
|
||||
|
||||
public StoneMaterial(String name, MaterialColor color) {
|
||||
FabricBlockSettings material = FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color);
|
||||
|
||||
stone = EndBlocks.registerBlock(name, new BaseBlock(material));
|
||||
polished = EndBlocks.registerBlock(name + "_polished", new BaseBlock(material));
|
||||
tiles = EndBlocks.registerBlock(name + "_tiles", new BaseBlock(material));
|
||||
pillar = EndBlocks.registerBlock(name + "_pillar", new BaseRotatedPillarBlock(material));
|
||||
stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(stone));
|
||||
slab = EndBlocks.registerBlock(name + "_slab", new BaseSlabBlock(stone));
|
||||
wall = EndBlocks.registerBlock(name + "_wall", new BaseWallBlock(stone));
|
||||
button = EndBlocks.registerBlock(name + "_button", new BaseStoneButtonBlock(stone));
|
||||
pressurePlate = EndBlocks.registerBlock(name + "_plate", new StonePressurePlateBlock(stone));
|
||||
pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(stone));
|
||||
lantern = EndBlocks.registerBlock(name + "_lantern", new StoneLanternBlock(stone));
|
||||
|
||||
bricks = EndBlocks.registerBlock(name + "_bricks", new BaseBlock(material));
|
||||
brickStairs = EndBlocks.registerBlock(name + "_bricks_stairs", new BaseStairsBlock(bricks));
|
||||
brickSlab = EndBlocks.registerBlock(name + "_bricks_slab", new BaseSlabBlock(bricks));
|
||||
brickWall = EndBlocks.registerBlock(name + "_bricks_wall", new BaseWallBlock(bricks));
|
||||
furnace = EndBlocks.registerBlock(name + "_furnace", new BaseFurnaceBlock(bricks));
|
||||
flowerPot = EndBlocks.registerBlock(name + "_flower_pot", new FlowerPotBlock(bricks));
|
||||
|
||||
// Recipes //
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks", bricks)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_bricks")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_polished", polished)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_tile")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_tiles", tiles)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', polished)
|
||||
.setGroup("end_small_tile")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_pillar", pillar)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("#", "#")
|
||||
.addMaterial('#', slab)
|
||||
.setGroup("end_pillar")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_stairs", stairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_slab", slab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_slabs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_stairs", brickStairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_stone_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_slab", brickSlab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_stone_slabs")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_wall", wall)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_wall")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_wall", brickWall)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_wall")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_button", button)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setList("#")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_buttons")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_pressure_plate", pressurePlate)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("##")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_plates")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_lantern", lantern)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("S", "#", "S")
|
||||
.addMaterial('#', EndItems.CRYSTAL_SHARDS)
|
||||
.addMaterial('S', slab, brickSlab)
|
||||
.setGroup("end_stone_lanterns")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_furnace", furnace)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "# #", "###")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_ITEM_FURNACES")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_flower_pot", flowerPot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(3)
|
||||
.setShape("# #", " # ")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_pots")
|
||||
.build();
|
||||
|
||||
CraftingRecipes.registerPedestal(name + "_pedestal", pedestal, slab, pillar);
|
||||
|
||||
// Item Tags //
|
||||
TagAPI.addTag(ItemTags.SLABS, slab, brickSlab);
|
||||
TagAPI.addTag(ItemTags.STONE_BRICKS, bricks);
|
||||
TagAPI.addTag(ItemTags.STONE_CRAFTING_MATERIALS, stone);
|
||||
TagAPI.addTag(ItemTags.STONE_TOOL_MATERIALS, stone);
|
||||
TagAPI.addTag(TagAPI.ITEM_FURNACES, furnace);
|
||||
|
||||
// Block Tags //
|
||||
TagAPI.addTag(BlockTags.STONE_BRICKS, bricks);
|
||||
TagAPI.addTag(BlockTags.WALLS, wall, brickWall);
|
||||
TagAPI.addTag(BlockTags.SLABS, slab, brickSlab);
|
||||
TagAPI.addTags(pressurePlate, BlockTags.PRESSURE_PLATES, BlockTags.STONE_PRESSURE_PLATES);
|
||||
TagAPI.addTag(TagAPI.BLOCK_END_STONES, stone);
|
||||
|
||||
TagAPI.addTag(TagAPI.BLOCK_DRAGON_IMMUNE, stone, stairs, slab, wall);
|
||||
|
||||
TagAPI.addTag(TagAPI.BLOCK_GEN_TERRAIN, stone);
|
||||
TagAPI.addTag(TagAPI.BLOCK_END_GROUND, stone);
|
||||
}
|
||||
package ru.betterend.complexmaterials;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.material.MaterialColor;
|
||||
import ru.bclib.api.TagAPI;
|
||||
import ru.bclib.blocks.BaseBlock;
|
||||
import ru.bclib.blocks.BaseFurnaceBlock;
|
||||
import ru.bclib.blocks.BaseRotatedPillarBlock;
|
||||
import ru.bclib.blocks.BaseSlabBlock;
|
||||
import ru.bclib.blocks.BaseStairsBlock;
|
||||
import ru.bclib.blocks.BaseStoneButtonBlock;
|
||||
import ru.bclib.blocks.BaseWallBlock;
|
||||
import ru.bclib.blocks.StonePressurePlateBlock;
|
||||
import ru.bclib.recipes.GridRecipe;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.EndPedestal;
|
||||
import ru.betterend.blocks.FlowerPotBlock;
|
||||
import ru.betterend.blocks.basis.StoneLanternBlock;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.recipe.CraftingRecipes;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndItems;
|
||||
|
||||
public class StoneMaterial {
|
||||
public final Block stone;
|
||||
|
||||
public final Block polished;
|
||||
public final Block tiles;
|
||||
public final Block pillar;
|
||||
public final Block stairs;
|
||||
public final Block slab;
|
||||
public final Block wall;
|
||||
public final Block button;
|
||||
public final Block pressurePlate;
|
||||
public final Block pedestal;
|
||||
public final Block lantern;
|
||||
|
||||
public final Block bricks;
|
||||
public final Block brickStairs;
|
||||
public final Block brickSlab;
|
||||
public final Block brickWall;
|
||||
public final Block furnace;
|
||||
public final Block flowerPot;
|
||||
|
||||
public StoneMaterial(String name, MaterialColor color) {
|
||||
FabricBlockSettings material = FabricBlockSettings.copyOf(Blocks.END_STONE).materialColor(color);
|
||||
|
||||
stone = EndBlocks.registerBlock(name, new BaseBlock(material));
|
||||
polished = EndBlocks.registerBlock(name + "_polished", new BaseBlock(material));
|
||||
tiles = EndBlocks.registerBlock(name + "_tiles", new BaseBlock(material));
|
||||
pillar = EndBlocks.registerBlock(name + "_pillar", new BaseRotatedPillarBlock(material));
|
||||
stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(stone));
|
||||
slab = EndBlocks.registerBlock(name + "_slab", new BaseSlabBlock(stone));
|
||||
wall = EndBlocks.registerBlock(name + "_wall", new BaseWallBlock(stone));
|
||||
button = EndBlocks.registerBlock(name + "_button", new BaseStoneButtonBlock(stone));
|
||||
pressurePlate = EndBlocks.registerBlock(name + "_plate", new StonePressurePlateBlock(stone));
|
||||
pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(stone));
|
||||
lantern = EndBlocks.registerBlock(name + "_lantern", new StoneLanternBlock(stone));
|
||||
|
||||
bricks = EndBlocks.registerBlock(name + "_bricks", new BaseBlock(material));
|
||||
brickStairs = EndBlocks.registerBlock(name + "_bricks_stairs", new BaseStairsBlock(bricks));
|
||||
brickSlab = EndBlocks.registerBlock(name + "_bricks_slab", new BaseSlabBlock(bricks));
|
||||
brickWall = EndBlocks.registerBlock(name + "_bricks_wall", new BaseWallBlock(bricks));
|
||||
furnace = EndBlocks.registerBlock(name + "_furnace", new BaseFurnaceBlock(bricks));
|
||||
flowerPot = EndBlocks.registerBlock(name + "_flower_pot", new FlowerPotBlock(bricks));
|
||||
|
||||
// Recipes //
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks", bricks)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_bricks")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_polished", polished)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_tile")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_tiles", tiles)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("##", "##")
|
||||
.addMaterial('#', polished)
|
||||
.setGroup("end_small_tile")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_pillar", pillar)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("#", "#")
|
||||
.addMaterial('#', slab)
|
||||
.setGroup("end_pillar")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_stairs", stairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_slab", slab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_slabs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_stairs", brickStairs)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(4)
|
||||
.setShape("# ", "## ", "###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_stone_stairs")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_slab", brickSlab)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_stone_slabs")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_wall", wall)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_wall")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_bricks_wall", brickWall)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(6)
|
||||
.setShape("###", "###")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_wall")
|
||||
.build();
|
||||
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_button", button)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setList("#")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_buttons")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_pressure_plate", pressurePlate)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("##")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_plates")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_lantern", lantern)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("S", "#", "S")
|
||||
.addMaterial('#', EndItems.CRYSTAL_SHARDS)
|
||||
.addMaterial('S', slab, brickSlab)
|
||||
.setGroup("end_stone_lanterns")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_furnace", furnace)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setShape("###", "# #", "###")
|
||||
.addMaterial('#', stone)
|
||||
.setGroup("end_stone_ITEM_FURNACES")
|
||||
.build();
|
||||
GridRecipe.make(BetterEnd.MOD_ID, name + "_flower_pot", flowerPot)
|
||||
.checkConfig(Configs.RECIPE_CONFIG)
|
||||
.setOutputCount(3)
|
||||
.setShape("# #", " # ")
|
||||
.addMaterial('#', bricks)
|
||||
.setGroup("end_pots")
|
||||
.build();
|
||||
|
||||
CraftingRecipes.registerPedestal(name + "_pedestal", pedestal, slab, pillar);
|
||||
|
||||
// Item Tags //
|
||||
TagAPI.addTag(ItemTags.SLABS, slab, brickSlab);
|
||||
TagAPI.addTag(ItemTags.STONE_BRICKS, bricks);
|
||||
TagAPI.addTag(ItemTags.STONE_CRAFTING_MATERIALS, stone);
|
||||
TagAPI.addTag(ItemTags.STONE_TOOL_MATERIALS, stone);
|
||||
TagAPI.addTag(TagAPI.ITEM_FURNACES, furnace);
|
||||
|
||||
// Block Tags //
|
||||
TagAPI.addTag(BlockTags.STONE_BRICKS, bricks);
|
||||
TagAPI.addTag(BlockTags.WALLS, wall, brickWall);
|
||||
TagAPI.addTag(BlockTags.SLABS, slab, brickSlab);
|
||||
TagAPI.addTags(pressurePlate, BlockTags.PRESSURE_PLATES, BlockTags.STONE_PRESSURE_PLATES);
|
||||
TagAPI.addTag(TagAPI.BLOCK_END_STONES, stone);
|
||||
|
||||
TagAPI.addTag(TagAPI.BLOCK_DRAGON_IMMUNE, stone, stairs, slab, wall);
|
||||
|
||||
TagAPI.addTag(TagAPI.BLOCK_GEN_TERRAIN, stone);
|
||||
TagAPI.addTag(TagAPI.BLOCK_END_GROUND, stone);
|
||||
}
|
||||
}
|
|
@ -5,7 +5,7 @@ import net.minecraft.world.level.ItemLike;
|
|||
import ru.bclib.integration.ModIntegration;
|
||||
import ru.bclib.util.ColorUtil;
|
||||
import ru.betterend.blocks.HydraluxPetalColoredBlock;
|
||||
import ru.betterend.blocks.complex.ColoredMaterial;
|
||||
import ru.betterend.complexmaterials.ColoredMaterial;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
|
||||
import java.awt.Color;
|
||||
|
|
|
@ -134,11 +134,11 @@ import ru.betterend.blocks.basis.FurBlock;
|
|||
import ru.betterend.blocks.basis.PottableCropBlock;
|
||||
import ru.betterend.blocks.basis.PottableLeavesBlock;
|
||||
import ru.betterend.blocks.basis.StoneLanternBlock;
|
||||
import ru.betterend.blocks.complex.ColoredMaterial;
|
||||
import ru.betterend.blocks.complex.CrystalSubblocksMaterial;
|
||||
import ru.betterend.blocks.complex.MetalMaterial;
|
||||
import ru.betterend.blocks.complex.StoneMaterial;
|
||||
import ru.betterend.blocks.complex.EndWoodenMaterial;
|
||||
import ru.betterend.complexmaterials.ColoredMaterial;
|
||||
import ru.betterend.complexmaterials.CrystalSubblocksMaterial;
|
||||
import ru.betterend.complexmaterials.EndWoodenComplexMaterial;
|
||||
import ru.betterend.complexmaterials.MetalMaterial;
|
||||
import ru.betterend.complexmaterials.StoneMaterial;
|
||||
import ru.betterend.config.Configs;
|
||||
import ru.betterend.item.material.EndArmorMaterial;
|
||||
import ru.betterend.item.material.EndToolMaterial;
|
||||
|
@ -289,7 +289,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
"mossy_glowshroom_fur",
|
||||
new FurBlock(MOSSY_GLOWSHROOM_SAPLING, 15, 16, true)
|
||||
);
|
||||
public static final EndWoodenMaterial MOSSY_GLOWSHROOM = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial MOSSY_GLOWSHROOM = new EndWoodenComplexMaterial(
|
||||
"mossy_glowshroom",
|
||||
MaterialColor.COLOR_GRAY,
|
||||
MaterialColor.WOOD
|
||||
|
@ -303,7 +303,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
"pythadendron_leaves",
|
||||
new PottableLeavesBlock(PYTHADENDRON_SAPLING, MaterialColor.COLOR_MAGENTA)
|
||||
);
|
||||
public static final EndWoodenMaterial PYTHADENDRON = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial PYTHADENDRON = new EndWoodenComplexMaterial(
|
||||
"pythadendron",
|
||||
MaterialColor.COLOR_MAGENTA,
|
||||
MaterialColor.COLOR_PURPLE
|
||||
|
@ -313,7 +313,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
public static final Block END_LOTUS_STEM = registerBlock("end_lotus_stem", new EndLotusStemBlock());
|
||||
public static final Block END_LOTUS_LEAF = registerEndBlockOnly("end_lotus_leaf", new EndLotusLeafBlock());
|
||||
public static final Block END_LOTUS_FLOWER = registerEndBlockOnly("end_lotus_flower", new EndLotusFlowerBlock());
|
||||
public static final EndWoodenMaterial END_LOTUS = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial END_LOTUS = new EndWoodenComplexMaterial(
|
||||
"end_lotus",
|
||||
MaterialColor.COLOR_LIGHT_BLUE,
|
||||
MaterialColor.COLOR_CYAN
|
||||
|
@ -324,7 +324,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
"lacugrove_leaves",
|
||||
new PottableLeavesBlock(LACUGROVE_SAPLING, MaterialColor.COLOR_CYAN)
|
||||
);
|
||||
public static final EndWoodenMaterial LACUGROVE = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial LACUGROVE = new EndWoodenComplexMaterial(
|
||||
"lacugrove",
|
||||
MaterialColor.COLOR_BROWN,
|
||||
MaterialColor.COLOR_YELLOW
|
||||
|
@ -335,7 +335,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
"dragon_tree_leaves",
|
||||
new PottableLeavesBlock(DRAGON_TREE_SAPLING, MaterialColor.COLOR_MAGENTA)
|
||||
);
|
||||
public static final EndWoodenMaterial DRAGON_TREE = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial DRAGON_TREE = new EndWoodenComplexMaterial(
|
||||
"dragon_tree",
|
||||
MaterialColor.COLOR_BLACK,
|
||||
MaterialColor.COLOR_MAGENTA
|
||||
|
@ -351,7 +351,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
"tenanea_outer_leaves",
|
||||
new FurBlock(TENANEA_SAPLING, 32)
|
||||
);
|
||||
public static final EndWoodenMaterial TENANEA = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial TENANEA = new EndWoodenComplexMaterial(
|
||||
"tenanea",
|
||||
MaterialColor.COLOR_BROWN,
|
||||
MaterialColor.COLOR_PINK
|
||||
|
@ -359,7 +359,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
|
||||
public static final Block HELIX_TREE_SAPLING = registerBlock("helix_tree_sapling", new HelixTreeSaplingBlock());
|
||||
public static final Block HELIX_TREE_LEAVES = registerBlock("helix_tree_leaves", new HelixTreeLeavesBlock());
|
||||
public static final EndWoodenMaterial HELIX_TREE = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial HELIX_TREE = new EndWoodenComplexMaterial(
|
||||
"helix_tree",
|
||||
MaterialColor.COLOR_GRAY,
|
||||
MaterialColor.COLOR_ORANGE
|
||||
|
@ -381,7 +381,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
"umbrella_tree_cluster_empty",
|
||||
new UmbrellaTreeClusterEmptyBlock()
|
||||
);
|
||||
public static final EndWoodenMaterial UMBRELLA_TREE = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial UMBRELLA_TREE = new EndWoodenComplexMaterial(
|
||||
"umbrella_tree",
|
||||
MaterialColor.COLOR_BLUE,
|
||||
MaterialColor.COLOR_GREEN
|
||||
|
@ -391,7 +391,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
"jellyshroom_cap_purple",
|
||||
new JellyshroomCapBlock(217, 142, 255, 164, 0, 255)
|
||||
);
|
||||
public static final EndWoodenMaterial JELLYSHROOM = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial JELLYSHROOM = new EndWoodenComplexMaterial(
|
||||
"jellyshroom",
|
||||
MaterialColor.COLOR_PURPLE,
|
||||
MaterialColor.COLOR_LIGHT_BLUE
|
||||
|
@ -406,7 +406,7 @@ public class EndBlocks extends BlockRegistry {
|
|||
"lucernia_outer_leaves",
|
||||
new FurBlock(LUCERNIA_SAPLING, 32)
|
||||
);
|
||||
public static final EndWoodenMaterial LUCERNIA = new EndWoodenMaterial(
|
||||
public static final EndWoodenComplexMaterial LUCERNIA = new EndWoodenComplexMaterial(
|
||||
"lucernia",
|
||||
MaterialColor.COLOR_ORANGE,
|
||||
MaterialColor.COLOR_ORANGE
|
||||
|
|
|
@ -18,7 +18,7 @@ import ru.bclib.world.biomes.BCLBiomeDef;
|
|||
import ru.bclib.world.features.BCLFeature;
|
||||
import ru.bclib.world.features.DefaultFeature;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.blocks.complex.StoneMaterial;
|
||||
import ru.betterend.complexmaterials.StoneMaterial;
|
||||
import ru.betterend.world.features.BiomeIslandFeature;
|
||||
import ru.betterend.world.features.BlueVineFeature;
|
||||
import ru.betterend.world.features.CavePumpkinFeature;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue