Complex material fixes
This commit is contained in:
parent
b661aedd60
commit
eb18fa63af
6 changed files with 26 additions and 33 deletions
|
@ -11,8 +11,8 @@ import org.jetbrains.annotations.Nullable;
|
||||||
import ru.bclib.complexmaterials.entry.BlockEntry;
|
import ru.bclib.complexmaterials.entry.BlockEntry;
|
||||||
import ru.bclib.complexmaterials.entry.ItemEntry;
|
import ru.bclib.complexmaterials.entry.ItemEntry;
|
||||||
import ru.bclib.config.PathConfig;
|
import ru.bclib.config.PathConfig;
|
||||||
import ru.bclib.registry.BlocksRegistry;
|
import ru.bclib.registry.BlockRegistry;
|
||||||
import ru.bclib.registry.ItemsRegistry;
|
import ru.bclib.registry.ItemRegistry;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -30,17 +30,10 @@ public abstract class ComplexMaterial {
|
||||||
private final Map<String, Block> blocks = Maps.newHashMap();
|
private final Map<String, Block> blocks = Maps.newHashMap();
|
||||||
private final Map<String, Item> items = Maps.newHashMap();
|
private final Map<String, Item> items = Maps.newHashMap();
|
||||||
|
|
||||||
private final BlocksRegistry blocksRegistry;
|
|
||||||
private final ItemsRegistry itemsRegistry;
|
|
||||||
private final PathConfig recipeConfig;
|
|
||||||
|
|
||||||
private final String baseName;
|
private final String baseName;
|
||||||
private final String modID;
|
private final String modID;
|
||||||
|
|
||||||
public ComplexMaterial(String modID, String baseName, BlocksRegistry blocksRegistry, ItemsRegistry itemsRegistry, PathConfig recipeConfig) {
|
public ComplexMaterial(String modID, String baseName) {
|
||||||
this.blocksRegistry = blocksRegistry;
|
|
||||||
this.itemsRegistry = itemsRegistry;
|
|
||||||
this.recipeConfig = recipeConfig;
|
|
||||||
this.baseName = baseName;
|
this.baseName = baseName;
|
||||||
this.modID = modID;
|
this.modID = modID;
|
||||||
MATERIALS.add(this);
|
MATERIALS.add(this);
|
||||||
|
@ -49,6 +42,9 @@ public abstract class ComplexMaterial {
|
||||||
public void init() {
|
public void init() {
|
||||||
initTags();
|
initTags();
|
||||||
|
|
||||||
|
final BlockRegistry blocksRegistry = getBlockRegistry();
|
||||||
|
final ItemRegistry itemsRegistry = getItemRegistry();
|
||||||
|
final PathConfig recipeConfig = getRecipeConfig();
|
||||||
final FabricBlockSettings blockSettings = getBlockSettings();
|
final FabricBlockSettings blockSettings = getBlockSettings();
|
||||||
final FabricItemSettings itemSettings = getItemSettings(itemsRegistry);
|
final FabricItemSettings itemSettings = getItemSettings(itemsRegistry);
|
||||||
initDefault(blockSettings, itemSettings);
|
initDefault(blockSettings, itemSettings);
|
||||||
|
@ -67,6 +63,12 @@ public abstract class ComplexMaterial {
|
||||||
initFlammable();
|
initFlammable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected abstract BlockRegistry getBlockRegistry();
|
||||||
|
|
||||||
|
protected abstract ItemRegistry getItemRegistry();
|
||||||
|
|
||||||
|
protected abstract PathConfig getRecipeConfig();
|
||||||
|
|
||||||
protected abstract void initDefault(FabricBlockSettings blockSettings, FabricItemSettings itemSettings);
|
protected abstract void initDefault(FabricBlockSettings blockSettings, FabricItemSettings itemSettings);
|
||||||
|
|
||||||
protected void initTags() {}
|
protected void initTags() {}
|
||||||
|
@ -105,7 +107,7 @@ public abstract class ComplexMaterial {
|
||||||
|
|
||||||
protected abstract FabricBlockSettings getBlockSettings();
|
protected abstract FabricBlockSettings getBlockSettings();
|
||||||
|
|
||||||
protected FabricItemSettings getItemSettings(ItemsRegistry registry) {
|
protected FabricItemSettings getItemSettings(ItemRegistry registry) {
|
||||||
return registry.makeItemSettings();
|
return registry.makeItemSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,14 +129,6 @@ public abstract class ComplexMaterial {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlocksRegistry getBlocksRegistry() {
|
|
||||||
return blocksRegistry;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemsRegistry getItemsRegistry() {
|
|
||||||
return itemsRegistry;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBaseName() {
|
public String getBaseName() {
|
||||||
return baseName;
|
return baseName;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,6 @@ import ru.bclib.blocks.BaseRotatedPillarBlock;
|
||||||
import ru.bclib.blocks.BaseSignBlock;
|
import ru.bclib.blocks.BaseSignBlock;
|
||||||
import ru.bclib.blocks.BaseSlabBlock;
|
import ru.bclib.blocks.BaseSlabBlock;
|
||||||
import ru.bclib.blocks.BaseStairsBlock;
|
import ru.bclib.blocks.BaseStairsBlock;
|
||||||
import ru.bclib.blocks.BaseStripableLogBlock;
|
|
||||||
import ru.bclib.blocks.BaseTrapdoorBlock;
|
import ru.bclib.blocks.BaseTrapdoorBlock;
|
||||||
import ru.bclib.blocks.BaseWoodenButtonBlock;
|
import ru.bclib.blocks.BaseWoodenButtonBlock;
|
||||||
import ru.bclib.blocks.StripableBarkBlock;
|
import ru.bclib.blocks.StripableBarkBlock;
|
||||||
|
@ -35,15 +34,15 @@ import ru.bclib.blocks.WoodenPressurePlateBlock;
|
||||||
import ru.bclib.complexmaterials.entry.BlockEntry;
|
import ru.bclib.complexmaterials.entry.BlockEntry;
|
||||||
import ru.bclib.config.PathConfig;
|
import ru.bclib.config.PathConfig;
|
||||||
import ru.bclib.recipes.GridRecipe;
|
import ru.bclib.recipes.GridRecipe;
|
||||||
import ru.bclib.registry.BlocksRegistry;
|
import ru.bclib.registry.BlockRegistry;
|
||||||
import ru.bclib.registry.ItemsRegistry;
|
import ru.bclib.registry.ItemRegistry;
|
||||||
|
|
||||||
public class WoodenMaterial extends ComplexMaterial {
|
public abstract class WoodenMaterial extends ComplexMaterial {
|
||||||
public final MaterialColor planksColor;
|
public final MaterialColor planksColor;
|
||||||
public final MaterialColor woodColor;
|
public final MaterialColor woodColor;
|
||||||
|
|
||||||
public WoodenMaterial(String modID, String baseName, MaterialColor woodColor, MaterialColor planksColor, BlocksRegistry blocksRegistry, ItemsRegistry itemsRegistry, PathConfig recipeConfig) {
|
public WoodenMaterial(String modID, String baseName, MaterialColor woodColor, MaterialColor planksColor) {
|
||||||
super(modID, baseName, blocksRegistry, itemsRegistry, recipeConfig);
|
super(modID, baseName);
|
||||||
this.planksColor = planksColor;
|
this.planksColor = planksColor;
|
||||||
this.woodColor = woodColor;
|
this.woodColor = woodColor;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import ru.bclib.api.TagAPI;
|
import ru.bclib.api.TagAPI;
|
||||||
import ru.bclib.complexmaterials.ComplexMaterial;
|
import ru.bclib.complexmaterials.ComplexMaterial;
|
||||||
import ru.bclib.registry.BlocksRegistry;
|
import ru.bclib.registry.BlockRegistry;
|
||||||
|
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ public class BlockEntry extends ComplexMaterialEntry {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Block init(ComplexMaterial material, FabricBlockSettings blockSettings, BlocksRegistry registry) {
|
public Block init(ComplexMaterial material, FabricBlockSettings blockSettings, BlockRegistry registry) {
|
||||||
ResourceLocation location = getLocation(material.getModID(), material.getBaseName());
|
ResourceLocation location = getLocation(material.getModID(), material.getBaseName());
|
||||||
Block block = initFunction.apply(material, blockSettings);
|
Block block = initFunction.apply(material, blockSettings);
|
||||||
if (hasItem) {
|
if (hasItem) {
|
||||||
|
|
|
@ -6,7 +6,7 @@ import net.minecraft.tags.Tag;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import ru.bclib.api.TagAPI;
|
import ru.bclib.api.TagAPI;
|
||||||
import ru.bclib.complexmaterials.ComplexMaterial;
|
import ru.bclib.complexmaterials.ComplexMaterial;
|
||||||
import ru.bclib.registry.ItemsRegistry;
|
import ru.bclib.registry.ItemRegistry;
|
||||||
|
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ public class ItemEntry extends ComplexMaterialEntry {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Item init(ComplexMaterial material, FabricItemSettings itemSettings, ItemsRegistry registry) {
|
public Item init(ComplexMaterial material, FabricItemSettings itemSettings, ItemRegistry registry) {
|
||||||
ResourceLocation location = getLocation(material.getModID(), material.getBaseName());
|
ResourceLocation location = getLocation(material.getModID(), material.getBaseName());
|
||||||
Item item = initFunction.apply(material, itemSettings);
|
Item item = initFunction.apply(material, itemSettings);
|
||||||
registry.register(location, item);
|
registry.register(location, item);
|
||||||
|
|
|
@ -9,8 +9,8 @@ import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import ru.bclib.interfaces.CustomItemProvider;
|
import ru.bclib.interfaces.CustomItemProvider;
|
||||||
|
|
||||||
public abstract class BlocksRegistry extends BaseRegistry<Block> {
|
public abstract class BlockRegistry extends BaseRegistry<Block> {
|
||||||
protected BlocksRegistry(CreativeModeTab creativeTab) {
|
protected BlockRegistry(CreativeModeTab creativeTab) {
|
||||||
super(creativeTab);
|
super(creativeTab);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,9 +29,9 @@ import ru.bclib.items.tool.BaseHoeItem;
|
||||||
import ru.bclib.items.tool.BasePickaxeItem;
|
import ru.bclib.items.tool.BasePickaxeItem;
|
||||||
import ru.bclib.api.TagAPI;
|
import ru.bclib.api.TagAPI;
|
||||||
|
|
||||||
public abstract class ItemsRegistry extends BaseRegistry<Item> {
|
public abstract class ItemRegistry extends BaseRegistry<Item> {
|
||||||
|
|
||||||
protected ItemsRegistry(CreativeModeTab creativeTab) {
|
protected ItemRegistry(CreativeModeTab creativeTab) {
|
||||||
super(creativeTab);
|
super(creativeTab);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue