This commit is contained in:
parent
fab3d55721
commit
b3791ea05f
|
@ -7,6 +7,7 @@ steps:
|
||||||
- apt update
|
- apt update
|
||||||
- apt install -y
|
- apt install -y
|
||||||
curl
|
curl
|
||||||
|
haxe
|
||||||
jq
|
jq
|
||||||
libarchive-dev
|
libarchive-dev
|
||||||
libcurl4-openssl-dev
|
libcurl4-openssl-dev
|
||||||
|
|
37
README.md
Normal file
37
README.md
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Anvilcraft 4
|
||||||
|
The 4th pack of the Anvilcraft series!
|
||||||
|
|
||||||
|
## Building
|
||||||
|
First, Install the dependencies required for compilation:
|
||||||
|
- zig (master version)
|
||||||
|
- haxe
|
||||||
|
- libcurl
|
||||||
|
- libarchive
|
||||||
|
|
||||||
|
Arch:
|
||||||
|
```bash
|
||||||
|
paru -S \
|
||||||
|
zig-git \
|
||||||
|
haxe \
|
||||||
|
curl \
|
||||||
|
libarchive
|
||||||
|
```
|
||||||
|
|
||||||
|
Debian:
|
||||||
|
```bash
|
||||||
|
apt install \
|
||||||
|
haxe \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libarchive-dev
|
||||||
|
# install zig manually
|
||||||
|
```
|
||||||
|
|
||||||
|
Install `kubejs-haxe`:
|
||||||
|
```bash
|
||||||
|
haxelib install kubejs
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the build script:
|
||||||
|
```bash
|
||||||
|
./build.zig
|
||||||
|
```
|
121
build.zig
121
build.zig
|
@ -34,12 +34,11 @@ pub fn main() !void {
|
||||||
|
|
||||||
var entry = c.archive_entry_new();
|
var entry = c.archive_entry_new();
|
||||||
defer c.archive_entry_free(entry);
|
defer c.archive_entry_free(entry);
|
||||||
entrySetDir(entry.?);
|
|
||||||
c.archive_entry_set_size(entry, 0);
|
try archiveCreateDir(zip.?, entry.?, "minecraft/");
|
||||||
c.archive_entry_set_pathname(entry, "minecraft/");
|
try archiveCreateDir(zip.?, entry.?, "minecraft/mods/");
|
||||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
|
||||||
c.archive_entry_set_pathname(entry, "minecraft/mods/");
|
try installHaxe(zip.?, entry.?, &buf);
|
||||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
|
||||||
|
|
||||||
var overrides = try std.fs.cwd().openDir("overrides", .{ .iterate = true });
|
var overrides = try std.fs.cwd().openDir("overrides", .{ .iterate = true });
|
||||||
defer overrides.close();
|
defer overrides.close();
|
||||||
|
@ -55,15 +54,9 @@ pub fn main() !void {
|
||||||
&[_][]const u8{ "minecraft/", e.path, "/\x00" },
|
&[_][]const u8{ "minecraft/", e.path, "/\x00" },
|
||||||
);
|
);
|
||||||
defer std.heap.c_allocator.free(path);
|
defer std.heap.c_allocator.free(path);
|
||||||
entrySetDir(entry.?);
|
try archiveCreateDir(zip.?, entry.?, path.ptr);
|
||||||
c.archive_entry_set_pathname(entry, path.ptr);
|
|
||||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
|
||||||
},
|
},
|
||||||
.File => {
|
.File => {
|
||||||
var file = try overrides.openFile(e.path, .{});
|
|
||||||
const stat = try file.stat();
|
|
||||||
entrySetFile(entry.?);
|
|
||||||
c.archive_entry_set_size(entry, @intCast(i64, stat.size));
|
|
||||||
const path = try std.mem.concatWithSentinel(
|
const path = try std.mem.concatWithSentinel(
|
||||||
std.heap.c_allocator,
|
std.heap.c_allocator,
|
||||||
u8,
|
u8,
|
||||||
|
@ -71,30 +64,30 @@ pub fn main() !void {
|
||||||
0,
|
0,
|
||||||
);
|
);
|
||||||
defer std.heap.c_allocator.free(path);
|
defer std.heap.c_allocator.free(path);
|
||||||
c.archive_entry_set_pathname(entry, path);
|
var file = try overrides.openFile(e.path, .{});
|
||||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
defer file.close();
|
||||||
|
|
||||||
var read = try file.read(&buf);
|
try archiveFile(
|
||||||
while (read != 0) {
|
zip.?,
|
||||||
_ = c.archive_write_data(zip, &buf, read);
|
entry.?,
|
||||||
read = try file.read(&buf);
|
&buf,
|
||||||
}
|
path,
|
||||||
|
file,
|
||||||
|
);
|
||||||
},
|
},
|
||||||
else => {},
|
else => {},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
entrySetFile(entry.?);
|
var mmc_pack_file = try std.fs.cwd().openFile("mmc-pack.json", .{});
|
||||||
var file = try std.fs.cwd().openFile("mmc-pack.json", .{});
|
defer mmc_pack_file.close();
|
||||||
c.archive_entry_set_pathname(entry, "mmc-pack.json");
|
try archiveFile(
|
||||||
c.archive_entry_set_size(entry, @intCast(i64, (try file.stat()).size));
|
zip.?,
|
||||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
entry.?,
|
||||||
|
&buf,
|
||||||
var read = try file.read(&buf);
|
"mmc-pack.json",
|
||||||
while (read != 0) {
|
mmc_pack_file,
|
||||||
_ = c.archive_write_data(zip, &buf, read);
|
);
|
||||||
read = try file.read(&buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
const instance_cfg_data = "InstanceType=OneSix";
|
const instance_cfg_data = "InstanceType=OneSix";
|
||||||
c.archive_entry_set_pathname(entry, "instance.cfg");
|
c.archive_entry_set_pathname(entry, "instance.cfg");
|
||||||
|
@ -124,6 +117,64 @@ pub fn main() !void {
|
||||||
try handleArchiveErr(c.archive_write_close(zip), zip);
|
try handleArchiveErr(c.archive_write_close(zip), zip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn archiveFile(
|
||||||
|
archive: *c.archive,
|
||||||
|
entry: *c.archive_entry,
|
||||||
|
buf: []u8,
|
||||||
|
name: [*c]const u8,
|
||||||
|
file: std.fs.File,
|
||||||
|
) !void {
|
||||||
|
entrySetFile(entry);
|
||||||
|
c.archive_entry_set_pathname(entry, name);
|
||||||
|
c.archive_entry_set_size(entry, @intCast(i64, (try file.stat()).size));
|
||||||
|
try handleArchiveErr(c.archive_write_header(archive, entry), archive);
|
||||||
|
|
||||||
|
var read = try file.read(buf);
|
||||||
|
while (read != 0) {
|
||||||
|
_ = c.archive_write_data(archive, buf.ptr, read);
|
||||||
|
read = try file.read(buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `name` must end with '/'!
|
||||||
|
fn archiveCreateDir(
|
||||||
|
archive: *c.archive,
|
||||||
|
entry: *c.archive_entry,
|
||||||
|
name: [*c]const u8,
|
||||||
|
) !void {
|
||||||
|
entrySetDir(entry);
|
||||||
|
c.archive_entry_set_pathname(entry, name);
|
||||||
|
try handleArchiveErr(c.archive_write_header(archive, entry), archive);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn installHaxe(archive: *c.archive, entry: *c.archive_entry, buf: []u8) !void {
|
||||||
|
const term = try std.ChildProcess.init(
|
||||||
|
&.{ "haxe", "kubejs/build.hxml" },
|
||||||
|
std.heap.c_allocator,
|
||||||
|
).spawnAndWait();
|
||||||
|
|
||||||
|
const term_n = switch (term) {
|
||||||
|
.Exited => |n| @intCast(u32, n),
|
||||||
|
.Signal, .Unknown, .Stopped => |n| n,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (term_n != 0)
|
||||||
|
return error.BuildHaxeError;
|
||||||
|
|
||||||
|
try archiveCreateDir(archive, entry, "minecraft/kubejs/");
|
||||||
|
try archiveCreateDir(archive, entry, "minecraft/kubejs/server_scripts/");
|
||||||
|
|
||||||
|
var file = try std.fs.cwd().openFile("build/kubejs-server.js", .{});
|
||||||
|
defer file.close();
|
||||||
|
try archiveFile(
|
||||||
|
archive,
|
||||||
|
entry,
|
||||||
|
buf,
|
||||||
|
"minecraft/kubejs/server_scripts/script.js",
|
||||||
|
file,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
fn readMods(list: *std.ArrayList([]u8), alloc: std.mem.Allocator) !void {
|
fn readMods(list: *std.ArrayList([]u8), alloc: std.mem.Allocator) !void {
|
||||||
var file = try std.fs.cwd().openFile("mods.txt", .{});
|
var file = try std.fs.cwd().openFile("mods.txt", .{});
|
||||||
defer file.close();
|
defer file.close();
|
||||||
|
@ -253,12 +304,14 @@ fn downloadMods(
|
||||||
}
|
}
|
||||||
|
|
||||||
fn entrySetDir(entry: *c.archive_entry) void {
|
fn entrySetDir(entry: *c.archive_entry) void {
|
||||||
c.archive_entry_set_mode(entry, c.S_IFDIR | 0777);
|
c.archive_entry_set_filetype(entry, c.S_IFDIR);
|
||||||
c.archive_entry_set_size(entry, 0);
|
c.archive_entry_set_perm(entry, 0o755);
|
||||||
|
c.archive_entry_unset_size(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn entrySetFile(entry: *c.archive_entry) void {
|
fn entrySetFile(entry: *c.archive_entry) void {
|
||||||
c.archive_entry_set_mode(entry, c.S_IFREG | 0777);
|
c.archive_entry_set_filetype(entry, c.S_IFREG);
|
||||||
|
c.archive_entry_set_perm(entry, 0o644);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handleCurlErr(code: c.CURLcode) !void {
|
fn handleCurlErr(code: c.CURLcode) !void {
|
||||||
|
|
15
kubejs/Main.hx
Normal file
15
kubejs/Main.hx
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
package;
|
||||||
|
|
||||||
|
import kubejs.Events;
|
||||||
|
import kubejs.Settings;
|
||||||
|
|
||||||
|
class Main {
|
||||||
|
static function main() {
|
||||||
|
Settings.logAddedRecipes = true;
|
||||||
|
Settings.logErroringRecipes = true;
|
||||||
|
Settings.logRemovedRecipes = true;
|
||||||
|
Settings.logSkippedRecipes = false;
|
||||||
|
|
||||||
|
Events.onEvent(EventType.RecipesEventType, Recipes.onEvent);
|
||||||
|
}
|
||||||
|
}
|
20
kubejs/Recipes.hx
Normal file
20
kubejs/Recipes.hx
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
import kubejs.events.server.RecipesEvent;
|
||||||
|
|
||||||
|
class Recipes {
|
||||||
|
public static function onEvent(event:RecipesEvent) {
|
||||||
|
event.shaped(
|
||||||
|
"flight_rings:t_basic_ring_treasure",
|
||||||
|
[
|
||||||
|
"S", "W", "S",
|
||||||
|
"W", "R", "W",
|
||||||
|
"F", "W", "F",
|
||||||
|
],
|
||||||
|
{
|
||||||
|
S: "terramine:mana_crystal",
|
||||||
|
W: "minecraft:feather",
|
||||||
|
R: "botania:pixie_ring",
|
||||||
|
F: "create:encased_fan",
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
5
kubejs/build.hxml
Normal file
5
kubejs/build.hxml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# invoke haxe from the repository root
|
||||||
|
-cp kubejs
|
||||||
|
-main Main
|
||||||
|
-lib kubejs
|
||||||
|
-js build/kubejs-server.js
|
90
mods.txt
90
mods.txt
|
@ -5,7 +5,7 @@ https://github.com/Fabricators-of-Create/Porting-Lib/releases/download/1.0.0/por
|
||||||
https://cdn.modrinth.com/data/Xbc0uyRg/versions/mc1.18.2_v0.4.1+631/create-mc1.18.2_v0.4.1%2B631.jar
|
https://cdn.modrinth.com/data/Xbc0uyRg/versions/mc1.18.2_v0.4.1+631/create-mc1.18.2_v0.4.1%2B631.jar
|
||||||
https://cdn.modrinth.com/data/svgZx0UN/versions/1.0-beta4/createplus-1.0.0-beta4.jar
|
https://cdn.modrinth.com/data/svgZx0UN/versions/1.0-beta4/createplus-1.0.0-beta4.jar
|
||||||
https://cdn.modrinth.com/data/gKNwt7xu/versions/1.2.2-fabric/Tempad-fabric-1.18.2-1.2.2.jar
|
https://cdn.modrinth.com/data/gKNwt7xu/versions/1.2.2-fabric/Tempad-fabric-1.18.2-1.2.2.jar
|
||||||
https://edge.forgecdn.net/files/3798/505/TechReborn-5.2.0.jar
|
https://mediafiles.forgecdn.net/files/3798/505/TechReborn-5.2.0.jar
|
||||||
https://cdn.modrinth.com/data/nfn13YXA/versions/8.2.490+fabric/RoughlyEnoughItems-8.2.490.jar
|
https://cdn.modrinth.com/data/nfn13YXA/versions/8.2.490+fabric/RoughlyEnoughItems-8.2.490.jar
|
||||||
https://cdn.modrinth.com/data/XxWD5pD3/versions/fabric-11.1.3/appliedenergistics2-11.1.3.jar
|
https://cdn.modrinth.com/data/XxWD5pD3/versions/fabric-11.1.3/appliedenergistics2-11.1.3.jar
|
||||||
https://cdn.modrinth.com/data/pNabrMMw/versions/11.1.1-fabric/AE2WTLib-11.1.1.jar
|
https://cdn.modrinth.com/data/pNabrMMw/versions/11.1.1-fabric/AE2WTLib-11.1.1.jar
|
||||||
|
@ -36,36 +36,35 @@ https://cdn.modrinth.com/data/yn9u3ypm/versions/2.0.3+1.18.2/graves-2.0.3%2B1.18
|
||||||
#https://cdn.modrinth.com/data/IKpsG0nF/versions/1.6.8/paradise-lost-1.6.8%2B1.18.2.jar
|
#https://cdn.modrinth.com/data/IKpsG0nF/versions/1.6.8/paradise-lost-1.6.8%2B1.18.2.jar
|
||||||
https://cdn.modrinth.com/data/zgaWtmrV/versions/1.29/arcanus-1.29.jar
|
https://cdn.modrinth.com/data/zgaWtmrV/versions/1.29/arcanus-1.29.jar
|
||||||
https://cdn.modrinth.com/data/F6KTit9k/versions/1.0.12/magitekmechs-fabric-MC1.18-1.0.12.jar
|
https://cdn.modrinth.com/data/F6KTit9k/versions/1.0.12/magitekmechs-fabric-MC1.18-1.0.12.jar
|
||||||
https://cdn.modrinth.com/data/4KWv7wbN/versions/1.4.5/chisel-1.4.5%2B1.18.2.jar
|
|
||||||
https://cdn.modrinth.com/data/1IjD5062/versions/2.0.0+1.18.2/continuity-2.0.0%2B1.18.2.jar
|
https://cdn.modrinth.com/data/1IjD5062/versions/2.0.0+1.18.2/continuity-2.0.0%2B1.18.2.jar
|
||||||
https://cdn.modrinth.com/data/WbwMfRsz/versions/1.3.4/terramine-1.3.4%2B1.18.2.jar
|
https://cdn.modrinth.com/data/WbwMfRsz/versions/1.3.4/terramine-1.3.4%2B1.18.2.jar
|
||||||
https://edge.forgecdn.net/files/3759/591/indrev-1.14.0-BETA.jar
|
https://mediafiles.forgecdn.net/files/3759/591/indrev-1.14.0-BETA.jar
|
||||||
https://edge.forgecdn.net/files/3758/209/deepmoblearning-refabricated-1.18.2.jar
|
https://mediafiles.forgecdn.net/files/3758/209/deepmoblearning-refabricated-1.18.2.jar
|
||||||
https://edge.forgecdn.net/files/3832/920/upc-0.0.2.jar
|
https://mediafiles.forgecdn.net/files/3832/920/upc-0.0.2.jar
|
||||||
https://edge.forgecdn.net/files/3785/658/simulacrum-0.5.4-beta.jar
|
https://mediafiles.forgecdn.net/files/3785/658/simulacrum-0.5.4-beta.jar
|
||||||
https://edge.forgecdn.net/files/3795/212/mininggadgets-1.11.0.jar
|
https://mediafiles.forgecdn.net/files/3795/212/mininggadgets-1.11.0.jar
|
||||||
https://edge.forgecdn.net/files/3734/921/iron-jetpacks-0.4.3.jar
|
https://mediafiles.forgecdn.net/files/3734/921/iron-jetpacks-0.4.3.jar
|
||||||
https://edge.forgecdn.net/files/3724/30/EnhancedQuarries-1.18.2-1.2.1.jar
|
https://mediafiles.forgecdn.net/files/3724/30/EnhancedQuarries-1.18.2-1.2.1.jar
|
||||||
https://edge.forgecdn.net/files/3804/888/createaddition-1.18.2-20220525a.jar
|
https://mediafiles.forgecdn.net/files/3804/888/createaddition-1.18.2-20220525a.jar
|
||||||
https://edge.forgecdn.net/files/3732/839/DimensionalDoors-4.0.4-1.18.2.jar
|
https://mediafiles.forgecdn.net/files/3732/839/DimensionalDoors-4.0.4-1.18.2.jar
|
||||||
https://cdn.modrinth.com/data/7SDalH12/versions/1.5.3-1.18.2/FabricShieldLib-1.5.3-1.18.jar
|
https://cdn.modrinth.com/data/7SDalH12/versions/1.5.3-1.18.2/FabricShieldLib-1.5.3-1.18.jar
|
||||||
https://cdn.modrinth.com/data/rfj2v0X6/versions/v1.4.0/sizeshiftingpotions-1.4.0.jar
|
https://cdn.modrinth.com/data/rfj2v0X6/versions/v1.4.0/sizeshiftingpotions-1.4.0.jar
|
||||||
https://edge.forgecdn.net/files/3816/496/TerraBlender-fabric-1.18.2-1.1.0.102.jar
|
https://mediafiles.forgecdn.net/files/3816/496/TerraBlender-fabric-1.18.2-1.1.0.102.jar
|
||||||
https://cdn.modrinth.com/data/t5W7Jfwy/versions/3.3.2+1.14.4-1.19/Pehkui-3.3.2%2B1.14.4-1.19.jar
|
https://cdn.modrinth.com/data/t5W7Jfwy/versions/3.3.2+1.14.4-1.19/Pehkui-3.3.2%2B1.14.4-1.19.jar
|
||||||
https://edge.forgecdn.net/files/3798/506/RebornCore-5.2.0.jar
|
https://mediafiles.forgecdn.net/files/3798/506/RebornCore-5.2.0.jar
|
||||||
https://edge.forgecdn.net/files/3827/255/geckolib-fabric-1.18-3.0.47.jar
|
https://mediafiles.forgecdn.net/files/3827/255/geckolib-fabric-1.18-3.0.47.jar
|
||||||
https://cdn.modrinth.com/data/9s6osm5g/versions/6.2.62/cloth-config-fabric-6.2.62.jar
|
https://cdn.modrinth.com/data/9s6osm5g/versions/6.2.62/cloth-config-fabric-6.2.62.jar
|
||||||
https://edge.forgecdn.net/files/3668/220/autoconfig1u-3.4.0.jar
|
https://mediafiles.forgecdn.net/files/3668/220/autoconfig1u-3.4.0.jar
|
||||||
https://cdn.modrinth.com/data/5aaWibi9/versions/3.3.1/trinkets-3.3.1.jar
|
https://cdn.modrinth.com/data/5aaWibi9/versions/3.3.1/trinkets-3.3.1.jar
|
||||||
https://edge.forgecdn.net/files/3648/220/%5b1.18%2B%5d+Flight+Rings+1.6.2.jar
|
https://mediafiles.forgecdn.net/files/3648/220/%5b1.18%2B%5d+Flight+Rings+1.6.2.jar
|
||||||
https://edge.forgecdn.net/files/3824/538/ftb-chunks-fabric-1802.3.6-build.147.jar
|
https://mediafiles.forgecdn.net/files/3824/538/ftb-chunks-fabric-1802.3.6-build.147.jar
|
||||||
https://edge.forgecdn.net/files/3725/500/ftb-teams-fabric-1802.2.6-build.51.jar
|
https://mediafiles.forgecdn.net/files/3725/500/ftb-teams-fabric-1802.2.6-build.51.jar
|
||||||
https://edge.forgecdn.net/files/3822/757/ftb-library-fabric-1802.3.6-build.123.jar
|
https://mediafiles.forgecdn.net/files/3822/757/ftb-library-fabric-1802.3.6-build.123.jar
|
||||||
https://edge.forgecdn.net/files/3725/671/ftb-ultimine-fabric-1802.3.3-build.55.jar
|
https://mediafiles.forgecdn.net/files/3725/671/ftb-ultimine-fabric-1802.3.3-build.55.jar
|
||||||
https://edge.forgecdn.net/files/3796/516/Mine-Pop!+1.0-1.18.2+(FABRIC).jar
|
https://mediafiles.forgecdn.net/files/3796/516/Mine-Pop!+1.0-1.18.2+(FABRIC).jar
|
||||||
https://edge.forgecdn.net/files/3807/435/Applied-Botanics-1.2.1.jar
|
https://mediafiles.forgecdn.net/files/3807/435/Applied-Botanics-1.2.1.jar
|
||||||
https://edge.forgecdn.net/files/3778/610/aofemotes-0.0.4+1.18.1.jar
|
https://mediafiles.forgecdn.net/files/3778/610/aofemotes-0.0.4%2B1.18.1.jar
|
||||||
https://edge.forgecdn.net/files/3772/197/archon-0.2.4.jar
|
https://mediafiles.forgecdn.net/files/3772/197/archon-0.2.4.jar
|
||||||
https://cdn.modrinth.com/data/nU0bVIaL/versions/1.18.2-71.1-fabric/Patchouli-1.18.2-71.1-FABRIC.jar
|
https://cdn.modrinth.com/data/nU0bVIaL/versions/1.18.2-71.1-fabric/Patchouli-1.18.2-71.1-FABRIC.jar
|
||||||
# disabled because of mixin crash
|
# disabled because of mixin crash
|
||||||
#https://cdn.modrinth.com/data/IsKsViE2/versions/0.5.5/artifality-0.5.5.jar
|
#https://cdn.modrinth.com/data/IsKsViE2/versions/0.5.5/artifality-0.5.5.jar
|
||||||
|
@ -91,24 +90,25 @@ https://cdn.modrinth.com/data/5g7OOxWC/versions/1.2.1+1.18.2/sandwichable-1.2.1%
|
||||||
https://cdn.modrinth.com/data/7n8PQuhb/versions/1.0.1/grains-of-sand-1.0.1.jar
|
https://cdn.modrinth.com/data/7n8PQuhb/versions/1.0.1/grains-of-sand-1.0.1.jar
|
||||||
https://cdn.modrinth.com/data/AKgnrAFj/versions/1.3.1/secretrooms-1.3.1%2B1.18.2.jar
|
https://cdn.modrinth.com/data/AKgnrAFj/versions/1.3.1/secretrooms-1.3.1%2B1.18.2.jar
|
||||||
https://cdn.modrinth.com/data/3rc31Hgo/versions/1.4.2/spectrum-1.4.2-1.18.2-chaos_and_exploration.jar
|
https://cdn.modrinth.com/data/3rc31Hgo/versions/1.4.2/spectrum-1.4.2-1.18.2-chaos_and_exploration.jar
|
||||||
https://edge.forgecdn.net/files/3838/886/architects-palette-fabric-2.2.jar
|
https://mediafiles.forgecdn.net/files/3838/886/architects-palette-fabric-2.2.jar
|
||||||
https://edge.forgecdn.net/files/3756/730/artifacts-7.0.3+fabric.jar
|
https://mediafiles.forgecdn.net/files/3756/730/artifacts-7.0.3%2Bfabric.jar
|
||||||
https://edge.forgecdn.net/files/3740/439/AdditionalStructures-1.18.2-(v.3.0.3).jar
|
https://mediafiles.forgecdn.net/files/3740/439/AdditionalStructures-1.18.2-(v.3.0.3).jar
|
||||||
https://edge.forgecdn.net/files/3830/795/bewitchment-1.18-22.jar
|
https://mediafiles.forgecdn.net/files/3830/795/bewitchment-1.18-22.jar
|
||||||
https://edge.forgecdn.net/files/3814/359/bclib-1.4.7.jar
|
https://mediafiles.forgecdn.net/files/3814/359/bclib-1.4.7.jar
|
||||||
https://edge.forgecdn.net/files/3814/370/better-end-1.1.1.jar
|
https://mediafiles.forgecdn.net/files/3814/370/better-end-1.1.1.jar
|
||||||
https://edge.forgecdn.net/files/3814/362/better-nether-6.1.2.jar
|
https://mediafiles.forgecdn.net/files/3814/362/better-nether-6.1.2.jar
|
||||||
https://edge.forgecdn.net/files/3807/49/blockus-2.4.7+1.18.2.jar
|
https://mediafiles.forgecdn.net/files/3807/49/blockus-2.4.7%2B1.18.2.jar
|
||||||
https://edge.forgecdn.net/files/3770/217/dankstorage-1.18.2-3.7.jar
|
https://mediafiles.forgecdn.net/files/3770/217/dankstorage-1.18.2-3.7.jar
|
||||||
https://edge.forgecdn.net/files/3681/918/Decorative+Blocks-fabric-1.18.2-2.1.0.jar
|
https://mediafiles.forgecdn.net/files/3681/918/Decorative+Blocks-fabric-1.18.2-2.1.0.jar
|
||||||
https://edge.forgecdn.net/files/3777/271/mcdar-1.4.8.jar
|
https://mediafiles.forgecdn.net/files/3777/271/mcdar-1.4.8.jar
|
||||||
https://edge.forgecdn.net/files/3851/61/agape_space_18_2-0.5.15.jar
|
https://mediafiles.forgecdn.net/files/3851/61/agape_space_18_2-0.5.15.jar
|
||||||
https://edge.forgecdn.net/files/3844/873/travelers-backpack-1.18.2-7.1.1.jar
|
https://mediafiles.forgecdn.net/files/3844/873/travelers-backpack-1.18.2-7.1.1.jar
|
||||||
https://edge.forgecdn.net/files/3759/595/wirelessnetworks-1.5.1.jar
|
https://mediafiles.forgecdn.net/files/3759/595/wirelessnetworks-1.5.1.jar
|
||||||
https://edge.forgecdn.net/files/3671/220/winged-1.18.2-3.2.0.jar
|
https://mediafiles.forgecdn.net/files/3671/220/winged-1.18.2-3.2.0.jar
|
||||||
https://edge.forgecdn.net/files/3847/377/xp_obelisk-0.4.1.r_for_1.18.x_Fabric.jar
|
https://mediafiles.forgecdn.net/files/3847/377/xp_obelisk-0.4.1.r_for_1.18.x_Fabric.jar
|
||||||
https://edge.forgecdn.net/files/3683/667/Runelic-Fabric-1.18.2-11.0.1.jar
|
https://mediafiles.forgecdn.net/files/3683/667/Runelic-Fabric-1.18.2-11.0.1.jar
|
||||||
https://edge.forgecdn.net/files/3832/269/Bookshelf-Fabric-1.18.2-13.2.21.jar
|
https://mediafiles.forgecdn.net/files/3832/269/Bookshelf-Fabric-1.18.2-13.2.21.jar
|
||||||
https://edge.forgecdn.net/files/3683/673/PigPen-Fabric-1.18.2-8.0.1.jar
|
https://mediafiles.forgecdn.net/files/3683/673/PigPen-Fabric-1.18.2-8.0.1.jar
|
||||||
https://edge.forgecdn.net/files/3830/308/DarkUtilities-Fabric-1.18.2-10.0.5.jar
|
https://mediafiles.forgecdn.net/files/3830/308/DarkUtilities-Fabric-1.18.2-10.0.5.jar
|
||||||
https://cdn.modrinth.com/data/ccKDOlHs/versions/0.7.2+1.18/owo-lib-0.7.2%2B1.18.jar
|
https://cdn.modrinth.com/data/ccKDOlHs/versions/0.7.2+1.18/owo-lib-0.7.2%2B1.18.jar
|
||||||
|
https://cdn.modrinth.com/data/umyGl7zF/versions/1802.5.4-build.506+fabric/kubejs-fabric-1802.5.4-build.506.jar
|
||||||
|
|
37
overrides/config/Flight Rings.json5
Normal file
37
overrides/config/Flight Rings.json5
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
"basicRingOptions": {
|
||||||
|
"enabled": true,
|
||||||
|
"durability": true,
|
||||||
|
// Durability of basic ring
|
||||||
|
"durabilityValue": 180,
|
||||||
|
// Recipe uses an ender eye instead of quartz. §c§lDeletes existing basic rings
|
||||||
|
"eye": false,
|
||||||
|
"exhaustion": 0.15000000596046448,
|
||||||
|
// Basic ring gives slow falling after breaking
|
||||||
|
"protects": false
|
||||||
|
},
|
||||||
|
"pureRingOptions": {
|
||||||
|
"durability": true,
|
||||||
|
// Durability of pure ring
|
||||||
|
"durabilityValue": 9000,
|
||||||
|
"exhaustion": 0.029999999329447746,
|
||||||
|
// Pure ring uses XP instead of durability
|
||||||
|
"xpEnabled": false,
|
||||||
|
// How much percentage of the XP bar is used per second
|
||||||
|
"xpCost": 1.0,
|
||||||
|
// Pure ring gives you slow falling when out of durability
|
||||||
|
"protects": true
|
||||||
|
},
|
||||||
|
"misc": {
|
||||||
|
// Percentage chance per tick (20/s) for a ring to lose durability
|
||||||
|
"damageChance": 10.0,
|
||||||
|
// Recipes disabled. §c§lDeletes all existing rings
|
||||||
|
"treasure": true,
|
||||||
|
// Enables rings to spawn in chest loot
|
||||||
|
"chestLoot": false,
|
||||||
|
// Adds Trinkets support. §c§lDeletes all existing rings
|
||||||
|
"trinkets": true,
|
||||||
|
// Rings force flight when equipping or loading world midair
|
||||||
|
"autofly": true
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue