public static void performDebrisCreate(short seed, int xPosition, int yPosition, byte facingDirection, byte type, short index, short stack, long who) { Game1.recentMultiplayerRandom = new Random((int)seed); Vector2 vector2 = new Vector2((float)xPosition, (float)yPosition); Vector2 debrisOrigin = new Vector2((float)xPosition, (float)yPosition); Item itemFromDescription = ObjectFactory.getItemFromDescription(type, (int)index, (int)stack); switch (facingDirection) { case 0: debrisOrigin.X -= (float)(Game1.tileSize / 2); debrisOrigin.Y -= (float)(Game1.tileSize * 2 + Game1.recentMultiplayerRandom.Next(Game1.tileSize / 2)); vector2.Y -= (float)(Game1.tileSize * 3); break; case 1: debrisOrigin.X += (float)(Game1.tileSize * 2 / 3); debrisOrigin.Y -= (float)(Game1.tileSize / 2 - Game1.recentMultiplayerRandom.Next(Game1.tileSize / 8)); vector2.X += (float)(Game1.tileSize * 4); break; case 2: debrisOrigin.X -= (float)(Game1.tileSize / 2); debrisOrigin.Y += (float)Game1.recentMultiplayerRandom.Next(Game1.tileSize / 2); vector2.Y += (float)(Game1.tileSize * 3 / 2); break; case 3: debrisOrigin.X -= (float)Game1.tileSize; debrisOrigin.Y -= (float)(Game1.tileSize / 2 - Game1.recentMultiplayerRandom.Next(Game1.tileSize / 8)); vector2.X -= (float)(Game1.tileSize * 4); break; } if (Game1.IsClient) { Game1.currentLocation.debris.Add(new Debris(itemFromDescription, debrisOrigin, vector2)); } else { if (!Game1.IsServer) { return; } Game1.otherFarmers[who].currentLocation.debris.Add(new Debris(itemFromDescription, debrisOrigin, vector2)); MultiplayerUtility.broadcastDebrisCreate(seed, vector2, (int)facingDirection, itemFromDescription, who); } }