Change loading models (WIP)

This commit is contained in:
Aleksey 2021-05-14 16:46:26 +03:00
parent 1e6451e375
commit 6447ec6026
56 changed files with 196 additions and 176 deletions

View file

@ -21,10 +21,10 @@ import net.minecraft.world.phys.shapes.VoxelShape;
import ru.betterend.blocks.basis.EndLanternBlock;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class BulbVineLanternBlock extends EndLanternBlock implements IRenderTypeable, BlockPatterned {
public class BulbVineLanternBlock extends EndLanternBlock implements IRenderTypeable, BlockModelProvider {
private static final VoxelShape SHAPE_CEIL = Block.box(4, 4, 4, 12, 16, 12);
private static final VoxelShape SHAPE_FLOOR = Block.box(4, 0, 4, 12, 12, 12);

View file

@ -19,10 +19,10 @@ import net.minecraft.world.phys.shapes.VoxelShape;
import ru.betterend.blocks.basis.AttachedBlock;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class ChandelierBlock extends AttachedBlock implements IRenderTypeable, BlockPatterned {
public class ChandelierBlock extends AttachedBlock implements IRenderTypeable, BlockModelProvider {
private static final EnumMap<Direction, VoxelShape> BOUNDING_SHAPES = Maps.newEnumMap(Direction.class);
public ChandelierBlock(Block source) {

View file

@ -27,10 +27,10 @@ import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EmeraldIceBlock extends HalfTransparentBlock implements IRenderTypeable, BlockPatterned {
public class EmeraldIceBlock extends HalfTransparentBlock implements IRenderTypeable, BlockModelProvider {
public EmeraldIceBlock() {
super(FabricBlockSettings.copyOf(Blocks.ICE));
}

View file

@ -25,11 +25,11 @@ import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IColorProvider;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.noise.OpenSimplexNoise;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
import ru.betterend.util.MHelper;
public class JellyshroomCapBlock extends SlimeBlock implements IRenderTypeable, BlockPatterned, IColorProvider {
public class JellyshroomCapBlock extends SlimeBlock implements IRenderTypeable, BlockModelProvider, IColorProvider {
public static final IntegerProperty COLOR = BlockProperties.COLOR;
private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0);
private final Vec3i colorStart;

View file

@ -26,12 +26,12 @@ import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.noise.OpenSimplexNoise;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
import ru.betterend.registry.EndBlocks;
import ru.betterend.util.MHelper;
public class UmbrellaTreeMembraneBlock extends SlimeBlock implements IRenderTypeable, BlockPatterned {
public class UmbrellaTreeMembraneBlock extends SlimeBlock implements IRenderTypeable, BlockModelProvider {
public static final IntegerProperty COLOR = BlockProperties.COLOR;
private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0);

View file

@ -3,9 +3,12 @@ package ru.betterend.blocks.basis;
import java.io.Reader;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.client.renderer.block.model.MultiVariant;
import net.minecraft.client.resources.model.UnbakedModel;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.state.BlockState;
import org.apache.commons.lang3.tuple.Triple;
import ru.betterend.patterns.Patterns;
public class BarkBlock extends EndPillarBlock {
@ -26,7 +29,7 @@ public class BarkBlock extends EndPillarBlock {
}
@Override
public BlockModel getBlockModel(BlockState blockState) {
public Triple<ResourceLocation, MultiVariant, BlockModel> getBlockModels(BlockState blockState) {
return null;
}

View file

@ -5,16 +5,18 @@ import java.util.Collections;
import java.util.List;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.client.renderer.block.model.MultiVariant;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import org.apache.commons.lang3.tuple.Triple;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class BlockBase extends Block implements BlockPatterned {
public class BlockBase extends Block implements BlockModelProvider {
public BlockBase(Properties settings) {
super(settings);
}
@ -37,8 +39,8 @@ public class BlockBase extends Block implements BlockPatterned {
}
@Override
public BlockModel getItemModel() {
return getBlockModel(defaultBlockState());
public BlockModel getModel() {
return getBlockModels(defaultBlockState());
}
@Override
@ -47,7 +49,7 @@ public class BlockBase extends Block implements BlockPatterned {
}
@Override
public BlockModel getBlockModel(BlockState blockState) {
public Triple<ResourceLocation, MultiVariant, BlockModel> getBlockModels(BlockState blockState) {
return BlockModel.fromString(getModelString(""));
}
}

View file

@ -11,6 +11,7 @@ import com.mojang.math.Transformation;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.client.renderer.block.model.MultiVariant;
import net.minecraft.client.renderer.block.model.Variant;
import net.minecraft.core.Direction;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
@ -23,11 +24,12 @@ import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.IntegerProperty;
import net.minecraft.world.level.material.MaterialColor;
import net.minecraft.world.level.storage.loot.LootContext;
import org.apache.commons.lang3.tuple.Triple;
import ru.betterend.blocks.BlockProperties;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndAnvilBlock extends AnvilBlock implements BlockPatterned {
public class EndAnvilBlock extends AnvilBlock implements BlockModelProvider {
private static final IntegerProperty DESTRUCTION = BlockProperties.DESTRUCTION;
protected final int level;
@ -73,11 +75,6 @@ public class EndAnvilBlock extends AnvilBlock implements BlockPatterned {
return Patterns.createJson(Patterns.BLOCK_ANVIL, map);
}
@Override
public BlockModel getItemModel() {
return getBlockModel(defaultBlockState());
}
protected String getTop(ResourceLocation blockId, String block) {
if (block.contains("item")) {
return blockId.getPath() + "_top_0";
@ -92,16 +89,25 @@ public class EndAnvilBlock extends AnvilBlock implements BlockPatterned {
}
@Override
public BlockModel getBlockModel(BlockState blockState) {
public BlockModel getModel() {
return null;
}
@Override
public Triple<ResourceLocation, MultiVariant, BlockModel> getBlockModels(BlockState blockState) {
Direction facing = blockState.getValue(FACING);
int destruction = blockState.getValue(DESTRUCTION);
MultiVariant variant;
Transformation transform;
ResourceLocation blockId = Registry.BLOCK.getKey(this);
ResourceLocation modelId = new ResourceLocation(blockId.getNamespace(),
blockId.getPath() + "/" + facing + "/destruction_" + destruction);
Transformation transform = new Transformation(null, facing.getRotation(), null, null);
Variant variant = new Variant(modelId, transform, false, 1);
MultiVariant weightedModel = new MultiVariant(Collections.singletonList(variant));
Map<String, String> map = Maps.newHashMap();
map.put("%anvil%", blockId.getPath());
map.put("%top%", "_top_" + destruction);
String jsonString = Patterns.createJson(Patterns.BLOCK_ANVIL, map);
return BlockModel.fromString(jsonString);
BlockModel blockModel = BlockModel.fromString(jsonString);
return Triple.of(modelId, weightedModel, blockModel);
}
}

View file

@ -26,11 +26,11 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.phys.BlockHitResult;
import ru.betterend.blocks.entities.EBarrelBlockEntity;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
import ru.betterend.registry.EndBlockEntities;
public class EndBarrelBlock extends BarrelBlock implements BlockPatterned {
public class EndBarrelBlock extends BarrelBlock implements BlockModelProvider {
public EndBarrelBlock(Block source) {
super(FabricBlockSettings.copyOf(source).noOcclusion());
}

View file

@ -15,10 +15,10 @@ import net.minecraft.world.level.material.MaterialColor;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndChainBlock extends ChainBlock implements BlockPatterned, IRenderTypeable {
public class EndChainBlock extends ChainBlock implements BlockModelProvider, IRenderTypeable {
public EndChainBlock(MaterialColor color) {
super(FabricBlockSettings.copyOf(Blocks.CHAIN).materialColor(color));
}

View file

@ -13,11 +13,11 @@ import net.minecraft.world.level.block.ChestBlock;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
import ru.betterend.registry.EndBlockEntities;
public class EndChestBlock extends ChestBlock implements BlockPatterned {
public class EndChestBlock extends ChestBlock implements BlockModelProvider {
private final Block parent;
public EndChestBlock(Block source) {

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.ComposterBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndComposterBlock extends ComposterBlock implements BlockPatterned {
public class EndComposterBlock extends ComposterBlock implements BlockModelProvider {
public EndComposterBlock(Block source) {
super(FabricBlockSettings.copyOf(source));
}

View file

@ -13,10 +13,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.CraftingTableBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndCraftingTableBlock extends CraftingTableBlock implements BlockPatterned {
public class EndCraftingTableBlock extends CraftingTableBlock implements BlockModelProvider {
public EndCraftingTableBlock(Block source) {
super(FabricBlockSettings.copyOf(source));
}

View file

@ -15,10 +15,10 @@ import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndDoorBlock extends DoorBlock implements IRenderTypeable, BlockPatterned {
public class EndDoorBlock extends DoorBlock implements IRenderTypeable, BlockModelProvider {
public EndDoorBlock(Block source) {
super(FabricBlockSettings.copyOf(source).strength(3F, 3F).noOcclusion());
}

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.FenceBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndFenceBlock extends FenceBlock implements BlockPatterned {
public class EndFenceBlock extends FenceBlock implements BlockModelProvider {
private final Block parent;
public EndFenceBlock(Block source) {

View file

@ -26,10 +26,10 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
import ru.betterend.blocks.entities.EFurnaceBlockEntity;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndFurnaceBlock extends FurnaceBlock implements BlockPatterned, IRenderTypeable {
public class EndFurnaceBlock extends FurnaceBlock implements BlockModelProvider, IRenderTypeable {
public EndFurnaceBlock(Block source) {
super(FabricBlockSettings.copyOf(source).luminance((state) -> {
return state.getValue(LIT) ? 13 : 0;

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.FenceGateBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndGateBlock extends FenceGateBlock implements BlockPatterned {
public class EndGateBlock extends FenceGateBlock implements BlockModelProvider {
private final Block parent;
public EndGateBlock(Block source) {

View file

@ -27,11 +27,11 @@ import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
import ru.betterend.util.BlocksHelper;
public class EndLadderBlock extends BlockBaseNotFull implements IRenderTypeable, BlockPatterned {
public class EndLadderBlock extends BlockBaseNotFull implements IRenderTypeable, BlockModelProvider {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED;
protected static final VoxelShape EAST_SHAPE = Block.box(0.0D, 0.0D, 0.0D, 3.0D, 16.0D, 16.0D);

View file

@ -22,11 +22,11 @@ import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
import ru.betterend.util.MHelper;
public class EndLeavesBlock extends LeavesBlock implements BlockPatterned, IRenderTypeable {
public class EndLeavesBlock extends LeavesBlock implements BlockModelProvider, IRenderTypeable {
private final Block sapling;
public EndLeavesBlock(Block sapling, MaterialColor color) {

View file

@ -17,10 +17,10 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndMetalPaneBlock extends IronBarsBlock implements BlockPatterned, IRenderTypeable {
public class EndMetalPaneBlock extends IronBarsBlock implements BlockModelProvider, IRenderTypeable {
public EndMetalPaneBlock(Block source) {
super(FabricBlockSettings.copyOf(source).strength(5.0F, 6.0F).noOcclusion());
}

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.WeightedPressurePlateBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndMetalPlateBlock extends WeightedPressurePlateBlock implements BlockPatterned {
public class EndMetalPlateBlock extends WeightedPressurePlateBlock implements BlockModelProvider {
private final Block parent;
public EndMetalPlateBlock(Block source) {

View file

@ -20,11 +20,11 @@ import net.minecraft.world.level.material.Material;
import net.minecraft.world.level.material.MaterialColor;
import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
import ru.betterend.util.MHelper;
public class EndOreBlock extends OreBlock implements BlockPatterned {
public class EndOreBlock extends OreBlock implements BlockModelProvider {
private final Item dropItem;
private final int minCount;
private final int maxCount;

View file

@ -13,10 +13,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.RotatedPillarBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public abstract class EndPillarBlock extends RotatedPillarBlock implements BlockPatterned {
public abstract class EndPillarBlock extends RotatedPillarBlock implements BlockModelProvider {
public EndPillarBlock(Properties settings) {
super(settings);
}
@ -31,8 +31,8 @@ public abstract class EndPillarBlock extends RotatedPillarBlock implements Block
}
@Override
public BlockModel getItemModel() {
return getBlockModel(defaultBlockState());
public BlockModel getModel() {
return null;
}
@Override

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.PressurePlateBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndPlateBlock extends PressurePlateBlock implements BlockPatterned {
public class EndPlateBlock extends PressurePlateBlock implements BlockModelProvider {
private final Block parent;
public EndPlateBlock(Sensitivity rule, Block source) {

View file

@ -40,11 +40,11 @@ import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import ru.betterend.blocks.entities.ESignBlockEntity;
import ru.betterend.interfaces.ISpetialItem;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
import ru.betterend.util.BlocksHelper;
public class EndSignBlock extends SignBlock implements BlockPatterned, ISpetialItem {
public class EndSignBlock extends SignBlock implements BlockModelProvider, ISpetialItem {
public static final IntegerProperty ROTATION = BlockStateProperties.ROTATION_16;
public static final BooleanProperty FLOOR = BooleanProperty.create("floor");
private static final VoxelShape[] WALL_SHAPES = new VoxelShape[] {

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SlabBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndSlabBlock extends SlabBlock implements BlockPatterned {
public class EndSlabBlock extends SlabBlock implements BlockModelProvider {
private final Block parent;
public EndSlabBlock(Block source) {

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.StairBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndStairsBlock extends StairBlock implements BlockPatterned {
public class EndStairsBlock extends StairBlock implements BlockModelProvider {
private final Block parent;

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.StoneButtonBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndStoneButtonBlock extends StoneButtonBlock implements BlockPatterned {
public class EndStoneButtonBlock extends StoneButtonBlock implements BlockModelProvider {
private final Block parent;
public EndStoneButtonBlock(Block source) {

View file

@ -15,10 +15,10 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndTrapdoorBlock extends TrapDoorBlock implements IRenderTypeable, BlockPatterned {
public class EndTrapdoorBlock extends TrapDoorBlock implements IRenderTypeable, BlockModelProvider {
public EndTrapdoorBlock(Block source) {
super(FabricBlockSettings.copyOf(source).strength(3.0F, 3.0F).noOcclusion());
}

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.WallBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndWallBlock extends WallBlock implements BlockPatterned {
public class EndWallBlock extends WallBlock implements BlockModelProvider {
private final Block parent;

View file

@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.WoodButtonBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootContext;
import ru.betterend.patterns.BlockPatterned;
import ru.betterend.patterns.BlockModelProvider;
import ru.betterend.patterns.Patterns;
public class EndWoodenButtonBlock extends WoodButtonBlock implements BlockPatterned {
public class EndWoodenButtonBlock extends WoodButtonBlock implements BlockModelProvider {
private final Block parent;
public EndWoodenButtonBlock(Block source) {

View file

@ -27,7 +27,7 @@ import ru.betterend.blocks.basis.EndStairsBlock;
import ru.betterend.blocks.basis.EndTrapdoorBlock;
import ru.betterend.blocks.basis.EndWoodenPlateBlock;
import ru.betterend.item.EndArmorItem;
import ru.betterend.item.PatternedItem;
import ru.betterend.item.ModelProviderItem;
import ru.betterend.item.tool.EndAxeItem;
import ru.betterend.item.tool.EndHammerItem;
import ru.betterend.item.tool.EndHoeItem;
@ -119,8 +119,8 @@ public class MetalMaterial {
bulb_lantern = EndBlocks.registerBlock(name + "_bulb_lantern", new BulbVineLanternBlock(lanternProperties));
bulb_lantern_colored = new ColoredMaterial(BulbVineLanternColoredBlock::new, bulb_lantern, false);
nugget = EndItems.registerItem(name + "_nugget", new PatternedItem(itemSettings));
ingot = EndItems.registerItem(name + "_ingot", new PatternedItem(itemSettings));
nugget = EndItems.registerItem(name + "_nugget", new ModelProviderItem(itemSettings));
ingot = EndItems.registerItem(name + "_ingot", new ModelProviderItem(itemSettings));
shovelHead = EndItems.registerItem(name + "_shovel_head");
pickaxeHead = EndItems.registerItem(name + "_pickaxe_head");