Skip to content

Commit

Permalink
sync: WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
LazuliKao committed Jul 26, 2023
1 parent 5a38660 commit 04f384f
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 12 deletions.
40 changes: 40 additions & 0 deletions src/Assets/PackManifest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
namespace Hosihikari.VanillaScript.Assets;

internal static class PackManifest
{
private const string Uuid = "2fef88eb-05b4-47eb-97a8-67d3d5e8f31c";
private const string Data = $$"""
{
"format_version": 2,
"header": {
"description": "Scripting",
"name": "Scripting",
"uuid": "{{Uuid}}",
"version": [0, 1, 0],
"min_engine_version": [1, 20, 0]
},
"modules": [
{
"type": "data",
"uuid": "628adfcd-dc33-41c0-b9d6-a1a724b03b02",
"version": [0, 1, 0]
},
{
"type": "script",
"language": "javascript",
"uuid": "8c78f4ed-aa7f-46e8-af4f-cb460e0a3de5",
"version": [0, 1, 0],
"entry": "scripts/121eiqkr.yel.js"
}
],
"dependencies": [
{ "module_name": "@minecraft/server-gametest", "version": "1.0.0-beta" },
{ "module_name": "@minecraft/server", "version": "1.4.0-beta" },
{ "module_name": "@minecraft/server-ui", "version": "1.2.0-beta" },
{ "module_name": "@minecraft/server-admin", "version": "1.0.0-beta" },
{ "module_name": "@minecraft/server-net", "version": "1.0.0-beta" }
]
}

""";
}
12 changes: 12 additions & 0 deletions src/Assets/Prepare.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using Hosihikari.Minecraft.Extension.GlobalService;

Check failure on line 1 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 => { });
}
}
17 changes: 12 additions & 5 deletions src/Hook/QuickJS/Eval.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,19 @@ public Eval()
public override unsafe HookDelegate HookedFunc =>
(a1, ctx, contentBytes, size, filenamePtr, evalFlags) =>
{
if (Marshal.PtrToStringUTF8(filenamePtr) is { } filename)
try
{
var content = Encoding.UTF8.GetString(contentBytes, (int)size);
Log.Logger.Trace(filename);
Log.Logger.Trace(content);
Log.Logger.Trace(evalFlags.ToString());
if (Marshal.PtrToStringUTF8(filenamePtr) is { } filename)
{
var content = Encoding.UTF8.GetString(contentBytes, (int)size);
Log.Logger.Trace(filename);
Log.Logger.Trace(content);
Log.Logger.Trace(evalFlags.ToString());
}
}
catch (Exception e)
{
Log.Logger.Error(nameof(Eval), e);
}
return Original(a1, ctx, contentBytes, size, filenamePtr, evalFlags);
};
Expand Down
10 changes: 10 additions & 0 deletions src/Hosihikari.VanillaScript.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,20 @@
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Hosihikari.PluginManager" Version="1.0.1" />
</ItemGroup>

<ItemGroup>
<Reference Include="Hosihikari.Logging">
<HintPath>..\..\Logging\src\bin\Release\net7.0\Hosihikari.Logging.dll</HintPath>
</Reference>
<Reference Include="Hosihikari.Minecraft">
<HintPath>..\..\Minecraft\src\bin\Release\net7.0\Hosihikari.Minecraft.dll</HintPath>
</Reference>
<Reference Include="Hosihikari.Minecraft.Extension">
<HintPath>..\..\Extension\src\bin\Release\net7.0\Hosihikari.Minecraft.Extension.dll</HintPath>
</Reference>
<Reference Include="Hosihikari.NativeInterop">
<HintPath>..\..\NativeInterop\src\bin\Release\net7.0\Hosihikari.NativeInterop.dll</HintPath>
</Reference>
Expand Down
15 changes: 8 additions & 7 deletions src/Main.cs
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
using Hosihikari.VanillaScript.Hook;
using System.Runtime.CompilerServices;
using Hosihikari.PluginManager;
using Hosihikari.VanillaScript;
using Hosihikari.VanillaScript.Hook;

[assembly: EntryPoint<Main>]

namespace Hosihikari.VanillaScript;

public static class Main
public class Main : IEntryPoint
{
#pragma warning disable CA2255
[ModuleInitializer]
#pragma warning restore CA2255
public static void Init()
public void Initialize(AssemblyPlugin plugin)
{
new EnableScriptingHook().Install();
new Hook.QuickJS.Eval().Install();
Assets.Prepare.Init();
}
}

0 comments on commit 04f384f

Please sign in to comment.