Woot

Woot

24M Downloads

Thaumcraft Wisp

UntoldForce opened this issue ยท 14 comments

commented

Hey all, I'm running Minecraft 1.12.2 with Woot 1.2.1. I have Thaumcraft 6.1 BETA 13 installed and unfortunately there are no loot tables for the Thaumcraft wisps. They are little orb-like creatures that drop all kinds of vis crystals. I love to farm them because it saves me time, but they are incompatible with Woot loot as of now. Thanks for your help.

commented

I made a powered spawner from EnderIO and used a standard mob grinding system to collect loot for about 24 hours. Here's a screenshot of all the vis crystals that it collected. It collected ~60k total... about 10k each of the primary aspects (the 6 main ones-aer, terra, ignis, aqua, ordo, perditio) and about 150-200 of each combined aspects.

Based on the numbers that I've seen, we're seeing approximately 0.3% drop chance for each of the secondary aspects and about 15% drop chance for the primary aspects. Would it be possible to generate a manual loot entry for Thaumcraft wisps if Thaumcraft is installed? That would certainly solve this issue, because creating three dozen Woot controllers is massive overkill for something as small as the wisp. I know that hard-coding values is generally not ideal, especially if Thaumcraft or another mod modifies, removes, or adds aspects.

2018-05-14_16 42 28

commented

So this is an interesting one.
I've been running Thaumcraft with my dev code and looking at an EntityWisp when I try to capture it.

It looks like each wisp contains some datamanager entry that specifies which aspect it contains.

So what is currently happening is that I spawn and learn from thaumcraft:wisp but it has no aspect information. Therefore when I kill it, it doesn't know its aspect and therefore drops nothing.

So it is maybe possible that I could extract the aspect of the wisp that you capture and then set that aspect when I start learning the drops. However this would mean that one controller would only handle wisp:perditio or wisp:terra. You couldn't have one wisp controller and get all the aspects.

The other option is trying to work out how to create the Wisp entry and have Thaumcraft select an appropriate aspect. That would mean one controller that produces all the aspects.

I'll continue looking into this as see what is possible.
Of course it may end up not being possible, but I'm intrigued enough to give it a try.

(As a note Thaumcraft is closed source so working out how to get this to work can be tricky. That is of course Azanor's right and in no way a complaint).

commented

The custom drops was my last resort, but after poking at the code last night, the only real solution.
Thanks for doing the testing and getting the aspect breakdowns as that makes it a lot easier to add them as custom drops.

commented

Not a problem. I love this mod to death. The other players on my server love it too. It really decreases lag compared to traditional mob farming methods.

For the custom loot table, would you make it so Looting on the mob altar increases the secondary aspect drops? I've kept my powered spawner running for a bit longer to get better numbers, and this is what I'm seeing:

Total drops: 120,000
Drops per primary aspect: 20,000
Drops per secondary aspect: 400

Thus confirming the ~15% drop rate for primary aspects and about 0.33% drop rate for secondaries.

The other Thaumcraft mobs seem to work with Woot so far. I've tried the Crimson Knights, Cultists, and Giant Taint Seeds.

commented

So this cannot be handled by custom_drops, as there is only one drop item, but it has a different aspect encoded into the NBT.

So I'll have to take a different approach and rather than use custom_drops, I'll have to code in a handler to generate these drops directly. A bit more work but it should generate completely valid crystals with the aspects encoded in the right way. (Possibly using the Thaumcraft API)

It might also allow me to apply looting to the aspect drops chances as you mentioned.

So as far as I understand it from looking at code:
90% of spawned wisps are primal
10% of spawned wisps are compound
All wisps drop a crystal - I'm not clear if this is true or not
Number of crystals dropped is a maximum of 1 - ie looting doesn't change this

commented

I am using Draconic Evolution's powered mob grinder which does not give me the capability to apply enchantments to the kill, as far as I know.

I've stood by the grinder and it seems that crystals always drop from the wisp. I can't verify this using other means, but I do not see wisps being killed without a crystal drop. They always seem to drop 1 crystal per kill.

If you know of an efficient mob grinder that allows me to apply a looting enchant, then I'd be happy to try it out.

commented

The code suggests looting has no impact on these mobs, so I'll go with that.
I've managed to get the drops being generated without including much extra code, so I just need to tidy that up and find some nice way of handling the aspect selection.
The Thaumcraft API is unfortunately not maven based so you have to copy the code into your mod. So I also need to strip that down to just enough to set the correct nbt on the crystal.

commented

2018-05-21_21 19 49

Got the basics in for the crystal generation.
So the above shows the factory running with full mass upgrade (6xwisp) running for a few minutes. Looks like the crystals are being correctly generated and the split between primal and compound looks correct.
Still some work to be done, but looking good so far.

commented

Fantastic! Can't wait for the next release!

commented
commented

I just updated to Woot 1.3.0 on Forge 14.23.3.2675 and no loot is dropping from a wisp controller that I just made... =(

commented
commented

I didn't realize I had to delete the custom_drops.json file for it to work. Thanks for letting me know. I assumed (incorrectly) that the new information would be appended.

The custom_drops.json looks fine after the file wipe and server reboot. I just have to log in and check to see if it works.

commented

Sorry about that.
I'll try to add a comment to the changeling next time I do something like this and point out config regen is needed.