Posted August 9, 20205 yr Trying to create a tile entity in 1.16 with deferred registry is giving errors. I tried the following: public static final DeferredRegister<TileEntityType<?>> TILE_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, Main.MOD_ID); public static final RegistryObject<TileEntityType<ModChestTileEntity>> MOD_CHEST_TE = TILE_ENTITY_TYPES.register("mod_chest", () -> new TileEntityType.Builder.create(ModChestTileEntity::new, ModBlocks.MOD_CHEST))); Which is recommended by 1.15 tutorials, and is even written as such in the 1.16 source code with builder.create. The top line is fine but the second isn't. The .create isn't recognized, and neither is the ModChestTileEntity::new constructor, even though the class exists. I know that: @ObjectHolder("modname:mod_chest") public static final TileEntityType<ModChestTileEntity> MOD_CHEST_TE; static { MOD_CHEST_TE = null; } Still works, but I'd like to avoid it if possible. Thank you in advance. Edited August 9, 20205 yr by urbanxx001
August 9, 20205 yr You need also to chain the #build() method to #create, so it would be like this TileEntityType#Builder#create(your stuff)#build(null) since its #build() that actually returns the TileEntityType Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port
August 9, 20205 yr Author Thank you very much! I realized I also had to delete "new" in front of TileEntityType Edited August 9, 20205 yr by urbanxx001
August 9, 20205 yr Didn't notice the new, sorry 😛 Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port
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.