Removed Property Dependencies

This commit is contained in:
Frank 2022-07-13 00:12:16 +02:00
parent 9753373429
commit 9e3ba00db8
40 changed files with 93 additions and 121 deletions

View file

@ -12,9 +12,9 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.registry.FlammableBlockRegistry;
import com.google.common.collect.Lists;
@ -62,8 +62,8 @@ public abstract class ComplexMaterial {
public ComplexMaterial init(BlockRegistry blocksRegistry, ItemRegistry itemsRegistry, PathConfig recipeConfig) {
initTags();
final FabricBlockSettings blockSettings = getBlockSettings();
final FabricItemSettings itemSettings = getItemSettings(itemsRegistry);
final BlockBehaviour.Properties blockSettings = getBlockSettings();
final Item.Properties itemSettings = getItemSettings(itemsRegistry);
initDefault(blockSettings, itemSettings);
getBlockEntries().forEach(entry -> {
@ -88,10 +88,11 @@ public abstract class ComplexMaterial {
/**
* Init default content for {@link ComplexMaterial} - blocks and items.
*
* @param blockSettings {@link FabricBlockSettings} default block settings for this material;
* @param itemSettings {@link FabricItemSettings} default item settings for this material.
* @param blockSettings {@link BlockBehaviour.Properties} default block settings for this material;
* @param itemSettings {@link Item.Properties} default item settings for this material.
*/
protected abstract void initDefault(FabricBlockSettings blockSettings, FabricItemSettings itemSettings);
protected abstract void initDefault(BlockBehaviour.Properties blockSettings, Item.Properties itemSettings);
/**
* Init custom tags for this {@link ComplexMaterial}, not required.
@ -178,16 +179,15 @@ public abstract class ComplexMaterial {
/**
* Get default block settings for this material.
*
* @return {@link FabricBlockSettings}
* @return {@link BlockBehaviour.Properties}
*/
protected abstract FabricBlockSettings getBlockSettings();
protected abstract BlockBehaviour.Properties getBlockSettings();
/**
* Get default item settings for this material.
*
* @return {@link FabricItemSettings}
* @return {@link Item.Properties}
*/
protected FabricItemSettings getItemSettings(ItemRegistry registry) {
protected Item.Properties getItemSettings(ItemRegistry registry) {
return registry.makeItemSettings();
}

View file

@ -8,26 +8,25 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.world.level.block.state.BlockBehaviour;
import java.util.function.BiFunction;
public class BlockEntry extends ComplexMaterialEntry {
final BiFunction<ComplexMaterial, FabricBlockSettings, Block> initFunction;
final BiFunction<ComplexMaterial, BlockBehaviour.Properties, Block> initFunction;
final boolean hasItem;
TagKey<Block>[] blockTags;
TagKey<Item>[] itemTags;
public BlockEntry(String suffix, BiFunction<ComplexMaterial, FabricBlockSettings, Block> initFunction) {
public BlockEntry(String suffix, BiFunction<ComplexMaterial, BlockBehaviour.Properties, Block> initFunction) {
this(suffix, true, initFunction);
}
public BlockEntry(
String suffix,
boolean hasItem,
BiFunction<ComplexMaterial, FabricBlockSettings, Block> initFunction
BiFunction<ComplexMaterial, BlockBehaviour.Properties, Block> initFunction
) {
super(suffix);
this.initFunction = initFunction;
@ -46,7 +45,7 @@ public class BlockEntry extends ComplexMaterialEntry {
return this;
}
public Block init(ComplexMaterial material, FabricBlockSettings blockSettings, BlockRegistry registry) {
public Block init(ComplexMaterial material, BlockBehaviour.Properties blockSettings, BlockRegistry registry) {
ResourceLocation location = getLocation(material.getModID(), material.getBaseName());
Block block = initFunction.apply(material, blockSettings);
if (hasItem) {

View file

@ -8,16 +8,14 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import java.util.function.BiFunction;
public class ItemEntry extends ComplexMaterialEntry {
final BiFunction<ComplexMaterial, FabricItemSettings, Item> initFunction;
final BiFunction<ComplexMaterial, Item.Properties, Item> initFunction;
TagKey<Item>[] itemTags;
public ItemEntry(String suffix, BiFunction<ComplexMaterial, FabricItemSettings, Item> initFunction) {
public ItemEntry(String suffix, BiFunction<ComplexMaterial, Item.Properties, Item> initFunction) {
super(suffix);
this.initFunction = initFunction;
}
@ -27,7 +25,7 @@ public class ItemEntry extends ComplexMaterialEntry {
return this;
}
public Item init(ComplexMaterial material, FabricItemSettings itemSettings, ItemRegistry registry) {
public Item init(ComplexMaterial material, Item.Properties itemSettings, ItemRegistry registry) {
ResourceLocation location = getLocation(material.getModID(), material.getBaseName());
Item item = initFunction.apply(material, itemSettings);
registry.register(location, item);