From 91f960d6b07df989c6d9f08d4ea1da3f2da7d9b4 Mon Sep 17 00:00:00 2001 From: ZHAY10086 Date: Wed, 14 May 2025 12:24:29 +0800 Subject: [PATCH] 0.18.0-hotfix4 update --- config/InvTweaks.cfg | 2 +- config/ProjectE/mapping.cfg | 4 +- config/astralsorcery/amulet_enchantments.cfg | 2 +- .../DefaultQuests/Quests/0/1197.json | 1 + .../DefaultQuests/Quests/0/1283790114.json | 1 + .../DefaultQuests/Quests/0/1724085619.json | 54 + .../DefaultQuests/Quests/0/2044693951.json | 1 + .../DefaultQuests/Quests/0/814979819.json | 18 + .../DefaultQuests/Quests/0/946686645.json | 1 + config/brandon3055/CustomFusionRecipes.json | 51 + config/brokenwings.cfg | 14 - config/buildcraft/detailed.properties | 2 +- .../recipes/directed_quasar_recipe.json | 1021 +++++++++++++++++ config/ichunutil.cfg | 2 +- config/jei/worldSettings.cfg | 18 +- .../machinery/abyssal_entropic_catalyzer.json | 742 ++++++++++++ .../machinery/definer_two.json | 39 + .../machinery/dyson_compressor.json | 30 + .../machinery/hypergrowth_insolator.json | 42 + .../machinery/mythic_processor_melter.json | 4 +- config/omniwand.cfg | 90 +- .../soulshardsrespawn/soulshardsrespawn.cfg | 7 +- config/splash.properties | 2 +- config/tombstone.cfg | 113 +- oresources/contenttweaker/lang/en_us.lang | 11 + oresources/contenttweaker/lang/zh_cn.lang | 17 +- oresources/modularmachinery/lang/zh_cn.lang | 3 +- resources/actuallyadditions/lang/zh_CN.lang | 2 + resources/aether_legacy/lang/zh_cn.lang | 4 + resources/aoa3/lang/zh_cn.lang | 10 + resources/binniecore/lang/zh_CN.lang | 2 + resources/careerbees/lang/zh_cn.lang | 1 + .../cosmic_hypergrowth_component.json | 16 + .../directed_miniature_quasar.json | 16 + .../blockstates/freedom_definer.json | 16 + .../blockstates/hypergrowth_actualizer.json | 16 + .../blockstates/inquiring_abyssite.json | 12 + .../blockstates/quasar_burst_director.json | 16 + .../quasar_charged_core_of_definition.json | 16 + .../stone_of_the_resurrected_shard.json | 16 + .../trinity_hypergrowth_component.json | 16 + .../blockstates/wishful_definer.json | 16 + resources/contenttweaker/lang/en_us.lang | 13 +- .../models/item/thaumic_brush.json | 6 + .../models/item/warren_peat.json | 6 + .../blocks/cosmic_hypergrowth_component.png | Bin 0 -> 5204 bytes .../blocks/directed_miniature_quasar.png | Bin 0 -> 4385 bytes .../textures/blocks/freedom_definer.png | Bin 0 -> 5092 bytes .../blocks/hypergrowth_actualizer.png | Bin 0 -> 5229 bytes .../textures/blocks/quasar_burst_director.png | Bin 0 -> 5204 bytes .../quasar_charged_core_of_definition.png | Bin 0 -> 5093 bytes .../blocks/trinity_hypergrowth_component.png | Bin 0 -> 5220 bytes .../textures/blocks/wishful_definer.png | Bin 0 -> 5093 bytes .../textures/items/thaumic_brush.png | Bin 0 -> 6093 bytes .../textures/items/warren_peat.png | Bin 0 -> 4390 bytes resources/draconicevolution/lang/zh_CN.lang | 3 + resources/enderutilities/lang/zh_cn.lang | 6 + resources/extrautils2/lang/zh_CN.lang | 1 + resources/fluiddrawers/lang/zh_CN.lang | 3 + resources/forestry/lang/zh_cn.lang | 9 + resources/iceandfire/lang/zh_cn.lang | 4 + resources/libvulpes/lang/zh_cn.lang | 1 + resources/magicbees/lang/zh_cn.lang | 3 + ...abyssal_entropic_catalyzer_controller.json | 43 + resources/mowziesmobs/lang/zh_cn.lang | 6 + resources/techreborn/lang/zh_cn.lang | 40 + resources/thaumadditions/lang/zh_cn.lang | 1 + resources/thaumcraft/lang/zh_cn.lang | 2 + resources/thermalfoundation/lang/zh_cn.lang | 9 + resources/twilightforest/lang/zh_cn.lang | 6 + resources/variegated/lang/zh_cn.lang | 2 + scripts/AE2JEIdescriptions.zs | 2 +- scripts/ArbiterMachinery.zs | 15 +- scripts/BeeStargatePortalBlocks.zs | 604 ---------- scripts/BlueprintController.zs | 2 + scripts/BotaniaGating.zs | 114 +- scripts/CallstoneTooltips.zs | 3 +- scripts/ChickenOres.zs | 5 +- scripts/ChiselBlueprint.zs | 1 + scripts/ChiselController.zs | 1 + scripts/CustomBlocks.zs | 74 +- scripts/CustomFluids.zs | 4 + scripts/CustomItems2.zs | 11 + scripts/CustomItemsAvaritia.zs | 2 +- scripts/HaliteLine.zs | 230 ++++ scripts/ModularBeeStargate.zs | 206 ---- scripts/ModularDysonCompressor.zs | 6 +- scripts/ModularForestryTrees.zs | 82 +- scripts/ModularTreeOfLife.zs | 6 +- scripts/ModularWormholeField.zs | 117 -- scripts/MythicProcessorAlloys.zs | 5 +- scripts/MythicProcessorArkencrusher.zs | 74 +- scripts/MythicProcessorMelter.zs | 6 + scripts/OreDictionary.zs | 4 + scripts/Tardis.zs | 102 +- scripts/ToolTips.zs | 22 +- scripts/portals/BeeStargatePortalBlocks.zs | 191 +++ scripts/portals/ModularBeeStargate.zs | 294 +++++ scripts/portals/ModularWormholeField.zs | 168 +++ 99 files changed, 3879 insertions(+), 1103 deletions(-) create mode 100644 config/compactmachines3/recipes/directed_quasar_recipe.json create mode 100644 config/modularmachinery/machinery/abyssal_entropic_catalyzer.json create mode 100644 resources/actuallyadditions/lang/zh_CN.lang create mode 100644 resources/aether_legacy/lang/zh_cn.lang create mode 100644 resources/aoa3/lang/zh_cn.lang create mode 100644 resources/binniecore/lang/zh_CN.lang create mode 100644 resources/careerbees/lang/zh_cn.lang create mode 100644 resources/contenttweaker/blockstates/cosmic_hypergrowth_component.json create mode 100644 resources/contenttweaker/blockstates/directed_miniature_quasar.json create mode 100644 resources/contenttweaker/blockstates/freedom_definer.json create mode 100644 resources/contenttweaker/blockstates/hypergrowth_actualizer.json create mode 100644 resources/contenttweaker/blockstates/inquiring_abyssite.json create mode 100644 resources/contenttweaker/blockstates/quasar_burst_director.json create mode 100644 resources/contenttweaker/blockstates/quasar_charged_core_of_definition.json create mode 100644 resources/contenttweaker/blockstates/stone_of_the_resurrected_shard.json create mode 100644 resources/contenttweaker/blockstates/trinity_hypergrowth_component.json create mode 100644 resources/contenttweaker/blockstates/wishful_definer.json create mode 100644 resources/contenttweaker/models/item/thaumic_brush.json create mode 100644 resources/contenttweaker/models/item/warren_peat.json create mode 100644 resources/contenttweaker/textures/blocks/cosmic_hypergrowth_component.png create mode 100644 resources/contenttweaker/textures/blocks/directed_miniature_quasar.png create mode 100644 resources/contenttweaker/textures/blocks/freedom_definer.png create mode 100644 resources/contenttweaker/textures/blocks/hypergrowth_actualizer.png create mode 100644 resources/contenttweaker/textures/blocks/quasar_burst_director.png create mode 100644 resources/contenttweaker/textures/blocks/quasar_charged_core_of_definition.png create mode 100644 resources/contenttweaker/textures/blocks/trinity_hypergrowth_component.png create mode 100644 resources/contenttweaker/textures/blocks/wishful_definer.png create mode 100644 resources/contenttweaker/textures/items/thaumic_brush.png create mode 100644 resources/contenttweaker/textures/items/warren_peat.png create mode 100644 resources/draconicevolution/lang/zh_CN.lang create mode 100644 resources/enderutilities/lang/zh_cn.lang create mode 100644 resources/extrautils2/lang/zh_CN.lang create mode 100644 resources/fluiddrawers/lang/zh_CN.lang create mode 100644 resources/forestry/lang/zh_cn.lang create mode 100644 resources/iceandfire/lang/zh_cn.lang create mode 100644 resources/libvulpes/lang/zh_cn.lang create mode 100644 resources/magicbees/lang/zh_cn.lang create mode 100644 resources/modularmachinery/blockstates/abyssal_entropic_catalyzer_controller.json create mode 100644 resources/mowziesmobs/lang/zh_cn.lang create mode 100644 resources/techreborn/lang/zh_cn.lang create mode 100644 resources/thaumadditions/lang/zh_cn.lang create mode 100644 resources/thaumcraft/lang/zh_cn.lang create mode 100644 resources/thermalfoundation/lang/zh_cn.lang create mode 100644 resources/twilightforest/lang/zh_cn.lang create mode 100644 resources/variegated/lang/zh_cn.lang delete mode 100644 scripts/BeeStargatePortalBlocks.zs delete mode 100644 scripts/ModularBeeStargate.zs delete mode 100644 scripts/ModularWormholeField.zs create mode 100644 scripts/portals/BeeStargatePortalBlocks.zs create mode 100644 scripts/portals/ModularBeeStargate.zs create mode 100644 scripts/portals/ModularWormholeField.zs diff --git a/config/InvTweaks.cfg b/config/InvTweaks.cfg index 9de1c01c..897a5dbd 100644 --- a/config/InvTweaks.cfg +++ b/config/InvTweaks.cfg @@ -1,6 +1,6 @@ #Inventory Tweaks Configuration #(Regarding shortcuts, all key names can be found at: http://legacy.lwjgl.org/javadoc/org/lwjgl/input/Keyboard.html) -#Fri May 09 11:13:25 PDT 2025 +#Tue May 13 11:08:59 PDT 2025 enableMiddleClick=true showChestButtons=true enableSortingOnPickup=false diff --git a/config/ProjectE/mapping.cfg b/config/ProjectE/mapping.cfg index 9a616946..4161c727 100644 --- a/config/ProjectE/mapping.cfg +++ b/config/ProjectE/mapping.cfg @@ -56,7 +56,7 @@ mapperconfigurations { I:divinerpgpriority=1 I:equivalentenergisticspriority=1 - # Priority for Mod with ModId = expequiv. Values: 3953 [range: 0 ~ 512, default: 1] + # Priority for Mod with ModId = expequiv. Values: 3956 [range: 0 ~ 512, default: 1] I:expequivpriority=1 I:metallurgypriority=1 @@ -245,7 +245,7 @@ mapperconfigurations { apicustomconversionmapper { allow { - # Allow Mod expequiv to add its 82390 Recipes to the EMC Calculation [default: true] + # Allow Mod expequiv to add its 82784 Recipes to the EMC Calculation [default: true] B:expequiv=true } diff --git a/config/astralsorcery/amulet_enchantments.cfg b/config/astralsorcery/amulet_enchantments.cfg index c69ab7c1..14522e93 100644 --- a/config/astralsorcery/amulet_enchantments.cfg +++ b/config/astralsorcery/amulet_enchantments.cfg @@ -7,7 +7,7 @@ ########################################################################################################## data { - # [default: [minecraft:protection:10], [minecraft:fire_protection:5], [minecraft:feather_falling:5], [minecraft:blast_protection:2], [minecraft:projectile_protection:5], [minecraft:respiration:2], [minecraft:aqua_affinity:2], [minecraft:thorns:1], [minecraft:depth_strider:2], [minecraft:frost_walker:2], [minecraft:sharpness:10], [minecraft:smite:5], [minecraft:bane_of_arthropods:5], [minecraft:knockback:5], [minecraft:fire_aspect:2], [minecraft:looting:2], [minecraft:sweeping:2], [minecraft:efficiency:10], [minecraft:silk_touch:1], [minecraft:unbreaking:5], [minecraft:fortune:2], [minecraft:power:10], [minecraft:punch:2], [minecraft:flame:2], [minecraft:infinity:1], [minecraft:luck_of_the_sea:2], [minecraft:lure:2], [minecraft:mending:2], [draconicevolution:enchant_reaper:2], [railcraft:wrecking:2], [railcraft:implosion:2], [railcraft:destruction:1], [railcraft:smack:1], [extrautils2:xu.kaboomerang:10], [extrautils2:xu.zoomerang:10], [extrautils2:xu.burnerang:10], [extrautils2:xu.bladerang:10], [extrautils2:xu.boomereaperang:10], [randomthings:magnetic:1], [openblocks:explosive:2], [openblocks:last_stand:5], [openblocks:flim_flam:2], [projectred-expansion:electric_efficiency:2], [advancedrocketry:spacebreathing:10], [endercore:autosmelt:2], [endercore:xpboost:5], [tombstone:shadow_step:2], [tombstone:soulbound:2], [tombstone:magic_siphon:2], [tombstone:plague_bringer:2], [tombstone:blessing:2], [tombstone:curse_of_bones:2], [enderio:witherweapon:5], [enderio:repellent:1], [enderio:soulbound:1], [enderio:witherarrow:5], [aerialaffinity:aerial_affinity:2], [aoa3:brace:1], [aoa3:intervention:1], [aoa3:archmage:1], [aoa3:sever:5], [aoa3:recharge:2], [aoa3:control:2], [aoa3:shell:5], [aoa3:crush:5], [aoa3:form:2], [ebwizardry:magic_sword:10], [ebwizardry:magic_bow:10], [ebwizardry:flaming_weapon:10], [ebwizardry:freezing_weapon:10], [ebwizardry:magic_protection:5], [ebwizardry:frost_protection:2], [ebwizardry:shock_protection:2], [bewitchment:magic_protection:1], [bibliocraft:bibliocraft.deathcompassench:1], [bibliocraft:bibliocraft.readingench:5], [divinerpg:rive:1], [divinerpg:aftershock:1], [mod_lavacow:poisonous:1], [mod_lavacow:lifesteal:1], [mod_lavacow:corrosive:1], [mod_lavacow:critical_boost:2], [soulshardsrespawn:soul_stealer:5], [thaumictinkerer:ascentboost:2], [thaumictinkerer:pounce:1], [thaumictinkerer:shockwave:5], [thaumictinkerer:slowfall:1], [thaumictinkerer:finalstrike:2], [thaumictinkerer:valiance:5], [thaumictinkerer:vamprisim:2], [thaumictinkerer:dispersedstrikes:2], [thaumictinkerer:focusedstrikes:2], [thaumictinkerer:quickdraw:2], [thaumictinkerer:tunnel:5], [thaumictinkerer:shatter:5], [thaumictinkerer:desintegrate:5], [thaumictinkerer:autosmelt:5], [variegated:manabound:1], [woot:headhunter:2], [abyssalcraft:coralium:2], [abyssalcraft:dread:2], [abyssalcraft:light_pierce:10], [abyssalcraft:iron_wall:5], [abyssalcraft:sapping:5], [abyssalcraft:multi_rend:2], [cofhcore:holding:5], [cofhcore:insight:5], [cofhcore:leech:5], [cofhcore:multishot:5], [cofhcore:smashing:2], [cofhcore:smelting:2], [cofhcore:soulbound:5], [cofhcore:vorpal:2], [cyclicmagic:enchantment.autosmelt:2], [cyclicmagic:enchantment.excavation:1], [cyclicmagic:enchantment.launch:10], [cyclicmagic:enchantment.lifeleech:10], [cyclicmagic:enchantment.magnet:1], [cyclicmagic:enchantment.multishot:1], [cyclicmagic:enchantment.quickdraw:1], [cyclicmagic:enchantment.venom:10], [cyclicmagic:enchantment.waterwalking:1], [cyclicmagic:enchantment.expboost:1], [astralsorcery:enchantment.as.nightvision:1], [astralsorcery:enchantment.as.smelting:1], [simplyjetpacks:fuel_efficiency:1]] + # [default: [minecraft:protection:10], [minecraft:fire_protection:5], [minecraft:feather_falling:5], [minecraft:blast_protection:2], [minecraft:projectile_protection:5], [minecraft:respiration:2], [minecraft:aqua_affinity:2], [minecraft:thorns:1], [minecraft:depth_strider:2], [minecraft:frost_walker:2], [minecraft:sharpness:10], [minecraft:smite:5], [minecraft:bane_of_arthropods:5], [minecraft:knockback:5], [minecraft:fire_aspect:2], [minecraft:looting:2], [minecraft:sweeping:2], [minecraft:efficiency:10], [minecraft:silk_touch:1], [minecraft:unbreaking:5], [minecraft:fortune:2], [minecraft:power:10], [minecraft:punch:2], [minecraft:flame:2], [minecraft:infinity:1], [minecraft:luck_of_the_sea:2], [minecraft:lure:2], [minecraft:mending:2], [draconicevolution:enchant_reaper:2], [railcraft:wrecking:2], [railcraft:implosion:2], [railcraft:destruction:1], [railcraft:smack:1], [extrautils2:xu.kaboomerang:10], [extrautils2:xu.zoomerang:10], [extrautils2:xu.burnerang:10], [extrautils2:xu.bladerang:10], [extrautils2:xu.boomereaperang:10], [randomthings:magnetic:1], [openblocks:explosive:2], [openblocks:last_stand:5], [openblocks:flim_flam:2], [projectred-expansion:electric_efficiency:2], [advancedrocketry:spacebreathing:10], [endercore:autosmelt:2], [endercore:xpboost:5], [tombstone:shadow_step:2], [tombstone:soulbound:2], [tombstone:magic_siphon:2], [tombstone:plague_bringer:2], [tombstone:blessing:2], [tombstone:curse_of_bones:2], [tombstone:spectral_conjurer:2], [enderio:repellent:1], [enderio:soulbound:1], [enderio:witherweapon:5], [enderio:witherarrow:5], [aerialaffinity:aerial_affinity:2], [aoa3:brace:1], [aoa3:intervention:1], [aoa3:archmage:1], [aoa3:sever:5], [aoa3:recharge:2], [aoa3:control:2], [aoa3:shell:5], [aoa3:crush:5], [aoa3:form:2], [ebwizardry:magic_sword:10], [ebwizardry:magic_bow:10], [ebwizardry:flaming_weapon:10], [ebwizardry:freezing_weapon:10], [ebwizardry:magic_protection:5], [ebwizardry:frost_protection:2], [ebwizardry:shock_protection:2], [bewitchment:magic_protection:1], [bibliocraft:bibliocraft.deathcompassench:1], [bibliocraft:bibliocraft.readingench:5], [divinerpg:rive:1], [divinerpg:aftershock:1], [mod_lavacow:poisonous:1], [mod_lavacow:lifesteal:1], [mod_lavacow:corrosive:1], [mod_lavacow:critical_boost:2], [soulshardsrespawn:soul_stealer:5], [thaumictinkerer:ascentboost:2], [thaumictinkerer:pounce:1], [thaumictinkerer:shockwave:5], [thaumictinkerer:slowfall:1], [thaumictinkerer:finalstrike:2], [thaumictinkerer:valiance:5], [thaumictinkerer:vamprisim:2], [thaumictinkerer:dispersedstrikes:2], [thaumictinkerer:focusedstrikes:2], [thaumictinkerer:quickdraw:2], [thaumictinkerer:tunnel:5], [thaumictinkerer:shatter:5], [thaumictinkerer:desintegrate:5], [thaumictinkerer:autosmelt:5], [variegated:manabound:1], [woot:headhunter:2], [abyssalcraft:coralium:2], [abyssalcraft:dread:2], [abyssalcraft:light_pierce:10], [abyssalcraft:iron_wall:5], [abyssalcraft:sapping:5], [abyssalcraft:multi_rend:2], [cofhcore:holding:5], [cofhcore:insight:5], [cofhcore:leech:5], [cofhcore:multishot:5], [cofhcore:smashing:2], [cofhcore:smelting:2], [cofhcore:soulbound:5], [cofhcore:vorpal:2], [cyclicmagic:enchantment.autosmelt:2], [cyclicmagic:enchantment.excavation:1], [cyclicmagic:enchantment.launch:10], [cyclicmagic:enchantment.lifeleech:10], [cyclicmagic:enchantment.magnet:1], [cyclicmagic:enchantment.multishot:1], [cyclicmagic:enchantment.quickdraw:1], [cyclicmagic:enchantment.venom:10], [cyclicmagic:enchantment.waterwalking:1], [cyclicmagic:enchantment.expboost:1], [astralsorcery:enchantment.as.nightvision:1], [astralsorcery:enchantment.as.smelting:1], [simplyjetpacks:fuel_efficiency:1]] S:data < minecraft:protection:10 minecraft:fire_protection:5 diff --git a/config/betterquesting/DefaultQuests/Quests/0/1197.json b/config/betterquesting/DefaultQuests/Quests/0/1197.json index e2048fdd..962e86f5 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/1197.json +++ b/config/betterquesting/DefaultQuests/Quests/0/1197.json @@ -25,6 +25,7 @@ "TrophyColorBlue:3": 0, "TrophyColorGreen:3": 0, "TrophyColorRed:3": 0, + "TrophyEarnedAt:4": 1728496836, "TrophyItem:10": { "Count:1": 1, "Damage:2": 0, diff --git a/config/betterquesting/DefaultQuests/Quests/0/1283790114.json b/config/betterquesting/DefaultQuests/Quests/0/1283790114.json index 55486fa8..49d787e4 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/1283790114.json +++ b/config/betterquesting/DefaultQuests/Quests/0/1283790114.json @@ -25,6 +25,7 @@ "TrophyColorBlue:3": 0, "TrophyColorGreen:3": 100, "TrophyColorRed:3": 100, + "TrophyEarnedAt:4": 1727205582, "TrophyItem:10": { "Count:1": 1, "Damage:2": 0, diff --git a/config/betterquesting/DefaultQuests/Quests/0/1724085619.json b/config/betterquesting/DefaultQuests/Quests/0/1724085619.json index 05a4a9ad..7e4e5305 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/1724085619.json +++ b/config/betterquesting/DefaultQuests/Quests/0/1724085619.json @@ -13,6 +13,60 @@ } }, "questID:3": 1724085619, + "rewards:9": { + "0:10": { + "index:3": 0, + "rewardID:8": "bq_standard:item", + "rewards:9": { + "0:10": { + "Count:3": 1, + "id:8": "buildinggadgets:template", + "tag:10": { + "TemplateName:8": "Directed Quasar", + "UUID:8": "aff6f6b2-a1d6-4c0f-ab25-e0e7024c553a", + "copycounter:3": 2, + "endPos:10": { + "X:3": -86, + "Y:3": 98, + "Z:3": 37 + }, + "itemcountmap:9": { + "0:10": { + "count:3": 60, + "item:3": 22470, + "meta:3": 0 + }, + "1:10": { + "count:3": 2, + "item:3": 1, + "meta:3": 1 + }, + "2:10": { + "count:3": 1, + "item:3": 22473, + "meta:3": 0 + }, + "3:10": { + "count:3": 24, + "item:3": 22625, + "meta:3": 0 + }, + "4:10": { + "count:3": 16, + "item:3": 23033, + "meta:3": 0 + } + }, + "startPos:10": { + "X:3": -98, + "Y:3": 106, + "Z:3": 25 + } + } + } + } + } + }, "tasks:9": { "0:10": { "index:3": 0, diff --git a/config/betterquesting/DefaultQuests/Quests/0/2044693951.json b/config/betterquesting/DefaultQuests/Quests/0/2044693951.json index 82635681..1f04c883 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/2044693951.json +++ b/config/betterquesting/DefaultQuests/Quests/0/2044693951.json @@ -28,6 +28,7 @@ "TrophyColorBlue:3": 0, "TrophyColorGreen:3": 0, "TrophyColorRed:3": 0, + "TrophyEarnedAt:4": 1727129438, "TrophyItem:10": { "Count:1": 1, "Damage:2": 0, diff --git a/config/betterquesting/DefaultQuests/Quests/0/814979819.json b/config/betterquesting/DefaultQuests/Quests/0/814979819.json index 94a3a4a2..71a40e66 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/814979819.json +++ b/config/betterquesting/DefaultQuests/Quests/0/814979819.json @@ -31,6 +31,24 @@ } }, "taskID:8": "bq_standard:retrieval" + }, + "1:10": { + "index:3": 1, + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "id:8": "contenttweaker:hypergrowth_actualizer" + }, + "1:10": { + "Count:3": 1, + "id:8": "contenttweaker:trinity_hypergrowth_component" + }, + "2:10": { + "Count:3": 1, + "id:8": "contenttweaker:cosmic_hypergrowth_component" + } + }, + "taskID:8": "bq_standard:optional_retrieval" } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/0/946686645.json b/config/betterquesting/DefaultQuests/Quests/0/946686645.json index 004439c6..7fdc2059 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/946686645.json +++ b/config/betterquesting/DefaultQuests/Quests/0/946686645.json @@ -25,6 +25,7 @@ "TrophyColorBlue:3": 1, "TrophyColorGreen:3": 1, "TrophyColorRed:3": 1, + "TrophyEarnedAt:4": 1726529097, "TrophyItem:10": { "Count:1": 1, "Damage:2": 0, diff --git a/config/brandon3055/CustomFusionRecipes.json b/config/brandon3055/CustomFusionRecipes.json index 312a77fc..5015cafe 100644 --- a/config/brandon3055/CustomFusionRecipes.json +++ b/config/brandon3055/CustomFusionRecipes.json @@ -871,6 +871,57 @@ "contenttweaker:cuendillar_plate", "contenttweaker:cuendillar_plate" ] + }, + { + "mode": "ADD", + "result": "contenttweaker:freedom_definer", + "catalyst": "contenttweaker:core_of_halite_definition", + "energy": 10000000000, + "tier": 3, + "ingredients": [ + "draconicevolution:chaotic_core", + "draconicevolution:chaotic_core", + "contenttweaker:trinity_ingot", + "contenttweaker:trinity_ingot", + "contenttweaker:freedomsteel_ingot", + "contenttweaker:freedomsteel_ingot", + "contenttweaker:freedomsteel_ingot", + "contenttweaker:freedomsteel_ingot" + ] + }, + { + "mode": "ADD", + "result": "contenttweaker:wishful_definer", + "catalyst": "contenttweaker:cuendillar_seal", + "energy": 10000000000, + "tier": 3, + "ingredients": [ + "contenttweaker:ingot_of_infinite_wishes", + "contenttweaker:ingot_of_infinite_wishes", + "contenttweaker:ingot_of_infinite_wishes", + "contenttweaker:ingot_of_infinite_wishes", + "contenttweaker:freedom_definer", + "contenttweaker:freedom_definer" + ] + }, + { + "mode": "ADD", + "result": "contenttweaker:quasar_charged_core_of_definition", + "catalyst": "contenttweaker:cuendillar_seal", + "energy": 10000000000, + "tier": 3, + "ingredients": [ + "contenttweaker:quasar_charged_gem", + "contenttweaker:quasar_charged_gem", + "contenttweaker:quasar_charged_gem", + "contenttweaker:quasar_charged_gem", + "contenttweaker:quasar_charged_gem", + "contenttweaker:quasar_charged_gem", + "contenttweaker:quasar_charged_gem", + "contenttweaker:quasar_charged_gem", + "contenttweaker:wishful_definer", + "contenttweaker:wishful_definer" + ] } ] \ No newline at end of file diff --git a/config/brokenwings.cfg b/config/brokenwings.cfg index 0a4d05aa..d063b755 100644 --- a/config/brokenwings.cfg +++ b/config/brokenwings.cfg @@ -78,13 +78,6 @@ countermeasures { twilightforest:charm_of_life_2 dimension: 422 twilightforest:charm_of_life_1 dimension: 423 twilightforest:charm_of_life_2 dimension: 423 - appliedenergistics2:wireless_terminal dimension: 427 - appliedenergistics2:wireless_crafting_terminal dimension: 427 - appliedenergistics2:wireless_fluid_terminal dimension: 427 - ae2exttable:wireless_basic_crafting_terminal dimension: 427 - ae2exttable:wireless_advanced_crafting_terminal dimension: 427 - ae2exttable:wireless_elite_crafting_terminal dimension: 427 - ae2exttable:wireless_ultimate_crafting_terminal dimension: 427 > } @@ -145,13 +138,6 @@ countermeasures { twilightforest:charm_of_life_2 dimension: 422 twilightforest:charm_of_life_1 dimension: 423 twilightforest:charm_of_life_2 dimension: 423 - appliedenergistics2:wireless_terminal dimension: 427 - appliedenergistics2:wireless_crafting_terminal dimension: 427 - appliedenergistics2:wireless_fluid_terminal dimension: 427 - ae2exttable:wireless_basic_crafting_terminal dimension: 427 - ae2exttable:wireless_advanced_crafting_terminal dimension: 427 - ae2exttable:wireless_elite_crafting_terminal dimension: 427 - ae2exttable:wireless_ultimate_crafting_terminal dimension: 427 > } diff --git a/config/buildcraft/detailed.properties b/config/buildcraft/detailed.properties index 44b84267..837f02a8 100644 --- a/config/buildcraft/detailed.properties +++ b/config/buildcraft/detailed.properties @@ -1,5 +1,5 @@ # The buildcraft detailed configuration file. This contains a lot of miscellaneous options that have no affect on gameplay. # You should refer to the BC source code for a detailed description of what these do. (https://github.com/BuildCraft/BuildCraft) # This file will be overwritten every time that buildcraft starts, so don't change anything other than the values. -#Fri May 09 11:11:50 PDT 2025 +#Tue May 13 11:07:22 PDT 2025 render.pipe.misc.inside.shade=0.725 \ No newline at end of file diff --git a/config/compactmachines3/recipes/directed_quasar_recipe.json b/config/compactmachines3/recipes/directed_quasar_recipe.json new file mode 100644 index 00000000..d9383163 --- /dev/null +++ b/config/compactmachines3/recipes/directed_quasar_recipe.json @@ -0,0 +1,1021 @@ +{ + "name": "compactmachines3:directed_quasar_recipe", + "target-item": "contenttweaker:directed_miniature_quasar", + "target-meta": 0, + "target-count": 1, + + "duration": 200, + + "catalyst": "contenttweaker:quasar_screen", + + + + + + "input-types": { + "a": { + "id": "contenttweaker:quasar_stabilizer", + "meta": 0 + }, + "b": { + "id": "glassential:glass_ethereal_reverse", + "meta": 0 + }, + "c": { + "id": "contenttweaker:quasar_burst_director", + "meta": 0 + }, + "d": { + "id": "contenttweaker:miniature_quasar", + "meta": 0 + } + }, + "shape": [ + [ + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "a", + "a", + "a", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "a", + "_", + "_", + "_", + "a", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "b", + "a", + "_", + "_", + "_", + "a", + "b", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "a", + "_", + "_", + "_", + "a", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "a", + "a", + "a", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ] + ], + [ + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ] + ], + [ + [ + "_", + "_", + "_", + "_", + "a", + "a", + "a", + "a", + "a", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "a", + "a", + "_", + "_", + "b", + "_", + "_", + "a", + "a", + "_", + "_" + ], + [ + "_", + "a", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "a", + "_" + ], + [ + "_", + "a", + "_", + "_", + "_", + "c", + "c", + "c", + "_", + "_", + "_", + "a", + "_" + ], + [ + "a", + "_", + "_", + "_", + "c", + "_", + "_", + "_", + "c", + "_", + "_", + "_", + "a" + ], + [ + "a", + "_", + "_", + "c", + "_", + "_", + "_", + "_", + "_", + "c", + "_", + "_", + "a" + ], + [ + "a", + "b", + "b", + "c", + "_", + "_", + "d", + "_", + "_", + "c", + "b", + "b", + "a" + ], + [ + "a", + "_", + "_", + "c", + "_", + "_", + "_", + "_", + "_", + "c", + "_", + "_", + "a" + ], + [ + "a", + "_", + "_", + "_", + "c", + "_", + "_", + "_", + "c", + "_", + "_", + "_", + "a" + ], + [ + "_", + "a", + "_", + "_", + "_", + "c", + "c", + "c", + "_", + "_", + "_", + "a", + "_" + ], + [ + "_", + "a", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "a", + "_" + ], + [ + "_", + "_", + "a", + "a", + "_", + "_", + "b", + "_", + "_", + "a", + "a", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "a", + "a", + "a", + "a", + "a", + "_", + "_", + "_", + "_" + ] + ], + [ + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ] + ], + [ + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "a", + "a", + "a", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "a", + "_", + "_", + "_", + "a", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "b", + "a", + "_", + "_", + "_", + "a", + "b", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "a", + "_", + "_", + "_", + "a", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "a", + "a", + "a", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "b", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ], + [ + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_", + "_" + ] + ] + ] + +} \ No newline at end of file diff --git a/config/ichunutil.cfg b/config/ichunutil.cfg index c0abb1b2..b31a22bd 100644 --- a/config/ichunutil.cfg +++ b/config/ichunutil.cfg @@ -70,7 +70,7 @@ module { I:versionNotificationTypes=0 # Don't change this. - I:versionSave=9 + I:versionSave=13 } } diff --git a/config/jei/worldSettings.cfg b/config/jei/worldSettings.cfg index e4bb49f6..e717d083 100644 --- a/config/jei/worldSettings.cfg +++ b/config/jei/worldSettings.cfg @@ -383,11 +383,20 @@ world-288993849 { world-310143583 { + # Show the list of bookmarks next to open GUIs. B:bookmarkOverlayEnabled=false + + # Give items instead of showing the recipe. B:cheatItemsEnabled=true + + # Default item to use to fill up fluids when clicking on a fluid ingredient in the menu, (format: item_name@meta) S:defaultFluidContainerItem= + + # Hide and unhide ingredients by clicking them in the list. B:editEnabled=false - S:filterText= + S:filterText=fluid. + + # Show the list of ingredients next to open GUIs. B:overlayEnabled=true } @@ -632,18 +641,11 @@ world-924193474 { world-930827809 { - # Show the list of bookmarks next to open GUIs. B:bookmarkOverlayEnabled=true B:cheatItemsEnabled=true - - # Default item to use to fill up fluids when clicking on a fluid ingredient in the menu, (format: item_name@meta) S:defaultFluidContainerItem= - - # Hide and unhide ingredients by clicking them in the list. B:editEnabled=false S:filterText=mas spell lu - - # Show the list of ingredients next to open GUIs. B:overlayEnabled=true } diff --git a/config/modularmachinery/machinery/abyssal_entropic_catalyzer.json b/config/modularmachinery/machinery/abyssal_entropic_catalyzer.json new file mode 100644 index 00000000..0e12d749 --- /dev/null +++ b/config/modularmachinery/machinery/abyssal_entropic_catalyzer.json @@ -0,0 +1,742 @@ +{ + "registryname": "abyssal_entropic_catalyzer", + "localizedname": "Abyssal Entropic Catalyzer", + "color": "2e2e2e", + "parts": [ + { + "x": 0, + "y": 1, + "z": 8, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": -2, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -3, + "y": 1, + "z": 7, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 4, + "y": 1, + "z": 4, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 0, + "y": -2, + "z": 0, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -3, + "y": 0, + "z": 5, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -4, + "y": 0, + "z": 4, + "elements": [ + "generalized_output_fluid" + ] + }, + { + "x": -3, + "y": -2, + "z": 1, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 0, + "y": -1, + "z": 0, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": -1, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -4, + "y": 1, + "z": 4, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": -3, + "y": 0, + "z": 7, + "elements": [ + "modularmachinery:blockinputbus@0" + ] + }, + { + "x": 3, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 3, + "y": 2, + "z": 7, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -3, + "y": -1, + "z": 7, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 1, + "y": 0, + "z": 1, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 4, + "y": 2, + "z": 4, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 4, + "y": 0, + "z": 3, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -1, + "y": 0, + "z": 8, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 1, + "y": 0, + "z": 7, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -3, + "y": -1, + "z": 1, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": -4, + "y": 2, + "z": 4, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -4, + "y": 0, + "z": 3, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 3, + "y": 0, + "z": 4, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 2, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -3, + "y": 1, + "z": 1, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 0, + "y": 2, + "z": 8, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -3, + "y": -2, + "z": 7, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 1, + "y": 0, + "z": 0, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -3, + "y": 0, + "z": 4, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -2, + "y": 0, + "z": 5, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 0, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 2, + "y": 0, + "z": 5, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 0, + "y": 0, + "z": 1, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -3, + "y": 2, + "z": 1, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 4, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -3, + "y": 0, + "z": 3, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -2, + "y": 0, + "z": 7, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -2, + "y": 0, + "z": 8, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 0, + "y": 0, + "z": 4, + "elements": [ + "contenttweaker:charged_draconium_block@0" + ] + }, + { + "x": -4, + "y": -1, + "z": 4, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 2, + "y": 0, + "z": 7, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 2, + "y": 0, + "z": 8, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -4, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -1, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 4, + "y": -2, + "z": 4, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -1, + "y": 0, + "z": 1, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 3, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 3, + "y": -2, + "z": 1, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -2, + "y": 0, + "z": 0, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 4, + "y": 0, + "z": 4, + "elements": [ + "generalized_input_fluid" + ] + }, + { + "x": -4, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 2, + "y": 0, + "z": 0, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -4, + "y": -2, + "z": 4, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 0, + "y": -1, + "z": 8, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 3, + "y": -1, + "z": 7, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": -3, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 1, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 4, + "y": -1, + "z": 4, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 3, + "y": 0, + "z": 1, + "elements": [ + "modularmachinery:blockinputbus@0" + ] + }, + { + "x": 3, + "y": 0, + "z": 5, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 0, + "y": -2, + "z": 8, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -1, + "y": 0, + "z": 7, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 3, + "y": -2, + "z": 7, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 3, + "y": 0, + "z": 7, + "elements": [ + "modularmachinery:blockinputbus@0" + ] + }, + { + "x": 1, + "y": 0, + "z": 8, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 2, + "y": 0, + "z": 3, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 3, + "y": 1, + "z": 1, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 4, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -2, + "y": 0, + "z": 3, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 0, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 3, + "y": -1, + "z": 1, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": -1, + "y": 0, + "z": 0, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -2, + "y": 0, + "z": 1, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -3, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -4, + "y": 0, + "z": 5, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 0, + "y": 2, + "z": 0, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -2, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 2, + "y": 0, + "z": 1, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 4, + "y": 0, + "z": 5, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 2, + "y": 0, + "z": 6, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 3, + "y": 0, + "z": 3, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 0, + "y": 0, + "z": 7, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 0, + "y": 1, + "z": 0, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 3, + "y": 2, + "z": 1, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": 0, + "y": 0, + "z": 8, + "elements": [ + "generalized_input_item" + ] + }, + { + "x": -3, + "y": 2, + "z": 7, + "elements": [ + "draconicevolution:draconium_block@0" + ] + }, + { + "x": -2, + "y": 0, + "z": 4, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 3, + "y": 1, + "z": 7, + "elements": [ + "unlimitedchiselworks:chisel_stonebrick2_abyssalcraft_darkstone_brick_0@2" + ] + }, + { + "x": 2, + "y": 0, + "z": 4, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": 1, + "y": 0, + "z": 2, + "elements": [ + "abyssalcraft:darkstone_brick@0" + ] + }, + { + "x": -3, + "y": 0, + "z": 1, + "elements": [ + "modularmachinery:blockinputbus@0" + ] + } + ]} \ No newline at end of file diff --git a/config/modularmachinery/machinery/definer_two.json b/config/modularmachinery/machinery/definer_two.json index 6ea2a10f..14e511b8 100644 --- a/config/modularmachinery/machinery/definer_two.json +++ b/config/modularmachinery/machinery/definer_two.json @@ -28,6 +28,45 @@ "operation": 1, "multiplier": 8.0 } + }, + { + "elements": "contenttweaker:freedom_definer", + "x": 0, + "y": 2, + "z": 6, + "description": "替换未定义物体以获得产出x16", + "modifier": { + "io": "output", + "target": "modularmachinery:item", + "operation": 1, + "multiplier": 16.0 + } + }, + { + "elements": "contenttweaker:wishful_definer", + "x": 0, + "y": 2, + "z": 6, + "description": "替换未定义物体以获得产出x64", + "modifier": { + "io": "output", + "target": "modularmachinery:item", + "operation": 1, + "multiplier": 64.0 + } + }, + { + "elements": "contenttweaker:quasar_charged_core_of_definition", + "x": 0, + "y": 2, + "z": 6, + "description": "替换未定义物体以获得产出x256", + "modifier": { + "io": "output", + "target": "modularmachinery:item", + "operation": 1, + "multiplier": 256.0 + } } ], "parts": [ diff --git a/config/modularmachinery/machinery/dyson_compressor.json b/config/modularmachinery/machinery/dyson_compressor.json index 753bee92..5a441980 100644 --- a/config/modularmachinery/machinery/dyson_compressor.json +++ b/config/modularmachinery/machinery/dyson_compressor.json @@ -2,6 +2,36 @@ "registryname": "dyson_compressor", "localizedname": "Dyson Compressor", "color": "590b7a", + "modifiers": [ + { + "elements": "contenttweaker:miniature_quasar", + "x": 0, + "y": 0, + "z": 17, + "description": "产出x4", + "modifiers": [ + { + "io": "output", + "target": "modularmachinery:item", + "operation": 1, + "multiplier": 4 + }] + }, + { + "elements": "contenttweaker:directed_miniature_quasar", + "x": 0, + "y": 0, + "z": 17, + "description": "产出x16", + "modifiers": [ + { + "io": "output", + "target": "modularmachinery:item", + "operation": 1, + "multiplier": 16 + }] + } + ], "parts": [ { "x": 5, diff --git a/config/modularmachinery/machinery/hypergrowth_insolator.json b/config/modularmachinery/machinery/hypergrowth_insolator.json index 9638d188..fa278edb 100644 --- a/config/modularmachinery/machinery/hypergrowth_insolator.json +++ b/config/modularmachinery/machinery/hypergrowth_insolator.json @@ -3,6 +3,48 @@ "localizedname": "Hypergrowth Insolator", "color": "790091", "has-factory": true, + "modifiers": [ + { + "elements": "contenttweaker:hypergrowth_actualizer", + "x": 0, + "y": 2, + "z": 1, + "description": "产出x4", + "modifier": { + "io": "output", + "target": "modularmachinery:item", + "operation": 1, + "multiplier": 4 + } + }, + { + "elements": "contenttweaker:trinity_hypergrowth_component", + "x": 0, + "y": 2, + "z": 1, + "description": "产出x16", + "modifier": { + "io": "output", + "target": "modularmachinery:item", + "operation": 1, + "multiplier": 16 + } + }, + { + "elements": "contenttweaker:cosmic_hypergrowth_component", + "x": 0, + "y": 2, + "z": 1, + "description": "产出x64", + "modifier": { + "io": "output", + "target": "modularmachinery:item", + "operation": 1, + "multiplier": 64 + } + } + ], + "parts": [ { "x": -1, diff --git a/config/modularmachinery/machinery/mythic_processor_melter.json b/config/modularmachinery/machinery/mythic_processor_melter.json index 9274f632..45d3fab7 100644 --- a/config/modularmachinery/machinery/mythic_processor_melter.json +++ b/config/modularmachinery/machinery/mythic_processor_melter.json @@ -10,13 +10,13 @@ "z": 1, "description": "处理数量x8", "modifiers": [{ - "io": "output", + "io": "input", "target": "modularmachinery:item", "operation": 1, "multiplier": 8 }, { - "io": "input", + "io": "output", "target": "modularmachinery:fluid", "operation": 1, "multiplier": 8 diff --git a/config/omniwand.cfg b/config/omniwand.cfg index 5f828a18..e5d607ae 100644 --- a/config/omniwand.cfg +++ b/config/omniwand.cfg @@ -61,6 +61,28 @@ general { name=screwdriver name=wand name=wrench + item=immersiveengineering:tool:1 + item=immersiveengineering:tool:2 + item=thaumicaugmentation:gauntlet:0 + item=thaumicaugmentation:gauntlet:1 + item=astralsorcery:itemlinkingtool + item=woot:builder + item=chisel:offsettool + item=thaumcraft:golem_bell + item=enderio:item_travel_staff + item=cyclicmagic:sign_editor + item=cyclicmagic:tool_swap_match + item=appliedenergistics2:certus_quartz_cutting_knife + item=actuallyadditions:item_phantom_connector + item=extrabotany:manareader + item=appliedenergistics2:network_tool + item=thaumicaugmentation:impetus_linker + item=storagedrawers:drawer_key + item=storagedrawers:shroud_key + item=storagedrawers:personal_key + item=storagedrawers:quantify_key + item=thaumcraft:resonator + item=contenttweaker:multiblock_sticc > # List of mod aliases used for Omniwand transforming. @@ -120,59 +142,6 @@ general { rftools:smartwrench teslacorelib:wrench thermalfoundation:wrench - > - B:alternateAppearance=false - S:blacklistedMods < - intangible - immersiveengineering - tconstruct - > - B:crouchRevert=false - B:enableTransforms=true - S:modAliases < - ae2stuff=appliedenergistics2 - threng=appliedenergistics2 - animus=bloodmagic - bloodarsenal=bloodmagic - nautralpledge=botania - immersivetech=immersiveengineering - immersivepetrolium=immersiveengineering - industrialforegoing=teslacorelib - redstonearsenal=thermalfoundation - thermalcultivation=thermalfoundation - thermaldynamics=thermalfoundation - thermalexpansion=thermalfoundation - rftoolsdim=rftools - rftoolspower=rftools - rftoolscontrol=rftools - integrateddynamics=integratedtunnels - mekanismgenerators=mekanism - mekanismtools=mekanism - deepresonance=rftools - xnet=rftools - buildcrafttransport=buildcraft - buildcraftfactory=buildcraft - buildcraftsilicon=buildcraft - > - B:offhandTransformOnly=false - B:restrictTooltip=true - S:transformItems < - appliedenergistics2:certus_quartz_wrench - appliedenergistics2:nether_quartz_wrench - appliedenergistics2:network_tool - astralsorcery:itemwand - botania:twigwand - draconicevolution:crystal_binder - embers:tinker_hammer - enderio:item_yeta_wrench - immersiveengineering:tool:0 - mekanism:configurator - rftools:smartwrench - teslacorelib:wrench - thermalfoundation:wrench - - > - S:whitelistedItems < immersiveengineering:tool:1 immersiveengineering:tool:2 thaumicaugmentation:gauntlet:0 @@ -196,20 +165,5 @@ general { thaumcraft:resonator contenttweaker:multiblock_sticc > - S:whitelistedNames < - configurator - crowbar - hammer - rod - rotator - screwdriver - wand - wrench - gauntlet - assembler - connector - gadget - > } - diff --git a/config/soulshardsrespawn/soulshardsrespawn.cfg b/config/soulshardsrespawn/soulshardsrespawn.cfg index 1ce88f18..8f31bcfe 100644 --- a/config/soulshardsrespawn/soulshardsrespawn.cfg +++ b/config/soulshardsrespawn/soulshardsrespawn.cfg @@ -3572,6 +3572,12 @@ entity_list { # Allows the gathering and spawning of thermalfoundation.blizz [default: true] B:"thermalfoundation:blizz"=true + # Allows the gathering and spawning of tombstone.grave_guardian [default: true] + B:"tombstone:grave_guardian"=true + + # Allows the gathering and spawning of tombstone.spectral_wolf [default: true] + B:"tombstone:spectral_wolf"=true + # Allows the gathering and spawning of twilightforest.adherent [default: true] B:"twilightforest:adherent"=true @@ -3786,4 +3792,3 @@ server { B:requireRedstoneSignal=false } - diff --git a/config/splash.properties b/config/splash.properties index 11c06fdf..f951febb 100644 --- a/config/splash.properties +++ b/config/splash.properties @@ -1,5 +1,5 @@ #Splash screen properties -#Fri May 09 11:07:36 PDT 2025 +#Tue May 13 11:02:46 PDT 2025 background=0xBFBFBF memoryGood=0x00091A font=0x960826 diff --git a/config/tombstone.cfg b/config/tombstone.cfg index ebed8e62..b51d2c0f 100644 --- a/config/tombstone.cfg +++ b/config/tombstone.cfg @@ -54,6 +54,9 @@ alignment { ########################################################################################################## allowedmagicitems { + # Bag Of Seeds + B:allowBagOfSeeds=true + # Book of Disenchantment B:allowBookOfDisenchantment=true @@ -63,15 +66,23 @@ allowedmagicitems { # Book of Repairing B:allowBookOfRepairing=true + # Book of Scribe + B:allowBookOfScribe=true + # Dust of Vanishing B:allowDustOfVanishing=true - - # Familiar Receptacle B:allowFamiliarReceptacle=true - - # Magic Scroll B:allowFamiliarStone=true + # Gemstone of Familiar + B:allowGemstoneOfFamiliar=true + + # Gemstone of Guardian + B:allowGemstoneOfGuardian=true + + # Gemstone of Prayer + B:allowGemstoneOfPrayer=true + # Grave's Key B:allowGraveKey=true @@ -80,10 +91,11 @@ allowedmagicitems { # Magic Scroll B:allowMagicScroll=true - - # Magic Scroll B:allowMerchantStone=true + # Receptacle of Familiar + B:allowReceptacleOfFamiliar=true + # Scroll of Aquatic Life B:allowScrollOfAquaticLife=true @@ -124,6 +136,9 @@ allowedmagicitems { # Tablet of Cupidity B:allowTabletOfCupidity=true + # Tablet of Guard + B:allowTabletOfGuard=true + # Tablet of Home B:allowTabletOfHome=true @@ -155,8 +170,6 @@ client { # Shows only the elapsed minecraft days since the death on graves B:dateInMCTime=false - - # Denies to create a grave with your items when you die B:denyGraveOnDeath=false # Display or not the messages of gain of points in knowledge of death @@ -168,6 +181,9 @@ client { # Equips elytra in priority when recovering your lost items B:equipElytraInPriority=false + # Equips shield in priority when recovering your lost items + B:equipShieldInPriority=false + # Favorite grave # Valid values: # GRAVE_SIMPLE @@ -208,13 +224,8 @@ client { # DEFAULT # FORCE_NORMAL # FORCE_HALLOWEEN + # FORCE_CHRISTMAS S:graveSkinRule=DEFAULT - - # Defines your grave placement logic (nearest or ideal placement) - # Valid values: - # SAFEST - # NORMAL - # NEAREST S:graveSpawnRule=NORMAL # Highlights the tomb from far when holding the key @@ -236,6 +247,9 @@ client { # Favor the tools on the hotbar when recovering a grave B:priorizeToolOnHotbar=false + # Sorts the inventory by filling the last slots first + B:reverseInventorySorting=false + # Shows all the infos in the tooltip of items B:showEnhancedTooltips=true @@ -343,7 +357,7 @@ decorativegrave { # Max: 1000 I:chanceSoul=100 - # The cooldown in minutes to reset the perks with the Ankh of Pray + # The cooldown in minutes to reset the perks with the Ankh of Prayer # Min: 20 # Max: 1440 I:cooldownResetperk=20 @@ -418,6 +432,9 @@ enchantments { # Enables the enchantment Soulbound B:enableEnchantmentSoulbound=true + # Enables the enchantment Spectral Conjurer + B:enableEnchantmentSpectralConjurer=true + # Allows Magic Siphon at enchanting table B:magicSiphonEnchantingTable=true @@ -428,13 +445,28 @@ enchantments { # DISALLOW S:"magicSiphonOnPlayerRule "=ALLOW + # Maximum cooldown in seconds to have a chance to spawn a Spectral Wolf + # Min: 120 + # Max: 600 + I:maxCooldownSpectralConjurer=240 + # Maximum duration of stolen effects in minutes # Min: 1 # Max: 2147483647 I:maxDurationMagicSiphon=1440 + + # Maximum duration of conjured Spectral Wolf + # Min: 10 + # Max: 300 + I:maxDurationSpectralConjurer=60 I:maxLevelMagicSiphon=5 I:maxLevelPlagueBringer=3 + # Minimum cooldown in seconds to have a chance to spawn a Spectral Wolf + # Min: 20 + # Max: 90 + I:minCooldownSpectralConjurer=60 + # The wearer is also affected by the effect if his alignment is not bad B:nerfPlagueBringer=true B:nerfShadowStep=false @@ -454,6 +486,9 @@ enchantments { # Allows Soulbound at enchanting table B:soulboundEnchantingTable=true + + # Allows Spectral Conjurer at enchanting table + B:spectralConjurerEnchantingTable=true } @@ -464,7 +499,6 @@ enchantments { ########################################################################################################## general { - # Allows players to be hurt by special damages related to some items B:allowBeyondTheGraveDamage=true B:autoEquipOnDeathRespawn=true @@ -491,6 +525,11 @@ general { I:"cooldownTeleportDeath "=-1 I:cooldownTombRaiding=60 I:decayTime=-1 + + # Rarity for Easter Eggs to spawn during Easter + # Min: 1000 + # Max: 100000 + I:easterEggSpawnRarity=5000 I:familiarReceptacleRequiredLevel=10 # The duration of the Ghostly Shape effect in seconds @@ -533,7 +572,7 @@ general { # Allows teleportation to other dimensions B:teleportDim=true - # Beneficial effects that can't used by certain features such as ankh of pray, lollipop, scroll of preservation, alchemy perk and magic siphon enchantment + # Beneficial effects that can't used by certain features such as ankh of prayer, lollipop, scroll of preservation, alchemy perk and magic siphon enchantment S:unhandledBeneficialEffects < tombstone:ghostly_shape tombstone:preservation @@ -572,38 +611,19 @@ general { loot { I:chanceDecorativeGraveOnBoss=50 - - # Chance on 1000 to receive a familiar receptacle on undead boss - # Min: 0 - # Max: 1000 I:chanceFamiliarReceptacleOnBoss=100 - - # Chance on 1000 for undead mobs to drop Grave's Dust - # Min: 0 - # Max: 1000 I:chanceGraveDust=100 - - # Chance to loot a Lost Tablet by fishing - # Min: 0 - # Max: 1000 I:chanceLootLostTablet=100 I:chanceRandomPoppetOnBoss=100 - - # Chance on 1000 to receive a random scroll on undead boss - # Min: 0 - # Max: 1000 I:chanceRandomScrollOnBoss=100 - - # Chance on 1000 to receive a Soul Receptacle on undead boss - # Min: 0 - # Max: 1000 I:chanceSoulReceptacleOnBoss=50 - - # Chance on 1000 to receive a voodoo poppet on undead boss - # Min: 0 - # Max: 1000 I:chanceVoodooPoppetOnBoss=100 B:dropOnlyOnPlayerKill=true + + # Maximum xp rewarded with a Lost Page of Erdös + # Min: 100 + # Max: 200000 + I:maxXpLostPage=2000 S:treasureLootTable < minecraft:chests/end_city_treasure minecraft:chests/abandoned_mineshaft @@ -653,14 +673,8 @@ player_death { # Max: 2147483647 I:decayTime=-1 B:gravesByPassGriefingRules=true - - # Whether to handle player death B:handlePlayerDeath=true B:handlePlayerXp=true - - # Knowledge of Death loss why dying - # Min: 0 - # Max: 500 I:knowledgeLoss=0 # Whether to log the positions of players' graves @@ -684,7 +698,9 @@ player_death { # Caps the duration of Ghostly Shape effect to 10 seconds when teleporting with a Grave's Key B:nerfGhostlyShapeTeleportWithKey=true - # Coordinates where graves shouldn't spawn + # Dimensions where graves shouldn't spawn + I:noGraveDimension < + > S:noGraveLocation < 0, 0, 0, -10000, 20 > @@ -820,4 +836,3 @@ village_siege { B:undeadWearHelmInSiege=true } - diff --git a/oresources/contenttweaker/lang/en_us.lang b/oresources/contenttweaker/lang/en_us.lang index ce54fc01..f90fa723 100644 --- a/oresources/contenttweaker/lang/en_us.lang +++ b/oresources/contenttweaker/lang/en_us.lang @@ -3251,6 +3251,17 @@ tile.contenttweaker.miniature_white_hole.name=Miniature White Hole item.contenttweaker.supercharged_signalum.name=Supercharged Signalum Ingot item.contenttweaker.charged_signalum.name=Charged Signalum Ingot tile.contenttweaker.cosmic_string_module.name=Cosmic String Module +item.contenttweaker.thaumic_brush.name=Thaumic Brush +item.contenttweaker.warren_peat.name=Warren Peat +tile.contenttweaker.hypergrowth_actualizer.name=Hypergrowth Actualizer +tile.contenttweaker.trinity_hypergrowth_component.name=Trinity Hypergrowth Component +tile.contenttweaker.cosmic_hypergrowth_component.name=Cosmic Hypergrowth Component +tile.contenttweaker.freedom_definer.name=Freedom Definer +tile.contenttweaker.wishful_definer.name=Wishful Definer +tile.contenttweaker.quasar_charged_core_of_definition.name=Quasar-Charged Core of Definition +tile.contenttweaker.directed_miniature_quasar.name=Directed Miniature Quasar +tile.contenttweaker.quasar_burst_director.name=Quasar Burst Director +fluid.inquiring_abyssite=Inquiring Abyssite diff --git a/oresources/contenttweaker/lang/zh_cn.lang b/oresources/contenttweaker/lang/zh_cn.lang index 24a6d1ce..ae9fb25a 100644 --- a/oresources/contenttweaker/lang/zh_cn.lang +++ b/oresources/contenttweaker/lang/zh_cn.lang @@ -3050,9 +3050,9 @@ item.contenttweaker.apothecary_fissile_dust.name=药师裂变粉 item.contenttweaker.silvan_fissile_dust.name=繁森裂变粉 item.contenttweaker.innerved_fissile_dust.name=活化裂变粉 item.contenttweaker.radiant_fissile_dust.name=光辉裂变粉 -item.contenttweaker.kampylotitum.name=Kampylotitum Ingot -item.contenttweaker.elleipsinyum.name=Elleipsinyum Ingot -item.contenttweaker.ekkremesynium.name=Ekkremesynium Ingot +item.contenttweaker.kampylotitum.name=曲质锭 +item.contenttweaker.elleipsinyum.name=椭素锭 +item.contenttweaker.ekkremesynium.name=悬连锭 item.contenttweaker.soul_of_kashan.name=卡尚之魂 item.contenttweaker.pure_twilight_matter.name=纯净暮光物质 item.contenttweaker.shard_of_the_cosmos.name=寰宇碎片 @@ -3251,6 +3251,17 @@ tile.contenttweaker.miniature_white_hole.name=微型白洞 item.contenttweaker.supercharged_signalum.name=超充能信素锭 item.contenttweaker.charged_signalum.name=充能信素锭 tile.contenttweaker.cosmic_string_module.name=宇宙弦模块 +item.contenttweaker.thaumic_brush.name=神秘灌木丛 +item.contenttweaker.warren_peat.name=迷道泥炭 +tile.contenttweaker.hypergrowth_actualizer.name=超高速生长显化器 +tile.contenttweaker.trinity_hypergrowth_component.name=三一超高速生长元件 +tile.contenttweaker.cosmic_hypergrowth_component.name=寰宇超高速生长元件 +tile.contenttweaker.freedom_definer.name=自由定义器 +tile.contenttweaker.wishful_definer.name=怀愿定义器 +tile.contenttweaker.quasar_charged_core_of_definition.name=类星体充能定义核心 +tile.contenttweaker.directed_miniature_quasar.name=定向微型类星体 +tile.contenttweaker.quasar_burst_director.name=类星体爆发导向器 +fluid.inquiring_abyssite=推演深渊金属 # Custom Materials base.material.demonic_steel=恶魔钢 diff --git a/oresources/modularmachinery/lang/zh_cn.lang b/oresources/modularmachinery/lang/zh_cn.lang index 425ff9ea..5c4f25a1 100644 --- a/oresources/modularmachinery/lang/zh_cn.lang +++ b/oresources/modularmachinery/lang/zh_cn.lang @@ -221,4 +221,5 @@ modularmachinery.warren_extractor_naquadah=迷道提取器:硅岩 modularmachinery.warren_extractor_rhenia=迷道提取器:铼 modularmachinery.bee_stargate=蜜蜂星门 modularmachinery.wormhole_field_generator=虫洞场发生器 -modularmachinery.xp_assimilator=经验浴池 \ No newline at end of file +modularmachinery.xp_assimilator=经验浴池 +modularmachinery.abyssal_entropic_catalyzer=深渊熵变催化器 \ No newline at end of file diff --git a/resources/actuallyadditions/lang/zh_CN.lang b/resources/actuallyadditions/lang/zh_CN.lang new file mode 100644 index 00000000..9b3a6503 --- /dev/null +++ b/resources/actuallyadditions/lang/zh_CN.lang @@ -0,0 +1,2 @@ +tile.actuallyadditions.block_player_interface.name=玩家接口 +container.actuallyadditions.playerInterface.name=玩家接口 diff --git a/resources/aether_legacy/lang/zh_cn.lang b/resources/aether_legacy/lang/zh_cn.lang new file mode 100644 index 00000000..80b3b394 --- /dev/null +++ b/resources/aether_legacy/lang/zh_cn.lang @@ -0,0 +1,4 @@ +item.obsidian_helmet.name=[天境]黑曜石头盔 +item.obsidian_chestplate.name=[天境]黑曜石胸甲 +item.obsidian_leggings.name=[天境]黑曜石护腿 +item.obsidian_boots.name=[天境]黑曜石靴子 diff --git a/resources/aoa3/lang/zh_cn.lang b/resources/aoa3/lang/zh_cn.lang new file mode 100644 index 00000000..03be6315 --- /dev/null +++ b/resources/aoa3/lang/zh_cn.lang @@ -0,0 +1,10 @@ +item.Sapphire.name=[虚无]蓝宝石 +item.Jade.name=[虚无]翡翠 +item.Amethyst.name=[虚无]紫晶 +tile.SapphireOre.name=[虚无]蓝宝石矿石 +tile.AmethystOre.name=[虚无]紫晶矿石 +tile.JadeOre.name=[虚无]翡翠矿石 +tile.JadeBlock.name=[虚无]翡翠块 +tile.SapphireBlock.name=[虚无]蓝宝石块 +tile.AmethystBlock.name=[虚无]紫晶块 +entity.aoa3.cyclops.name=单眼巨人 \ No newline at end of file diff --git a/resources/binniecore/lang/zh_CN.lang b/resources/binniecore/lang/zh_CN.lang new file mode 100644 index 00000000..9b90a7f9 --- /dev/null +++ b/resources/binniecore/lang/zh_CN.lang @@ -0,0 +1,2 @@ + +binniecore.item.container.glass=装盛瓶 diff --git a/resources/careerbees/lang/zh_cn.lang b/resources/careerbees/lang/zh_cn.lang new file mode 100644 index 00000000..09896e95 --- /dev/null +++ b/resources/careerbees/lang/zh_cn.lang @@ -0,0 +1 @@ +BeeMod.text.made.by.the.honeysmelter.bees.special=通过“蜜炼蜂”的特殊效果制成。在附近的鲜花坛中放置铁锭。 diff --git a/resources/contenttweaker/blockstates/cosmic_hypergrowth_component.json b/resources/contenttweaker/blockstates/cosmic_hypergrowth_component.json new file mode 100644 index 00000000..b7e04364 --- /dev/null +++ b/resources/contenttweaker/blockstates/cosmic_hypergrowth_component.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/cosmic_hypergrowth_component", + "particle": "contenttweaker:blocks/cosmic_hypergrowth_component" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/directed_miniature_quasar.json b/resources/contenttweaker/blockstates/directed_miniature_quasar.json new file mode 100644 index 00000000..ae7c0e83 --- /dev/null +++ b/resources/contenttweaker/blockstates/directed_miniature_quasar.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/directed_miniature_quasar", + "particle": "contenttweaker:blocks/directed_miniature_quasar" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/freedom_definer.json b/resources/contenttweaker/blockstates/freedom_definer.json new file mode 100644 index 00000000..76a55acb --- /dev/null +++ b/resources/contenttweaker/blockstates/freedom_definer.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/freedom_definer", + "particle": "contenttweaker:blocks/freedom_definer" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/hypergrowth_actualizer.json b/resources/contenttweaker/blockstates/hypergrowth_actualizer.json new file mode 100644 index 00000000..7ca38c8f --- /dev/null +++ b/resources/contenttweaker/blockstates/hypergrowth_actualizer.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/hypergrowth_actualizer", + "particle": "contenttweaker:blocks/hypergrowth_actualizer" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/inquiring_abyssite.json b/resources/contenttweaker/blockstates/inquiring_abyssite.json new file mode 100644 index 00000000..38f8e889 --- /dev/null +++ b/resources/contenttweaker/blockstates/inquiring_abyssite.json @@ -0,0 +1,12 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "forge:fluid", + "custom": { + "fluid": "inquiring_abyssite" + } + }, + "variants": { + "normal": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/quasar_burst_director.json b/resources/contenttweaker/blockstates/quasar_burst_director.json new file mode 100644 index 00000000..fe75001c --- /dev/null +++ b/resources/contenttweaker/blockstates/quasar_burst_director.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/quasar_burst_director", + "particle": "contenttweaker:blocks/quasar_burst_director" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/quasar_charged_core_of_definition.json b/resources/contenttweaker/blockstates/quasar_charged_core_of_definition.json new file mode 100644 index 00000000..1844ff22 --- /dev/null +++ b/resources/contenttweaker/blockstates/quasar_charged_core_of_definition.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/quasar_charged_core_of_definition", + "particle": "contenttweaker:blocks/quasar_charged_core_of_definition" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/stone_of_the_resurrected_shard.json b/resources/contenttweaker/blockstates/stone_of_the_resurrected_shard.json new file mode 100644 index 00000000..04f264f5 --- /dev/null +++ b/resources/contenttweaker/blockstates/stone_of_the_resurrected_shard.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/stone_of_the_resurrected_shard", + "particle": "contenttweaker:blocks/stone_of_the_resurrected_shard" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/trinity_hypergrowth_component.json b/resources/contenttweaker/blockstates/trinity_hypergrowth_component.json new file mode 100644 index 00000000..09913bed --- /dev/null +++ b/resources/contenttweaker/blockstates/trinity_hypergrowth_component.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/trinity_hypergrowth_component", + "particle": "contenttweaker:blocks/trinity_hypergrowth_component" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/blockstates/wishful_definer.json b/resources/contenttweaker/blockstates/wishful_definer.json new file mode 100644 index 00000000..90d71224 --- /dev/null +++ b/resources/contenttweaker/blockstates/wishful_definer.json @@ -0,0 +1,16 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "texture": "contenttweaker:blocks/wishful_definer", + "particle": "contenttweaker:blocks/wishful_definer" + }, + "model": "base:storage", + "uvlock": true, + "transform": "forge:default-block" + }, + "variants": { + "normal": [{}], + "inventory": [{}] + } +} \ No newline at end of file diff --git a/resources/contenttweaker/lang/en_us.lang b/resources/contenttweaker/lang/en_us.lang index ce54fc01..87e6f9d4 100644 --- a/resources/contenttweaker/lang/en_us.lang +++ b/resources/contenttweaker/lang/en_us.lang @@ -3183,7 +3183,7 @@ item.contenttweaker.stone_of_dimensional_ascension.name=Stone of Dimensional Asc item.contenttweaker.astral_mastery_tome.name=Tome of Astral Mastery item.contenttweaker.master_spell_infernum.name=Master Spell: Infernum item.contenttweaker.master_spell_sonus.name=Master Spell: Sonus -item.contenttweaker.master_spell_gognitio.name=Master Spell: Cognitio +item.contenttweaker.master_spell_cognitio.name=Master Spell: Cognitio item.contenttweaker.white_hole_core.name=White Hole Core item.contenttweaker.quasar_core.name=Quasar Core item.contenttweaker.call_to_mission.name=Call to Mission @@ -3251,6 +3251,17 @@ tile.contenttweaker.miniature_white_hole.name=Miniature White Hole item.contenttweaker.supercharged_signalum.name=Supercharged Signalum Ingot item.contenttweaker.charged_signalum.name=Charged Signalum Ingot tile.contenttweaker.cosmic_string_module.name=Cosmic String Module +item.contenttweaker.thaumic_brush.name=Thaumic Brush +item.contenttweaker.warren_peat.name=Warren Peat +tile.contenttweaker.hypergrowth_actualizer.name=Hypergrowth Actualizer +tile.contenttweaker.trinity_hypergrowth_component.name=Trinity Hypergrowth Component +tile.contenttweaker.cosmic_hypergrowth_component.name=Cosmic Hypergrowth Component +tile.contenttweaker.freedom_definer.name=Freedom Definer +tile.contenttweaker.wishful_definer.name=Wishful Definer +tile.contenttweaker.quasar_charged_core_of_definition.name=Quasar-Charged Core of Definition +tile.contenttweaker.directed_miniature_quasar.name=Directed Miniature Quasar +tile.contenttweaker.quasar_burst_director.name=Quasar Burst Director +fluid.inquiring_abyssite=Inquiring Abyssite diff --git a/resources/contenttweaker/models/item/thaumic_brush.json b/resources/contenttweaker/models/item/thaumic_brush.json new file mode 100644 index 00000000..66dea152 --- /dev/null +++ b/resources/contenttweaker/models/item/thaumic_brush.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "contenttweaker:items/thaumic_brush" + } +} diff --git a/resources/contenttweaker/models/item/warren_peat.json b/resources/contenttweaker/models/item/warren_peat.json new file mode 100644 index 00000000..dbe1bc35 --- /dev/null +++ b/resources/contenttweaker/models/item/warren_peat.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "contenttweaker:items/warren_peat" + } +} diff --git a/resources/contenttweaker/textures/blocks/cosmic_hypergrowth_component.png b/resources/contenttweaker/textures/blocks/cosmic_hypergrowth_component.png new file mode 100644 index 0000000000000000000000000000000000000000..e789f0567fcdb3fc9eb806ae9bbc6f851e761427 GIT binary patch literal 5204 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7j#h<4lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNTr9h~_)2!1MdLh_#awlj`w>izk;g%hoSzSsAjqrBKdD@!^j> z@eeNwMm8^7n{s+4gXz`?MK0belV^TO;m_z&m9J~*&t2%Xc2#l~}F& zP`2}z`)p?>FgZf z>Ff;i5CcQSoZ5-D9)}%dj>ZRfE9okQ2^5|PnEPgtQs2@p*9`%;xYkX?( z-2LFz2M>-XT|Ia-GMqi!QQ!|lq4*q;*d<5)tG0?6%E^3xe0T5hyVedFVKcM79bpLF z+*6{Y_w3W^r1#oP9Ek#l8;BsJQ0t;p5kLYn=aN_x(ACChKHIyNMRZN)9XC zQGPZ z{R=!kUun9}IxY!Iv4Cc-lOLP^AAFy8_R*IqvqgHC8^v$`lVGnZZwx!UZGV66?oy^7 z^Bc9-K3;FyxYPfVw5)Cs3r`NS_;p#|d(3*}4HMO4ja1w}T^8wbeekzupC&)gU8cX; zdHHW^=h!hszRLQ^W?{ji<~3#SyN~boy}S3%_VT;;>^}8H(;4R9zQ(}7Z;}}jQ4-ZxN)4{^3rViZPPR-@vbW>1sj#ZZEyztRNmQuF&B-gas<2f8n`@Ot;j4hQnKSxuqjGOvkG!?gBnqkl4h%vQBqQ1rLSLJ zUanVete0Puu5V~*X{m2uq;F)TTa=QfTU?n}l31aeSF8*&0%C?sYH@N=W(tB0+w{vfnBtKRGkS3d~G1O-@ctHBZ$wGf%eEH8D0b)wQrRGuJguNwzdIG%-vvHaABy z$}_LHBrz{J6=YOJZh>BAW{OoxvU!?CvZbM}fuUiVu8Da{nr>pUg(ZkENK7#_H8(d) zMKZ#_C^J1XFEIz%RUo5MGE=M)&CCjCC!OlZ|wf4J;B3Op?-) zQ!R|aMx`WMx#bt-CYIPLW#%TPr|K8vrGq6v0dD0O;AyL5q-TH-3CKw-Ny{(FwN(nw z%uC5HFGfg(Wag#@mn4G1)6m?++|bnA)Xdb(+}y~>6rm_AwWv5VKM!Q8p@E*U30MXc zF;@OXnW=dtiJ+8ft7HfkugER1axO|uEXgkl$#;vkT;Z)!w6a{FKbJNk%QI3z@nB$NplfKPYhV~+Xli9>Xk}ocq)&VAr5LA}rW#t9 z>ZT>8ChM9cryA&5B%2xPnj|NtB$-J-laO zn37_VlwzQpW@2QdYhq+-rfXr8Y^iH%VU%oak!)a+l449H@0r592TAazFz?yugUb70 zXj-+=$4Jc(1xOWy9hU+`EXc*pj>|?LTuXs!ENF57RT(tI&|E}A8x#~2MlB&Jd`E+8 zG`L6#0g@DtrmoT8A}It&QaqZvs1{sYh^}yIUW%b`X`Gf35YD@Q#a9xmlQ4c7_@-E=)3- z`R=jOzW4%iXWZ2K^05Ox|;}xqd0wp~)BY?*~bnM*KDCUp>Vj$slQFId{ay9bTPV|Efy8RGYga*2Cz@ z>A3gz3Ul}~`nIolr=N86-?GxDe`UUIaaGSN-g#MhK?et$U=!P>cN5-MGy5%aewF!J ze{e7uAF&3^>Gn|veX(w;kOUO#E7x|Nh$&l#>M z=-Fb*XS}yL({rC{dd%Bzf`T@T{tlr#@9kYIyq$ZJW>3e5%ls>PrCdEXy%Uf(Vi4-& ze06e{vtD@>t7m}!g$CgkNo((b^M?{<-nz|}EW3E;XSws;AG*%=&+{=pW|gMmyvW9l zU8I%qMW*FVdQ&MBb@01kI# AzyJUM literal 0 HcmV?d00001 diff --git a/resources/contenttweaker/textures/blocks/directed_miniature_quasar.png b/resources/contenttweaker/textures/blocks/directed_miniature_quasar.png new file mode 100644 index 0000000000000000000000000000000000000000..c77ec34b84cf8c74a27c0ad2c3dbac4e04649a45 GIT binary patch literal 4385 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74poIjlmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNTr9xXpW5f#*+pSKkBigky@lQ+GKYU*9=bYm05?<3AS?=Nx)55qUmUu4Cb2@mD-)%y(azn7r&o7!2mfpzw7U2D5er3y1&fP0(3@=rS zY};`HTz$ zBMIYf{sW(%9J%Xa=C*BN+T=_-qa&tgauol6D^c3Zcy(DM*B5JhQ3eLa=1gbj08eLU zm~R*uD(2KqwDmabAagW6xLZkADNLa7M8MoPiBYDUa2R$r+}BI51` zw?24qJn8Deqmkk4;f?}-7z)Mbh{P^A@?W)8%ur6|`{TQNkKeU+$OxO6_3a2l=;odh zCB0{#RwupJX5vT`INWf=$987qnM1`jcMl)GzFXt`C%f;@IW$=(GulnGI9764>7K&8 zyIV@m{XUWyHcjMF@gvV>J&!*pN^d?jKd0KxI#1GU)62?71{)(@CGG5vycy7$-l5#J zDsbO~;>d@4jz+G%7WsSLpVos-+a^7&A@Wt$Pc{n+7B#Oad*6M0x9{D(f3}z3y=V8SFPhFU|MoQo2HvvFkcg59UmvUF z{9L`nl>DSry^7od1`x2ZuP8`N&Q2{+NJ>r5%(GQ`zk9!uLS~AsQn;zFfp39xYDT6< zRZ(him0w75Rd%vvijut@mraFLMQ%ZEYDuC(MQ%=Bu~mhw64+d;ykaYmu)dN4SV>8? ztx|+m%sQCX6ih6pSa-+*Mm-a&RqMQ#DyTolzXzk?Nn!^p}dKe-g-JWm%} zC6N7ADf!8nDOO-+qPc}}Vsf&HZjwoAlCFt~fw``QiLtq^iFvAtL8_sld7`;7l2M*{ z#U+V($*CZtDsl_-GBZ=Gk_}8v43i8}bW@VdQgux%EiH8|j7-dRjSUl%Q!SHC%*_l9 zk&N&!%1qD9OUyxb709TR%oM9Mqh!O>Bx6I}lvMLnT@wTIWZgs~vqW9KRDalrD`9-;jCALbLxryni`UQFEU^_qoZsi!@X{%(UXMhk1$Vn_o%P-2cRSM6{ zOUW-UMo5KZ=B5UhB!a@z(A>n_(A3=A$il?f*xV3Fe^_c!ab|uV$W%iEJ!2EFc2LAv z`4?rT=9MIZQmU;I#Bmk51y;^Qsfi`|MIrh5Ikrk5M=2QTK@9{+`=*v8rX-dmx+IpQ z+A0|t7@1lbm|7VchZq`I8Jk)end=&uTNywc09K!$l9^UXNVOd(d)PoC-6ONOB)_N< zECk6@!KsB19)z2d2~w?~pa9MmR*A_FFBB)1rKW(r2bW6DNX$!5O|eyiCRmu3Oe~4P z%*Z4$$;3EO*EHG8NY}(P)mS&t#3W7E)Y90@z#`c&CCS(f)%4>0w370~qEyH9)VvZ~ zCHKtS0&rL54NP?rL1v+(5AmLjKB&Zi`PN1sBRn7qkct>P zE(M5Kkc*ogmyJHSoCB445CcJF4lOY>9%yNWg2JdJB!%y2aE%5RNg+Uz;?dMK8eAlW z07;5RQy0~Oiwn`2O3h2LRVr7qx7+$IB#wcBfi20~-38R&Vqo~`yt|%(fq}EYBeIx* zfm;}a85w5Hkzin8U@!6Xb!C6a$}6ZWQxF-d$H2gF-qXb~#NzbQ$$NPZ83?$=uL=30 z=`*=Wb`i%(>m|t(&P;TCv5A>Auxx<`v&YL!-_nU6{hJ=F*13Q8`R;V<-M5zKN?H^? zIKvw*YpTo4=IiWvp5;L6@kxuT)OcpiSi+Ey()Uaw@=m4hY&O{$zdjy#AYOW9KHJK` zpe)I4)&;)OrxfO$b~@p8a9-?z1FgSAo4cC2lC~b+FTtQOQ#;JYNd3Ki!h_R$%i|Av zmzW2ATBygCeKgO<>eJ`X5u5Ub9xKc1THm@?=Y3~EbMuvJ(f++ERm^US?W?CVG<*RC NhNr8a%Q~loCID0!J}3YH literal 0 HcmV?d00001 diff --git a/resources/contenttweaker/textures/blocks/freedom_definer.png b/resources/contenttweaker/textures/blocks/freedom_definer.png new file mode 100644 index 0000000000000000000000000000000000000000..29e383014d9cb3de0d331a559460c5daf2a0bda6 GIT binary patch literal 5092 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 literal 0 HcmV?d00001 diff --git a/resources/contenttweaker/textures/blocks/hypergrowth_actualizer.png b/resources/contenttweaker/textures/blocks/hypergrowth_actualizer.png new file mode 100644 index 0000000000000000000000000000000000000000..39e242f598f4e954310329103792c65438a7fd0e GIT binary patch literal 5229 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 literal 0 HcmV?d00001 diff --git a/resources/contenttweaker/textures/blocks/quasar_burst_director.png b/resources/contenttweaker/textures/blocks/quasar_burst_director.png new file mode 100644 index 0000000000000000000000000000000000000000..e7105ed8d7801b149fe2b325d86ff9019237e5dc GIT binary patch literal 5204 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 literal 0 HcmV?d00001 diff --git a/resources/contenttweaker/textures/blocks/quasar_charged_core_of_definition.png b/resources/contenttweaker/textures/blocks/quasar_charged_core_of_definition.png new file mode 100644 index 0000000000000000000000000000000000000000..a5531bf07e05572b224ea8573059afe20b2a06f1 GIT binary patch literal 5093 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7j#Pz2lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNTr9aO69pz_I6ZS1l8lmfi8Z-6#Jg%-^59)Hm1bk%d8uOUCb7 z`!BBqn3>9-~C)#=(c91z5AKa~^s}v?scp_l#n?*`}OS@b*1l;0UYc(V07pt$-BoT4< zgIgawIG%L%;L*r%_HajmKMaN9b3|g79Qm)>DrP7r^ZoJNy~pobJ7k2-%=&hOA#`(3 ziIU#4PpgyOYcp{q3LI`Y;$u5A^30*)n!AUOU*D~9{*&GJ=Ny`>lNs$MS{y4mtaMLd z-rX%F=YAha44WqMsQ8g*v!2JF6Qwtwnx9i`XPqZ$w&`W%BZG|*uab6lN8SwROz%+c zS{1l&LUH87Jx3$gUW@!a?@#N&rfriRTAeji+0ddAB%rvsk89Nifu*6!M_p!pdo1@a z@c4YC=|1bYBrL@Onz>GXZ2o`necsteU#83!>0xdZzx_{wy{f!1?C`ez{kgkKnSRV~ z)L#2|y=mi4|4Y)cxynEFq1&f;3l)djhzT5Zi-ap&R@7}Zf)E7->n1A~k0|UQFW=KRygs+cP za(=E}VoH8es$NBI0Rsrw*jE%JCTFLXC?ut(XXe=|z2CiGNg*@ERw>-n*TA>HIW;5G zqpB!1xXLdixhgx^GDXSWj?1RPsv@@_H?<^Dp&~aYuh^=>RtapbRbH_bNLXJ<0j#7X z+g2&UH$cHTzbI9~M9)OeK-aY*v&=}zj!VI&C?(A*$i)q6L{Unbtx`rwNr9EVetCJh zUb(Seeo?xGK4GRO#s87`^C$wiq3C7Jno3LrBR zlk!VTY?YL_6ciMohF9bk`1-<)&nt$8LUMktennz|zM-Cher~QlvX0^s*Rm4)I*LOo z3sUuiQj7CTi;`1a%Tn`7l#z`{Nrvk$C@snXdnYAXKQ$*cH#M)MSl>|35XDM&Pu~Ez z4p0!JXXX}wbyegRpr|a#OhW_~if=$NVDBJ1q$0NfZZ3*ynBT#Q!C_?OlAl}(a-OG) ztrEz7tCalY%oHmy)6yU{IVB~{QrFBNB~8~P$;?PMDJ?loH^nf?G$ke3C@Cey6v-&h zyyB9?yyR4nQ5CrbdYPFiR%xlmW~mk?iMr;=7OA=>rb)@VmPy8Gx@IQH$)>4E21%(Y z$w)@{7iFer<|XDJy9#7fN@j{xl7V@$xv{CKu4S@`v95_lqM>e5s)2!Ss*$0QiGi81 zVTuXFsFY+YxBQ~q#1dPj%-qEERQ-aybg&(u0Jm}s@U&Gj(lbDa1mq-^q~#ao+A4)- z=B4D97bB!XGILXdOABVo9P) zVo9p4l97Rtsg;4Lm7#Hnp@EgLiItJ5u7SCg0h0Rsl+3hBLaOaR*~11B=^mNICHX~_ zU?E7J3QjGA@F3irOps~?1qE=nuu4pZc%eA4EHwq}4Y*WtMq*xiYKpBAG{M5OWMWAS zsphGvmT6|Gy2+`=pu}Kiu4`eGmZocDk!WUYl4NFLkZOi%dU1YQNqJ&Xs$+U;UWu)e zduDC{III*jpi!lXs=hoU6%-E!M#j1ZhPsAkA%+%KCT3O!W=i_B_nxJBvbkkal7+6N zVWNSqNuqh8ZlbYilCF7bqPdBAN>YlMr7@~=$@ZR!u7QQFp+ShDp_QSzm4P8Wyq98- zl9rN~W~ggo28uo7#3bFM)MN`?3xgC(1B;XtQ&Tf)dCyeWz*HBJ;Nh`nqYoEk zDFjGTJes;jgNvjPAW89P>Y`e3aUr_Gsd*{3O65xScH8-#;}{qi*pj^6T|m8M28N%` zyXzSk7&r?&B8wRqxP?KOkzv*x2?hoR_7YEDSN4~zyn;$n4T=Y&7#J8Yd%8G=Se#xu zIl4$FQJ{7I&M6Y>m;`rvCrzDhep+{j*qx^CLfsvVr^7F9N^)>wQ|dgxb2ydlR(o2* zgXCRVa?6(ee{Wyw*MBi*YioPR=Br|Y6CVb=yPE2rvh~vOLKiXai3%6;7f#`%KV1+&Pt4nqfewJZf#O%`6^|` zG>!MQz`eb;Of^5bW}2jIo^bwf0>?RqNuCzj2U57^aX;q#Q7oV^-JLq&+Kab z58mmUyb93B2$ndM#JN)BN|u4-dqy>fjU4xQq|PT+FkjuY>gR`_)@_Lo&M){NVkEgi z_wE1l%_UrV)&W{hJJ+-?UUi)}<@K|-vVVSXu6!bxU>3}*om%_<%RgU{&wNjQXC*D& zBD;RKEaQUr87&OWj27qW_S>1oeO}AEzxtK?le4z0+m`aaG?8dKCUNpz$<@C{naren zubJ@qe5tjtzkGPI=9k|ErEAYJT(_1^JgDd&u5f(J|z~(O%6*=b_CRkrC_#9-`njxgN@xNA6OJ)| literal 0 HcmV?d00001 diff --git a/resources/contenttweaker/textures/blocks/trinity_hypergrowth_component.png b/resources/contenttweaker/textures/blocks/trinity_hypergrowth_component.png new file mode 100644 index 0000000000000000000000000000000000000000..d3029ef6b80b10da79a29dcefb28eb59d74afb66 GIT binary patch literal 5220 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7j#Y(3lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNTr9xXpW5f#=V65!r+Ka&qk^E3fcc)$v+{c2o%+|GDt6MBn+} zto?jytiDUrPD{#WW!;GhnUm4XSz5qS(WT12pQ+mG&os$vGJn(O6%;OdrWM=s%9!hR zlmYMmD&wy9CH_bBz8P#X5Squz)oixE^=8)2xMYxNG^(b$`crw! zPXVD4v5S@sUnV=u>VD$$$oZ?@3omY5(N%79PzQ88F}VVan0Ss$FJ|!IRDA+`*RLW*2#=^6D^LF99Fug zFz@b`l5@Y0B!*2Bc~tz!vsusM&xz8TPtDJ%wzJNYG~4vD@{z&Dh*wEFyCZJ~bf$MG zcdZKCH=#K4;hv+BYp+HAp7*EqVAHlq53SA`s%&Uc2@+6T+{d+QgTT^I<)bdMzCD)v z7kGTW(sZA7ToRUI0nJ<|KQ{kA_&)FKqc2lti}Wxzir@Yx!CqC~7$1N0nDxpVCaT98sknc-EYjur;BU`9O@5xcOn#*Gt9qzje&vRBr_zUB*NFn zDmgz_FEJ%QDOIl`w}1fzZ0suv5|gu2OB9k)(=+pImEP~(ucVNfVyhHx>TBRz;GCL~ z=}}db8eHWUl3bOYY?-2DZ^va*VO5b^kegbPs8ErclUHn2VXFi-*D9~r3M8zrqySb@ zl5MLL;TxdfoL`ixV4`QDXQ1m^ky&P>WXGjoQ-9F1v$^t z#a0Pqzg0?pa%PGZn3-mpoSd3!o~mnRo@}XWVr*urYhh_-u4|f-Y-wg_VwhxXZjNM> zXI^nhVqS78$f%0k0=>-46e|nMG|Lpr#3Wrq^OPiAlOz*!UCX586y4;cv_vBd6C-1b z6jLN4{EITvGxHL2kX;2bDkU?;D$&e5(LB{KQ8(4t(oEMR&A?dKGCA2uH`%}<(ZD1r zEjiV~7;IEZvXxtYQEp<1tx{%gVtT56L0&po0u*k38}UNWe*!jq*gGC`^p6coVO!YVNt;)UYGveXo?H{epq8Hsu6sVTNf&;$$9l8GfT z7+NMK8Kk6`=%%HZ8|s=EnHlL?rkR`RCYc+jm>LRhtDXQFFhstZaHMplLqd}@SbIg zaau~Mv4O6MWvYp;iE)aNZla~Bxo)CCnuT#VO32DT(`cNb7^ znStS_^X_^E1_sUokH}&M2B8uVX1tdsU%|k@z+U3%>&pI;l~+(wR7c17GXn!tfTxRN zh{fsB$!Gn80|k!O7r(E4AKAiWIBCV-iUz}VM|MnNRnfaSW$M4Vr{WWw?(7gMRbs@QTxaddMBYpGKp3k#PcQd=x#>T7R#UYn1Q}5&=&{BVJr55+~?;bu* z_rGh-jBa4yY7q2xTpz*1c(hab`kcv2nlA=Ep1S{0(kq$orwVsfIa%i=9w~aM|MHmb zK3n^Pdqnysmo4PtkTO`+ctj;;%DI(1ueRKi30N6sm}HPNv$Qy3W5}vdtLXMCn^Ua{ zi;X5Fs(icrONPB{ddZIo-@>@Hzip44z5e^kRPT~UYS!7QOkEub0*V6q;>C^3TC_smR#a0_R8JU#axbI%3U2lng54x2(up2 z*xA{%pmEu40Z-KKoNN#1(L SX>cEu8a-Y8T-G@yGywqco@yij literal 0 HcmV?d00001 diff --git a/resources/contenttweaker/textures/blocks/wishful_definer.png b/resources/contenttweaker/textures/blocks/wishful_definer.png new file mode 100644 index 0000000000000000000000000000000000000000..6afd9b5b01dcee9677c5614b1ce402b9d4330471 GIT binary patch literal 5093 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 SPw`Aph,["制作处理器,速度更 mods.jei.JEI.addDescription(,["将流体转化为液滴形式以便于流体合成,一个ME网络中只能存在一个!"]); mods.jei.JEI.addDescription(,["将液滴转化回流体,以防卡住。使用该方块可将液滴视为物品进行自动化。"]); mods.jei.JEI.addDescription(,["既是箱子又是储罐的缓存方块,有4x16B的流体容量和9个物品槽位。"]); -mods.jei.JEI.addDescription(,["既是箱子又是储罐的缓存方块,有7x16b的流体容量和27物品槽位。"]); +mods.jei.JEI.addDescription(,["既是箱子又是储罐的缓存方块,有7x16b的流体容量和27个物品槽位。"]); mods.jei.JEI.addDescription(,["可用于向储罐内输入精准数量的流体,因为JEI联动的缘故实际上并不需要。"]); mods.jei.JEI.addDescription(,["物品和流体二合一的接口。"]); mods.jei.JEI.addDescription(,["更好版本的流体标准发信器,可标记5种流体。"]); diff --git a/scripts/ArbiterMachinery.zs b/scripts/ArbiterMachinery.zs index 98fa7fea..48db3fea 100644 --- a/scripts/ArbiterMachinery.zs +++ b/scripts/ArbiterMachinery.zs @@ -4,6 +4,12 @@ import mods.thaumcraft.Infusion; import mods.appliedenergistics2.Inscriber; +recipes.addShaped(, +[[, , ], +[, , ], +[, , ]]); + + mods.thaumcraft.Infusion.registerRecipe("infusefractalstone", "", , 10, [*1000, *1000, *1000, *1000, *1000, *1000, *1000, *1000, *1000, *1000], @@ -216,6 +222,11 @@ recipes.addShaped(*8, [, , ], [, , ]]); +recipes.addShaped(*2, +[[, , ], +[, , ], +[, , ]]); + recipes.addShaped(*1, [[null, , null], @@ -1102,8 +1113,8 @@ creatverdith6.addFluidInput(*102400); creatverdith6.addFluidInput(*102400); creatverdith6.addItemInput(.withTag({display: {Lore: ["§d§M模式 6§r"]}})); creatverdith6.setChance(0.0); -creatverdith6.addItemInput(*256); -creatverdith6.addItemInput(*256); +creatverdith6.addItemInput(*1024); +creatverdith6.addItemInput(*1024); creatverdith6.addFluidOutput(*100000); creatverdith6.build(); diff --git a/scripts/BeeStargatePortalBlocks.zs b/scripts/BeeStargatePortalBlocks.zs deleted file mode 100644 index 10d57249..00000000 --- a/scripts/BeeStargatePortalBlocks.zs +++ /dev/null @@ -1,604 +0,0 @@ -#loader contenttweaker - -import mods.contenttweaker.VanillaFactory; -import mods.contenttweaker.Item; -import mods.contenttweaker.IItemRightClick; -import mods.contenttweaker.Commands; -import mods.contenttweaker.ItemFood; -import mods.contenttweaker.IItemFoodEaten; -import mods.contenttweaker.MutableItemStack; -import mods.contenttweaker.Hand; -import mods.contenttweaker.World; -import mods.contenttweaker.IItemUpdate; -import mods.contenttweaker.Player; -import crafttweaker.player.IPlayer; -import crafttweaker.block.IBlock; -import crafttweaker.world.IBlockPos; -import crafttweaker.data.IData; -import crafttweaker.util.Position3f; -import mods.contenttweaker.IBlockAction; -import crafttweaker.events.IEventManager; -import crafttweaker.server.IServer; -import crafttweaker.command.ICommandManager; -import crafttweaker.command.ICommandSender; - -var sednaportal = VanillaFactory.createBlock("sedna_portal_block", ); -sednaportal.setBlockHardness(-1.0); -sednaportal.setToolClass("pickaxe"); -sednaportal.setPassable(true); -sednaportal.setFullBlock(false); -sednaportal.setLightValue(0.5); -sednaportal.setBlockLayer("TRANSLUCENT"); -sednaportal.setLightOpacity(0); -sednaportal.setTranslucent(true); -sednaportal.register(); - -var rheniaportal = VanillaFactory.createBlock("rhenia_portal_block", ); -rheniaportal.setBlockHardness(-1.0); -rheniaportal.setToolClass("pickaxe"); -rheniaportal.setPassable(true); -rheniaportal.setFullBlock(false); -rheniaportal.setLightValue(0.5); -rheniaportal.setBlockLayer("TRANSLUCENT"); -rheniaportal.setLightOpacity(0); -rheniaportal.setTranslucent(true); -rheniaportal.register(); - -var haumeaportal = VanillaFactory.createBlock("haumea_portal_block", ); -haumeaportal.setBlockHardness(-1.0); -haumeaportal.setToolClass("pickaxe"); -haumeaportal.setPassable(true); -haumeaportal.setFullBlock(false); -haumeaportal.setLightValue(0.5); -haumeaportal.setBlockLayer("TRANSLUCENT"); -haumeaportal.setLightOpacity(0); -haumeaportal.setTranslucent(true); -haumeaportal.register(); - -var lunaportal = VanillaFactory.createBlock("luna_portal_block", ); -lunaportal.setBlockHardness(-1.0); -lunaportal.setToolClass("pickaxe"); -lunaportal.setPassable(true); -lunaportal.setFullBlock(false); -lunaportal.setLightValue(0.5); -lunaportal.setBlockLayer("TRANSLUCENT"); -lunaportal.setLightOpacity(0); -lunaportal.setTranslucent(true); -lunaportal.register(); - - -var osirisportal = VanillaFactory.createBlock("osiris_portal_block", ); -osirisportal.setBlockHardness(-1.0); -osirisportal.setToolClass("pickaxe"); -osirisportal.setPassable(true); -osirisportal.setFullBlock(false); -osirisportal.setLightValue(0.5); -osirisportal.setBlockLayer("TRANSLUCENT"); -osirisportal.setLightOpacity(0); -osirisportal.setTranslucent(true); -osirisportal.register(); - - -var ptahportal = VanillaFactory.createBlock("ptah_portal_block", ); -ptahportal.setBlockHardness(-1.0); -ptahportal.setToolClass("pickaxe"); -ptahportal.setPassable(true); -ptahportal.setFullBlock(false); -ptahportal.setLightValue(0.5); -ptahportal.setBlockLayer("TRANSLUCENT"); -ptahportal.setLightOpacity(0); -ptahportal.setTranslucent(true); -ptahportal.register(); - - -var hatorportal = VanillaFactory.createBlock("hator_portal_block", ); -hatorportal.setBlockHardness(-1.0); -hatorportal.setToolClass("pickaxe"); -hatorportal.setPassable(true); -hatorportal.setFullBlock(false); -hatorportal.setLightValue(0.5); -hatorportal.setBlockLayer("TRANSLUCENT"); -hatorportal.setLightOpacity(0); -hatorportal.setTranslucent(true); -hatorportal.register(); - - -var europaportal = VanillaFactory.createBlock("europa_portal_block", ); -europaportal.setBlockHardness(-1.0); -europaportal.setToolClass("pickaxe"); -europaportal.setPassable(true); -europaportal.setFullBlock(false); -europaportal.setLightValue(0.5); -europaportal.setBlockLayer("TRANSLUCENT"); -europaportal.setLightOpacity(0); -europaportal.setTranslucent(true); -europaportal.register(); - -var oiportal = VanillaFactory.createBlock("oi_portal_block", ); -oiportal.setBlockHardness(-1.0); -oiportal.setToolClass("pickaxe"); -oiportal.setPassable(true); -oiportal.setFullBlock(false); -oiportal.setLightValue(0.5); -oiportal.setBlockLayer("TRANSLUCENT"); -oiportal.setLightOpacity(0); -oiportal.setTranslucent(true); -oiportal.register(); - - -var falacerportal = VanillaFactory.createBlock("falacer_portal_block", ); -falacerportal.setBlockHardness(-1.0); -falacerportal.setToolClass("pickaxe"); -falacerportal.setPassable(true); -falacerportal.setFullBlock(false); -falacerportal.setLightValue(0.5); -falacerportal.setBlockLayer("TRANSLUCENT"); -falacerportal.setLightOpacity(0); -falacerportal.setTranslucent(true); -falacerportal.register(); - - -var orcusportal = VanillaFactory.createBlock("orcus_portal_block", ); -orcusportal.setBlockHardness(-1.0); -orcusportal.setToolClass("pickaxe"); -orcusportal.setPassable(true); -orcusportal.setFullBlock(false); -orcusportal.setLightValue(0.5); -orcusportal.setBlockLayer("TRANSLUCENT"); -orcusportal.setLightOpacity(0); -orcusportal.setTranslucent(true); -orcusportal.register(); - - -var myrmexportal = VanillaFactory.createBlock("myrmex_portal_block", ); -myrmexportal.setBlockHardness(-1.0); -myrmexportal.setToolClass("pickaxe"); -myrmexportal.setPassable(true); -myrmexportal.setFullBlock(false); -myrmexportal.setLightValue(0.5); -myrmexportal.setBlockLayer("TRANSLUCENT"); -myrmexportal.setLightOpacity(0); -myrmexportal.setTranslucent(true); -myrmexportal.register(); - - -var pixoniaportal = VanillaFactory.createBlock("pixonia_portal_block", ); -pixoniaportal.setBlockHardness(-1.0); -pixoniaportal.setToolClass("pickaxe"); -pixoniaportal.setPassable(true); -pixoniaportal.setFullBlock(false); -pixoniaportal.setLightValue(0.5); -pixoniaportal.setBlockLayer("TRANSLUCENT"); -pixoniaportal.setLightOpacity(0); -pixoniaportal.setTranslucent(true); -pixoniaportal.register(); - -var proximaportal = VanillaFactory.createBlock("proxima_portal_block", ); -proximaportal.setBlockHardness(-1.0); -proximaportal.setToolClass("pickaxe"); -proximaportal.setPassable(true); -proximaportal.setFullBlock(false); -proximaportal.setLightValue(0.5); -proximaportal.setBlockLayer("TRANSLUCENT"); -proximaportal.setLightOpacity(0); -proximaportal.setTranslucent(true); -proximaportal.register(); - - -var zoiportal = VanillaFactory.createBlock("zoi_portal_block", ); -zoiportal.setBlockHardness(-1.0); -zoiportal.setToolClass("pickaxe"); -zoiportal.setPassable(true); -zoiportal.setFullBlock(false); -zoiportal.setLightValue(0.5); -zoiportal.setBlockLayer("TRANSLUCENT"); -zoiportal.setLightOpacity(0); -zoiportal.setTranslucent(true); -zoiportal.register(); - -var neroportal = VanillaFactory.createBlock("nero_portal_block", ); -neroportal.setBlockHardness(-1.0); -neroportal.setToolClass("pickaxe"); -neroportal.setPassable(true); -neroportal.setFullBlock(false); -neroportal.setLightValue(0.5); -neroportal.setBlockLayer("TRANSLUCENT"); -neroportal.setLightOpacity(0); -neroportal.setTranslucent(true); -neroportal.register(); - - -var akathartosportal = VanillaFactory.createBlock("akathartos_portal_block", ); -akathartosportal.setBlockHardness(-1.0); -akathartosportal.setToolClass("pickaxe"); -akathartosportal.setPassable(true); -akathartosportal.setFullBlock(false); -akathartosportal.setLightValue(0.5); -akathartosportal.setBlockLayer("TRANSLUCENT"); -akathartosportal.setLightOpacity(0); -akathartosportal.setTranslucent(true); -akathartosportal.register(); - -var pauramportal = VanillaFactory.createBlock("pauram_portal_block", ); -pauramportal.setBlockHardness(-1.0); -pauramportal.setToolClass("pickaxe"); -pauramportal.setPassable(true); -pauramportal.setFullBlock(false); -pauramportal.setLightValue(0.5); -pauramportal.setBlockLayer("TRANSLUCENT"); -pauramportal.setLightOpacity(0); -pauramportal.setTranslucent(true); -pauramportal.register(); - - -var alkemiaportal = VanillaFactory.createBlock("alkemia_portal_block", ); -alkemiaportal.setBlockHardness(-1.0); -alkemiaportal.setToolClass("pickaxe"); -alkemiaportal.setPassable(true); -alkemiaportal.setFullBlock(false); -alkemiaportal.setLightValue(0.5); -alkemiaportal.setBlockLayer("TRANSLUCENT"); -alkemiaportal.setLightOpacity(0); -alkemiaportal.setTranslucent(true); -alkemiaportal.register(); - - -var apichisiportal = VanillaFactory.createBlock("apichisi_portal_block", ); -apichisiportal.setBlockHardness(-1.0); -apichisiportal.setToolClass("pickaxe"); -apichisiportal.setPassable(true); -apichisiportal.setFullBlock(false); -apichisiportal.setLightValue(0.5); -apichisiportal.setBlockLayer("TRANSLUCENT"); -apichisiportal.setLightOpacity(0); -apichisiportal.setTranslucent(true); -apichisiportal.register(); - - -var taerrapiattaportal = VanillaFactory.createBlock("taerrapiatta_portal_block", ); -taerrapiattaportal.setBlockHardness(-1.0); -taerrapiattaportal.setToolClass("pickaxe"); -taerrapiattaportal.setPassable(true); -taerrapiattaportal.setFullBlock(false); -taerrapiattaportal.setLightValue(0.5); -taerrapiattaportal.setBlockLayer("TRANSLUCENT"); -taerrapiattaportal.setLightOpacity(0); -taerrapiattaportal.setTranslucent(true); -taerrapiattaportal.register(); - -var diamerismaportal = VanillaFactory.createBlock("diamerisma_portal_block", ); -diamerismaportal.setBlockHardness(-1.0); -diamerismaportal.setToolClass("pickaxe"); -diamerismaportal.setPassable(true); -diamerismaportal.setFullBlock(false); -diamerismaportal.setLightValue(0.5); -diamerismaportal.setBlockLayer("TRANSLUCENT"); -diamerismaportal.setLightOpacity(0); -diamerismaportal.setTranslucent(true); -diamerismaportal.register(); - -var furattoportal = VanillaFactory.createBlock("furatto_portal_block", ); -furattoportal.setBlockHardness(-1.0); -furattoportal.setToolClass("pickaxe"); -furattoportal.setPassable(true); -furattoportal.setFullBlock(false); -furattoportal.setLightValue(0.5); -furattoportal.setBlockLayer("TRANSLUCENT"); -furattoportal.setLightOpacity(0); -furattoportal.setTranslucent(true); -furattoportal.register(); - -var finemportal = VanillaFactory.createBlock("finem_portal_block", ); -finemportal.setBlockHardness(-1.0); -finemportal.setToolClass("pickaxe"); -finemportal.setPassable(true); -finemportal.setFullBlock(false); -finemportal.setLightValue(0.5); -finemportal.setBlockLayer("TRANSLUCENT"); -finemportal.setLightOpacity(0); -finemportal.setTranslucent(true); -finemportal.register(); - -var lyndenwyrmportal = VanillaFactory.createBlock("lyndenwyrm_portal_block", ); -lyndenwyrmportal.setBlockHardness(-1.0); -lyndenwyrmportal.setToolClass("pickaxe"); -lyndenwyrmportal.setPassable(true); -lyndenwyrmportal.setFullBlock(false); -lyndenwyrmportal.setLightValue(0.5); -lyndenwyrmportal.setBlockLayer("TRANSLUCENT"); -lyndenwyrmportal.setLightOpacity(0); -lyndenwyrmportal.setTranslucent(true); -lyndenwyrmportal.register(); - -var gallifreyportal = VanillaFactory.createBlock("gallifrey_portal_block", ); -gallifreyportal.setBlockHardness(-1.0); -gallifreyportal.setToolClass("pickaxe"); -gallifreyportal.setPassable(true); -gallifreyportal.setFullBlock(false); -gallifreyportal.setLightValue(0.5); -gallifreyportal.setBlockLayer("TRANSLUCENT"); -gallifreyportal.setLightOpacity(0); -gallifreyportal.setTranslucent(true); -gallifreyportal.register(); - - - - - - - -//Would be nice if contenttweaker exposed onBlockActivated. Could probabily do this in MMEvents.onMachinePostTick() with only one portal block if desired -events.onPlayerInteractBlock(function(event as crafttweaker.event.PlayerInteractBlockEvent) { - if (!event.world.isRemote()) { - - // Check if player is interacting with a portal block and inside that same one, then normal warper function - if (event.block.definition.id == "contenttweaker:sedna_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:sedna_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 147", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:rhenia_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:rhenia_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 163", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:haumea_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:haumea_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 146", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:luna_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:luna_portal_block") { - Commands.call("cofh tpx @p 145", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:osiris_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:osiris_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 148", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:ptah_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:ptah_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 149", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:hator_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:hator_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 150", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:europa_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:europa_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 151", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:oi_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:oi_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 152", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:falacer_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:falacer_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 160", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:orcus_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:orcus_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 161", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:myrmex_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:myrmex_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 164", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:pixonia_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:pixonia_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 165", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:proxima_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:proxima_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 166", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:zoi_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:zoi_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 171", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:nero_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:nero_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 170", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:akathartos_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:akathartos_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 172", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:pauram_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:pauram_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 173", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:alkemia_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:alkemia_portal_block") { - if(event.world.getBiome(event.player.position as IBlockPos).name != "Space") { - event.player.sendChat("需位于空间站"); - return; - } - Commands.call("cofh tpx @p 174", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - if (event.block.definition.id == "contenttweaker:apichisi_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:apichisi_portal_block") { - Commands.call("cofh tpx @p 184", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:taerrapiatta_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:taerrapiatta_portal_block") { - Commands.call("cofh tpx @p 180", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:diamerisma_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:diamerisma_portal_block") { - Commands.call("cofh tpx @p 181", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:furatto_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:furatto_portal_block") { - Commands.call("cofh tpx @p 182", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:finem_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:finem_portal_block") { - Commands.call("cofh tpx @p 185", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:lyndenwyrm_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:lyndenwyrm_portal_block") { - Commands.call("cofh tpx @p 162", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - if (event.block.definition.id == "contenttweaker:gallifrey_portal_block" && - event.world.getBlock(event.player.x as int, event.player.y as int, event.player.z as int).definition.id == "contenttweaker:gallifrey_portal_block") { - Commands.call("cofh tpx @p 624", event.player, event.world, true, true); - Commands.call("summon astralsorcery:entitystarburst", event.player, event.world, true, true); - return; - } - - - - return; -} -return; -}); diff --git a/scripts/BlueprintController.zs b/scripts/BlueprintController.zs index 7495221d..ccf2d6ae 100644 --- a/scripts/BlueprintController.zs +++ b/scripts/BlueprintController.zs @@ -431,6 +431,8 @@ addController(, "modularma addController(, "modularmachinery:bee_stargate"); +addController(, "modularmachinery:abyssal_entropic_catalyzer"); + diff --git a/scripts/BotaniaGating.zs b/scripts/BotaniaGating.zs index 65b9cc33..9d6f5993 100644 --- a/scripts/BotaniaGating.zs +++ b/scripts/BotaniaGating.zs @@ -12,21 +12,133 @@ mods.botania.RuneAltar.removeRecipe(); mods.botania.RuneAltar.addRecipe(*3, [, , , , ], 150); +mods.botania.RuneAltar.addRecipe(*9, +[, , , , ], 50); +mods.botania.RuneAltar.addRecipe(*27, +[, , , , ], 50); +mods.botania.RuneAltar.addRecipe(*81, +[, , , , ], 5); mods.botania.RuneAltar.removeRecipe(); mods.botania.RuneAltar.addRecipe(*3, [, , , , ], 150); +mods.botania.RuneAltar.addRecipe(*9, +[, , , , ], 50); +mods.botania.RuneAltar.addRecipe(*27, +[, , , , ], 50); +mods.botania.RuneAltar.addRecipe(*81, +[, , , , ], 5); mods.botania.RuneAltar.removeRecipe(); mods.botania.RuneAltar.addRecipe(*3, [, , , , ], 150); +mods.botania.RuneAltar.addRecipe(*9, +[, , , , ], 50); +mods.botania.RuneAltar.addRecipe(*27, +[, , , , ], 50); +mods.botania.RuneAltar.addRecipe(*81, +[, , , , ], 5); mods.botania.RuneAltar.removeRecipe(); mods.botania.RuneAltar.addRecipe(*3, [, , , , ], 150); +mods.botania.RuneAltar.addRecipe(*9, +[, , , , ], 50); +mods.botania.RuneAltar.addRecipe(*27, +[, , , , ], 50); +mods.botania.RuneAltar.addRecipe(*81, +[, , , , ], 5); + + +mods.botania.RuneAltar.addRecipe(*5, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , , , ], 5); + + +mods.botania.RuneAltar.addRecipe(*5, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , , , ], 50); + + +mods.botania.RuneAltar.addRecipe(*5, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , ], 50); + +mods.botania.RuneAltar.addRecipe(*5, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*25, +[, , , ], 50); +mods.botania.RuneAltar.addRecipe(*125, +[, , , ], 50); + recipes.addShaped(, [[null, , null], @@ -86,4 +198,4 @@ mods.botania.PureDaisy.addRecipe(, , *8, *4, *2]); -mods.nuclearcraft.rock_crusher.addRecipe([, *8, *4, *2]); +mods.nuclearcraft.rock_crusher.addRecipe([, *8, *4, *2]); \ No newline at end of file diff --git a/scripts/CallstoneTooltips.zs b/scripts/CallstoneTooltips.zs index 3e8967c3..48dd3ec7 100644 --- a/scripts/CallstoneTooltips.zs +++ b/scripts/CallstoneTooltips.zs @@ -97,4 +97,5 @@ .addTooltip(format.red("需在指定维度使用:伽里弗雷")); .addTooltip(format.red("需在指定维度使用:末地")); .addTooltip(format.red("需在指定维度使用:主世界")); -.addTooltip(format.red("需在指定维度使用:黄金")); \ No newline at end of file +.addTooltip(format.red("需在指定维度使用:黄金")); +.addTooltip(format.red("需在指定维度使用:伽里弗雷")); \ No newline at end of file diff --git a/scripts/ChickenOres.zs b/scripts/ChickenOres.zs index c1a5cbf9..cd698daa 100644 --- a/scripts/ChickenOres.zs +++ b/scripts/ChickenOres.zs @@ -264,7 +264,9 @@ mods.nuclearcraft.chemical_reactor.addRecipe([*144, < mods.nuclearcraft.dissolver.addRecipe([, *144, *14400]); mods.nuclearcraft.chemical_reactor.addRecipe([*144, *100, *144, null]); -mods.nuclearcraft.dissolver.addRecipe([, *12, *14400]); +// mods.nuclearcraft.dissolver.addRecipe([, *12, *14400]); + +mods.nuclearcraft.chemical_reactor.addRecipe([*144, *100, *144, null]); mods.forestry.Squeezer.addRecipe(*1000, [], 120); @@ -275,4 +277,3 @@ recipes.addShaped(.withTag({ChickenType: {id: "contenttweake [[, , ], [, , ], [, , ]]); - diff --git a/scripts/ChiselBlueprint.zs b/scripts/ChiselBlueprint.zs index 4ca49753..a20cfe08 100644 --- a/scripts/ChiselBlueprint.zs +++ b/scripts/ChiselBlueprint.zs @@ -223,6 +223,7 @@ mods.chisel.Carving.addVariation("mythicprocessors", .withTag({dynamicmachine: "modularmachinery:mythic_processor_isotope_separator"})); mods.chisel.Carving.addVariation("mythicprocessors", .withTag({dynamicmachine: "modularmachinery:quantum_condenser"})); mods.chisel.Carving.addVariation("mythicprocessors", .withTag({dynamicmachine: "modularmachinery:mythic_processor_melter"})); +mods.chisel.Carving.addVariation("mythicprocessors", .withTag({dynamicmachine: "modularmachinery:abyssal_entropic_catalyzer"})); recipes.addShaped(.withTag({dynamicmachine: "modularmachinery:nightmare_electrolyzer"}), diff --git a/scripts/ChiselController.zs b/scripts/ChiselController.zs index ad4485dc..f464f39f 100644 --- a/scripts/ChiselController.zs +++ b/scripts/ChiselController.zs @@ -209,6 +209,7 @@ mods.chisel.Carving.addVariation("mythicprocessorscontroller", ); mods.chisel.Carving.addVariation("mythicprocessorscontroller", ); mods.chisel.Carving.addVariation("mythicprocessorscontroller", ); +mods.chisel.Carving.addVariation("mythicprocessorscontroller", ); diff --git a/scripts/CustomBlocks.zs b/scripts/CustomBlocks.zs index 6feee684..428330ba 100644 --- a/scripts/CustomBlocks.zs +++ b/scripts/CustomBlocks.zs @@ -2686,4 +2686,76 @@ fabricoftheorb.setBlockResistance(2.5); fabricoftheorb.setToolClass("pickaxe"); fabricoftheorb.setBeaconBase(true); fabricoftheorb.setToolLevel(3); -fabricoftheorb.register(); \ No newline at end of file +fabricoftheorb.register(); + + +var hypergrowthactualizer = VanillaFactory.createBlock("hypergrowth_actualizer", ); +hypergrowthactualizer.setBlockHardness(1.0); +hypergrowthactualizer.setBlockResistance(2.5); +hypergrowthactualizer.setToolClass("pickaxe"); +hypergrowthactualizer.setBeaconBase(true); +hypergrowthactualizer.setToolLevel(3); +hypergrowthactualizer.register(); + + +var trinityhypergrowthcomponent = VanillaFactory.createBlock("trinity_hypergrowth_component", ); +trinityhypergrowthcomponent.setBlockHardness(1.0); +trinityhypergrowthcomponent.setBlockResistance(2.5); +trinityhypergrowthcomponent.setToolClass("pickaxe"); +trinityhypergrowthcomponent.setBeaconBase(true); +trinityhypergrowthcomponent.setToolLevel(3); +trinityhypergrowthcomponent.register(); + +var cosmichypergrowthcomponent = VanillaFactory.createBlock("cosmic_hypergrowth_component", ); +cosmichypergrowthcomponent.setBlockHardness(1.0); +cosmichypergrowthcomponent.setBlockResistance(2.5); +cosmichypergrowthcomponent.setToolClass("pickaxe"); +cosmichypergrowthcomponent.setBeaconBase(true); +cosmichypergrowthcomponent.setToolLevel(3); +cosmichypergrowthcomponent.register(); + + +var definitionoffreedom = VanillaFactory.createBlock("freedom_definer", ); +definitionoffreedom.setBlockHardness(1.0); +definitionoffreedom.setBlockResistance(2.5); +definitionoffreedom.setToolClass("pickaxe"); +definitionoffreedom.setToolLevel(3); +definitionoffreedom.register(); + +var definitionofwishes = VanillaFactory.createBlock("wishful_definer", ); +definitionofwishes.setBlockHardness(1.0); +definitionofwishes.setBlockResistance(2.5); +definitionofwishes.setToolClass("pickaxe"); +definitionofwishes.setToolLevel(3); +definitionofwishes.register(); + + +var quasarchargeddefinerdef = VanillaFactory.createBlock("quasar_charged_core_of_definition", ); +quasarchargeddefinerdef.setBlockHardness(1.0); +quasarchargeddefinerdef.setBlockResistance(2.5); +quasarchargeddefinerdef.setToolClass("pickaxe"); +quasarchargeddefinerdef.setToolLevel(3); +quasarchargeddefinerdef.register(); + +var containedquasarmodule = VanillaFactory.createBlock("directed_miniature_quasar", ); +containedquasarmodule.setBlockHardness(1.0); +containedquasarmodule.setBlockResistance(2.5); +containedquasarmodule.setToolClass("pickaxe"); +containedquasarmodule.setToolLevel(3); +containedquasarmodule.register(); + +var quasarburstdirector = VanillaFactory.createBlock("quasar_burst_director", ); +quasarburstdirector.setBlockHardness(1.0); +quasarburstdirector.setBlockResistance(2.5); +quasarburstdirector.setToolClass("pickaxe"); +quasarburstdirector.setToolLevel(3); +quasarburstdirector.register(); + + + +var stoneoftheresurrectedshard = VanillaFactory.createBlock("stone_of_the_resurrected_shard", ); +stoneoftheresurrectedshard.setBlockHardness(1.0); +stoneoftheresurrectedshard.setBlockResistance(2.5); +stoneoftheresurrectedshard.setToolClass("pickaxe"); +stoneoftheresurrectedshard.setToolLevel(3); +stoneoftheresurrectedshard.register(); diff --git a/scripts/CustomFluids.zs b/scripts/CustomFluids.zs index 8b1119c2..12aace19 100644 --- a/scripts/CustomFluids.zs +++ b/scripts/CustomFluids.zs @@ -1007,3 +1007,7 @@ var bewitchedessencebaths = VanillaFactory.createFluid("bewitched_essence_salts" bewitchedessencebaths.register(); +var inquiringabyssite = VanillaFactory.createFluid("inquiring_abyssite", Color.fromHex("497343")); +inquiringabyssite.register(); + + diff --git a/scripts/CustomItems2.zs b/scripts/CustomItems2.zs index 3555cc12..9e74781b 100644 --- a/scripts/CustomItems2.zs +++ b/scripts/CustomItems2.zs @@ -2910,3 +2910,14 @@ superchargedsignalum.maxStackSize = 64; superchargedsignalum.beaconPayment = false; superchargedsignalum.register(); + +var thaumicbrush = VanillaFactory.createItem("thaumic_brush"); +thaumicbrush.maxStackSize = 64; +thaumicbrush.beaconPayment = false; +thaumicbrush.register(); + +var warrenpeat = VanillaFactory.createItem("warren_peat"); +warrenpeat.maxStackSize = 64; +warrenpeat.beaconPayment = false; +warrenpeat.register(); + diff --git a/scripts/CustomItemsAvaritia.zs b/scripts/CustomItemsAvaritia.zs index 0ed8400f..4f9ccdd3 100644 --- a/scripts/CustomItemsAvaritia.zs +++ b/scripts/CustomItemsAvaritia.zs @@ -43,7 +43,7 @@ AvaritiaItemBuilder.registerItem("meatball_man_destruction_fabrial", 1, "meatbal // .colorfulName(true) // Whether to add a dynamic rainbow effect to the item name .create(); -AvaritiaItemBuilder.registerItem("self_actualizing_stone", 1, "self_actualizing_stone") +AvaritiaItemBuilder.registerItem("self_actualizing_stone", 64, "self_actualizing_stone") // The following effects can be freely combined; you decide which effects are needed and which are not // .shouldDrawHalo(true) // Whether to display the halo // .haloSize(8) // Required if shouldDrawHalo. Halo size (1-16) diff --git a/scripts/HaliteLine.zs b/scripts/HaliteLine.zs index 73312d89..6ec1b661 100644 --- a/scripts/HaliteLine.zs +++ b/scripts/HaliteLine.zs @@ -145,3 +145,233 @@ mods.extendedcrafting.TableCrafting.addShaped(, null, null, , null, null, , null], [, null, null, , null, , null, null, ]]); + + +mods.extendedcrafting.TableCrafting.addShaped(*2, + +[[, null, null, , .withTag({display: {Lore: ["§d§M瑟尔§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M瑟尔§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M瑟尔§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M瑟尔§r"]}}), , null, null, ]]); + + + + + +mods.extendedcrafting.TableCrafting.addShaped(*3, + +[[, null, null, , .withTag({display: {Lore: ["§d§M阿克拉斯特・科瓦莱恩§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M阿克拉斯特・科瓦莱恩§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M阿克拉斯特・科瓦莱恩§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M阿克拉斯特・科瓦莱恩§r"]}}), , null, null, ]]); + + + +mods.extendedcrafting.TableCrafting.addShaped(*4, + +[[, null, null, , .withTag({display: {Lore: ["§d§M维狄萨斯・安纳斯§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M维狄萨斯・安纳斯§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M维狄萨斯・安纳斯§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M维狄萨斯・安纳斯§r"]}}), , null, null, ]]); + + + + +mods.extendedcrafting.TableCrafting.addShaped(*5, + +[[, null, null, , .withTag({display: {Lore: ["§d§M欧姆托斯・费拉克§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M欧姆托斯・费拉克§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M欧姆托斯・费拉克§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M欧姆托斯・费拉克§r"]}}), , null, null, ]]); + + + +mods.extendedcrafting.TableCrafting.addShaped(*6, + +[[, null, null, , .withTag({display: {Lore: ["§d§M丹奈斯・鲁森§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M丹奈斯・鲁森§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M丹奈斯・鲁森§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M丹奈斯・鲁森§r"]}}), , null, null, ]]); + + + + + + +mods.extendedcrafting.TableCrafting.addShaped(*7, + +[[, null, null, , .withTag({display: {Lore: ["§d§M泰兰§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M泰兰§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M泰兰§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M泰兰§r"]}}), , null, null, ]]); + + + +mods.extendedcrafting.TableCrafting.addShaped(*8, + +[[, null, null, , .withTag({display: {Lore: ["§d§M库拉德・泰尔兰§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M库拉德・泰尔兰§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M库拉德・泰尔兰§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M库拉德・泰尔兰§r"]}}), , null, null, ]]); + + + + + + + +mods.extendedcrafting.TableCrafting.addShaped(*9, + +[[, null, null, , .withTag({display: {Lore: ["§d§M库拉德・暗穆兰§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M库拉德・暗穆兰§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M库拉德・暗穆兰§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M库拉德・暗穆兰§r"]}}), , null, null, ]]); + + + + +mods.extendedcrafting.TableCrafting.addShaped(*10, + +[[, null, null, , .withTag({display: {Lore: ["§d§M库拉德・加莱§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M库拉德・加莱§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M库拉德・加莱§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M库拉德・加莱§r"]}}), , null, null, ]]); + + + +mods.extendedcrafting.TableCrafting.addShaped(*11, + +[[, null, null, , .withTag({display: {Lore: ["§d§M斯塔沃・德梅兰§r"]}}), , null, null, ], + +[null, , null, null, , null, null, , null], + +[null, null, , null, , null, , null, null], + +[, null, null, , null, , null, null, ], + +[.withTag({display: {Lore: ["§d§M斯塔沃・德梅兰§r"]}}), , , null, , null, , , .withTag({display: {Lore: ["§d§M斯塔沃・德梅兰§r"]}})], + +[, null, null, , null, , null, null, ], + +[null, null, , null, , null, , null, null], + +[null, , null, null, , null, null, , null], + +[, null, null, , .withTag({display: {Lore: ["§d§M斯塔沃・德梅兰§r"]}}), , null, null, ]]); \ No newline at end of file diff --git a/scripts/ModularBeeStargate.zs b/scripts/ModularBeeStargate.zs deleted file mode 100644 index ae8a207f..00000000 --- a/scripts/ModularBeeStargate.zs +++ /dev/null @@ -1,206 +0,0 @@ -import mods.contenttweaker.VanillaFactory; -import crafttweaker.world.IWorld; -import mods.contenttweaker.Player; -import crafttweaker.player.IPlayer; -import crafttweaker.block.IBlock; -import mods.contenttweaker.BlockState; -import mods.contenttweaker.BlockPos; -import crafttweaker.world.IFacing; -import crafttweaker.block.IBlockState; -import mods.modularmachinery.RecipeBuilder; -import mods.modularmachinery.MachineEvent; -import mods.modularmachinery.MachineTickEvent; -import mods.modularmachinery.RecipeEvent; -import mods.modularmachinery.RecipeStartEvent; -import mods.modularmachinery.RecipeTickEvent; -import mods.modularmachinery.RecipeFinishEvent; -import mods.modularmachinery.MMEvents; -import mods.modularmachinery.IMachineController; -import mods.contenttweaker.Commands; -import crafttweaker.server.IServer; -import crafttweaker.command.ICommandManager; -import crafttweaker.command.ICommandSender; - - -//You can get an IPlayer from event.controller.ownerPlayer but it returns null if they are not online so I have done commands using server.commandManager - -//Example recipe: -var stargatesedna = RecipeBuilder.newBuilder("stargate_sedna","bee_stargate",100); -stargatesedna.addItemInput().setChance(0); -stargatesedna.addFluidInput( * 100); -//Runs when the recipe starts: -stargatesedna.addStartHandler(function(event as RecipeStartEvent) { - beeStargateRecipeStart(event.controller, "contenttweaker:sedna_portal_block", "Sedna"); -}); -stargatesedna.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargatesedna.build(); - - - -var stargaterhenia = RecipeBuilder.newBuilder("stargate_rhenia","bee_stargate",100); -stargaterhenia.addItemInput().setChance(0); -stargaterhenia.addFluidInput( * 100); -stargaterhenia.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:rhenia_portal_block", "Rhenia"); }); -stargaterhenia.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargaterhenia.build(); - - -var stargateluna = RecipeBuilder.newBuilder("stargate_luna","bee_stargate",100); -stargateluna.addItemInput().setChance(0); -stargateluna.addFluidInput( * 100); -stargateluna.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:luna_portal_block", "Luna"); }); -stargateluna.addRecipeTooltip("该配方在激活时会生成一个传送门。", "站在传送门中右击以进行传送。"); -stargateluna.build(); - -var stargateosiris = RecipeBuilder.newBuilder("stargate_osiris","bee_stargate",100); -stargateosiris.addItemInput().setChance(0); -stargateosiris.addFluidInput( * 100); -stargateosiris.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:osiris_portal_block", "Osiris"); }); -stargateosiris.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateosiris.build(); - - -var stargateptah = RecipeBuilder.newBuilder("stargate_ptah","bee_stargate",100); -stargateptah.addItemInput().setChance(0); -stargateptah.addFluidInput( * 100); -stargateptah.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:ptah_portal_block", "Ptah"); }); -stargateptah.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateptah.build(); - -var stargatehator = RecipeBuilder.newBuilder("stargate_hator","bee_stargate",100); -stargatehator.addItemInput().setChance(0); -stargatehator.addFluidInput( * 100); -stargatehator.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:hator_portal_block", "Hator"); }); -stargatehator.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargatehator.build(); - -var stargateeuropa = RecipeBuilder.newBuilder("stargate_europa","bee_stargate",100); -stargateeuropa.addItemInput().setChance(0); -stargateeuropa.addFluidInput( * 100); -stargateeuropa.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:europa_portal_block", "Europa"); }); -stargateeuropa.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateeuropa.build(); - -var stargateoi = RecipeBuilder.newBuilder("stargate_oi","bee_stargate",100); -stargateoi.addItemInput().setChance(0); -stargateoi.addFluidInput( * 100); -stargateoi.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:oi_portal_block", "Oi"); }); -stargateoi.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateoi.build(); - -var stargatefalacer = RecipeBuilder.newBuilder("stargate_falacer","bee_stargate",100); -stargatefalacer.addItemInput().setChance(0); -stargatefalacer.addFluidInput( * 100); -stargatefalacer.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:falacer_portal_block", "Oi"); }); -stargatefalacer.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargatefalacer.build(); - -var stargateorcus = RecipeBuilder.newBuilder("stargate_orcus","bee_stargate",100); -stargateorcus.addItemInput().setChance(0); -stargateorcus.addFluidInput( * 100); -stargateorcus.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:orcus_portal_block", "Orcus"); }); -stargateorcus.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateorcus.build(); - -var stargatemyrmex = RecipeBuilder.newBuilder("stargate_myrmex","bee_stargate",100); -stargatemyrmex.addItemInput().setChance(0); -stargatemyrmex.addFluidInput( * 100); -stargatemyrmex.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:myrmex_portal_block", "Myrmex"); }); -stargatemyrmex.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargatemyrmex.build(); - - -var stargatepixonia = RecipeBuilder.newBuilder("stargate_pixonia","bee_stargate",100); -stargatepixonia.addItemInput().setChance(0); -stargatepixonia.addFluidInput( * 100); -stargatepixonia.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:pixonia_portal_block", "Pixonia"); }); -stargatepixonia.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargatepixonia.build(); - -var stargateproxima = RecipeBuilder.newBuilder("stargate_proxima","bee_stargate",100); -stargateproxima.addItemInput().setChance(0); -stargateproxima.addFluidInput( * 100); -stargateproxima.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:proxima_portal_block", "Proxima"); }); -stargateproxima.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateproxima.build(); - -var stargatenero = RecipeBuilder.newBuilder("stargate_nero","bee_stargate",100); -stargatenero.addItemInput().setChance(0); -stargatenero.addFluidInput( * 100); -stargatenero.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:nero_portal_block", "Nero"); }); -stargatenero.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargatenero.build(); - -var stargatezoi = RecipeBuilder.newBuilder("stargate_zoi","bee_stargate",100); -stargatezoi.addItemInput().setChance(0); -stargatezoi.addFluidInput( * 100); -stargatezoi.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:zoi_portal_block", "Zoi"); }); -stargatezoi.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargatezoi.build(); - -var stargateakathartos = RecipeBuilder.newBuilder("stargate_akathartos","bee_stargate",100); -stargateakathartos.addItemInput().setChance(0); -stargateakathartos.addFluidInput( * 100); -stargateakathartos.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:akathartos_portal_block", "Akathartos"); }); -stargateakathartos.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateakathartos.build(); - -var stargateakpauram = RecipeBuilder.newBuilder("stargate_pauram","bee_stargate",100); -stargateakpauram.addItemInput().setChance(0); -stargateakpauram.addFluidInput( * 100); -stargateakpauram.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:pauram_portal_block", "Pauram"); }); -stargateakpauram.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateakpauram.build(); - -var stargateakalkemia = RecipeBuilder.newBuilder("stargate_alkemia","bee_stargate",100); -stargateakalkemia.addItemInput().setChance(0); -stargateakalkemia.addFluidInput( * 100); -stargateakalkemia.addStartHandler(function(event as RecipeStartEvent) { beeStargateRecipeStart(event.controller, "contenttweaker:alkemia_portal_block", "Alkemia"); }); -stargateakalkemia.addRecipeTooltip("该配方在激活时会生成一个传送门。", "多方块结构必须位于太空站。", "站在传送门中右击以进行传送。"); -stargateakalkemia.build(); - - - - - -//Destroy potal if the controller is not running -MMEvents.onMachinePostTick("bee_stargate", function(event as MachineTickEvent) { - var ctrl = event.controller; - if(!ctrl.isWorking && ctrl.world.getBlockState(ctrl.pos.getOffset(up,5).getOffset(ctrl.facing,-4)) != IBlockState.getBlockState("minecraft:air","")) { - beeStargatePlacePortal(ctrl, "minecraft:air"); - var pos = ctrl.pos.getOffset(up,5).getOffset(ctrl.facing,-4); - server.commandManager.executeCommand(server, "playsound minecraft:entity.evocation_illager.cast_spell ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 0.5"); - server.commandManager.executeCommand(server, "particle smoke " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 200"); - server.commandManager.executeCommand(server, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @p {"text":"Stargate offline"}'); - } -}); - -//Do start up sound and message if no current portal, spawn portal if different recipe, or nothing if same portal: -function beeStargateRecipeStart(controller as IMachineController, portalBlock as string, destination as string) { - var pos = controller.pos.getOffset(up,5).getOffset(controller.facing,-4); - var currentPortalBlock = controller.world.getBlockState(pos); - - if (currentPortalBlock != IBlockState.getBlockState(portalBlock,"")) { - if (currentPortalBlock == IBlockState.getBlockState("minecraft:air","")) { - server.commandManager.executeCommand(server, "playsound minecraft:entity.evocation_illager.prepare_summon ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1"); - server.commandManager.executeCommand(server, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @p {"text":"Stargate online"}'); - } - beeStargatePlacePortal(controller, portalBlock); - server.commandManager.executeCommand(server, "playsound minecraft:block.portal.trigger block @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1"); - server.commandManager.executeCommand(server, "particle portal " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 1000"); - server.commandManager.executeCommand(server, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @p {"text":"Current destination: ' + destination + '"}'); - } -} - -//places portal blocks inside the stargate ring: -function beeStargatePlacePortal(controller as IMachineController, portalBlock as string) { - var facing = controller.facing; - var pos = controller.pos.getOffset(up,5).getOffset(facing,-4); - var dx = 0; - var dz = 0; - if (facing == crafttweaker.world.IFacing.north() || facing == crafttweaker.world.IFacing.south()) { dx = 1; } - else { dz = 1; } - server.commandManager.executeCommand(server, "fill " + (pos.x - dx) + " " + (pos.y - 1) + " " + (pos.z - dz) + " " + (pos.x + dx) + " " + (pos.y + 1) + " " + (pos.z + dz) + " " + portalBlock); -} - - diff --git a/scripts/ModularDysonCompressor.zs b/scripts/ModularDysonCompressor.zs index c45d5610..e9d13282 100644 --- a/scripts/ModularDysonCompressor.zs +++ b/scripts/ModularDysonCompressor.zs @@ -170,13 +170,13 @@ haliteingotcompression.addItemInput(); haliteingotcompression.addItemOutput(); haliteingotcompression.build(); -val haliteingotcompression4 = RecipeBuilder.newBuilder("haliteingotcompression4","dyson_compressor",100); +val haliteingotcompression4 = RecipeBuilder.newBuilder("haliteingotcompression4","dyson_compressor",50); haliteingotcompression4.addEnergyPerTickInput(2000000000); haliteingotcompression4.addItemInput(); haliteingotcompression4.addItemOutput(*4); haliteingotcompression4.build(); -val haliteingotcompression8 = RecipeBuilder.newBuilder("haliteingotcompression8","dyson_compressor",100); +val haliteingotcompression8 = RecipeBuilder.newBuilder("haliteingotcompression8","dyson_compressor",25); haliteingotcompression8.addEnergyPerTickInput(2000000000); haliteingotcompression8.addItemInput(); haliteingotcompression8.addItemOutput(*8); @@ -244,4 +244,4 @@ recipes.addShaped(*3, recipes.addShaped(, [[.withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}}), .withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}}), .withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}})], [.withTag(mapChoedanKal).reuse(), , .withTag(mapChoedanKal).reuse()], -[.withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}}), .withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}}), .withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}})]]); +[.withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}}), .withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}}), .withTag({bark: {id: "extratrees:logs.9", Count: 1, Damage: 3 as short}})]]); \ No newline at end of file diff --git a/scripts/ModularForestryTrees.zs b/scripts/ModularForestryTrees.zs index e06ce734..848439e5 100644 --- a/scripts/ModularForestryTrees.zs +++ b/scripts/ModularForestryTrees.zs @@ -1046,4 +1046,84 @@ fortree138.addItemInput(); fortree138.setChance(0.0); fortree138.addItemInput(); fortree138.addItemOutput(*64); -fortree138.build(); \ No newline at end of file +fortree138.build(); + + +val fortree139a = RecipeBuilder.newBuilder("fortree139a","enchanted_greenhouse",50); +fortree139a.addItemInput(); +fortree139a.setChance(0.0); +fortree139a.addItemInput(); +fortree139a.addItemOutput(*1); +fortree139a.build(); + +val fortree139b = RecipeBuilder.newBuilder("fortree139b","enchanted_greenhouse",50); +fortree139b.addItemInput(); +fortree139b.setChance(0.0); +fortree139b.addItemInput(.withTag({display: {Lore: ["§d§M瑟尔§r"]}})); +fortree139b.addItemOutput(*6); +fortree139b.build(); + +val fortree139c = RecipeBuilder.newBuilder("fortree139c","enchanted_greenhouse",50); +fortree139c.addItemInput(); +fortree139c.setChance(0.0); +fortree139c.addItemInput(.withTag({display: {Lore: ["§d§M阿克拉斯特・科瓦莱恩§r"]}})); +fortree139c.addItemOutput(*36); +fortree139c.build(); + +val fortree139d = RecipeBuilder.newBuilder("fortree139d","enchanted_greenhouse",50); +fortree139d.addItemInput(); +fortree139d.setChance(0.0); +fortree139d.addItemInput(.withTag({display: {Lore: ["§d§M维狄萨斯・安纳斯§r"]}})); +fortree139d.addItemOutput(*216); +fortree139d.build(); + +val fortree139e = RecipeBuilder.newBuilder("fortree139e","enchanted_greenhouse",50); +fortree139e.addItemInput(); +fortree139e.setChance(0.0); +fortree139e.addItemInput(.withTag({display: {Lore: ["§d§M欧姆托斯・费拉克§r"]}})); +fortree139e.addItemOutput(*1296); +fortree139e.build(); + +val fortree139f = RecipeBuilder.newBuilder("fortree139f","enchanted_greenhouse",50); +fortree139f.addItemInput(); +fortree139f.setChance(0.0); +fortree139f.addItemInput(.withTag({display: {Lore: ["§d§M丹奈斯・鲁森§r"]}})); +fortree139f.addItemOutput(*7776); +fortree139f.build(); + +val fortree139g = RecipeBuilder.newBuilder("fortree139g","enchanted_greenhouse",50); +fortree139g.addItemInput(); +fortree139g.setChance(0.0); +fortree139g.addItemInput(.withTag({display: {Lore: ["§d§M泰兰§r"]}})); +fortree139g.addItemOutput(*46656); +fortree139g.build(); + +val fortree139h = RecipeBuilder.newBuilder("fortree139h","enchanted_greenhouse",50); +fortree139h.addItemInput(); +fortree139h.setChance(0.0); +fortree139h.addItemInput(.withTag({display: {Lore: ["§d§M库拉德・泰尔兰§r"]}})); +fortree139h.addItemOutput(*279936); +fortree139h.build(); + +val fortree139i = RecipeBuilder.newBuilder("fortree139i","enchanted_greenhouse",50); +fortree139i.addItemInput(); +fortree139i.setChance(0.0); +fortree139i.addItemInput(.withTag({display: {Lore: ["§d§M库拉德・暗穆兰§r"]}})); +fortree139i.addItemOutput(*1679616); +fortree139i.build(); + +val fortree139j = RecipeBuilder.newBuilder("fortree139j","enchanted_greenhouse",50); +fortree139j.addItemInput(); +fortree139j.setChance(0.0); +fortree139j.addItemInput(.withTag({display: {Lore: ["§d§M库拉德・加莱§r"]}})); +fortree139j.addItemOutput(*10077696); +fortree139j.build(); + +val fortree139k = RecipeBuilder.newBuilder("fortree139k","enchanted_greenhouse",50); +fortree139k.addItemInput(); +fortree139k.setChance(0.0); +fortree139k.addItemInput(.withTag({display: {Lore: ["§d§M斯塔沃・德梅兰§r"]}})); +fortree139k.addItemOutput(*60466176); +fortree139k.build(); + + diff --git a/scripts/ModularTreeOfLife.zs b/scripts/ModularTreeOfLife.zs index b92d1e34..c1d270bd 100644 --- a/scripts/ModularTreeOfLife.zs +++ b/scripts/ModularTreeOfLife.zs @@ -343,16 +343,16 @@ treeoflifthaumpods.build(); val treeoflifecinders = RecipeBuilder.newBuilder("treeoflifecinders","tree_of_life",200); treeoflifecinders.addEnergyPerTickInput(50000000); treeoflifecinders.addItemInput(); -treeoflifecinders.addItemInput(); treeoflifecinders.setChance(0.0); +treeoflifecinders.addItemInput(); treeoflifecinders.addItemOutput(); treeoflifecinders.build(); val treeoflifecindersbetter = RecipeBuilder.newBuilder("treeoflifecindersbetter","tree_of_life",2); treeoflifecindersbetter.addEnergyPerTickInput(50000000); treeoflifecindersbetter.addItemInput(); -treeoflifecindersbetter.addItemInput(); treeoflifecindersbetter.setChance(0.0); +treeoflifecindersbetter.addItemInput(); treeoflifecindersbetter.addItemOutput(*16); treeoflifecindersbetter.build(); @@ -369,4 +369,4 @@ treeoflifebee.addItemInput(); treeoflifebee.addItemOutput(); treeoflifebee.build(); -mods.botania.PureDaisy.addRecipe(,); +mods.botania.PureDaisy.addRecipe(,); \ No newline at end of file diff --git a/scripts/ModularWormholeField.zs b/scripts/ModularWormholeField.zs deleted file mode 100644 index 32786e53..00000000 --- a/scripts/ModularWormholeField.zs +++ /dev/null @@ -1,117 +0,0 @@ -import mods.contenttweaker.VanillaFactory; -import crafttweaker.world.IWorld; -import mods.contenttweaker.Player; -import crafttweaker.player.IPlayer; -import crafttweaker.block.IBlock; -import mods.contenttweaker.BlockState; -import mods.contenttweaker.BlockPos; -import crafttweaker.world.IFacing; -import crafttweaker.block.IBlockState; -import mods.modularmachinery.RecipeBuilder; -import mods.modularmachinery.MachineEvent; -import mods.modularmachinery.MachineTickEvent; -import mods.modularmachinery.RecipeEvent; -import mods.modularmachinery.RecipeStartEvent; -import mods.modularmachinery.RecipeTickEvent; -import mods.modularmachinery.RecipeFinishEvent; -import mods.modularmachinery.MMEvents; -import mods.modularmachinery.IMachineController; -import mods.contenttweaker.Commands; -import crafttweaker.server.IServer; -import crafttweaker.command.ICommandManager; -import crafttweaker.command.ICommandSender; - - -//You can get an IPlayer from event.controller.ownerPlayer but it returns null if they are not online so I have done commands using server.commandManager - -//Example recipe: -var wormholetaerrapiatta = RecipeBuilder.newBuilder("wormholetaerrapiatta","wormhole_field_generator",100); -wormholetaerrapiatta.addItemInput().setChance(0); -wormholetaerrapiatta.addEnergyPerTickInput(10000); -wormholetaerrapiatta.addStartHandler(function(event as RecipeStartEvent) {wormholeGeneratorRecipeStart(event.controller, "contenttweaker:taerrapiatta_portal_block", "Taerrapiatta");}); -wormholetaerrapiatta.addRecipeTooltip("该配方在激活时会生成一个传送门。", "站在传送门中右击以进行传送。"); -wormholetaerrapiatta.build(); - -var wormholediamerisma = RecipeBuilder.newBuilder("wormholediamerisma","wormhole_field_generator",100); -wormholediamerisma.addItemInput().setChance(0); -wormholediamerisma.addEnergyPerTickInput(10000); -wormholediamerisma.addStartHandler(function(event as RecipeStartEvent) {wormholeGeneratorRecipeStart(event.controller, "contenttweaker:diamerisma_portal_block", "Diamerisma");}); -wormholediamerisma.addRecipeTooltip("该配方在激活时会生成一个传送门。", "站在传送门中右击以进行传送。"); -wormholediamerisma.build(); - -var wormholefuratto = RecipeBuilder.newBuilder("wormholefuratto","wormhole_field_generator",100); -wormholefuratto.addItemInput().setChance(0); -wormholefuratto.addEnergyPerTickInput(10000); -wormholefuratto.addStartHandler(function(event as RecipeStartEvent) {wormholeGeneratorRecipeStart(event.controller, "contenttweaker:furatto_portal_block", "Furatto");}); -wormholefuratto.addRecipeTooltip("该配方在激活时会生成一个传送门。", "站在传送门中右击以进行传送。"); -wormholefuratto.build(); - -var wormholefinem = RecipeBuilder.newBuilder("wormholefinem","wormhole_field_generator",100); -wormholefinem.addItemInput().setChance(0); -wormholefinem.addEnergyPerTickInput(10000); -wormholefinem.addStartHandler(function(event as RecipeStartEvent) {wormholeGeneratorRecipeStart(event.controller, "contenttweaker:finem_portal_block", "Finem");}); -wormholefinem.addRecipeTooltip("该配方在激活时会生成一个传送门。", "站在传送门中右击以进行传送。"); -wormholefinem.build(); - -var wormholeapichisi = RecipeBuilder.newBuilder("wormholeapichisi","wormhole_field_generator",100); -wormholeapichisi.addItemInput().setChance(0); -wormholeapichisi.addEnergyPerTickInput(10000); -wormholeapichisi.addStartHandler(function(event as RecipeStartEvent) {wormholeGeneratorRecipeStart(event.controller, "contenttweaker:apichisi_portal_block", "Apichisi");}); -wormholeapichisi.addRecipeTooltip("该配方在激活时会生成一个传送门。", "站在传送门中右击以进行传送。"); -wormholeapichisi.build(); - -var wormholelyndenwyrm = RecipeBuilder.newBuilder("wormholelyndenwyrm","wormhole_field_generator",100); -wormholelyndenwyrm.addItemInput().setChance(0); -wormholelyndenwyrm.addEnergyPerTickInput(10000); -wormholelyndenwyrm.addStartHandler(function(event as RecipeStartEvent) {wormholeGeneratorRecipeStart(event.controller, "contenttweaker:lyndenwyrm_portal_block", "Lyndenwyrm");}); -wormholelyndenwyrm.addRecipeTooltip("该配方在激活时会生成一个传送门。", "站在传送门中右击以进行传送。"); -wormholelyndenwyrm.build(); - -var wormholegallifrey = RecipeBuilder.newBuilder("wormholegallifrey","wormhole_field_generator",100); -wormholegallifrey.addItemInput().setChance(0); -wormholegallifrey.addEnergyPerTickInput(10000); -wormholegallifrey.addStartHandler(function(event as RecipeStartEvent) {wormholeGeneratorRecipeStart(event.controller, "contenttweaker:gallifrey_portal_block", "Gallifrey");}); -wormholegallifrey.addRecipeTooltip("该配方在激活时会生成一个传送门。", "站在传送门中右击以进行传送。"); -wormholegallifrey.build(); - - - - - -//Destroy potal if the controller is not running -MMEvents.onMachinePostTick("wormhole_field_generator", function(event as MachineTickEvent) { - var ctrl = event.controller; - if(!ctrl.isWorking && ctrl.world.getBlockState(ctrl.pos.getOffset(up,4).getOffset(ctrl.facing,-3)) != IBlockState.getBlockState("minecraft:air","")) { - wormholeGeneratorPlacePortal(ctrl, "minecraft:air"); - var pos = ctrl.pos.getOffset(up,4).getOffset(ctrl.facing,-3); - server.commandManager.executeCommand(server, "playsound minecraft:entity.evocation_illager.cast_spell ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 0.5"); - server.commandManager.executeCommand(server, "particle smoke " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 200"); - server.commandManager.executeCommand(server, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @p {"text":"Wormhole Generator offline"}'); - } -}); - -//Do start up sound and message if no current portal, spawn portal if different recipe, or nothing if same portal: -function wormholeGeneratorRecipeStart(controller as IMachineController, portalBlock as string, destination as string) { - var pos = controller.pos.getOffset(up,4).getOffset(controller.facing,-3); - var currentPortalBlock = controller.world.getBlockState(pos); - - if (currentPortalBlock != IBlockState.getBlockState(portalBlock,"")) { - if (currentPortalBlock == IBlockState.getBlockState("minecraft:air","")) { - server.commandManager.executeCommand(server, "playsound minecraft:entity.evocation_illager.prepare_summon ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1"); - server.commandManager.executeCommand(server, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @p {"text":"Wormhole Generator online"}'); - } - wormholeGeneratorPlacePortal(controller, portalBlock); - server.commandManager.executeCommand(server, "playsound minecraft:block.portal.trigger block @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1"); - server.commandManager.executeCommand(server, "particle portal " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 1000"); - server.commandManager.executeCommand(server, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @p {"text":"Current destination: ' + destination + '"}'); - } -} - -//places portal blocks inside the stargate ring: -function wormholeGeneratorPlacePortal(controller as IMachineController, portalBlock as string) { - var facing = controller.facing; - var pos = controller.pos.getOffset(up,4).getOffset(facing,-3); - server.commandManager.executeCommand(server, "fill " + (pos.x - 1) + " " + (pos.y - 1) + " " + (pos.z - 1) + " " + (pos.x + 1) + " " + (pos.y + 1) + " " + (pos.z + 1) + " " + portalBlock); -} - - diff --git a/scripts/MythicProcessorAlloys.zs b/scripts/MythicProcessorAlloys.zs index 516e6da5..4831b1aa 100644 --- a/scripts/MythicProcessorAlloys.zs +++ b/scripts/MythicProcessorAlloys.zs @@ -893,7 +893,7 @@ val mythallo122 = RecipeBuilder.newBuilder("mythallo122","mythic_processor_alloy mythallo122.addEnergyPerTickInput(80000); mythallo122.addItemInput(*10); mythallo122.addItemInput(*2); -mythallo122.addItemOutput(); +mythallo122.addItemOutput(*2); mythallo122.build(); val mythallo123 = RecipeBuilder.newBuilder("mythallo123","mythic_processor_alloy_furnace",2); @@ -954,4 +954,5 @@ mythallo130.addItemInput(*4); mythallo130.addItemInput(*4); mythallo130.addItemInput(*4); mythallo130.addItemOutput(); -mythallo130.build(); \ No newline at end of file +mythallo130.build(); + diff --git a/scripts/MythicProcessorArkencrusher.zs b/scripts/MythicProcessorArkencrusher.zs index 5e20d95a..3ba07518 100644 --- a/scripts/MythicProcessorArkencrusher.zs +++ b/scripts/MythicProcessorArkencrusher.zs @@ -77,4 +77,76 @@ mytharken8.addEnergyPerTickInput(1000000); mytharken8.addFluidInput(*10); mytharken8.addItemInput(); mytharken8.addItemOutput(*64); -mytharken8.build(); \ No newline at end of file +mytharken8.build(); + + + +val mytharken9 = RecipeBuilder.newBuilder("mytharken9","mythic_processor_arkencrusher",2); +mytharken9.addEnergyPerTickInput(1000000); +mytharken9.addFluidInput(*1); +mytharken9.addItemInput(); +mytharken9.addItemOutput(*2); +mytharken9.build(); + +val mytharken10 = RecipeBuilder.newBuilder("mytharken10","mythic_processor_arkencrusher",2); +mytharken10.addEnergyPerTickInput(1000000); +mytharken10.addFluidInput(*1); +mytharken10.addItemInput(); +mytharken10.addItemOutput(*4); +mytharken10.build(); + +val mytharken11 = RecipeBuilder.newBuilder("mytharken11","mythic_processor_arkencrusher",2); +mytharken11.addEnergyPerTickInput(1000000); +mytharken11.addFluidInput(*1); +mytharken11.addItemInput(); +mytharken11.addItemOutput(*8); +mytharken11.build(); + +val mytharken12 = RecipeBuilder.newBuilder("mytharken12","mythic_processor_arkencrusher",2); +mytharken12.addEnergyPerTickInput(1000000); +mytharken12.addFluidInput(*1); +mytharken12.addItemInput(); +mytharken12.addItemOutput(*16); +mytharken12.build(); + +val mytharken13 = RecipeBuilder.newBuilder("mytharken13","mythic_processor_arkencrusher",2); +mytharken13.addEnergyPerTickInput(1000000); +mytharken13.addFluidInput(*1); +mytharken13.addItemInput(); +mytharken13.addItemOutput(*32); +mytharken13.build(); + +val mytharken14 = RecipeBuilder.newBuilder("mytharken14","mythic_processor_arkencrusher",2); +mytharken14.addEnergyPerTickInput(1000000); +mytharken14.addFluidInput(*1); +mytharken14.addItemInput(); +mytharken14.addItemOutput(*64); +mytharken14.build(); + +val mytharken15 = RecipeBuilder.newBuilder("mytharken15","mythic_processor_arkencrusher",2); +mytharken15.addEnergyPerTickInput(1000000); +mytharken15.addFluidInput(*1); +mytharken15.addItemInput(); +mytharken15.addItemOutput(*128); +mytharken15.build(); + +val mytharken16 = RecipeBuilder.newBuilder("mytharken16","mythic_processor_arkencrusher",2); +mytharken16.addEnergyPerTickInput(1000000); +mytharken16.addFluidInput(*1); +mytharken16.addItemInput(); +mytharken16.addItemOutput(*256); +mytharken16.build(); + +val mytharken17 = RecipeBuilder.newBuilder("mytharken17","mythic_processor_arkencrusher",2); +mytharken17.addEnergyPerTickInput(1000000); +mytharken17.addFluidInput(*1); +mytharken17.addItemInput(); +mytharken17.addItemOutput(*512); +mytharken17.build(); + +val mytharken18 = RecipeBuilder.newBuilder("mytharken18","mythic_processor_arkencrusher",2); +mytharken18.addEnergyPerTickInput(1000000); +mytharken18.addFluidInput(*1); +mytharken18.addItemInput(); +mytharken18.addItemOutput(*1024); +mytharken18.build(); \ No newline at end of file diff --git a/scripts/MythicProcessorMelter.zs b/scripts/MythicProcessorMelter.zs index 9cb941c4..4b5c0e8a 100644 --- a/scripts/MythicProcessorMelter.zs +++ b/scripts/MythicProcessorMelter.zs @@ -723,3 +723,9 @@ mythmelt656.addFluidOutput( * 144); mythmelt656.build(); + +val mythmelt657 = RecipeBuilder.newBuilder("mythmelt657","mythic_processor_melter",2); +mythmelt657.addEnergyPerTickInput(60000); +mythmelt657.addItemInput(); +mythmelt657.addFluidOutput( * 1000000); +mythmelt657.build(); \ No newline at end of file diff --git a/scripts/OreDictionary.zs b/scripts/OreDictionary.zs index 375ea5c9..c2eff49c 100644 --- a/scripts/OreDictionary.zs +++ b/scripts/OreDictionary.zs @@ -151,3 +151,7 @@ oremeteoricdraconium.add(); val orefierypyrite = ; orefierypyrite.add(); + + +val orestoneblock = ; +orestoneblock.remove(); \ No newline at end of file diff --git a/scripts/Tardis.zs b/scripts/Tardis.zs index a3433f64..94b1f2c4 100644 --- a/scripts/Tardis.zs +++ b/scripts/Tardis.zs @@ -8,6 +8,46 @@ import scripts.enchantwrapper.EnchantWrapper.SuperEnchantedItem; import crafttweaker.enchantments.IEnchantmentDefinition; +mods.thaumcraft.Infusion.registerRecipe("infthaumicbrushbro", "", +, 10, +[*10000, *10000], +, +[, .withTag({FluidName: "whisper_of_thel", Amount: 1000}), +, .withTag({FluidName: "whisper_of_thel", Amount: 1000}), +, .withTag({FluidName: "whisper_of_thel", Amount: 1000}), +, .withTag({FluidName: "whisper_of_thel", Amount: 1000}), +, .withTag({FluidName: "whisper_of_thel", Amount: 1000}), +, .withTag({FluidName: "whisper_of_thel", Amount: 1000})]); + +recipes.addShaped(, +[[, , ], +[, , ], +[, , ]]); + +recipes.addShaped(, +[[, , ], +[, , ], +[, , ]]); + +recipes.addShaped(, +[[, , ], +[, , ], +[, , ]]); + + +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M瑟尔§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M阿克拉斯特・科瓦莱恩§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M维狄萨斯・安纳斯§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M欧姆托斯・费拉克§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M丹奈斯・鲁森§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M泰兰§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M库拉德・泰尔兰§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M库拉德・暗穆兰§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M库拉德・加莱§r"]}})]); +mods.nuclearcraft.infuser.addRecipe([, *1, .withTag({display: {Lore: ["§d§M斯塔沃・德梅兰§r"]}})]); + + + mods.thaumcraft.Infusion.registerRecipe("infrecursiondimascension", "", , 10, [*10000, *10000, *10000, *10000, *10000, *10000, *10000], @@ -52,6 +92,58 @@ mods.thaumcraft.Infusion.registerRecipe("infstoneworthiness", "", , ]); +val moltenchaosentropic1 = RecipeBuilder.newBuilder("moltenchaosentropic1","abyssal_entropic_catalyzer",2); +moltenchaosentropic1.addItemInput(); +moltenchaosentropic1.addItemInput(); +moltenchaosentropic1.addItemInput(); +moltenchaosentropic1.addItemInput(); +moltenchaosentropic1.addItemInput(); +moltenchaosentropic1.addFluidInput(*144); +moltenchaosentropic1.addFluidOutput(*1440); +moltenchaosentropic1.build(); + +val moltenchaosentropic2 = RecipeBuilder.newBuilder("moltenchaosentropic2","abyssal_entropic_catalyzer",2); +moltenchaosentropic2.addItemInput(); +moltenchaosentropic2.addItemInput(); +moltenchaosentropic2.addItemInput(); +moltenchaosentropic2.addItemInput(); +moltenchaosentropic2.addItemInput(); +moltenchaosentropic2.addFluidInput(*144); +moltenchaosentropic2.addFluidOutput(*2880); +moltenchaosentropic2.build(); + +val moltenchaosentropic3 = RecipeBuilder.newBuilder("moltenchaosentropic3","abyssal_entropic_catalyzer",2); +moltenchaosentropic3.addItemInput(); +moltenchaosentropic3.addItemInput(); +moltenchaosentropic3.addItemInput(); +moltenchaosentropic3.addItemInput(); +moltenchaosentropic3.addItemInput(); +moltenchaosentropic3.addFluidInput(*144); +moltenchaosentropic3.addFluidOutput(*14400); +moltenchaosentropic3.build(); + +val moltenchaosentropic4 = RecipeBuilder.newBuilder("moltenchaosentropic4","abyssal_entropic_catalyzer",2); +moltenchaosentropic4.addItemInput(); +moltenchaosentropic4.addItemInput(); +moltenchaosentropic4.addItemInput(); +moltenchaosentropic4.addItemInput(); +moltenchaosentropic4.addItemInput(); +moltenchaosentropic4.addFluidInput(*144); +moltenchaosentropic4.addFluidOutput(*144000); +moltenchaosentropic4.build(); + +val moltenchaosentropic5 = RecipeBuilder.newBuilder("moltenchaosentropic5","abyssal_entropic_catalyzer",2); +moltenchaosentropic5.addItemInput(); +moltenchaosentropic5.addItemInput(); +moltenchaosentropic5.addItemInput(); +moltenchaosentropic5.addItemInput(); +moltenchaosentropic5.addItemInput(); +moltenchaosentropic5.addFluidInput(*144); +moltenchaosentropic5.addFluidOutput(*1440000); +moltenchaosentropic5.build(); + + + val catalystbalance0 = RecipeBuilder.newBuilder("catalystbalance0","catalyst_of_balance",20); catalystbalance0.addEnergyPerTickInput(2000000000); catalystbalance0.addItemInput(); @@ -162,6 +254,14 @@ arcautinfdracshades.addItemOutput(, +[[null, , , , null], +[, , , , ], +[, , , , ], +[, , , , ], +[null, , , , null]]); + + mods.extendedcrafting.TableCrafting.addShaped(*12, [[, , .withTag({Material: "adamantium"}), , ], [, , , , ], @@ -701,4 +801,4 @@ blackholejuice.addFluidOutput(*10); blackholejuice.build(); -mods.nuclearcraft.infuser.addRecipe([, *500, , 1.0, 1.0, 1.0]); +mods.nuclearcraft.infuser.addRecipe([, *500, , 1.0, 1.0, 1.0]); \ No newline at end of file diff --git a/scripts/ToolTips.zs b/scripts/ToolTips.zs index 7ec20b7f..4be1b596 100644 --- a/scripts/ToolTips.zs +++ b/scripts/ToolTips.zs @@ -1536,6 +1536,7 @@ .addTooltip(format.red("shiraori_gd (单人)")); .addTooltip(format.red("Sbmhawk (单人)")); .addTooltip(format.red("amberacid (单人)")); +.addTooltip(format.red("BoxZen, ray_ray, obscure_man, TheLMiffy111 (团队)")); .addTooltip(format.red("可被使用者使用")); .addTooltip(format.red("可被使用者使用")); @@ -1797,6 +1798,9 @@ .addTooltip(format.red("多方块升级,寒铁锻台:速度x20")); .addTooltip(format.red("多方块升级,定义器:输出x2")); .addTooltip(format.red("多方块升级,定义器:输出x8")); +.addTooltip(format.red("多方块升级,定义器:输出x16")); +.addTooltip(format.red("多方块升级,定义器:输出x64")); +.addTooltip(format.red("多方块升级,定义器:输出x256")); .addTooltip(format.red("多方块升级,维度稳定器:速度x50")); .addTooltip(format.red("多方块升级,龙炎坩埚:速度x6")); .addTooltip(format.red("多方块升级,龙炎锻炉:输出x8")); @@ -1835,6 +1839,12 @@ .addTooltip(format.red("多方块升级,中子素炮&中子素轰击器:速度x20")); .addTooltip(format.red("多方块升级,夸克分解器&强脉冲加速器:速度x20")); .addTooltip(format.red("方块升级,『立方』:速度x20")); +.addTooltip(format.red("多方块升级,戴森压缩器:输出x4")); +.addTooltip(format.red("多方块升级,戴森压缩器:输出x16")); + +.addTooltip(format.red("多方块升级,超高速生长灌注器:输出x4")); +.addTooltip(format.red("多方块升级,超高速生长灌注器:输出x16")); +.addTooltip(format.red("多方块升级,超高速生长灌注器:输出x64")); .addTooltip(format.red("该物品可以将物品带进梦魇世界(好耶!)")); @@ -2030,8 +2040,8 @@ .addTooltip(format.red("使用原材料缓存仓以在自动合成中同时物品与流体")); -.addTooltip(format.red("可放置在想自动处理的机器与二合一接口接口之间,以同时处理物品与流体")); -.addTooltip(format.red("可放置在想自动处理的机器与二合一接口接口之间,以同时处理物品与流体")); +.addTooltip(format.red("可放置在想自动处理的机器与二合一接口之间,以同时处理物品与流体")); +.addTooltip(format.red("可放置在想自动处理的机器与二合一接口之间,以同时处理物品与流体")); .addTooltip(format.red("原子再构室使自动化更简单 ;)")); @@ -2674,6 +2684,14 @@ .addTooltip(format.red("/bq_admin default load")); +.addTooltip(format.red("警告:该方块未来将会被移除,请替换为常规的多方块升级")); +.addTooltip(format.red("警告:该方块未来将会被移除,请替换为常规的多方块升级")); +.addTooltip(format.red("警告:该方块未来将会被移除,请替换为常规的多方块升级")); +.addTooltip(format.red("警告:该方块未来将会被移除,请替换为常规的多方块升级")); +.addTooltip(format.red("警告:该方块未来将会被移除,请替换为常规的多方块升级")); +.addTooltip(format.red("警告:该方块未来将会被移除,请替换为常规的多方块升级")); + + diff --git a/scripts/portals/BeeStargatePortalBlocks.zs b/scripts/portals/BeeStargatePortalBlocks.zs new file mode 100644 index 00000000..55aa59ec --- /dev/null +++ b/scripts/portals/BeeStargatePortalBlocks.zs @@ -0,0 +1,191 @@ +#loader contenttweaker +import native.net.minecraft.util.math.BlockPos; + +import crafttweaker.block.IBlockState; +import crafttweaker.player.IPlayer; +import crafttweaker.text.ITextComponent; +import crafttweaker.world.IBlockPos; +import mods.contenttweaker.Commands; +import mods.contenttweaker.VanillaFactory; +import mods.zenutils.cotx.Block; + +var sednaportal = VanillaFactory.createExpandBlock("sedna_portal_block", ); +setPortalProps(sednaportal); +setPortalLogic(sednaportal, 147, true); +sednaportal.register(); + +var rheniaportal = VanillaFactory.createExpandBlock("rhenia_portal_block", ); +setPortalProps(rheniaportal); +setPortalLogic(rheniaportal, 163, true); +rheniaportal.register(); + +var haumeaportal = VanillaFactory.createExpandBlock("haumea_portal_block", ); +setPortalProps(haumeaportal); +setPortalLogic(haumeaportal, 146, true); +haumeaportal.register(); + +var lunaportal = VanillaFactory.createExpandBlock("luna_portal_block", ); +setPortalProps(lunaportal); +setPortalLogic(lunaportal, 145, true); +lunaportal.register(); + + +var osirisportal = VanillaFactory.createExpandBlock("osiris_portal_block", ); +setPortalProps(osirisportal); +setPortalLogic(osirisportal, 148, true); +osirisportal.register(); + + +var ptahportal = VanillaFactory.createExpandBlock("ptah_portal_block", ); +setPortalProps(ptahportal); +setPortalLogic(ptahportal, 149, true); +ptahportal.register(); + + +var hatorportal = VanillaFactory.createExpandBlock("hator_portal_block", ); +setPortalProps(hatorportal); +setPortalLogic(hatorportal, 150, true); +hatorportal.register(); + + +var europaportal = VanillaFactory.createExpandBlock("europa_portal_block", ); +setPortalProps(europaportal); +setPortalLogic(europaportal, 151, true); +europaportal.register(); + +var oiportal = VanillaFactory.createExpandBlock("oi_portal_block", ); +setPortalProps(oiportal); +setPortalLogic(oiportal, 152, true); +oiportal.register(); + + +var falacerportal = VanillaFactory.createExpandBlock("falacer_portal_block", ); +setPortalProps(falacerportal); +setPortalLogic(falacerportal, 160, true); +falacerportal.register(); + + +var orcusportal = VanillaFactory.createExpandBlock("orcus_portal_block", ); +setPortalProps(orcusportal); +setPortalLogic(orcusportal, 161, true); +orcusportal.register(); + + +var myrmexportal = VanillaFactory.createExpandBlock("myrmex_portal_block", ); +setPortalProps(myrmexportal); +setPortalLogic(myrmexportal, 164, true); +myrmexportal.register(); + + +var pixoniaportal = VanillaFactory.createExpandBlock("pixonia_portal_block", ); +setPortalProps(pixoniaportal); +setPortalLogic(pixoniaportal, 165, true); +pixoniaportal.register(); + +var proximaportal = VanillaFactory.createExpandBlock("proxima_portal_block", ); +setPortalProps(proximaportal); +setPortalLogic(proximaportal, 166, true); +proximaportal.register(); + + +var zoiportal = VanillaFactory.createExpandBlock("zoi_portal_block", ); +setPortalProps(zoiportal); +setPortalLogic(zoiportal, 171, true); +zoiportal.register(); + +var neroportal = VanillaFactory.createExpandBlock("nero_portal_block", ); +setPortalProps(neroportal); +setPortalLogic(neroportal, 170, true); +neroportal.register(); + + +var akathartosportal = VanillaFactory.createExpandBlock("akathartos_portal_block", ); +setPortalProps(akathartosportal); +setPortalLogic(akathartosportal, 172, true); +akathartosportal.register(); + +var pauramportal = VanillaFactory.createExpandBlock("pauram_portal_block", ); +setPortalProps(pauramportal); +setPortalLogic(pauramportal, 173, true); +pauramportal.register(); + + +var alkemiaportal = VanillaFactory.createExpandBlock("alkemia_portal_block", ); +setPortalProps(alkemiaportal); +setPortalLogic(alkemiaportal, 174, true); +alkemiaportal.register(); + + +var apichisiportal = VanillaFactory.createExpandBlock("apichisi_portal_block", ); +setPortalProps(apichisiportal); +setPortalLogic(apichisiportal, 184, false); +apichisiportal.register(); + + +var taerrapiattaportal = VanillaFactory.createExpandBlock("taerrapiatta_portal_block", ); +setPortalProps(taerrapiattaportal); +setPortalLogic(taerrapiattaportal, 180, false); +taerrapiattaportal.register(); + +var diamerismaportal = VanillaFactory.createExpandBlock("diamerisma_portal_block", ); +setPortalProps(diamerismaportal); +setPortalLogic(diamerismaportal, 181, false); +diamerismaportal.register(); + +var furattoportal = VanillaFactory.createExpandBlock("furatto_portal_block", ); +setPortalProps(furattoportal); +setPortalLogic(furattoportal, 182, false); +furattoportal.register(); + +var finemportal = VanillaFactory.createExpandBlock("finem_portal_block", ); +setPortalProps(finemportal); +setPortalLogic(finemportal, 185, false); +finemportal.register(); + +var lyndenwyrmportal = VanillaFactory.createExpandBlock("lyndenwyrm_portal_block", ); +setPortalProps(lyndenwyrmportal); +setPortalLogic(lyndenwyrmportal, 162, false); +lyndenwyrmportal.register(); + +var gallifreyportal = VanillaFactory.createExpandBlock("gallifrey_portal_block", ); +setPortalProps(gallifreyportal); +setPortalLogic(gallifreyportal, 624, false); +gallifreyportal.register(); + +function setPortalProps(block as Block) as Block { + block.setBlockHardness(-1.0); + block.setToolClass("pickaxe"); + block.setPassable(true); + block.setFullBlock(false); + block.setLightValue(0.5); + block.setBlockLayer("TRANSLUCENT"); + block.setLightOpacity(0); + block.setTranslucent(true); + return block; +} + +// Based off end portal logic. +function setPortalLogic(block as Block, dimId as int, inSpace as bool) as Block { + block.onEntityCollidedWithBlock = function(world, pos, state, entity) { + if (world.isRemote() || world.time % 20 != 0 || !(entity instanceof IPlayer)) { + return; + } + var player as IPlayer = entity; + // CoT type -> native type + var blockPos as BlockPos = BlockPos(pos.x, pos.y, pos.z); + var entityBB = entity.native.getEntityBoundingBox(); + // Ugly casting because of CoT types + var blockBB = (state as IBlockState).native.getBoundingBox(entity.world.native, blockPos); + if (!inSpace || world.getBiome(player.position as IBlockPos).name == "Space") { + if (!entity.isRiding && !entity.isBeingRidden && entityBB.intersects(blockBB.offset(blockPos))) { + Commands.call(`cofh tpx @s ${dimId}`, player, world, true, true); + Commands.call("summon astralsorcery:entitystarburst", player, world, true, true); + } + } else { + var text = ITextComponent.fromTranslation("chat.contenttweaker.stargate.NotInSpace"); + text.style.color = "RED"; + player.sendRichTextStatusMessage(text, true); + } + }; + return block; +} \ No newline at end of file diff --git a/scripts/portals/ModularBeeStargate.zs b/scripts/portals/ModularBeeStargate.zs new file mode 100644 index 00000000..a500a1f1 --- /dev/null +++ b/scripts/portals/ModularBeeStargate.zs @@ -0,0 +1,294 @@ +import native.hellfirepvp.modularmachinery.common.crafting.command.ControllerCommandSender; +import native.hellfirepvp.modularmachinery.common.tiles.base.TileMultiblockMachineController; +import native.net.minecraft.item.Item; +import native.net.minecraft.item.ItemStack; + +import crafttweaker.block.IBlockState; +import crafttweaker.command.ICommandSender; +import crafttweaker.world.IBlockPos; +import mods.modularmachinery.RecipeBuilder; +import mods.modularmachinery.MachineTickEvent; +import mods.modularmachinery.RecipeStartEvent; +import mods.modularmachinery.RecipeFailureEvent; +import mods.modularmachinery.MMEvents; +import mods.modularmachinery.IMachineController; + +// Ideally some code here should be shared with ModularWormholeField, but for some reason cross-script reference doesn't work. + +var portal = ; +portal.addItems([ + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + +]); +var tooltip = [ + "该配方在激活时会生成一个传送门。", + "多方块结构必须位于太空站。", + "站在传送门中以进行传送。" +] as string[]; + +var stargatesedna = RecipeBuilder.newBuilder("stargate_sedna", "bee_stargate", 100); +stargatesedna.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:sedna_portal_block", "Sedna"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargaterhenia = RecipeBuilder.newBuilder("stargate_rhenia", "bee_stargate", 100); +stargaterhenia.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:rhenia_portal_block", "Rhenia"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargateluna = RecipeBuilder.newBuilder("stargate_luna", "bee_stargate", 100); +stargateluna.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:luna_portal_block", "Luna"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargateosiris = RecipeBuilder.newBuilder("stargate_osiris", "bee_stargate", 100); +stargateosiris.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:osiris_portal_block", "Osiris"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargateptah = RecipeBuilder.newBuilder("stargate_ptah", "bee_stargate", 100); +stargateptah.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:ptah_portal_block", "Ptah"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargatehator = RecipeBuilder.newBuilder("stargate_hator", "bee_stargate", 100); +stargatehator.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:hator_portal_block", "Hator"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargateeuropa = RecipeBuilder.newBuilder("stargate_europa", "bee_stargate", 100); +stargateeuropa.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:europa_portal_block", "Europa"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargateoi = RecipeBuilder.newBuilder("stargate_oi", "bee_stargate", 100); +stargateoi.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:oi_portal_block", "Oi"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargatefalacer = RecipeBuilder.newBuilder("stargate_falacer", "bee_stargate", 100); +stargatefalacer.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:falacer_portal_block", "Falacer"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargateorcus = RecipeBuilder.newBuilder("stargate_orcus", "bee_stargate", 100); +stargateorcus.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:orcus_portal_block", "Orcus"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargatemyrmex = RecipeBuilder.newBuilder("stargate_myrmex", "bee_stargate", 100); +stargatemyrmex.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:myrmex_portal_block", "Myrmex"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargatepixonia = RecipeBuilder.newBuilder("stargate_pixonia", "bee_stargate", 100); +stargatepixonia.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:pixonia_portal_block", "Pixonia"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargateproxima = RecipeBuilder.newBuilder("stargate_proxima", "bee_stargate", 100); +stargateproxima.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:proxima_portal_block", "Proxima"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargatenero = RecipeBuilder.newBuilder("stargate_nero", "bee_stargate", 100); +stargatenero.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:nero_portal_block", "Nero"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargatezoi = RecipeBuilder.newBuilder("stargate_zoi", "bee_stargate", 100); +stargatezoi.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:zoi_portal_block", "Zoi"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargateakathartos = RecipeBuilder.newBuilder("stargate_akathartos", "bee_stargate", 100); +stargateakathartos.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:akathartos_portal_block", "Akathartos"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargatepauram = RecipeBuilder.newBuilder("stargate_pauram", "bee_stargate", 100); +stargatepauram.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:pauram_portal_block", "Pauram"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var stargatealkemia = RecipeBuilder.newBuilder("stargate_alkemia", "bee_stargate", 100); +stargatealkemia.addItemInput().setChance(0) + .addFluidInput( * 100) + .addStartHandler(function(event as RecipeStartEvent) { + beeStargateRecipeStart(event.controller, "contenttweaker:alkemia_portal_block", "Alkemia"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +// Do start up sound and message if no current portal, spawn portal if different recipe, or nothing if same portal: +function beeStargateRecipeStart(controller as IMachineController, portalBlock as string, destination as string) { + var pos = getCenter(controller, 5, -4); + var sender = getControllerSender(controller); + controller.world.native.getMinecraftServer().addScheduledTask(function() { + var currentPortalBlock = controller.world.getBlockState(pos); + + if (currentPortalBlock != IBlockState.getBlockState(portalBlock,"")) { + if (currentPortalBlock == IBlockState.getBlockState("minecraft:air","")) { + var onlineText = '{"translate":"chat.contenttweaker.stargate.online"}'; + server.commandManager.executeCommand(sender, "playsound minecraft:entity.evocation_illager.prepare_summon ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1"); + server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + onlineText); + } + beeStargatePlacePortal(controller, portalBlock, pos, sender); + var destinationText = '{"translate":"chat.contenttweaker.portals.destination","with":["' + destination + '"]}'; + server.commandManager.executeCommand(sender, "playsound minecraft:block.portal.trigger block @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1"); + server.commandManager.executeCommand(sender, "particle portal " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 1000"); + server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + destinationText); + } + }); +} + +// Destroy portal if the controller is not running. +MMEvents.onMachinePostTick("bee_stargate", function(event as MachineTickEvent) { + var ctrl = event.controller; + if (ctrl.world.time % 20 != 0 || ctrl.isWorking) { + return; + } + var pos = getCenter(ctrl, 5, -4); + ctrl.world.native.getMinecraftServer().addScheduledTask(function() { + var centerState = ctrl.world.getBlockState(pos); + var itemBlock = ItemStack(Item.getItemFromBlock(centerState.block.native)); + // Only clear blocks that aren't unbreakable or are known portal blocks. + if(centerState != IBlockState.getBlockState("minecraft:air","") && !isNull(itemBlock) + && (centerState.block.definition.hardness >= 0 || itemBlock.wrapper.definition.ores has portal)) { + beeStargateClear(ctrl, pos); + } + }); +}); + +// Clear portal blocks. +function beeStargateClear(controller as IMachineController, pos as IBlockPos) { + var sender = getControllerSender(controller); + beeStargatePlacePortal(controller, "minecraft:air", pos, sender); + var offlineText = '{"translate":"chat.contenttweaker.stargate.offline"}'; + server.commandManager.executeCommand(sender, "playsound minecraft:entity.evocation_illager.cast_spell ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 0.5"); + server.commandManager.executeCommand(sender, "particle smoke " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 200"); + server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + offlineText); +} + +// Places portal blocks inside the stargate frame: +function beeStargatePlacePortal(controller as IMachineController, portalBlock as string, pos as IBlockPos, sender as ICommandSender) { + var facing = controller.facing; + var dx = 0; + var dz = 0; + // The plane direction + if (facing == crafttweaker.world.IFacing.north() || facing == crafttweaker.world.IFacing.south()) { dx = 1; } + else { dz = 1; } + server.commandManager.executeCommand(sender, "fill " + (pos.x - dx) + " " + (pos.y - 1) + " " + (pos.z - dz) + " " + (pos.x + dx) + " " + (pos.y + 1) + " " + (pos.z + dz) + " " + portalBlock); +} + +function getCenter(ctrl as IMachineController, offsetUp as int, offsetFacing as int) as IBlockPos { + return ctrl.pos.getOffset(up, offsetUp).getOffset(ctrl.facing, offsetFacing); +} + +// The ICommandSender must have the correct associated world, so we're using ControllerCommandSender. +function getControllerSender(controller as IMachineController) as ICommandSender { + var sender = ControllerCommandSender(controller as TileMultiblockMachineController) as native.net.minecraft.command.ICommandSender; + return sender.wrapper; +} \ No newline at end of file diff --git a/scripts/portals/ModularWormholeField.zs b/scripts/portals/ModularWormholeField.zs new file mode 100644 index 00000000..19e8984e --- /dev/null +++ b/scripts/portals/ModularWormholeField.zs @@ -0,0 +1,168 @@ +import native.hellfirepvp.modularmachinery.common.crafting.command.ControllerCommandSender; +import native.hellfirepvp.modularmachinery.common.tiles.base.TileMultiblockMachineController; +import native.net.minecraft.item.Item; +import native.net.minecraft.item.ItemStack; + +import crafttweaker.block.IBlockState; +import crafttweaker.command.ICommandSender; +import crafttweaker.world.IBlockPos; +import mods.modularmachinery.RecipeBuilder; +import mods.modularmachinery.MachineTickEvent; +import mods.modularmachinery.RecipeStartEvent; +import mods.modularmachinery.RecipeFailureEvent; +import mods.modularmachinery.MMEvents; +import mods.modularmachinery.IMachineController; + +// Ideally some code here should be shared with ModularBeeStargate, but for some reason cross-script reference doesn't work. + +var portal = ; +portal.addItems([ + , + , + , + , + , + , + +]); +var tooltip = [ + "该配方在激活时会生成一个传送门。", + "站在传送门中以进行传送。" +] as string[]; + +var wormholetaerrapiatta = RecipeBuilder.newBuilder("wormholetaerrapiatta","wormhole_field_generator",100); +wormholetaerrapiatta.addItemInput().setChance(0) + .addEnergyPerTickInput(10000) + .addStartHandler(function(event as RecipeStartEvent) { + wormholeGeneratorRecipeStart(event.controller, "contenttweaker:taerrapiatta_portal_block", "Taerrapiatta"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var wormholediamerisma = RecipeBuilder.newBuilder("wormholediamerisma","wormhole_field_generator",100); +wormholediamerisma.addItemInput().setChance(0) + .addEnergyPerTickInput(10000) + .addStartHandler(function(event as RecipeStartEvent) { + wormholeGeneratorRecipeStart(event.controller, "contenttweaker:diamerisma_portal_block", "Diamerisma"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var wormholefuratto = RecipeBuilder.newBuilder("wormholefuratto","wormhole_field_generator",100); +wormholefuratto.addItemInput().setChance(0) + .addEnergyPerTickInput(10000) + .addStartHandler(function(event as RecipeStartEvent) { + wormholeGeneratorRecipeStart(event.controller, "contenttweaker:furatto_portal_block", "Furatto"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var wormholefinem = RecipeBuilder.newBuilder("wormholefinem","wormhole_field_generator",100); +wormholefinem.addItemInput().setChance(0) + .addEnergyPerTickInput(10000) + .addStartHandler(function(event as RecipeStartEvent) { + wormholeGeneratorRecipeStart(event.controller, "contenttweaker:finem_portal_block", "Finem"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var wormholeapichisi = RecipeBuilder.newBuilder("wormholeapichisi","wormhole_field_generator",100); +wormholeapichisi.addItemInput().setChance(0) + .addEnergyPerTickInput(10000) + .addStartHandler(function(event as RecipeStartEvent) { + wormholeGeneratorRecipeStart(event.controller, "contenttweaker:apichisi_portal_block", "Apichisi"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var wormholelyndenwyrm = RecipeBuilder.newBuilder("wormholelyndenwyrm","wormhole_field_generator",100); +wormholelyndenwyrm.addItemInput().setChance(0) + .addEnergyPerTickInput(10000) + .addStartHandler(function(event as RecipeStartEvent) { + wormholeGeneratorRecipeStart(event.controller, "contenttweaker:lyndenwyrm_portal_block", "Lyndenwyrm"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +var wormholegallifrey = RecipeBuilder.newBuilder("wormholegallifrey","wormhole_field_generator",100); +wormholegallifrey.addItemInput().setChance(0) + .addEnergyPerTickInput(10000) + .addStartHandler(function(event as RecipeStartEvent) { + wormholeGeneratorRecipeStart(event.controller, "contenttweaker:gallifrey_portal_block", "Gallifrey"); + } + ) + .addRecipeTooltip(tooltip) + .build(); + +// Do start up sound and message if no current portal, spawn portal if different recipe, or nothing if same portal: +function wormholeGeneratorRecipeStart(controller as IMachineController, portalBlock as string, destination as string) { + var pos = getCenter(controller, 4, -3); + var sender = getControllerSender(controller); + controller.world.native.getMinecraftServer().addScheduledTask(function() { + var currentPortalBlock = controller.world.getBlockState(pos); + + if (currentPortalBlock != IBlockState.getBlockState(portalBlock,"")) { + if (currentPortalBlock == IBlockState.getBlockState("minecraft:air","")) { + var onlineText = '{"translate":"chat.contenttweaker.wormhole_generator.online"}'; + server.commandManager.executeCommand(sender, "playsound minecraft:entity.evocation_illager.prepare_summon ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1"); + server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + onlineText); + } + wormholeGeneratorPlacePortal(controller, portalBlock, pos, sender); + var destinationText = '{"translate":"chat.contenttweaker.portals.destination","with":["' + destination + '"]}'; + server.commandManager.executeCommand(sender, "playsound minecraft:block.portal.trigger block @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1"); + server.commandManager.executeCommand(sender, "particle portal " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 1000"); + server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + destinationText); + } + }); +} + +// Destroy portal if the controller is not running. +MMEvents.onMachinePostTick("wormhole_field_generator", function(event as MachineTickEvent) { + var ctrl = event.controller; + if (ctrl.world.time % 20 != 0 || ctrl.isWorking) { + return; + } + var pos = getCenter(ctrl, 4, -3); + ctrl.world.native.getMinecraftServer().addScheduledTask(function() { + var centerState = ctrl.world.getBlockState(pos); + var itemBlock = ItemStack(Item.getItemFromBlock(centerState.block.native)); + // Only clear blocks that aren't unbreakable or are known portal blocks. + if(centerState != IBlockState.getBlockState("minecraft:air","") && !isNull(itemBlock) + && (centerState.block.definition.hardness >= 0 || itemBlock.wrapper.definition.ores has portal)) { + wormholeGeneratorClear(ctrl, pos); + } + }); +}); + +// Clear portal blocks. +function wormholeGeneratorClear(controller as IMachineController, pos as IBlockPos) { + var sender = getControllerSender(controller); + wormholeGeneratorPlacePortal(controller, "minecraft:air", pos, sender); + var offlineText = '{"translate":"chat.contenttweaker.wormhole_generator.offline"}'; + server.commandManager.executeCommand(sender, "playsound minecraft:entity.evocation_illager.cast_spell ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 0.5"); + server.commandManager.executeCommand(sender, "particle smoke " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 200"); + server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + offlineText); +} + + +// Places portal blocks inside the wormhole area: +function wormholeGeneratorPlacePortal(controller as IMachineController, portalBlock as string, pos as IBlockPos, sender as ICommandSender) { + var facing = controller.facing; + server.commandManager.executeCommand(sender, "fill " + (pos.x - 1) + " " + (pos.y - 1) + " " + (pos.z - 1) + " " + (pos.x + 1) + " " + (pos.y + 1) + " " + (pos.z + 1) + " " + portalBlock); +} + +function getCenter(ctrl as IMachineController, offsetUp as int, offsetFacing as int) as IBlockPos { + return ctrl.pos.getOffset(up, offsetUp).getOffset(ctrl.facing, offsetFacing); +} + +// The ICommandSender must have the correct associated world, so we're using ControllerCommandSender. +function getControllerSender(controller as IMachineController) as ICommandSender { + var sender = ControllerCommandSender(controller as TileMultiblockMachineController) as native.net.minecraft.command.ICommandSender; + return sender.wrapper; +} \ No newline at end of file