Composters prototype
This commit is contained in:
parent
2008be1a6b
commit
e2930887e3
8 changed files with 208 additions and 3 deletions
45
src/main/java/ru/betterend/blocks/basis/BlockComposter.java
Normal file
45
src/main/java/ru/betterend/blocks/basis/BlockComposter.java
Normal file
|
@ -0,0 +1,45 @@
|
|||
package ru.betterend.blocks.basis;
|
||||
|
||||
import java.io.Reader;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.ComposterBlock;
|
||||
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.patterns.BlockPatterned;
|
||||
import ru.betterend.patterns.Patterns;
|
||||
|
||||
public class BlockComposter extends ComposterBlock implements BlockPatterned {
|
||||
public BlockComposter(Block source) {
|
||||
super(FabricBlockSettings.copyOf(source));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDroppedStacks(BlockState state, LootContext.Builder builder) {
|
||||
return Collections.singletonList(new ItemStack(this.asItem()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStatesPattern(Reader data) {
|
||||
String blockId = Registry.BLOCK.getId(this).getPath();
|
||||
return Patterns.createJson(data, blockId, blockId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModelPattern(String block) {
|
||||
Identifier blockId = Registry.BLOCK.getId(this);
|
||||
String blockName = blockId.getPath();
|
||||
return Patterns.createJson(Patterns.BLOCK_COMPOSTER, blockName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier statePatternId() {
|
||||
return Patterns.STATE_COMPOSTER;
|
||||
}
|
||||
}
|
|
@ -16,6 +16,7 @@ import ru.betterend.blocks.basis.BlockBarrel;
|
|||
import ru.betterend.blocks.basis.BlockBase;
|
||||
import ru.betterend.blocks.basis.BlockBookshelf;
|
||||
import ru.betterend.blocks.basis.BlockChest;
|
||||
import ru.betterend.blocks.basis.BlockComposter;
|
||||
import ru.betterend.blocks.basis.BlockCraftingTable;
|
||||
import ru.betterend.blocks.basis.BlockDoor;
|
||||
import ru.betterend.blocks.basis.BlockFence;
|
||||
|
@ -59,6 +60,7 @@ public class WoodenMaterial {
|
|||
public final Block chest;
|
||||
public final Block barrel;
|
||||
public final Block shelf;
|
||||
public final Block composter;
|
||||
|
||||
public final Tag.Identified<Block> logBlockTag;
|
||||
public final Tag.Identified<Item> logItemTag;
|
||||
|
@ -89,6 +91,7 @@ public class WoodenMaterial {
|
|||
chest = EndBlocks.registerBlock(name + "_chest", new BlockChest(planks));
|
||||
barrel = EndBlocks.registerBlock(name + "_barrel", new BlockBarrel(planks));
|
||||
shelf = EndBlocks.registerBlock(name + "_bookshelf", new BlockBookshelf(planks));
|
||||
composter = EndBlocks.registerBlock(name + "_composter", new BlockComposter(planks));
|
||||
|
||||
// Recipes //
|
||||
GridRecipe.make(name + "_planks", planks).setOutputCount(4).setList("#").addMaterial('#', log, bark, log_stripped, bark_stripped).setGroup("end_planks").build();
|
||||
|
@ -108,6 +111,7 @@ public class WoodenMaterial {
|
|||
GridRecipe.make(name + "_bookshelf", shelf).setShape("###", "PPP", "###").addMaterial('#', planks).addMaterial('P', Items.PAPER).setGroup("end_bookshelves").build();
|
||||
GridRecipe.make(name + "_bark", bark).setShape("##", "##").addMaterial('#', log).setOutputCount(3).build();
|
||||
GridRecipe.make(name + "_log", log).setShape("##", "##").addMaterial('#', bark).setOutputCount(3).build();
|
||||
GridRecipe.make(name + "_composter", composter).setShape("# #", "# #", "###").addMaterial('#', slab).build();
|
||||
|
||||
// Item Tags //
|
||||
TagHelper.addTag(ItemTags.PLANKS, planks);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue