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() }) })