TModLoader v1.4.4.9
TModLoader source code documentation
Loading...
Searching...
No Matches

◆ PlaceItemInFrame()

static void Terraria.GameContent.Tile_Entities.TEItemFrame.PlaceItemInFrame ( Player player,
int x,
int y )
inlinestatic

Definition at line 185 of file TEItemFrame.cs.

186 {
187 if (!player.ItemTimeIsZero)
188 {
189 return;
190 }
191 if (Main.tile[x, y].frameX % 36 != 0)
192 {
193 x--;
194 }
195 if (Main.tile[x, y].frameY % 36 != 0)
196 {
197 y--;
198 }
199 int num = Find(x, y);
200 if (num == -1)
201 {
202 return;
203 }
204 if (((TEItemFrame)TileEntity.ByID[num]).item.stack > 0)
205 {
206 WorldGen.KillTile(x, y, fail: true);
207 if (Main.netMode == 1)
208 {
209 NetMessage.SendData(17, -1, -1, null, 0, Player.tileTargetX, y, 1f);
210 }
211 }
212 if (Main.netMode == 1)
213 {
214 NetMessage.SendData(89, -1, -1, null, x, y, player.selectedItem, player.whoAmI, 1);
215 ItemLoader.TransferWithLimit(player.inventory[player.selectedItem], 1);
216 }
217 else
218 {
219 TryPlacing(x, y, player.inventory[player.selectedItem], 1);
220 }
221 if (player.selectedItem == 58)
222 {
223 Main.mouseItem = player.inventory[player.selectedItem].Clone();
224 }
225 player.releaseUseItem = false;
226 player.mouseInterface = true;
227 player.PlayDroppedItemAnimation(20);
228 WorldGen.RangeFrame(x, y, x + 2, y + 2);
229 }
static Dictionary< int, TileEntity > ByID
Definition TileEntity.cs:20
static void TryPlacing(int x, int y, Item item, int stack)
static Item TransferWithLimit(Item source, int limit)
Extract up to limit items from source . If some items remain, M:Terraria.ModLoader....
This serves as the central class from which item-related functions are carried out....
Definition ItemLoader.cs:26

References Terraria.DataStructures.TileEntity.ByID, Terraria.Item.Clone(), Terraria.GameContent.Tile_Entities.TEItemFrame.Find(), Terraria.Player.inventory, Terraria.Player.ItemTimeIsZero, Terraria.WorldGen.KillTile(), Terraria.Main.netMode, Terraria.Player.PlayDroppedItemAnimation(), Terraria.WorldGen.RangeFrame(), Terraria.Player.selectedItem, Terraria.NetMessage.SendData(), Terraria.Main.tile, Terraria.Player.tileTargetX, Terraria.ModLoader.ItemLoader.TransferWithLimit(), Terraria.GameContent.Tile_Entities.TEItemFrame.TryPlacing(), and Terraria.Entity.whoAmI.

Referenced by Terraria.GameContent.Tile_Entities.TEItemFrame.OnPlayerInteraction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: