76 lines
3.1 KiB
JavaScript
76 lines
3.1 KiB
JavaScript
const $PlayerListing = Java.loadClass("io.github.lightman314.lightmanscurrency.common.traders.rules.types.PlayerListing")
|
|
const $TraderDataCache = Java.loadClass("io.github.lightman314.lightmanscurrency.common.data.types.TraderDataCache")
|
|
ItemEvents.rightClicked("minecraft:stick", e => {
|
|
})
|
|
/**
|
|
*
|
|
* @param {Internal.QuestObjectCompletedEventJS} e
|
|
* @param {Internal.ItemStack_[]} item
|
|
*/
|
|
function unlockTraderTrade(e, id, item) {
|
|
if (!(item instanceof Array))
|
|
item = [item]
|
|
let trader = TradeUtil.getTradeAPI().GetTrader(false, id)
|
|
let player = e.player
|
|
trader.tradeData.forEach(tradeData => {
|
|
tradeData.rules.forEach(rule => {
|
|
if (rule instanceof $PlayerListing) {
|
|
/**
|
|
* @type {Internal.PlayerListing}
|
|
*/
|
|
let listRule = rule
|
|
/**
|
|
* @type {Internal.ItemTradeData}
|
|
*/
|
|
let itemTradeData = tradeData
|
|
item.forEach(item => {
|
|
if (itemTradeData.getSellItem(0).is(item) || itemTradeData.getSellItem(1).is(item)) {
|
|
if (listRule.addToWhitelist(player))
|
|
trader.markTradeRulesDirty()
|
|
}
|
|
})
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
let tech_list = [
|
|
["7D54AF3A775B6E9E", "create:andesite_alloy"],
|
|
["7A608C48C3947975", "create:brass_ingot"],
|
|
["027EEF0721C497D3", "createmetallurgy:steel_ingot"],
|
|
["3A1374A5FCBE5558", "create:electron_tube"],
|
|
["2C75BC13E58E3293", "create:precision_mechanism"],
|
|
["7794F6910AF7591C", "createdelightcore:bronze_ingot"],
|
|
["02FD263E4D2BFD82", "createmetallurgy:obdurium_ingot"],
|
|
["256EC76BA5595E4C", "createutilities:void_steel_ingot"],
|
|
["52CAEFBED4952D92", "createaddition:electrum_ingot"],
|
|
["50B7170A5AAEBA8A", "ae2:logic_processor"],
|
|
["1219B75C2EB5BDD3", "ae2:calculation_processor"],
|
|
["555915045BD9EEC0", "megacells:accumulation_processor"],
|
|
["5B0583F6E1474359", "ae2:engineering_processor"],
|
|
["7781E14E3569EDC6", "ae2:certus_quartz_crystal"],
|
|
["611F3C0D64351D0F", "ae2:fluix_crystal"],
|
|
["6098CD2DFB98E121", "ae2:annihilation_core"],
|
|
["3042E8CAEFF3F7CE", "ae2:formation_core"],
|
|
["4FCBBE103FE7E9C7", "ad_astra:desh_ingot"],
|
|
["057F6F421273C4DC", "ad_astra:ostrum_ingot"],
|
|
["630E52E14877F5B7", "ad_astra:calorite_ingot"]
|
|
]
|
|
let res_list = [
|
|
["63356DE1A41FB7E0", ["minecraft:copper_ingot", "minecraft:iron_ingot", "minecraft:coal", "createdelightcore:tin_ingot", "create:zinc_ingot"]],
|
|
["441F72B76AC3D7AC", ["minecraft:gold_ingot", "minecraft:diamond", "iceandfire:silver_ingot"]],
|
|
["36114A8D5283E6E5", ["createmetallurgy:tungsten_ingot", "minecraft:ancient_debris"]]
|
|
]
|
|
tech_list.forEach(v => {
|
|
FTBQuestsEvents.completed(v[0], e => {
|
|
unlockTraderTrade(e, 7, v[1])
|
|
$TraderDataCache.TYPE.get(false).reloadPersistentTraders()
|
|
})
|
|
})
|
|
|
|
res_list.forEach(v => {
|
|
FTBQuestsEvents.completed(v[0], e => {
|
|
unlockTraderTrade(e, 10, v[1])
|
|
$TraderDataCache.TYPE.get(false).reloadPersistentTraders()
|
|
})
|
|
}) |