diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 2929e2267..e0b8a61af 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -276,6 +276,12 @@ "item.tfg.uhv_universal_circuit": "UHV Universal Circuit", "item.tfg.piglin_disguise": "Piglin Disguise", "item.tfg.trowel": "Trowel", + "item.tfg.food.raw_birt": "Raw Birt", + "item.tfg.food.cooked_birt": "Cooked Birt", + "item.tfg.food.raw_crawlermari": "Raw Crawlermari", + "item.tfg.food.cooked_crawlermari": "Cooked Crawlermari", + "item.tfg.food.raw_limpet": "Raw Limpet", + "item.tfg.food.cooked_limpet": "Cooked Limpet", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", diff --git a/kubejs/assets/tfg/textures/item/dust/moon_stone.png b/kubejs/assets/tfg/textures/item/dust/moon_stone.png deleted file mode 100644 index b10cc20d0..000000000 Binary files a/kubejs/assets/tfg/textures/item/dust/moon_stone.png and /dev/null differ diff --git a/kubejs/assets/tfg/textures/item/food/cooked_birt.png b/kubejs/assets/tfg/textures/item/food/cooked_birt.png new file mode 100644 index 000000000..c8e8b403b Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/cooked_birt.png differ diff --git a/kubejs/assets/tfg/textures/item/food/cooked_crawlermari.png b/kubejs/assets/tfg/textures/item/food/cooked_crawlermari.png new file mode 100644 index 000000000..323e4c98c Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/cooked_crawlermari.png differ diff --git a/kubejs/assets/tfg/textures/item/food/cooked_limpet.png b/kubejs/assets/tfg/textures/item/food/cooked_limpet.png new file mode 100644 index 000000000..aefc533bb Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/cooked_limpet.png differ diff --git a/kubejs/assets/tfg/textures/item/food/raw_birt.png b/kubejs/assets/tfg/textures/item/food/raw_birt.png new file mode 100644 index 000000000..b60e37e50 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_birt.png differ diff --git a/kubejs/assets/tfg/textures/item/food/raw_crawlermari.png b/kubejs/assets/tfg/textures/item/food/raw_crawlermari.png new file mode 100644 index 000000000..44b6afe89 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_crawlermari.png differ diff --git a/kubejs/assets/tfg/textures/item/food/raw_limpet.png b/kubejs/assets/tfg/textures/item/food/raw_limpet.png new file mode 100644 index 000000000..399ea5651 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_limpet.png differ diff --git a/kubejs/data/ad_astra/loot_tables/entities/corrupted_lunarian.json b/kubejs/data/ad_astra/loot_tables/entities/corrupted_lunarian.json deleted file mode 100644 index 8f59e3ad4..000000000 --- a/kubejs/data/ad_astra/loot_tables/entities/corrupted_lunarian.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:rotten_flesh", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "max": 2, - "min": 1, - "type": "minecraft:uniform" - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "max": 6, - "min": 4, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/species/loot_tables/entities/birt.json b/kubejs/data/species/loot_tables/entities/birt.json deleted file mode 100644 index 7ceabfac1..000000000 --- a/kubejs/data/species/loot_tables/entities/birt.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "add": false, - "count": { - "type": "minecraft:uniform", - "max": 3.0, - "min": 1.0 - }, - "function": "minecraft:set_count" - } - ], - "name": "minecraft:bone" - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "species:birt_egg", - "conditions": [ - { - "condition": "minecraft:random_chance", - "chance": 0.5 - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/server_scripts/ad_astra/loot.js b/kubejs/server_scripts/ad_astra/loot.js new file mode 100644 index 000000000..97d16c778 --- /dev/null +++ b/kubejs/server_scripts/ad_astra/loot.js @@ -0,0 +1,16 @@ +// priority: 0 + +function registerAdAstraLoots(event) { + + event.addEntityLootModifier('ad_astra:corrupted_lunarian') + .addWeightedLoot([1, 2], ['minecraft:rotten_flesh']) + .addWeightedLoot([4, 6], ['minecraft:bone']) + + + event.addEntityLootModifier('ad_astra:star_crawler') + .addWeightedLoot([5, 8], ['tfg:food/raw_crawlermari']) + + event.addEntityLootModifier('ad_astra:star_crawler') + .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .addWeightedLoot([2, 4], ['tfc:food/raw_crawlermari']) +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 3a70cbed5..1cbb31edb 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -1,87 +1,185 @@ // priority: 0 const registerTFCDataForGTCEU = (event) => { - registerGTCEUHeats(event) + registerGTCEUHeats(event) + registerGTCEUMetals(event) } /** * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) + ingredient: Ingredient, + heatCapacity: number, + forgingTemperature: @Nullable number, + weldingTemperature: @Nullable number, + name?: string + ) */ const registerGTCEUHeats = (event) => { - event.itemHeat('gtceu:compressed_coke_clay', 0.1242, null, null) + function makeItemHeatByTagPrefix(tagPrefix, material, tfcProperty, heatCapacity) { + let item = ChemicalHelper.get(tagPrefix, material, 1) + if (!item.isEmpty()) event.itemHeat(item, heatCapacity, tfcProperty.getForgingTemp(), tfcProperty.getWeldingTemp()) + } + + function makeItemHeatByToolType(toolType, material, tfcProperty, heatCapacity) { + let tool = ToolHelper.get(toolType, material) + if (!tool.isEmpty()) event.itemHeat(tool, heatCapacity, tfcProperty.getForgingTemp(), tfcProperty.getWeldingTemp()) + } + + forEachMaterial(material => { + let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + + if (tfcProperty != null) { + makeItemHeatByTagPrefix(TagPrefix.dustTiny, material, tfcProperty, 0.357) + makeItemHeatByTagPrefix(TagPrefix.dustSmall, material, tfcProperty, 0.714) + makeItemHeatByTagPrefix(TagPrefix.dust, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.rod, material, tfcProperty, 0.567) + makeItemHeatByTagPrefix(TagPrefix.bolt, material, tfcProperty, 0.245) + makeItemHeatByTagPrefix(TagPrefix.screw, material, tfcProperty, 0.567) + makeItemHeatByTagPrefix(TagPrefix.nugget, material, tfcProperty, 0.124) + makeItemHeatByTagPrefix(TagPrefix.block, material, tfcProperty, 20) + makeItemHeatByTagPrefix(TagPrefix.rodLong, material, tfcProperty, 1.429) + + makeItemHeatByTagPrefix(TagPrefix.ingot, material, tfcProperty, 1.429) + + makeItemHeatByTagPrefix(TagPrefix.rawOre, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.richRawOre, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.poorRawOre, material, tfcProperty, 1.429) + + // Ore processing stages + makeItemHeatByTagPrefix(TagPrefix.dustImpure, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.dustPure, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.crushed, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.crushedPurified, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.crushedRefined, material, tfcProperty, 1.429) + + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSword, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadShovel, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadScythe, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadPickaxe, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSaw, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadKnife, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadHoe, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadHammer, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadAxe, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadFile, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadButcheryKnife, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadMiningHammer, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSpade, material, tfcProperty, 2.875) + + makeItemHeatByToolType(GTToolType.SWORD, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.PICKAXE, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.SHOVEL, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.AXE, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.HOE, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.SAW, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.HARD_HAMMER, material, tfcProperty, 2.875) + makeItemHeatByToolType(GTToolType.FILE, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.SCYTHE, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.KNIFE, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.BUTCHERY_KNIFE, material, tfcProperty, 2.875) + makeItemHeatByToolType(GTToolType.MINING_HAMMER, material, tfcProperty, 1.429) + makeItemHeatByToolType(GTToolType.SPADE, material, tfcProperty, 2.875) + } + }) + + event.itemHeat('gtceu:compressed_coke_clay', 0.1242, null, null) +} + + +const registerGTCEUMetals = (event) => { + event.metal('gtceu:copper', 1080, 0.00857, '#forge:ingots/copper', '#forge:double_ingots/copper', '#forge:plates/copper', 1, 'tfc:copper') + event.metal('gtceu:bismuth_bronze', 985, 0.00857, '#forge:ingots/bismuth_bronze', '#forge:double_ingots/bismuth_bronze', '#forge:plates/bismuth_bronze', 2, 'tfc:bismuth_bronze') + event.metal('gtceu:bronze', 950, 0.00857, '#forge:ingots/bronze', '#forge:double_ingots/bronze', '#forge:plates/bronze', 2, 'tfc:bronze') + event.metal('gtceu:black_bronze', 1070, 0.00857, '#forge:ingots/black_bronze', '#forge:double_ingots/black_bronze', '#forge:plates/black_bronze', 2, 'tfc:black_bronze') + event.metal('gtceu:wrought_iron', 1535, 0.00857, '#forge:ingots/wrought_iron', '#forge:double_ingots/wrought_iron', '#forge:plates/wrought_iron', 3, 'tfc:wrought_iron') + event.metal('gtceu:steel', 1540, 0.00857, '#forge:ingots/steel', '#forge:double_ingots/steel', '#forge:plates/steel', 4, 'tfc:steel') + event.metal('gtceu:black_steel', 1485, 0.00857, '#forge:ingots/black_steel', '#forge:double_ingots/black_steel', '#forge:plates/black_steel', 5, 'tfc:black_steel') + event.metal('gtceu:blue_steel', 1540, 0.00857, '#forge:ingots/blue_steel', '#forge:double_ingots/blue_steel', '#forge:plates/blue_steel', 6, 'tfc:blue_steel') + event.metal('gtceu:red_steel', 1540, 0.00857, '#forge:ingots/red_steel', '#forge:double_ingots/red_steel', '#forge:plates/red_steel', 6, 'tfc:red_steel') + + event.metal('gtceu:iron', 1535, 0.00857, '#forge:ingots/iron', '#forge:double_ingots/iron', '#forge:plates/iron', 3, 'tfc:cast_iron') + event.metal('gtceu:tin', 230, 0.02143, '#forge:ingots/tin', '#forge:double_ingots/tin', '#forge:plates/tin', 1, 'tfc:tin') + event.metal('gtceu:bismuth', 270, 0.02143, '#forge:ingots/bismuth', '#forge:double_ingots/bismuth', '#forge:plates/bismuth', 1, 'tfc:bismuth') + event.metal('gtceu:zinc', 420, 0.01429, '#forge:ingots/zinc', '#forge:double_ingots/zinc', '#forge:plates/zinc', 1, 'tfc:zinc') + event.metal('gtceu:sterling_silver', 950, 0.00857, '#forge:ingots/sterling_silver', '#forge:double_ingots/sterling_silver', '#forge:plates/sterling_silver', 1, 'tfc:sterling_silver') + event.metal('gtceu:rose_gold', 960, 0.00857, '#forge:ingots/rose_gold', '#forge:double_ingots/rose_gold', '#forge:plates/rose_gold', 1, 'tfc:rose_gold') + event.metal('gtceu:silver', 961, 0.00625, '#forge:ingots/silver', '#forge:double_ingots/silver', '#forge:plates/silver', 1, 'tfc:silver') + event.metal('gtceu:gold', 1060, 0.005, '#forge:ingots/gold', '#forge:double_ingots/gold', '#forge:plates/gold', 1, 'tfc:gold') + event.metal('gtceu:nickel', 1453, 0.00625, '#forge:ingots/nickel', '#forge:double_ingots/nickel', '#forge:plates/nickel', 1, 'tfc:nickel') + event.metal('gtceu:brass', 930, 0.00857, '#forge:ingots/brass', '#forge:double_ingots/brass', '#forge:plates/brass', 2, 'tfc:brass') + + event.metal('gtceu:redstone', 460, 0.01729, null, null, null, 1, 'tfg:redstone') + event.metal('gtceu:red_alloy', 740, 0.01529, '#forge:ingots/red_alloy', '#forge:double_ingots/red_alloy', '#forge:plates/red_alloy', 2, 'tfg:red_alloy') + event.metal('gtceu:tin_alloy', 1250, 0.00829, '#forge:ingots/tin_alloy', '#forge:double_ingots/tin_alloy', '#forge:plates/tin_alloy', 3, 'tfg:tin_alloy') } const registerGTCEUBedrockOreVeins = (event) => { - // Tin - event.add('tfg:moon_tin', vein => { - vein.weight(800) - .size(1) - .yield(1, 4) - .material(GTMaterials.Cassiterite, 5) - .material(GTMaterials.Tin, 2) - .dimensions('ad_astra:moon') - }) + // Tin, Magnesium + event.add('tfg:moon_tin', vein => { + vein.weight(75) + .size(2) + .yield(1, 4) + .material(GTMaterials.Cassiterite, 5) + .material(GTMaterials.Tin, 2) + .material(GTMaterials.Olivine, 1) + .dimensions('ad_astra:moon') + }) - // Iron and Gold - event.add('tfg:moon_magnetite', vein => { - vein.weight(10) - .size(1) - .yield(1) - .material(GTMaterials.Magnetite, 100) - .material(GTMaterials.Gold, 1) - .dimensions('ad_astra:moon') - }) + // Iron, Gold, Magnesium + event.add('tfg:moon_magnetite', vein => { + vein.weight(75) + .size(2) + .yield(1, 4) + .material(GTMaterials.Magnetite, 8) + .material(GTMaterials.Gold, 3) + .material(GTMaterials.Olivine, 1) + .dimensions('ad_astra:moon') + }) - // Copper and Arsenic - event.add('tfg:moon_copper', vein => { - vein.weight(800) - .size(1) - .yield(1, 4) - .material(GTMaterials.Chalcopyrite, 10) - .material(GTMaterials.Zeolite, 4) - .material(GTMaterials.Cassiterite, 3) - .material(GTMaterials.Realgar, 2) - .dimensions('ad_astra:moon') - }) - - // Certus Quartz - event.add('tfg:moon_certus', vein => { - vein.weight(10) - .size(1) - .yield(1, 2) - .material(GTMaterials.CertusQuartz, 6) - .material(GTMaterials.Barite, 2) - .material(GTMaterials.Quartzite, 7) - .dimensions('ad_astra:moon') - }) + // Copper, Arsenic, Tin + event.add('tfg:moon_copper', vein => { + vein.weight(100) + .size(2) + .yield(1, 4) + .material(GTMaterials.Chalcopyrite, 10) + .material(GTMaterials.Zeolite, 4) + .material(GTMaterials.Cassiterite, 3) + .material(GTMaterials.Realgar, 2) + .dimensions('ad_astra:moon') + }) - // Asbestos - event.add('tfg:moon_asbestos', vein => { - vein.weight(1000) - .size(1) - .yield(1, 10) - .material(GTMaterials.Asbestos, 3) - .dimensions('ad_astra:moon') - }) + // Certus Quartz, Barium + event.add('tfg:moon_certus', vein => { + vein.weight(20) + .size(1) + .yield(1, 2) + .material(GTMaterials.CertusQuartz, 6) + .material(GTMaterials.Barite, 2) + .material(GTMaterials.Quartzite, 7) + .dimensions('ad_astra:moon') + }) - // Mica - Talc Silicon Aluminium Potassium Fluorine Caesium - event.add('tfg:moon_mica', vein => { - vein.weight(500) - .size(1) - .yield(1, 3) - .material(GTMaterials.Mica, 55) - .material(GTMaterials.Kyanite, 25) - .material(GTMaterials.Pollucite, 15) - .dimensions('ad_astra:moon') - }) + // Asbestos, Tin, Calcium + event.add('tfg:moon_asbestos', vein => { + vein.weight(100) + .size(2) + .yield(1, 5) + .material(GTMaterials.Asbestos, 3) + .material(GTMaterials.CassiteriteSand, 4) + .material(GTMaterials.Diatomite, 1) + .dimensions('ad_astra:moon') + }) - // TODO: helium ore + // Mica - Talc Silicon Aluminium Potassium Fluorine Caesium + event.add('tfg:moon_mica', vein => { + vein.weight(50) + .size(1) + .yield(1, 3) + .material(GTMaterials.Mica, 5) + .material(GTMaterials.Kyanite, 2) + .material(GTMaterials.Pollucite, 1) + .dimensions('ad_astra:moon') + }) } \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 40d934bf5..fd73f09b0 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -139,14 +139,16 @@ TFCEvents.data(event => { registerTFCDataForAdAstra(event); registerTFCDataForArborFirmaCraft(event) registerTFCDataForChalk(event); + registerTFCDataForFirmalife(event) registerTFCDataForGTCEU(event) registerTFCDataForImmersiveAircraft(event); + registerTFCDataForMinecraft(event) registerTFCDataForSophisticatedBackpacks(event) registerTFCDataForTFC(event) registerTFCDataForTFCBetterBF(event) registerTFCDataForTFCLunchbox(event) + registerTFCDataForTFG(event) registerTFCDataForWaterFlasks(event) - registerTFCDataForFirmalife(event) }) /** @@ -154,9 +156,11 @@ TFCEvents.data(event => { * Срабатывает до инициализации рецептов, но после датапаков и тегов. */ LootJS.modifiers((event) => { + registerAdAstraLoots(event) registerGTCEULoots(event) registerLootrLoots(event) - registerPrimitiveCreatesLoots(event) + registerPrimitiveCreaturesLoots(event) + registerSpeciesLoots(event) registerTFCLoots(event) registerTFGLoots(event) }); diff --git a/kubejs/server_scripts/minecraft/data.js b/kubejs/server_scripts/minecraft/data.js new file mode 100644 index 000000000..13f416962 --- /dev/null +++ b/kubejs/server_scripts/minecraft/data.js @@ -0,0 +1,62 @@ +// priority: 0 + +function registerTFCDataForMinecraft(event) { + event.foodItem('minecraft:golden_apple', food => { + food.hunger(2) + food.fruit(2) + food.decayModifier(0.6) + }) + + // treasure + + event.foodItem('minecraft:enchanted_golden_apple', food => { + food.hunger(10) + food.saturation(10) + food.fruit(5) + food.water(20) + food.decayModifier(0) + }) + + event.foodItem('minecraft:golden_carrot', food => { + food.hunger(5) + food.saturation(5) + food.vegetables(3) + food.water(20) + food.decayModifier(0) + }) + + event.foodItem('minecraft:glow_berries', food => { + food.hunger(1) + food.fruit(0.5) + food.water(5) + food.decayModifier(2) + }) + + event.foodItem('minecraft:chorus_fruit', food => { + food.hunger(1.5) + food.fruit(2) + food.water(5) + }) + + event.foodItem('minecraft:popped_chorus_fruit', food => { + food.hunger(2) + food.saturation(1) + food.fruit(3) + food.decayModifier(0.5) + }) + + event.foodItem('minecraft:red_mushroom', food => { + food.hunger(1.5) + food.vegetables(1) + food.water(5) + food.decayModifier(2) + }) + + event.foodItem('minecraft:brown_mushroom', food => { + food.saturation(2) + food.hunger(2) + food.vegetables(1) + food.water(2) + food.decayModifier(2) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/primitive_creatures/loot.js b/kubejs/server_scripts/primitive_creatures/loot.js index 09e4a1220..8856417ac 100644 --- a/kubejs/server_scripts/primitive_creatures/loot.js +++ b/kubejs/server_scripts/primitive_creatures/loot.js @@ -1,6 +1,6 @@ // priority: 0 -function registerPrimitiveCreatesLoots(event) { +function registerPrimitiveCreaturesLoots(event) { event.addEntityLootModifier('kaolinclayze:tfc') .removeLoot(ItemFilter.ALWAYS_TRUE) diff --git a/kubejs/server_scripts/species/loot.js b/kubejs/server_scripts/species/loot.js new file mode 100644 index 000000000..a95ce3069 --- /dev/null +++ b/kubejs/server_scripts/species/loot.js @@ -0,0 +1,21 @@ +// priority: 0 + +function registerSpeciesLoots(event) { + + event.addEntityLootModifier('species:birt') + .addWeightedLoot([2, 4], ['tfg:food/raw_birt']) + .addWeightedLoot([1, 2], ['gtceu:blue_alloy_single_wire']) + + event.addEntityLootModifier('species:birt') + .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .addWeightedLoot([1, 3], ['tfc:food/raw_birt']) + + + event.addEntityLootModifier('species:limpet') + .addWeightedLoot([5, 8], ['tfg:food/raw_limpet']) + + event.addEntityLootModifier('species:limpet') + .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .addWeightedLoot([2, 4], ['tfc:food/raw_limpet']) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index cfd7963d6..518927acc 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -1,299 +1,89 @@ // priority: 0 const registerTFCDataForTFC = (event) => { - registerTFCMetals(event) - registerTFCHeats(event) - registerTFCFuels(event) - registerTFCLampFuels(event) - registerTFCFertilizers(event) - registerTFCKnappingTypes(event) - registerTFCItemSize(event) - registerTFCFoodData(event) - registerTFCSupportData(event) + registerTFCHeats(event) + registerTFCFuels(event) + registerTFCLampFuels(event) + registerTFCFertilizers(event) + registerTFCKnappingTypes(event) + registerTFCItemSize(event) + registerTFCFoodData(event) } -//#region registerTFCMetals -const registerTFCMetals = (event) => { - event.metal('gtceu:copper', 1080, 0.00857, '#forge:ingots/copper', '#forge:double_ingots/copper', '#forge:plates/copper', 1, 'tfc:copper') - event.metal('gtceu:bismuth_bronze', 985, 0.00857, '#forge:ingots/bismuth_bronze', '#forge:double_ingots/bismuth_bronze', '#forge:plates/bismuth_bronze', 2, 'tfc:bismuth_bronze') - event.metal('gtceu:bronze', 950, 0.00857, '#forge:ingots/bronze', '#forge:double_ingots/bronze', '#forge:plates/bronze', 2, 'tfc:bronze') - event.metal('gtceu:black_bronze', 1070, 0.00857, '#forge:ingots/black_bronze', '#forge:double_ingots/black_bronze', '#forge:plates/black_bronze', 2, 'tfc:black_bronze') - event.metal('gtceu:wrought_iron', 1535, 0.00857, '#forge:ingots/wrought_iron', '#forge:double_ingots/wrought_iron', '#forge:plates/wrought_iron', 3, 'tfc:wrought_iron') - event.metal('gtceu:steel', 1540, 0.00857, '#forge:ingots/steel', '#forge:double_ingots/steel', '#forge:plates/steel', 4, 'tfc:steel') - event.metal('gtceu:black_steel', 1485, 0.00857, '#forge:ingots/black_steel', '#forge:double_ingots/black_steel', '#forge:plates/black_steel', 5, 'tfc:black_steel') - event.metal('gtceu:blue_steel', 1540, 0.00857, '#forge:ingots/blue_steel', '#forge:double_ingots/blue_steel', '#forge:plates/blue_steel', 6, 'tfc:blue_steel') - event.metal('gtceu:red_steel', 1540, 0.00857, '#forge:ingots/red_steel', '#forge:double_ingots/red_steel', '#forge:plates/red_steel', 6, 'tfc:red_steel') - event.metal('gtceu:iron', 1535, 0.00857, '#forge:ingots/iron', '#forge:double_ingots/iron', '#forge:plates/iron', 3, 'tfc:cast_iron') - event.metal('gtceu:tin', 230, 0.02143, '#forge:ingots/tin', '#forge:double_ingots/tin', '#forge:plates/tin', 1, 'tfc:tin') - event.metal('gtceu:bismuth', 270, 0.02143, '#forge:ingots/bismuth', '#forge:double_ingots/bismuth', '#forge:plates/bismuth', 1, 'tfc:bismuth') - event.metal('gtceu:zinc', 420, 0.01429, '#forge:ingots/zinc', '#forge:double_ingots/zinc', '#forge:plates/zinc', 1, 'tfc:zinc') - event.metal('gtceu:sterling_silver', 950, 0.00857, '#forge:ingots/sterling_silver', '#forge:double_ingots/sterling_silver', '#forge:plates/sterling_silver', 1, 'tfc:sterling_silver') - event.metal('gtceu:rose_gold', 960, 0.00857, '#forge:ingots/rose_gold', '#forge:double_ingots/rose_gold', '#forge:plates/rose_gold', 1, 'tfc:rose_gold') - event.metal('gtceu:silver', 961, 0.00625, '#forge:ingots/silver', '#forge:double_ingots/silver', '#forge:plates/silver', 1, 'tfc:silver') - event.metal('gtceu:gold', 1060, 0.005, '#forge:ingots/gold', '#forge:double_ingots/gold', '#forge:plates/gold', 1, 'tfc:gold') - event.metal('gtceu:nickel', 1453, 0.00625, '#forge:ingots/nickel', '#forge:double_ingots/nickel', '#forge:plates/nickel', 1, 'tfc:nickel') - event.metal('gtceu:brass', 930, 0.00857, '#forge:ingots/brass', '#forge:double_ingots/brass', '#forge:plates/brass', 2, 'tfc:brass') - - event.metal('gtceu:redstone', 460, 0.01729, null, null, null, 1, 'tfg:redstone') - event.metal('gtceu:red_alloy', 740, 0.01529, '#forge:ingots/red_alloy', '#forge:double_ingots/red_alloy', '#forge:plates/red_alloy', 2, 'tfg:red_alloy') - event.metal('gtceu:tin_alloy', 1250, 0.00829, '#forge:ingots/tin_alloy', '#forge:double_ingots/tin_alloy', '#forge:plates/tin_alloy', 3, 'tfg:tin_alloy') -} -//#endregion - -//#region registerTFCHeats const registerTFCHeats = (event) => { - - function makeItemHeatByTagPrefix(tagPrefix, material, tfcProperty, heatCapacity) { - let item = ChemicalHelper.get(tagPrefix, material, 1) - if (!item.isEmpty()) event.itemHeat(item, heatCapacity, tfcProperty.getForgingTemp(), tfcProperty.getWeldingTemp()) - } - function makeItemHeatByToolType(toolType, material, tfcProperty, heatCapacity) { - let tool = ToolHelper.get(toolType, material) - if (!tool.isEmpty()) event.itemHeat(tool, heatCapacity, tfcProperty.getForgingTemp(), tfcProperty.getWeldingTemp()) - } + // Ведро из синей стали + event.itemHeat('tfc:metal/bucket/blue_steel', 1.429, 924, 1232) - forEachMaterial(material => { - let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) - - if (tfcProperty != null) { - makeItemHeatByTagPrefix(TagPrefix.dustTiny, material, tfcProperty, 0.357) - makeItemHeatByTagPrefix(TagPrefix.dustSmall, material, tfcProperty, 0.714) - makeItemHeatByTagPrefix(TagPrefix.dust, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TagPrefix.rod, material, tfcProperty, 0.567) - makeItemHeatByTagPrefix(TagPrefix.bolt, material, tfcProperty, 0.245) - makeItemHeatByTagPrefix(TagPrefix.screw, material, tfcProperty, 0.567) - makeItemHeatByTagPrefix(TagPrefix.nugget, material, tfcProperty, 0.124) - makeItemHeatByTagPrefix(TagPrefix.block, material, tfcProperty, 20) - makeItemHeatByTagPrefix(TagPrefix.rodLong, material, tfcProperty, 1.429) + // Ведро из красной + event.itemHeat('tfc:metal/bucket/red_steel', 1.429, 924, 1232) - makeItemHeatByTagPrefix(TagPrefix.ingot, material, tfcProperty, 1.429) - - makeItemHeatByTagPrefix(TagPrefix.rawOre, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.richRawOre, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.poorRawOre, material, tfcProperty, 1.429) - - // Ore processing stages - makeItemHeatByTagPrefix(TagPrefix.dustImpure, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TagPrefix.dustPure, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TagPrefix.crushed, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TagPrefix.crushedPurified, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TagPrefix.crushedRefined, material, tfcProperty, 1.429) - - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSword, material, tfcProperty, 2.875) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadShovel, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadScythe, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadPickaxe, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSaw, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadKnife, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadHoe, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadHammer, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadAxe, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadFile, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadButcheryKnife, material, tfcProperty, 2.875) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadMiningHammer, material, tfcProperty, 2.875) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSpade, material, tfcProperty, 2.875) - - makeItemHeatByToolType(GTToolType.SWORD, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.PICKAXE, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.SHOVEL, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.AXE, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.HOE, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.SAW, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.HARD_HAMMER, material, tfcProperty, 2.875) - makeItemHeatByToolType(GTToolType.FILE, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.SCYTHE, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.KNIFE, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.BUTCHERY_KNIFE, material, tfcProperty, 2.875) - makeItemHeatByToolType(GTToolType.MINING_HAMMER, material, tfcProperty, 1.429) - makeItemHeatByToolType(GTToolType.SPADE, material, tfcProperty, 2.875) - } - }) - - // Ведро из синей стали - event.itemHeat('tfc:metal/bucket/blue_steel', 1.429, 924, 1232) - - // Ведро из красной - event.itemHeat('tfc:metal/bucket/red_steel', 1.429, 924, 1232) - - // Seaweed and Kelp - event.itemHeat('tfc:groundcover/seaweed', 1.0, null, null) - event.itemHeat('tfc:plant/leafy_kelp', 1.0, null, null) - event.itemHeat('tfc:plant/winged_kelp', 1.0, null, null) - - // Misc - event.itemHeat('tfg:latex_soaked_gloves', 1.0, null, null) - - global.MINECRAFT_DYE_NAMES.forEach (color => { - event.itemHeat(`tfg:decorative_vase/unfired/${color}`, 1.0, null, null) - }) - event.itemHeat('tfg:decorative_vase/unfired', 1.0, null, null) + // Seaweed and Kelp + event.itemHeat('tfc:groundcover/seaweed', 1.0, null, null) + event.itemHeat('tfc:plant/leafy_kelp', 1.0, null, null) + event.itemHeat('tfc:plant/winged_kelp', 1.0, null, null) } -//#endregion -//#region registerTFCFuels + const registerTFCFuels = (event) => { - event.fuel('gtceu:coke_gem', 1415, 4400, 1.0) - event.fuel('gtceu:coke_dust', 1415, 1200, 0.95) - - event.fuel('beneath:cursecoal', 1540, 2200, 1.0) + event.fuel('gtceu:coke_gem', 1415, 4400, 1.0) + event.fuel('gtceu:coke_dust', 1415, 1200, 0.95) - event.fuel('minecraft:coal', 1415, 2200, 1.0) - event.fuel('gtceu:rich_raw_coal', 1415, 2200, 0.95) - event.fuel('gtceu:raw_coal', 1415, 1900, 0.95) - event.fuel('gtceu:poor_raw_coal', 1415, 1600, 0.95) - event.fuel('gtceu:coal_dust', 1415, 600, 0.95) + event.fuel('beneath:cursecoal', 1540, 2200, 1.0) + + event.fuel('minecraft:coal', 1415, 2200, 1.0) + event.fuel('gtceu:rich_raw_coal', 1415, 2200, 0.95) + event.fuel('gtceu:raw_coal', 1415, 1900, 0.95) + event.fuel('gtceu:poor_raw_coal', 1415, 1600, 0.95) + event.fuel('gtceu:coal_dust', 1415, 600, 0.95) } -//#endregion -//#region registerTFCLampFuels + const registerTFCLampFuels = (event) => { - event.lampFuel('gtceu:creosote', '#tfc:lamps', 1000) - event.lampFuel("gtceu:glowstone", "#tfc:lamps", -1) + event.lampFuel('gtceu:creosote', '#tfc:lamps', 1000) + event.lampFuel("gtceu:glowstone", "#tfc:lamps", -1) } -//#endregion -//#region registerTFCFertilizers + const registerTFCFertilizers = (event) => { - event.fertilizer('gtceu:fertilizer', 0.15, 0.15, 0.15) + event.fertilizer('gtceu:fertilizer', 0.15, 0.15, 0.15) - event.fertilizer('gtceu:tiny_potassium_dust', null, null, 0.016) - event.fertilizer('gtceu:small_potassium_dust', null, null, 0.037) - event.fertilizer('gtceu:potassium_dust', null, null, 0.15) + event.fertilizer('gtceu:tiny_potassium_dust', null, null, 0.016) + event.fertilizer('gtceu:small_potassium_dust', null, null, 0.037) + event.fertilizer('gtceu:potassium_dust', null, null, 0.15) - event.fertilizer('gtceu:tiny_phosphorus_dust', null, 0.016, null) - event.fertilizer('gtceu:small_phosphorus_dust', null, 0.037, null) - event.fertilizer('gtceu:phosphorus_dust', null, 0.15, null) + event.fertilizer('gtceu:tiny_phosphorus_dust', null, 0.016, null) + event.fertilizer('gtceu:small_phosphorus_dust', null, 0.037, null) + event.fertilizer('gtceu:phosphorus_dust', null, 0.15, null) - event.fertilizer('gtceu:tiny_saltpeter_dust', 0.01, null, 0.038) - event.fertilizer('gtceu:small_saltpeter_dust', 0.025, null, 0.0875) - event.fertilizer('gtceu:saltpeter_dust', 0.10, null, 0.35) + event.fertilizer('gtceu:tiny_saltpeter_dust', 0.01, null, 0.038) + event.fertilizer('gtceu:small_saltpeter_dust', 0.025, null, 0.0875) + event.fertilizer('gtceu:saltpeter_dust', 0.10, null, 0.35) - event.fertilizer('gtceu:tiny_bone_dust', null, 0.01, null) - event.fertilizer('gtceu:small_bone_dust', null, 0.025, null) + event.fertilizer('gtceu:tiny_bone_dust', null, 0.01, null) + event.fertilizer('gtceu:small_bone_dust', null, 0.025, null) } -//#endregion -//#region registerTFCKnappingTypes + const registerTFCKnappingTypes = (event) => { - event.knappingType('minecraft:flint', 1, 1, 'tfc:item.knapping.stone', true, false, true, 'minecraft:flint', 'tfg:flint') - // event.knappingType('gtceu:rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:rubber_plate', 'tfg:rubber') - // event.knappingType('gtceu:styrene_butadiene_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:styrene_butadiene_rubber_plate', 'tfg:styrene_butadiene_rubber_plate') - // event.knappingType('gtceu:silicone_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:silicone_rubber_plate', 'tfg:silicone_rubber_plate') + event.knappingType('minecraft:flint', 1, 1, 'tfc:item.knapping.stone', true, false, true, 'minecraft:flint', 'tfg:flint') } -//#endregion -//#region registerTFCItemSize + const registerTFCItemSize = (event) => { + event.itemSize('#tfc:ore_pieces', 'very_small', 'very_light', 'tfc_ores') - global.MINECRAFT_DYE_NAMES.forEach (color => { - event.itemSize(`tfg:decorative_vase/${color}`, 'normal', 'medium', `decorative_vase/${color}`) - event.itemSize(`tfg:decorative_vase/unfired/${color}`, 'normal', 'medium', `decorative_vase/unfired/${color}`) - }) - event.itemSize('tfg:decorative_vase', 'normal', 'medium', 'decorative_vase') - event.itemSize('tfg:decorative_vase/unfired', 'normal', 'medium', 'decorative_vase/unfired') - - event.itemSize('tfg:fishing_net/wood', 'large', 'medium', 'wood_fishing_net') - event.itemSize('tfg:fishing_net/brass', 'large', 'medium', 'brass_fishing_net') - event.itemSize('tfg:fishing_net/rose_gold', 'large', 'medium', 'rose_gold_fishing_net') - event.itemSize('tfg:fishing_net/sterling_silver', 'large', 'medium', 'sterling_silver_fishing_net') - event.itemSize('tfg:fishing_net/invar', 'large', 'medium', 'invar_fishing_net') - event.itemSize('tfg:fishing_net/cupronickel', 'large', 'medium', 'cupronickel_fishing_net') - event.itemSize('tfg:fishing_net/tin_alloy', 'large', 'medium', 'tin_alloy_fishing_net') - event.itemSize('tfg:fishing_net/magnalium', 'large', 'medium', 'magnalium_fishing_net') - - event.itemSize('#tfc:ore_pieces', 'very_small', 'very_light', 'tfc_ores') - - event.itemSize('#tfc:foods/sealed_preserves', 'tiny', 'medium', 'sealed_preserves') - event.itemSize('#tfc:foods/preserves', 'tiny', 'medium', 'preserves') - + event.itemSize('#tfc:foods/sealed_preserves', 'tiny', 'medium', 'sealed_preserves') + event.itemSize('#tfc:foods/preserves', 'tiny', 'medium', 'preserves') } -//#endregion -//#region registerTFCFoodData + const registerTFCFoodData = (event) => { - event.foodItem('minecraft:golden_apple', food => { - food.hunger(2) - food.fruit(2) - food.decayModifier(0.6) - }) - - // treasure - - event.foodItem('minecraft:enchanted_golden_apple', food => { - food.hunger(10) - food.saturation(10) - food.fruit(5) - food.water(20) - food.decayModifier(0) - }) - - event.foodItem('minecraft:golden_carrot', food => { - food.hunger(5) - food.saturation(5) - food.vegetables(3) - food.water(20) - food.decayModifier(0) - }) - - event.foodItem('minecraft:glow_berries', food => { - food.hunger(1) - food.fruit(0.5) - food.water(5) - food.decayModifier(2) - }) - - event.foodItem('minecraft:chorus_fruit', food => { - food.hunger(1.5) - food.fruit(2) - food.water(5) - }) - - event.foodItem('minecraft:popped_chorus_fruit', food => { - food.hunger(2) - food.fruit(3) - food.decayModifier(0.5) - }) - - event.foodItem('minecraft:red_mushroom', food => { - food.hunger(1.5) - food.vegetables(1) - food.water(5) - food.decayModifier(2) - }) - - event.foodItem('minecraft:brown_mushroom', food => { - food.saturation(2) - food.hunger(2) - food.vegetables(1) - food.water(2) - food.decayModifier(2) - }) - - event.foodItem('gtceu:chocolate_coin', food => { - food.hunger(1) - food.dairy(0.5) - }) + + event.foodItem('gtceu:chocolate_coin', food => { + food.hunger(1) + food.dairy(0.5) + }) } -//#endregion -//#region registerTFCSupportData -//up, down, horizontal -const registerTFCSupportData = (event) => { - event.support('tfg:light_concrete_support_horizontal', 4, 4, 8, 'light_concrete_support') - event.support('tfg:dark_concrete_support_horizontal', 4, 4, 8, 'dark_concrete_support') - event.support('tfg:reinforced_light_concrete_support_horizontal', 6, 6, 16, 'reinforced_light_concrete_support') - event.support('tfg:reinforced_dark_concrete_support_horizontal', 6, 6, 16, 'reinforced_dark_concrete_support') - event.support('tfg:rebar_support_horizontal', 4, 4, 8, 'rebar_support') - event.support('tfg:steel_support_horizontal', 6, 6, 16, 'steel_support') - - const other_stone = ['pyroxenite', 'migmatite', 'travertine'] - const stone_types = global.TFC_STONE_TYPES.concat(other_stone) - - stone_types.forEach(stone => { - - event.support(`tfg:${stone}_support_horizontal`, 2, 2, 4, `${stone}_support`) - }) -} -//#endregion diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js new file mode 100644 index 000000000..6a42f8f1e --- /dev/null +++ b/kubejs/server_scripts/tfg/data.js @@ -0,0 +1,105 @@ +// priority: 0 + +function registerTFCDataForTFG(event) { + registerTFGHeatData(event); + registerTFGItemSize(event); + registerTFGSupportData(event); + registerTFGFoodData(event); +} + + +const registerTFGHeatData = (event) => { + event.itemHeat('tfg:latex_soaked_gloves', 1.0, null, null) + + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.itemHeat(`tfg:decorative_vase/unfired/${color}`, 1.0, null, null) + }) + event.itemHeat('tfg:decorative_vase/unfired', 1.0, null, null) +} + + +const registerTFGItemSize = (event) => { + + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.itemSize(`tfg:decorative_vase/${color}`, 'normal', 'medium', `decorative_vase/${color}`) + event.itemSize(`tfg:decorative_vase/unfired/${color}`, 'normal', 'medium', `decorative_vase/unfired/${color}`) + }) + event.itemSize('tfg:decorative_vase', 'normal', 'medium', 'decorative_vase') + event.itemSize('tfg:decorative_vase/unfired', 'normal', 'medium', 'decorative_vase/unfired') + + event.itemSize('tfg:fishing_net/wood', 'large', 'medium', 'wood_fishing_net') + event.itemSize('tfg:fishing_net/brass', 'large', 'medium', 'brass_fishing_net') + event.itemSize('tfg:fishing_net/rose_gold', 'large', 'medium', 'rose_gold_fishing_net') + event.itemSize('tfg:fishing_net/sterling_silver', 'large', 'medium', 'sterling_silver_fishing_net') + event.itemSize('tfg:fishing_net/invar', 'large', 'medium', 'invar_fishing_net') + event.itemSize('tfg:fishing_net/cupronickel', 'large', 'medium', 'cupronickel_fishing_net') + event.itemSize('tfg:fishing_net/tin_alloy', 'large', 'medium', 'tin_alloy_fishing_net') + event.itemSize('tfg:fishing_net/magnalium', 'large', 'medium', 'magnalium_fishing_net') + +} + + +//up, down, horizontal +const registerTFGSupportData = (event) => { + event.support('tfg:light_concrete_support_horizontal', 4, 4, 8, 'light_concrete_support') + event.support('tfg:dark_concrete_support_horizontal', 4, 4, 8, 'dark_concrete_support') + event.support('tfg:reinforced_light_concrete_support_horizontal', 6, 6, 16, 'reinforced_light_concrete_support') + event.support('tfg:reinforced_dark_concrete_support_horizontal', 6, 6, 16, 'reinforced_dark_concrete_support') + event.support('tfg:rebar_support_horizontal', 4, 4, 8, 'rebar_support') + event.support('tfg:steel_support_horizontal', 6, 6, 16, 'steel_support') + + const other_stone = ['pyroxenite', 'migmatite', 'travertine'] + const stone_types = global.TFC_STONE_TYPES.concat(other_stone) + + stone_types.forEach(stone => { + + event.support(`tfg:${stone}_support_horizontal`, 2, 2, 4, `${stone}_support`) + }) +} + + +const registerTFGFoodData = (event) => { + + // birt has the same stats as chicken + + event.foodItem('tfg:food/raw_birt', food => { + food.hunger(4) + food.protein(1.5) + food.decayModifier(3) + }) + + event.foodItem('tfg:food/cooked_birt', food => { + food.hunger(4) + food.saturation(2) + food.protein(2.5) + food.decayModifier(2.25) + }) + + event.foodItem('tfg:food/raw_crawlermari', food => { + food.hunger(4) + food.water(5) + food.protein(1.1) + food.decayModifier(3) + }) + + event.foodItem('tfg:food/cooked_crawlermari', food => { + food.hunger(4) + food.saturation(2) + food.protein(2.2) + food.decayModifier(2.25) + }) + + event.foodItem('tfg:food/raw_limpet', food => { + food.hunger(4) + food.water(5) + food.protein(1.2) + food.decayModifier(3) + }) + + event.foodItem('tfg:food/cooked_limpet', food => { + food.hunger(5) + food.saturation(2) + food.protein(2.4) + food.decayModifier(2.25) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 13557840a..a8952a223 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -648,6 +648,19 @@ function registerTFGFoodRecipes(event) { //#endregion + //#region Heating recipes for new foods + + event.recipes.tfc.heating('tfg:food/raw_birt', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_birt').copyFood()) + + event.recipes.tfc.heating('tfg:food/raw_crawlermari', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_crawlermari').copyFood()) + + event.recipes.tfc.heating('tfg:food/raw_limpet', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_limpet').copyFood()) + + //#endregion + event.replaceInput({id: 'gtceu:shaped/lv_food_processor'}, 'gtceu:lv_electric_piston', 'gtceu:steel_whisk') event.replaceInput({id: 'gtceu:shaped/mv_food_processor'}, 'gtceu:mv_electric_piston', 'gtceu:aluminium_whisk') event.replaceInput({id: 'gtceu:shaped/hv_food_processor'}, 'gtceu:hv_electric_piston', 'gtceu:stainless_steel_whisk') diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 0331d0a24..a65ac51dd 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -38,7 +38,6 @@ const registerTFGItemTags = (event) => { event.add('tfc:usable_on_tool_rack', 'tfg:trowel') // #region Paper from wood - event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip') //Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok. @@ -68,7 +67,6 @@ const registerTFGItemTags = (event) => { //#endregion // #region Medicines - event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily') event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia') event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite') @@ -131,27 +129,42 @@ const registerTFGItemTags = (event) => { event.add('tfg:luck_ingredients', 'tfc:plant/heather') // #endregion - //region Airplane Upgrades + // Airplane Upgrades global.AIRCRAFT_UPGRADES.forEach(value => { event.add('immersive_aircraft:upgrades', `tfg:${value}`); }) - // #endregion - // Universal Circuits - global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => { event.add(`gtceu:circuits/${tier}`, `tfg:${tier}_universal_circuit`); }) - // #endregion - // Use either cast or wrought iron event.add('forge:double_iron_ingots', '#forge:double_ingots/iron') event.add('forge:double_iron_ingots', '#forge:double_ingots/wrought_iron') - // #endregion + // Food + const RAW_MEATS = [ + 'tfg:food/raw_birt', + 'tfg:food/raw_crawlermari', + 'tfg:food/raw_limpet' + ] + RAW_MEATS.forEach(meat => { + event.add('tfc:foods', meat) + event.add('tfc:foods/meats', meat) + event.add('tfc:foods/raw_meats', meat) + }) + + const COOKED_MEATS = [ + 'tfg:food/cooked_birt', + 'tfg:food/cooked_crawlermari', + 'tfg:food/cooked_limpet' + ] + COOKED_MEATS.forEach(meat => { + event.add('tfc:foods', meat) + event.add('tfc:foods/meats', meat) + event.add('tfc:foods/cooked_meats', meat) + }) // #region 0.7.19 -> 0.9 conversion - event.add('c:hidden_from_recipe_viewers', 'treetap:tap') event.add('c:hidden_from_recipe_viewers', 'tfcea:refrigerator') @@ -248,7 +261,6 @@ const registerTFGItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'gtceu:rich_raw_silver') event.add('c:hidden_from_recipe_viewers', 'gtceu:raw_silver') event.add('c:hidden_from_recipe_viewers', 'gtceu:poor_raw_silver') - //#endregion } diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index fae312de4..57b4dd029 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -886,6 +886,11 @@ global.TFC_MEAT_RECIPE_COMPONENTS = [ { input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' }, { input: 'tfc:food/chevon', output: 'tfc:food/cooked_chevon', name: 'cooked_chevon' }, { input: '#forge:eggs', output: 'tfc:food/cooked_egg', name: 'cooked_egg' }, + + { input: 'minecraft:chorus_fruit', output: 'minecraft:popped_chorus_fruit', name: 'popped_chorus_fruit' }, + { input: 'tfg:food/raw_birt', output: 'tfg:food/cooked_birt', name: 'cooked_birt' }, + { input: 'tfg:food/raw_crawlermari', output: 'tfg:food/cooked_crawlermari', name: 'cooked_crawlermari' }, + { input: 'tfg:food/raw_limpet', output: 'tfg:food/cooked_limpet', name: 'cooked_limpet' } ]; global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = [ diff --git a/kubejs/startup_scripts/tfg/items.deprecated.js b/kubejs/startup_scripts/tfg/items.deprecated.js new file mode 100644 index 000000000..10c0295b0 --- /dev/null +++ b/kubejs/startup_scripts/tfg/items.deprecated.js @@ -0,0 +1,100 @@ +// priority: 0 + +function registerTFGDeprecatedItems(event) { + + // #region 0.7.19 -> 0.9 compat + + event.create('gtceu:zinc_ingot').texture('tfg:item/deprecated') + event.create('gtceu:brass_ingot').texture('tfg:item/deprecated') + event.create('gtceu:vanadium_ingot').texture('tfg:item/deprecated') + event.create('gtceu:black_steel_ingot').texture('tfg:item/deprecated') + event.create('gtceu:red_steel_ingot').texture('tfg:item/deprecated') + event.create('gtceu:blue_steel_ingot').texture('tfg:item/deprecated') + event.create('gtceu:iron_double_ingot').texture('tfg:item/deprecated') + + event.create('gtceu:black_steel_double_ingot').texture('tfg:item/deprecated') + event.create('gtceu:red_steel_double_ingot').texture('tfg:item/deprecated') + event.create('gtceu:blue_steel_double_ingot').texture('tfg:item/deprecated') + + event.create('gtceu:zinc_nugget').texture('tfg:item/deprecated') + event.create('gtceu:brass_nugget').texture('tfg:item/deprecated') + event.create('gtceu:copper_nugget').texture('tfg:item/deprecated') + event.create('gtceu:vanadium_nugget').texture('tfg:item/deprecated') + + event.create('gtceu:copper_plate').texture('tfg:item/deprecated') + event.create('gtceu:brass_plate').texture('tfg:item/deprecated') + event.create('gtceu:gold_plate').texture('tfg:item/deprecated') + event.create('gtceu:iron_plate').texture('tfg:item/deprecated') + event.create('gtceu:cobalt_plate').texture('tfg:item/deprecated') + event.create('gtceu:rose_gold_plate').texture('tfg:item/deprecated') + event.create('gtceu:aluminium_plate').texture('tfg:item/deprecated') + event.create('gtceu:invar_plate').texture('tfg:item/deprecated') + event.create('gtceu:lead_plate').texture('tfg:item/deprecated') + event.create('gtceu:nickel_plate').texture('tfg:item/deprecated') + event.create('gtceu:osmium_plate').texture('tfg:item/deprecated') + event.create('gtceu:palladium_plate').texture('tfg:item/deprecated') + event.create('gtceu:platinum_plate').texture('tfg:item/deprecated') + event.create('gtceu:rhodium_plate').texture('tfg:item/deprecated') + event.create('gtceu:silver_plate').texture('tfg:item/deprecated') + event.create('gtceu:vanadium_plate').texture('tfg:item/deprecated') + event.create('gtceu:zinc_plate').texture('tfg:item/deprecated') + + event.create('gtceu:vanadium_block').texture('tfg:item/deprecated') + event.create('gtceu:zinc_block').texture('tfg:item/deprecated') + event.create('gtceu:brass_block').texture('tfg:item/deprecated') + + event.create('gtceu:gold_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:copper_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:zinc_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:silver_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:tin_purified_ore').texture('tfg:item/deprecated') + event.create('gtceu:lead_purified_ore').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_copper').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_copper').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_gold').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_gold').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_tetrahedrite').texture('tfg:item/deprecated') + event.create('gtceu:raw_tetrahedrite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_tetrahedrite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_malachite').texture('tfg:item/deprecated') + event.create('gtceu:raw_malachite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_malachite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_hematite').texture('tfg:item/deprecated') + event.create('gtceu:raw_hematite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_hematite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_cassiterite').texture('tfg:item/deprecated') + event.create('gtceu:raw_cassiterite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_cassiterite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_bismuth').texture('tfg:item/deprecated') + event.create('gtceu:raw_bismuth').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_bismuth').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_magnetite').texture('tfg:item/deprecated') + event.create('gtceu:raw_magnetite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_magnetite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_yellow_limonite').texture('tfg:item/deprecated') + event.create('gtceu:raw_yellow_limonite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_yellow_limonite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_garnierite').texture('tfg:item/deprecated') + event.create('gtceu:raw_garnierite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_garnierite').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_silver').texture('tfg:item/deprecated') + event.create('gtceu:raw_silver').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_silver').texture('tfg:item/deprecated') + + event.create('gtceu:rich_raw_sphalerite').texture('tfg:item/deprecated') + event.create('gtceu:raw_sphalerite').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_sphalerite').texture('tfg:item/deprecated') + + // #endregion +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js new file mode 100644 index 000000000..d573c1982 --- /dev/null +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -0,0 +1,32 @@ +// priority: 0 + +function registerTFGFoodItems(event) { + + event.create('tfg:food/raw_birt') + .translationKey('item.tfg.food.raw_birt') + .food(food => food.hunger(2).saturation(2) + .effect('species:birtd', 50, 0, 1) + .eaten(ctx => { + ctx.player.level.runCommandSilent(`playsound species:effect.birtd.applied player ${ctx.player.username} ${ctx.player.x} ${ctx.player.y} ${ctx.player.z} 1 1`) + })) + + event.create('tfg:food/cooked_birt') + .translationKey('item.tfg.food.cooked_birt') + .food(food => food.hunger(6).saturation(6)) + + event.create('tfg:food/raw_limpet') + .translationKey('item.tfg.food.raw_limpet') + .food(food => food.hunger(2).saturation(2)) + + event.create('tfg:food/cooked_limpet') + .translationKey('item.tfg.food.cooked_limpet') + .food(food => food.hunger(6).saturation(6)) + + event.create('tfg:food/raw_crawlermari') + .translationKey('item.tfg.food.raw_crawlermari') + .food(food => food.hunger(2).saturation(2)) + + event.create('tfg:food/cooked_crawlermari') + .translationKey('item.tfg.food.cooked_crawlermari') + .food(food => food.hunger(6).saturation(6)) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 317cb4d9c..0081e7bca 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -2,6 +2,9 @@ const registerTFGItems = (event) => { + registerTFGDeprecatedItems(event) + registerTFGFoodItems(event) + // #region Electronics event.create('tfg:unfinished_electron_tube', 'create:sequenced_assembly') @@ -281,100 +284,4 @@ const registerTFGItems = (event) => { event.create('tfg:titanium_hull_reinforcement') .translationKey('item.tfg.titanium_hull_reinforcement') //#endregion - - // #region 0.7.19 -> 0.9 compat - - event.create('gtceu:zinc_ingot').texture('tfg:item/deprecated') - event.create('gtceu:brass_ingot').texture('tfg:item/deprecated') - event.create('gtceu:vanadium_ingot').texture('tfg:item/deprecated') - event.create('gtceu:black_steel_ingot').texture('tfg:item/deprecated') - event.create('gtceu:red_steel_ingot').texture('tfg:item/deprecated') - event.create('gtceu:blue_steel_ingot').texture('tfg:item/deprecated') - event.create('gtceu:iron_double_ingot').texture('tfg:item/deprecated') - - event.create('gtceu:black_steel_double_ingot').texture('tfg:item/deprecated') - event.create('gtceu:red_steel_double_ingot').texture('tfg:item/deprecated') - event.create('gtceu:blue_steel_double_ingot').texture('tfg:item/deprecated') - - event.create('gtceu:zinc_nugget').texture('tfg:item/deprecated') - event.create('gtceu:brass_nugget').texture('tfg:item/deprecated') - event.create('gtceu:copper_nugget').texture('tfg:item/deprecated') - event.create('gtceu:vanadium_nugget').texture('tfg:item/deprecated') - - event.create('gtceu:copper_plate').texture('tfg:item/deprecated') - event.create('gtceu:brass_plate').texture('tfg:item/deprecated') - event.create('gtceu:gold_plate').texture('tfg:item/deprecated') - event.create('gtceu:iron_plate').texture('tfg:item/deprecated') - event.create('gtceu:cobalt_plate').texture('tfg:item/deprecated') - event.create('gtceu:rose_gold_plate').texture('tfg:item/deprecated') - event.create('gtceu:aluminium_plate').texture('tfg:item/deprecated') - event.create('gtceu:invar_plate').texture('tfg:item/deprecated') - event.create('gtceu:lead_plate').texture('tfg:item/deprecated') - event.create('gtceu:nickel_plate').texture('tfg:item/deprecated') - event.create('gtceu:osmium_plate').texture('tfg:item/deprecated') - event.create('gtceu:palladium_plate').texture('tfg:item/deprecated') - event.create('gtceu:platinum_plate').texture('tfg:item/deprecated') - event.create('gtceu:rhodium_plate').texture('tfg:item/deprecated') - event.create('gtceu:silver_plate').texture('tfg:item/deprecated') - event.create('gtceu:vanadium_plate').texture('tfg:item/deprecated') - event.create('gtceu:zinc_plate').texture('tfg:item/deprecated') - - event.create('gtceu:vanadium_block').texture('tfg:item/deprecated') - event.create('gtceu:zinc_block').texture('tfg:item/deprecated') - event.create('gtceu:brass_block').texture('tfg:item/deprecated') - - event.create('gtceu:gold_purified_ore').texture('tfg:item/deprecated') - event.create('gtceu:copper_purified_ore').texture('tfg:item/deprecated') - event.create('gtceu:zinc_purified_ore').texture('tfg:item/deprecated') - event.create('gtceu:silver_purified_ore').texture('tfg:item/deprecated') - event.create('gtceu:tin_purified_ore').texture('tfg:item/deprecated') - event.create('gtceu:lead_purified_ore').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_copper').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_copper').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_gold').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_gold').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_tetrahedrite').texture('tfg:item/deprecated') - event.create('gtceu:raw_tetrahedrite').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_tetrahedrite').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_malachite').texture('tfg:item/deprecated') - event.create('gtceu:raw_malachite').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_malachite').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_hematite').texture('tfg:item/deprecated') - event.create('gtceu:raw_hematite').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_hematite').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_cassiterite').texture('tfg:item/deprecated') - event.create('gtceu:raw_cassiterite').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_cassiterite').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_bismuth').texture('tfg:item/deprecated') - event.create('gtceu:raw_bismuth').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_bismuth').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_magnetite').texture('tfg:item/deprecated') - event.create('gtceu:raw_magnetite').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_magnetite').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_yellow_limonite').texture('tfg:item/deprecated') - event.create('gtceu:raw_yellow_limonite').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_yellow_limonite').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_garnierite').texture('tfg:item/deprecated') - event.create('gtceu:raw_garnierite').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_garnierite').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_silver').texture('tfg:item/deprecated') - event.create('gtceu:raw_silver').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_silver').texture('tfg:item/deprecated') - - event.create('gtceu:rich_raw_sphalerite').texture('tfg:item/deprecated') - event.create('gtceu:raw_sphalerite').texture('tfg:item/deprecated') - event.create('gtceu:poor_raw_sphalerite').texture('tfg:item/deprecated') - - // #endregion } \ No newline at end of file