Terraria v1.4.4.9
Terraria 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 188 of file TEItemFrame.cs.

189 {
190 if (!player.ItemTimeIsZero)
191 {
192 return;
193 }
194 if (Main.tile[x, y].frameX % 36 != 0)
195 {
196 x--;
197 }
198 if (Main.tile[x, y].frameY % 36 != 0)
199 {
200 y--;
201 }
202 int num = Find(x, y);
203 if (num == -1)
204 {
205 return;
206 }
207 if (((TEItemFrame)TileEntity.ByID[num]).item.stack > 0)
208 {
209 WorldGen.KillTile(x, y, fail: true);
210 if (Main.netMode == 1)
211 {
212 NetMessage.SendData(17, -1, -1, null, 0, Player.tileTargetX, y, 1f);
213 }
214 }
215 if (Main.netMode == 1)
216 {
217 NetMessage.SendData(89, -1, -1, null, x, y, player.selectedItem, player.whoAmI, 1);
218 }
219 else
220 {
221 TryPlacing(x, y, player.inventory[player.selectedItem].netID, player.inventory[player.selectedItem].prefix, 1);
222 }
223 player.inventory[player.selectedItem].stack--;
224 if (player.inventory[player.selectedItem].stack <= 0)
225 {
226 player.inventory[player.selectedItem].SetDefaults();
227 Main.mouseItem.SetDefaults();
228 }
229 if (player.selectedItem == 58)
230 {
231 Main.mouseItem = player.inventory[player.selectedItem].Clone();
232 }
233 player.releaseUseItem = false;
234 player.mouseInterface = true;
235 player.PlayDroppedItemAnimation(20);
236 WorldGen.RangeFrame(x, y, x + 2, y + 2);
237 }
static Dictionary< int, TileEntity > ByID
Definition TileEntity.cs:18
static void TryPlacing(int x, int y, int netid, int prefix, int stack)

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.mouseItem, Terraria.Item.netID, Terraria.Main.netMode, Terraria.Player.PlayDroppedItemAnimation(), Terraria.Item.prefix, Terraria.WorldGen.RangeFrame(), Terraria.Player.selectedItem, Terraria.NetMessage.SendData(), Terraria.Item.SetDefaults(), Terraria.Item.stack, Terraria.Main.tile, Terraria.Player.tileTargetX, Terraria.GameContent.Tile_Entities.TEItemFrame.TryPlacing(), and Terraria.Entity.whoAmI.

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