This commit is contained in:
parent
fab3d55721
commit
b3791ea05f
|
@ -7,6 +7,7 @@ steps:
|
|||
- apt update
|
||||
- apt install -y
|
||||
curl
|
||||
haxe
|
||||
jq
|
||||
libarchive-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();
|
||||
defer c.archive_entry_free(entry);
|
||||
entrySetDir(entry.?);
|
||||
c.archive_entry_set_size(entry, 0);
|
||||
c.archive_entry_set_pathname(entry, "minecraft/");
|
||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
||||
c.archive_entry_set_pathname(entry, "minecraft/mods/");
|
||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
||||
|
||||
try archiveCreateDir(zip.?, entry.?, "minecraft/");
|
||||
try archiveCreateDir(zip.?, entry.?, "minecraft/mods/");
|
||||
|
||||
try installHaxe(zip.?, entry.?, &buf);
|
||||
|
||||
var overrides = try std.fs.cwd().openDir("overrides", .{ .iterate = true });
|
||||
defer overrides.close();
|
||||
|
@ -55,15 +54,9 @@ pub fn main() !void {
|
|||
&[_][]const u8{ "minecraft/", e.path, "/\x00" },
|
||||
);
|
||||
defer std.heap.c_allocator.free(path);
|
||||
entrySetDir(entry.?);
|
||||
c.archive_entry_set_pathname(entry, path.ptr);
|
||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
||||
try archiveCreateDir(zip.?, entry.?, path.ptr);
|
||||
},
|
||||
.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(
|
||||
std.heap.c_allocator,
|
||||
u8,
|
||||
|
@ -71,30 +64,30 @@ pub fn main() !void {
|
|||
0,
|
||||
);
|
||||
defer std.heap.c_allocator.free(path);
|
||||
c.archive_entry_set_pathname(entry, path);
|
||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
||||
var file = try overrides.openFile(e.path, .{});
|
||||
defer file.close();
|
||||
|
||||
var read = try file.read(&buf);
|
||||
while (read != 0) {
|
||||
_ = c.archive_write_data(zip, &buf, read);
|
||||
read = try file.read(&buf);
|
||||
}
|
||||
try archiveFile(
|
||||
zip.?,
|
||||
entry.?,
|
||||
&buf,
|
||||
path,
|
||||
file,
|
||||
);
|
||||
},
|
||||
else => {},
|
||||
}
|
||||
}
|
||||
|
||||
entrySetFile(entry.?);
|
||||
var file = try std.fs.cwd().openFile("mmc-pack.json", .{});
|
||||
c.archive_entry_set_pathname(entry, "mmc-pack.json");
|
||||
c.archive_entry_set_size(entry, @intCast(i64, (try file.stat()).size));
|
||||
try handleArchiveErr(c.archive_write_header(zip, entry), zip);
|
||||
|
||||
var read = try file.read(&buf);
|
||||
while (read != 0) {
|
||||
_ = c.archive_write_data(zip, &buf, read);
|
||||
read = try file.read(&buf);
|
||||
}
|
||||
var mmc_pack_file = try std.fs.cwd().openFile("mmc-pack.json", .{});
|
||||
defer mmc_pack_file.close();
|
||||
try archiveFile(
|
||||
zip.?,
|
||||
entry.?,
|
||||
&buf,
|
||||
"mmc-pack.json",
|
||||
mmc_pack_file,
|
||||
);
|
||||
|
||||
const instance_cfg_data = "InstanceType=OneSix";
|
||||
c.archive_entry_set_pathname(entry, "instance.cfg");
|
||||
|
@ -124,6 +117,64 @@ pub fn main() !void {
|
|||
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 {
|
||||
var file = try std.fs.cwd().openFile("mods.txt", .{});
|
||||
defer file.close();
|
||||
|
@ -253,12 +304,14 @@ fn downloadMods(
|
|||
}
|
||||
|
||||
fn entrySetDir(entry: *c.archive_entry) void {
|
||||
c.archive_entry_set_mode(entry, c.S_IFDIR | 0777);
|
||||
c.archive_entry_set_size(entry, 0);
|
||||
c.archive_entry_set_filetype(entry, c.S_IFDIR);
|
||||
c.archive_entry_set_perm(entry, 0o755);
|
||||
c.archive_entry_unset_size(entry);
|
||||
}
|
||||
|
||||
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 {
|
||||
|
|
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/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://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/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
|
||||
|
@ -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/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/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/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://edge.forgecdn.net/files/3758/209/deepmoblearning-refabricated-1.18.2.jar
|
||||
https://edge.forgecdn.net/files/3832/920/upc-0.0.2.jar
|
||||
https://edge.forgecdn.net/files/3785/658/simulacrum-0.5.4-beta.jar
|
||||
https://edge.forgecdn.net/files/3795/212/mininggadgets-1.11.0.jar
|
||||
https://edge.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://edge.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/3759/591/indrev-1.14.0-BETA.jar
|
||||
https://mediafiles.forgecdn.net/files/3758/209/deepmoblearning-refabricated-1.18.2.jar
|
||||
https://mediafiles.forgecdn.net/files/3832/920/upc-0.0.2.jar
|
||||
https://mediafiles.forgecdn.net/files/3785/658/simulacrum-0.5.4-beta.jar
|
||||
https://mediafiles.forgecdn.net/files/3795/212/mininggadgets-1.11.0.jar
|
||||
https://mediafiles.forgecdn.net/files/3734/921/iron-jetpacks-0.4.3.jar
|
||||
https://mediafiles.forgecdn.net/files/3724/30/EnhancedQuarries-1.18.2-1.2.1.jar
|
||||
https://mediafiles.forgecdn.net/files/3804/888/createaddition-1.18.2-20220525a.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/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://edge.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/3798/506/RebornCore-5.2.0.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://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://edge.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://edge.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://edge.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://edge.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://edge.forgecdn.net/files/3772/197/archon-0.2.4.jar
|
||||
https://mediafiles.forgecdn.net/files/3648/220/%5b1.18%2B%5d+Flight+Rings+1.6.2.jar
|
||||
https://mediafiles.forgecdn.net/files/3824/538/ftb-chunks-fabric-1802.3.6-build.147.jar
|
||||
https://mediafiles.forgecdn.net/files/3725/500/ftb-teams-fabric-1802.2.6-build.51.jar
|
||||
https://mediafiles.forgecdn.net/files/3822/757/ftb-library-fabric-1802.3.6-build.123.jar
|
||||
https://mediafiles.forgecdn.net/files/3725/671/ftb-ultimine-fabric-1802.3.3-build.55.jar
|
||||
https://mediafiles.forgecdn.net/files/3796/516/Mine-Pop!+1.0-1.18.2+(FABRIC).jar
|
||||
https://mediafiles.forgecdn.net/files/3807/435/Applied-Botanics-1.2.1.jar
|
||||
https://mediafiles.forgecdn.net/files/3778/610/aofemotes-0.0.4%2B1.18.1.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
|
||||
# disabled because of mixin crash
|
||||
#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/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://edge.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://edge.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://edge.forgecdn.net/files/3814/359/bclib-1.4.7.jar
|
||||
https://edge.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://edge.forgecdn.net/files/3807/49/blockus-2.4.7+1.18.2.jar
|
||||
https://edge.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://edge.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://edge.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://edge.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://edge.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://edge.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://cdn.modrinth.com/data/ccKDOlHs/versions/0.7.2+1.18/owo-lib-0.7.2%2B1.18.jar
|
||||
https://mediafiles.forgecdn.net/files/3838/886/architects-palette-fabric-2.2.jar
|
||||
https://mediafiles.forgecdn.net/files/3756/730/artifacts-7.0.3%2Bfabric.jar
|
||||
https://mediafiles.forgecdn.net/files/3740/439/AdditionalStructures-1.18.2-(v.3.0.3).jar
|
||||
https://mediafiles.forgecdn.net/files/3830/795/bewitchment-1.18-22.jar
|
||||
https://mediafiles.forgecdn.net/files/3814/359/bclib-1.4.7.jar
|
||||
https://mediafiles.forgecdn.net/files/3814/370/better-end-1.1.1.jar
|
||||
https://mediafiles.forgecdn.net/files/3814/362/better-nether-6.1.2.jar
|
||||
https://mediafiles.forgecdn.net/files/3807/49/blockus-2.4.7%2B1.18.2.jar
|
||||
https://mediafiles.forgecdn.net/files/3770/217/dankstorage-1.18.2-3.7.jar
|
||||
https://mediafiles.forgecdn.net/files/3681/918/Decorative+Blocks-fabric-1.18.2-2.1.0.jar
|
||||
https://mediafiles.forgecdn.net/files/3777/271/mcdar-1.4.8.jar
|
||||
https://mediafiles.forgecdn.net/files/3851/61/agape_space_18_2-0.5.15.jar
|
||||
https://mediafiles.forgecdn.net/files/3844/873/travelers-backpack-1.18.2-7.1.1.jar
|
||||
https://mediafiles.forgecdn.net/files/3759/595/wirelessnetworks-1.5.1.jar
|
||||
https://mediafiles.forgecdn.net/files/3671/220/winged-1.18.2-3.2.0.jar
|
||||
https://mediafiles.forgecdn.net/files/3847/377/xp_obelisk-0.4.1.r_for_1.18.x_Fabric.jar
|
||||
https://mediafiles.forgecdn.net/files/3683/667/Runelic-Fabric-1.18.2-11.0.1.jar
|
||||
https://mediafiles.forgecdn.net/files/3832/269/Bookshelf-Fabric-1.18.2-13.2.21.jar
|
||||
https://mediafiles.forgecdn.net/files/3683/673/PigPen-Fabric-1.18.2-8.0.1.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/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