Door and Sapling patterns
This commit is contained in:
parent
04f4b5576f
commit
c955d3032e
11 changed files with 249 additions and 14 deletions
|
@ -1,5 +1,6 @@
|
|||
package ru.betterend.blocks.basis;
|
||||
|
||||
import java.io.Reader;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -10,10 +11,13 @@ import net.minecraft.block.DoorBlock;
|
|||
import net.minecraft.block.enums.DoubleBlockHalf;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.loot.context.LootContext;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import ru.betterend.client.ERenderLayer;
|
||||
import ru.betterend.client.IRenderTypeable;
|
||||
import ru.betterend.client.IRenderTypeable;
|
||||
import ru.betterend.interfaces.Patterned;
|
||||
|
||||
public class BlockDoor extends DoorBlock implements IRenderTypeable {
|
||||
public class BlockDoor extends DoorBlock implements IRenderTypeable, Patterned {
|
||||
public BlockDoor(Block block) {
|
||||
super(FabricBlockSettings.copy(block).nonOpaque());
|
||||
}
|
||||
|
@ -30,4 +34,33 @@ public class BlockDoor extends DoorBlock implements IRenderTypeable {
|
|||
public ERenderLayer getRenderLayer() {
|
||||
return ERenderLayer.CUTOUT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStatesPattern(Reader data, String block) {
|
||||
Identifier blockId = Registry.BLOCK.getId(this);
|
||||
return Patterned.createJson(data, blockId, block);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModelPattern(String block) {
|
||||
Identifier blockId = Registry.BLOCK.getId(this);
|
||||
if (block.contains("item")) {
|
||||
block = block.split("/")[1];
|
||||
return Patterned.createJson(Patterned.ITEM_MODEL, block);
|
||||
}
|
||||
if (block.contains("top_hinge")) {
|
||||
return Patterned.createJson(Patterned.DOOR_MODEL_TOP_HINGE, blockId, block);
|
||||
}
|
||||
if (block.contains("bottom_hinge")) {
|
||||
return Patterned.createJson(Patterned.DOOR_MODEL_BOTTOM_HINGE, blockId, block);
|
||||
}
|
||||
if (block.contains("top")) {
|
||||
return Patterned.createJson(Patterned.DOOR_MODEL_TOP, blockId, block);
|
||||
}
|
||||
return Patterned.createJson(Patterned.DOOR_MODEL_BOTTOM, blockId, block);
|
||||
}
|
||||
|
||||
public Identifier statePatternId() {
|
||||
return Patterned.DOOR_STATES_PATTERN;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package ru.betterend.blocks.basis;
|
||||
|
||||
import java.io.Reader;
|
||||
import java.util.Random;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
|
@ -11,8 +12,10 @@ import net.minecraft.block.Material;
|
|||
import net.minecraft.block.ShapeContext;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import net.minecraft.util.shape.VoxelShape;
|
||||
import net.minecraft.world.BlockView;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -21,6 +24,7 @@ import net.minecraft.world.WorldView;
|
|||
import net.minecraft.world.gen.feature.Feature;
|
||||
import ru.betterend.client.ERenderLayer;
|
||||
import ru.betterend.client.IRenderTypeable;
|
||||
import ru.betterend.interfaces.Patterned;
|
||||
import ru.betterend.registry.BlockTagRegistry;
|
||||
import ru.betterend.util.BlocksHelper;
|
||||
|
||||
|
@ -96,4 +100,24 @@ public abstract class BlockFeatureSapling extends BlockBaseNotFull implements Fe
|
|||
public ERenderLayer getRenderLayer() {
|
||||
return ERenderLayer.CUTOUT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStatesPattern(Reader data, String block) {
|
||||
Identifier blockId = Registry.BLOCK.getId(this);
|
||||
return Patterned.createJson(data, blockId, block);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModelPattern(String block) {
|
||||
if (block.contains("item")) {
|
||||
block = block.split("/")[1];
|
||||
return Patterned.createJson(Patterned.ITEM_MODEL, block);
|
||||
}
|
||||
return Patterned.createJson(Patterned.SAPLING_MODEL, block);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier statePatternId() {
|
||||
return Patterned.SAPLING_STATES_PATTERN;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue