real-gecko / borntobe Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
when a villager shift trades to a modded one that villager has no trades
Current Mods:
https://paste.dimdev.org/rarufaneva.rb
When used with Grimoire of Gaia, trader mobs from that mod (such as weresheep, holstein, ender girl, etc) are all named "Farmer" and 20% of the time have their trades swapped out for custom ones from VTT, etc
Using minecraft 1.12.2
born to be 1.0
grimoire of gaia 1.6.8
Hi! Sorry to create a new issue from what is possibly the same as [https://github.com//issues/2]! I'w like the chance to restart the conversation around it from what I've found so far.
Once in a while, while playing single player with a custom set of mods, there is a crash who happen during the generation of a new village. So far I've tested many different set of mods in order to reduce them to a minimum, but it seems vain... as long as Biome o Plenty and Born to Be are present, there is a % to reproduce this crash upon new village generation.
Fortunately, this kind of crash, even when generated inside a loop, could be ignored. Then, the game could be resume. Depending upon if village generation process is completed.
###How to reproduce :
Note also that the possibility to avoid that crash, seems to depend on how many task is asked to the server. Bigger is the list of chunk to generate, higher is the chance to crash the game any time a village is generated.
A similar way to trigger this crash is when a village generate in a odd angle, or location. As example when a village generate on a cliff near an extreme hill. Then, once I resume the game, I could find many uncompleted building or half of one at a different Z coordinate, or rotation angle than the other.
Therefore, the more complex the code become, about structure generation, worse is the result.
###Let give a closer look to the comment line in the crash report.
"java.lang.NullPointerException
at com.realgecko.borntobe.VillagersHandler.handleEntityJoinWorld(VillagersHandler.java:60)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_673_VillagersHandler_handleEntityJoinWorld_EntityJoinWorldEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraft.world.World.spawnEntity(World.java:1206)
at net.minecraft.world.WorldServer.spawnEntity(WorldServer.java:1058)
at net.minecraft.world.gen.structure.StructureVillagePieces$Village.spawnVillagers(StructureVillagePieces.java:1792)
at net.minecraft.world.gen.structure.StructureVillagePieces$House3.addComponentParts(StructureVillagePieces.java:1193)
at net.minecraft.world.gen.structure.StructureStart.generateStructure(StructureStart.java:47)
at net.minecraft.world.gen.structure.MapGenStructure.generateStructure(MapGenStructure.java:94)
at biomesoplenty.common.world.ChunkGeneratorOverworldBOP.populate(ChunkGeneratorOverworldBOP.java:509)"
###Hypothesis :
Looks like the way trigger's library are loaded is always in the same order. For the part that concerns us, its like if VillagersHandler.java:60 is the place where "born to be" start is action, follwed by StructureVillagePieces.java:1193, then ChunkGeneratorOverworldBOP.java:509 is the place where BOP take action.
###Conclusion :
Is it possible to review this mod generation code to see if there could be a conflict in the way functions are called between both mods? It may even be possible that both mod call the same library while one haven't finish using it yet.
So here a few crash files :
https://paste.dimdev.org/nijohuroli.mccrash
https://paste.dimdev.org/nobopocavu.mccrash
https://paste.dimdev.org/egamazigev.mccrash
https://paste.dimdev.org/funuhagidi.mccrash
https://paste.dimdev.org/camuzowope.mccrash
https://paste.dimdev.org/waqabuwumi.mccrash
latest.log
Let me know if I could help some more and good luck!
Here's the crash report:
crash-2018-06-16_21.41.26-server.txt
I'm not sure exactly why it crashed but I had this mod installed on a save game and it worked fine. Then I made a new world and it crashed. The only relatable mods I have that may interfere with this one are Configurable Villager Doors to Ratio, MoVillages, and Villager Trades.
See title, the feature where a villager's name is replaced with its profession raises conflicts with the Village Names mod (it overwrites VN's custom villager names) and also causes some weirdness with VTT (a custom villager type with an improper name will cause the villager to be names something like entity.Villager.name)
Attached is an image of this second issue. Thanks again for this mod, its absolutely required for servers running VTT.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.