I am trying to make a custom entity that is similar to a villager, and have been basing my code on vanilla. Villagers use a unique EntityDataSerializer, and I am trying to do the same. However, the villager EntityDataSerializer uses the writeId method in FriendlyByteBuf, which only accepts vanilla registries, and I need to use an IForgeRegistry. Is there a way to get around this, or should I try to rework the entity to utilize multiple EntityDataAccessors that each use a vanilla EntityDataSerializer?
So I was trying to make a custom structure with Forge 1.18.2, the reference I used was TelepathicGrunt's structure tutorial for Forge 1.18.2. The JSON files seems fine since I just modified the name to my structure's name, all the file's path are also the same. But when I open my JSON file, there's an warning showing "Missing required property 'values' ." The quick fix option implemented this at the bottom of my file:
But I don't know what to put in there. This warning occured at src/main/resources/data/fariouscraft/worldgen/configured_structure_feature/shabby_tent.json
Same warning also occured at src/main/resources/data/fariouscraft/worldgen/structure_set/shabby_tent.json
At first I ignored the warning, but when I launched into game and tried generate a new world, it tells me there was an error in the datapack loaded and I must use safe mode. But the button won't respond to do anything when I press safe mode.
Here's the JSON files
The start_pool.json and the files within the template_pool directory is fine. But the console throw me an error:
Caused by: com.google.gson.JsonParseException: Error loading registry data: Failed to parse fariouscraft:worldgen/configured_structure_feature/shabby_tent.json file: com.google.gson.stream.MalformedJsonException: Expected name at line 23 column 2 path $.adapt_noise
I basically just copy and pasted TelepathicGrunt's files and even added them in the game, his works just fine, but mine won't work for some reason.
Any help would be appreciated, thanks