Jump to content

[SOLVED] [1.12] Block ID stops existing after world is restarted/changes when written?


hiotewdew

Recommended Posts

I'm currently updating Colored Chests and I've come across an issue. I'm using a single Block class to create multiple block instances with different colors. As in, I pass a color and a color name inside the initializer to the block, and register the new block class as it's own block with a custom registry name (appending the color name I gave it to "coloredchest"). However, upon restarting the world, the console prints "Registry Block: Found a missing id from the world coloredchests:coloredchest" and the blocks are gone. But I never register a block with that ID, they all have colors after the name.

My Block registry: https://github.com/itsmeow/ColoredChests/blob/master/src/main/java/its_meow/coloredchests/BlockRegistry.java

Block itself: https://github.com/itsmeow/ColoredChests/blob/master/src/main/java/its_meow/coloredchests/chest/BlockColoredChest.java

I can tell it's something to do with the way I'm doing the registration, but I really do not have the time to redo this. I know there's millions of better ways I could do it, but I'm looking for the easy solution.

Is there something that can fix the way I'm doing it? If there's not one, perhaps an easier/equivically difficult way to create the blocks with SEPERATE IDs! Because of the way they're considered seperate blocks, I don't have to check if the colors match inside the block class with other chests, only if they are the same block.

Edited by hiotewdew
solved
Link to comment
Share on other sites

8 minutes ago, hiotewdew said:

I can tell it's something to do with the way I'm doing the registration, but I really do not have the time to redo this. I know there's millions of better ways I could do it, but I'm looking for the easy solution.

Did you ever register a block with that name? If so create a new world. Ids are serialized so they can be persistent with the assigned numerical id.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

1 hour ago, Animefan8888 said:

Did you ever register a block with that name? If so create a new world. Ids are serialized so they can be persistent with the assigned numerical id.

I did! I made a new world and I don't get that missing ID error, but my blocks are still disappearing and nothing is printed to the console.

Link to comment
Share on other sites

It seems the issue was solved after I changed the ItemBlock registration? I'm not sure. But it works now. Let's not mess with it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Here's a simple example to solve this particular issue: public class ModArmorMaterials { public static final DeferredRegister<ArmorMaterial> ARMORS = DeferredRegister.create(Registries.ARMOR_MATERIAL, MyModName.MOD_ID); public static final RegistryObject<ArmorMaterial> COPPER = registerArmor("copper", Util.make(new EnumMap<>(ArmorItem.Type.class), enumMap -> { enumMap.put(ArmorItem.Type.BOOTS, 1); enumMap.put(ArmorItem.Type.LEGGINGS, 4); enumMap.put(ArmorItem.Type.CHESTPLATE, 5); enumMap.put(ArmorItem.Type.HELMET, 2); enumMap.put(ArmorItem.Type.BODY, 4); }), 12, SoundEvents.ARMOR_EQUIP_IRON, 0.0F, 0.0F, () -> Ingredient.of(Items.COPPER_INGOT)); private static RegistryObject<ArmorMaterial> registerArmor(String pGroup, EnumMap<ArmorItem.Type, Integer> pEnumMap, int pEnchantmentValue, Holder<SoundEvent> pEquipSound, float pToughness, float pKnockbackResistance, Supplier<Ingredient> pRepairIngredient) { List<ArmorMaterial.Layer> pLayerList = List.of(new ArmorMaterial.Layer(new ResourceLocation(pGroup))); return registerArmor(pGroup, pEnumMap, pEnchantmentValue, pEquipSound, pToughness, pKnockbackResistance, pRepairIngredient, pLayerList); } private static RegistryObject<ArmorMaterial> registerArmor( String pGroup, EnumMap<ArmorItem.Type, Integer> pEnumMap, int pEnchantmentValue, Holder<SoundEvent> pEquipSound, float pToughness, float pKnockbackResistance, Supplier<Ingredient> pRepairIngredient, List<ArmorMaterial.Layer> pLayerList) { return ARMORS.register(pGroup, () -> new ArmorMaterial(pEnumMap, pEnchantmentValue, pEquipSound, pRepairIngredient, pLayerList, pToughness, pKnockbackResistance)); } public static void register(IEventBus eventBus) { ARMORS.register(eventBus); } } Essentially, the TierSortingRegistry has been removed and so you now need to set up your own DeferredRegister. Please see the minecraftforge GitHub for more information; I found this solution through their issues (https://github.com/MinecraftForge/MinecraftForge/issues/9961)
    • How did I even leave that in there? I’ll try it in a bit, that very well could be it.
    • Greetings, I met a problem with my Forge server (47.2.0-1.20.1) that I can't join with the following line. (singleplayer world working fine) [net.minecraft.server.network.ServerGamePacketListenerImpl/]: Sharyna lost connection: Internal Exception: io.netty.handler.codec.EncoderException: java.lang.NullPointerException: Cannot invoke "net.minecraft.resources.ResourceLocation.toString()" because "p_130086_" is null   At first it was errored with packet size error, but I fixed that with the Connectivity mod, however, after that this popped up and can't find the source of it. Since the logs are big, I couldn't upload on paste.gg or other site ... so here it is (if the files are deleted, please notice me and I'll upload again. Debug and Latest log
    • Дерево тис
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.