Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions TimeLoop/TimeLoop.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Nullable>enable</Nullable>
<BaseOutputPath>Z:\TimeLoop</BaseOutputPath>
<OutputPath>Z:\Mods\TimeLoop</OutputPath>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
Expand All @@ -18,16 +16,22 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DefineConstants>$(DefineConstants)</DefineConstants>
<PlatformTarget>x64</PlatformTarget>
<OutputPath>Z:\Mods\TimeLoop_Release\</OutputPath>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="System.Text.Json" Version="8.0.0" />
</ItemGroup>

<ItemGroup>
<Reference Include="0Harmony">
<HintPath>..\depts\0Harmony.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\depts\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="System.ValueTuple">
<HintPath>..\depts\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="LogLibrary">
<HintPath>..\depts\LogLibrary.dll</HintPath>
</Reference>
Expand Down
6 changes: 3 additions & 3 deletions TimeLoop/resources/ModInfo.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<ModInfo>
<Name value="TimeLoop"/>
<Version value="4.0.1"/>
<Version value="4.0.2"/>
<DisplayName value="TimeLoop"/>
<Description
value="A 7 Days to Die mod that resets the day if not enough players or authorized players are online"/>
<Author value="leehil, yuyui.moe"/>
<Website value="https://github.com/yuyuimoe/7dtdTimeLoop"/>
<Author value="leehil, yuyui.moe, rgaida"/>
<Website value="https://github.com/rgaida/7dtdTimeLoop"/>
</ModInfo>
75 changes: 75 additions & 0 deletions TimeLoop/resources/i18n/de_de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
{
"prefix": "[TimeLoop]",
"authorized": "Autorisiert",
"unauthorized": "Nicht autorisiert",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"is": "IST",
"is_not": "IST NICHT",
"infinite": "Unendlich",
"always": "Immer",
"whitelist": "Whitelist",
"threshold": "Schwellenwert",
"whitelistedthreshold": "Whitelist-Schwellenwert",
"log_loading_config": "Lade Konfigurationsdatei...",
"log_corrupt_config": "Die Konfigurationsdatei ist beschädigt oder existiert nicht.",
"log_creating_config": "Erstelle Konfigurationsdatei...",
"log_finished_config": "Konfiguration geladen.",
"log_updated_config": "Konfiguration aktualisiert.",
"log_loopstate_daystoskip_reset": "Setze Tage zum Überspringen der Schleife zurück.",
"log_loopstate_status": "Fließt die Zeit? {0} | Tage zum Überspringen: {1}",
"log_loop_daystoskip_active": "Überspringe die Schleife für heute. Verbleibend: {0} Tage",
"log_loop_dayloop": "Zeit zurückgesetzt.",
"log_loop_limit": "Schleifen: {0}/{1}",
"log_player_disconected": "Spieler getrennt. Aktualisiere Schleifenparameter.",
"log_player_connected": "Spieler angemeldet. Aktualisiere Schleifenparameter.",
"log_player_new": "Spieler {0} ({1}) zur Konfiguration hinzugefügt",
"log_player_data_not_found": "Spielerdaten für Spieler {0} konnten nicht gefunden werden.",
"onlogin_timeloop_active": "TimeLoop ist aktiv. Der Tag wird um Mitternacht zurückgesetzt.",
"loopstate_update_activated": "Du scheinst am selben Tag festzustecken.",
"loopstate_update_deactivated": "Die Zeit fließt normal.",
"loop_skip": "Überspringe die Schleife.",
"loop_daystoskip_active": "Die nächsten {0} Tag(e) werden NICHT in einer Schleife sein",
"loop_dayloop": "Tag zurücksetzen",
"loop_limitreached": "Schleifenlimit erreicht.",
"cmd_invalid_param": "Ungültiger Parameter. Erwartet {0}, erhalten {1}.",
"cmd_invalid_param_count": "Ungültige Anzahl von Parametern. Erwartet {0}, erhalten {1}.",
"cmd_invalid_param_type": "Ungültiger Typ für Parameter {0}. Erwartet {1}, erhalten {2}.",
"cmd_player_not_found": "Client {0} konnte in der Datenbank nicht gefunden werden.",
"cmd_authorize_help": "Verwendung:\n(Whitelist-Modus)\ntl_auth <spieler_name/plattform_id> <0/1> - Autorisiert einen Spieler, die Zeitschleife zu verlassen.\n <spieler_name/plattform_id> - Spielername oder Plattform-ID des zu autorisierenden Spielers.\n <0/1> - 0 für nicht autorisiert, 1 für autorisiert",
"cmd_authorize_desc": "Autorisiert einen Spieler, die Zeitschleife zu verlassen.",
"cmd_authorized_return": "Client {1} {0} zum Überspringen der Zeitschleife",
"cmd_enable_help": "Verwendung:\ntl_enable <0/1>\n 0 - Deaktiviert die Mod.\n 1 - Aktiviert die Mod.",
"cmd_enable_desc": "Aktiviert oder deaktiviert die Mod",
"cmd_enable_state": "Ist die Mod aktiviert? {0}",
"cmd_enable_return": "Time Looper wurde {0}",
"cmd_list_help": "Verwendung:\ntl_list <all/auth/unauth>:\n all - Listet alle Benutzer in der Datenbank\n auth - Listet alle autorisierten Benutzer\n unauth - Listet alle nicht autorisierten Benutzer",
"cmd_list_desc": "Listet alle Benutzer in der Datenbank",
"cmd_list_no_users": "Keine Benutzer in der Datenbank",
"cmd_list_format": "Spieler: {0}, Plattform-ID: {1}, Autorisiert? {2}",
"cmd_list_return": "{0} Gesamt: {1}",
"cmd_loopstate_help": "Verwendung:\ntl_state\n Zeigt an, ob der aktuelle Tag in einer Schleife ist oder nicht.",
"cmd_loopstate_desc": "Zeigt an, ob der aktuelle Tag in einer Schleife ist oder nicht.",
"cmd_loopstate_return": "Aktueller Tag {0} in Schleife",
"cmd_looplimit_help": "Verwendung:\ntl_looplimit <anzahl>\n <anzahl> - Die Anzahl der Schleifen, die ein Tag haben kann. 0 für unendliche Schleifen.",
"cmd_looplimit_desc": "Begrenzt die Anzahl der Schleifen, die ein Tag haben kann.",
"cmd_looplimit_state": "Aktuelles Schleifenlimit ist {0}",
"cmd_looplimit_return": "Schleifenlimit auf {0} gesetzt",
"cmd_minplayers_help": "Verwendung:\n(Schwellenwert-Modus)\ntl_minplayers <x> \n <x> - Mindestanzahl von Spielern für normalen Zeitfluss",
"cmd_minplayers_desc": "(Im Schwellenwert-Modus) Ändert die Mindestspieleranforderung für normalen Zeitfluss",
"cmd_minplayers_state": "Mindestanzahl benötigter Spieler: {0}",
"cmd_minplayers_return": "Mindestspieleranforderung geändert auf {0}",
"cmd_mode_help": "Verwendung:\ntl_mode <0/1/2/3>\n 0 - Deaktiviert die Mod.\n 1 - Wechsel zum Whitelist-Modus\n 2 - Wechsel zum Schwellenwert-Modus\n 3 - Wechsel zum Whitelist-Schwellenwert-Modus",
"cmd_mode_desc": "Ändert den Modus des TimeLoopers",
"cmd_mode_invalid_mode": "Ungültiger Modus angegeben.",
"cmd_mode_state": "Aktueller Modus: {0}",
"cmd_mode_return": "Modus geändert auf {0}.",
"cmd_skipdays_help": "Verwendung:\ntl_skipdays <tage>\n <tage> - Die Anzahl der Tage, die das Schleifen überspringen soll.",
"cmd_skipdays_desc": "Überspringt das Schleifen für N Tage.",
"cmd_skipdays_return_disabled": "Keine Tage werden die Schleife überspringen.",
"cmd_skipdays_return_enabled": "Die nächsten {0} Tag(e) werden die Schleife überspringen",
"cmd_locale_help": "Verwendung:\ntl_locale <sprache>\n\t<sprache> Die verfügbare Sprache im i18n-Ordner, ohne .json",
"cmd_locale_desc": "Ändert die aktuelle Sprache",
"cmd_locale_state": "Aktuelle Sprache ist {0}\nListe der verfügbaren Sprachen: {1}",
"cmd_locale_return": "Sprache geändert auf {0}"
}
6 changes: 4 additions & 2 deletions TimeLoop/src/Managers/LocaleManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using static SimpleJson2.SimpleJson2;
using System.Text.Json;

namespace TimeLoop.Managers {
public class LocaleManager {
Expand Down Expand Up @@ -53,7 +53,9 @@ private Dictionary<string, string> LoadLocale(string locale) {

LoadedLocale = Path.GetFileNameWithoutExtension(localePath);
using var stream = new StreamReader(localePath);
return DeserializeObject<Dictionary<string, string>>(stream.ReadToEnd());
var json = stream.ReadToEnd();
return JsonSerializer.Deserialize<Dictionary<string, string>>(json)
?? new Dictionary<string, string>();
}
catch (Exception e) {
Log.Error("[TimeLoop] Failed to load localization file. {0}", e.Message);
Expand Down
1 change: 1 addition & 0 deletions depts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
For the mod to be compiled, you need the following DLLs:
+ 0Harmony.dll
+ Assembly-CSharp.dll
+ System.ValueTuple.dll
+ LogLibrary.dll
+ UnityEngine.dll
+ UnityEngine.CoreModule.dll
Expand Down