Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
a175670
Add workflows
eris-webserv Feb 27, 2026
fef25f2
Augh,
eris-webserv Feb 27, 2026
387cdd4
testing
eris-webserv Feb 28, 2026
e84c889
augh
eris-webserv Feb 28, 2026
a65ef78
AUGHHH
eris-webserv Feb 28, 2026
8b73f99
AUUUUUUUUGHHHHH
eris-webserv Feb 28, 2026
5608d0e
YES
eris-webserv Feb 28, 2026
54f6c96
Augh
eris-webserv Feb 28, 2026
7f268c5
Aughhh
eris-webserv Feb 28, 2026
e27022f
ItemManagerTests
eris-webserv Feb 28, 2026
6bbf948
cleanups
eris-webserv Feb 28, 2026
97618f6
OOPS...
eris-webserv Mar 1, 2026
cb23335
augh
eris-webserv Mar 1, 2026
066b173
'kaShdlasd
eris-webserv Mar 1, 2026
11b38d8
a
eris-webserv Mar 2, 2026
d52a705
Merge branch 'main' of https://github.com/eris-webserv/HAModHelper
eris-webserv Mar 2, 2026
cfe9cbb
Fixes and updates
eris-webserv Mar 2, 2026
067ca18
Move some stuff around (Hopefully this works :P)
eris-webserv Mar 2, 2026
320d10b
Oops
eris-webserv Mar 2, 2026
ac56d6c
euhg
eris-webserv Mar 2, 2026
e36dd46
Augh+
eris-webserv Mar 6, 2026
f0c4384
More logging and some changes to debugcode
eris-webserv Mar 6, 2026
8c5c857
Moving around
eris-webserv Mar 9, 2026
c307048
More moving
eris-webserv Mar 9, 2026
2459498
a
eris-webserv Mar 9, 2026
a2ab478
Yeah I'm just gonna make an IMGUI library I hate the Unity one
eris-webserv Mar 10, 2026
9c0d46d
Doing some stuff
eris-webserv Mar 10, 2026
d209df7
I'm just going to steal all of this.
eris-webserv Mar 10, 2026
9d884bc
oops :P
eris-webserv Mar 11, 2026
7e3e9f8
he realized he not built for this
eris-webserv Mar 11, 2026
c6c9d97
he realized he REALLY not built for ts
eris-webserv Mar 11, 2026
7ccdafb
im just gonna use universelib
eris-webserv Mar 11, 2026
1051b98
Sue me, I'm bundling UniverseLib now
eris-webserv Mar 11, 2026
0c58b4e
oop
eris-webserv Mar 11, 2026
f2af506
test
eris-webserv Mar 11, 2026
d2b12f2
I HATE ADS
eris-webserv Mar 19, 2026
ae50afe
Yes fuck you too Harmony.
eris-webserv Mar 19, 2026
a89568c
wa
eris-webserv Mar 20, 2026
4dbfdce
De-Fruitification
eris-webserv Mar 25, 2026
7d9bc91
Bepis'd
eris-webserv Mar 26, 2026
e8d5fa3
no uvlib for now. :((
eris-webserv Mar 26, 2026
58ec31d
Add world prefab and crafting injection managers
Segually Mar 29, 2026
5ff916f
New managers (thanks seguala)
eris-webserv Mar 29, 2026
6ff5412
a
eris-webserv Apr 13, 2026
aef3ba1
Merge branch 'main' of https://github.com/eris-webserv/HAModHelper
eris-webserv Apr 13, 2026
2a655a9
Updates
eris-webserv Jun 9, 2026
9f0eb9a
Implement world generation system for Hybrid Animals
Segually Jun 19, 2026
c7faaaa
Initialize WorldGenManager in Base.GamePlugin
Segually Jun 19, 2026
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
32 changes: 32 additions & 0 deletions .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net

name: .NET

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal
# - uses: actions/upload-artifact@v7.0.0
# with:
# name: HAModHelper.dll
# path:
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
bin
obj
obj
out
67 changes: 67 additions & 0 deletions HAModHelper.GamePlugin/Base/AssemblyOverride.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@

using System.Reflection;
using System.Runtime.Loader;

namespace HAModHelper.GamePlugin.Core.Debug;

internal static class AssemblyManager
{
public static Assembly AssemblyResolveEventListener(object sender, ResolveEventArgs args)
{
if (args is null)
{
return null!;
}

string name = "HAModHelper.GamePlugin.Resources." + args.Name[..args.Name.IndexOf(',')] + ".dll";
using Stream? str = Assembly.GetExecutingAssembly().GetManifestResourceStream(name);
if (str is not null)
{
var context = new AssemblyLoadContext(name, false);
return context.LoadFromStream(str);
}
return null!;
}

public static void SetOurResolveHandlerAtFront()
{
BindingFlags flags = BindingFlags.Static | BindingFlags.NonPublic;
FieldInfo? field = null;

Type domainType = typeof(AssemblyLoadContext);

while (field is null)
{
if (domainType is not null)
{
field = domainType.GetField("AssemblyResolve", flags);
}
else
{
//MelonDebug.Error("domainType got set to null for the AssemblyResolve event was null");
return;
}
if (field is null)
{
domainType = domainType.BaseType!;
}
}

var resolveDelegate = (MulticastDelegate)field.GetValue(null)!;
Delegate[] subscribers = resolveDelegate.GetInvocationList();

Delegate currentDelegate = resolveDelegate;
for (int i = 0; i < subscribers.Length; i++)
{
currentDelegate = System.Delegate.RemoveAll(currentDelegate, subscribers[i])!;
}

var newSubscriptions = new Delegate[subscribers.Length + 1];
newSubscriptions[0] = (ResolveEventHandler)AssemblyResolveEventListener!;
System.Array.Copy(subscribers, 0, newSubscriptions, 1, subscribers.Length);

currentDelegate = Delegate.Combine(newSubscriptions)!;

field.SetValue(null, currentDelegate);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;

namespace HAModHelper.Events;
namespace HAModHelper.GamePlugin.Base.Events;

public sealed class EventBus
{
Expand Down
Loading