This commit is contained in:
Pyritie
2025-08-27 01:56:11 +01:00
23 changed files with 1270 additions and 49 deletions

View File

@@ -505,7 +505,7 @@ jobs:
name: 🚀 Release to Modrinth
needs: [info, build-project, release-github]
runs-on: ubuntu-latest
if: false
if: ${{ needs.info.outputs.make_release == 'true' }}
outputs:
id: ${{ steps.release.outputs.id }}
@@ -529,9 +529,6 @@ jobs:
if [ ! -f ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ]; then
echo '::error::No value found for artifact `modrinth.mrpack`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then
echo '::error::No value found for artifact `serverpack.zip`.' && exit 1
fi
echo "✔️ All artifacts found"
- name: 🚀 Upload Modrinth
@@ -541,12 +538,11 @@ jobs:
api-token: ${{ secrets.MODRINTH_TOKEN }}
project-id: ${{ vars.MODRINTH_ID }}
modpack-path: ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack
modpack-server-path: ${{ needs.info.outputs.project_full_name }}-serverpack.zip
changelog: ${{ needs.info.outputs.changelog }}
changelog-format: markdown
game-version: ${{ needs.info.outputs.mc_version }}
display-name: ${{ needs.info.outputs.project_full_name }}
server-display-name: ${{ needs.info.outputs.project_full_name }}-serverpack
release-type: ${{ needs.info.outputs.release_type }}
discord-message:

1
.gitignore vendored
View File

@@ -124,3 +124,4 @@ icon.png
.pakku/server-overrides/user_jvm_args.txt
/tacz/tacz_default_gun
EffekseerNativeForJava.dll

View File

@@ -0,0 +1,23 @@
[graphics]
#Should lodestone use experimental fabulous graphics layering? You pretty much never wanna turn this on at the moment unless you're a developer.
experimental_fabulous_layering = false
[graphics.particle]
#Should particles render on the delayed buffer? This means they will properly render after clouds & water do, but could cause issues with mods like sodium.
buffer_particles = true
[graphics.fire]
#Downwards offset of Minecraft's first-person fire overlay. Higher numbers cause it to visually display lower and free up more screen space.
#Range: 0.0 ~ 1.0
fire_overlay_offset = 0.0
[screenshake]
#Intensity of screenshake. Higher numbers increase amplitude. Disable to turn off screenshake.
#Range: 0.0 ~ 5.0
screenshake_intensity = 1.0
[screen_particles]
#Are screen particles enabled?
enable_screen_particles = true

View File

@@ -0,0 +1,40 @@
{
"curse": [
{
"addonId": 289412,
"fileId": 6829212
},
{
"addonId": 404468,
"fileId": 6130786
},
{
"addonId": 314906,
"fileId": 6431735
},
{
"addonId": 404465,
"fileId": 6807424
},
{
"addonId": 314905,
"fileId": 6522073
},
{
"addonId": 943925,
"fileId": 6466153
},
{
"addonId": 889915,
"fileId": 6402486
},
{
"addonId": 410811,
"fileId": 6555287
},
{
"addonId": 622737,
"fileId": 4834403
}
]
}

8
config/sns-client.toml Normal file
View File

@@ -0,0 +1,8 @@
#Swaps the enchant glint from when auto pickup is enabled to when it's disabled
voidGlint = true
#When enabled sacks will display their contents like how TFC vessels do
displayItemContentsAsImages = true
#Config for which hiking boots model is used. FANCY for the full 3D model, NO_FLOOF for only toes and VANILLA for the vanilla style model
#Allowed Values: FANCY, NO_FLOOF, VANILLA
bootModelType = "FANCY"

3
config/sns-common.toml Normal file
View File

@@ -0,0 +1,3 @@
#Do pick block for Item Container. Server will trump client config!
doPickBlock = true

View File

@@ -0,0 +1,60 @@
["Professions that can sell Binding Chains"]
Armorer = false
Butcher = false
Cartographer = false
Cleric = false
Farmer = false
Fisherman = false
Fletcher = false
Leatherworker = false
Librarian = false
Mason = false
Shepherd = false
Toolsmith = false
Weaponsmith = false
["Profession Settings"]
#Range: 0 ~ 5
"Profession Level needed to sell Binding Chains" = 1
#Range: 0 ~ 999999
"Max Binding Chains that a Villager can sell per day" = 10
#Item Needed must be lowercase and spelt correctly. If not, the Binding Chains WILL NOT appear in trades.
"Item needed for Trade" = "minecraft:emerald"
#Range: 0 ~ 64
"Amount of Trade Items Needed" = 16
["Wandering Trader Settings"]
"Wandering Trader can Sell Binding Chains" = true
#The Wandering Trader randomly picks a few trades from the Generic Trade List and a single trade from Rare List.
"Binding Chains are in the Rare List" = true
"Binding Chains are in the Generic List" = false
#Range: 0 ~ 999999
"Max Binding Chains that the Trader can sell" = 3
#Item Needed must be lowercase and spelt correctly. If not, the Binding Chains WILL NOT appear in trades.
"Item needed for Trade" = "minecraft:emerald"
#Range: 0 ~ 64
"Amount of Trade Items Needed" = 16
["Anvil Settings"]
#The way that the Anvil is coded requires at least 1 Experience Level to successfully alter an item outside of Creative Mode!
#Range: 1 ~ 999999
"Experience Levels Needed to Attach Binding Chains to an Item" = 1
["Drop Settings"]
#Chances are set as decimals. 1.0 is the same as 100%, 0.01 is the same as 1%
#Range: 0.0 ~ 1.0
"Chance for the Witch to drop Binding Chains" = 0.0
#Range: 0.0 ~ 1.0
"Chance for the Evoker to drop Binding Chains" = 0.0
#Range: 0.0 ~ 1.0
"Chance for the Piglin Brute to drop Binding Chains" = 0.0
["Misc Settings"]
"Binding Chains will Bind and Greatly SLOW Mobs when tossed to them" = true
#Chances are set as decimals. 1.0 is the same as 100%, 0.01 is the same as 1%
#Range: 0.0 ~ 1.0
"Chance for the Bound Mob to drop Binding Chains when killed" = 1.0
"Binding Chains can be used as Piglin Currency" = false
"The Binding Chains ICON has a Foil Effect making it shimmer as if it is enchanted" = true

View File

@@ -10,8 +10,8 @@
"name": "gui.xaero_entity_category_root",
"protection": true,
"settingOverrides": {
"displayHeight": 0.0,
"displayed": true,
"displayHeight": 0.0,
"heightBasedFade": true,
"renderOrder": 0.0,
"color": 13.0,
@@ -22,8 +22,8 @@
"startFadingAt": 0.0,
"renderOverMinimapFrame": 1.0,
"icons": 1.0,
"heightLimit": 20.0,
"names": 0.0,
"heightLimit": 20.0,
"iconScale": 1.0
},
"subCategories": [

View File

@@ -2,7 +2,7 @@
factoryGaugeCascadeRequest = true
#Capacity of the jar in millibuckets
#Range: 1 ~ 999999999
jarCapacity = 1000
jarCapacity = 8000
#Whether jar packager (bottler) should pick output tanks over combined. Useful if you want to keep basin inputs intact
jarPackagerPrefersOutputs = true

View File

@@ -0,0 +1,264 @@
["Container Item Config"]
["Container Item Config"."Straw Basket"]
#Determines if this container will automatically pickup items
doPickup = true
#Determines if this container can void items on pickup
doVoiding = true
#Determines if this container can transfer items in an inventory
doInventoryTransfer = true
#Controls the amount of slots this container has
#Range: 1 ~ 27
slotCount = 4
#Item stack max for the type of container
#Range: 1 ~ 512
slotCap = 32
#The maximum item size allowed in the container
#Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE
allowedSize = "SMALL"
["Container Item Config"."Leather Sack"]
#Determines if this container will automatically pickup items
doPickup = false
#Determines if this container can void items on pickup
doVoiding = false
#Determines if this container can transfer items in an inventory
doInventoryTransfer = true
#Controls the amount of slots this container has
#Range: 1 ~ 27
slotCount = 4
#Item stack max for the type of container
#Range: 1 ~ 512
slotCap = 64
#The maximum item size allowed in the container
#Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE
allowedSize = "VERY_LARGE"
["Container Item Config"."Burlap Sack"]
#Determines if this container will automatically pickup items
doPickup = true
#Determines if this container can void items on pickup
doVoiding = true
#Determines if this container can transfer items in an inventory
doInventoryTransfer = false
#Controls the amount of slots this container has
#Range: 1 ~ 27
slotCount = 8
#Item stack max for the type of container
#Range: 1 ~ 512
slotCap = 48
#The maximum item size allowed in the container
#Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE
allowedSize = "NORMAL"
["Container Item Config"."Ore Sack"]
#Determines if this container will automatically pickup items
doPickup = true
#Determines if this container can void items on pickup
doVoiding = false
#Determines if this container can transfer items in an inventory
doInventoryTransfer = true
#Controls the amount of slots this container has
#Range: 1 ~ 27
slotCount = 9
#Item stack max for the type of container
#Range: 1 ~ 512
slotCap = 512
#The maximum item size allowed in the container
#Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE
allowedSize = "SMALL"
["Container Item Config"."Seed Pouch"]
#Determines if this container will automatically pickup items
doPickup = true
#Determines if this container can void items on pickup
doVoiding = false
#Determines if this container can transfer items in an inventory
doInventoryTransfer = true
#Controls the amount of slots this container has
#Range: 1 ~ 27
slotCount = 27
#Item stack max for the type of container
#Range: 1 ~ 512
slotCap = 64
#The maximum item size allowed in the container
#Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE
allowedSize = "SMALL"
["Container Item Config"."Frame Pack"]
#Determines if this container will automatically pickup items
doPickup = false
#Determines if this container can void items on pickup
doVoiding = false
#Determines if this container can transfer items in an inventory
doInventoryTransfer = false
#Controls the amount of slots this container has
#Range: 1 ~ 27
slotCount = 18
#Item stack max for the type of container
#Range: 1 ~ 512
slotCap = 64
#The maximum item size allowed in the container
#Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE
allowedSize = "VERY_LARGE"
["Container Item Config"."Lunch Box"]
#Determines if this container will automatically pickup items
doPickup = false
#Determines if this container can void items on pickup
doVoiding = false
#Determines if this container can transfer items in an inventory
doInventoryTransfer = true
#Controls the amount of slots this container has
#Range: 1 ~ 27
slotCount = 8
#Item stack max for the type of container
#Range: 1 ~ 512
slotCap = 4
#The maximum item size allowed in the container
#Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE
allowedSize = "NORMAL"
["Container Item Config".Quiver]
#Determines if this container will automatically pickup items
doPickup = true
#Determines if this container can void items on pickup
doVoiding = false
#Determines if this container can transfer items in an inventory
doInventoryTransfer = false
#Controls the amount of slots this container has
#Range: 1 ~ 27
slotCount = 8
#Item stack max for the type of container
#Range: 1 ~ 512
slotCap = 32
#The maximum item size allowed in the container
#Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE
allowedSize = "VERY_LARGE"
["Boot config"]
#The amount of steps taken before one point of durability is lost
#Range: > 0
bootsStepPerDamage = 500
["Boot config"."Hiking Boots"]
#The movement speed bonus these boots provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.05
#The step height bonus these boots provide
#Range: 0.0 ~ 512.0
stepHeight = 0.0
#The extra fall distance in blocks before you begin taking fall damage
#Range: 0.0 ~ 64.0
fallPadding = 0.5
["Boot config"."Steel Toe Boots"]
#The movement speed bonus these boots provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.1
#The step height bonus these boots provide
#Range: 0.0 ~ 512.0
stepHeight = 0.5
#The extra fall distance in blocks before you begin taking fall damage
#Range: 0.0 ~ 64.0
fallPadding = 1.0
["Boot config"."Black Steel Toe Boots"]
#The movement speed bonus these boots provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.15
#The step height bonus these boots provide
#Range: 0.0 ~ 512.0
stepHeight = 0.5
#The extra fall distance in blocks before you begin taking fall damage
#Range: 0.0 ~ 64.0
fallPadding = 2.0
["Boot config"."Blue Steel Toe Boots"]
#The movement speed bonus these boots provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.2
#The step height bonus these boots provide
#Range: 0.0 ~ 512.0
stepHeight = 0.5
#The extra fall distance in blocks before you begin taking fall damage
#Range: 0.0 ~ 64.0
fallPadding = 5.0
["Boot config"."Red Steel Toe Boots"]
#The movement speed bonus these boots provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.2
#The step height bonus these boots provide
#Range: 0.0 ~ 512.0
stepHeight = 0.5
#The extra fall distance in blocks before you begin taking fall damage
#Range: 0.0 ~ 64.0
fallPadding = 5.0
["Horseshoes config"]
#The amount of steps taken before one point of durability is lost
#Range: > 0
horseshoesStepsPerDamage = 500
["Horseshoes config"."Steel Horseshoes"]
#The movement speed bonus horseshoes provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.05
#The fall distance bonus horseshoes provide
#Range: 0.0 ~ 64.0
bonusFallDistance = 2.0
#The step height bonus these horseshoes provide
#Range: 0.0 ~ 512.0
stepHeightBonus = 0.0
["Horseshoes config"."Black Steel Horseshoes"]
#The movement speed bonus horseshoes provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.1
#The fall distance bonus horseshoes provide
#Range: 0.0 ~ 64.0
bonusFallDistance = 2.0
#The step height bonus these horseshoes provide
#Range: 0.0 ~ 512.0
stepHeightBonus = 0.0
["Horseshoes config"."Blue Steel Horseshoes"]
#The movement speed bonus horseshoes provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.2
#The fall distance bonus horseshoes provide
#Range: 0.0 ~ 64.0
bonusFallDistance = 5.0
#The step height bonus these horseshoes provide
#Range: 0.0 ~ 512.0
stepHeightBonus = 1.0
["Horseshoes config"."Red Steel Horseshoes"]
#The movement speed bonus horseshoes provide
#Range: 0.0 ~ 1024.0
movementSpeed = 0.2
#The fall distance bonus horseshoes provide
#Range: 0.0 ~ 64.0
bonusFallDistance = 5.0
#The step height bonus these horseshoes provide
#Range: 0.0 ~ 512.0
stepHeightBonus = 1.0
["Global config"]
#Global control for automatic pickup, this will not force enable for every type
doPickup = true
#A global toggle for item voiding, this will not force enable for every type
doVoiding = true
#This allows other containers such as vessels to support the pick block search
allPickBlock = false
#This allows containers to have items inserted and extracted from them via the inventory like vanilla Bundles
enableContainerInventoryInteraction = true
#The modifier for the 'Lunchbox' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay.
#Range: 0.0 ~ 1.7976931348623157E308
traitLunchboxModifier = 0.6
#The maximum size of an entity which mob nets can capture. This is not directly related to TFC's animal size stat.
#Range: 0.0 ~ 1.7976931348623157E308
maximumNetCaptureSize = 0.5

View File

@@ -43,6 +43,8 @@ ServerEvents.tags('item', event => {
registerRailWaysItemTags(event)
registerRnrItemTags(event)
registerSophisticatedBackpacksItemTags(event)
registerSoulboundItemTags(event)
registeSNSItemTags(event)
registerSpeciesItemTags(event)
registerTACZItemTags(event)
registerTFCAmbientalItemTags(event)
@@ -132,6 +134,7 @@ ServerEvents.tags('worldgen/biome', event => {
ServerEvents.tags('entity_type', event => {
registerAdAstraEntityTypeTags(event)
registerWABEntityTypeTags(event)
})
/**
@@ -248,8 +251,11 @@ ServerEvents.recipes(event => {
registerProgrammedCircuitCardRecipes(event)
registerRailWaysRecipes(event)
registerRnrRecipes(event)
registerSandwormRecipes(event)
registerSophisticatedBackpacksRecipes(event)
registerSoulboundRecipes(event)
registerSimplylightRecipes(event)
registerSNSRecipes(event)
registerSpeciesRecipes(event)
registerTACZRecipes(event)
registerTFCRecipes(event)

View File

@@ -0,0 +1,231 @@
"use strict";
const registerSNSRecipes = (event) => {
global.SNS_DISABLED_ITEMS.forEach(item => {
event.remove({ input: item })
event.remove({ output: item })
})
event.remove({ mod: 'sns', type: 'tfc:heating' })
event.remove({ output: 'sns:buckle'})
event.remove({ id: 'sns:crafting/ore_sack'})
event.remove({ id: 'sns:crafting/leather_sack'})
event.remove({ id: 'sns:crafting/burlap_sack'})
event.remove({ id: 'sns:crafting/seed_pouch'})
event.remove({ output: 'sns:pack_frame'})
event.remove({ id: 'sns:crafting/reinforced_fiber'})
event.recipes.tfc.sewing(
'sns:burlap_sack',
[
0, 0, 1, 0, 0, 1, 0, 0, 1,
0, 0, 1, 1, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 0, 1, 0, 1, 0,
0, 0, 1, 0, 0, 1, 0, 0, 1
],
[
-1, -1, 0, 0, 0, 0, 0, 0,
-1, 0, 0, -1, -1, -1, -1, 0,
-1, 0, 0, -1, -1, -1, -1, 0,
-1, -1, 0, 0, 0, 0, 0, 0
]
).id('sns:sewing/burlap_sack')
event.recipes.tfc.sewing(
'sns:seed_pouch',
[
0, 0, 1, 0, 0, 1, 0, 0, 1,
0, 0, 1, 1, 1, 1, 1, 1, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 0, 0, 1, 0, 0, 1
],
[
-1, -1, 1, 1, 1, 1, 1, 1,
-1, 1, 1, 0, 0, 0, 0, 1,
-1, 1, 1, 0, 0, 0, 0, 1,
-1, -1, 1, 1, 1, 1, 1, 1
]
).id('sns:sewing/seed_pouch')
event.recipes.tfc.damage_inputs_shaped_crafting(
event.shaped('sns:leather_sack', [
'AAA',
'BCB',
'DBE'
], {
A: 'tfc:jute_fiber',
B: 'sns:leather_strip',
C: 'sns:unfinished_leather_sack',
D: 'minecraft:name_tag',
E: 'tfc:bone_needle'
}
)
).id('sns:crafting/leather_sack')
event.recipes.tfc.damage_inputs_shaped_crafting(
event.shaped('sns:leather_sack', [
' A ',
'BCB',
'DBE'
], {
A: '#forge:rope',
B: 'sns:leather_strip',
C: 'sns:unfinished_leather_sack',
D: 'minecraft:name_tag',
E: 'tfc:bone_needle'
}
)
).id('sns:crafting/leather_sack_coil')
event.recipes.tfc.damage_inputs_shaped_crafting(
event.shaped('sns:ore_sack', [
'AAA',
'BCB',
'DBE'
], {
A: 'sns:reinforced_fiber',
B: '#forge:leather',
C: 'sns:unfinished_leather_sack',
D: 'minecraft:name_tag',
E: 'tfc:bone_needle'
}
)
).id('sns:crafting/ore_sack')
event.recipes.tfc.anvil(
'sns:buckle',
'#forge:plates/wrought_iron',
[
'upset_last',
'hit_second_last',
'shrink_any'
]
).tier(3)
.id('sns:anvil/buckle')
event.recipes.tfc.anvil(
'2x sns:buckle',
'#forge:plates/steel',
[
'upset_last',
'hit_second_last',
'shrink_any'
]
).tier(4)
.id('sns:anvil/buckle2')
event.recipes.gtceu.extruder('sns:buckle')
.itemInputs('#forge:plates/wrought_iron')
.notConsumable('gtceu:small_pipe_extruder_mold')
.itemOutputs('sns:buckle')
.duration(40)
.EUt(GTValues.VA[GTValues.LV])
event.custom({
type: 'vintageimprovements:curving',
ingredients: [{ tag: 'forge:plates/wrought_iron' }],
itemAsHead: 'gtceu:small_pipe_extruder_mold',
results: [{ item: 'sns:buckle' }],
processingTime: 50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
}).id('sns:vi/curving/buckle')
event.recipes.gtceu.extruder('sns:buckle2')
.itemInputs('#forge:plates/steel')
.notConsumable('gtceu:small_pipe_extruder_mold')
.itemOutputs('2x sns:buckle')
.duration(80)
.EUt(GTValues.VA[GTValues.LV])
event.custom({
type: 'vintageimprovements:curving',
ingredients: [{ tag: 'forge:plates/steel' }],
itemAsHead: 'gtceu:small_pipe_extruder_mold',
results: [{ item: '2x sns:buckle' }],
processingTime: 80 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
}).id('sns:vi/curving/buckle')
event.shaped('sns:pack_frame', [
'AAA',
'A A',
'AAA'
], {
A: '#forge:rods/wrought_iron'
}).id('sns:shaped/pack_frame')
event.shaped('2x sns:reinforced_fiber', [
'AAA',
'BBB',
'AAA'
], {
A: 'tfc:jute_fiber',
B: '#forge:string'
}).id('sns:shaped/reinforced_fiber')
event.shaped('2x sns:reinforced_fiber', [
' A ',
'BBB',
' C '
], {
A: '#forge:rope',
B: '#forge:string',
C: '#forge:tools/knifes'
}).id('sns:shaped/reinforced_fiber_rope')
event.recipes.gtceu.assembler('sns:reinforced_fiber')
.itemInputs('2x tfc:jute_fiber', '#forge:string')
.itemOutputs('sns:reinforced_fiber')
.duration(40)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.assembler('sns:reinforced_fabric')
.itemInputs('16x sns:reinforced_fiber')
.itemOutputs('sns:reinforced_fabric')
.circuit(16)
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
generateCutterRecipe(event, '#forge:leather', '4x sns:leather_strip', 80, GTValues.VA[GTValues.LV], 'sns:leather_strip_cut')
event.recipes.gtceu.assembler('sns:bound_leather_strip')
.itemInputs('2x sns:leather_strip', 'sns:reinforced_fiber')
.itemOutputs('sns:bound_leather_strip')
.circuit(3)
.duration(120)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.bender('sns:horseshoe_steel_electric_only')
.itemInputs('#forge:rods/steel')
.itemOutputs('sns:metal/horseshoe/steel')
.circuit(4)
.duration(40)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.bender('sns:horseshoe_black_steel_electric_only')
.itemInputs('#forge:rods/black_steel')
.itemOutputs('sns:metal/horseshoe/black_steel')
.circuit(4)
.duration(40)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.bender('sns:horseshoe_blue_steel_electric_only')
.itemInputs('#forge:rods/blue_steel')
.itemOutputs('sns:metal/horseshoe/blue_steel')
.circuit(4)
.duration(40)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.bender('sns:horseshoe_red_steel_electric_only')
.itemInputs('#forge:rods/red_steel')
.itemOutputs('sns:metal/horseshoe/red_steel')
.circuit(4)
.duration(40)
.EUt(GTValues.VA[GTValues.LV])
}

View File

@@ -0,0 +1,11 @@
// priority: 0
"use strict";
function registeSNSItemTags(event) {
global.SNS_DISABLED_ITEMS.forEach(item => {
event.removeAllTagsFrom(item)
event.add('c:hidden_from_recipe_viewers', item)
})
}

View File

@@ -0,0 +1,15 @@
// priority: 0
"use strict";
const registerSandwormRecipes = (event) => {
event.remove({ mod: 'sandworm_mod'})
event.recipes.gtceu.assembler('sandworm_mod:thumper')
.itemInputs('6x #forge:plates/maraging_steel_300', '#gtceu:circuits/iv', 'gtceu:ev_electric_piston')
.inputFluids(Fluid.of('gtceu:radon', 100))
.itemOutputs('sandworm_mod:thumper')
.duration(200)
.circuit(10)
.EUt(GTValues.VA[GTValues.EV]*2);
}

View File

@@ -0,0 +1,25 @@
// priority: 0
"use strict";
const registerSoulboundRecipes = (event) => {
global.SOULBINDABLE_ITEMS.forEach(item => {
event.shapeless(Item.of(item, '{soulbindingSoulboundItems:1b}'), ['endermanoverhaul:soul_pearl', item])
.modifyResult((craftingGrid, result) => {
let orig = craftingGrid.find(Ingredient.of(item))
result.nbt.put("Damage", orig.nbt.getInt("Damage"));
if(item === 'ad_astra:space_suit') {
try {
result.nbt.put('BotariumData', orig.nbt.get('BotariumData'))
} catch (exception) {
console.error(exception);
}
}
result.nbt.put('soulbindingSoulboundItems', true)
return result;
}).id(`tfg:soulbind_${item}`);
})
}

View File

@@ -0,0 +1,10 @@
// priority: 0
"use strict";
const registerSoulboundItemTags = (event) => {
global.SOULBINDABLE_ITEMS.forEach(item => {
event.add('tfg:soulbindable_items', item)
})
}

View File

@@ -183,6 +183,9 @@ const registerTFCRecipes = (event) => {
event.recipes.tfc.heating('tfc:plant/winged_kelp', 200)
.resultItem('tfc:food/dried_kelp')
// Burning Bread
event.recipes.tfc.heating('#tfc:foods/breads', 850)
// Soda Ash
event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda')
event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda')

View File

@@ -153,6 +153,7 @@ function removeTFCRecipes(event) {
event.remove({ id: 'tfc:crafting/alabaster_brick' })
event.remove({ id: /^tfc:crafting\/dough\/.*/ })
event.remove({ id: 'tfc:heating/destroy_bread' })
event.remove({ id: 'tfc:crafting/gunpowder_graphite' })
event.remove({ id: 'tfc:crafting/gunpowder' })
@@ -160,4 +161,4 @@ function removeTFCRecipes(event) {
event.remove({ output: 'tfc:rustic_windmill_blade'})
event.remove({ output: 'tfc:lattice_windmill_blade'})
event.remove({ id: 'tfchotornot:heating/insulating_items'})
}
}

View File

@@ -25,4 +25,13 @@ const registerWABItemTags = (event) => {
event.add('tfc:foods/cooked_meats', 'wan_ancient_beasts:cooked_toxlacanth')
event.add('firmalife:foods/cooked_fish', 'wan_ancient_beasts:cooked_toxlacanth')
event.add('tfc:food/meats', 'wan_ancient_beasts:cooked_toxlacanth')
}
const registerWABEntityTypeTags = (event) => {
event.add('wan_ancient_beasts:eater_ignore', '#wan_ancient_beasts:ancient_mobs')
event.add('wan_ancient_beasts:eater_ignore', 'tfg:sniffer')
event.add('wan_ancient_beasts:eater_ignore', 'tfg:wraptor')
event.add('wan_ancient_beasts:eater_ignore', 'species:springling')
}

View File

@@ -0,0 +1,11 @@
// priority: 0
"use strict";
global.SNS_DISABLED_ITEMS = [
'sns:mob_net',
'sns:lunchbox'
];

View File

@@ -0,0 +1,6 @@
global.SOULBINDABLE_ITEMS = [
'ad_astra:space_helmet',
'ad_astra:space_suit',
'ad_astra:space_pants',
'ad_astra:space_boots'
]

View File

@@ -7,6 +7,69 @@
"forge": "47.4.6"
},
"projects": [
{
"pakku_id": "6k7DoFyO7bpHnhyk",
"type": "MOD",
"side": "CLIENT",
"slug": {
"curseforge": "aaa-particles",
"modrinth": "aaa-particles"
},
"name": {
"curseforge": "AAA Particles",
"modrinth": "AAA Particles"
},
"id": {
"curseforge": "979809",
"modrinth": "En8uHTOK"
},
"files": [
{
"type": "curseforge",
"file_name": "aaa_particles-1.20.1-1.4.11-forge.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"neoforge",
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6616/719/aaa_particles-1.20.1-1.4.11-forge.jar",
"id": "6616719",
"parent_id": "979809",
"hashes": {
"sha1": "e046caeff220722933cb82097a62412d902f6002",
"md5": "41e2e1bbd89f858b35f280858857323f"
},
"required_dependencies": [],
"size": 5255759,
"date_published": "2025-06-05T09:17:54.350Z"
},
{
"type": "modrinth",
"file_name": "aaa_particles-1.20.1-1.4.11-forge.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge",
"neoforge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/En8uHTOK/versions/heNkI8gU/aaa_particles-1.20.1-1.4.11-forge.jar",
"id": "heNkI8gU",
"parent_id": "En8uHTOK",
"hashes": {
"sha512": "7d0df9076d1871338556165be8ee3feadfb8e09ab7315ab2726c398f8351ea5e3e0d1907caae2aa9afa5443d9e6ef71d139590887ee0a670a0e4de11dfa0e17b",
"sha1": "e046caeff220722933cb82097a62412d902f6002"
},
"required_dependencies": [],
"size": 5255759,
"date_published": "2025-06-05T09:23:07.127326Z"
}
]
},
{
"pakku_id": "v1XVLzfV3EJPc5ke",
"pakku_links": [
@@ -1454,6 +1517,70 @@
}
]
},
{
"pakku_id": "xYgkxAJKwHb9tvUM",
"type": "MOD",
"side": "BOTH",
"slug": {
"curseforge": "autopack-director",
"modrinth": "autopack-director"
},
"name": {
"curseforge": "AutoPack-Director",
"modrinth": "AutoPack-Director"
},
"id": {
"curseforge": "1182657",
"modrinth": "Fqqapnbs"
},
"files": [
{
"type": "curseforge",
"file_name": "AutoPack-Director-1.0.1.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"neoforge",
"forge"
],
"release_type": "beta",
"url": "https://edge.forgecdn.net/files/6102/172/AutoPack-Director-1.0.1.jar",
"id": "6102172",
"parent_id": "1182657",
"hashes": {
"sha1": "973a115aeee0cd6d40ad0a0e1e255d5aa0419bb2",
"md5": "5b6d859ea086f988ed041045d0b58896"
},
"required_dependencies": [],
"size": 3031600,
"date_published": "2025-01-19T07:37:46.543Z"
},
{
"type": "modrinth",
"file_name": "Modpack-Director-1.0.1.jar",
"mc_versions": [
"1.12.2",
"1.20.1"
],
"loaders": [
"forge",
"neoforge"
],
"release_type": "beta",
"url": "https://cdn.modrinth.com/data/Fqqapnbs/versions/47y19tCP/Modpack-Director-1.0.1.jar",
"id": "47y19tCP",
"parent_id": "Fqqapnbs",
"hashes": {
"sha512": "2a58aff6a3bbcc4e44f6b81f7fb8477fd87f55112ff53c3704ae25a136d2ffd5146043983cf653444e823a4c9a247866028a452ff482d9cdc6cb81af4a1ffca3",
"sha1": "973a115aeee0cd6d40ad0a0e1e255d5aa0419bb2"
},
"required_dependencies": [],
"size": 3031600,
"date_published": "2025-01-19T06:45:11.832901Z"
}
]
},
{
"pakku_id": "tcGlxrXYONei6sfG",
"type": "MOD",
@@ -4419,6 +4546,88 @@
}
]
},
{
"pakku_id": "NTPct5Wu0LfCm96a",
"pakku_links": [
"6k7DoFyO7bpHnhyk",
"NAvm5gacwCvqJee5",
"pB7ARGecP03UXpd6",
"znIzfNElWkwpdz2V"
],
"type": "MOD",
"side": "BOTH",
"slug": {
"curseforge": "desert-behemoths-sandworms",
"modrinth": "desert-behemoths-sandworms!"
},
"name": {
"curseforge": "Desert Behemoths: Sandworms!",
"modrinth": "Desert Behemoths: Sandworms!"
},
"id": {
"curseforge": "1066153",
"modrinth": "b1GD2Ca2"
},
"redistributable": false,
"files": [
{
"type": "curseforge",
"file_name": "sandworm_mod-1.1.1.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"neoforge",
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/5600/383/sandworm_mod-1.1.1.jar",
"id": "5600383",
"parent_id": "1066153",
"hashes": {
"sha1": "c55788dcd8a1d24f4b41f20d40f5b670b163950a",
"md5": "d83733870396560256a5706db01375a5"
},
"required_dependencies": [
"979809",
"616457",
"388172"
],
"size": 4515741,
"date_published": "2024-08-06T00:57:24.447Z"
},
{
"type": "modrinth",
"file_name": "sandworm_mod-1.1.0.jar",
"mc_versions": [
"1.20.1",
"1.20.2",
"1.20.3",
"1.20.4",
"1.20.5",
"1.20.6"
],
"loaders": [
"forge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/b1GD2Ca2/versions/44Ejqnzj/sandworm_mod-1.1.0.jar",
"id": "44Ejqnzj",
"parent_id": "b1GD2Ca2",
"hashes": {
"sha512": "d3e21410f3369bf5437cf35dd68eaa619b72d431d90be9106497a5f934e1ab9e3fb2bd5054022ab2f310e8e21e654a088a2040bb793b3e69a26d99644381e088",
"sha1": "69ac6ea39135c26a2625c0dce585f2594fd4ca52"
},
"required_dependencies": [
"bN3xUWdo",
"En8uHTOK",
"8BmcQJ2H"
],
"size": 4515705,
"date_published": "2024-07-30T08:15:53.352176Z"
}
]
},
{
"pakku_id": "qTkHGASztASuivVS",
"type": "MOD",
@@ -5378,7 +5587,7 @@
"e7thBe1Z6fvyxUtU"
],
"type": "MOD",
"side": "CLIENT",
"side": "BOTH",
"slug": {
"curseforge": "ftb-backups-2"
},
@@ -5388,6 +5597,7 @@
"id": {
"curseforge": "622737"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -5435,6 +5645,7 @@
"id": {
"curseforge": "314906"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -5475,6 +5686,7 @@
"id": {
"curseforge": "410811"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -5517,6 +5729,7 @@
"id": {
"curseforge": "943925"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -5560,6 +5773,7 @@
"id": {
"curseforge": "404465"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -5603,6 +5817,7 @@
"id": {
"curseforge": "289412"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -5647,6 +5862,7 @@
"id": {
"curseforge": "314905"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -5690,6 +5906,7 @@
"id": {
"curseforge": "404468"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -5735,6 +5952,7 @@
"id": {
"curseforge": "889915"
},
"export": false,
"files": [
{
"type": "curseforge",
@@ -6976,45 +7194,46 @@
"modrinth": "fUawEtti"
},
"files": [
{
"type": "curseforge",
"file_name": "GregTech Revival 32x 1.19.2-1.20.1-1.21 ver 0.19.zip",
"mc_versions": [
"1.20.1"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6546/954/GregTech Revival 32x 1.19.2-1.20.1-1.21 ver 0.19.zip",
"id": "6546954",
"parent_id": "964322",
"hashes": {
"sha1": "b0e072c301f713e7e1c2cc21a75646e7d64051f6",
"md5": "d2a57f619ac14ffd8705596b56a6e599"
},
"required_dependencies": [],
"size": 8116393,
"date_published": "2025-05-19T12:40:51.413Z"
},
{
"type": "modrinth",
"file_name": "GregTech Revival 32x 1.19.2-1.20.1-1.21 ver 0.19.zip",
"file_name": "[ver 0.20] GT Revival 32x 1.19.2-1.20.1-1.21.zip",
"mc_versions": [
"1.20",
"1.20.1"
"1.19.2",
"1.20.1",
"1.21.1"
],
"loaders": [
"minecraft"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/fUawEtti/versions/UuwQOAHO/GregTech Revival 32x 1.19.2-1.20.1-1.21 ver 0.19.zip",
"id": "UuwQOAHO",
"url": "https://cdn.modrinth.com/data/fUawEtti/versions/oQJH7fHm/[ver 0.20] GT Revival 32x 1.19.2-1.20.1-1.21.zip",
"id": "oQJH7fHm",
"parent_id": "fUawEtti",
"hashes": {
"sha512": "0cede40c825cee8fd314abd9825b9e35f943aa5379fa6f81adc8643473c66cbef6a6ae846a546b8584514d857c21831d1bf81d6c6393fe7306dedd725c2570f1",
"sha1": "b0e072c301f713e7e1c2cc21a75646e7d64051f6"
"sha512": "d9834d62867186584f1a6b62d91f1426dd3ff646e5c85c2c562767db2b4616769640314d970e5550bcd3e5fc65be3eb733831503d607add010805c7d54949f32",
"sha1": "388145cb295a0778deb2af3920c3a53ecfb80804"
},
"required_dependencies": [],
"size": 8116393,
"date_published": "2025-05-19T12:41:42.204377Z"
"size": 8289791,
"date_published": "2025-07-19T13:09:55.325382Z"
},
{
"type": "curseforge",
"file_name": "[ver 0.20] GT Revival 32x 1.19.2-1.20.1-1.21.zip",
"mc_versions": [
"1.20.1"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6787/476/[ver 0.20] GT Revival 32x 1.19.2-1.20.1-1.21.zip",
"id": "6787476",
"parent_id": "964322",
"hashes": {
"sha1": "388145cb295a0778deb2af3920c3a53ecfb80804",
"md5": "9c4fad9bba1ff5c4dd7c24d68c9310a9"
},
"required_dependencies": [],
"size": 8289791,
"date_published": "2025-07-19T13:10:34.260Z"
}
]
},
@@ -8471,6 +8690,68 @@
}
]
},
{
"pakku_id": "znIzfNElWkwpdz2V",
"type": "MOD",
"side": "BOTH",
"slug": {
"modrinth": "lodestonelib",
"curseforge": "lodestone"
},
"name": {
"modrinth": "Lodestone",
"curseforge": "Lodestone"
},
"id": {
"modrinth": "bN3xUWdo",
"curseforge": "616457"
},
"files": [
{
"type": "modrinth",
"file_name": "lodestone-1.20.1-1.6.4.1.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/bN3xUWdo/versions/dRIycWqx/lodestone-1.20.1-1.6.4.1.jar",
"id": "dRIycWqx",
"parent_id": "bN3xUWdo",
"hashes": {
"sha512": "fec5107deb73c06c4b1756349cb874e0933c4181fd20e8528e46a24e35ccb048898c8607830deea3242d7303784a9c3a03f3fadd40d13fb6dc27a34a77f5cc85",
"sha1": "e6346060ae70cbf103b231d8a1536bcd044c84a8"
},
"required_dependencies": [],
"size": 670934,
"date_published": "2025-02-20T16:05:31.211605Z"
},
{
"type": "curseforge",
"file_name": "lodestone-1.20.1-1.6.4.1.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"neoforge",
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6213/794/lodestone-1.20.1-1.6.4.1.jar",
"id": "6213794",
"parent_id": "616457",
"hashes": {
"sha1": "e6346060ae70cbf103b231d8a1536bcd044c84a8",
"md5": "2816fa972ca3a21e6e38783f979955be"
},
"required_dependencies": [],
"size": 670934,
"date_published": "2025-02-20T15:59:37.757Z"
}
]
},
{
"pakku_id": "9RZJfprxqWyxsrEF",
"type": "MOD",
@@ -10612,6 +10893,7 @@
"bf2svog06ajj5JHE"
],
"type": "MOD",
"side": "CLIENT",
"slug": {
"curseforge": "probejs"
},
@@ -11075,6 +11357,76 @@
}
]
},
{
"pakku_id": "zOlM6hm7KZ1BAq5R",
"pakku_links": [
"64uacGcEw697jVGs"
],
"type": "MOD",
"side": "BOTH",
"slug": {
"curseforge": "sacks-n-such",
"modrinth": "sacks-n-such"
},
"name": {
"curseforge": "Sacks 'N Such",
"modrinth": "Sacks 'N Such"
},
"id": {
"curseforge": "695822",
"modrinth": "PhnM3Lkv"
},
"files": [
{
"type": "curseforge",
"file_name": "Sacks 'N Such-1.20.1-1.2.3-all.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"neoforge",
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6464/916/Sacks 'N Such-1.20.1-1.2.3-all.jar",
"id": "6464916",
"parent_id": "695822",
"hashes": {
"sha1": "490701ab6768325bf455d19455966567cd01996b",
"md5": "abcc4d700ed32305824902e4f2b29bbb"
},
"required_dependencies": [
"302973"
],
"size": 660385,
"date_published": "2025-04-25T23:21:11.043Z"
},
{
"type": "modrinth",
"file_name": "Sacks 'N Such-1.20.1-1.2.3-all.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge",
"neoforge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/PhnM3Lkv/versions/tXZzHNm6/Sacks 'N Such-1.20.1-1.2.3-all.jar",
"id": "tXZzHNm6",
"parent_id": "PhnM3Lkv",
"hashes": {
"sha512": "cd1a5514f6231eee01e514be4bd8e05cdcf5411df68327b83586996ddae15d5c6fda3ff2edec22c3aad6ccb0052e45a73c98a19e2832671f34291e2afd7df358",
"sha1": "490701ab6768325bf455d19455966567cd01996b"
},
"required_dependencies": [
"JaCEZUhg"
],
"size": 660385,
"date_published": "2025-04-25T23:21:12.798597Z"
}
]
},
{
"pakku_id": "87oulFfvlQlJm2Pt",
"type": "MOD",
@@ -11735,6 +12087,43 @@
}
]
},
{
"pakku_id": "AZEF3WB6o1ORFoD1",
"type": "MOD",
"slug": {
"curseforge": "soulbinding"
},
"name": {
"curseforge": "Soulbinding"
},
"id": {
"curseforge": "925229"
},
"redistributable": false,
"files": [
{
"type": "curseforge",
"file_name": "SoulBinding1.20.1(Forge)vs1.0.2.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/4928/200/SoulBinding1.20.1(Forge)vs1.0.2.jar",
"id": "4928200",
"parent_id": "925229",
"hashes": {
"sha1": "b794e39c75a28753900dfe81d97137bc1d7b50d7",
"md5": "fa3f5d7f9a0e01037f39de4ca8fdec1f"
},
"required_dependencies": [],
"size": 23878,
"date_published": "2023-12-05T04:59:29.643Z"
}
]
},
{
"pakku_id": "ztIkqvZk37z4FIED",
"type": "MOD",
@@ -12122,21 +12511,23 @@
]
},
{
"pakku_id": "4WwQ11qPky8VtFcw",
"pakku_id": "EmmEeCWccT896XlZ",
"pakku_links": [
"F6H99cZ4H6jZRpEK",
"fMkiGcRPRv1DdRC1",
"64uacGcEw697jVGs"
],
"type": "MOD",
"side": "BOTH",
"slug": {
"curseforge": "tfc-better-blast-furnace"
"curseforge": "tfc-better-blast-furnace",
"modrinth": "tfc-better-blast-furnace"
},
"name": {
"curseforge": "TFC Better Blast Furnace"
"curseforge": "TFC Better Blast Furnace",
"modrinth": "TFC Better Blast Furnace"
},
"id": {
"curseforge": "1046432"
"curseforge": "1046432",
"modrinth": "tr715LZ4"
},
"files": [
{
@@ -12161,6 +12552,27 @@
],
"size": 21088,
"date_published": "2024-06-23T02:44:03.777Z"
},
{
"type": "modrinth",
"file_name": "TFCBetterBlastFurnace-1.20.1-1.0.0.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
"forge"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/tr715LZ4/versions/kXi8g4JA/TFCBetterBlastFurnace-1.20.1-1.0.0.jar",
"id": "kXi8g4JA",
"parent_id": "tr715LZ4",
"hashes": {
"sha512": "d4c9d5fab5bffd67c8a14acffd13e9defa6e6cfa4bdff44c1d8021dce660d814b2e7352f43361a8118349d24b753b74af7921c4d111d998495ffd1d5afa99bd8",
"sha1": "91dbfe3c3e7e7fc9ffb126d879c1507e8c2f8b82"
},
"required_dependencies": [],
"size": 21088,
"date_published": "2025-08-17T17:27:17.212986Z"
}
]
},
@@ -13405,6 +13817,66 @@
}
]
},
{
"pakku_id": "RVPHBXeZSGhgSPEu",
"type": "SHADER",
"side": "CLIENT",
"slug": {
"curseforge": "terrafirmagreg-shaders",
"modrinth": "terrafirmagreg-shaders"
},
"name": {
"curseforge": "TerraFirmaGreg-Shaders",
"modrinth": "TerraFirmaGreg-Shaders"
},
"id": {
"curseforge": "954161",
"modrinth": "cFPyBbB1"
},
"files": [
{
"type": "curseforge",
"file_name": "TerraFirmaGreg-Shaders-Unbound-2.0.1.zip",
"mc_versions": [
"1.20.1"
],
"release_type": "release",
"url": "https://edge.forgecdn.net/files/6926/661/TerraFirmaGreg-Shaders-Unbound-2.0.1.zip",
"id": "6926661",
"parent_id": "954161",
"hashes": {
"sha1": "acacf78875b08aa2132abbb387ec4397a96711a3",
"md5": "26fb51631705d06253a4b5766121e2b9"
},
"required_dependencies": [],
"size": 568225,
"date_published": "2025-08-25T13:12:54.383Z"
},
{
"type": "modrinth",
"file_name": "TerraFirmaGreg-Shaders-Unbound-2.0.1.zip",
"mc_versions": [
"1.12.2",
"1.20.1"
],
"loaders": [
"iris",
"optifine"
],
"release_type": "release",
"url": "https://cdn.modrinth.com/data/cFPyBbB1/versions/7LqM8Hgz/TerraFirmaGreg-Shaders-Unbound-2.0.1.zip",
"id": "7LqM8Hgz",
"parent_id": "cFPyBbB1",
"hashes": {
"sha512": "c62a4f1efaec1d1a27f69ae485cb874fc9064fdfecfc2dcea8440f5d70ec0fd91f9c55fd7e42f118e57e36087b2987f2b3a20f757ec8c80943a55ab49dda9d77",
"sha1": "acacf78875b08aa2132abbb387ec4397a96711a3"
},
"required_dependencies": [],
"size": 568225,
"date_published": "2025-08-25T13:12:55.910412Z"
}
]
},
{
"pakku_id": "oLp78y55xvS4lBnk",
"type": "MOD",
@@ -14128,4 +14600,4 @@
}
],
"lockfile_version": 1
}
}

View File

@@ -158,9 +158,6 @@
"first-person-model": {
"side": "CLIENT"
},
"ftb-backups-2": {
"side": "BOTH"
},
"no-report-button": {
"side": "CLIENT"
},
@@ -243,7 +240,7 @@
"side": "BOTH"
},
"pick-up-notifier": {
"side": "BOTH"
"side": "CLIENT"
},
"inventory-tweaks-refoxed": {
"side": "BOTH"
@@ -254,7 +251,36 @@
"detected-setblock-be-gone": {
"side": "BOTH"
},
"ftb-backups-2": {
"side": "BOTH",
"export": false
},
"ftb-chunks-forge": {
"export": false
},
"ftb-essentials": {
"export": false
},
"ftb-filter-system": {
"export": false
},
"ftb-library-forge": {
"export": false
},
"ftb-quests-forge": {
"export": false
},
"ftb-ranks-forge": {
"export": false
},
"ftb-teams-forge": {
"export": false
},
"ftb-xmod-compat": {
"export": false
},
"probejs": {
"side": "CLIENT",
"export": false
}
}