Upload from upload_mods.ps1

This commit is contained in:
Nathaniel Cosford
2025-06-04 16:44:53 +09:30
commit f1fbbe67bb
1722 changed files with 165268 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
public class MinEventActionClearMapRebirth : MinEventActionTargetedBase
{
private const BindingFlags _NonPublicFlags = BindingFlags.NonPublic | BindingFlags.Instance;
public override void Execute(MinEventParams _params)
{
ClearMap(this.targets[0] as EntityPlayer);
}
public static void ClearMap(EntityPlayer player)
{
if (player != null
&& player.ChunkObserver != null
&& player.ChunkObserver.mapDatabase != null)
ClearMapChunkDatabase(player.ChunkObserver.mapDatabase as MapChunkDatabase);
}
private static void ClearMapChunkDatabase(MapChunkDatabase mapDatabase)
{
mapDatabase.catalog.Clear();
mapDatabase.database.Clear();
mapDatabase.dirty.Clear();
/*
var type = typeof(MapChunkDatabase).BaseType;
var catalog = (DictionaryKeyList<int, int>)type.GetField("catalog", _NonPublicFlags).GetValue(mapDatabase);
if (catalog != null)
catalog.Clear();
var database = (DictionarySave<int, ushort[]>)type.GetField("database", _NonPublicFlags).GetValue(mapDatabase);
if (database != null)
database.Clear();
var dirty = (Dictionary<int, bool>)type.GetField("dirty", _NonPublicFlags).GetValue(mapDatabase);
if (dirty != null)
dirty.Clear();
*/
}
}