本文整理汇总了C#中MiNET.Player.SendPlayerInventory方法的典型用法代码示例。如果您正苦于以下问题:C# Player.SendPlayerInventory方法的具体用法?C# Player.SendPlayerInventory怎么用?C# Player.SendPlayerInventory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MiNET.Player
的用法示例。
在下文中一共展示了Player.SendPlayerInventory方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Video2X
public void Video2X(Player player, int numberOfFrames, bool color)
{
Task.Run(delegate
{
try
{
Dictionary<Tuple<int, int>, List<MapEntity>> entities = new Dictionary<Tuple<int, int>, List<MapEntity>>();
int width = 3;
int height = 2;
int frameCount = numberOfFrames;
//int frameOffset = 0;
int frameOffset = 120;
var frameTicker = new FrameTicker(frameCount);
// 768x384
for (int frame = frameOffset; frame < frameCount + frameOffset; frame++)
{
Log.Info($"Generating frame {frame}");
string file = Path.Combine(@"D:\Development\Other\Smash Heroes 3x6 (128)\Smash Heroes 3x6 (128)", $"Smash Heroes Trailer{frame:D4}.bmp");
//string file = Path.Combine(@"D:\Development\Other\2 by 1 PE test app ad for Gurun-2\exported frames 2", $"pe app ad{frame:D2}.bmp");
if (!File.Exists(file)) continue;
Bitmap image = new Bitmap((Bitmap) Image.FromFile(file), width*128, height*128);
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
var key = new Tuple<int, int>(x, y);
if (!entities.ContainsKey(key))
{
entities.Add(key, new List<MapEntity>());
}
List<MapEntity> frames = entities[key];
var croppedImage = CropImage(image, new Rectangle(new Point(x*128, y*128), new Size(128, 128)));
byte[] bitmapToBytes = BitmapToBytes(croppedImage, color);
if (bitmapToBytes.Length != 128*128*4) return;
MapEntity entity = new MapEntity(player.Level);
entity.ImageProvider = new MapImageProvider {Batch = CreateCachedPacket(entity.EntityId, bitmapToBytes)};
entity.SpawnEntity();
frames.Add(entity);
}
}
}
int i = 0;
player.Inventory.Slots[i++] = new ItemBlock(new Planks(), 0) {Count = 64};
foreach (var entites in entities.Values)
{
player.Inventory.Slots[i++] = new CustomItemItemFrame(entites, frameTicker) {Count = 64};
}
player.SendPlayerInventory();
player.SendMessage("Done generating video.", MessageType.Raw);
BlockCoordinates center = player.KnownPosition.GetCoordinates3D();
var level = player.Level;
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
var key = new Tuple<int, int>(x, y);
List<MapEntity> frames = entities[key];
BlockCoordinates bc = new BlockCoordinates(center.X - x, center.Y + height - y - 1, center.Z + 2);
var wood = new Planks {Coordinates = bc};
level.SetBlock(wood);
BlockCoordinates frambc = new BlockCoordinates(center.X - x, center.Y + height - y - 1, center.Z + 1);
ItemFrameBlockEntity itemFrameBlockEntity = new ItemFrameBlockEntity
{
Coordinates = frambc
};
var itemFrame = new CustomItemFrame(frames, itemFrameBlockEntity, level, frameTicker) {Coordinates = frambc, Metadata = 3};
level.SetBlock(itemFrame);
level.SetBlockEntity(itemFrameBlockEntity);
}
}
}
catch (Exception e)
{
Log.Error("Aborted video generation", e);
}
});
player.SendMessage("Generating video...", MessageType.Raw);
}
示例2: VideoX
public void VideoX(Player player, int numberOfFrames, bool color)
{
Task.Run(delegate
{
try
{
Dictionary<Tuple<int, int>, MapEntity> entities = new Dictionary<Tuple<int, int>, MapEntity>();
int width = 1;
int height = 1;
int frameCount = numberOfFrames;
//int frameOffset = 0;
int frameOffset = 120;
var frameTicker = new FrameTicker(frameCount);
// 768x384
for (int frame = frameOffset; frame < frameCount + frameOffset; frame++)
{
Log.Info($"Generating frame {frame}");
string file = Path.Combine(@"D:\Development\Other\Smash Heroes 3x6 (128)\Smash Heroes 3x6 (128)", $"Smash Heroes Trailer{frame:D4}.bmp");
//string file = Path.Combine(@"D:\Development\Other\2 by 1 PE test app ad for Gurun-2\exported frames 2", $"pe app ad{frame:D2}.bmp");
if (!File.Exists(file)) continue;
Bitmap image = new Bitmap((Bitmap) Image.FromFile(file), width*128, height*128);
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
var key = new Tuple<int, int>(x, y);
if (!entities.ContainsKey(key))
{
entities.Add(key, new MapEntity(player.Level) {ImageProvider = new VideoImageProvider(frameTicker)});
}
var croppedImage = CropImage(image, new Rectangle(new Point(x*128, y*128), new Size(128, 128)));
byte[] bitmapToBytes = BitmapToBytes(croppedImage, color);
if (bitmapToBytes.Length != 128*128*4) return;
((VideoImageProvider) entities[key].ImageProvider).Frames.Add(CreateCachedPacket(entities[key].EntityId, bitmapToBytes));
}
}
}
int i = 0;
player.Inventory.Slots[i++] = new ItemBlock(new Planks(), 0) {Count = 64};
player.Inventory.Slots[i++] = new ItemItemFrame {Count = 64};
foreach (MapEntity entity in entities.Values)
{
entity.SpawnEntity();
player.Inventory.Slots[i++] = new ItemMap(entity.EntityId);
}
player.SendPlayerInventory();
player.SendMessage("Done generating video.", MessageType.Raw);
}
catch (Exception e)
{
Log.Error("Aborted video generation", e);
}
});
player.SendMessage("Generating video...", MessageType.Raw);
}
示例3: Kit
public void Kit(Player player, int kitId)
{
var inventory = player.Inventory;
switch (kitId)
{
case 0:
// Kit leather tier
break;
case 1:
// Kit gold tier
break;
case 2:
// Kit chain tier
break;
case 3:
// Kit iron tier
inventory.Boots = new ItemIronBoots(0);
inventory.Leggings = new ItemIronLeggings(0);
inventory.Chest = new ItemIronChestplate(0);
inventory.Helmet = new ItemIronHelmet(0);
break;
case 4:
// Kit diamond tier
inventory.Boots = new ItemDiamondBoots(0);
inventory.Leggings = new ItemDiamondLeggings(0);
inventory.Chest = new ItemDiamondChestplate(0);
inventory.Helmet = new ItemDiamondHelmet(0);
break;
}
var command = new ItemCommand(41, 0, delegate(ItemCommand itemCommand, Level level, Player arg3, BlockCoordinates arg4) { Log.Info("Clicked on command"); });
// Hotbar
byte c = 0;
//inventory.Slots[c++] = new ItemStack(command, 1); // Wooden Sword
inventory.Slots[c++] = new ItemStack(268, 1); // Wooden Sword
inventory.Slots[c++] = new ItemStack(272, 1); // Stone Sword
inventory.Slots[c++] = new ItemStack(283, 1); // Golden Sword
inventory.Slots[c++] = new ItemStack(267, 1); // Iron Sword
inventory.Slots[c++] = new ItemStack(276, 1); // Diamond Sword
inventory.Slots[c++] = new ItemStack(261, 1); // Bow
inventory.Slots[c++] = new ItemStack(262, 64); // Arrows
inventory.Slots[c++] = new ItemStack(344, 64); // Eggs
inventory.Slots[c++] = new ItemStack(332, 64); // Snowballs
inventory.Slots[c++] = new ItemStack(new ItemChest(0), 1);
inventory.Slots[c++] = new ItemStack(new ItemStoneAxe(0), 1);
inventory.Slots[c++] = new ItemStack(new ItemWoodenPickaxe(0), 1);
inventory.Slots[c++] = new ItemStack(new ItemBread(), 5);
inventory.Slots[c++] = new ItemStack(new ItemBlock(new Block(35), 0), 64);
inventory.Slots[c++] = new ItemStack(new ItemBucket(8), 1);
//for (byte i = 0; i < inventory.ItemHotbar.Length; i++)
//{
// inventory.ItemHotbar[i] = i;
//}
player.SendPlayerInventory();
SendEquipmentForPlayer(player);
SendArmorForPlayer(player);
player.Level.BroadcastMessage(string.Format("Player {0} changed kit.", player.Username), type: MessageType.Raw);
}
示例4: Kit
public void Kit(Player player, int kitId)
{
var inventory = player.Inventory;
switch (kitId)
{
case 0:
// Kit leather tier
break;
case 1:
// Kit gold tier
break;
case 2:
// Kit chain tier
break;
case 3:
// Kit iron tier
inventory.Boots = new ItemIronBoots(0);
inventory.Leggings = new ItemIronLeggings(0);
inventory.Chest = new ItemIronChestplate(0);
inventory.Helmet = new ItemIronHelmet(0);
break;
case 4:
// Kit diamond tier
inventory.Boots = new ItemDiamondBoots(0);
inventory.Leggings = new ItemDiamondLeggings(0);
inventory.Chest = new ItemDiamondChestplate(0);
inventory.Helmet = new ItemDiamondHelmet(0);
break;
}
byte c = 0;
inventory.Slots[c++] = (new ItemStack(268, 1)); // Wooden Sword
inventory.Slots[c++] = (new ItemStack(283, 1)); // Golden Sword
inventory.Slots[c++] = (new ItemStack(272, 1)); // Stone Sword
inventory.Slots[c++] = (new ItemStack(267, 1)); // Iron Sword
inventory.Slots[c++] = (new ItemStack(276, 1)); // Diamond Sword
inventory.Slots[c++] = (new ItemStack(261, 1)); // Bow
inventory.Slots[c++] = (new ItemStack(262, 64)); // Arrows
inventory.Slots[c++] = (new ItemStack(344, 64)); // Eggs
inventory.Slots[c++] = (new ItemStack(332, 64)); // Snowballs
player.SendPlayerInventory();
SendEquipmentForPlayer(player);
SendArmorForPlayer(player);
player.Level.BroadcastMessage(string.Format("Player {0} changed kit.", player.Username), type: MessageType.Raw);
}
示例5: Potions
public void Potions(Player player)
{
var inventory = player.Inventory;
byte c = 0;
//inventory.Slots[c++] = new ItemStack(command, 1); // Custom command block
for (short i = 5; i < 36; i++)
{
inventory.Slots[c++] = new ItemPotion(i);
}
player.SendPlayerInventory();
SendEquipmentForPlayer(player);
SendArmorForPlayer(player);
player.Level.BroadcastMessage($"{player.Username} got potions.", type: MessageType.Raw);
}
示例6: SendInventory
public void SendInventory(Player player)
{
player.SendPlayerInventory();
}
示例7: Kit
//.........这里部分代码省略.........
inventory.Boots = new ItemLeatherBoots();
inventory.Leggings = new ItemLeatherLeggings();
inventory.Chest = new ItemLeatherChestplate();
inventory.Helmet = new ItemLeatherHelmet();
break;
case 1:
// Kit gold tier
inventory.Boots = new ItemGoldBoots();
inventory.Leggings = new ItemGoldLeggings();
inventory.Chest = new ItemGoldChestplate();
inventory.Helmet = new ItemGoldHelmet();
break;
case 2:
// Kit chain tier
inventory.Boots = new ItemChainmailBoots();
inventory.Leggings = new ItemChainmailLeggings();
inventory.Chest = new ItemChainmailChestplate();
inventory.Helmet = new ItemChainmailHelmet();
break;
case 3:
// Kit iron tier
inventory.Boots = new ItemIronBoots();
inventory.Leggings = new ItemIronLeggings();
inventory.Chest = new ItemIronChestplate();
inventory.Helmet = new ItemIronHelmet();
break;
case 4:
// Kit diamond tier
inventory.Boots = new ItemDiamondBoots();
inventory.Leggings = new ItemDiamondLeggings();
inventory.Chest = new ItemDiamondChestplate();
inventory.Helmet = new ItemDiamondHelmet();
break;
}
// 0 = protection
// 1 = Fire protection
// 2 = Feather falling
// 3 = Blast protection
// 4 = Projectile protection
// 5 = Thorns
EnchantArmor(player.Inventory, 0, 2);
var command = new ItemCommand(41, 0, delegate(ItemCommand itemCommand, Level level, Player arg3, BlockCoordinates arg4) { Log.Info("Clicked on command"); });
// Hotbar
byte c = 0;
//inventory.Slots[c++] = new ItemStack(command, 1); // Custom command block
//2016 - 02 - 26 02:59:08,740[6] INFO MiNET.Client.MiNetClient - Item Type = Item, Id = 358, Metadata = 0, Count = 1,
// ExtraData = TAG_Compound("tag"): 1 entries {
// TAG_String("map_uuid"): "-4294967268"
//}
//inventory.Slots[c++] = new ItemItemFrame() { Count = 64 };
//inventory.Slots[c++] = new ItemBlock(new WoodenPlanks(), 0) { Count = 64 };
inventory.Slots[c++] = new ItemCompass(); // Wooden Sword
inventory.Slots[c++] = new ItemWoodenSword(); // Wooden Sword
inventory.Slots[c++] = new ItemStoneSword(); // Stone Sword
inventory.Slots[c++] = new ItemGoldSword(); // Golden Sword
inventory.Slots[c++] = new ItemIronSword(); // Iron Sword
inventory.Slots[c++] = new ItemDiamondSword(); // Diamond Sword
inventory.Slots[c++] = new ItemBow(); // Bow
inventory.Slots[c++] = new ItemArrow {Count = 64}; // Arrows
inventory.Slots[c++] = new ItemEgg {Count = 64}; // Eggs
inventory.Slots[c++] = new ItemSnowball {Count = 64}; // Snowballs
inventory.Slots[c++] = new ItemIronSword
{
ExtraData = new NbtCompound {new NbtList("ench") {new NbtCompound {new NbtShort("id", 9), new NbtShort("lvl", 1)}}}
};
inventory.Slots[c++] = new ItemIronSword
{
ExtraData = new NbtCompound {{new NbtCompound("display") {new NbtString("Name", "test")}}}
};
//inventory.Slots[c++] = new ItemEmptyMap { Count = 64 }; // Wooden Sword
inventory.Slots[c++] = new ItemStoneAxe();
inventory.Slots[c++] = new ItemStoneAxe();
inventory.Slots[c++] = new ItemWoodenPickaxe();
inventory.Slots[c++] = new ItemBread {Count = 5};
//inventory.Slots[c++] = new ItemBlock(new Block(35), 0) {Count = 64};
//inventory.Slots[c++] = new ItemBucket(8);
//inventory.Slots[c++] = ItemFactory.GetItem(39, 0) { Count = 1};
//inventory.Slots[c++] = ItemFactory.GetItem(40, 0), 4);
//inventory.Slots[c++] = ItemFactory.GetItem(281, 0), 4);
//for (byte i = 0; i < inventory.ItemHotbar.Length; i++)
//{
// inventory.ItemHotbar[i] = i;
//}
player.SendPlayerInventory();
SendEquipmentForPlayer(player);
SendArmorForPlayer(player);
player.Level.BroadcastMessage(string.Format("Player {0} changed kit.", player.Username), type: MessageType.Raw);
}
示例8: Furnace
public void Furnace(Player player)
{
var inventory = player.Inventory;
byte c = 0;
inventory.Slots[c++] = new ItemFurnace() {Count = 64}; // Custom command block
inventory.Slots[c++] = new ItemCoal() {Count = 64}; // Custom command block
inventory.Slots[c++] = new ItemBlock(new IronOre(), 0) {Count = 64}; // Custom command block
player.SendPlayerInventory();
SendEquipmentForPlayer(player);
SendArmorForPlayer(player);
player.Level.BroadcastMessage($"{player.Username} got potions.", type: MessageType.Raw);
}
示例9: Kit
public void Kit(Player player, int kitId)
{
var inventory = player.Inventory;
switch (kitId)
{
case 0:
// Kit leather tier
break;
case 1:
// Kit gold tier
break;
case 2:
// Kit chain tier
break;
case 3:
// Kit iron tier
inventory.Boots = new ItemIronBoots();
inventory.Leggings = new ItemIronLeggings();
inventory.Chest = new ItemIronChestplate();
inventory.Helmet = new ItemIronHelmet();
break;
case 4:
// Kit diamond tier
inventory.Boots = new ItemDiamondBoots();
inventory.Leggings = new ItemDiamondLeggings();
inventory.Chest = new ItemDiamondChestplate();
inventory.Helmet = new ItemDiamondHelmet();
break;
}
var command = new ItemCommand(41, 0, delegate(ItemCommand itemCommand, Level level, Player arg3, BlockCoordinates arg4) { Log.Info("Clicked on command"); });
// Hotbar
byte c = 0;
//inventory.Slots[c++] = new ItemStack(command, 1); // Custom command block
inventory.Slots[c++] = new ItemPotion(1);
inventory.Slots[c++] = new ItemPotion(2);
inventory.Slots[c++] = new ItemPotion(3);
inventory.Slots[c++] = new ItemPotion(4);
inventory.Slots[c++] = new ItemPotion(5);
inventory.Slots[c++] = new ItemPotion(6);
inventory.Slots[c++] = new ItemPotion(7);
inventory.Slots[c++] = new ItemPotion(8);
inventory.Slots[c++] = new ItemPotion(9);
inventory.Slots[c++] = new ItemWoodenSword(); // Wooden Sword
inventory.Slots[c++] = new ItemStoneSword(); // Stone Sword
inventory.Slots[c++] = new ItemGoldSword(); // Golden Sword
inventory.Slots[c++] = new ItemIronSword(); // Iron Sword
inventory.Slots[c++] = new ItemDiamondSword(); // Diamond Sword
inventory.Slots[c++] = new ItemBow(); // Bow
inventory.Slots[c++] = ItemFactory.GetItem(262, 0, 64); // Arrows
inventory.Slots[c++] = ItemFactory.GetItem(344, 0, 64); // Eggs
inventory.Slots[c++] = ItemFactory.GetItem(332, 0, 64); // Snowballs
Item item = ItemFactory.GetItem(267, 0, 64);
item.ExtraData = new NbtCompound {new NbtList("ench") {new NbtCompound {new NbtShort("id", 0), new NbtShort("lvl", 2)}}};
inventory.Slots[c++] = item;
inventory.Slots[c++] = new ItemChest();
inventory.Slots[c++] = new ItemStoneAxe();
inventory.Slots[c++] = new ItemWoodenPickaxe();
inventory.Slots[c++] = new ItemBread {Count = 5};
inventory.Slots[c++] = new ItemBlock(new Block(35), 0) {Count = 64};
inventory.Slots[c++] = new ItemBucket(8);
//inventory.Slots[c++] = ItemFactory.GetItem(39, 0) { Count = 1};
//inventory.Slots[c++] = ItemFactory.GetItem(40, 0), 4);
//inventory.Slots[c++] = ItemFactory.GetItem(281, 0), 4);
//for (byte i = 0; i < inventory.ItemHotbar.Length; i++)
//{
// inventory.ItemHotbar[i] = i;
//}
player.SendPlayerInventory();
SendEquipmentForPlayer(player);
SendArmorForPlayer(player);
player.Level.BroadcastMessage(string.Format("Player {0} changed kit.", player.Username), type: MessageType.Raw);
}
示例10: Kit
public void Kit(Player player, string kitName)
{
var inventory = player.Inventory;
var InHandItem = inventory.GetItemInHand();
if (!PlayersKitActivated.Contains(player.Username))
{
switch (kitName)
{
case "Leather":
// Kit leather tier
inventory.Boots = new ItemLeatherBoots();
inventory.Leggings = new ItemLeatherLeggings();
inventory.Chest = new ItemLeatherChestplate();
inventory.Helmet = new ItemLeatherHelmet();
InHandItem = new ItemWoodenSword();
player.SendMessage(string.Format(ChatColors.Blue + "You have selected kit: Leather"), type: MessageType.Raw);
SendArmorForPlayer(player);
player.SendPlayerInventory();
//set player kit var to true.
PlayersKitActivated.Add(player.Username);
break;
case "Gold":
// Kit gold tier
inventory.Boots = new ItemGoldBoots();
inventory.Leggings = new ItemGoldLeggings();
inventory.Chest = new ItemGoldChestplate();
inventory.Helmet = new ItemGoldHelmet();
InHandItem = new ItemGoldSword();
player.SendMessage(string.Format(ChatColors.Blue + "You have selected kit: Gold"), type: MessageType.Raw);
SendArmorForPlayer(player);
player.SendPlayerInventory();
//set player kit var to true.
PlayersKitActivated.Add(player.Username);
break;
case "Chain":
// Kit chain tier
inventory.Boots = new ItemChainmailBoots();
inventory.Leggings = new ItemChainmailLeggings();
inventory.Chest = new ItemChainmailChestplate();
inventory.Helmet = new ItemChainmailHelmet();
InHandItem = new ItemStoneSword();
player.SendMessage(string.Format(ChatColors.Blue + "You have selected kit: Chain"), type: MessageType.Raw);
SendArmorForPlayer(player);
player.SendPlayerInventory();
//set player kit var to true.
PlayersKitActivated.Add(player.Username);
break;
case "Iron":
// Kit iron tier
inventory.Boots = new ItemIronBoots();
inventory.Leggings = new ItemIronLeggings();
inventory.Chest = new ItemIronChestplate();
inventory.Helmet = new ItemIronHelmet();
InHandItem = new ItemIronSword();
player.SendMessage(string.Format(ChatColors.Blue + "You have selected kit: Iron"), type: MessageType.Raw);
SendArmorForPlayer(player);
player.SendPlayerInventory();
//set player kit var to true.
PlayersKitActivated.Add(player.Username);
break;
case "Diamond":
// Kit diamond tier
inventory.Boots = new ItemDiamondBoots();
inventory.Leggings = new ItemDiamondLeggings();
inventory.Chest = new ItemDiamondChestplate();
inventory.Helmet = new ItemDiamondHelmet();
InHandItem = new ItemDiamondSword();
player.SendMessage(string.Format(ChatColors.Blue + "You have selected kit: Diamond"), type: MessageType.Raw);
SendArmorForPlayer(player);
player.SendPlayerInventory();
//set player kit var to true.
PlayersKitActivated.Add(player.Username);
break;
}
}
else if (PlayersKitActivated.Contains(player.Username))
{
player.SendMessage(string.Format(ChatColors.Blue + "You have already selected a kit, only one kit per life."), type: MessageType.Raw);
}
}
示例11: test
public void test(Player player)
{
player.SendMessage(string.Format(ChatColors.Yellow + "Hi " + player.Username + " this is test command :-)"), type: MessageType.Raw);
var inventory = player.Inventory;
inventory.Boots = new ItemLeatherBoots();
inventory.Leggings = new ItemLeatherLeggings();
inventory.Chest = new ItemLeatherChestplate();
inventory.Helmet = new ItemLeatherHelmet();
player.SendPlayerInventory();
SendArmorForPlayer(player);
}