EndBlocks.getModBlocks returns blocks instead of items;

Pedestals unique BlockEntity check;
This commit is contained in:
Aleksey 2021-06-07 12:14:18 +03:00
parent 5cf843bde7
commit ff4ef86c6d
9 changed files with 58 additions and 71 deletions

View file

@ -1,7 +1,5 @@
package ru.betterend.client;
import java.util.List;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.minecraft.ChatFormatting;
@ -10,13 +8,11 @@ import net.minecraft.core.Registry;
import net.minecraft.network.chat.Style;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
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.BaseRegistry;
import ru.bclib.util.TranslationHelper;
import ru.betterend.BetterEnd;
import ru.betterend.client.render.ERenderLayer;
@ -26,6 +22,8 @@ import ru.betterend.interfaces.MultiModelItem;
import ru.betterend.item.CrystaliteArmor;
import ru.betterend.registry.*;
import java.util.List;
public class BetterEndClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
@ -75,10 +73,8 @@ public class BetterEndClient implements ClientModInitializer {
}
private static void registerRenderers() {
List<Item> modBlocks = EndBlocks.getModBlocks();
modBlocks.stream().filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseChestBlock)
.map(item -> ((BlockItem) item).getBlock()).forEach(BaseChestBlockEntityRenderer::registerRenderLayer);
modBlocks.stream().filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseSignBlock)
.map(item -> ((BlockItem) item).getBlock()).forEach(BaseSignBlockEntityRenderer::registerRenderLayer);
List<Block> modBlocks = EndBlocks.getModBlocks();
modBlocks.stream().filter(BaseChestBlock.class::isInstance).forEach(BaseChestBlockEntityRenderer::registerRenderLayer);
modBlocks.stream().filter(BaseSignBlock.class::isInstance).forEach(BaseSignBlockEntityRenderer::registerRenderLayer);
}
}