Update Base Registry, Chests and Signs render fix
This commit is contained in:
parent
d2d9c8d2eb
commit
b7eab022fb
6 changed files with 57 additions and 57 deletions
|
@ -8,7 +8,7 @@ yarn_mappings=6
|
||||||
loader_version=0.11.3
|
loader_version=0.11.3
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version = 0.1.11
|
mod_version = 0.1.12
|
||||||
maven_group = ru.bclib
|
maven_group = ru.bclib
|
||||||
archives_base_name = bclib
|
archives_base_name = bclib
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,24 @@
|
||||||
package ru.bclib.client;
|
package ru.bclib.client;
|
||||||
|
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
|
import ru.bclib.blocks.BaseChestBlock;
|
||||||
|
import ru.bclib.blocks.BaseSignBlock;
|
||||||
|
import ru.bclib.client.render.BaseChestBlockEntityRenderer;
|
||||||
|
import ru.bclib.client.render.BaseSignBlockEntityRenderer;
|
||||||
|
import ru.bclib.registry.BaseBlockEntities;
|
||||||
import ru.bclib.registry.BaseBlockEntityRenders;
|
import ru.bclib.registry.BaseBlockEntityRenders;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
public class BCLibClient implements ClientModInitializer {
|
public class BCLibClient implements ClientModInitializer {
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
BaseBlockEntityRenders.register();
|
BaseBlockEntityRenders.register();
|
||||||
|
Arrays.stream(BaseBlockEntities.getChests()).forEach(chest -> {
|
||||||
|
BaseChestBlockEntityRenderer.registerRenderLayer((BaseChestBlock) chest);
|
||||||
|
});
|
||||||
|
Arrays.stream(BaseBlockEntities.getSigns()).forEach(sign -> {
|
||||||
|
BaseSignBlockEntityRenderer.registerRenderLayer((BaseSignBlock) sign);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
package ru.bclib.registry;
|
package ru.bclib.registry;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
|
|
||||||
import net.minecraft.core.Registry;
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.item.BlockItem;
|
import net.minecraft.world.item.BlockItem;
|
||||||
|
@ -36,55 +32,27 @@ public class BaseBlockEntities {
|
||||||
|
|
||||||
public static void register() {}
|
public static void register() {}
|
||||||
|
|
||||||
private static Block[] getChests() {
|
public static Block[] getChests() {
|
||||||
List<Block> result = Lists.newArrayList();
|
return BaseRegistry.getRegisteredBlocks().values().stream()
|
||||||
BaseRegistry.getModBlocks().forEach((item) -> {
|
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseChestBlock)
|
||||||
if (item instanceof BlockItem) {
|
.map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
|
||||||
Block block = ((BlockItem) item).getBlock();
|
|
||||||
if (block instanceof BaseChestBlock) {
|
|
||||||
result.add(block);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return result.toArray(new Block[] {});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block[] getBarrels() {
|
private static Block[] getBarrels() {
|
||||||
List<Block> result = Lists.newArrayList();
|
return BaseRegistry.getRegisteredBlocks().values().stream()
|
||||||
BaseRegistry.getModBlocks().forEach((item) -> {
|
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseBarrelBlock)
|
||||||
if (item instanceof BlockItem) {
|
.map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
|
||||||
Block block = ((BlockItem) item).getBlock();
|
|
||||||
if (block instanceof BaseBarrelBlock) {
|
|
||||||
result.add(block);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return result.toArray(new Block[] {});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block[] getSigns() {
|
public static Block[] getSigns() {
|
||||||
List<Block> result = Lists.newArrayList();
|
return BaseRegistry.getRegisteredBlocks().values().stream()
|
||||||
BaseRegistry.getModBlocks().forEach((item) -> {
|
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseSignBlock)
|
||||||
if (item instanceof BlockItem) {
|
.map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
|
||||||
Block block = ((BlockItem) item).getBlock();
|
|
||||||
if (block instanceof BaseSignBlock) {
|
|
||||||
result.add(block);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return result.toArray(new Block[] {});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Block[] getFurnaces() {
|
private static Block[] getFurnaces() {
|
||||||
List<Block> result = Lists.newArrayList();
|
return BaseRegistry.getRegisteredBlocks().values().stream()
|
||||||
BaseRegistry.getModBlocks().forEach((item) -> {
|
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseFurnaceBlock)
|
||||||
if (item instanceof BlockItem) {
|
.map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
|
||||||
Block block = ((BlockItem) item).getBlock();
|
|
||||||
if (block instanceof BaseFurnaceBlock) {
|
|
||||||
result.add(block);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return result.toArray(new Block[] {});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package ru.bclib.registry;
|
package ru.bclib.registry;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||||
import net.minecraft.core.Registry;
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -8,24 +9,42 @@ import net.minecraft.world.item.*;
|
||||||
import ru.bclib.BCLib;
|
import ru.bclib.BCLib;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public abstract class BaseRegistry<T> {
|
public abstract class BaseRegistry<T> {
|
||||||
|
|
||||||
private static final List<BaseRegistry<?>> REGISTRIES = Lists.newArrayList();
|
private static final List<BaseRegistry<?>> REGISTRIES = Lists.newArrayList();
|
||||||
|
private static final Map<String, List<Item>> MOD_BLOCKS = Maps.newHashMap();
|
||||||
|
private static final Map<String, List<Item>> MOD_ITEMS = Maps.newHashMap();
|
||||||
|
|
||||||
protected static final List<Item> MOD_BLOCKS = Lists.newArrayList();
|
public static Map<String, List<Item>> getRegisteredBlocks() {
|
||||||
protected static final List<Item> MOD_ITEMS = Lists.newArrayList();
|
|
||||||
|
|
||||||
public static List<Item> getModBlocks() {
|
|
||||||
return MOD_BLOCKS;
|
return MOD_BLOCKS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Item> getModItems() {
|
public static Map<String, List<Item>> getRegisteredItems() {
|
||||||
return MOD_ITEMS;
|
return MOD_ITEMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<Item> getModBlocks(String modId) {
|
||||||
|
if (MOD_BLOCKS.containsKey(modId)) {
|
||||||
|
return MOD_BLOCKS.get(modId);
|
||||||
|
}
|
||||||
|
List<Item> modBlocks = Lists.newArrayList();
|
||||||
|
MOD_BLOCKS.put(modId, modBlocks);
|
||||||
|
return modBlocks;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Item> getModItems(String modId) {
|
||||||
|
if (MOD_ITEMS.containsKey(modId)) {
|
||||||
|
return MOD_ITEMS.get(modId);
|
||||||
|
}
|
||||||
|
List<Item> modBlocks = Lists.newArrayList();
|
||||||
|
MOD_ITEMS.put(modId, modBlocks);
|
||||||
|
return modBlocks;
|
||||||
|
}
|
||||||
|
|
||||||
public static void register() {
|
public static void register() {
|
||||||
REGISTRIES.forEach(BaseRegistry::registerDependency);
|
REGISTRIES.forEach(BaseRegistry::registerInternal);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final CreativeModeTab creativeTab;
|
protected final CreativeModeTab creativeTab;
|
||||||
|
@ -57,5 +76,5 @@ public abstract class BaseRegistry<T> {
|
||||||
return (FabricItemSettings) properties.tab(creativeTab);
|
return (FabricItemSettings) properties.tab(creativeTab);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerDependency() {}
|
private void registerInternal() {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ public abstract class BlocksRegistry extends BaseRegistry<Block> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Item registerBlockItem(ResourceLocation id, Item item) {
|
public Item registerBlockItem(ResourceLocation id, Item item) {
|
||||||
registerItem(id, item, BaseRegistry.MOD_BLOCKS);
|
registerItem(id, item, BaseRegistry.getModBlocks(id.getNamespace()));
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,13 +38,13 @@ public abstract class ItemsRegistry extends BaseRegistry<Item> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Item register(ResourceLocation itemId, Item item) {
|
public Item register(ResourceLocation itemId, Item item) {
|
||||||
registerItem(itemId, item, BaseRegistry.MOD_ITEMS);
|
registerItem(itemId, item, BaseRegistry.getModItems(itemId.getNamespace()));
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TieredItem registerTool(String name, TieredItem item) {
|
public TieredItem registerTool(String name, TieredItem item) {
|
||||||
ResourceLocation id = createModId(name);
|
ResourceLocation id = createModId(name);
|
||||||
registerItem(id, item, BaseRegistry.MOD_ITEMS);
|
registerItem(id, item, BaseRegistry.getModItems(id.getNamespace()));
|
||||||
|
|
||||||
if (item instanceof ShovelItem) {
|
if (item instanceof ShovelItem) {
|
||||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.SHOVELS, item);
|
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.SHOVELS, item);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue