Additional Blocks and Items registry helpers

This commit is contained in:
Aleksey 2021-06-07 11:34:16 +03:00
parent 09f5cd60fa
commit ee77b07561
7 changed files with 22 additions and 13 deletions

View file

@ -24,11 +24,7 @@ import ru.betterend.events.ItemTooltipCallback;
import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.interfaces.MultiModelItem;
import ru.betterend.item.CrystaliteArmor;
import ru.betterend.registry.EndBlockEntityRenders;
import ru.betterend.registry.EndEntitiesRenders;
import ru.betterend.registry.EndModelProviders;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndScreens;
import ru.betterend.registry.*;
public class BetterEndClient implements ClientModInitializer {
@Override
@ -79,7 +75,7 @@ public class BetterEndClient implements ClientModInitializer {
}
private static void registerRenderers() {
List<Item> modBlocks = BaseRegistry.getModBlocks(BetterEnd.MOD_ID);
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)

View file

@ -80,11 +80,11 @@ public class REIPlugin implements REIPluginV0 {
}
static {
List<EntryStack> anvils = Lists.newArrayList(EntryStack.ofItems(EndItems.getModBlocks(BetterEnd.MOD_ID).stream()
List<EntryStack> anvils = Lists.newArrayList(EntryStack.ofItems(EndBlocks.getModBlocks().stream()
.filter(item -> ((BlockItem) item).getBlock() instanceof EndAnvilBlock).collect(Collectors.toList())));
anvils.add(0, EntryStack.create(Blocks.ANVIL));
ANVILS = anvils.toArray(new EntryStack[0]);
FURNACES = Lists.newArrayList(EntryStack.ofItems(EndItems.getModBlocks(BetterEnd.MOD_ID).stream()
FURNACES = Lists.newArrayList(EntryStack.ofItems(EndBlocks.getModBlocks().stream()
.filter(item -> ((BlockItem) item).getBlock() instanceof EndFurnaceBlock).collect(Collectors.toList())))
.toArray(new EntryStack[0]);
}

View file

@ -36,7 +36,7 @@ public class EndBlockEntities {
public static void register() {}
static Block[] getPedestals() {
return BaseRegistry.getRegisteredBlocks().values().stream()
return EndBlocks.getModBlocks().stream()
.filter(item -> item instanceof BlockItem)
.map(item -> ((BlockItem) item).getBlock())
.filter(block -> block instanceof PedestalBlock &&

View file

@ -1,5 +1,6 @@
package ru.betterend.registry;
import net.minecraft.world.item.Item;
import org.jetbrains.annotations.NotNull;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
@ -44,6 +45,8 @@ import ru.betterend.item.material.EndArmorMaterial;
import ru.betterend.item.material.EndToolMaterial;
import ru.betterend.tab.CreativeTabs;
import java.util.List;
public class EndBlocks extends BlocksRegistry {
// Terrain //
public static final Block ENDSTONE_DUST = registerBlock("endstone_dust", new EndstoneDustBlock());
@ -329,6 +332,10 @@ public class EndBlocks extends BlocksRegistry {
super(creativeTab);
}
public static List<Item> getModBlocks() {
return getModBlocks(BetterEnd.MOD_ID);
}
public static Block registerBlock(ResourceLocation id, Block block) {
if (!Configs.BLOCK_CONFIG.getBooleanRoot(id.getPath(), true)) {
return block;

View file

@ -39,6 +39,8 @@ import ru.betterend.item.material.EndToolMaterial;
import ru.betterend.item.tool.EndHammerItem;
import ru.betterend.tab.CreativeTabs;
import java.util.List;
public class EndItems extends ItemsRegistry {
// Materials //
public final static Item ENDER_DUST = registerEndItem("ender_dust");
@ -127,6 +129,10 @@ public class EndItems extends ItemsRegistry {
super(creativeTab);
}
public static List<Item> getModItems() {
return getModItems(BetterEnd.MOD_ID);
}
public static Item registerEndDisc(String name, int power, SoundEvent sound) {
return getItemRegistry().registerDisc(name, power, sound);
}

View file

@ -82,7 +82,7 @@ public class EndTags {
TagAPI.addEndGround(EndBlocks.ENDSTONE_DUST);
TagAPI.addEndGround(EndBlocks.AMBER_ORE);
EndItems.getModBlocks(BetterEnd.MOD_ID).forEach(blockItem -> {
EndBlocks.getModBlocks().forEach(blockItem -> {
Block block = ((BlockItem) blockItem).getBlock();
if (block instanceof EndTerrainBlock) {
TagAPI.addEndGround(block);

View file

@ -16,12 +16,12 @@ public class CreativeTabs {
static {
TAB_BLOCKS = FabricItemGroupBuilder.create(BetterEnd.makeID("end_blocks"))
.icon(() -> new ItemStack(EndBlocks.END_MYCELIUM)).appendItems(stacks -> {
stacks.addAll(EndItems.getModBlocks(BetterEnd.MOD_ID).stream()
stacks.addAll(EndBlocks.getModBlocks().stream()
.map(ItemStack::new).collect(Collectors.toList()));
}).build();
TAB_ITEMS = FabricItemGroupBuilder.create(BetterEnd.makeID("end_items"))
.icon(() -> new ItemStack(EndItems.ETERNAL_CRYSTAL)).appendItems(stacks -> {
stacks.addAll(EndItems.getModItems(BetterEnd.MOD_ID).stream()
stacks.addAll(EndItems.getModItems().stream()
.map(ItemStack::new).collect(Collectors.toList()));
}).build();
}