@@ -36,7 +36,6 @@ public class GTOreCategory extends PrimitiveRecipeCategory<GTOreInfo, GTOreInfo>
3636 protected List <Integer > dimensionIDs ;
3737 protected final int FONT_HEIGHT = Minecraft .getMinecraft ().fontRenderer .FONT_HEIGHT ;
3838 protected final Map <Integer , String > namedDimensions = WorldGenRegistry .getNamedDimensions ();
39- private final Map <DimensionType , IntSortedSet > dimMap = DimensionManager .getRegisteredDimensions ();
4039 private final Supplier <List <Integer >> dimension = this ::getAllRegisteredDimensions ;
4140 private final int NUM_OF_SLOTS = 5 ;
4241 private final int SLOT_WIDTH = 18 ;
@@ -193,30 +192,22 @@ private void drawVeinName(final FontRenderer fontRenderer) {
193192
194193 public List <Integer > getAllRegisteredDimensions () {
195194 List <Integer > dims = new ArrayList <>();
195+ /*
196+ Gather the registered dimensions here instead of at the top of the class to catch very late registered dimensions
197+ such as Advanced Rocketry
198+ */
199+ Map <DimensionType , IntSortedSet > dimMap = DimensionManager .getRegisteredDimensions ();
196200 dimMap .values ().stream ()
197201 .flatMap (Collection ::stream )
198202 .mapToInt (Integer ::intValue )
199203 .filter (num -> definition .getDimensionFilter ().test (DimensionManager .createProviderFor (num )))
200204 .forEach (dims ::add );
201205
206+ //Slight cleanup of the list if Advanced Rocketry is installed
202207 if (isModLoaded (MODID_AR )) {
203208 try {
204- int [] plantDims = DimensionManager .getDimensions (DimensionType .byName ("planet" ));
205- int [] asteroidDims = DimensionManager .getDimensions (DimensionType .byName ("asteroid" ));
206209 int [] spaceDims = DimensionManager .getDimensions (DimensionType .byName ("space" ));
207210
208- //Add the Planets to the dimension list
209- Arrays .stream (plantDims )
210- .filter (num -> !dims .contains (num ))
211- .filter (num -> definition .getDimensionFilter ().test (DimensionManager .createProviderFor (num )))
212- .forEach (dims ::add );
213-
214- //Add the Asteroids to the dimension list
215- Arrays .stream (asteroidDims )
216- .filter (num -> !dims .contains (num ))
217- .filter (num -> definition .getDimensionFilter ().test (DimensionManager .createProviderFor (num )))
218- .forEach (dims ::add );
219-
220211 //Remove Space from the dimension list
221212 for (int spaceDim : spaceDims ) {
222213 if (dims .contains (spaceDim )) {
0 commit comments