Compare commits

...

6 Commits

  1. 1
      defaultconfigs/carryon-server.toml
  2. 233
      defaultconfigs/refinedpipes-server.toml
  3. 7
      kubejs/assets/refinedpipes/models/block/pipe/energy/advanced/extension.json
  4. 8
      kubejs/assets/refinedpipes/models/block/pipe/energy/advanced/straight.json
  5. 7
      kubejs/assets/refinedpipes/models/block/pipe/energy/basic/extension.json
  6. 8
      kubejs/assets/refinedpipes/models/block/pipe/energy/basic/straight.json
  7. 7
      kubejs/assets/refinedpipes/models/block/pipe/energy/improved/extension.json
  8. 8
      kubejs/assets/refinedpipes/models/block/pipe/energy/improved/straight.json
  9. 7
      kubejs/assets/refinedpipes/models/block/pipe/fluid/advanced/extension.json
  10. 8
      kubejs/assets/refinedpipes/models/block/pipe/fluid/advanced/straight.json
  11. 7
      kubejs/assets/refinedpipes/models/block/pipe/fluid/basic/extension.json
  12. 8
      kubejs/assets/refinedpipes/models/block/pipe/fluid/basic/straight.json
  13. 7
      kubejs/assets/refinedpipes/models/block/pipe/fluid/improved/extension.json
  14. 8
      kubejs/assets/refinedpipes/models/block/pipe/fluid/improved/straight.json
  15. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/energy/advanced.png
  16. 6
      kubejs/assets/refinedpipes/textures/blocks/pipe/energy/advanced.png.mcmeta
  17. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/energy/basic.png
  18. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/energy/connector.png
  19. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/energy/improved.png
  20. 6
      kubejs/assets/refinedpipes/textures/blocks/pipe/energy/improved.png.mcmeta
  21. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/fluid/advanced.png
  22. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/fluid/basic.png
  23. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/fluid/connector.png
  24. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/fluid/improved.png
  25. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/item/advanced.png
  26. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/item/basic.png
  27. BIN
      kubejs/assets/refinedpipes/textures/blocks/pipe/item/improved.png
  28. 10
      kubejs/client_scripts/hide/refined_pipes.js
  29. 51
      kubejs/data/create_sa/recipes/heat_engine_recipe.json
  30. 51
      kubejs/data/create_sa/recipes/hydraulic_engine_recipe.json
  31. 51
      kubejs/data/create_sa/recipes/steam_engine_recipe.json
  32. 14
      kubejs/server_scripts/recipes/certus_quartz.js
  33. 109
      kubejs/server_scripts/recipes/refined_pipes.js
  34. 2
      kubejs/server_scripts/recipes/spice_rack.js
  35. 13
      mods/refined-pipes.pw.toml

@ -63,6 +63,7 @@
"create:*",
"botania:*",
"tconstruct:*",
"refinedpipes:*",
"immersiveengineering:*",
"quark:colored_bed_*",

@ -0,0 +1,233 @@
[pipe]
[pipe.item]
[pipe.item.basic]
#The maximum amount of ticks that items can be in the pipe. Lower is faster.
#Range: > 0
maxTicks = 32
[pipe.item.improved]
#The maximum amount of ticks that items can be in the pipe. Lower is faster.
#Range: > 0
maxTicks = 12
[pipe.item.advanced]
#The maximum amount of ticks that items can be in the pipe. Lower is faster.
#Range: > 0
maxTicks = 8
[pipe.fluid]
[pipe.fluid.basic]
#The capacity in mB of the pipe.
#Range: > 0
capacity = 1000
#The transfer rate in mB/t of the pipe.
#Range: > 0
transferRate = 100
[pipe.fluid.improved]
#The capacity in mB of the pipe.
#Range: > 0
capacity = 4000
#The transfer rate in mB/t of the pipe.
#Range: > 0
transferRate = 400
[pipe.fluid.advanced]
#The capacity in mB of the pipe.
#Range: > 0
capacity = 8000
#The transfer rate in mB/t of the pipe.
#Range: > 0
transferRate = 800
[pipe.fluid.elite]
#The capacity in mB of the pipe.
#Range: > 0
capacity = 16000
#The transfer rate in mB/t of the pipe.
#Range: > 0
transferRate = 1600
[pipe.fluid.ultimate]
#The capacity in mB of the pipe.
#Range: > 0
capacity = 32000
#The transfer rate in mB/t of the pipe.
#Range: > 0
transferRate = 3200
[pipe.energy]
[pipe.energy.basic]
#The capacity in FE of the pipe.
#Range: > 0
capacity = 1024
#The transfer rate in FE/t of the pipe.
#Range: > 0
transferRate = 1024
[pipe.energy.improved]
#The capacity in FE of the pipe.
#Range: > 0
capacity = 4096
#The transfer rate in FE/t of the pipe.
#Range: > 0
transferRate = 4096
[pipe.energy.advanced]
#The capacity in FE of the pipe.
#Range: > 0
capacity = 16384
#The transfer rate in FE/t of the pipe.
#Range: > 0
transferRate = 16384
[pipe.energy.elite]
#The capacity in FE of the pipe.
#Range: > 0
capacity = 16000
#The transfer rate in FE/t of the pipe.
#Range: > 0
transferRate = 16000
[pipe.energy.ultimate]
#The capacity in FE of the pipe.
#Range: > 0
capacity = 32000
#The transfer rate in FE/t of the pipe.
#Range: > 0
transferRate = 32000
[pipe.attachment]
[pipe.attachment.extractor]
[pipe.attachment.extractor.basic]
#The interval between item extractions in ticks. Lower is faster.
#Range: > 0
itemTickInterval = 40
#The amount of items to extract per extraction.
#Range: 0 ~ 64
itemsToExtract = 8
#The interval between fluid extractions in ticks. Lower is faster.
#Range: > 0
fluidTickInterval = 40
#The amount of fluids in mB to extract per extraction.
#Range: > 0
fluidsToExtract = 100
#The amount of filter slots allowed.
#Range: 0 ~ 15
filterSlots = 0
#Whether the redstone mode can be configured for this extractor.
canSetRedstoneMode = true
#Whether the extractor can be toggled between whitelist and blacklist.
canSetWhitelistBlacklist = false
#Whether the extractor can be toggled between routing modes.
canSetRoutingMode = false
#Whether the extractor can toggle exact mode.
canSetExactMode = true
[pipe.attachment.extractor.improved]
#The interval between item extractions in ticks. Lower is faster.
#Range: > 0
itemTickInterval = 20
#The amount of items to extract per extraction.
#Range: 0 ~ 64
itemsToExtract = 16
#The interval between fluid extractions in ticks. Lower is faster.
#Range: > 0
fluidTickInterval = 20
#The amount of fluids in mB to extract per extraction.
#Range: > 0
fluidsToExtract = 400
#The amount of filter slots allowed.
#Range: 0 ~ 15
filterSlots = 5
#Whether the redstone mode can be configured for this extractor.
canSetRedstoneMode = true
#Whether the extractor can be toggled between whitelist and blacklist.
canSetWhitelistBlacklist = true
#Whether the extractor can be toggled between routing modes.
canSetRoutingMode = false
#Whether the extractor can toggle exact mode.
canSetExactMode = true
[pipe.attachment.extractor.advanced]
#The interval between item extractions in ticks. Lower is faster.
#Range: > 0
itemTickInterval = 10
#The amount of items to extract per extraction.
#Range: 0 ~ 64
itemsToExtract = 32
#The interval between fluid extractions in ticks. Lower is faster.
#Range: > 0
fluidTickInterval = 10
#The amount of fluids in mB to extract per extraction.
#Range: > 0
fluidsToExtract = 800
#The amount of filter slots allowed.
#Range: 0 ~ 15
filterSlots = 15
#Whether the redstone mode can be configured for this extractor.
canSetRedstoneMode = true
#Whether the extractor can be toggled between whitelist and blacklist.
canSetWhitelistBlacklist = true
#Whether the extractor can be toggled between routing modes.
canSetRoutingMode = true
#Whether the extractor can toggle exact mode.
canSetExactMode = true
[pipe.attachment.extractor.elite]
#The interval between item extractions in ticks. Lower is faster.
#Range: > 0
itemTickInterval = 10
#The amount of items to extract per extraction.
#Range: 0 ~ 64
itemsToExtract = 64
#The interval between fluid extractions in ticks. Lower is faster.
#Range: > 0
fluidTickInterval = 0
#The amount of fluids in mB to extract per extraction.
#Range: > 0
fluidsToExtract = 1600
#The amount of filter slots allowed.
#Range: 0 ~ 15
filterSlots = 12
#Whether the redstone mode can be configured for this extractor.
canSetRedstoneMode = true
#Whether the extractor can be toggled between whitelist and blacklist.
canSetWhitelistBlacklist = true
#Whether the extractor can be toggled between routing modes.
canSetRoutingMode = true
#Whether the extractor can toggle exact mode.
canSetExactMode = true
[pipe.attachment.extractor.ultimate]
#The interval between item extractions in ticks. Lower is faster.
#Range: > 0
itemTickInterval = 10
#The amount of items to extract per extraction.
#Range: 0 ~ 64
itemsToExtract = 64
#The interval between fluid extractions in ticks. Lower is faster.
#Range: > 0
fluidTickInterval = 0
#The amount of fluids in mB to extract per extraction.
#Range: > 0
fluidsToExtract = 3200
#The amount of filter slots allowed.
#Range: 0 ~ 15
filterSlots = 15
#Whether the redstone mode can be configured for this extractor.
canSetRedstoneMode = true
#Whether the extractor can be toggled between whitelist and blacklist.
canSetWhitelistBlacklist = true
#Whether the extractor can be toggled between routing modes.
canSetRoutingMode = true
#Whether the extractor can toggle exact mode.
canSetExactMode = true

@ -0,0 +1,7 @@
{
"parent": "refinedpipes:block/pipe/item/extension",
"textures": {
"0": "refinedpipes:blocks/pipe/energy/connector",
"particle": "refinedpipes:blocks/pipe/energy/connector"
}
}

@ -0,0 +1,8 @@
{
"parent": "refinedpipes:block/pipe/energy/straight",
"textures": {
"0": "refinedpipes:blocks/pipe/energy/advanced",
"1": "refinedpipes:blocks/pipe/energy/connector",
"particle": "refinedpipes:blocks/pipe/energy/advanced"
}
}

@ -0,0 +1,7 @@
{
"parent": "refinedpipes:block/pipe/item/extension",
"textures": {
"0": "refinedpipes:blocks/pipe/energy/connector",
"particle": "refinedpipes:blocks/pipe/energy/connector"
}
}

@ -0,0 +1,8 @@
{
"parent": "refinedpipes:block/pipe/energy/straight",
"textures": {
"0": "refinedpipes:blocks/pipe/energy/basic",
"1": "refinedpipes:blocks/pipe/energy/connector",
"particle": "refinedpipes:blocks/pipe/energy/basic"
}
}

@ -0,0 +1,7 @@
{
"parent": "refinedpipes:block/pipe/item/extension",
"textures": {
"0": "refinedpipes:blocks/pipe/energy/connector",
"particle": "refinedpipes:blocks/pipe/energy/connector"
}
}

@ -0,0 +1,8 @@
{
"parent": "refinedpipes:block/pipe/energy/straight",
"textures": {
"0": "refinedpipes:blocks/pipe/energy/improved",
"1": "refinedpipes:blocks/pipe/energy/connector",
"particle": "refinedpipes:blocks/pipe/energy/improved"
}
}

@ -0,0 +1,7 @@
{
"parent": "refinedpipes:block/pipe/item/extension",
"textures": {
"0": "refinedpipes:blocks/pipe/fluid/connector",
"particle": "refinedpipes:blocks/pipe/fluid/connector"
}
}

@ -0,0 +1,8 @@
{
"parent": "refinedpipes:block/pipe/fluid/straight",
"textures": {
"0": "refinedpipes:blocks/pipe/fluid/advanced",
"1": "refinedpipes:blocks/pipe/fluid/connector",
"particle": "refinedpipes:blocks/pipe/fluid/advanced"
}
}

@ -0,0 +1,7 @@
{
"parent": "refinedpipes:block/pipe/item/extension",
"textures": {
"0": "refinedpipes:blocks/pipe/fluid/connector",
"particle": "refinedpipes:blocks/pipe/fluid/connector"
}
}

@ -0,0 +1,8 @@
{
"parent": "refinedpipes:block/pipe/fluid/straight",
"textures": {
"0": "refinedpipes:blocks/pipe/fluid/basic",
"1": "refinedpipes:blocks/pipe/fluid/connector",
"particle": "refinedpipes:blocks/pipe/fluid/basic"
}
}

@ -0,0 +1,7 @@
{
"parent": "refinedpipes:block/pipe/item/extension",
"textures": {
"0": "refinedpipes:blocks/pipe/fluid/connector",
"particle": "refinedpipes:blocks/pipe/fluid/connector"
}
}

@ -0,0 +1,8 @@
{
"parent": "refinedpipes:block/pipe/fluid/straight",
"textures": {
"0": "refinedpipes:blocks/pipe/fluid/improved",
"1": "refinedpipes:blocks/pipe/fluid/connector",
"particle": "refinedpipes:blocks/pipe/fluid/improved"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

@ -0,0 +1,6 @@
{
"animation": {
"frametime": 4,
"frames": [0, 1, 2, 3]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

@ -0,0 +1,6 @@
{
"animation": {
"frametime": 4,
"frames": [0, 1, 2, 3]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

@ -0,0 +1,10 @@
// priority: 0
onEvent("jei.hide.items", event => {
event.hide("refinedpipes:elite_fluid_pipe");
event.hide("refinedpipes:ultimate_fluid_pipe");
event.hide("refinedpipes:elite_energy_pipe");
event.hide("refinedpipes:ultimate_energy_pipe");
event.hide("refinedpipes:elite_extractor_attachment");
event.hide("refinedpipes:ultimate_extractor_attachment");
});

@ -0,0 +1,51 @@
{
"type": "create:sequenced_assembly",
"ingredient": { "item": "create:andesite_alloy" },
"transitionalItem": { "item": "create_sa:incomplete_heat_engine" },
"sequence": [
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_heat_engine" },
{ "item": "create:cogwheel" }
],
"results": [{ "item": "create_sa:incomplete_heat_engine" }]
},
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_heat_engine" },
{ "item": "create:large_cogwheel" }
],
"results": [{ "item": "create_sa:incomplete_heat_engine" }]
},
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_heat_engine" },
{ "tag": "forge:nuggets/zinc" }
],
"results": [{ "item": "create_sa:incomplete_heat_engine" }]
},
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_heat_engine" },
{ "tag": "forge:nuggets/copper" }
],
"results": [{ "item": "create_sa:incomplete_heat_engine" }]
}
],
"loops": 4,
"results": [
{ "chance": 120, "item": "create_sa:heat_engine" },
{ "chance": 8, "item": "create:copper_sheet" },
{ "chance": 8, "item": "create:andesite_alloy" },
{ "chance": 5, "item": "create:cogwheel" },
{ "chance": 2, "item": "create:shaft" },
{ "chance": 2, "item": "create:crushed_zinc_ore" },
{ "chance": 2, "item": "create:copper_nugget" },
{ "chance": 1, "item": "minecraft:iron_ingot" },
{ "chance": 1, "item": "minecraft:compass" }
]
}

@ -0,0 +1,51 @@
{
"type": "create:sequenced_assembly",
"ingredient": { "tag": "forge:plates/copper" },
"transitionalItem": { "item": "create_sa:incomplete_hydraulic_engine" },
"sequence": [
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_hydraulic_engine" },
{ "item": "create:cogwheel" }
],
"results": [{ "item": "create_sa:incomplete_hydraulic_engine" }]
},
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_hydraulic_engine" },
{ "item": "create:large_cogwheel" }
],
"results": [{ "item": "create_sa:incomplete_hydraulic_engine" }]
},
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_steam_engine" },
{ "item": "create:andesite_alloy" }
],
"results": [{ "item": "create_sa:incomplete_hydraulic_engine" }]
},
{
"type": "create:filling",
"ingredients": [
{ "item": "create_sa:incomplete_hydraulic_engine" },
{ "fluid": "minecraft:water", "amount": 250 }
],
"results": [{ "item": "create_sa:incomplete_hydraulic_engine" }]
}
],
"loops": 4,
"results": [
{ "chance": 120, "item": "create_sa:hydraulic_engine" },
{ "chance": 8, "item": "create:copper_sheet" },
{ "chance": 8, "item": "create:andesite_alloy" },
{ "chance": 5, "item": "create:cogwheel" },
{ "chance": 2, "item": "create:shaft" },
{ "chance": 2, "item": "create:crushed_copper_ore" },
{ "chance": 2, "item": "create:copper_nugget" },
{ "chance": 1, "item": "minecraft:iron_ingot" },
{ "chance": 1, "item": "minecraft:compass" }
]
}

@ -0,0 +1,51 @@
{
"type": "create:sequenced_assembly",
"ingredient": { "tag": "forge:plates/brass" },
"transitionalItem": { "item": "create_sa:incomplete_steam_engine" },
"sequence": [
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_steam_engine" },
{ "item": "create:cogwheel" }
],
"results": [{ "item": "create_sa:incomplete_steam_engine" }]
},
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_steam_engine" },
{ "item": "create:large_cogwheel" }
],
"results": [{ "item": "create_sa:incomplete_steam_engine" }]
},
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_steam_engine" },
{ "item": "create:propeller" }
],
"results": [{ "item": "create_sa:incomplete_steam_engine" }]
},
{
"type": "create:deploying",
"ingredients": [
{ "item": "create_sa:incomplete_steam_engine" },
{ "item": "create:andesite_alloy" }
],
"results": [{ "item": "create_sa:incomplete_steam_engine" }]
}
],
"loops": 4,
"results": [
{ "chance": 120, "item": "create_sa:steam_engine" },
{ "chance": 8, "item": "create:brass_sheet" },
{ "chance": 8, "item": "create:andesite_alloy" },
{ "chance": 5, "item": "create:cogwheel" },
{ "chance": 2, "item": "create:shaft" },
{ "chance": 2, "item": "create:brass_ingot" },
{ "chance": 2, "item": "create:brass_nugget" },
{ "chance": 1, "item": "minecraft:iron_ingot" },
{ "chance": 1, "item": "minecraft:compass" }
]
}

@ -0,0 +1,14 @@
// priority: 0
onEvent("recipes", event => {
let primary = "2x ae2:certus_quartz_dust";
let secondary = Item.of("ae2:certus_quartz_crystal").withChance(0.25);
let input = "#forge:ores/certus_quartz";
event.recipes.thermal.pulverizer([ primary, secondary ], input);
event.recipes.immersiveengineeringCrusher("3x ae2:certus_quartz_dust", input);
let xp = Item.of("create:experience_nugget").withChance(0.75);
event.recipes.createCrushing([ primary, secondary, xp, Item.of("minecraft:cobblestone").withChance(0.125) ], "ae2:quartz_ore");
event.recipes.createCrushing([ primary, secondary, xp, Item.of("minecraft:deepslate").withChance(0.125) ], "ae2:deepslate_quartz_ore");
});

@ -0,0 +1,109 @@
// priority: 0
onEvent("recipes", event => {
event.remove({ mod: "refinedpipes" });
event.shaped("8x refinedpipes:basic_item_pipe", [
"PPP",
"OOO",
"PGP",
], {
P: "#forge:plates/iron",
O: "#forge:glass/colorless",
G: "#forge:gears/iron",
});
event.shaped("8x refinedpipes:basic_fluid_pipe", [
"PPP",
"ORO",
"PGP",
], {
P: "#forge:plates/copper",
O: "#forge:glass/colorless",
G: "#forge:gears/copper",
R: "thermal:cured_rubber_block"
});
event.shaped("8x refinedpipes:basic_energy_pipe", [
"PPP",
"ORO",
"PWP",
], {
P: "#forge:plates/lead",
O: "#forge:glass/colorless",
W: "immersiveengineering:wirecoil_copper",
R: "minecraft:redstone_block",
});
let improved = {
item: "glowstone",
fluid: "slime",
energy: "redstone",
};
for (let [type, fluid] of Object.entries(improved)) {
event.recipes.createFilling(`refinedpipes:improved_${type}_pipe`,
[ `refinedpipes:basic_${type}_pipe`, { fluidTag: `forge:${fluid}`, amount: 125 } ]);
event.custom({
type: "thermal:bottler",
ingredients: [
{ item: `refinedpipes:basic_${type}_pipe` },
{ fluid_tag: `forge:${fluid}`, amount: 125 },
],
result: [{ item: `refinedpipes:improved_${type}_pipe` }],
});
event.custom({
type: "tconstruct:casting_table",
cast: { item: `refinedpipes:basic_${type}_pipe` }, cast_consumed: true,
fluid: { tag: `forge:${fluid}`, amount: 125 },
result: `refinedpipes:improved_${type}_pipe`,
cooling_time: 20,
});
}
let advanced = {
item: "create:precision_mechanism",
fluid: "create_sa:hydraulic_engine",
energy: "thermal:energy_cell",
};
for (let [type, item] of Object.entries(advanced))
event.shaped(`8x refinedpipes:advanced_${type}_pipe`,
[ "PPP", "PUP", "PPP", ], {
P: `refinedpipes:improved_${type}_pipe`,
U: item,
});
event.shaped("refinedpipes:basic_extractor_attachment", [
" H ",
"PGP",
" R ",
], {
P: "#forge:plates/iron",
G: "#forge:gears/iron",
H: "minecraft:hopper",
R: "#forge:dusts/redstone",
});
event.shaped("refinedpipes:improved_extractor_attachment", [
" T ",
"PAP",
" F ",
], {
P: "#forge:plates/brass",
A: "refinedpipes:basic_extractor_attachment",
T: "create:electron_tube",
F: "create:filter",
});
event.shaped("refinedpipes:advanced_extractor_attachment", [
" D ",
"PAP",
" M ",
], {
P: "#forge:plates/obsidian",
A: "refinedpipes:improved_extractor_attachment",
D: "#forge:dusts/ender_pearl",
M: "create:precision_mechanism",
});
});

@ -1,7 +1,7 @@
// priority: 0
onEvent("recipes", event => {
event.remove({ output: "cookingforblockheads:spice_rack" })
event.remove({ output: "cookingforblockheads:spice_rack" });
event.shaped("cookingforblockheads:spice_rack", [
"SSS",
"B B",

@ -0,0 +1,13 @@
name = "Refined Pipes"
filename = "refinedpipes-0.6.2.jar"
side = "both"
[download]
hash-format = "sha1"
hash = "46b43faf23d1aca35caefad6b37e2cb043f0f12b"
mode = "metadata:curseforge"
[update]
[update.curseforge]
file-id = 3816785
project-id = 370696
Loading…
Cancel
Save