Advertisement
Junix03

Registration.java

Jan 20th, 2022
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. package com.junix.logicboard.setup;
  2.  
  3. import com.junix.logicboard.Main;
  4. import com.junix.logicboard.blocks.Cable;
  5. import com.junix.logicboard.blocks.Switch;
  6. import net.minecraft.world.item.BlockItem;
  7. import net.minecraft.world.item.CreativeModeTab;
  8. import net.minecraft.world.item.Item;
  9. import net.minecraft.world.item.ItemStack;
  10. import net.minecraft.world.level.block.Block;
  11. import net.minecraft.world.level.block.SoundType;
  12. import net.minecraft.world.level.block.state.BlockBehaviour;
  13. import net.minecraft.world.level.material.Material;
  14. import net.minecraftforge.eventbus.api.IEventBus;
  15. import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
  16. import net.minecraftforge.registries.DeferredRegister;
  17. import net.minecraftforge.registries.ForgeRegistries;
  18. import net.minecraftforge.registries.RegistryObject;
  19.  
  20. public class Registration {
  21.  
  22. public static final CreativeModeTab CREATIVE_MODE_TAB = new CreativeModeTab(Main.MOD_ID) {
  23. @Override
  24. public ItemStack makeIcon() {
  25. return new ItemStack(CABLE_ITEM.get());
  26. }
  27. };
  28.  
  29. public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, Main.MOD_ID);
  30. public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Main.MOD_ID);
  31.  
  32. public static void init() {
  33. IEventBus iEventBus = FMLJavaModLoadingContext.get().getModEventBus();
  34.  
  35. BLOCKS.register(iEventBus);
  36. ITEMS.register(iEventBus);
  37. }
  38.  
  39. public static final BlockBehaviour.Properties METAL_BLOCK_PROPERTIES = BlockBehaviour.Properties.of(Material.HEAVY_METAL).sound(SoundType.METAL).strength(3f).requiresCorrectToolForDrops();
  40. public static final BlockBehaviour.Properties CABLE_BLOCK_PROPERTIES = BlockBehaviour.Properties.of(Material.METAL).sound(SoundType.BAMBOO).strength(1f).instabreak();
  41. public static final Item.Properties ITEM_PROPERTIES = new Item.Properties().tab(CREATIVE_MODE_TAB);
  42.  
  43. public static final RegistryObject<Block> CABLE = BLOCKS.register("cable", Cable::new);
  44. public static final RegistryObject<Item> CABLE_ITEM = fromBlock(CABLE);
  45.  
  46. public static final RegistryObject<Block> SWITCH = BLOCKS.register("switch", Switch::new);
  47. public static final RegistryObject<Item> SWITCH_ITEM = fromBlock(SWITCH);
  48.  
  49. public static <B extends Block> RegistryObject<Item> fromBlock(RegistryObject<B> block) {
  50. return ITEMS.register(block.getId().getPath(), () -> new BlockItem(block.get(), ITEM_PROPERTIES));
  51. }
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement