Skip to content

Commit

Permalink
feat: auto add pack
Browse files Browse the repository at this point in the history
  • Loading branch information
LazuliKao committed Jul 28, 2023
1 parent 04f384f commit 00dfa16
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 6 deletions.
6 changes: 3 additions & 3 deletions src/Assets/PackManifest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

internal static class PackManifest
{
private const string Uuid = "2fef88eb-05b4-47eb-97a8-67d3d5e8f31c";
private const string Data = $$"""
internal const string Uuid = "2fef88eb-05b4-47eb-97a8-67d3d5e8f31c";
internal const string Data = $$"""
{
"format_version": 2,
"header": {
Expand All @@ -24,7 +24,7 @@ internal static class PackManifest
"language": "javascript",
"uuid": "8c78f4ed-aa7f-46e8-af4f-cb460e0a3de5",
"version": [0, 1, 0],
"entry": "scripts/121eiqkr.yel.js"
"entry": "scripts/main.js"
}
],
"dependencies": [
Expand Down
43 changes: 40 additions & 3 deletions src/Assets/Prepare.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,49 @@
using Hosihikari.Minecraft.Extension.GlobalService;
using System.Text.Json.Nodes;
using Hosihikari.Minecraft.Extension.PackHelper;

Check failure on line 2 in src/Assets/Prepare.cs

View workflow job for this annotation

GitHub Actions / build

The type or namespace name 'Minecraft' does not exist in the namespace 'Hosihikari' (are you missing an assembly reference?)

namespace Hosihikari.VanillaScript.Assets;

internal static class Prepare
{
internal static void Init()
{
var cd = Environment.CurrentDirectory;
//Global.FilePathManager.OnInit(path => { });
var pack = Path.GetFullPath(Path.Combine("config", nameof(VanillaScript), "pack"));
var manifest = Path.Combine(pack, "manifest.json");
var scripts = Path.Combine(pack, "scripts");
if (!Directory.Exists(pack))
Directory.CreateDirectory(pack);
if (!Directory.Exists(scripts))
Directory.CreateDirectory(scripts);
//if (!File.Exists(manifest))
File.WriteAllText(manifest, PackManifest.Data);
File.WriteAllText(Path.Combine(scripts, "main.js"), "'EntryPoint';");
PackHelper.AddPack(
PackType.BehaviorPack,
pack,
new(Guid.Parse(PackManifest.Uuid), (0, 1, 0))
);
FixConfig();
}

private static void FixConfig()
{
var configFile = Path.GetFullPath(Path.Combine("config", "default", "permissions.json"));
if (File.Exists(configFile))
{
var json = JsonNode.Parse(File.ReadAllText(configFile));
if (json is not null)
{
json["permissions"] = new JsonArray
{
"@minecraft/server-gametest",
"@minecraft/server",
"@minecraft/server-ui",
"@minecraft/server-admin",
"@minecraft/server-editor",
"@minecraft/server-net"
};
File.WriteAllText(configFile, json.ToString());
}
}
}
}

0 comments on commit 00dfa16

Please sign in to comment.