Crafting Table pattern

This commit is contained in:
Aleksey 2020-10-14 12:14:32 +03:00
parent 24ec8637e7
commit 285addfc8b
3 changed files with 48 additions and 2 deletions

View file

@ -1,6 +1,8 @@
package ru.betterend.blocks.basis;
import java.io.Reader;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
@ -9,9 +11,11 @@ import net.minecraft.block.BlockState;
import net.minecraft.block.CraftingTableBlock;
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.interfaces.Patterned;
public class BlockCraftingTable extends CraftingTableBlock
{
public class BlockCraftingTable extends CraftingTableBlock implements Patterned {
public BlockCraftingTable(Block source) {
super(FabricBlockSettings.copyOf(source));
}
@ -20,4 +24,33 @@ public class BlockCraftingTable extends CraftingTableBlock
public List<ItemStack> getDroppedStacks(BlockState state, LootContext.Builder builder) {
return Collections.singletonList(new ItemStack(this.asItem()));
}
@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);
String blockName = blockId.getPath();
return Patterned.createJson(Patterned.SIDED_BLOCK_MODEL, new HashMap<String, String>() {
private static final long serialVersionUID = 1L;
{
put("%particle%", blockName + "_front");
put("%down%", blockName + "_bottom");
put("%up%", blockName + "_top");
put("%north%", blockName + "_front");
put("%south%", blockName + "_side");
put("%west%", blockName + "_front");
put("%east%", blockName + "_side");
}
});
}
@Override
public Identifier statePatternId() {
return Patterned.BLOCK_STATES_PATTERN;
}
}

View file

@ -31,6 +31,7 @@ public interface Patterned {
//Models Block
public final static Identifier BASE_BLOCK_MODEL = BetterEnd.makeID("patterns/block/pattern_block.json");
public final static Identifier SIDED_BLOCK_MODEL = BetterEnd.makeID("patterns/block/pattern_block_sided.json");
public final static Identifier SLAB_BLOCK_MODEL = BetterEnd.makeID("patterns/block/pattern_slab.json");
public final static Identifier STAIRS_MODEL = BetterEnd.makeID("patterns/block/pattern_stairs.json");
public final static Identifier STAIRS_MODEL_INNER = BetterEnd.makeID("patterns/block/pattern_inner_stairs.json");