Jump to content

[SOLVED] [1.12.2] High spawnrates in some modded biomes


Recommended Posts

Posted (edited)

So my users have been experiencing a bug while using personal modpacks with my mod. For some reason, my animals spawn exceptionally fast (50+ per 4 chunks).

But only sometimes. I have tested this with both my users trying to recreate a world seed with only BOP or traverse and remove all their other mods, and the bug seems to go away.

I compared the modlists of 4 users experiencing the bug and found they share:

- Biomes O Plenty/Traverse (either)

- LLibrary

- DynamicSurroundings

- Bibliocraft

 

I had one user remove DynamicSurroundings and nothing changed. Have not tested Bibliocraft, but there's no reason why it would mess with mob spawning.

 

This is my mob registry.

https://github.com/itsmeow/betteranimalsplus/blob/master/src/main/java/its_meow/betteranimalsplus/init/MobRegistry.java

I register as EnumCreatureType.MONSTER because if I set them to creature they don't seem to spawn.
Any ideas? (Ignore the BiomeType code, it's messy, but essentially you put a set of biome sets and it has to convert to an array with all of them)

 

Users mostly discover high spawns of the Deer and the Lammergeier. I have tried setting getMaxSpawnedInChunk but it doesn't seem to do anything.

Edited by hiotewdew
Posted

Firstly you're not using the proper way to register entities for 1.12.2. You should be using the registration event with the entry builder technique. The entry builder has addSpawn() method that can directly take an array of biomes.

 

I have an example here: https://github.com/jabelar/ExampleMod-1.12/blob/master/src/main/java/com/blogspot/jabelarminecraft/examplemod/init/ModEntities.java

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted
5 hours ago, jabelar said:

Firstly you're not using the proper way to register entities for 1.12.2. You should be using the registration event with the entry builder technique. The entry builder has addSpawn() method that can directly take an array of biomes.

 

I have an example here: https://github.com/jabelar/ExampleMod-1.12/blob/master/src/main/java/com/blogspot/jabelarminecraft/examplemod/init/ModEntities.java

Thank you. I did know that they were old I wasn't really sure of the event I should be using. I have a question. Does the EntityEntry set have to be immutable? I converted my init function into a function that adds all the entity entries for all of my mobs to the set (non-final hashset) that is called before the registry set loop. Will that work? Also, for the resource location in the EntryBuilder, the number after is supposed to be modEntities++ (different number for each mob), right?

Posted (edited)

New bug: naturally spawned coyotes/bears have a bear model?

It's a bear. That is named coyote, has coyote ai,  but has a bear model.

 

Why? I have no idea.

 

-------------SNIP

 

I thought a spawn egg made it work fine, but no, deers are now brown bears.

HELP!

Edited by hiotewdew
Posted

It seems as if one entity is overwriting all the other entity's renderers when the game starts.

Posted

Figured it out. I have two registry functions and I forgot to put modEntities++ on the other. *facepalm*

  • Thanks 1
Posted (edited)

Alright so some of my mobs just straight up aren't spawning:

Bear (all 3, although kermode is rare)

Deer (Don't know why, 13 weight is high for creatures)

Feral Wolves

Fox

Tarantula (Went to desert at night)

Hirschgeist (1% spawnrate, not worried abt it)

 

 

Mob registry:

https://github.com/itsmeow/betteranimalsplus/blob/master/src/main/java/its_meow/betteranimalsplus/init/MobRegistry.java

 

Any ideas?

I'll be busy for the rest of the day so I'll check back tonight

 

Edited by hiotewdew
Posted

Well, I know it is nice to make everything "algorithmic" where you can create sets and have nice methods that embody the functionality, but obviously it also created a chance to introduce bugs. Instead of getting "fancy" with a set of entity entries, why not (at least for now until you get it working) just do it all flat and in-line (like don't even create a collection or loop, just make entry and register, make next entry and register that) right in the single registry handling method. Get THAT working first, then re-organize your code.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

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



×
×
  • Create New...

Important Information

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