Vein Mining (Fabric/Forge/Quilt)

Vein Mining (Fabric/Forge/Quilt)

22M Downloads

[Bug]: TechReborn ores aren't vein mining

madeofstars0 opened this issue ยท 4 comments

commented

Minecraft Version

1.20.1

What happened?

Vein mining does not work on techreborn ores, even tho I have made sure they are all added to the #c:ores tag with kubejs. I also tried specifying the "#techreborn:ores" in both blocksList and groupsList.

Ultimately I tried 3 configurations:

(the default, as generated by the mod)

blocks = "CONFIG_LIST"
blocksList = ["#c:ores", "#forge:ores", "#minecraft:logs"]
blocksListType = "ALLOW"
groupsList = [...{{{ that huge list of tags, like #c:iron_ores }}}...]

(specifying only ores as the group and blocks tag)

blocks = "CONFIG_LIST"
blocksList = ["#c:ores", "#forge:ores", "#minecraft:logs"]
blocksListType = "ALLOW"
groupsList = ["#c:ores"]

(specifying techreborn's tag techreborn:ores)

blocks = "CONFIG_LIST"
blocksList = ["#c:ores", "#forge:ores", "#minecraft:logs", "#techreborn:ores"]
blocksListType = "ALLOW"
groupsList = ["#c:ores", "#techreborn:ores"]

These 3 configs I was testing in the nether with minecraft:nether_quartz_ore (which was vein mining properly) and techreborn:sphalerite_ore which would only mine individual blocks.

This is a modpack I put together on modrinth (so you have the list of mods, the server adds luckperms, fabric proxy lite and cross-stitch, since I run this behind a velocity proxy)

I was also able to reproduce this in single player as well (I used 3rd approach above in single player and put this in the next part of this bug report)

How do you trigger this bug?

  1. Install the modpack, I am using PrismLauncher
  2. Launch minecraft, create a new world in creative mode. Give yourself a diamond pickaxe, an anvil, veinmining book and silk touch books (both level 1). Add the books to the pickaxe.
  3. quit
  4. edit the veinmining-server toml file, add #techreborn:ores to both blocksList and groupsList
  5. launch the game again, either create a bunch of coal ore and tin ore or find them in the overworld.
  6. Switch to survival, mine the coal (observe that it vein mines properly) then mine the tin_ore (observe that it doesn't mine more than one block)

(as a note, disabling the mobcatalog mod clears up the logs, it has a problem in this modpack with its config.
...

Loader

Fabric

Loader Version

0.15.10

API Version

0.92.0+1.20.1

Mod Version

1.4.1+1.20.1

Relevant Log Outputs

No response

commented

That was it. I didn't know there were both block and item tags, however that makes sense if I think about it. I'm still new to putting together a modpack.

Thanks for the help ^_^ I really appreciate it.

commented

even tho I have made sure they are all added to the #c:ores tag with kubejs

Where is this done? I do not see any scripts that are doing this in your modpack configurations.

I also tried specifying the "#techreborn:ores" in both blocksList and groupsList.

As far as I can tell, Tech Reborn does not use this tag for its ores. Nor does it use the c:ores tag from what I can tell. However, it does use the c:<name>_ores tag, such as c:tin_ores.

For example, this configuration works when I tried in your modpack:

blocks = "CONFIG_LIST"
blocksList = ["#c:ores", "#forge:ores", "#minecraft:logs", "#c:tin_ores"]
blocksListType = "ALLOW"
commented

The kubejs script I have on my server, which is why I was trying to reproduce in single player.

I just checked on a brand new download of the modpack, looking at tin ore, it is part of #c:tin_ores and #techreborn:ores in EMI. It also shows #c:ores on my server.

It seems that specifying one of the #c:{MATERIAL}_ores in blocksList will allow vein mining to work (I also checked with #c:ruby_ores just now, which worked). But not when I add any of the techreborn ore to #c:ores with kubejs. It also doesn't work with create_new_age:thorium_ore, but it seems that ore has no tags by default, but it still doesn't work when adding the #c:ores tag via kubejs. I was thinking that maybe it only works with the first tag listed in EMI, but the powah uraninite ores work fine without any extra configuration, it's first tag listed is c:uraninite_ores, so that disproves that theory, since c:ores is the second one listed (which that tag isn't even included in the groupsList - uraninite vs uranium).

I also tried disabling almostunified, quad and more chest variants to see if they were interfering somehow, since I know they mess with tags. The result is the same. For tech reborn, only the c:{MATERIAL}_ores works with veinmining, #c:ores doesn't work when I add that tag via kubejs, the #techreborn:ores tag doesn't work either. Adding the c:ores tag to create_new_age:thorium_ore also doesn't work with veinmining. The powah uraninite ores work fine out of the box, by default they have both the c:{MATERIAL}_ores tag as well as the c:ores tag.

Here is the kubejs file kubejs/server_scripts/tags/materials.js that I have on my server:

ServerEvents.tags('item', event => {
    // TechReborn ores
	const techreborn_ores = [
        'bauxite',
        'cinnabar',
        'galena',
        'iridium',
        'lead',
        'peridot',
        'pyrite',
        'ruby',
        'sapphire',
        'sheldonite',
        'silver',
        'sodalite',
        'sphalerite',
        'tin',
        'tungsten',
    ];

    techreborn_ores.forEach((item) => {
    	event.add("c:ores", "techreborn:" + item + "_ore")
    });
    
    const techreborn_deepslate_ores = [
    	'bauxite',
        'galena',
        'iridium',
        'lead',
        'peridot',
        'ruby',
        'sapphire',
        'sheldonite',
        'silver',
        'sodalite',
        'tin',
        'tungsten',
    ];
    
    techreborn_deepslate_ores.forEach((item) => {
    	event.add("c:ores", "techreborn:deepslate_" + item + "_ore")
    });
    
    event.add("c:ores", "create_new_age:thorium_ore");
});
commented

Ah, I believe I see the problem.

ServerEvents.tags('item', event => {

Your script is adding the ores to the item tags, not the block tags. Although you see them as part of the tag in EMI, those are only for the items and not the blocks that are in the world.

I've tested this in the modpack and changing your script to attach 'block' tags instead successfully fixes your issue.