Woot

Woot

24M Downloads

Custom Drops with Enderman

tyler489 opened this issue ยท 5 comments

commented

Not sure if this is possible to do but rftools adds a bunch of dimlets to enderman drop tables. currently woot will pick these drops up on the first kill and keep producing those same dimlets over and over and over again. it would be nice if it would pick random dimlets. I know this can be done with data packs but there are currently over 500 dimlets in the pack I'm playing and that would be just a little much to put in a data pack.. combined with the bug I reported in the issue below that would make it not feasable.

commented

So Enderman and dimlets are not going to be possible. When the learning process runs, then Woot will learn what ever dimlet drops happen during that period - it may be none, it may be a small number with a very small percentage drop chance each. However there is no way for me to generate the full range without starting to implement a mirror of McJtys dimlet and knowledge calculation.

I'm probably going to blacklist the dimlets, but leave the knowledge as a valid drop.

commented

Isn't this kind of 'remembering the loot' going to fail for any type of randomized loot? I mean what if your first kill of an enderman doesn't give an enderpearl? And what about other mods that use the global loot modifier to do other kinds of drops? Also the knowledge drops has a VERY tiny chance of giving a legendary knowledge. How are you ever going to catch that?

To me this sounds like a bad idea. I think you should not try to cache loot like this. It would be much better to simply let the standard vanilla looting system do its job. You will still gain performance by not needing the entity spawn/AI/kill mechanisms

commented

I kill (by default) 1000 of any specific mob to learn their drops them cache them. So for endermen after 1000 kills I'll have the approximate drop rate of ender pearls and any other drops they make.

Any drops that have random data I blacklist so I don't add them to to my loot table - ie since dimlets have NBT data I would blacklist them so that Woot does not generate them. The blacklist is updated in subsequent releases of Woot to catch new ones that I'm not aware of - like dimlets. This is the same way I handled theses types of items in Woot 1.12, where random data items were present in mods such as Cyberware.

I don't implement any mod specific code for generating loot unless is it something really trivial - ie older Woot could generate Thaumcraft drops.

All Woot drops are learned via the vanilla loot system.

commented

All RFTools Dimension dimlets have now been internally blacklisted.
They will be removed from all existing loot files and cannot be newly learned.

commented

I think I got away with this in previous versions, but its possible that the 1.16.5 dimlets are a bit different. Let me have a look and I might have to add custom code to handle these types of drops.

For me: RFToolsDimensions has a global loot modifier for Endermen drops. The loot config has a drop chance per type, then when dropping spawnKnowledge and spawnDimlet are ran. They both hook into dictionaries to create the item drops with the correct data. Not sure we can really handle this in Woot and I may have to blacklist these items to stop them being generated. There is unfortunately no "create random dimlet" that I can tap into.