More wooden materials, gui, mixins, registries

This commit is contained in:
paulevsGitch 2020-09-26 16:36:48 +03:00
parent 6ec2b53edd
commit 720103bd45
97 changed files with 2414 additions and 14 deletions

View file

@ -0,0 +1,77 @@
package ru.betterend.registry;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.block.Block;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.item.BlockItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import ru.betterend.BetterEnd;
import ru.betterend.blocks.basis.BlockBarrel;
import ru.betterend.blocks.basis.BlockChest;
import ru.betterend.blocks.basis.BlockSign;
import ru.betterend.blocks.entities.EBarrelBlockEntity;
import ru.betterend.blocks.entities.EChestBlockEntity;
import ru.betterend.blocks.entities.ESignBlockEntity;
public class BlockEntityRegistry
{
public static final BlockEntityType<EChestBlockEntity> CHEST = BlockEntityType.Builder.create(EChestBlockEntity::new, getChests()).build(null);
public static final BlockEntityType<EBarrelBlockEntity> BARREL = BlockEntityType.Builder.create(EBarrelBlockEntity::new, getBarrels()).build(null);
public static final BlockEntityType<ESignBlockEntity> SIGN = BlockEntityType.Builder.create(ESignBlockEntity::new, getSigns()).build(null);
public static void register() {
RegisterBlockEntity("chest", CHEST);
RegisterBlockEntity("barrel", BARREL);
RegisterBlockEntity("sign", SIGN);
}
public static void RegisterBlockEntity(String name, BlockEntityType<? extends BlockEntity> type) {
Registry.register(Registry.BLOCK_ENTITY_TYPE, new Identifier(BetterEnd.MOD_ID, name), type);
}
private static Block[] getChests() {
List<Block> result = Lists.newArrayList();
ItemRegistry.getModBlocks().forEach((item) -> {
if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock();
if (block instanceof BlockChest) {
result.add(block);
}
}
});
return result.toArray(new Block[] {});
}
private static Block[] getBarrels()
{
List<Block> result = Lists.newArrayList();
ItemRegistry.getModBlocks().forEach((item) -> {
if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock();
if (block instanceof BlockBarrel) {
result.add(block);
}
}
});
return result.toArray(new Block[] {});
}
private static Block[] getSigns()
{
List<Block> result = Lists.newArrayList();
ItemRegistry.getModBlocks().forEach((item) -> {
if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock();
if (block instanceof BlockSign) {
result.add(block);
}
}
});
return result.toArray(new Block[] {});
}
}

View file

@ -0,0 +1,15 @@
package ru.betterend.registry;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.rendereregistry.v1.BlockEntityRendererRegistry;
import ru.betterend.blocks.entities.render.EChestBlockEntityRenderer;
import ru.betterend.blocks.entities.render.ESignBlockEntityRenderer;
public class BlockEntityRenderRegistry {
@Environment(EnvType.CLIENT)
public static void register() {
BlockEntityRendererRegistry.INSTANCE.register(BlockEntityRegistry.CHEST, EChestBlockEntityRenderer::new);
BlockEntityRendererRegistry.INSTANCE.register(BlockEntityRegistry.SIGN, ESignBlockEntityRenderer::new);
}
}

View file

@ -14,6 +14,7 @@ import ru.betterend.blocks.BlockTerrain;
import ru.betterend.blocks.EndStoneSmelter;
import ru.betterend.blocks.EnderBlock;
import ru.betterend.blocks.TerminiteBlock;
import ru.betterend.blocks.complex.WoodenMaterial;
import ru.betterend.tab.CreativeTab;
public class BlockRegistry {
@ -22,6 +23,9 @@ public class BlockRegistry {
public static final Block END_MYCELIUM = registerBlock("end_mycelium", new BlockTerrain(MaterialColor.LIGHT_BLUE));
public static final Block END_MOSS = registerBlock("end_moss", new BlockTerrain(MaterialColor.CYAN));
// Wooden Materials //
public static final WoodenMaterial MOSSY_GLOWSHROOM = new WoodenMaterial("mossy_glowshroom", MaterialColor.GRAY, MaterialColor.WOOD);
// Ores //
public static final Block ENDER_ORE = registerBlock("ender_ore", new BlockOre(ItemRegistry.ENDER_DUST, 1, 3));
@ -30,7 +34,7 @@ public class BlockRegistry {
public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock());
public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock());
// BlockEntities //
// Block With Entities //
public static final Block END_STONE_SMELTER = registerBlock("end_stone_smelter", new EndStoneSmelter());
public static void register() {}