added observeMekanism.js

This commit is contained in:
SeaswimmerTheFsh 2023-11-17 22:18:51 -05:00
parent 89b2dfed30
commit 767db4998a
Signed by: cswimr
GPG key ID: 1EBC234EEDA901AE
3 changed files with 81 additions and 1 deletions

View file

@ -95,6 +95,10 @@ hash = "db260149b77ba74370499e28c922aeb6d2fbfcf8313e3d3b9772fd6672fe05e8"
file = "kubejs/client_scripts/cape.js" file = "kubejs/client_scripts/cape.js"
hash = "d86fdabd2650706a673bc235e3fa19b4339f7d6e3dec2c0dd938f40c7ef880dd" hash = "d86fdabd2650706a673bc235e3fa19b4339f7d6e3dec2c0dd938f40c7ef880dd"
[[files]]
file = "kubejs/client_scripts/observeMekanism.js"
hash = "09c7fadd2f8c25a4f20afe523a441d12e6302b39bacb1ab5e0ad6e81900ea555"
[[files]] [[files]]
file = "kubejs/client_scripts/ponder/fission_mek.js" file = "kubejs/client_scripts/ponder/fission_mek.js"
hash = "7aec59883862a2fa254457f544e54d2ee9d0b1c8c0c59a892bc033d142e2eebd" hash = "7aec59883862a2fa254457f544e54d2ee9d0b1c8c0c59a892bc033d142e2eebd"

View file

@ -0,0 +1,76 @@
const $TileEntityMultiblock = Java.loadClass('mekanism.common.tile.prefab.TileEntityMultiblock')
const $TileEntityMekanism = Java.loadClass('mekanism.common.tile.base.TileEntityMekanism')
//const $CompoundTag = Java.loadClass('net.minecraft.nbt.CompoundTag')
const mapMekanismMultiblockToTaskID = {
"dynamicTank":"",
"inductionMatrix":"621A4E28BD50F96C",
"thermoelectricBoiler":"",
"evaporation":"",
"sps":"2A13A1B1A85C2981",
"industrialTurbine":"71DB5E5857993B3F",
"fissionReactor":"34D8628732B36EDF",
"fusionReactor": "0B31B1E6089BB33E"
}
const mapMekanismGasToTaskID = {
"mekanism:fissile_fuel": "4E04F8F091D18EA4",
"mekanism:uranium_oxide": "29D6CA9A77ACACC6",
"mekanism:sulfuric_acid": "66C97246C3EEFB7C",
"mekanism:hydrofluoric_acid": "510CE57C709D5A44",
"mekanism:uranium_hexafluoride": "05A215BE7EE2F35D"
}
ClientEvents.tick(event => {
if (Client.hitResult != null && Client.hitResult.getType() == 'BLOCK') {
let block = event.level.getBlock(Client.hitResult.getBlockPos())
if (block.id.contains('mekanism')) {
let blockEntity = block.entity
// Multiblock handler
if (blockEntity && blockEntity instanceof $TileEntityMultiblock) {
// Multiblock is complete
if (blockEntity.getMultiblock().isFormed()) {
let manager = blockEntity.getManager()
if (manager) {
let managerName = manager.getName()
if (managerName) {
let taskString = mapMekanismMultiblockToTaskID[managerName]
if (taskString) {
let tag = new $CompoundTag
tag.putString('task', taskString)
event.player.sendData('customTask', tag)
}
}
}
}
}
// Capability TE's
if (blockEntity instanceof $TileEntityMekanism) {
// Handles Gas
if (blockEntity.canHandleGas()) {
let tanks = blockEntity.getGasTanks(null)
tanks.forEach(tank => {
let gas = tank.getStack().getTypeRegistryName()
let taskString = mapMekanismGasToTaskID[gas.toString()]
if (taskString) {
let tag = new $CompoundTag
tag.putString('task', taskString)
event.player.sendData('customTask', tag)
}
})
}
}
}
}
})
NetworkEvents.dataReceived('customTask', event => {
const {entity, data, level} = event
let taskString = data.task
let task = FTBQuests.getObject(level, taskString)
let playerQuestData = FTBQuests.getData(entity)
if (task && playerQuestData && !playerQuestData.isCompleted(task) && playerQuestData.canStartTasks(task.quest)) {
playerQuestData.addProgress(task, 1)
}
})

View file

@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0"
[index] [index]
file = "index.toml" file = "index.toml"
hash-format = "sha256" hash-format = "sha256"
hash = "2b206a7b01eb63b152efd38b7423baea5426c2b9bee90b8ca24e0b275fd0da9b" hash = "1ffb01e741f6829cecfa174e7bd4700773b6ed5f961459ece7feb7fe604c0d1d"
[versions] [versions]
forge = "47.2.0" forge = "47.2.0"