This commit is contained in:
lucasdpt
2026-06-14 02:07:47 +02:00
parent 398e1e6ddf
commit 0129d81bd4
2475 changed files with 553889 additions and 553884 deletions
@@ -1,5 +1,5 @@
StartupEvents.postInit(event => {
let $ChemthrowerHandler = Java.loadClass("blusunrize.immersiveengineering.api.tool.ChemthrowerHandler")
let $ChemthrowerEffect_Extinguish = Java.loadClass("blusunrize.immersiveengineering.api.tool.ChemthrowerHandler$ChemthrowerEffect_Extinguish")
$ChemthrowerHandler.registerEffect("c:hydrofluoric_acid", new $ChemthrowerEffect_Extinguish())
StartupEvents.postInit(event => {
let $ChemthrowerHandler = Java.loadClass("blusunrize.immersiveengineering.api.tool.ChemthrowerHandler")
let $ChemthrowerEffect_Extinguish = Java.loadClass("blusunrize.immersiveengineering.api.tool.ChemthrowerHandler$ChemthrowerEffect_Extinguish")
$ChemthrowerHandler.registerEffect("c:hydrofluoric_acid", new $ChemthrowerEffect_Extinguish())
})
@@ -1,55 +1,55 @@
/*
This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.
Mekanism items for processing stack
Authored by EnigmaQuip
if using existing dust, dust must be defined until kjs tag loading fixed
material at a minimum should have an ore associated with it at #c:ores/material
*/
global.mekStackAdditions = [
{material:'crimson_iron', color:'#fc9aad', makeDust: false},
{material:'azure_silver', color:'#e89ffc', makeDust: false}
]
// DO NOT EDIT BELOW THIS LINE
const Chemical = Java.loadClass('mekanism.api.chemical.Chemical')
const ChemicalBuilder = Java.loadClass('mekanism.api.chemical.ChemicalBuilder')
StartupEvents.registry('item', allthemods => {
const mekItems = ['clump', 'crystal', 'dirty_dust', 'shard']
function mekStack(name, color) {
mekItems.forEach(type => {
allthemods.create(`${name}_${type}`)
.texture('layer0', 'mekanism:item/empty')
.texture('layer1', `mekanism:item/${type}`)
.texture('layer2', `mekanism:item/${type}_overlay`)
.color(1, color)
.tag(`c:${type}s`)
.tag(`c:${type}s/${name}`)
})
}
global.mekStackAdditions.forEach(entry => {
mekStack(entry.material, entry.color)
if (entry.makeDust) {
allthemods.create(`dust_${entry.material}`)
.texture('layer0', 'mekanism:item/empty')
.texture('layer1', `mekanism:item/dust`)
.color(1, entry.color)
.tag(`c:dusts`)
.tag(`c:dusts/${entry.material}`)
}
})
})
StartupEvents.registry('mekanism:chemical', allthemods => {
global.mekStackAdditions.forEach(entry => {
allthemods.createCustom(`clean_${entry.material}`, () => Chemical(ChemicalBuilder.cleanSlurry().tint(Color.wrap(entry.color).getRgb()).ore(`c:ores/${entry.material}`)))
allthemods.createCustom(`dirty_${entry.material}`, () => Chemical(ChemicalBuilder.dirtySlurry().tint(Color.wrap(entry.color).getRgb()).ore(`c:ores/${entry.material}`)))
})
})
// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
/*
This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.
Mekanism items for processing stack
Authored by EnigmaQuip
if using existing dust, dust must be defined until kjs tag loading fixed
material at a minimum should have an ore associated with it at #c:ores/material
*/
global.mekStackAdditions = [
{material:'crimson_iron', color:'#fc9aad', makeDust: false},
{material:'azure_silver', color:'#e89ffc', makeDust: false}
]
// DO NOT EDIT BELOW THIS LINE
const Chemical = Java.loadClass('mekanism.api.chemical.Chemical')
const ChemicalBuilder = Java.loadClass('mekanism.api.chemical.ChemicalBuilder')
StartupEvents.registry('item', allthemods => {
const mekItems = ['clump', 'crystal', 'dirty_dust', 'shard']
function mekStack(name, color) {
mekItems.forEach(type => {
allthemods.create(`${name}_${type}`)
.texture('layer0', 'mekanism:item/empty')
.texture('layer1', `mekanism:item/${type}`)
.texture('layer2', `mekanism:item/${type}_overlay`)
.color(1, color)
.tag(`c:${type}s`)
.tag(`c:${type}s/${name}`)
})
}
global.mekStackAdditions.forEach(entry => {
mekStack(entry.material, entry.color)
if (entry.makeDust) {
allthemods.create(`dust_${entry.material}`)
.texture('layer0', 'mekanism:item/empty')
.texture('layer1', `mekanism:item/dust`)
.color(1, entry.color)
.tag(`c:dusts`)
.tag(`c:dusts/${entry.material}`)
}
})
})
StartupEvents.registry('mekanism:chemical', allthemods => {
global.mekStackAdditions.forEach(entry => {
allthemods.createCustom(`clean_${entry.material}`, () => Chemical(ChemicalBuilder.cleanSlurry().tint(Color.wrap(entry.color).getRgb()).ore(`c:ores/${entry.material}`)))
allthemods.createCustom(`dirty_${entry.material}`, () => Chemical(ChemicalBuilder.dirtySlurry().tint(Color.wrap(entry.color).getRgb()).ore(`c:ores/${entry.material}`)))
})
})
// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.
@@ -1,58 +1,58 @@
// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.
StartupEvents.registry('item', allthemods => {
allthemods.create('allthemodium_drill')
.texture('kubejs:item/allthemodium_drill')
.maxStackSize(64)
.displayName('Allthemodium Drill');
allthemods.create('allthemodium_drill_head')
.texture('kubejs:item/allthemodium_drill_head')
.maxStackSize(64)
.displayName('Allthemodium Drill Head');
allthemods.create('allthemodium_curved_plate')
.texture('kubejs:item/allthemodium_curved_plate')
.maxStackSize(64)
.displayName('Allthemodium Curved Plate');
allthemods.create('allthemodium_bolt')
.texture('kubejs:item/allthemodium_bolt')
.maxStackSize(64)
.displayName('Allthemodium Bolt');
allthemods.create('vibranium_drill')
.texture('kubejs:item/vibranium_drill')
.maxStackSize(64)
.displayName('Vibranium Drill');
allthemods.create('vibranium_drill_head')
.texture('kubejs:item/vibranium_drill_head')
.maxStackSize(64)
.displayName('Vibranium Drill Head');
allthemods.create('vibranium_curved_plate')
.texture('kubejs:item/vibranium_curved_plate')
.maxStackSize(64)
.displayName('Vibranium Curved Plate');
allthemods.create('vibranium_bolt')
.texture('kubejs:item/vibranium_bolt')
.maxStackSize(64)
.displayName('Vibranium Bolt');
allthemods.create('unobtainium_drill')
.texture('kubejs:item/unobtainium_drill')
.maxStackSize(64)
.displayName('Unobtainium Drill');
allthemods.create('unobtainium_drill_head')
.texture('kubejs:item/unobtainium_drill_head')
.maxStackSize(64)
.displayName('Unobtainium Drill Head');
allthemods.create('unobtainium_curved_plate')
.texture('kubejs:item/unobtainium_curved_plate')
.maxStackSize(64)
.displayName('Unobtainium Curved Plate');
allthemods.create('unobtainium_bolt')
.texture('kubejs:item/unobtainium_bolt')
.maxStackSize(64)
.displayName('Unobtainium Bolt');
})
// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.
StartupEvents.registry('item', allthemods => {
allthemods.create('allthemodium_drill')
.texture('kubejs:item/allthemodium_drill')
.maxStackSize(64)
.displayName('Allthemodium Drill');
allthemods.create('allthemodium_drill_head')
.texture('kubejs:item/allthemodium_drill_head')
.maxStackSize(64)
.displayName('Allthemodium Drill Head');
allthemods.create('allthemodium_curved_plate')
.texture('kubejs:item/allthemodium_curved_plate')
.maxStackSize(64)
.displayName('Allthemodium Curved Plate');
allthemods.create('allthemodium_bolt')
.texture('kubejs:item/allthemodium_bolt')
.maxStackSize(64)
.displayName('Allthemodium Bolt');
allthemods.create('vibranium_drill')
.texture('kubejs:item/vibranium_drill')
.maxStackSize(64)
.displayName('Vibranium Drill');
allthemods.create('vibranium_drill_head')
.texture('kubejs:item/vibranium_drill_head')
.maxStackSize(64)
.displayName('Vibranium Drill Head');
allthemods.create('vibranium_curved_plate')
.texture('kubejs:item/vibranium_curved_plate')
.maxStackSize(64)
.displayName('Vibranium Curved Plate');
allthemods.create('vibranium_bolt')
.texture('kubejs:item/vibranium_bolt')
.maxStackSize(64)
.displayName('Vibranium Bolt');
allthemods.create('unobtainium_drill')
.texture('kubejs:item/unobtainium_drill')
.maxStackSize(64)
.displayName('Unobtainium Drill');
allthemods.create('unobtainium_drill_head')
.texture('kubejs:item/unobtainium_drill_head')
.maxStackSize(64)
.displayName('Unobtainium Drill Head');
allthemods.create('unobtainium_curved_plate')
.texture('kubejs:item/unobtainium_curved_plate')
.maxStackSize(64)
.displayName('Unobtainium Curved Plate');
allthemods.create('unobtainium_bolt')
.texture('kubejs:item/unobtainium_bolt')
.maxStackSize(64)
.displayName('Unobtainium Bolt');
})
// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.
@@ -1,67 +1,67 @@
let auto_forge
MIMachineEvents.registerRecipeTypes(allthemods => {
auto_forge = allthemods.register('auto_forge')
.withItemInputs()
.withItemOutputs()
.withFluidInputs()
})
MIMachineEvents.registerMachines(allthemods => {
const darkStair = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_stairs')
const darkStone = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone')
const darkSlab = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_slab')
const darkGuilded = allthemods.memberOfBlock('forbidden_arcanus:gilded_chiseled_polished_darkstone')
const darkPedestal = allthemods.memberOfBlock('forbidden_arcanus:darkstone_pedestal')
const runeBlock = allthemods.memberOfBlock('forbidden_arcanus:rune_block')
const arcaneBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone')
const arcaneChiseled = allthemods.memberOfBlock('forbidden_arcanus:chiseled_arcane_polished_darkstone')
const arcaneObelisk = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_obelisk')
const quantumBlock = allthemods.memberOfBlock('forbidden_arcanus:quantum_injector')
const hephForge = allthemods.memberOfBlock('forbidden_arcanus:hephaestus_forge_tier_5')
const hatchBlock = allthemods.hatchOf('item_input', 'item_output', 'fluid_input', 'fluid_output', 'energy_input')
const forgeShape = allthemods.layeredShape('darkstone_casing', [
['ssshahahsss', ' xsssx ', ' ', ' ', ' '],
['sddddddddds', ' oxxdddxxo ', ' ', ' ', ' '],
['sdrdddddrds', ' xdddgdddx ', ' p ', ' ', ' '],
['hdddddddddh', 'xxdgdddgdxx', ' p p ', ' ', ' '],
['addddddddda', 'sddddcdddds', ' ', ' ', ' '],
['hdddddddddh', 'sdgdcgcdgds', ' p f p ', ' ', ' q '],
['addddddddda', 'sddddcdddds', ' ', ' ', ' '],
['hdddddddddh', 'xxdgdddgdxx', ' p p ', ' ', ' '],
['sdrdddddrds', ' xdddgdddx ', ' p ', ' ', ' '],
['sddddddddds', ' oxxdddxxo ', ' ', ' ', ' '],
['sssha#ahsss', ' xsssx ', ' ', ' ', ' ']
])
.key('s', darkStair, allthemods.noHatch())
.key('x', darkSlab, allthemods.noHatch())
.key('d', darkStone, allthemods.noHatch())
.key('g', darkGuilded, allthemods.noHatch())
.key('r', runeBlock, allthemods.noHatch())
.key('p', darkPedestal, allthemods.noHatch())
.key('a', arcaneBlock, allthemods.noHatch())
.key('c', arcaneChiseled, allthemods.noHatch())
.key('f', hephForge, allthemods.noHatch())
.key('q', quantumBlock, allthemods.noHatch())
.key('o', arcaneObelisk, allthemods.noHatch())
.key('h', darkStone, hatchBlock)
.build()
allthemods.simpleElectricCraftingMultiBlock(
'Automatic Hephaestus Forge',
'auto_forge',
auto_forge,
forgeShape,
allthemods.progressBar(92, 30, 'arrow'),
itemInputs => itemInputs.addSlots(28, 16, 3, 3),
itemOutputs => itemOutputs.addSlot(128, 32),
fluidInputs => fluidInputs.addSlots(8, 8, 1, 4),
fluidOutputs => {},
'darkstone_casing',
'runic_multis',
true,
false,
false
)
let auto_forge
MIMachineEvents.registerRecipeTypes(allthemods => {
auto_forge = allthemods.register('auto_forge')
.withItemInputs()
.withItemOutputs()
.withFluidInputs()
})
MIMachineEvents.registerMachines(allthemods => {
const darkStair = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_stairs')
const darkStone = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone')
const darkSlab = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_slab')
const darkGuilded = allthemods.memberOfBlock('forbidden_arcanus:gilded_chiseled_polished_darkstone')
const darkPedestal = allthemods.memberOfBlock('forbidden_arcanus:darkstone_pedestal')
const runeBlock = allthemods.memberOfBlock('forbidden_arcanus:rune_block')
const arcaneBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone')
const arcaneChiseled = allthemods.memberOfBlock('forbidden_arcanus:chiseled_arcane_polished_darkstone')
const arcaneObelisk = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_obelisk')
const quantumBlock = allthemods.memberOfBlock('forbidden_arcanus:quantum_injector')
const hephForge = allthemods.memberOfBlock('forbidden_arcanus:hephaestus_forge_tier_5')
const hatchBlock = allthemods.hatchOf('item_input', 'item_output', 'fluid_input', 'fluid_output', 'energy_input')
const forgeShape = allthemods.layeredShape('darkstone_casing', [
['ssshahahsss', ' xsssx ', ' ', ' ', ' '],
['sddddddddds', ' oxxdddxxo ', ' ', ' ', ' '],
['sdrdddddrds', ' xdddgdddx ', ' p ', ' ', ' '],
['hdddddddddh', 'xxdgdddgdxx', ' p p ', ' ', ' '],
['addddddddda', 'sddddcdddds', ' ', ' ', ' '],
['hdddddddddh', 'sdgdcgcdgds', ' p f p ', ' ', ' q '],
['addddddddda', 'sddddcdddds', ' ', ' ', ' '],
['hdddddddddh', 'xxdgdddgdxx', ' p p ', ' ', ' '],
['sdrdddddrds', ' xdddgdddx ', ' p ', ' ', ' '],
['sddddddddds', ' oxxdddxxo ', ' ', ' ', ' '],
['sssha#ahsss', ' xsssx ', ' ', ' ', ' ']
])
.key('s', darkStair, allthemods.noHatch())
.key('x', darkSlab, allthemods.noHatch())
.key('d', darkStone, allthemods.noHatch())
.key('g', darkGuilded, allthemods.noHatch())
.key('r', runeBlock, allthemods.noHatch())
.key('p', darkPedestal, allthemods.noHatch())
.key('a', arcaneBlock, allthemods.noHatch())
.key('c', arcaneChiseled, allthemods.noHatch())
.key('f', hephForge, allthemods.noHatch())
.key('q', quantumBlock, allthemods.noHatch())
.key('o', arcaneObelisk, allthemods.noHatch())
.key('h', darkStone, hatchBlock)
.build()
allthemods.simpleElectricCraftingMultiBlock(
'Automatic Hephaestus Forge',
'auto_forge',
auto_forge,
forgeShape,
allthemods.progressBar(92, 30, 'arrow'),
itemInputs => itemInputs.addSlots(28, 16, 3, 3),
itemOutputs => itemOutputs.addSlot(128, 32),
fluidInputs => fluidInputs.addSlots(8, 8, 1, 4),
fluidOutputs => {},
'darkstone_casing',
'runic_multis',
true,
false,
false
)
})
@@ -1,32 +1,32 @@
MIMachineEvents.registerCasings(allthemods => {
allthemods.registerBlockImitation('darkstone_casing', 'forbidden_arcanus:polished_darkstone')
})
MIRegistrationEvents.registerCableTiers(allthemods => {
allthemods.register(
'runic',
'Runic',
'Runic',
262144,
'darkstone_casing',
);
})
MIMachineEvents.registerHatches(allthemods => {
allthemods.energy('runic')
allthemods .fluid(
'Runic',
'runic',
'darkstone_casing',
4096
)
allthemods.item(
'Runic',
'runic',
'darkstone_casing',
3, 5,
8, 17
)
MIMachineEvents.registerCasings(allthemods => {
allthemods.registerBlockImitation('darkstone_casing', 'forbidden_arcanus:polished_darkstone')
})
MIRegistrationEvents.registerCableTiers(allthemods => {
allthemods.register(
'runic',
'Runic',
'Runic',
262144,
'darkstone_casing',
);
})
MIMachineEvents.registerHatches(allthemods => {
allthemods.energy('runic')
allthemods .fluid(
'Runic',
'runic',
'darkstone_casing',
4096
)
allthemods.item(
'Runic',
'runic',
'darkstone_casing',
3, 5,
8, 17
)
})
@@ -1,57 +1,57 @@
let runic_crucible;
MIMachineEvents.registerRecipeTypes(allthemods => {
runic_crucible = allthemods.register('runic_crucible')
.withItemInputs()
.withItemOutputs()
.withFluidInputs()
.withFluidOutputs()
})
MIMachineEvents.registerMachines(allthemods => {
const darkStair = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_stairs')
const darkStone = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone')
const darkGuilded = allthemods.memberOfBlock('forbidden_arcanus:gilded_chiseled_polished_darkstone')
const runeBlock = allthemods.memberOfBlock('forbidden_arcanus:rune_block')
const arcanePillar = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone_pillar')
const arcaneBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone')
const crystalBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_block')
const quantumBlock = allthemods.memberOfBlock('forbidden_arcanus:quantum_injector')
const hatchBlock = allthemods.hatchOf('item_input', 'item_output', 'fluid_input', 'fluid_output', 'energy_input')
const crucibleShape = allthemods.layeredShape('darkstone_casing', [
['rsssr', 'phahp', 'c c', ' '],
['sddds', 'hsssh', ' ', ' '],
['sdgds', 'ascsa', ' ', ' q '],
['sddds', 'hsssh', ' ', ' '],
['rs#sr', 'phahp', 'c c', ' ']
])
.key('s', darkStair, allthemods.noHatch())
.key('d', darkStone, allthemods.noHatch())
.key('g', darkGuilded, allthemods.noHatch())
.key('r', runeBlock, allthemods.noHatch())
.key('p', arcanePillar, allthemods.noHatch())
.key('a', arcaneBlock, allthemods.noHatch())
.key('c', crystalBlock, allthemods.noHatch())
.key('q', quantumBlock, allthemods.noHatch())
.key('h', darkStone, hatchBlock)
.build();
allthemods.simpleElectricCraftingMultiBlock(
'Runic Crucible',
'runic_crucible',
runic_crucible,
crucibleShape,
allthemods.progressBar(116, 6, 'arrow'),
itemInputs => itemInputs.addSlots(44, 8, 3, 1),
itemOuputs => itemOuputs.addSlot(172, 8),
fluidInputs => fluidInputs.addSlots(8, 8, 2, 1),
fluidOutputs => fluidOutputs.addSlot(154, 8),
'darkstone_casing',
'runic_multis',
true,
false,
false
)
let runic_crucible;
MIMachineEvents.registerRecipeTypes(allthemods => {
runic_crucible = allthemods.register('runic_crucible')
.withItemInputs()
.withItemOutputs()
.withFluidInputs()
.withFluidOutputs()
})
MIMachineEvents.registerMachines(allthemods => {
const darkStair = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_stairs')
const darkStone = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone')
const darkGuilded = allthemods.memberOfBlock('forbidden_arcanus:gilded_chiseled_polished_darkstone')
const runeBlock = allthemods.memberOfBlock('forbidden_arcanus:rune_block')
const arcanePillar = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone_pillar')
const arcaneBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone')
const crystalBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_block')
const quantumBlock = allthemods.memberOfBlock('forbidden_arcanus:quantum_injector')
const hatchBlock = allthemods.hatchOf('item_input', 'item_output', 'fluid_input', 'fluid_output', 'energy_input')
const crucibleShape = allthemods.layeredShape('darkstone_casing', [
['rsssr', 'phahp', 'c c', ' '],
['sddds', 'hsssh', ' ', ' '],
['sdgds', 'ascsa', ' ', ' q '],
['sddds', 'hsssh', ' ', ' '],
['rs#sr', 'phahp', 'c c', ' ']
])
.key('s', darkStair, allthemods.noHatch())
.key('d', darkStone, allthemods.noHatch())
.key('g', darkGuilded, allthemods.noHatch())
.key('r', runeBlock, allthemods.noHatch())
.key('p', arcanePillar, allthemods.noHatch())
.key('a', arcaneBlock, allthemods.noHatch())
.key('c', crystalBlock, allthemods.noHatch())
.key('q', quantumBlock, allthemods.noHatch())
.key('h', darkStone, hatchBlock)
.build();
allthemods.simpleElectricCraftingMultiBlock(
'Runic Crucible',
'runic_crucible',
runic_crucible,
crucibleShape,
allthemods.progressBar(116, 6, 'arrow'),
itemInputs => itemInputs.addSlots(44, 8, 3, 1),
itemOuputs => itemOuputs.addSlot(172, 8),
fluidInputs => fluidInputs.addSlots(8, 8, 2, 1),
fluidOutputs => fluidOutputs.addSlot(154, 8),
'darkstone_casing',
'runic_multis',
true,
false,
false
)
})
@@ -1,76 +1,76 @@
let runic_enchanter
MIMachineEvents.registerRecipeTypes(allthemods => {
runic_enchanter = allthemods.register('runic_enchanter')
.withItemInputs()
.withItemOutputs()
.withFluidInputs()
})
MIMachineEvents.registerMachines(allthemods => {
const darkStair = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_stairs')
const darkStone = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone')
const darkSlab = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_slab')
const darkGuilded = allthemods.memberOfBlock('forbidden_arcanus:gilded_chiseled_polished_darkstone')
const darkPedestal = allthemods.memberOfBlock('forbidden_arcanus:darkstone_pedestal')
const runeBlock = allthemods.memberOfBlock('forbidden_arcanus:rune_block')
const arcanePillar = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone_pillar')
const arcaneBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone')
const crystalBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_block')
const quantumBlock = allthemods.memberOfBlock('forbidden_arcanus:quantum_injector')
const soulDeep = allthemods.memberOfBlock('apothic_enchanting:soul_touched_deepshelf')
const soulSculk = allthemods.memberOfBlock('apothic_enchanting:soul_touched_sculkshelf')
const echoSculk = allthemods.memberOfBlock('apothic_enchanting:echoing_sculkshelf')
const soulLantern = allthemods.memberOfBlock('minecraft:soul_lantern')
const enchantTable = allthemods.memberOfBlock('minecraft:enchanting_table')
const hatchBlock = allthemods.hatchOf('item_input', 'item_output', 'fluid_input', 'energy_input')
const enchanterShape = allthemods.layeredShape('darkstone_casing', [
[' sssss ', ' ', ' ', ' ', ' '],
[' usrrrsj ', ' xxx ', ' ', ' ', ' '],
[' jjdddddjj ', ' uxdddxm ', ' ', ' ', ' '],
[' jjrdddddrjm ', ' mjjdgdjju ', ' j p j ', ' i i ', ' '],
['ssddhccchddss', ' xjglllgjx ', ' p p ', ' ', ' '],
['srddchhhcddrs', ' xddlssslddx ', ' ', ' ', ' '],
['srddchhhcddrs', ' xdglsgslgdx ', ' p t p ', ' ', ' q '],
['srddchhhcddrs', ' xddlssslddx ', ' ', ' ', ' '],
['ssddhccchddss', ' xjglllgjx ', ' p p ', ' ', ' '],
[' ujrdddddrju ', ' jjjdgdjjj ', ' j p j ', ' i i ', ' '],
[' ujdddddjm ', ' uxdddxu ', ' ', ' ', ' '],
[' usrrrsu ', ' xxx ', ' ', ' ', ' '],
[' ss#ss ', ' ', ' ', ' ', ' ']
])
.key('s', darkStair, allthemods.noHatch())
.key('x', darkSlab, allthemods.noHatch())
.key('d', darkStone, allthemods.noHatch())
.key('g', darkGuilded, allthemods.noHatch())
.key('r', runeBlock, allthemods.noHatch())
.key('p', darkPedestal, allthemods.noHatch())
.key('l', arcanePillar, allthemods.noHatch())
.key('c', crystalBlock, allthemods.noHatch())
.key('q', quantumBlock, allthemods.noHatch())
.key('t', enchantTable, allthemods.noHatch())
.key('u', soulSculk, allthemods.noHatch())
.key('j', soulDeep, allthemods.noHatch())
.key('m', echoSculk, allthemods.noHatch())
.key('i', soulLantern, allthemods.noHatch())
.key('h', darkStone, hatchBlock)
.build()
allthemods.simpleElectricCraftingMultiBlock(
'Runic Enchanter',
'runic_enchanter',
runic_enchanter,
enchanterShape,
allthemods.progressBar(56, 22, 'arrow'),
itemInputs => itemInputs.addSlots(26, 8, 1, 3),
itemOuputs => itemOuputs.addSlot(92, 24),
fluidInputs => fluidInputs.addSlots(8, 16, 1, 2),
fluidOutputs => {},
'darkstone_casing',
'runic_multis',
true,
false,
false
)
})
let runic_enchanter
MIMachineEvents.registerRecipeTypes(allthemods => {
runic_enchanter = allthemods.register('runic_enchanter')
.withItemInputs()
.withItemOutputs()
.withFluidInputs()
})
MIMachineEvents.registerMachines(allthemods => {
const darkStair = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_stairs')
const darkStone = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone')
const darkSlab = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_slab')
const darkGuilded = allthemods.memberOfBlock('forbidden_arcanus:gilded_chiseled_polished_darkstone')
const darkPedestal = allthemods.memberOfBlock('forbidden_arcanus:darkstone_pedestal')
const runeBlock = allthemods.memberOfBlock('forbidden_arcanus:rune_block')
const arcanePillar = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone_pillar')
const arcaneBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone')
const crystalBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_block')
const quantumBlock = allthemods.memberOfBlock('forbidden_arcanus:quantum_injector')
const soulDeep = allthemods.memberOfBlock('apothic_enchanting:soul_touched_deepshelf')
const soulSculk = allthemods.memberOfBlock('apothic_enchanting:soul_touched_sculkshelf')
const echoSculk = allthemods.memberOfBlock('apothic_enchanting:echoing_sculkshelf')
const soulLantern = allthemods.memberOfBlock('minecraft:soul_lantern')
const enchantTable = allthemods.memberOfBlock('minecraft:enchanting_table')
const hatchBlock = allthemods.hatchOf('item_input', 'item_output', 'fluid_input', 'energy_input')
const enchanterShape = allthemods.layeredShape('darkstone_casing', [
[' sssss ', ' ', ' ', ' ', ' '],
[' usrrrsj ', ' xxx ', ' ', ' ', ' '],
[' jjdddddjj ', ' uxdddxm ', ' ', ' ', ' '],
[' jjrdddddrjm ', ' mjjdgdjju ', ' j p j ', ' i i ', ' '],
['ssddhccchddss', ' xjglllgjx ', ' p p ', ' ', ' '],
['srddchhhcddrs', ' xddlssslddx ', ' ', ' ', ' '],
['srddchhhcddrs', ' xdglsgslgdx ', ' p t p ', ' ', ' q '],
['srddchhhcddrs', ' xddlssslddx ', ' ', ' ', ' '],
['ssddhccchddss', ' xjglllgjx ', ' p p ', ' ', ' '],
[' ujrdddddrju ', ' jjjdgdjjj ', ' j p j ', ' i i ', ' '],
[' ujdddddjm ', ' uxdddxu ', ' ', ' ', ' '],
[' usrrrsu ', ' xxx ', ' ', ' ', ' '],
[' ss#ss ', ' ', ' ', ' ', ' ']
])
.key('s', darkStair, allthemods.noHatch())
.key('x', darkSlab, allthemods.noHatch())
.key('d', darkStone, allthemods.noHatch())
.key('g', darkGuilded, allthemods.noHatch())
.key('r', runeBlock, allthemods.noHatch())
.key('p', darkPedestal, allthemods.noHatch())
.key('l', arcanePillar, allthemods.noHatch())
.key('c', crystalBlock, allthemods.noHatch())
.key('q', quantumBlock, allthemods.noHatch())
.key('t', enchantTable, allthemods.noHatch())
.key('u', soulSculk, allthemods.noHatch())
.key('j', soulDeep, allthemods.noHatch())
.key('m', echoSculk, allthemods.noHatch())
.key('i', soulLantern, allthemods.noHatch())
.key('h', darkStone, hatchBlock)
.build()
allthemods.simpleElectricCraftingMultiBlock(
'Runic Enchanter',
'runic_enchanter',
runic_enchanter,
enchanterShape,
allthemods.progressBar(56, 22, 'arrow'),
itemInputs => itemInputs.addSlots(26, 8, 1, 3),
itemOuputs => itemOuputs.addSlot(92, 24),
fluidInputs => fluidInputs.addSlots(8, 16, 1, 2),
fluidOutputs => {},
'darkstone_casing',
'runic_multis',
true,
false,
false
)
})
@@ -1,77 +1,77 @@
let star_altar
MIMachineEvents.registerRecipeTypes(allthemods => {
star_altar = allthemods.register('star_altar')
.withItemInputs()
.withItemOutputs()
})
MIMachineEvents.registerMachines(allthemods => {
const darkStair = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_stairs')
const darkStone = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone')
const darkSlab = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_slab')
const darkGuilded = allthemods.memberOfBlock('forbidden_arcanus:gilded_chiseled_polished_darkstone')
const darkPedestal = allthemods.memberOfBlock('forbidden_arcanus:darkstone_pedestal')
const runeBlock = allthemods.memberOfBlock('forbidden_arcanus:rune_block')
const arcaneBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone')
const arcaneChiseled = allthemods.memberOfBlock('forbidden_arcanus:chiseled_arcane_polished_darkstone')
const arcaneObelisk = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_obelisk')
const arcanePillar = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone_pillar')
const quantumBlock = allthemods.memberOfBlock('forbidden_arcanus:quantum_injector')
const crystalBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_block')
const magneticPedestal = allthemods.memberOfBlock('forbidden_arcanus:magnetized_darkstone_pedestal')
const utremJar = allthemods.memberOfBlock('forbidden_arcanus:essence_utrem_jar')
const hatchBlock = allthemods.hatchOf('item_input', 'item_output', 'energy_input')
const altarShape = allthemods.layeredShape('darkstone_casing', [
[' ssshahahsss ', ' sssss ', ' ', ' ', ' ', ' ', ' ', ' '],
[' ssdddddddddss ', ' sssdgdsss ', ' o ', ' ', ' ', ' ', ' ', ' '],
['ssdddddddddddss', ' ssdddddddss ', ' xsssssx ', ' ', ' ', ' ', ' ', ' '],
['sddddddddddddds', ' ssgdddddddgss ', ' oxrdddrxo ', ' l l ', ' l l ', ' l l ', ' l l ', ' rlklr '],
['sddddddddddddds', ' sddddddddddds ', ' xxxddgddxxx ', ' p ', ' ', ' ', ' ', ' '],
['hdddddddddddddh', 'ssdddddddddddss', ' srdgdddgdrs ', ' l p p l ', ' l l ', ' l l ', ' l l ', ' r r '],
['addddddddddddda', 'sddddddddddddds', ' sdddcdcddds ', ' j j ', ' ', ' ', ' ', ' l l '],
['hdddddddddddddh', 'sgdddddddddddgs', ' osdgddgddgdso ', ' p m p ', ' ', ' q ', ' ', ' k k '],
['addddddddddddda', 'sddddddddddddds', ' sdddcdcddds ', ' j j ', ' ', ' ', ' ', ' l l '],
['hdddddddddddddh', 'ssdddddddddddss', ' srdgdddgdrs ', ' l p p l ', ' l l ', ' l l ', ' l l ', ' r r '],
['sddddddddddddds', ' sddddddddddds ', ' xxxddgddxxx ', ' p ', ' ', ' ', ' ', ' '],
['sddddddddddddds', ' ssgdddddddgss ', ' oxrdddrxo ', ' l l ', ' l l ', ' l l ', ' l l ', ' rlklr '],
['ssdddddddddddss', ' ssdddddddss ', ' xsssssx ', ' ', ' ', ' ', ' ', ' '],
[' ssdddddddddss ', ' sssdgdsss ', ' o ', ' ', ' ', ' ', ' ', ' '],
[' sssha#ahsss ', ' sssss ', ' ', ' ', ' ', ' ', ' ', ' ']
])
.key('s', darkStair, allthemods.noHatch())
.key('x', darkSlab, allthemods.noHatch())
.key('d', darkStone, allthemods.noHatch())
.key('g', darkGuilded, allthemods.noHatch())
.key('r', runeBlock, allthemods.noHatch())
.key('p', darkPedestal, allthemods.noHatch())
.key('l', arcanePillar, allthemods.noHatch())
.key('k', crystalBlock, allthemods.noHatch())
.key('a', arcaneBlock, allthemods.noHatch())
.key('c', arcaneChiseled, allthemods.noHatch())
.key('m', magneticPedestal, allthemods.noHatch())
.key('q', quantumBlock, allthemods.noHatch())
.key('o', arcaneObelisk, allthemods.noHatch())
.key('j', utremJar, allthemods.noHatch())
.key('h', darkStone, hatchBlock)
.build()
allthemods.simpleElectricCraftingMultiBlock(
'Runic Star Altar',
'star_altar',
star_altar,
altarShape,
allthemods.progressBar(104, 22, 'arrow'),
itemInputs => itemInputs.addSlots(8, 8, 5, 3),
itemOuputs => itemOuputs.addSlot(140, 24),
fluidInputs => {},
fluidOutputs => {},
'darkstone_casing',
'runic_multis',
true,
false,
false
)
let star_altar
MIMachineEvents.registerRecipeTypes(allthemods => {
star_altar = allthemods.register('star_altar')
.withItemInputs()
.withItemOutputs()
})
MIMachineEvents.registerMachines(allthemods => {
const darkStair = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_stairs')
const darkStone = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone')
const darkSlab = allthemods.memberOfBlock('forbidden_arcanus:polished_darkstone_slab')
const darkGuilded = allthemods.memberOfBlock('forbidden_arcanus:gilded_chiseled_polished_darkstone')
const darkPedestal = allthemods.memberOfBlock('forbidden_arcanus:darkstone_pedestal')
const runeBlock = allthemods.memberOfBlock('forbidden_arcanus:rune_block')
const arcaneBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone')
const arcaneChiseled = allthemods.memberOfBlock('forbidden_arcanus:chiseled_arcane_polished_darkstone')
const arcaneObelisk = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_obelisk')
const arcanePillar = allthemods.memberOfBlock('forbidden_arcanus:arcane_polished_darkstone_pillar')
const quantumBlock = allthemods.memberOfBlock('forbidden_arcanus:quantum_injector')
const crystalBlock = allthemods.memberOfBlock('forbidden_arcanus:arcane_crystal_block')
const magneticPedestal = allthemods.memberOfBlock('forbidden_arcanus:magnetized_darkstone_pedestal')
const utremJar = allthemods.memberOfBlock('forbidden_arcanus:essence_utrem_jar')
const hatchBlock = allthemods.hatchOf('item_input', 'item_output', 'energy_input')
const altarShape = allthemods.layeredShape('darkstone_casing', [
[' ssshahahsss ', ' sssss ', ' ', ' ', ' ', ' ', ' ', ' '],
[' ssdddddddddss ', ' sssdgdsss ', ' o ', ' ', ' ', ' ', ' ', ' '],
['ssdddddddddddss', ' ssdddddddss ', ' xsssssx ', ' ', ' ', ' ', ' ', ' '],
['sddddddddddddds', ' ssgdddddddgss ', ' oxrdddrxo ', ' l l ', ' l l ', ' l l ', ' l l ', ' rlklr '],
['sddddddddddddds', ' sddddddddddds ', ' xxxddgddxxx ', ' p ', ' ', ' ', ' ', ' '],
['hdddddddddddddh', 'ssdddddddddddss', ' srdgdddgdrs ', ' l p p l ', ' l l ', ' l l ', ' l l ', ' r r '],
['addddddddddddda', 'sddddddddddddds', ' sdddcdcddds ', ' j j ', ' ', ' ', ' ', ' l l '],
['hdddddddddddddh', 'sgdddddddddddgs', ' osdgddgddgdso ', ' p m p ', ' ', ' q ', ' ', ' k k '],
['addddddddddddda', 'sddddddddddddds', ' sdddcdcddds ', ' j j ', ' ', ' ', ' ', ' l l '],
['hdddddddddddddh', 'ssdddddddddddss', ' srdgdddgdrs ', ' l p p l ', ' l l ', ' l l ', ' l l ', ' r r '],
['sddddddddddddds', ' sddddddddddds ', ' xxxddgddxxx ', ' p ', ' ', ' ', ' ', ' '],
['sddddddddddddds', ' ssgdddddddgss ', ' oxrdddrxo ', ' l l ', ' l l ', ' l l ', ' l l ', ' rlklr '],
['ssdddddddddddss', ' ssdddddddss ', ' xsssssx ', ' ', ' ', ' ', ' ', ' '],
[' ssdddddddddss ', ' sssdgdsss ', ' o ', ' ', ' ', ' ', ' ', ' '],
[' sssha#ahsss ', ' sssss ', ' ', ' ', ' ', ' ', ' ', ' ']
])
.key('s', darkStair, allthemods.noHatch())
.key('x', darkSlab, allthemods.noHatch())
.key('d', darkStone, allthemods.noHatch())
.key('g', darkGuilded, allthemods.noHatch())
.key('r', runeBlock, allthemods.noHatch())
.key('p', darkPedestal, allthemods.noHatch())
.key('l', arcanePillar, allthemods.noHatch())
.key('k', crystalBlock, allthemods.noHatch())
.key('a', arcaneBlock, allthemods.noHatch())
.key('c', arcaneChiseled, allthemods.noHatch())
.key('m', magneticPedestal, allthemods.noHatch())
.key('q', quantumBlock, allthemods.noHatch())
.key('o', arcaneObelisk, allthemods.noHatch())
.key('j', utremJar, allthemods.noHatch())
.key('h', darkStone, hatchBlock)
.build()
allthemods.simpleElectricCraftingMultiBlock(
'Runic Star Altar',
'star_altar',
star_altar,
altarShape,
allthemods.progressBar(104, 22, 'arrow'),
itemInputs => itemInputs.addSlots(8, 8, 5, 3),
itemOuputs => itemOuputs.addSlot(140, 24),
fluidInputs => {},
fluidOutputs => {},
'darkstone_casing',
'runic_multis',
true,
false,
false
)
})
@@ -1,12 +1,12 @@
NativeEvents.onEvent("net.neoforged.neoforge.event.entity.player.PlayerEvent$PlayerChangedDimensionEvent", event => {
if (event.to.location().getNamespace().equals("eternal_starlight")){
event.entity.tell("Due to severe lag with Eternal Starlight, progress will not be recorded until mod fix their issues")
if (Platform.clientEnvironment) {
Client["submit(java.lang.Runnable)"](() => {
Client.gui.setTitle(Text.of("Progress won't be saved at ").append(Text.blue("Eternal Starlight")))
Client.gui.setSubtitle(Text.white("Due to lag, all progress won't be saved at ").append(Text.blue("Eternal Starlight")))
})
}
event.entity.tell("Eternal Starlight, will be removed on version 6.0+")
}
NativeEvents.onEvent("net.neoforged.neoforge.event.entity.player.PlayerEvent$PlayerChangedDimensionEvent", event => {
if (event.to.location().getNamespace().equals("eternal_starlight")){
event.entity.tell("Due to severe lag with Eternal Starlight, progress will not be recorded until mod fix their issues")
if (Platform.clientEnvironment) {
Client["submit(java.lang.Runnable)"](() => {
Client.gui.setTitle(Text.of("Progress won't be saved at ").append(Text.blue("Eternal Starlight")))
Client.gui.setSubtitle(Text.white("Due to lag, all progress won't be saved at ").append(Text.blue("Eternal Starlight")))
})
}
event.entity.tell("Eternal Starlight, will be removed on version 6.0+")
}
})
+10 -10
View File
@@ -1,11 +1,11 @@
NativeEvents.onEvent("net.neoforged.neoforge.event.entity.player.PlayerEvent$PlayerChangedDimensionEvent", event => {
if (event.to.location().getNamespace().equals("hyperbox")){
event.entity.tell("Hyperboxes will be removed on version 6.0+, please move to Compact Machines")
if (Platform.clientEnvironment) {
Client["submit(java.lang.Runnable)"](() => {
Client.gui.setTitle(Text.blue("Hyperbox").append(Text.red(" will be removed!")))
Client.gui.setSubtitle(Text.white("Transfer your stuff to new mod ").append(Text.blue("Compact Machines")))
})
}
}
NativeEvents.onEvent("net.neoforged.neoforge.event.entity.player.PlayerEvent$PlayerChangedDimensionEvent", event => {
if (event.to.location().getNamespace().equals("hyperbox")){
event.entity.tell("Hyperboxes will be removed on version 6.0+, please move to Compact Machines")
if (Platform.clientEnvironment) {
Client["submit(java.lang.Runnable)"](() => {
Client.gui.setTitle(Text.blue("Hyperbox").append(Text.red(" will be removed!")))
Client.gui.setSubtitle(Text.white("Transfer your stuff to new mod ").append(Text.blue("Compact Machines")))
})
}
}
})
+25 -25
View File
@@ -1,26 +1,26 @@
let $DefaultArtifactVersion = Java.loadClass("org.apache.maven.artifact.versioning.DefaultArtifactVersion")
let $Locale = Java.loadClass("java.util.Locale")
let modPackId = "925200" // could get from BCC but :shrug:
StartupEvents.postInit(event => {
if (Platform.isLoaded("bcc") && Platform.isClientEnvironment()) {
let $BccInstance = Java.loadClass("dev.wuffs.bcc.BetterCompatibilityChecker")
// testing
//let currentVersion = new $DefaultArtifactVersion("0.2.0-beta")
let currentVersion = new $DefaultArtifactVersion($BccInstance.betterStatus.version())
KJSTweaks.curseForgeGetEndpoint("v1/mods/" + modPackId + "/files?pageSize=1", Client, response => {
let displayName = response.get("data").get(0).get("displayName").getAsString()
let cfLatestVersionStr = displayName.toLowerCase($Locale.ROOT).replace("all the mods 10-", "").replace(".zip", "")
let cfLatestVersion = new $DefaultArtifactVersion(cfLatestVersionStr)
console.log("Pack Version is: " + currentVersion)
console.log("CF Version is: " + cfLatestVersion)
if (cfLatestVersion.compareTo(currentVersion) > 0) {
let $SystemToast = Java.loadClass("net.minecraft.client.gui.components.toasts.SystemToast")
let $SystemToastId = Java.loadClass("net.minecraft.client.gui.components.toasts.SystemToast$SystemToastId")
$SystemToast.add(Client.getToasts(), new $SystemToastId(10000), "New update is available!", Text.of("Version ").append(Text.green(cfLatestVersion)).append(" is already available!"))
} else {
console.log("Pack is up to date!")
}
})
}
let $DefaultArtifactVersion = Java.loadClass("org.apache.maven.artifact.versioning.DefaultArtifactVersion")
let $Locale = Java.loadClass("java.util.Locale")
let modPackId = "925200" // could get from BCC but :shrug:
StartupEvents.postInit(event => {
if (Platform.isLoaded("bcc") && Platform.isClientEnvironment()) {
let $BccInstance = Java.loadClass("dev.wuffs.bcc.BetterCompatibilityChecker")
// testing
//let currentVersion = new $DefaultArtifactVersion("0.2.0-beta")
let currentVersion = new $DefaultArtifactVersion($BccInstance.betterStatus.version())
KJSTweaks.curseForgeGetEndpoint("v1/mods/" + modPackId + "/files?pageSize=1", Client, response => {
let displayName = response.get("data").get(0).get("displayName").getAsString()
let cfLatestVersionStr = displayName.toLowerCase($Locale.ROOT).replace("all the mods 10-", "").replace(".zip", "")
let cfLatestVersion = new $DefaultArtifactVersion(cfLatestVersionStr)
console.log("Pack Version is: " + currentVersion)
console.log("CF Version is: " + cfLatestVersion)
if (cfLatestVersion.compareTo(currentVersion) > 0) {
let $SystemToast = Java.loadClass("net.minecraft.client.gui.components.toasts.SystemToast")
let $SystemToastId = Java.loadClass("net.minecraft.client.gui.components.toasts.SystemToast$SystemToastId")
$SystemToast.add(Client.getToasts(), new $SystemToastId(10000), "New update is available!", Text.of("Version ").append(Text.green(cfLatestVersion)).append(" is already available!"))
} else {
console.log("Pack is up to date!")
}
})
}
})