Files
7d2dXG/Mods/zzz_REBIRTH__Utils/Harmony/Harmony_BlockSleepingBag.cs
Nathaniel Cosford e06f2bd282 Add All Mods
2025-05-29 23:33:28 +09:30

26 lines
948 B
C#

using static SleeperVolume;
namespace Harmony.BlockSleepingBagPatches
{
[HarmonyPatch(typeof(BlockSleepingBag))]
[HarmonyPatch("PlaceBlock")]
public class PlaceBlockPatch
{
public static void Postfix(BlockSleepingBag __instance, WorldBase _world, BlockPlacement.Result _bpResult, EntityAlive _ea)
{
Vector3i position = _bpResult.blockPos + __instance.rotationToAddVector((int)_bpResult.blockValue.rotation);
bool isClient = SingletonMonoBehaviour<ConnectionManager>.Instance.IsClient;
if (isClient)
{
SingletonMonoBehaviour<ConnectionManager>.Instance.SendToServer(NetPackageManager.GetPackage<NetPackageAddChunkObserver>().Setup(position), false);
}
else
{
ChunkManager.ChunkObserver observerRef = GameManager.Instance.AddChunkObserver(position, false, 3, -1);
}
}
}
}