From 278a0d92785551fbacef3ebbb5adfca0c30f67f6 Mon Sep 17 00:00:00 2001 From: Jack Bond-Preston Date: Thu, 17 Aug 2023 16:37:16 +0100 Subject: [PATCH] dev: tmodporter changes --- Hooks/GetItemVoidVaultHook.cs | 124 +++++++++++++++---------------- Hooks/ItemSpaceForCofveveHook.cs | 90 +++++++++++----------- MagicStorageVoidBag.cs | 56 +++++++------- Properties/launchSettings.json | 30 ++++---- 4 files changed, 150 insertions(+), 150 deletions(-) diff --git a/Hooks/GetItemVoidVaultHook.cs b/Hooks/GetItemVoidVaultHook.cs index dbb3c40..5804edb 100644 --- a/Hooks/GetItemVoidVaultHook.cs +++ b/Hooks/GetItemVoidVaultHook.cs @@ -1,62 +1,62 @@ -using MagicStorage; -using MagicStorage.Components; -using MagicStorageVoidBag.Items; -using System.Linq; -using Terraria; -using Terraria.Audio; -using Terraria.DataStructures; -using Terraria.GameContent.Achievements; -using Terraria.ID; -using Terraria.ModLoader; - -namespace MagicStorageVoidBag.Hooks { - internal class GetItemVoidVaultHook { - private static readonly log4net.ILog Logger = MagicStorageVoidBag.Instance.Logger; - public static bool Hook(On.Terraria.Player.orig_GetItem_VoidVault orig, Player player, int plr, Item[] inventory, Item newItem, GetItemSettings settings, Item returnItem) { - var i = player.inventory.FirstOrDefault(i => i.type == ModContent.ItemType(), null); - - newItem = newItem.Clone(); - - if (i == null) goto original; - - var bag = (MSVoidBag)i.ModItem; - - if (bag.Location.X < 0 || bag.Location.Y < 0) goto original; - - Tile tile = Main.tile[bag.Location.X, bag.Location.Y]; - - if (!tile.HasTile || tile.TileType != ModContent.TileType() || tile.TileFrameX != 0 || tile.TileFrameY != 0) goto original; - if (!TileEntity.ByPosition.TryGetValue(bag.Location, out TileEntity te)) goto original; - if (te.type != ModContent.TileEntityType()) goto original; - - TEStorageHeart heart = (TEStorageHeart)te; - - heart.TryDeposit(returnItem); - heart.ResetCompactStage(); - StorageGUI.needRefresh = true; - - if (returnItem.stack != newItem.stack) { - if (newItem.IsACoin) { - SoundEngine.PlaySound(SoundID.CoinPickup, player.position); - } else { - SoundEngine.PlaySound(SoundID.Grab, player.position); - } - - if (!settings.NoText) { - PopupText.NewText(PopupTextContext.ItemPickupToVoidContainer, newItem, returnItem.stack, noStack: false, settings.LongText); - } - - AchievementsHelper.NotifyItemPickup(player, returnItem); - } - - if (returnItem.stack == 0) return true; - - original: - if (player.HasItem(ItemID.VoidLens)) { - return orig(player, plr, inventory, newItem, settings, returnItem); - } else { - return false; - } - } - } -} +using MagicStorage; +using MagicStorage.Components; +using MagicStorageVoidBag.Items; +using System.Linq; +using Terraria; +using Terraria.Audio; +using Terraria.DataStructures; +using Terraria.GameContent.Achievements; +using Terraria.ID; +using Terraria.ModLoader; + +namespace MagicStorageVoidBag.Hooks { + internal class GetItemVoidVaultHook { + private static readonly log4net.ILog Logger = MagicStorageVoidBag.Instance.Logger; + public static bool Hook(Terraria.On_Player.orig_GetItem_VoidVault orig, Player player, int plr, Item[] inventory, Item newItem, GetItemSettings settings, Item returnItem) { + var i = player.inventory.FirstOrDefault(i => i.type == ModContent.ItemType(), null); + + newItem = newItem.Clone(); + + if (i == null) goto original; + + var bag = (MSVoidBag)i.ModItem; + + if (bag.Location.X < 0 || bag.Location.Y < 0) goto original; + + Tile tile = Main.tile[bag.Location.X, bag.Location.Y]; + + if (!tile.HasTile || tile.TileType != ModContent.TileType() || tile.TileFrameX != 0 || tile.TileFrameY != 0) goto original; + if (!TileEntity.ByPosition.TryGetValue(bag.Location, out TileEntity te)) goto original; + if (te.type != ModContent.TileEntityType()) goto original; + + TEStorageHeart heart = (TEStorageHeart)te; + + heart.TryDeposit(returnItem); + heart.ResetCompactStage(); + StorageGUI.needRefresh = true; + + if (returnItem.stack != newItem.stack) { + if (newItem.IsACoin) { + SoundEngine.PlaySound(SoundID.CoinPickup, player.position); + } else { + SoundEngine.PlaySound(SoundID.Grab, player.position); + } + + if (!settings.NoText) { + PopupText.NewText(PopupTextContext.ItemPickupToVoidContainer, newItem, returnItem.stack, noStack: false, settings.LongText); + } + + AchievementsHelper.NotifyItemPickup(player, returnItem); + } + + if (returnItem.stack == 0) return true; + + original: + if (player.HasItem(ItemID.VoidLens)) { + return orig(player, plr, inventory, newItem, settings, returnItem); + } else { + return false; + } + } + } +} diff --git a/Hooks/ItemSpaceForCofveveHook.cs b/Hooks/ItemSpaceForCofveveHook.cs index f43fa00..cb9d835 100644 --- a/Hooks/ItemSpaceForCofveveHook.cs +++ b/Hooks/ItemSpaceForCofveveHook.cs @@ -1,45 +1,45 @@ -using MagicStorage.Components; -using MagicStorageVoidBag.Items; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Terraria; -using Terraria.DataStructures; -using Terraria.ModLoader; -using MagicStorage; -using Terraria.ID; - -namespace MagicStorageVoidBag.Hooks { - internal class ItemSpaceForCofveveHook { - private static readonly log4net.ILog Logger = MagicStorageVoidBag.Instance.Logger; - - // Despite the constant negative press cofveve - public static bool Hook(On.Terraria.Player.orig_ItemSpaceForCofveve orig, Player player, Item newItem) { - var i = player.inventory.FirstOrDefault(i => i.type == ModContent.ItemType(), null); - if (i == null) goto original; - - newItem = newItem.Clone(); - - var bag = (MSVoidBag)i.ModItem; - - if (bag.Location.X < 0 || bag.Location.Y < 0) goto original; - - Tile tile = Main.tile[bag.Location.X, bag.Location.Y]; - - if (!tile.HasTile || tile.TileType != ModContent.TileType() || tile.TileFrameX != 0 || tile.TileFrameY != 0) goto original; - if (!TileEntity.ByPosition.TryGetValue(bag.Location, out TileEntity te)) goto original; - if (te.type != ModContent.TileEntityType()) goto original; - - if (Utility.HeartHasSpaceFor(newItem, (TEStorageHeart)te)) return true; - - original: - if (player.HasItem(ItemID.VoidLens)) { - return orig(player, newItem); - } else { - return false; - } - } - } -} +using MagicStorage.Components; +using MagicStorageVoidBag.Items; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Terraria; +using Terraria.DataStructures; +using Terraria.ModLoader; +using MagicStorage; +using Terraria.ID; + +namespace MagicStorageVoidBag.Hooks { + internal class ItemSpaceForCofveveHook { + private static readonly log4net.ILog Logger = MagicStorageVoidBag.Instance.Logger; + + // Despite the constant negative press cofveve + public static bool Hook(Terraria.On_Player.orig_ItemSpaceForCofveve orig, Player player, Item newItem) { + var i = player.inventory.FirstOrDefault(i => i.type == ModContent.ItemType(), null); + if (i == null) goto original; + + newItem = newItem.Clone(); + + var bag = (MSVoidBag)i.ModItem; + + if (bag.Location.X < 0 || bag.Location.Y < 0) goto original; + + Tile tile = Main.tile[bag.Location.X, bag.Location.Y]; + + if (!tile.HasTile || tile.TileType != ModContent.TileType() || tile.TileFrameX != 0 || tile.TileFrameY != 0) goto original; + if (!TileEntity.ByPosition.TryGetValue(bag.Location, out TileEntity te)) goto original; + if (te.type != ModContent.TileEntityType()) goto original; + + if (Utility.HeartHasSpaceFor(newItem, (TEStorageHeart)te)) return true; + + original: + if (player.HasItem(ItemID.VoidLens)) { + return orig(player, newItem); + } else { + return false; + } + } + } +} diff --git a/MagicStorageVoidBag.cs b/MagicStorageVoidBag.cs index fa7e1ef..347bff2 100644 --- a/MagicStorageVoidBag.cs +++ b/MagicStorageVoidBag.cs @@ -1,29 +1,29 @@ - -using Terraria.ModLoader; -using MagicStorageVoidBag.ILPatches; -using MagicStorageVoidBag.Hooks; - -namespace MagicStorageVoidBag { - public class MagicStorageVoidBag : Mod { - public static MagicStorageVoidBag Instance => ModContent.GetInstance(); - - // IL Patches - private PlayerUpdatePatch playerUpdatePatch = new(); - - public override void Load() { - IL.Terraria.Player.Update += playerUpdatePatch.Patch; - - On.Terraria.Player.GetItem_VoidVault += GetItemVoidVaultHook.Hook; - On.Terraria.Player.ItemSpaceForCofveve += ItemSpaceForCofveveHook.Hook; - } - - public override void Unload() { - IL.Terraria.Player.Update -= playerUpdatePatch.Patch; - - On.Terraria.Player.GetItem_VoidVault -= GetItemVoidVaultHook.Hook; - On.Terraria.Player.ItemSpaceForCofveve -= ItemSpaceForCofveveHook.Hook; - - base.Unload(); - } - } + +using Terraria.ModLoader; +using MagicStorageVoidBag.ILPatches; +using MagicStorageVoidBag.Hooks; + +namespace MagicStorageVoidBag { + public class MagicStorageVoidBag : Mod { + public static MagicStorageVoidBag Instance => ModContent.GetInstance(); + + // IL Patches + private PlayerUpdatePatch playerUpdatePatch = new(); + + public override void Load() { + Terraria.IL_Player.Update += playerUpdatePatch.Patch; + + Terraria.On_Player.GetItem_VoidVault += GetItemVoidVaultHook.Hook; + Terraria.On_Player.ItemSpaceForCofveve += ItemSpaceForCofveveHook.Hook; + } + + public override void Unload() { + Terraria.IL_Player.Update -= playerUpdatePatch.Patch; + + Terraria.On_Player.GetItem_VoidVault -= GetItemVoidVaultHook.Hook; + Terraria.On_Player.ItemSpaceForCofveve -= ItemSpaceForCofveveHook.Hook; + + base.Unload(); + } + } } \ No newline at end of file diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json index 8da89ff..07e2f8d 100644 --- a/Properties/launchSettings.json +++ b/Properties/launchSettings.json @@ -1,16 +1,16 @@ -{ - "profiles": { - "Terraria": { - "commandName": "Executable", - "executablePath": "dotnet", - "commandLineArgs": "$(tMLPath)", - "workingDirectory": "$(tMLSteamPath)" - }, - "TerrariaServer": { - "commandName": "Executable", - "executablePath": "dotnet", - "commandLineArgs": "$(tMLServerPath)", - "workingDirectory": "$(tMLSteamPath)" - } - } +{ + "profiles": { + "Terraria": { + "commandName": "Executable", + "executablePath": "dotnet", + "commandLineArgs": "$(tMLPath)", + "workingDirectory": "$(tMLSteamPath)" + }, + "TerrariaServer": { + "commandName": "Executable", + "executablePath": "dotnet", + "commandLineArgs": "$(tMLServerPath)", + "workingDirectory": "$(tMLSteamPath)" + } + } } \ No newline at end of file