2022-07-04 12:00:19 +01:00
|
|
|
|
using MagicStorage.Components;
|
2022-07-10 01:16:06 +01:00
|
|
|
|
using MagicStorage.Items;
|
2022-07-04 12:00:19 +01:00
|
|
|
|
using Terraria;
|
|
|
|
|
using Terraria.DataStructures;
|
|
|
|
|
using Terraria.Localization;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace MagicStorageVoidBag.Hooks {
|
|
|
|
|
internal class StorageHeartRightClickHook {
|
|
|
|
|
private static readonly log4net.ILog Logger = MagicStorageVoidBag.Instance.Logger;
|
2022-07-10 01:16:06 +01:00
|
|
|
|
public static bool Hook(On.MagicStorage.Components.StorageHeart.orig_RightClick orig, MagicStorage.Components.StorageHeart heart, int i, int j) {
|
2022-07-04 12:00:19 +01:00
|
|
|
|
// https://github.com/blushiemagic/MagicStorage/blob/1.4-stable/Components/StorageHeart.cs#L23
|
|
|
|
|
Player player = Main.LocalPlayer;
|
|
|
|
|
Item item = player.HeldItem;
|
2022-07-10 01:16:06 +01:00
|
|
|
|
|
|
|
|
|
if (item.ModItem == null) return false;
|
|
|
|
|
|
|
|
|
|
if (item.ModItem is Locator locator) {
|
2022-07-04 12:00:19 +01:00
|
|
|
|
if (Main.tile[i, j].TileFrameX % 36 == 18) i--;
|
|
|
|
|
if (Main.tile[i, j].TileFrameY % 36 == 18) j--;
|
|
|
|
|
|
2022-07-10 01:16:06 +01:00
|
|
|
|
locator.location = new Point16(i, j);
|
2022-07-04 12:00:19 +01:00
|
|
|
|
if (player.selectedItem == 58) {
|
|
|
|
|
Main.mouseItem = item.Clone();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Main.NewText(Language.GetTextValue("Mods.MagicStorage.LocatorSet", i, j));
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return orig(heart, i, j);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|