Advertisement
Yurim64

Untitled

May 3rd, 2021
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.75 KB | None | 0 0
  1. @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
  2. public class Blocks implements IModBusEvent {
  3.  
  4.     public static final DeferredRegister<Block> BLOCKS;
  5.     public static final DeferredRegister<Item> ITEMS;
  6.  
  7.     public static final RegistryObject<MiniChest> MINI_CHEST;
  8.  
  9.     static {
  10.         BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, TenChest.MODID);
  11.         ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TenChest.MODID);
  12.         MINI_CHEST = register("mini_chest", MiniChest::new, Blocks::miniChestRenderer);
  13.     }
  14.  
  15.     @OnlyIn(Dist.CLIENT)
  16.     private static Callable<ItemStackTileEntityRenderer> miniChestRenderer() {
  17.         return () -> new BaseChestItemStackRenderer(MiniChestTileEntity::new);
  18.     }
  19.  
  20.     private static <T extends Block> RegistryObject<T> register(String name, Supplier<? extends T> sup, Supplier<Callable<ItemStackTileEntityRenderer>> renderMethod) {
  21.         return register(name, sup, (block) -> item(block, renderMethod));
  22.     }
  23.  
  24.     private static <T extends Block> RegistryObject<T> register(String name, Supplier<? extends T> sup, Function<RegistryObject<T>, Supplier<? extends Item>> itemCreator) {
  25.         RegistryObject<T> ret = registerNoItem(name, sup);
  26.         ITEMS.register(name, (Supplier) itemCreator.apply(ret));
  27.         return ret;
  28.     }
  29.  
  30.     private static <T extends Block> RegistryObject<T> registerNoItem(String name, Supplier<? extends T> sup) {
  31.         return BLOCKS.register(name, sup);
  32.     }
  33.  
  34.     private static Supplier<BlockItem> item(RegistryObject<? extends Block> block, Supplier<Callable<ItemStackTileEntityRenderer>> renderMethod) {
  35.         return () -> new BlockItem(block.get(), (new Item.Properties().tab(TenChest.MOD_GROUP).setISTER(renderMethod)));
  36.     }
  37.  
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement