Skip to content

Commit

Permalink
Update 2.4.6
Browse files Browse the repository at this point in the history
  • Loading branch information
Awbugl committed Jan 17, 2023
1 parent 7752975 commit 11ed5cc
Show file tree
Hide file tree
Showing 13 changed files with 150 additions and 11 deletions.
13 changes: 11 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
- v2.4.6
+ 大幅提高了电解水配方的耗电量
+ 完成与巨构MOD的互相兼容,且加入了部分新配方

+ Hugely improved the power consumption when electrolyze water
+ Completed the compatibility with the MoreMegaStructure MOD and added some new recipes


<details>
<summary>点击展开日志 | Click to view all </summary>

- v2.4.5
+ 添加了MOD冲突提示与加载提示
+ 小幅提高了MOD兼容性

+ Added conflict tips and loading tips
+ Slightly improved compatibility

<details>
<summary>点击展开日志 | Click to view all </summary>

- v2.4.4
+ 修复文本错误
Expand Down
3 changes: 2 additions & 1 deletion ProjectGenesis.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
<ItemGroup>
<Compile Include="src\Compatibility\BlueprintTweaksCompatibilityPatch.cs" />
<Compile Include="src\Compatibility\IncompatibleCheckPatch.cs" />
<Compile Include="src\Compatibility\MoreMegaStructureCompatibilityPatch.cs" />
<Compile Include="src\Patches\BeltFixPatches.cs" />
<Compile Include="src\Patches\DeleteLDBConfigPatches.cs" />
<Compile Include="src\Patches\DisplayedNamePatches.cs" />
Expand All @@ -108,7 +109,6 @@
<Compile Include="src\Patches\OceanDischargePatches.cs" />
<Compile Include="src\Patches\PlanetGasPatches.cs" />
<Compile Include="src\Patches\ProductionPatches.cs" />
<Compile Include="src\Patches\ProtoIDUsedByPatches.cs" />
<Compile Include="src\Patches\ThermalPowerGenPatches.cs" />
<Compile Include="src\Patches\UIPatches.cs" />
<Compile Include="src\Patches\UISignalPickerPatches.cs" />
Expand All @@ -123,6 +123,7 @@
<Compile Include="src\Utils\MutliPlayerPacket.cs" />
<Compile Include="src\Utils\PlanetThemeUtils.cs" />
<Compile Include="src\Utils\PrefabFixUtils.cs" />
<Compile Include="src\Utils\ProtoIDUsedByPatches.cs" />
<Compile Include="src\Utils\TranslateUtils.cs" />
</ItemGroup>
<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions dependencies/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
},
{
"Name": "GenesisBookLoadMessage",
"ZHCN": "若您在主界面中看到了创世之书的图标,说明创世之书已成功加载。\n如果您在游玩创世之书MOD时遇到了任何问题,或者对MOD有宝贵的意见或建议,欢迎加入我们的QQ群:991895539(可在README.md文件中复制)",
"ENUS": "If you see the GenesisBook icon in the main menu, it means GenesisBook is successfully loaded.\nIf you have any problems or suggestions about the mod, please join our discord server: https://discord.gg/QwMEeaRZZR (You can copy the link in README.md)"
"ZHCN": "若您在主界面中看到了创世之书的图标,说明创世之书已成功加载。\n如果您在游玩创世之书MOD时遇到了任何问题,或者对MOD有宝贵的意见或建议,\n欢迎加入我们的QQ群:991895539(可在README.md文件中复制)",
"ENUS": "If the GenesisBook icon appears in the main menu, it means GenesisBook is successfully loaded.\nIf have any problems or suggestions about the mod, \nplease join our discord server: https://discord.gg/QwMEeaRZZR (You can copy the link in README.md)"
},
{
"Name": "Ok",
Expand Down
6 changes: 6 additions & 0 deletions src/Compatibility/IncompatibleCheckPatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,14 @@ public void Awake()

public static class UIMainMenuPatch
{
private static bool _shown;

[HarmonyPatch(typeof(VFPreload), "InvokeOnLoadWorkEnded")]
[HarmonyPostfix]
public static void OnMainMenuOpen()
{
if(_shown) return;

var sb = new StringBuilder();

if (IncompatibleCheckPatch.GalacticScaleInstalled) sb.AppendLine("GalacticScaleInstalled".TranslateFromJson());
Expand All @@ -54,5 +58,7 @@ public static void OnMainMenuOpen()
sb.AppendLine("GenesisBookLoadMessage".TranslateFromJson());

UIMessageBox.Show("GenesisBookLoadTitle".TranslateFromJson(), sb.ToString(), "Ok".TranslateFromJson(), UIMessageBox.INFO);

_shown = true;
}
}
101 changes: 101 additions & 0 deletions src/Compatibility/MoreMegaStructureCompatibilityPatch.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
using BepInEx;
using HarmonyLib;
using ProjectGenesis.Utils;
using xiaoye97;

// ReSharper disable InconsistentNaming
// ReSharper disable MemberCanBeInternal
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable ClassNeverInstantiated.Global
// ReSharper disable LoopCanBePartlyConvertedToQuery

namespace ProjectGenesis.Compatibility
{
[BepInPlugin(MODGUID, MODNAME, VERSION)]
[BepInDependency(MoreMegaStructureGUID)]
public class MoreMegaStructureCompatibilityPatch : BaseUnityPlugin
{
public const string MODGUID = "org.LoShin.GenesisBook.MoreMegaStructureCompatibilityPatch";
public const string MODNAME = "GenesisBook.MoreMegaStructureCompatibilityPatch";
public const string VERSION = "1.0.0";

private const string MoreMegaStructureGUID = "Gnimaerd.DSP.plugin.MoreMegaStructure";

public void Awake() => Harmony.CreateAndPatchAll(typeof(EditDataPatch));
}

internal static class EditDataPatch
{
private static readonly int[] AddedRecipes = new[]
{
330, 331, 332, 333, 334, 335, 336, 337, 350, 338, 339, 340, 341, 342, 554, 351, 556, 558,
562, 559, 561, 553, 560, 557, 555, 552, 376, 377, 378, 379, 380, 381, 343, 344, 345, 346,
347, 348, 349, 363, 364, 375
};

private static readonly int[] AddedItems = new[]
{
9480, 9481, 9482, 9483, 9484, 9485, 9486, 9487, 9488, 9489, 9490, 9491, 9492, 9500, 9493, 9494,
9495, 9496, 9497, 9498, 9499, 9501, 9502, 9512
};

[HarmonyPostfix]
[HarmonyAfter(LDBToolPlugin.MODGUID)]
[HarmonyPatch(typeof(VFPreload), "InvokeOnLoadWorkEnded")]
public static void LDBToolOnPostAddDataAction()
{
foreach (var strings in LDB.strings.dataArray)
{
switch (strings.Name)
{
case "引力钻头描述":
strings.ZHCN = "借助黑洞本身的引力,引力钻头能够将物质从黑洞中取出。借助谐振盘,黑洞原质将能够被解压并在星系内输送。";
strings.ENUS
= "The graviton drill can pull matter out of the black hole using the gravity of the black hole itself. With the help of the resonant disc, the matter from the black hole will be able to be decompressed and transported within the galaxy.";
break;

case "物质解压器功能文本":
strings.ZHCN = "产出一些基础资源(例如铁块),可被对应的物质重构器接收。";
break;

case "单极磁石重构装置":
strings.ZHCN = "钨矿重构装置";
strings.ENUS = "Tungsten receiver";
break;
}
}

foreach (var recipeID in AddedRecipes)
{
var recipeProto = LDB.recipes.Select(recipeID);
recipeProto.Type = (ERecipeType)10;
recipeProto.name = recipeProto.Name.Translate();
recipeProto.description = recipeProto.Description.Translate();

if (recipeProto.Results.Length > 0)
{
var recipeProtoResult = recipeProto.Results[0];

switch (recipeProtoResult)
{
case ProtoIDUsedByPatches.I巨型精密组装厂:
case ProtoIDUsedByPatches.I巨型对撞机:
recipeProto.ItemCounts[0] = 60;
continue;

case ProtoIDUsedByPatches.I人造恒星:
recipeProto.ItemCounts[0] = 30;
continue;
}
}
}

foreach (var itemID in AddedItems)
{
var itemProto = LDB.items.Select(itemID);
itemProto.name = itemProto.Name.Translate();
itemProto.description = itemProto.Description.Translate();
}
}
}
}
1 change: 1 addition & 0 deletions src/Patches/MegaPumpPatches.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Reflection.Emit;
using HarmonyLib;
using ProjectGenesis.Utils;

namespace ProjectGenesis.Patches
{
Expand Down
1 change: 1 addition & 0 deletions src/Patches/OceanDischargePatches.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using HarmonyLib;
using ProjectGenesis.Utils;

// ReSharper disable InconsistentNaming

Expand Down
1 change: 1 addition & 0 deletions src/Patches/PlanetGasPatches.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using ProjectGenesis.Compatibility;
using ProjectGenesis.Utils;

// ReSharper disable InconsistentNaming

Expand Down
14 changes: 14 additions & 0 deletions src/Patches/ProductionPatches.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
using System.Collections.Generic;
using System.Reflection.Emit;
using HarmonyLib;
using ProjectGenesis.Utils;

// ReSharper disable InconsistentNaming

namespace ProjectGenesis.Patches
{
public static class ProductionPatches
{
private static readonly long workEnergyPerTick_Original = 12000, workEnergyPerTick_MegaOriginal = 500000;

[HarmonyPatch(typeof(AssemblerComponent), "SetPCState")]
[HarmonyPrefix]
public static void AssemblerComponent_SetPCState_Prefix(AssemblerComponent __instance, PowerConsumerComponent[] pcPool)
{
var workEnergyPerTick = __instance.speed < MegaAssemblerPatches.MegaAssemblerSpeed
? workEnergyPerTick_Original
: workEnergyPerTick_MegaOriginal;

pcPool[__instance.pcId].workEnergyPerTick = __instance.recipeId == ProtoIDUsedByPatches.R水电解 ? workEnergyPerTick * 10 : workEnergyPerTick;
}

[HarmonyPatch(typeof(AssemblerComponent), "InternalUpdate")]
[HarmonyTranspiler]
public static IEnumerable<CodeInstruction> AssemblerComponent_InternalUpdate_Transpiler(
Expand Down
1 change: 1 addition & 0 deletions src/Patches/UIPatches.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Text;
using HarmonyLib;
using ProjectGenesis.Utils;
using UnityEngine;
using ERecipeType_1 = ERecipeType;

Expand Down
6 changes: 3 additions & 3 deletions src/ProjectGenesis.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class ProjectGenesis : BaseUnityPlugin, IModCanSave, IMultiplayerModWithS
{
public const string MODGUID = "org.LoShin.GenesisBook";
public const string MODNAME = "GenesisBook";
public const string VERSION = "2.4.5";
public const string VERSION = "2.4.6";

public string Version => VERSION;

Expand All @@ -58,13 +58,13 @@ public void Awake()
logger = Logger;
logger.Log(LogLevel.Info, "GenesisBook Awake");

if(IncompatibleCheckPatch.GalacticScaleInstalled)
if (IncompatibleCheckPatch.GalacticScaleInstalled)
{
logger.Log(LogLevel.Error, "Galactic Scale is installed, which is incompatible with GenesisBook. Load Cancelled.");
return;
}

if(IncompatibleCheckPatch.DSPBattleInstalled)
if (IncompatibleCheckPatch.DSPBattleInstalled)
{
logger.Log(LogLevel.Error, "They Come From Void is installed, which is incompatible with GenesisBook. Load Cancelled.");
return;
Expand Down
4 changes: 2 additions & 2 deletions src/Utils/PrefabFixUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ internal static void ItemPostFix(ItemProtoSet itemProtos)
LDB.items.OnAfterDeserialize();

itemProtos.Select(2317).prefabDesc.assemblerRecipeType = (ERecipeType_1)ERecipeType.高分子化工;
itemProtos.Select(2317).prefabDesc.idleEnergyPerTick = itemProtos.Select(物品.化工厂).prefabDesc.idleEnergyPerTick * 2;
itemProtos.Select(2317).prefabDesc.workEnergyPerTick = itemProtos.Select(物品.化工厂).prefabDesc.workEnergyPerTick * 2;
itemProtos.Select(2317).prefabDesc.idleEnergyPerTick = 800;
itemProtos.Select(2317).prefabDesc.workEnergyPerTick = 24000;

itemProtos.Select(物品.二级制造台).prefabDesc.assemblerRecipeType = (ERecipeType_1)ERecipeType.电路蚀刻;
itemProtos.Select(物品.三级制造台).prefabDesc.assemblerRecipeType = (ERecipeType_1)ERecipeType.高精度加工;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace ProjectGenesis.Patches
namespace ProjectGenesis.Utils
{
internal static class ProtoIDUsedByPatches
{
Expand All @@ -17,7 +17,11 @@ internal static class ProtoIDUsedByPatches

internal const int I大气采集器 = 6267,
I轨道采集器 = 2105,
I人造恒星 = 2210,
I巨型精密组装厂 = 6260,
I巨型对撞机 = 6265,
I氧 = 7019,
R水电解 = 702,
R物质分解 = 429,
R原油裂化 = 701,
R焦油分馏 = 713,
Expand Down

0 comments on commit 11ed5cc

Please sign in to comment.