Advertisement
CreativeMasterBonin

LongRoadsModClass

Jul 17th, 2025
55
0
6 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.51 KB | None | 0 0
  1. @Mod(ThingamajigsLongRoads.MODID)
  2. public class ThingamajigsLongRoads {
  3.     public static final String MODID = "thingamajigslongroads";
  4.     private static final Logger LOGGER = LogUtils.getLogger();
  5.  
  6.     public static final DeferredRegister<CreativeModeTab> CMT_TLR = DeferredRegister.create(Registries.CREATIVE_MODE_TAB,MODID);
  7.     public static final DeferredHolder<CreativeModeTab, CreativeModeTab> TLR_TAB = CMT_TLR.register(
  8.             "trr_main_tab", () -> CreativeModeTab.builder()
  9.                     .title(Component.translatable("itemGroup.thingamajigslongroads"))
  10.                     .withTabsBefore(Thingamajigs.MAIN_CTAB.getKey())
  11.                     .icon(() -> TLRItems.GREEN_HANGING_ROADWAY_SIGN_ITEM.get().getDefaultInstance())
  12.                     .backgroundTexture(ResourceLocation.fromNamespaceAndPath("thingamajigs","textures/gui/thingamajigsitems.png"))
  13.                     .build()
  14.     );
  15.  
  16.     public static boolean werok = false;
  17.  
  18.     public ThingamajigsLongRoads(IEventBus modEventBus, ModContainer modContainer) {
  19.         modEventBus.addListener(this::commonSetup);
  20.  
  21.         if(ModList.get().isLoaded("thingamajigs")){
  22.             werok = true;
  23.         }
  24.  
  25.         modEventBus.addListener(TLRHandler::register);
  26.         modEventBus.addListener(this::registerDatapackRegistries);
  27.         modEventBus.addListener(this::onGatherData);
  28.  
  29.         TLRMenu.MENU_TYPES.register(modEventBus);
  30.  
  31.         TLRBlocks.BLOCKS.register(modEventBus);
  32.         TLRItems.ITEMS.register(modEventBus);
  33.         TLRBlockEntity.register(modEventBus);
  34.         CMT_TLR.register(modEventBus);
  35.  
  36.         TLRDataComponents.COMPONENTS.register(modEventBus);
  37.  
  38.         modEventBus.addListener(this::addCreative);
  39.  
  40.         if(FMLLoader.getDist() == Dist.CLIENT){
  41.             modEventBus.addListener(TLRClientEvents::clientSetup);
  42.             modEventBus.addListener(TLRClientEvents::setupBlockEntityRenderers);
  43.             modEventBus.addListener(TLRClientEvents::layerSetup);
  44.             modEventBus.addListener(TLRClientEvents::setupMenuTypes);
  45.             modEventBus.addListener(TLRClientEvents::clientExtensions);
  46.         }
  47.         else{
  48.             LOGGER.info(ThingamajigsLongRoads.MODID + ": Starting in server mode...");
  49.         }
  50.     }
  51.  
  52.     private void commonSetup(final FMLCommonSetupEvent event) {
  53.     }
  54.  
  55.     private void addCreative(BuildCreativeModeTabContentsEvent event){
  56.         if(event.getTabKey() == TLR_TAB.getKey()){
  57.             event.accept(TLRItems.PAINT_BRUSH);
  58.             event.accept(TLRItems.WHITE_PAINT_BRUSH);
  59.             event.accept(TLRItems.YELLOW_PAINT_BRUSH);
  60.             event.accept(TLRItems.BLUE_PAINT_BRUSH);
  61.             event.accept(TLRItems.SCRAPE_TOOL);
  62.             //
  63.             event.accept(TLRItems.DYNAMIC_ROAD_SIGN);
  64.             event.accept(TLRItems.DYNAMIC_STRAIGHT_ROAD_SIGN);
  65.             event.accept(TLRItems.DYNAMIC_THREE_WAY_ROAD_SIGN);
  66.             //
  67.             event.accept(TLRItems.GREEN_ROADWAY_SIGN_ITEM);
  68.             event.accept(TLRItems.GREEN_HANGING_ROADWAY_SIGN_ITEM);
  69.             event.accept(TLRItems.RED_ROADWAY_SIGN_ITEM);
  70.             event.accept(TLRItems.BLUE_ROADWAY_SIGN_ITEM);
  71.             event.accept(TLRItems.BROWN_ROADWAY_SIGN_ITEM);
  72.             //
  73.             event.accept(TLRBlocks.ASPHALT.asItem());
  74.             event.accept(TLRBlocks.ASPHALT_SLAB.asItem());
  75.             event.accept(TLRBlocks.ASPHALT_OK.asItem());
  76.             event.accept(TLRBlocks.ASPHALT_OK_SLAB.asItem());
  77.             event.accept(TLRBlocks.ASPHALT_MEDIOCRE.asItem());
  78.             event.accept(TLRBlocks.ASPHALT_MEDIOCRE_SLAB.asItem());
  79.             event.accept(TLRBlocks.ASPHALT_OLD.asItem());
  80.             event.accept(TLRBlocks.ASPHALT_OLD_SLAB.asItem());
  81.             //
  82.             event.accept(TLRBlocks.DOUBLE_WHITE_ASPHALT.asItem());
  83.             event.accept(TLRBlocks.DOUBLE_CORNER_WHITE_ASPHALT.asItem());
  84.             event.accept(TLRBlocks.WHITE_PARKING_ASPHALT.asItem());
  85.             event.accept(TLRBlocks.WHITE_PARKING_ASPHALT_SLAB.asItem());
  86.             event.accept(TLRBlocks.WHITE_PARKING_OK_ASPHALT_SLAB.asItem());
  87.             event.accept(TLRBlocks.WHITE_PARKING_MEDIOCRE_ASPHALT_SLAB.asItem());
  88.             event.accept(TLRBlocks.WHITE_PARKING_OLD_ASPHALT_SLAB.asItem());
  89.             event.accept(TLRBlocks.WHITE_D_ASPHALT_SLAB.asItem());
  90.             event.accept(TLRBlocks.WHITE_D_OK_ASPHALT_SLAB.asItem());
  91.             event.accept(TLRBlocks.WHITE_D_MEDIOCRE_ASPHALT_SLAB.asItem());
  92.             event.accept(TLRBlocks.WHITE_D_OLD_ASPHALT_SLAB.asItem());
  93.             event.accept(TLRBlocks.WHITE_DT_ASPHALT_SLAB.asItem());
  94.             event.accept(TLRBlocks.WHITE_DT_OK_ASPHALT_SLAB.asItem());
  95.             event.accept(TLRBlocks.WHITE_DT_MEDIOCRE_ASPHALT_SLAB.asItem());
  96.             event.accept(TLRBlocks.WHITE_DT_OLD_ASPHALT_SLAB.asItem());
  97.             //
  98.             event.accept(TLRBlocks.DOUBLE_YELLOW_ASPHALT.asItem());
  99.             event.accept(TLRBlocks.DOUBLE_CORNER_YELLOW_ASPHALT.asItem());
  100.             event.accept(TLRBlocks.YELLOW_PARKING_ASPHALT.asItem());
  101.             event.accept(TLRBlocks.YELLOW_PARKING_ASPHALT_SLAB.asItem());
  102.             event.accept(TLRBlocks.YELLOW_PARKING_OK_ASPHALT_SLAB.asItem());
  103.             event.accept(TLRBlocks.YELLOW_PARKING_MEDIOCRE_ASPHALT_SLAB.asItem());
  104.             event.accept(TLRBlocks.YELLOW_PARKING_OLD_ASPHALT_SLAB.asItem());
  105.             event.accept(TLRBlocks.YELLOW_D_ASPHALT_SLAB.asItem());
  106.             event.accept(TLRBlocks.YELLOW_D_OK_ASPHALT_SLAB.asItem());
  107.             event.accept(TLRBlocks.YELLOW_D_MEDIOCRE_ASPHALT_SLAB.asItem());
  108.             event.accept(TLRBlocks.YELLOW_D_OLD_ASPHALT_SLAB.asItem());
  109.             event.accept(TLRBlocks.YELLOW_DT_ASPHALT_SLAB.asItem());
  110.             event.accept(TLRBlocks.YELLOW_DT_OK_ASPHALT_SLAB.asItem());
  111.             event.accept(TLRBlocks.YELLOW_DT_MEDIOCRE_ASPHALT_SLAB.asItem());
  112.             event.accept(TLRBlocks.YELLOW_DT_OLD_ASPHALT_SLAB.asItem());
  113.             //
  114.             event.accept(TLRBlocks.BLUE_PARKING_ASPHALT.asItem());
  115.             event.accept(TLRBlocks.BLUE_PARKING_ASPHALT_SLAB.asItem());
  116.             event.accept(TLRBlocks.BLUE_PARKING_OK_ASPHALT_SLAB.asItem());
  117.             event.accept(TLRBlocks.BLUE_PARKING_MEDIOCRE_ASPHALT_SLAB.asItem());
  118.             event.accept(TLRBlocks.BLUE_PARKING_OLD_ASPHALT_SLAB.asItem());
  119.             //
  120.             event.accept(TLRBlocks.VERTICAL_REDSTONE_SIDEWALK.asItem());
  121.             event.accept(TLRBlocks.SIDEWALK.asItem());
  122.             event.accept(TLRBlocks.SIDEWALK_BLOCKED.asItem());
  123.             event.accept(TLRBlocks.SIDEWALK_SECTIONED.asItem());
  124.             event.accept(TLRBlocks.SIDEWALK_CRACKED.asItem());
  125.             event.accept(TLRBlocks.SIDEWALK_SLAB.asItem());
  126.             event.accept(TLRBlocks.BLOCKED_SIDEWALK_SLAB.asItem());
  127.             event.accept(TLRBlocks.SECTIONED_SIDEWALK_SLAB.asItem());
  128.             event.accept(TLRBlocks.CRACKED_SIDEWALK_SLAB.asItem());
  129.         }
  130.     }
  131.  
  132.     @SubscribeEvent
  133.     public void registerDatapackRegistries(DataPackRegistryEvent.NewRegistry event){
  134.         event.dataPackRegistry(TLRRegistries.SIGN_TYPE,SignType.CODEC,SignType.CODEC);
  135.     }
  136.  
  137.     @SubscribeEvent
  138.     public void onGatherData(GatherDataEvent event){
  139.         PackOutput packOutput = event.getGenerator().getPackOutput();
  140.         event.getGenerator().addProvider(event.includeServer(),
  141.                 new DatapackBuiltinEntriesProvider(
  142.                         packOutput,
  143.                         event.getLookupProvider(),
  144.                         new RegistrySetBuilder()
  145.                                 .add(TLRRegistries.SIGN_TYPE, SignTypeBootstrap::bootstrap
  146.                         ),Set.of(ThingamajigsLongRoads.MODID)));
  147.     }
  148.  
  149.     // client stuff class
  150.     @OnlyIn(Dist.CLIENT)
  151.     public static class TLRClientEvents {
  152.         @SubscribeEvent
  153.         public static void clientSetup(FMLClientSetupEvent event) {
  154.             WoodType.register(Utilities.GREEN_ROADWAY_WOOD);
  155.             Sheets.addWoodType(Utilities.GREEN_ROADWAY_WOOD);
  156.             WoodType.register(Utilities.RED_ROADWAY_WOOD);
  157.             Sheets.addWoodType(Utilities.RED_ROADWAY_WOOD);
  158.             WoodType.register(Utilities.BLUE_ROADWAY_WOOD);
  159.             Sheets.addWoodType(Utilities.BLUE_ROADWAY_WOOD);
  160.             WoodType.register(Utilities.BROWN_ROADWAY_WOOD);
  161.             Sheets.addWoodType(Utilities.BROWN_ROADWAY_WOOD);
  162.         }
  163.  
  164.         @SubscribeEvent
  165.         public static void setupBlockEntityRenderers(FMLClientSetupEvent event){
  166.             BlockEntityRenderers.register(TLRBlockEntity.GREEN_ROADWAY_SIGN.get(),SignRenderer::new);
  167.             BlockEntityRenderers.register(TLRBlockEntity.RED_ROADWAY_SIGN.get(),SignRenderer::new);
  168.             BlockEntityRenderers.register(TLRBlockEntity.BLUE_ROADWAY_SIGN.get(),SignRenderer::new);
  169.             BlockEntityRenderers.register(TLRBlockEntity.BROWN_ROADWAY_SIGN.get(),SignRenderer::new);
  170.             BlockEntityRenderers.register(TLRBlockEntity.GREEN_HANGING_ROADWAY_SIGN.get(),HangingSignRenderer::new);
  171.  
  172.             BlockEntityRenderers.register(TLRBlockEntity.DYNAMIC_ROAD_SIGN_BE.get(),DynamicRoadSignBERenderer::new);
  173.         }
  174.  
  175.         public static void layerSetup(EntityRenderersEvent.RegisterLayerDefinitions event){
  176.             event.registerLayerDefinition(DynamicSignModel.SIGN_TEXTURE_LOCATION,DynamicSignModel::createBodyLayer);
  177.             event.registerLayerDefinition(DynamicRectangleSignModel.RECTANGLE_SIGN_TEXTURE_LOCATION,DynamicRectangleSignModel::createBodyLayer);
  178.             event.registerLayerDefinition(DynamicDoubleTallSignModel.DOUBLE_TALL_SIGN_TEXTURE_LOCATION,DynamicDoubleTallSignModel::createBodyLayer);
  179.         }
  180.  
  181.         public static void setupMenuTypes(RegisterMenuScreensEvent event){
  182.             event.register(TLRMenu.SIGN_MENU.get(),DynamicRoadSignScreen::new);
  183.         }
  184.  
  185.         @SubscribeEvent
  186.         private static void blockColorSetup(RegisterColorHandlersEvent.Block event){
  187.             /*
  188.             event.register((blockState,tintGetter,blockPos,i) ->
  189.                             TColors.getTeal(),
  190.                     TGBlocks.TEAL_BALLOON_BLOCK.get()
  191.             );
  192.             */
  193.         }
  194.  
  195.         @SubscribeEvent
  196.         private static void itemColorSetup(RegisterColorHandlersEvent.Item event){
  197.             /*
  198.             event.register((itemStack,i) -> TColors.getLightGray(),
  199.                     TGItems.LIGHT_GRAY_BALLOON_BLOCK_ITEM.asItem()
  200.             );
  201.             */
  202.         }
  203.  
  204.         @SubscribeEvent
  205.         public static void clientExtensions(RegisterClientExtensionsEvent event) {
  206.  
  207.         }
  208.     }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement