Skip to content

Commit 324139b

Browse files
committed
Merge branch 'develop'
2 parents 3c0178e + 890d697 commit 324139b

File tree

5 files changed

+42
-13
lines changed

5 files changed

+42
-13
lines changed

ContainerAdapters/MagicStorageInterfaceAdapter.cs

+14-5
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@ internal class MagicStorageInterfaceAdapter
1111
{
1212
private TEStorageHeart FindHeart(int x, int y)
1313
{
14-
Point16 center = TEStorageComponent.FindStorageCenter(new Point16(x, y));
14+
Tile tile = Main.tile[x, y];
15+
16+
int originX = x - tile.frameX / 18;
17+
int originY = y - tile.frameY / 18;
18+
19+
Point16 center = TEStorageComponent.FindStorageCenter(new Point16(originX, originY));
1520
if (center.X == -1 && center.Y == -1)
1621
return null;
1722

@@ -32,16 +37,15 @@ private void HandleStorageItemChange(TEStorageHeart heart)
3237
}
3338
}
3439

35-
public void KickMe()
36-
{
37-
Main.LocalPlayer.GetModPlayer<StoragePlayer>().CloseStorage();
38-
}
3940

4041
public bool InjectItem(int x, int y, Item item)
4142
{
4243
int oldstack = item.stack;
4344

4445
TEStorageHeart targetHeart = FindHeart(x, y);
46+
if (targetHeart == null)
47+
return false;
48+
4549
targetHeart.DepositItem(item);
4650

4751
if (oldstack != item.stack)
@@ -55,6 +59,9 @@ public bool InjectItem(int x, int y, Item item)
5559
public IEnumerable<Tuple<Item, object>> EnumerateItems(int x, int y)
5660
{
5761
TEStorageHeart targetHeart = FindHeart(x, y);
62+
if (targetHeart == null)
63+
yield break;
64+
5865
foreach (var item in targetHeart.GetStoredItems())
5966
{
6067
yield return new Tuple<Item, object>(item, item.type);
@@ -64,6 +71,8 @@ public IEnumerable<Tuple<Item, object>> EnumerateItems(int x, int y)
6471
public void TakeItem(int x, int y, object slot, int amount)
6572
{
6673
TEStorageHeart targetHeart = FindHeart(x, y);
74+
if (targetHeart == null)
75+
return;
6776

6877
Item toWithdraw = new Item();
6978
toWithdraw.SetDefaults((int)slot);

Tiles/TransferOutletTile.cs

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public bool Receive(TransferUtils agent, Point16 location, Item item)
3131
int dropTarget = Item.NewItem(location.X * 16, location.Y * 16, 16, 16, item.type, item.stack, false, item.prefix);
3232
Main.item[dropTarget].velocity = Vector2.Zero;
3333
item.stack = 0;
34+
mod.GetModWorld<MechTransferWorld>().TripWireDelayed(location.X, location.Y, 1, 1);
3435
return true;
3536
}
3637
}

TransferUtils.cs

+21-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using MechTransfer.ContainerAdapters;
2+
using Microsoft.Xna.Framework;
3+
using System;
24
using System.Collections.Generic;
35
using Terraria;
46
using Terraria.DataStructures;
7+
using Terraria.ModLoader;
58

69
namespace MechTransfer
710
{
@@ -23,15 +26,27 @@ public int StartTransfer(int startX, int startY, Item item)
2326

2427
int olstack = item.stack;
2528
Item clone = item.Clone();
26-
SearchForTarget(startX, startY, clone);
2729

28-
running--;
29-
30-
if (running == 0)
30+
try
3131
{
32-
TargetTriggered.Clear();
32+
SearchForTarget(startX, startY, clone);
3333
}
34-
34+
catch(Exception e)
35+
{
36+
Main.NewText("An exception has occurred at MechTransfer.TransferUtils.SearchForTarget (Please look at the log in Documents/My Games/Terraria/ModLoader/Logs)", Color.Red);
37+
ErrorLogger.Log("\nMechTransfer has logged an exception:");
38+
ErrorLogger.Log(e.ToString());
39+
ErrorLogger.Log("Please report it on the MechTransfer forum page.\n");
40+
}
41+
finally
42+
{
43+
running--;
44+
if (running == 0)
45+
{
46+
TargetTriggered.Clear();
47+
}
48+
}
49+
3550
return olstack - clone.stack;
3651
}
3752

build.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
author = DRKV
2-
version = 1.5
2+
version = 1.5.1
33
displayName = MechTransfer
44
includePDB = false
55
weakReferences = [email protected]

description.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,8 @@ v1.5
5151
- New tool-tip
5252
- Added Magic Storage Interface
5353
- Added blacklist filter
54-
- Added Stack extractor
54+
- Added Stack extractor
55+
56+
v1.5.1
57+
- Fixed outlet wire output
58+
- Added error handling

0 commit comments

Comments
 (0)