11package cmsc389e .circuitry ;
22
3- import cmsc389e .circuitry .common .IProxy ;
4- import cmsc389e .circuitry .common .command .CommandAbort ;
5- import cmsc389e .circuitry .common .command .CommandLoad ;
6- import cmsc389e .circuitry .common .command .CommandSet ;
7- import cmsc389e .circuitry .common .command .CommandTest ;
8- import cmsc389e .circuitry .common .network .CircuitryPacketHandler ;
9- import net .minecraft .command .ServerCommandManager ;
3+ import java .util .ArrayList ;
4+
5+ import cmsc389e .circuitry .common .Config ;
6+ import cmsc389e .circuitry .common .NodeTileEntity ;
7+ import cmsc389e .circuitry .common .block .InNodeBlock ;
8+ import cmsc389e .circuitry .common .block .OutNodeBlock ;
9+ import net .minecraft .block .Block ;
10+ import net .minecraft .client .gui .ChatLine ;
11+ import net .minecraft .client .gui .NewChatGui ;
12+ import net .minecraft .item .BlockItem ;
13+ import net .minecraft .item .Item ;
14+ import net .minecraft .item .Item .Properties ;
15+ import net .minecraft .item .ItemGroup ;
16+ import net .minecraft .tileentity .TileEntityType ;
17+ import net .minecraft .tileentity .TileEntityType .Builder ;
18+ import net .minecraftforge .eventbus .api .IEventBus ;
19+ import net .minecraftforge .eventbus .api .SubscribeEvent ;
20+ import net .minecraftforge .fml .RegistryObject ;
1021import net .minecraftforge .fml .common .Mod ;
11- import net .minecraftforge .fml .common .Mod .EventHandler ;
12- import net .minecraftforge .fml .common .SidedProxy ;
13- import net .minecraftforge .fml .common .event .FMLInitializationEvent ;
14- import net .minecraftforge .fml .common .event .FMLPostInitializationEvent ;
15- import net .minecraftforge .fml .common .event .FMLServerStartingEvent ;
22+ import net .minecraftforge .fml .common .Mod .EventBusSubscriber ;
23+ import net .minecraftforge .fml .common .Mod .EventBusSubscriber .Bus ;
24+ import net .minecraftforge .fml .common .ObfuscationReflectionHelper ;
25+ import net .minecraftforge .fml .event .lifecycle .FMLClientSetupEvent ;
26+ import net .minecraftforge .fml .javafmlmod .FMLJavaModLoadingContext ;
27+ import net .minecraftforge .registries .DeferredRegister ;
28+ import net .minecraftforge .registries .ForgeRegistries ;
1629
17- /**
18- * Mod class for CMSC 389E Circuitry.
19- */
20- @ Mod (modid = Circuitry .MODID , version = "1.12.2-1.0.1.0" , useMetadata = true , updateJSON = "https://raw.githubusercontent.com/JamieBrassel/CMSC-389E-Circuitry/master/update.json" )
30+ @ Mod (Circuitry .MODID )
31+ @ EventBusSubscriber (bus = Bus .MOD )
2132public class Circuitry {
2233 public static final String MODID = "circuitry" ;
23- @ SidedProxy (clientSide = "cmsc389e.circuitry.client.ClientProxy" , serverSide = "cmsc389e.circuitry.server.ServerProxy" )
24- private static IProxy proxy ;
2534
26- /**
27- * Called while Minecraft Forge is initializing during mod startup.<br>
28- * Currently, this method calls {@link CircuitryPacketHandler#init()} and
29- * {@link IProxy#init(FMLInitializationEvent)}.
30- *
31- * @param event the {@link FMLInitializationEvent}
32- */
33- @ EventHandler
34- public static void init (FMLInitializationEvent event ) {
35- CircuitryPacketHandler .init ();
36- proxy .init (event );
37- }
35+ private static final DeferredRegister <Block > BLOCKS = new DeferredRegister <>(ForgeRegistries .BLOCKS , MODID );
36+ private static final DeferredRegister <TileEntityType <?>> TES = new DeferredRegister <>(ForgeRegistries .TILE_ENTITIES ,
37+ MODID );
38+
39+ public static final RegistryObject <Block > IN_NODE = BLOCKS .register ("in_node" , InNodeBlock ::new ),
40+ OUT_NODE = BLOCKS .register ("out_node" , OutNodeBlock ::new );
41+ public static final RegistryObject <TileEntityType <?>> NODE = TES .register ("node" ,
42+ () -> Builder .create (NodeTileEntity ::new , IN_NODE .get (), OUT_NODE .get ()).build (null ));
43+
44+ @ SuppressWarnings ("resource" )
45+ @ SubscribeEvent
46+ public static void onClientSetup (FMLClientSetupEvent event ) {
47+ ObfuscationReflectionHelper .setPrivateValue (NewChatGui .class ,
48+ event .getMinecraftSupplier ().get ().ingameGUI .getChatGUI (), new ArrayList <ChatLine >() {
49+ private boolean frozen ;
3850
39- /**
40- * Called while Minecraft Forge is post-initializing during mod startup.<br>
41- * Currently, this method just calls
42- * {@link IProxy#postInit(FMLPostInitializationEvent)}.
43- *
44- * @param event the {@link FMLPostInitializationEvent event}
45- */
46- @ EventHandler
47- public static void postInit (FMLPostInitializationEvent event ) {
48- proxy .postInit (event );
51+ @ Override
52+ public ChatLine remove (int index ) {
53+ frozen = true ;
54+ return get (index );
55+ }
56+
57+ @ Override
58+ public int size () {
59+ int size = frozen ? 0 : super .size ();
60+ frozen = false ;
61+ return size ;
62+ }
63+ }, "field_146253_i" ); // drawnChatLines
4964 }
5065
51- /**
52- * Called while the logical server is starting up, but before it is started.<br>
53- * Currently, this method registers {@link CommandAbort /abort},
54- * {@link CommandLoad /load}, {@link CommandSet /set}, and {@link CommandTest
55- * /test}.
56- *
57- * @param event the {@link FMLServerStartingEvent}
58- */
59- @ EventHandler
60- public static void serverStart (FMLServerStartingEvent event ) {
61- ServerCommandManager commandManager = (ServerCommandManager ) event .getServer ().getCommandManager ();
62- commandManager .registerCommand (new CommandAbort ());
63- commandManager .registerCommand (new CommandLoad ());
64- commandManager .registerCommand (new CommandSet ());
65- commandManager .registerCommand (new CommandTest ());
66+ public Circuitry () {
67+ DeferredRegister <Item > items = new DeferredRegister <>(ForgeRegistries .ITEMS , MODID );
68+ BLOCKS .getEntries ().forEach (block -> items .register (block .getId ().getPath (),
69+ () -> new BlockItem (block .get (), new Properties ().group (ItemGroup .REDSTONE ))));
70+
71+ IEventBus bus = FMLJavaModLoadingContext .get ().getModEventBus ();
72+ BLOCKS .register (bus );
73+ TES .register (bus );
74+ items .register (bus );
75+
76+ Config .register ();
6677 }
6778}
0 commit comments