77package com .elytradev .architecture .base ;
88
99import com .elytradev .architecture .base .BaseModClient .IModel ;
10- import com .elytradev .architecture .common .Trans3 ;
11- import com .elytradev .architecture .common .Vector3 ;
10+ import com .elytradev .architecture .common .helpers . Trans3 ;
11+ import com .elytradev .architecture .common .helpers . Vector3 ;
1212import com .google .common .base .Charsets ;
1313import com .google .common .base .Predicate ;
1414import com .google .common .io .Resources ;
@@ -91,52 +91,12 @@ public class BaseMod<CLIENT extends BaseModClient<? extends BaseMod>>
9191 protected Map <ResourceLocation , IModel > modelCache = new HashMap <ResourceLocation , IModel >();
9292 Map <Integer , Class <? extends Container >> containerClasses =
9393 new HashMap <Integer , Class <? extends Container >>();
94-
94+ int recipeCounter = 0 ;
9595 private List <SoundEvent > preRegisteredSounds = new ArrayList <>();
9696 private List <IRecipe > preRegisteredRecipes = new ArrayList <>();
9797 private List <Block > preRegisteredBlocks = new ArrayList <>();
9898 private List <Item > preRegisteredItems = new ArrayList <>();
9999
100- @ SubscribeEvent
101- public void onSoundRegistration (RegistryEvent .Register <SoundEvent > event ) {
102- for (SoundEvent preRegisteredSound : preRegisteredSounds ) {
103- preRegisteredSound .setRegistryName (modID , preRegisteredSound .getSoundName ().getResourcePath ());
104- event .getRegistry ().register (preRegisteredSound );
105- }
106- }
107-
108- @ SubscribeEvent
109- public void onRecipeRegistration (RegistryEvent .Register <IRecipe > event ) {
110- for (IRecipe preRegisteredRecipe : preRegisteredRecipes ) {
111- int suffix = 0 ;
112- while (event .getRegistry ().containsKey (new ResourceLocation (modID ,
113- preRegisteredRecipe .getRecipeOutput ().getUnlocalizedName ()
114- + (suffix == 0 ? "" : suffix )))) {
115- suffix ++;
116- }
117- preRegisteredRecipe .setRegistryName ((new ResourceLocation (modID ,
118- preRegisteredRecipe .getRecipeOutput ().getUnlocalizedName ()
119- + (suffix == 0 ? "" : suffix ))));
120- event .getRegistry ().register (preRegisteredRecipe );
121- }
122- }
123-
124- @ SubscribeEvent
125- public void onBlockRegistration (RegistryEvent .Register <Block > event ) {
126- for (Block preRegisteredBlock : preRegisteredBlocks ) {
127- preRegisteredBlock .setRegistryName (new ResourceLocation (preRegisteredBlock .getUnlocalizedName ().substring (5 )));
128- event .getRegistry ().register (preRegisteredBlock );
129- }
130- }
131-
132- @ SubscribeEvent
133- public void onItemRegistration (RegistryEvent .Register <Item > event ) {
134- for (Item preRegisteredItem : preRegisteredItems ) {
135- preRegisteredItem .setRegistryName (new ResourceLocation (preRegisteredItem .getUnlocalizedName ().substring (5 )));
136- event .getRegistry ().register (preRegisteredItem );
137- }
138- }
139-
140100 public BaseMod () {
141101 Class modClass = getClass ();
142102 modPackage = modClass .getPackage ().getName ();
@@ -220,6 +180,46 @@ public static void reportExceptionCause(Exception e) {
220180 e .printStackTrace ();
221181 }
222182
183+ @ SubscribeEvent
184+ public void onSoundRegistration (RegistryEvent .Register <SoundEvent > event ) {
185+ for (SoundEvent preRegisteredSound : preRegisteredSounds ) {
186+ preRegisteredSound .setRegistryName (modID , preRegisteredSound .getSoundName ().getResourcePath ());
187+ event .getRegistry ().register (preRegisteredSound );
188+ }
189+ }
190+
191+ @ SubscribeEvent
192+ public void onRecipeRegistration (RegistryEvent .Register <IRecipe > event ) {
193+ for (IRecipe preRegisteredRecipe : preRegisteredRecipes ) {
194+ int suffix = 0 ;
195+ while (event .getRegistry ().containsKey (new ResourceLocation (modID ,
196+ preRegisteredRecipe .getRecipeOutput ().getUnlocalizedName ()
197+ + (suffix == 0 ? "" : suffix )))) {
198+ suffix ++;
199+ }
200+ preRegisteredRecipe .setRegistryName ((new ResourceLocation (modID ,
201+ preRegisteredRecipe .getRecipeOutput ().getUnlocalizedName ()
202+ + (suffix == 0 ? "" : suffix ))));
203+ event .getRegistry ().register (preRegisteredRecipe );
204+ }
205+ }
206+
207+ @ SubscribeEvent
208+ public void onBlockRegistration (RegistryEvent .Register <Block > event ) {
209+ for (Block preRegisteredBlock : preRegisteredBlocks ) {
210+ preRegisteredBlock .setRegistryName (new ResourceLocation (preRegisteredBlock .getUnlocalizedName ().substring (5 )));
211+ event .getRegistry ().register (preRegisteredBlock );
212+ }
213+ }
214+
215+ @ SubscribeEvent
216+ public void onItemRegistration (RegistryEvent .Register <Item > event ) {
217+ for (Item preRegisteredItem : preRegisteredItems ) {
218+ preRegisteredItem .setRegistryName (new ResourceLocation (preRegisteredItem .getUnlocalizedName ().substring (5 )));
219+ event .getRegistry ().register (preRegisteredItem );
220+ }
221+ }
222+
223223 public void setModOf (Object obj ) {
224224 if (obj instanceof ISetMod )
225225 ((ISetMod ) obj ).setMod (this );
@@ -268,6 +268,8 @@ public void init(FMLInitializationEvent e) {
268268 sub .init (e );
269269 }
270270
271+ //----- BaseSubsystem -----
272+
271273 public void postInit (FMLPostInitializationEvent e ) {
272274 for (BaseSubsystem sub : subsystems ) {
273275 if (sub != this )
@@ -283,8 +285,6 @@ public void postInit(FMLPostInitializationEvent e) {
283285 saveConfig ();
284286 }
285287
286- //----- BaseSubsystem -----
287-
288288 public void loadConfig () {
289289 config = new BaseConfiguration (cfgFile );
290290 }
@@ -316,30 +316,30 @@ protected void registerBlockRenderers() {
316316 client .registerBlockRenderers ();
317317 }
318318
319+ //-------------------- Configuration ---------------------------------------------------------
320+
319321 @ Override
320322 protected void registerItemRenderers () {
321323 if (client != null )
322324 client .registerItemRenderers ();
323325 }
324326
325- //-------------------- Configuration ---------------------------------------------------------
327+ //----------------- Client Proxy ---- ---------------------------------------------------------
326328
327329 @ Override
328330 protected void registerEntityRenderers () {
329331 if (client != null )
330332 client .registerEntityRenderers ();
331333 }
332334
333- //----------------- Client Proxy ------------- ------------------------------------------------
335+ //--------------- Third-party mod integration ------------------------------------------------
334336
335337 @ Override
336338 protected void registerTileEntityRenderers () {
337339 if (client != null )
338340 client .registerTileEntityRenderers ();
339341 }
340342
341- //--------------- Third-party mod integration ------------------------------------------------
342-
343343 @ Override
344344 protected void registerOtherClient () {
345345 if (client != null )
@@ -360,15 +360,15 @@ public BaseSubsystem integrateWithMod(String modId, String subsystemClassName) {
360360 return null ;
361361 }
362362
363+ //--------------- Item registration ----------------------------------------------------------
364+
363365 public BaseSubsystem integrateWithClass (String className , String subsystemClassName ) {
364366 if (classAvailable (className ))
365367 return loadSubsystem (subsystemClassName );
366368 else
367369 return null ;
368370 }
369371
370- //--------------- Item registration ----------------------------------------------------------
371-
372372 public BaseSubsystem loadSubsystem (String className ) {
373373 BaseSubsystem sub = newSubsystem (className );
374374 sub .mod = this ;
@@ -385,12 +385,12 @@ protected BaseSubsystem newSubsystem(String className) {
385385 }
386386 }
387387
388+ //--------------- Block registration ----------------------------------------------------------
389+
388390 public Item newItem (String name ) {
389391 return newItem (name , Item .class );
390392 }
391393
392- //--------------- Block registration ----------------------------------------------------------
393-
394394 public <ITEM extends Item > ITEM newItem (String name , Class <ITEM > cls ) {
395395 ITEM item ;
396396 try {
@@ -426,6 +426,9 @@ public <BLOCK extends Block> BLOCK newBlock(String name, Class<BLOCK> cls) {
426426 return newBlock (name , cls , ItemBlock .class );
427427 }
428428
429+
430+ //--------------- Ore registration ----------------------------------------------------------
431+
429432 public <BLOCK extends Block > BLOCK newBlock (String name , Class <BLOCK > cls , Class <? extends Item > itemClass ) {
430433 BLOCK block ;
431434 try {
@@ -437,9 +440,6 @@ public <BLOCK extends Block> BLOCK newBlock(String name, Class<BLOCK> cls, Class
437440 return addBlock (block , name , itemClass );
438441 }
439442
440-
441- //--------------- Ore registration ----------------------------------------------------------
442-
443443 public <BLOCK extends Block > BLOCK addBlock (BLOCK block , String name ) {
444444 return addBlock (block , name , ItemBlock .class );
445445 }
@@ -478,12 +478,12 @@ public void addOre(String name, Item item) {
478478 OreDictionary .registerOre (name , item );
479479 }
480480
481+ //--------------- Recipe construction ----------------------------------------------------------
482+
481483 public void newRecipe (Item product , int qty , Object ... params ) {
482484 newRecipe (new ItemStack (product , qty ), params );
483485 }
484486
485- //--------------- Recipe construction ----------------------------------------------------------
486-
487487 public void newRecipe (Block product , int qty , Object ... params ) {
488488 newRecipe (new ItemStack (product , qty ), params );
489489 }
@@ -504,8 +504,6 @@ public void newShapelessRecipe(ItemStack product, Object... params) {
504504 preRegisteredRecipes .add (new ShapelessOreRecipe (null , product , params ));
505505 }
506506
507- int recipeCounter = 0 ;
508-
509507 public void newSmeltingRecipe (Item product , int qty , Item input ) {
510508 newSmeltingRecipe (product , qty , input , 0 );
511509 }
0 commit comments