DevotedMC / HiddenOre

Allows after-map generation positive rebalance via fine-control over custom drops - Anti-Xray - Built for Minecraft and Paper 1.16.4
https://www.devotedmc.com/hiddenore.html
MIT License
11 stars 29 forks source link

Not an issue, just a question! #33

Closed rident closed 6 years ago

rident commented 6 years ago

So I'm trying to configure HiddenOre to mimic Vanilla properties, like when you mine coal ore you receive coal and you can Fortune it as well, or silk touch it even, but I haven't been able to successfully configure it. And I was wondering if there are there any config examples of this? I'm using the 1.12 version currently.

Any assistance would be appreciated! Thank you.

ProgrammerDan commented 6 years ago

Sure, it is possible with some clever tools work and config work.

I assume from the silk touch comment that you use Drops and not Transformations?

rident commented 6 years ago

Yeah, I've been attempting it with drops, but I haven't been able to get it to work. I haven't even gotten the ore blocks to drop the ore instead of the block yet. The closest I've gotten was having stone drop diamonds, which was clearly not the intended outcome.

ProgrammerDan commented 6 years ago

Oh strange, can you share what you have so far? Feel free to shoot me an email with it if you've got secret ratios that you don't want shared.

rident commented 6 years ago

Sorry, I may of misunderstood your other question. What I've been trying to have is for stone to transform into ore blocks and then have those ore blocks drop the actual ore, and not ore blocks when broken, other than if they have silk touch. And if they have Fortune, to increase the ore drop chance like you'd see in Vanilla minecraft.

I imagine having it just be drops, you would just include something along the lines of the code I'll include below to stone, but to have stone transformation into ore and then have those transformations drop ore, instead of the actual block, is where I'm getting lost, especially when you have to consider enchantments.

drops:
   iron_ore:
    package:
     - ==: org.bukkit.inventory.ItemStack
       type: IRON_ORE
       amount: 1
    tools:
       - wood_pickaxe
       - stone_pickaxe
       - iron_pickaxe
       - diamond_pickaxe
    state: conditions
    minY: 1
    maxY: 255
    chance: 0.005
    minAmount: 1
    maxAmount: 10
    dropIfTransformFails: false

And I've been saving over my config trying to figure out how this would even work, so unfortunately I don't have one I can really share, but I've been working off of the civclassic config: https://github.com/CivClassic/HiddenOre/blob/master/src/main/resources/config-civclassic.yml

ProgrammerDan commented 6 years ago

Hmm, be aware that there are differences in the CivClassic approach to configuration vs. the mainline (DevotedMC upstream) approach. Assuming you've accounted for those:

Nothing in HiddenOre prevents normal ore-dropped-behavior. Conversely, if you want special ore-dropping-behavior, I don't recommend trying to do it in HiddenOre. HiddenOre is focused on initial generation of ore blocks, or dropping items (which can be ore blocks or ore); but once it generates an ore block into the world, it actively prevents "reprocessing" that generated ore to do something else (e.g. there is no safe way to add a "second event" related to that generated ore).

For that ,you'd need custom code. An example is in Humbug, where we added a buried feature that prevents dropping ore-items and only ever drops ore-blocks. Similar-but-different variants can accomplish your objectives.

tl;dr -- HiddenOre is absolutely the right tool to transform the stone into ore blocks; it is not the right tool to then control dropping processed ores from those ore blocks; for that you'd need a custom solution, as active exploit suppression will actively prevent your objective.

rident commented 6 years ago

I am aware of the differences, but when I couldn't figure it out with Devoted's configuration, I tried it with theirs. And I feel kind of stupid now, because it's Humbug that's been preventing the normal ore dropping behaviour, not HiddenOre.

I'm so sorry for taking your time! And thank you very much for your assistance.

Edit: I read the READ.ME instead of the config example provided with the files, which is why I didn't see the option for ores, it's not included in the READ.ME for Humbug.

ProgrammerDan commented 6 years ago

No problem whatsoever!

Also note that if you like CivClassic' vein-style generation approach, it has been added to mainline in 1.13, sans some accidental exploits in the CivClassic approach (and imho more importantly, some limitations in the configuration abilities). The general-fixes branch has a few in-testing fixes to exploit prevention that improves speed and reliability.

I will probably backport it to 1.12 if someone needs it :)

rident commented 6 years ago

I actually prefer Devoted's, so I plan on reverting back now that I know it was Humbug that was preventing the normal ore dropping behaviour. But thank you! And thank you for taking the time to update the plugins, I definitely look forward to playing civ on 1.13! :)

ProgrammerDan commented 6 years ago

Sure thing. Might be a while until I get everything up to date... taking it slow since Spigot is still very unstable -- I've had plugins I've updated break from one build to the next so things are still very much in flux. But hopefully that stabilizes with MC 1.13.1 and up, and then I'll probably push in a bit more earnest.

Sounds great, and let me know how else I can help.