AstralOrdana / Spelunkery

The Spelunkery mod for Minecraft
GNU Lesser General Public License v3.0
42 stars 19 forks source link

[Request] More Config Options #204

Open Zvzdov opened 3 months ago

Zvzdov commented 3 months ago

Feature:

The mod has a lot of features but some of them might seem unnecessary, unfitting and even disbalanced, especially when in comes to modpack creation. Some features don't seem to work with other mods and/or have alternatives and/or don't fit into the game. Like Compression Blast Miner that can break bedrock which is supposed to be unbreakable and kind of affects the game balance.

It would be nice to have more config options like:

Additional info:

It's mostly about disabling parts of the mod and it's great with or without them. Please let me know If there is any other way to disable certain features and items. Thank you!

craftmyne commented 3 months ago

I feel at somepoint a lot of work should be put into creating a comprehensive config for this mod, as so many of its features are great, but don't belong in a modpack where they quickly become unbalanced, I've found myself either disabling items through disabling their recipes and or tweaking them with kubeJS. I have some solutions but I would much rather a config for some of these fixes.

I used the following kubeJS server script to disable crafting of the compression blast miner and tweak the crafting for the respawn anchor as its turned into a cheaty teleporter.

ServerEvents.recipes(event => {
    event.remove({ output: 'minecraft:respawn_anchor' })  // disables a crafting recipe
    event.remove({ output: 'spelunkery:compression_blast_miner' })

// outlines a new crafting recipe
    event.shaped('minecraft:respawn_anchor', [
        'ABA',
        'CDC',
        'AAA'
    ],{
        A: 'minecraft:crying_obsidian',
        B: 'minecraft:cauldron',
        C: 'minecraft:netherite_ingot',
        D: 'minecraft:beacon'
    })
})

and the following startup script to balance the dimensional tears by making them unstackable

ItemEvents.modification(event => {
    event.modify('spelunkery:portal_fluid_bottle', item => {
        item.maxStackSize = 1
        item.foodProperties = null
    })
})

I'll update this with a solution if I find a way to disable the creation of dimensional tears in some way.

edit: I figured out how to disable dimensional dears with kubejs

BlockEvents.rightClicked('minecraft:respawn_anchor', event => {
    if (event.player.mainHandItem.id == "minecraft:glass_bottle"){
        event.cancel()}
})
DariusZeBaguette commented 3 months ago

do you know if there is any way of disabling dimensional tears pools generation in the ender with kubejs in 1.19.2 ?

sophimoo commented 3 months ago

I assume you mean in the loot table? Based on viewing where the mod injects into loot tables https://github.com/AstralOrdana/Spelunkery/tree/1.20.1/common/src/main/resources/data/spelunkery/loot_tables/injects it only seems to inject into ruined portals loot table

If you use the mod LootJS, and add the following server script to your kubejs/server_scripts this should remove the dimensional tears from the loot pool.

LootJS.modifiers(event => {
    event.addLootTableModifier('minecraft:chests/ruined_portal')
    .removeLoot('spelunkery:portal_fluid_bottle')
})