Compare commits

..

9 Commits

23 changed files with 363 additions and 104 deletions

View File

@@ -199,7 +199,13 @@
"forge:bread/ginger": ["create_confectionery:gingerbread", "brewery:gingerbread"],
"forge:bars/chocolate": ["croptopia:chocolate"]
"forge:bars/chocolate": ["croptopia:chocolate"],
"forge:storage_blocks/redium": ["powder_power:block_redium"],
"forge:storage_blocks/lapium": ["powder_power:block_lapium"],
"forge:storage_blocks/gemium": ["powder_power:block_gemium"],
"forge:storage_blocks/trilium": ["powder_power:block_trilium"],
"forge:storage_blocks/quadrilium": ["powder_power:block_quadrilium"]
},
"tagOwnerships": {
"forge:crops/bell_pepper": ["forge:crops/bellpepper"],

View File

@@ -0,0 +1,50 @@
#Client Configuration
[client]
[client.options]
# If the hotbar should display item borders.
hotbar = true
# If item borders should show for common items.
show_for_common = false
# If the borders should have square corners.
square_corners = true
# If the borders should fully envelop item slots (otherwise they will only show on the bottom portion of the slot).
full_border = false
# If the borders draw over items instead of under.
over_items = false
# If the borders should have a more prominent glow.
extra_glow = true
# If automatic borders (based on item rarity) should be enabled.
auto_borders = true
# If enabled and Legendary Tooltips is installed, borders will sync with tooltip border colors.
legendary_tooltips_sync = false
# Custom border colors for specific items. Format: { <color> = ["list of selectors"] }.
# Color formats supported:
# Hex color code - A hex color code is preceded by # or 0x and must be quoted. Supports 3, 4, 6, or 8 digit codes in the formats RGB, ARGB, RRGGBB, or AARRGGBB. Examples: "#F4C", "0xFEE0", "#40FF2E", "#CC00E2EE"
# Decimal color code - A decimal color code, which is just a hex color code converted to decimal. May or may not be quoted. Examples: 15614720, "4278251143"
# Minecraft color name - One of the standard 16 Minecraft color names. May or may not be quoted. Examples: "red", "dark_purple", "gold"
# Web color name - One of the standard 140 web/HTML color names or "transparent". May or may not be quoted. Examples: "chartreuse", "darkorange", "deeppink", "deepskyblue"
# Modifiers - Colors specified in any of the above formats can be modified by using modifiers.
# Modifiers are specified after any color in the format "<+, -, or =><h, s, v, r, g, b, or a><amount>".
# The letters represent h - hue, s - saturation, v - value, r - red, g - green, b - blue, a - alpha.
# Valid amounts are 0 to 255 for all types except hue, which accepts 0 to 359.
# Using any modifiers will REQUIRE the key to be quoted.
# Examples: "red+h15", "#saddlebrown-v20+s5", "10_aqua_aqua+v15-h5", "#F4C-r15-v10=a40"
# Animated color - An animated color that fades from one to another in sequence.
# A string in the format "<duration in seconds>_<list of color definitions separated by underscores>". May or may not be quoted. Examples: "10_black_#7FFF00", "5.5_gold_orange_orangered", "20_red_orange_yellow_green_blue_purple"
# Selectors supported:
# Match all - Specifying just an asterisk (*) will match all items. Examples: "*"
# Item ID - Use item ID to match single items. Must include mod name for modded items. Examples: "minecraft:stick", "iron_ore", "spoiledeggs:spoiled_egg"
# Tag - $ followed by tag name to match all items with that tag. Examples: "$forge:stone", "$planks"
# Mod name - @ followed by mod identifier to match all items from that mod. Examples: "@spoiledeggs"
# Rarity - ! followed by item's rarity to match all items with that rarity. This is ONLY vanilla rarities. Examples: "!uncommon", "!rare", "!epic"
# Item name color - # followed by color hex code, to match all items with that exact color item name. Examples: "#23F632"
# Display name - % followed by any text. Will match any item with this text (case-sensitive) in its tooltip display name. Examples: "%Netherite", "%Uncommon"
# Tooltip text - ^ followed by any text. Will match any item with this text (case-sensitive) anywhere in the tooltip text (besides the name). Examples: "^Legendary"
# NBT tag - & followed by tag name and optional comparator (=, >, <, or !=) and value, in the format <tag><comparator><value> or just <tag>. Examples: "&Damage=0", "&Tier>1", "&map!=128", "&Enchantments"
# Negation - ~ followed by any selector above. This selector will be negated, matching every item that does NOT match the selector. Examples: "~minecraft:stick", "~!uncommon", "~@minecraft"
# Combining selectors - Any number of selectors can be combined by separating them with a plus sign. Examples: "minecraft:diamond_sword+&Enchantments", "minecraft:stick+~!common+&Damage=0"
[client.options.manual_borders]
# grist gets RGB, because why not
# "5_#c300ff_#ff0000_#33ff00_#ffd500_#0066ff" = ["$kubejs:grist", "$kubejs:grist_blocks"]

View File

@@ -14,7 +14,7 @@ hash = "a60442351eb4a2fb2c74d4a7c62fd25d32faca43c0f192a1c261c13db9a71551"
[[files]]
file = "config/almostunified/unify.json"
hash = "5b48d3d81a66c2132171023e7d79b51bf23012bf7f7d3621f528b00889406c1e"
hash = "fe3dba76719ae817115e2c8b6b428fe790f8724e33148b55148e6769bf4026c3"
[[files]]
file = "config/apotheosis/adventure.cfg"
@@ -148,6 +148,10 @@ hash = "2b957dd01aaf5435d451b7845dddb9c7af7cecf6308d98bf9d9cea4a893eabd4"
file = "config/ftbquests/quests/reward_tables/random_metal_dust.snbt"
hash = "749e6bd14eca63555b9193c6fc1f550b953ef742bf912c6eb0d7ef18fc063116"
[[files]]
file = "config/itemborders-common.toml"
hash = "501464fecf9667c720c42895f3c87b21bb413ba984a7b772e0c8483b1af17a7e"
[[files]]
file = "config/miapi.jsonc"
hash = "3e03896b16e429035a401f2d947c01852b39cd7036e8816401f9e6a0700b357a"
@@ -571,7 +575,7 @@ hash = "7dc5f3ae65fd65800df171420bdb6c69b3c62a99337822a3426c07db73eb6db0"
[[files]]
file = "kubejs/server_scripts/grist/tags.js"
hash = "f8c23be0553da9ec51e7f58e94d5b547e9ee813cea2a8c97d7cc5def3c680ddd"
hash = "0863a1d0a2d67ea44bd174fbe19642e73a3f85aae6bdeb12599e61f174079f2b"
[[files]]
file = "kubejs/server_scripts/init.js"
@@ -637,6 +641,10 @@ hash = "c01b0faf4eac2658f0f1e5d95fc6e4365888a2a3c8171d448594abf69d34332a"
file = "kubejs/server_scripts/mods/create_new_age.js"
hash = "06b10973ef4e2d9b053643a50d443a9e16134d46ba1dc8ed68b2f7b02b44cc7e"
[[files]]
file = "kubejs/server_scripts/mods/create_power_loader.js"
hash = "99c87081cbcba79e032cf8c33c5bf9ff032e841da349c1fc720048711b064584"
[[files]]
file = "kubejs/server_scripts/mods/croptopia.js"
hash = "26d4be6f4fdd3b276c214eaef8e467ecf12c8a25f61e0d4c30d08e6e395b4e66"
@@ -707,7 +715,7 @@ hash = "93b1aee5ea41c226a2dd5e453824518ab0eeb6d15f649f0a74e5b0e4be9a2e17"
[[files]]
file = "kubejs/server_scripts/mods/powder_power.js"
hash = "ced0c73d8fb97517edc911f6c13f59895e1d5d00fbd70de919f2a417d8335c25"
hash = "029c5a31573f50b8876763efa7a6306867542623e62ab0a0e5b3f377792f8b59"
[[files]]
file = "kubejs/server_scripts/mods/prettypipes.js"
@@ -727,7 +735,7 @@ hash = "d37bfb9bc41aa46d0aa075dbe19a5eeb947b4ea3d8f13c03ac370cb00763d7a1"
[[files]]
file = "kubejs/server_scripts/mods/thermal.js"
hash = "b33f603a2121bc90e47b27680ee55655dca46c9d7b07d97d1c06698d0a1c762d"
hash = "b81ffc5905fe81de8d66015b0814714a8db8ecb6a4a2d927e600b328665c617a"
[[files]]
file = "kubejs/server_scripts/mods/torchmaster.js"
@@ -747,7 +755,7 @@ hash = "4003082f31011049402ff31504a6db0f4fdd6c7076167109c66fa412286be462"
[[files]]
file = "kubejs/server_scripts/ore-processing.js"
hash = "c2d3d5b00a259d7109916ee9a9f6e46ad52a8084ed435d4bc2ccd69312eff0ce"
hash = "bb085e326aa85a8c8e86aac25f1a2a2c7fe53ebacb74d5de44b34769c73dc3e1"
[[files]]
file = "kubejs/server_scripts/progression/report.js"
@@ -767,19 +775,19 @@ hash = "395c96d3ddd178821db851f387e91560e606ea752177f66d2016f12bd0542b8f"
[[files]]
file = "kubejs/startup_scripts/grist.js"
hash = "b79ebd1ba18eeb0dc59bb6b7ed375cf348edd90fa648f5759dd45f890db5f3d6"
hash = "d851746c6e7ae1c679f576b984662289c10e4195c0f52b459fd1ce3a83666ed4"
[[files]]
file = "kubejs/startup_scripts/init.js"
hash = "86b0c3c97240c008d6de87d66ff77a80e47a07c105e89d743cb74c9fdc1b031e"
[[files]]
file = "kubejs/startup_scripts/jsconfig.json"
hash = "a9e6912b8515be242dd76c6c9a536a8d7c73f6b8b949787f538436ebeafbb7ee"
hash = "80483290133f2ab1a969008335c29758884b20e4611ffbfb4e4253f3207ef74a"
[[files]]
file = "kubejs/startup_scripts/progression-items.js"
hash = "3ae96e7bb9f83d1fd2d2af269ae5706f2fff283807c65ab3cbe197d8b69644b6"
hash = "eda5964bf26b3ea17ab806944e79c16007e525da8f3ba4d6222dcbb0437f9f90"
[[files]]
file = "kubejs/startup_scripts/rarities.js"
hash = "1d53f63b8caab6f49d80b953546eb12a85af70a549e7e6f9cdacfa27d76e8609"
[[files]]
file = "mods/ae2-things-forge.pw.toml"
@@ -961,6 +969,11 @@ file = "mods/caelus.pw.toml"
hash = "5155ae1ca2c606df2001422a48cd167d2449160d5fe12a302753dee69af7fe92"
metafile = true
[[files]]
file = "mods/canary.pw.toml"
hash = "14481081a9e233f4ba57df8a77ce028184818143eae1c73b60749ea482c912e9"
metafile = true
[[files]]
file = "mods/caupona.pw.toml"
hash = "8517132706f5a99edaf7705b6a4c2c934972dabcacca279f6d8abdef874d9949"
@@ -1091,9 +1104,14 @@ file = "mods/create-power-loader.pw.toml"
hash = "255864fc7aa8e28619e5ddbf9094623bfcc9d6caa260bc0cd3d32b39d45a532f"
metafile = true
[[files]]
file = "mods/create-railways-navigator.pw.toml"
hash = "00929d51a65b0b8c417691b3312fc858ccff50bce507fc1d1b85dc7a2b2df20b"
metafile = true
[[files]]
file = "mods/create.pw.toml"
hash = "119d501c87aef8afa8cf89ed6f17499518c21240d7781f4331e3007e57957a79"
hash = "97f7c75ac9bf6ee2a4f15c0f1e3e4cd161f3d2e33f32ebf623811ac90b3c2a83"
metafile = true
[[files]]
@@ -1126,6 +1144,11 @@ file = "mods/curios.pw.toml"
hash = "68960354be9294d5761b636b94e4f54715119602e83c4dd107698021dbeca16b"
metafile = true
[[files]]
file = "mods/custom-rarity.pw.toml"
hash = "9c1c5002ed732af9361b06b0f72de65f69d241c8bdec7a88579e66e7fd4f1645"
metafile = true
[[files]]
file = "mods/cyclops-core.pw.toml"
hash = "de937c84384b9e99dc858f1e68f1a34789e357e111dd74cf8d8ff87df2d0dc6f"
@@ -1191,16 +1214,6 @@ file = "mods/dynamic-fps.pw.toml"
hash = "62c8188f48d71d21bf114d4dcfbc35d1e3251456e07f2caef1a2457d2e2a2947"
metafile = true
[[files]]
file = "mods/dynamic-lights.pw.toml"
hash = "9e509b2046271caf29aa1f0f91f1db22d981a3e84f0dd4b13047b3010fba078f"
metafile = true
[[files]]
file = "mods/dynamiclights-reforged.pw.toml"
hash = "8f2270a50a633db681826cbfb691e6efdb25e1e0c4702125c13d525b52fe229f"
metafile = true
[[files]]
file = "mods/easy-villagers.pw.toml"
hash = "9f9d2f8a99a2599ab346e2b3d2a6a70ffa5b1a41dd36f59bad5f14ee96f0e6fd"
@@ -1711,6 +1724,11 @@ file = "mods/notrample.pw.toml"
hash = "f08e47a8b608a67794114836dcefe16e07c853ca4271c2fa8def9bd84b58020e"
metafile = true
[[files]]
file = "mods/obscure-tooltips.pw.toml"
hash = "fd65b1e838edc65558b89ae72af29051ac92997d1d6ef4260fc889dd350a826e"
metafile = true
[[files]]
file = "mods/oceans-delight.pw.toml"
hash = "57f6793fdca748db18eb33a34344f68804e881af07c5e032073d8b33ee683a54"
@@ -1911,6 +1929,16 @@ file = "mods/smooth-chunk-save.pw.toml"
hash = "a061b4f98461fc38b4ff6495b5e3a9b8708e9d87333c2cbb29e6b265053a5abe"
metafile = true
[[files]]
file = "mods/sodium-dynamic-lights.pw.toml"
hash = "82bb7cd6c8b68bb1831bb7c374bd316b6403cd01195d582f19c31076c908953a"
metafile = true
[[files]]
file = "mods/sodium-options-api.pw.toml"
hash = "75a60e6b443b351b7a4a78ffce7c71e44b3e20ca10c374aea1de516c785d6e2d"
metafile = true
[[files]]
file = "mods/sooty-chimneys.pw.toml"
hash = "e8f11d351338010339f2bfe8d3a28e7b56fbb802b29c74f205490e46e2a5ea14"

View File

@@ -5,6 +5,12 @@ ServerEvents.tags('item', event => {
event.add(tagName, grist.id());
});
});
global.Grist.forEachBlock(grist => {
grist.tags().forEach(tagName => {
event.add(tagName, grist.id());
});
});
/*global.GRIST_ELEMENTS.forEach(element => {
global.GRIST_TIERS.forEach(tier => {
event.add(`kubejs:grist/${element}/${tier}`, `kubejs:grist_${element}_${tier}`)

View File

@@ -0,0 +1,15 @@
ServerEvents.recipes(event => {
event.replaceInput({output: 'create_power_loader:empty_andesite_chunk_loader'},
'minecraft:respawn_anchor',
'#kubejs:grist/intelligent/improved'
);
event.replaceInput({output: 'create_power_loader:empty_brass_chunk_loader'},
'minecraft:respawn_anchor',
'create_power_loader:empty_andesite_chunk_loader'
);
event.replaceInput({output: 'create_power_loader:empty_brass_chunk_loader'},
'create:precision_mechanism',
'#kubejs:grist/intelligent/improved'
);
});

View File

@@ -9,4 +9,8 @@ ServerEvents.recipes(event => {
event.recipes.thermal.pulverizer(`powder_power:powder_${element}`, [`#forge:dusts/${element}`]);
event.recipes.create.crushing(`powder_power:powder_${element}`, `#forge:dusts/${element}`);
});
// The mortar and pestle is completely replaced with create+thermal machines
event.remove({input: 'powder_power:motar_pestle'});
event.remove({output: 'powder_power:motar_pestle'});
});

View File

@@ -135,6 +135,8 @@ ServerEvents.recipes(event => {
'#kubejs:grist/agricultural/basic'
);
event.remove({input: 'thermal:earth_charge'});
// Pulverizer is gated behind brass, which requires create
/*event.replaceInput(
{id: 'thermal:machine_pulverizer'},

View File

@@ -169,21 +169,40 @@ ServerEvents.recipes(event => {
event.remove({output: crushedType});
event.remove({input: crushedType});
// All dusts and crushed ores can be smelted to ingots, and made with ore hammers
// All dusts and crushed ores can be smelted to ingots, and dusts can be created from crushing ingots
if (dustType.id != 'minecraft:air') {
event.smelting(ingotType, dustType);
event.shapeless(dustType, [ingotType, '#alltheores:ore_hammers']);
event.recipes.create.crushing(dustType, ingotType);
event.recipes.create.milling(dustType, ingotType);
}
// Plates can always be smelted back into their original ingot
// Plates can always be smelted back into their original ingot, and crushed back into dust
if (plateType.id != 'minecraft:air') {
event.smelting(ingotType, plateType);
// 1 plate = 1 ingot in presses
event.recipes.thermal.press(plateType, [ingotType]);
event.recipes.create.pressing([plateType], [ingotType]);
event.recipes.create.crushing(dustType, plateType);
event.recipes.create.milling(dustType, plateType);
event.recipes.thermal.pulverizer(dustType, plateType);
}
// 4 ingots = 1 gear
// Gears can also be crushed back into dust
if (gearType.id != 'minecraft:air') {
event.recipes.create.crushing(dustType, gearType);
event.recipes.create.milling(dustType, gearType);
event.recipes.thermal.pulverizer(dustType, gearType);
}
// Same for rods
if (rodType.id != 'minecraft:air') {
event.recipes.create.crushing(dustType, rodType);
event.recipes.create.milling(dustType, rodType);
event.recipes.thermal.pulverizer(dustType, rodType);
}
// 4 ingots = 1 gear in the press
if (gearType.id != 'minecraft:air') {
event.recipes.thermal.press(gearType, [ingotType.withCount(4), 'thermal:press_gear_die']);
}
@@ -204,7 +223,7 @@ ServerEvents.recipes(event => {
event.shapeless(ingotType.withCount(9), [blockType]);
}
// All alloys can be created in the smelter, or a superheated mixer
// All alloys can be created in the thermal smelter, or a superheated create mixer
if (ingredients.length > 0) {
for (const form of ['ingots', 'dusts']) {
let real_ingredients = [];
@@ -225,10 +244,15 @@ ServerEvents.recipes(event => {
real_ingredients.push(real_item);
}
if (real_ingredients.length > 0) {
if (real_ingredients.length == 0) {
console.error(`Unable to create ingots from ${form} for ${metal}!`);
} else {
// If we have 3 or fewer ingredients, we can create it in the 3-slot thermal smelter
if (real_ingredients.length <= 3) {
event.recipes.thermal.smelter(ingotType.withCount(ingredients[0]), real_ingredients);
event.recipes.create.mixing(ingotType.withCount(ingredients[0]), real_ingredients).heated();
} else {
// Materials with 4 or more require superheating, and can only be made in the mixer
event.recipes.create.mixing(ingotType.withCount(ingredients[0]), real_ingredients).superheated();
}
}

View File

@@ -15,7 +15,6 @@ StartupEvents.registry('item', e => {
console.log(`Create ${grist}`);
e.create(grist.id())
.displayName(grist.displayName())
.rarity('rare')
.fireResistant(true)
.textureJson({layer0: grist.itemTexture()});
});

View File

@@ -22,9 +22,10 @@ function HSVtoRGB(h, s, v) {
return `#${toHex(r)}${toHex(g)}${toHex(b)}`.toString();
}
function Tier(name, colorValue) {
function Tier(name, colorValue, rarity) {
this.name = name;
this.colorValue = colorValue;
this.rarity = rarity;
};
Tier.prototype.displayName = function() {
@@ -83,9 +84,9 @@ Grist.Primitives = [
// Color values are 0-1 floats
Grist.Tiers = {
basic: new Tier('basic', 0.5),
improved: new Tier('improved', 0.75),
radiant: new Tier('radiant', 1.0)
basic: new Tier('basic', 0.5, 'uncommon'),
improved: new Tier('improved', 0.75, 'rare'),
radiant: new Tier('radiant', 1.0, 'epic')
};
Grist.Tiers.forEach = function(f) {
@@ -148,6 +149,14 @@ Grist.prototype.exact = function() {
return this;
};
Grist.prototype.rarity = function() {
if (this.element == 'universal') {
return 'kubejs:legendary'
} else {
return this.tier.rarity;
}
}
Grist.prototype.color = function() {
//return '#0d6aff';
if (this.element.hue == -1) {
@@ -190,11 +199,20 @@ Grist.prototype.elementalTag = function() {
};
Grist.prototype.tags = function() {
if (this.state == 'item') {
return [
'kubejs:grist',
this.tag(),
this.elementalTag()
];
} else if (this.state == 'block') {
return [
'kubejs:grist_block',
this.tag(),
this.elementalTag(),
`forge:storage_blocks/grist_${this.element.name}_${this.tier.name}`
];
}
};
Grist.prototype.id = function() {

View File

@@ -1,20 +0,0 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "ES2015",
"lib": [
"ES5",
"ES2015"
],
"rootDir": "./src",
"typeRoots": [
"../../.probe/startup/probe-types"
],
"baseUrl": "../../.probe/startup/probe-types",
"skipLibCheck": true
},
"include": [
"./src/**/*",
null
]
}

View File

@@ -13,7 +13,7 @@ StartupEvents.registry('fluid', e => {
});
StartupEvents.registry('item', e => {
e.create('grist_essence').displayName('Grist Essence').rarity('rare');
e.create('grist_essence').displayName('Grist Essence').rarity('uncommon');
// Intelligent progress
// Basic
@@ -28,10 +28,10 @@ StartupEvents.registry('item', e => {
e.create('intelligent_catalyst').displayName('Intelligent Catalyst').rarity('rare').textureJson({layer0: 'malloc:item/intelligent_catalyst'});
// Radiant
e.create('intelligent_processor').displayName('Intelligent Processor').rarity('rare').texture('malloc:item/intelligent_processor');
e.create('raw_intelligent_processor').displayName('Raw Intelligent Processor').rarity('rare').texture('malloc:item/raw_intelligent_processor');
e.create('deep_intelligent_processor').displayName('Deep Intelligent Processor').rarity('rare').texture('malloc:item/deep_intelligent_processor');
e.create('raw_deep_intelligent_processor').displayName('Deep Raw Intelligent Processor').rarity('rare').texture('malloc:item/raw_deep_intelligent_processor');
e.create('intelligent_processor').displayName('Intelligent Processor').rarity('epic').texture('malloc:item/intelligent_processor');
e.create('raw_intelligent_processor').displayName('Raw Intelligent Processor').rarity('epic').texture('malloc:item/raw_intelligent_processor');
e.create('deep_intelligent_processor').displayName('Deep Intelligent Processor').rarity('epic').texture('malloc:item/deep_intelligent_processor');
e.create('raw_deep_intelligent_processor').displayName('Deep Raw Intelligent Processor').rarity('epic').texture('malloc:item/raw_deep_intelligent_processor');
// Energetic progression
// Basic
@@ -69,13 +69,13 @@ StartupEvents.registry('item', e => {
e.create('reinforced_grist_blend').displayName('Reinforced Grist Blend').rarity('rare').textureJson({layer0: 'minecraft:item/redstone'}).color(0, Grist.of('build', 'improved').color());
// Radiant
e.create('grist_crucible');
e.create('grist_crucible_filled');
e.create('grist_crucible_hot');
e.create('tempered_grist_alloy_ingot');
e.create('tempered_grist_alloy_nugget');
e.create('perfect_grist_alloy_ingot');
e.create('perfect_grist_alloy_nugget');
e.create('flawed_grist_alloy_ingot');
e.create('flawed_grist_alloy_nugget');
e.create('grist_crucible').rarity('epic');
e.create('grist_crucible_filled').rarity('epic');
e.create('grist_crucible_hot').rarity('epic');
e.create('tempered_grist_alloy_ingot').rarity('epic');
e.create('tempered_grist_alloy_nugget').rarity('epic');
e.create('perfect_grist_alloy_ingot').rarity('epic');
e.create('perfect_grist_alloy_nugget').rarity('epic');
e.create('flawed_grist_alloy_ingot').rarity('epic');
e.create('flawed_grist_alloy_nugget').rarity('epic');
});

View File

@@ -0,0 +1,75 @@
// priority: 10000
RarityJSEvents.register(event => {
console.warn("Setting up rarities");
event.addRarity("kubejs:legendary", "yellow");
event.addRarity("kubejs:mythic", "red");
event.addRarity("kubejs:unique", "red");
event.addRarity("kubejs:intelligent_grist", "dark_green");
event.addRarity("kubejs:build_grist", "dark_blue");
event.addRarity("kubejs:energetic_grist", "dark_red");
event.addRarity("kubejs:agricultural_grist", "gold");
// TODO: Put modular items into the unique tier
// TODO: Put gobber compat stuff into legendary
// TODO: Put powder power stuff into mythic/legendary
Grist.forEach(grist => {
console.warn(`${grist.id()} => ${grist.rarity()}`);
event.setRarity(grist.id(), grist.rarity());
});
Grist.forEachBlock(grist => {
console.warn(`${grist.id()} => ${grist.rarity()}`);
event.setRarity(grist.id(), grist.rarity());
});
event.setRarityByMod('kubejs', 'rare');
event.setRarityByMod('miapi', 'kubejs:unique');
event.setRarity("miapi:modular_work_bench", "rare");
event.setRarityByMod('gobber2', 'uncommon');
// Lots of mid-game mods should be uncommon by default
event.setRarityByMod('wormhole_artifact', 'epic');
event.setRarityByMod('artifacts', 'epic');
event.setRarityByMod('sophisticatedbackpacks', 'kubejs:intelligent_grist');
event.setRarityByMod('ae2', 'kubejs:intelligent_grist');
event.setRarityByMod('torchmaster', 'kubejs:intelligent_grist');
event.setRarityByMod('experienceobelisk', 'kubejs:intelligent_grist');
event.setRarityByMod('functionalstorage', 'kubejs:intelligent_grist');
event.setRarityByMod('waystones', 'kubejs:intelligent_grist');
event.setRarityByMod('modularrouters', 'kubejs:intelligent_grist');
event.setRarityByMod('summoningrituals', 'epic');
event.setRarityByMod('tempad', 'epic');
event.setRarity('create:precision_mechanism', 'kubejs:intelligent_grist');
event.setRarity('create:experience_nugget', 'uncommon');
event.setRarityByMod('botanypots', 'kubejs:agricultural_grist');
event.setRarityByMod('industrialforegoing', 'kubejs:agricultural_grist');
event.setRarityByMod('hostilenetworks', 'kubejs:agricultural_grist');
event.setRarityByMod('easy_villagers', 'kubejs:agricultural_grist');
event.setRarity('thermal:redstone_servo', 'kubejs:agricultural_grist');
event.setRarity('thermal:device_fischer', 'kubejs:agricultural_grist');
event.setRarity('farmersdelight:cooking_pot', 'kubejs:agricultural_grist');
event.setRarityByMod('darkutils', 'kubejs:agricultural_grist');
event.setRarityByMod('systeams', 'kubejs:energetic_grist');
event.setRarityByMod('powah', 'kubejs:energetic_grist');
event.setRarityByMod('create_new_age', 'kubejs:energetic_grist');
event.setRarity('thermal:energy_duct', 'kubejs:energetic_grist');
event.setRarity('thermal:energy_cell', 'kubejs:energetic_grist');
event.setRarity('thermal:rf_coil', 'kubejs:energetic_grist');
event.setRarity('thermal:energy_cell_frame', 'kubejs:energetic_grist');
event.setRarity('create:windmill_bearing', 'kubejs:energetic_grist');
event.setRarity('immersive_aircraft:boiler', 'kubejs:energetic_grist');
event.setRarity('iron_furnaces:augment_factory', 'kubejs:energetic_grist');
event.setRarityByMod('thermal', 'kubejs:build_grist');
event.setRarityByMod('ironfurnaces', 'kubejs:build_grist');
event.setRarityByMod('buildinggadgets2', 'epic');
event.setRarity('create:crushing_wheel', 'kubejs:build_grist');
});

13
mods/canary.pw.toml Normal file
View File

@@ -0,0 +1,13 @@
name = "Canary"
filename = "canary-mc1.20.1-0.3.3.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/qa2H4BS9/versions/lauzXB0n/canary-mc1.20.1-0.3.3.jar"
hash-format = "sha512"
hash = "38f0bec7967f9d354e46dacdbe7d284ef823270dc737a7388adde157c45a025e53d77e04a00a582900666b85402c461bee4b80345fc7f03edb5c2b96708442bd"
[update]
[update.modrinth]
mod-id = "qa2H4BS9"
version = "lauzXB0n"

View File

@@ -0,0 +1,13 @@
name = "Create Railways Navigator"
filename = "createrailwaysnavigator-forge-1.20.1-beta-0.8.3-C6.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/Dq3STxps/versions/VooLiYLH/createrailwaysnavigator-forge-1.20.1-beta-0.8.3-C6.jar"
hash-format = "sha512"
hash = "bc4613f5893aefc33b3e2387d616720c9934b7f1a0654da9e785999dc6180c71ce4c9b8ef77a9cfc6594191a9392fab5a0aee8d729348cb99dccdcc00c196159"
[update]
[update.modrinth]
mod-id = "Dq3STxps"
version = "VooLiYLH"

View File

@@ -1,13 +1,13 @@
name = "Create"
filename = "create-1.20.1-6.0.4.jar"
filename = "create-1.20.1-6.0.6.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/LNytGWDc/versions/xoKzmnen/create-1.20.1-6.0.4.jar"
url = "https://cdn.modrinth.com/data/LNytGWDc/versions/JjPQsQVw/create-1.20.1-6.0.6.jar"
hash-format = "sha512"
hash = "9dc60349a07d3367977fc935a65053db63cdfab4fc244db06e97a62e9c9d1154c1b8b66d4083f5a4c4a1403716a06c3251cd8d0ddfccb5e9de7177c8c2c45d25"
hash = "efc7097430ff2e7fe5e54478efbefc52d0017762b59372878a03f79f4eb0446572290bf377e8aba8374f3a9932fdf1cefd4a4650a9a5f3cf6ab0ad9fd05cc30b"
[update]
[update.modrinth]
mod-id = "LNytGWDc"
version = "xoKzmnen"
version = "JjPQsQVw"

View File

@@ -0,0 +1,13 @@
name = "RarityJS"
filename = "raritymod-1.0.5.jar"
side = "both"
[download]
hash-format = "sha1"
hash = "d8ad367b715ce62a42e0651b1bb7c90f7220e050"
mode = "metadata:curseforge"
[update]
[update.curseforge]
file-id = 6359655
project-id = 1037072

View File

@@ -1,13 +0,0 @@
name = "Dynamic Lights"
filename = "dynamiclights-1.20.1.2.jar"
side = "both"
[download]
hash-format = "sha1"
hash = "19a5b772e1b6ca15cca8db6f201884459f37a173"
mode = "metadata:curseforge"
[update]
[update.curseforge]
file-id = 4861183
project-id = 227874

View File

@@ -1,13 +0,0 @@
name = "Sodium/Embeddium Dynamic Lights"
filename = "sodiumdynamiclights-forge-1.0.10-1.20.1.jar"
side = "both"
[download]
hash-format = "sha1"
hash = "d27524e85bed0f0af83c03be46f9ca3eb02a1be9"
mode = "metadata:curseforge"
[update]
[update.curseforge]
file-id = 6044481
project-id = 551736

View File

@@ -0,0 +1,13 @@
name = "Obscure Tooltips"
filename = "Obscure-Tooltips-2.2.jar"
side = "both"
[download]
hash-format = "sha1"
hash = "8cc7c31f79a11bef3d5cc69b1740f07d5adbfc96"
mode = "metadata:curseforge"
[update]
[update.curseforge]
file-id = 4686579
project-id = 715660

View File

@@ -0,0 +1,13 @@
name = "Sodium Dynamic Lights"
filename = "sodiumdynamiclights-forge-1.0.10-1.20.1.jar"
side = "client"
[download]
url = "https://cdn.modrinth.com/data/PxQSWIcD/versions/I156ee3A/sodiumdynamiclights-forge-1.0.10-1.20.1.jar"
hash-format = "sha512"
hash = "b8527199be5a8b4bc758a4f320586b5886e6ff657718f52d464386b1e3c695d7bfe644e2ef9487a869c93c0866818995ecd47b9e1a19054929242682e37f58b7"
[update]
[update.modrinth]
mod-id = "PxQSWIcD"
version = "I156ee3A"

View File

@@ -0,0 +1,13 @@
name = "Sodium Options API"
filename = "sodiumoptionsapi-forge-1.0.10-1.20.1.jar"
side = "client"
[download]
url = "https://cdn.modrinth.com/data/Es5v4eyq/versions/d0EFLitO/sodiumoptionsapi-forge-1.0.10-1.20.1.jar"
hash-format = "sha512"
hash = "20b11f1582df3df3d351e0cffcfc8b97453e2d73164fbad46d3f4eb960cab57d8f708d84b818782ef019d5cd9494ce001161f753623680516a191d6f510ebb79"
[update]
[update.modrinth]
mod-id = "Es5v4eyq"
version = "d0EFLitO"

View File

@@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0"
[index]
file = "index.toml"
hash-format = "sha256"
hash = "4170d8bbe4ddaff347c3caa5b2c37a9e1cfe163e6d9b4d13d83425a15f5ee90e"
hash = "76bc955a0f122eb0152db7ae5072b850a7578e5498a595355d5969c379735dcd"
[versions]
forge = "47.4.0"