public static void OnPlayerInteraction(Player player, int clickX, int clickY) { if (TEFoodPlatter.FitsFoodPlatter(player.inventory[player.selectedItem]) && !player.inventory[player.selectedItem].favorited) { player.GamepadEnableGrappleCooldown(); TEFoodPlatter.PlaceItemInFrame(player, clickX, clickY); Recipe.FindRecipes(false); } else { int x = clickX; int y = clickY; int index = TEFoodPlatter.Find(x, y); if (index == -1 || ((TEFoodPlatter)TileEntity.ByID[index]).item.stack <= 0) { return; } player.GamepadEnableGrappleCooldown(); WorldGen.KillTile(clickX, clickY, true, false, false); if (Main.netMode != 1) { return; } NetMessage.SendData(17, -1, -1, (NetworkText)null, 0, (float)x, (float)y, 1f, 0, 0, 0); } }
public static void TryPlacing(int x, int y, int netid, int prefix, int stack) { WorldGen.RangeFrame(x, y, x + 1, y + 1); int index = TEFoodPlatter.Find(x, y); if (index == -1) { int number = Item.NewItem(x * 16, y * 16, 16, 16, 1, 1, false, 0, false, false); Main.item[number].netDefaults(netid); Main.item[number].Prefix(prefix); Main.item[number].stack = stack; NetMessage.SendData(21, -1, -1, (NetworkText)null, number, 0.0f, 0.0f, 0.0f, 0, 0, 0); } else { TEFoodPlatter teFoodPlatter = (TEFoodPlatter)TileEntity.ByID[index]; if (teFoodPlatter.item.stack > 0) { teFoodPlatter.DropItem(); } teFoodPlatter.item = new Item(); teFoodPlatter.item.netDefaults(netid); teFoodPlatter.item.Prefix(prefix); teFoodPlatter.item.stack = stack; NetMessage.SendData(86, -1, -1, (NetworkText)null, teFoodPlatter.ID, (float)x, (float)y, 0.0f, 0, 0, 0); } }
public static void TryPlacing(int x, int y, int netid, int prefix, int stack) { WorldGen.RangeFrame(x, y, x + 1, y + 1); int num = Find(x, y); if (num == -1) { int num2 = Item.NewItem(x * 16, y * 16, 16, 16, 1); Main.item[num2].netDefaults(netid); Main.item[num2].Prefix(prefix); Main.item[num2].stack = stack; NetMessage.SendData(21, -1, -1, null, num2); return; } TEFoodPlatter tEFoodPlatter = (TEFoodPlatter)TileEntity.ByID[num]; if (tEFoodPlatter.item.stack > 0) { tEFoodPlatter.DropItem(); } tEFoodPlatter.item = new Item(); tEFoodPlatter.item.netDefaults(netid); tEFoodPlatter.item.Prefix(prefix); tEFoodPlatter.item.stack = stack; NetMessage.SendData(86, -1, -1, null, tEFoodPlatter.ID, x, y); }
public static int Place(int x, int y) { TEFoodPlatter teFoodPlatter = new TEFoodPlatter(); teFoodPlatter.Position = new Point16(x, y); teFoodPlatter.ID = TileEntity.AssignNewID(); teFoodPlatter.type = TEFoodPlatter._myEntityID; TileEntity.ByID[teFoodPlatter.ID] = (TileEntity)teFoodPlatter; TileEntity.ByPosition[teFoodPlatter.Position] = (TileEntity)teFoodPlatter; return(teFoodPlatter.ID); }
public static int Hook_AfterPlacement( int x, int y, int type = 520, int style = 0, int direction = 1, int alternate = 0) { if (Main.netMode != 1) { return(TEFoodPlatter.Place(x, y)); } NetMessage.SendTileSquare(Main.myPlayer, x, y, 1, TileChangeType.None); NetMessage.SendData(87, -1, -1, (NetworkText)null, x, (float)y, (float)TEFoodPlatter._myEntityID, 0.0f, 0, 0, 0); return(-1); }
public static void PlaceItemInFrame(Player player, int x, int y) { int index = TEFoodPlatter.Find(x, y); if (index == -1) { return; } if (((TEFoodPlatter)TileEntity.ByID[index]).item.stack > 0) { WorldGen.KillTile(x, y, true, false, false); if (Main.netMode == 1) { NetMessage.SendData(17, -1, -1, (NetworkText)null, 0, (float)Player.tileTargetX, (float)y, 1f, 0, 0, 0); } } if (Main.netMode == 1) { NetMessage.SendData(133, -1, -1, (NetworkText)null, x, (float)y, (float)player.selectedItem, (float)player.whoAmI, 1, 0, 0); } else { TEFoodPlatter.TryPlacing(x, y, player.inventory[player.selectedItem].netID, (int)player.inventory[player.selectedItem].prefix, 1); } --player.inventory[player.selectedItem].stack; if (player.inventory[player.selectedItem].stack <= 0) { player.inventory[player.selectedItem].SetDefaults(0); Main.mouseItem.SetDefaults(0); } if (player.selectedItem == 58) { Main.mouseItem = player.inventory[player.selectedItem].Clone(); } player.releaseUseItem = false; player.mouseInterface = true; WorldGen.RangeFrame(x, y, x + 1, y + 1); }
public override bool IsTileValidForEntity(int x, int y) { return(TEFoodPlatter.ValidTile(x, y)); }
public static void NetPlaceEntity(int x, int y) { NetMessage.SendData(86, -1, -1, (NetworkText)null, TEFoodPlatter.Place(x, y), (float)x, (float)y, 0.0f, 0, 0, 0); }
public override void NetPlaceEntityAttempt(int x, int y) { TEFoodPlatter.NetPlaceEntity(x, y); }