Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[Solved] [1.16] How do I access all registered dimensions?


Recommended Posts

Hello. I'm creating a mod that needs to access all registered Vanilla and mod dimension Ids.

 

In 1.15, it was possible to use the following:

for (DimensionType type : DimensionType.getAll()) {}

From there, I could access each of their dimension Ids. This seems to have changed in 1.16 and I can't figure out another way to access these dimensions.

 

I have tried accessing the "WORLD_TYPES" Forge registry by using the following:

for (ForgeWorldType type : ForgeRegistries.WORLD_TYPES.getValues()) {}

Unfortunately, it appears that this is also not the correct way to do it as there are no values in here.

 

Any help is appreciated.

Edited by xBigEllx
Link to post
Share on other sites

DimensionTypes are dynamic since they are now data driven. This means that the associated data can only be accessed whenever a world is loaded. You can get access to this through MinecraftServer#registryAccess which gives you an instance of DynamicRegistries. There is a convenient method there for grabbing the registry called DynamicRegistries#dimensionTypes. Registry is an instance of Iterable on the value.

  • Like 1
Link to post
Share on other sites

Thank you, that's just what I needed. However, I needed to change the names of some of the methods I was calling, as it seems they were obfuscated (I think that's the correct term).

 

Here is the code I used to access all dimension types:

for (DimensionType type : world.getServer().func_244267_aX().func_230520_a_()) {}

 

Here is the code I used to access all dimension Ids:

for (ResourceLocation location : world.getServer().func_244267_aX().func_230520_a_().keySet()) {}

 

Link to post
Share on other sites
  • xBigEllx changed the title to [Solved] [1.16] How do I access all registered dimensions?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • This is a follow up to an earlier post about not being able to use the knockback method. Well, since I've learned a bit more about the nature of my problem. It turns out that knockback DOES work, but the catch is if I cancel the LivingAttackEvent that I'm calling the code from, then all attempts to modify the velocity of the player are nullified, even if i extract the mojang knockback code and reuse it (which I don't want to do in the long run, for legal reasons). As soon as I stop canceling the event, the knockback works. Unfortunately, I NEED to cancel the event, since its the whole point of the mod. What could be causing this interaction???
    • Well yes, vanilla armor models have two layers. The leggings grab the body and the legs while the boots grab only the legs. You could fix this by splitting your texture in two and draw the second texture only when the equipment slot is the legs.
    • I've got a model that I've parented to the correct parts of BipedModel properly; i.e. headwear-> head, chest->body, etc: My item registry: /**ARMOR*/ //avalon mail public static final RegistryObject<WithernautsArmor> AVALON_MAIL_HELMET = ITEMS.register("avalon_mail_helmet", () -> new WithernautsArmor(ArmorMaterial.DIAMOND, EquipmentSlotType.HEAD, "avalon_mail", new AvalonMailArmorModel(0.4f))); public static final RegistryObject<WithernautsArmor> AVALON_MAIL_PLATE = ITEMS.register("avalon_mail_plate", () -> new WithernautsArmor(ArmorMaterial.DIAMOND, EquipmentSlotType.CHEST, "avalon_mail", new AvalonMailArmorModel(0.4f))); public static final RegistryObject<WithernautsArmor> AVALON_MAIL_LEGS = ITEMS.register("avalon_mail_legs", () -> new WithernautsArmor(ArmorMaterial.DIAMOND, EquipmentSlotType.LEGS, "avalon_mail", new AvalonMailArmorModel(0.4f))); public static final RegistryObject<WithernautsArmor> AVALON_MAIL_FEET = ITEMS.register("avalon_mail_feet", () -> new WithernautsArmor(ArmorMaterial.DIAMOND, EquipmentSlotType.FEET, "avalon_mail", new AvalonMailArmorModel(0.4f)));   My armor's model: public AvalonMailArmorModel(float modelSize) { super(modelSize, 0, 64, 64); this.textureWidth = 64; this.textureHeight = 64; this.am_leg_pivot_r = new ModelRenderer(this, 0, 0); this.am_leg_pivot_r.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_leg_pivot_r.addBox(-0.5F, -0.5F, -0.5F, 1, 1, 1, 0.0F); this.am_torso_4 = new ModelRenderer(this, 0, 27); this.am_torso_4.setRotationPoint(0.0F, 13.0F, 0.0F); this.am_torso_4.addBox(-2.0F, -3.0F, -2.5F, 4, 4, 5, 0.0F); this.am_shoulder_l_1 = new ModelRenderer(this, 0, 54); this.am_shoulder_l_1.mirror = true; this.am_shoulder_l_1.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_shoulder_l_1.addBox(-1.0F, -2.5F, -3.0F, 5, 4, 6, 0.0F); this.am_helm_2 = new ModelRenderer(this, 0, 18); this.am_helm_2.setRotationPoint(0.0F, -5.0F, -4.0F); this.am_helm_2.addBox(-2.5F, -6.0F, -1.5F, 5, 6, 3, 0.0F); this.am_shoulder_r_2 = new ModelRenderer(this, 48, 55); this.am_shoulder_r_2.setRotationPoint(-0.5F, 4.0F, 0.0F); this.am_shoulder_r_2.addBox(-3.0F, -4.0F, -2.5F, 2, 4, 5, 0.0F); this.am_boot_l = new ModelRenderer(this, 36, 8); this.am_boot_l.mirror = true; this.am_boot_l.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_boot_l.addBox(-2.5F, 7.0F, -2.5F, 5, 5, 5, 0.0F); this.am_torso_2 = new ModelRenderer(this, 36, 0); this.am_torso_2.mirror = true; this.am_torso_2.setRotationPoint(2.25F, 9.0F, -2.0F); this.am_torso_2.addBox(-2.0F, -8.0F, 0.0F, 4, 5, 1, 0.0F); this.setRotateAngle(am_torso_2, 0.3141592653589793F, -0.5235987755982988F, -0.10471975511965977F); this.am_shoulder_r_4 = new ModelRenderer(this, 22, 56); this.am_shoulder_r_4.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_shoulder_r_4.addBox(-5.0F, 0.5F, -3.5F, 6, 1, 7, 0.0F); this.am_leg_l_2 = new ModelRenderer(this, 28, 28); this.am_leg_l_2.mirror = true; this.am_leg_l_2.setRotationPoint(0.0F, -2.0F, 0.0F); this.am_leg_l_2.addBox(0.0F, 0.0F, -3.5F, 4, 1, 7, 0.0F); this.am_shoulder_r_5 = new ModelRenderer(this, 0, 51); this.am_shoulder_r_5.setRotationPoint(-4.4F, 1.5F, 0.0F); this.am_shoulder_r_5.addBox(-0.5F, -3.0F, -1.0F, 1, 3, 2, 0.0F); this.am_torso = new ModelRenderer(this, 0, 36); this.am_torso.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_torso.addBox(-4.5F, 0.0F, -2.5F, 9, 10, 5, 0.0F); this.am_shoulder_r_1 = new ModelRenderer(this, 0, 54); this.am_shoulder_r_1.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_shoulder_r_1.addBox(-4.0F, -2.5F, -3.0F, 5, 4, 6, 0.0F); this.am_shoulder_l_4 = new ModelRenderer(this, 16, 18); this.am_shoulder_l_4.mirror = true; this.am_shoulder_l_4.setRotationPoint(0.0F, -2.5F, 0.0F); this.am_shoulder_l_4.addBox(0.0F, -2.0F, -3.0F, 1, 2, 6, 0.0F); this.am_shoulder_l_6 = new ModelRenderer(this, 0, 51); this.am_shoulder_l_6.mirror = true; this.am_shoulder_l_6.setRotationPoint(4.4F, 0.5F, 0.0F); this.am_shoulder_l_6.addBox(-0.5F, -2.0F, -1.0F, 1, 2, 2, 0.0F); this.am_leg_r_1 = new ModelRenderer(this, 28, 36); this.am_leg_r_1.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_leg_r_1.addBox(-3.0F, -2.0F, -3.0F, 3, 6, 6, 0.0F); this.setRotateAngle(am_leg_r_1, 0.0F, 0.0F, 0.17453292519943295F); this.am_leg_pivot_l = new ModelRenderer(this, 0, 0); this.am_leg_pivot_l.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_leg_pivot_l.addBox(-0.5F, -0.5F, -0.5F, 1, 1, 1, 0.0F); this.am_shoulder_l_5 = new ModelRenderer(this, 22, 56); this.am_shoulder_l_5.mirror = true; this.am_shoulder_l_5.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_shoulder_l_5.addBox(-1.0F, 0.5F, -3.5F, 6, 1, 7, 0.0F); this.am_torso_3 = new ModelRenderer(this, 46, 0); this.am_torso_3.setRotationPoint(0.0F, 9.0F, -2.5F); this.am_torso_3.addBox(-1.0F, -8.0F, -0.5F, 2, 5, 1, 0.0F); this.setRotateAngle(am_torso_3, 0.296705972839036F, 0.0F, 0.0F); this.am_leg_l_1 = new ModelRenderer(this, 28, 36); this.am_leg_l_1.mirror = true; this.am_leg_l_1.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_leg_l_1.addBox(0.0F, -2.0F, -3.0F, 3, 6, 6, 0.0F); this.setRotateAngle(am_leg_l_1, 0.0F, 0.0F, -0.17453292519943295F); this.am_shoulder_l_3 = new ModelRenderer(this, 48, 55); this.am_shoulder_l_3.mirror = true; this.am_shoulder_l_3.setRotationPoint(1.5F, 4.0F, 0.0F); this.am_shoulder_l_3.addBox(0.0F, -4.0F, -2.5F, 2, 4, 5, 0.0F); this.am_torso_5 = new ModelRenderer(this, 28, 48); this.am_torso_5.setRotationPoint(0.0F, 9.0F, -1.0F); this.am_torso_5.addBox(-2.0F, -4.0F, -2.0F, 4, 4, 4, 0.0F); this.am_leg_r_2 = new ModelRenderer(this, 28, 28); this.am_leg_r_2.setRotationPoint(0.0F, -2.0F, 0.0F); this.am_leg_r_2.addBox(-4.0F, 0.0F, -3.5F, 4, 1, 7, 0.0F); this.am_torso_1 = new ModelRenderer(this, 36, 0); this.am_torso_1.setRotationPoint(-2.25F, 9.0F, -2.0F); this.am_torso_1.addBox(-2.0F, -8.0F, 0.0F, 4, 5, 1, 0.0F); this.setRotateAngle(am_torso_1, 0.3141592653589793F, 0.5235987755982988F, 0.10471975511965977F); this.am_helm_1 = new ModelRenderer(this, 0, 0); this.am_helm_1.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_helm_1.addBox(-4.5F, -9.0F, -4.5F, 9, 9, 9, 0.0F); this.am_boot_r = new ModelRenderer(this, 36, 8); this.am_boot_r.setRotationPoint(0.0F, 0.0F, 0.0F); this.am_boot_r.addBox(-2.5F, 7.0F, -2.5F, 5, 5, 5, 0.0F); this.am_shoulder_r_3 = new ModelRenderer(this, 16, 18); this.am_shoulder_r_3.setRotationPoint(0.0F, -2.5F, 0.0F); this.am_shoulder_r_3.addBox(-1.0F, -2.0F, -3.0F, 1, 2, 6, 0.0F); this.bipedHead.addChild(this.am_helm_1); this.bipedRightLeg.addChild(this.am_leg_pivot_r); this.bipedLeftLeg.addChild(this.am_leg_pivot_l); this.bipedRightLeg.addChild(this.am_boot_r); this.bipedLeftLeg.addChild(this.am_boot_l); this.bipedRightArm.addChild(this.am_shoulder_r_1); this.bipedLeftArm.addChild(this.am_shoulder_l_1); this.bipedBody.addChild(this.am_torso); this.am_torso.addChild(this.am_torso_4); this.am_helm_1.addChild(this.am_helm_2); this.am_shoulder_r_1.addChild(this.am_shoulder_r_2); this.am_torso.addChild(this.am_torso_2); this.am_shoulder_r_1.addChild(this.am_shoulder_r_4); this.am_leg_l_1.addChild(this.am_leg_l_2); this.am_shoulder_r_1.addChild(this.am_shoulder_r_5); this.am_shoulder_l_1.addChild(this.am_shoulder_l_4); this.am_shoulder_l_1.addChild(this.am_shoulder_l_6); this.am_shoulder_l_1.addChild(this.am_shoulder_l_5); this.am_torso.addChild(this.am_torso_3); this.am_shoulder_l_1.addChild(this.am_shoulder_l_3); this.am_torso.addChild(this.am_torso_5); this.am_leg_r_1.addChild(this.am_leg_r_2); this.am_torso.addChild(this.am_torso_1); this.am_shoulder_r_1.addChild(this.am_shoulder_r_3); this.am_leg_pivot_r.addChild(this.am_leg_r_1); this.am_leg_pivot_l.addChild(this.am_leg_l_1); } However, this is the result when I put on the armor in-game (ignore the missing textures for now, it's intentional) Wearing ONLY helm. Okay, this is correct.   ONLY chestplate. Correct as well.   ONLY legging. For some reason, am_torso is rendered as well   and when I put on the feet, it looks like it's rendering the entire legging because BipedModel doesn't have a group just for feet.   What's the cleanest way to do this?
    • Im trying to run a server using the files that were provided one the forge website for the modpack. But im getting this error when I try and connect to it. "java.lang.ClassCastException: net.minecraft.world.biome.Biome$category cannot be cast to java.lang.String" Here is the log file. The server also shows up as a vanilla minecraft server where you would join the server. I have tried deleting and restarting the server, reinstalling curseforge and even reinstalling minecraft. None of that helped. This issue started after I created a Pixlemon server. 
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.