Dropt

Dropt

3M Downloads

Strange Metadata problem for drop.

Fireztonez opened this issue ยท 7 comments

commented

Hello,
In my modpack I have change the drop of all type of stones or cobblestone, questions to drop little rocks and not a complete block. To change that I look for the item drop and I replace by other the littles rocks. I do the sameting with the Chisel Marble, but strange enough, I look for chisel:marble:0 (How is the cracked version, so, like the cobblestone) and the raw version how is chisel:marble2:7...

When I mined a block of chisel:marble2:0 (Marble bricks), and it give the little marble rocks... So, not sure if the bug is in your end or if this is in my JSON script, but I really can't figure out from where i it came, because all other metadata work like intended...

So, heres my script:
https://hastebin.com/capuweqahe.json
the marble is setup between line 564 and 644...

I used verification of item drops and not the block by it self, because I used HCstrata in my modpoack (Option from Better With Mods how change the mining level dependant of the Y level you mined, but this is not an exact number, but more random, so this is totally impossible to look using Y level by dropt script, the only way to be sure nothing is drop from the block I fond in to replace the drop by itself)

##Version:
Minecraft: 1.12.2
Dropt: 1.15.0
Forge: 14.23.5.2838

Thank's
Fireztonez

commented

Can you please provide the script again? The link is not working for me.

This link is for future me: https://gitlab.com/BetterWithMods/1.12/BetterWithMods/blob/1.12/src/main/java/betterwithmods/module/hardcore/world/strata/HCStrata.java#L137

commented

Strange, the link work fine for me... do you have trouble to open hastebin link habitually??
If it does't work with the JSON format you can always try the same link without the .json and it will show like a regular text file. But in the case you still have trouble with the link:
https://gist.github.com/Fireztonez/6e9175a9ae6a2ea7a7dd6c0cb781fe42

commented

No worries about the link - the gist works just fine. :)

I have been able to replicate the problem as I understand it.

I used the script you indicated, but changed the contenttweaker references to minecraft:dirt:1.

The script

  • breaking chisel:marble:0 drops minecraft:dirt:1 -> expected
  • breaking chisel:marble2:7 drops minecraft:dirt:1 -> expected
  • breaking chisel:marble2:0 drops minecraft:dirt:1 -> unexpected, expected chisel:marble2:0

Do I have a correct understanding of the issue?

commented

This is definitely a bug.

This a snippet from the dropt.log after setting the rule to "debug": true:

[DEBUG] [MATCH] [--] Attempting to match candidate [1xtile.chisel.marble@0] with: [ItemMatcher{domain='chisel', path='marble2', meta=7, metas=[0]}]
[DEBUG] [MATCH] [OK] Domain match: (match) chisel == chisel (candidate)
[DEBUG] [MATCH] [OK] Path match: (match) marble2 == marble2 (candidate)
[DEBUG] [MATCH] [!!] Meta mismatch: (match) 7 != 0 (candidate)
[DEBUG] [MATCH] [OK] Meta match: (match) 0 == 0 (candidate)

It looks like the ItemMatchers are being assigned an extra meta value of 0 in their metas array and that's causing the mismatch.

commented

It was an off by one error. Confirmed fixed!

2019-06-30_11-13-06

commented

Fixed in 1.12.2-1.15.1

commented

Ok Perfect,
thank's!