mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
Add item stacking mechanism
This commit is contained in:
parent
6967f6928b
commit
a6e6668fe0
1 changed files with 186 additions and 0 deletions
|
|
@ -43,5 +43,191 @@ namespace MinecraftClient.Inventory
|
|||
};
|
||||
return t.Contains(m);
|
||||
}
|
||||
|
||||
public static bool IsStackable(this ItemType m)
|
||||
{
|
||||
// these are non-stackable
|
||||
ItemType[] t =
|
||||
{
|
||||
ItemType.AcaciaBoat,
|
||||
ItemType.BirchBoat,
|
||||
ItemType.BlackBed,
|
||||
ItemType.BlackShulkerBox,
|
||||
ItemType.BlueBed,
|
||||
ItemType.BlueShulkerBox,
|
||||
ItemType.Bow,
|
||||
ItemType.BrownBed,
|
||||
ItemType.BrownShulkerBox,
|
||||
ItemType.Cake,
|
||||
ItemType.ChainmailBoots,
|
||||
ItemType.ChainmailChestplate,
|
||||
ItemType.ChainmailHelmet,
|
||||
ItemType.ChainmailLeggings,
|
||||
ItemType.ChestMinecart,
|
||||
ItemType.CodBucket,
|
||||
ItemType.CommandBlockMinecart,
|
||||
ItemType.CreeperBannerPattern,
|
||||
ItemType.Crossbow,
|
||||
ItemType.CyanBed,
|
||||
ItemType.CyanShulkerBox,
|
||||
ItemType.DarkOakBoat,
|
||||
ItemType.DebugStick,
|
||||
ItemType.DiamondAxe,
|
||||
ItemType.DiamondBoots,
|
||||
ItemType.DiamondChestplate,
|
||||
ItemType.DiamondHelmet,
|
||||
ItemType.DiamondHoe,
|
||||
ItemType.DiamondHorseArmor,
|
||||
ItemType.DiamondLeggings,
|
||||
ItemType.DiamondPickaxe,
|
||||
ItemType.DiamondShovel,
|
||||
ItemType.DiamondSword,
|
||||
ItemType.Elytra,
|
||||
ItemType.EnchantedBook,
|
||||
ItemType.FilledMap,
|
||||
ItemType.FishingRod,
|
||||
ItemType.FlintAndSteel,
|
||||
ItemType.FurnaceMinecart,
|
||||
ItemType.GlobeBannerPattern,
|
||||
ItemType.GoldenAxe,
|
||||
ItemType.GoldenBoots,
|
||||
ItemType.GoldenChestplate,
|
||||
ItemType.GoldenHelmet,
|
||||
ItemType.GoldenHoe,
|
||||
ItemType.GoldenHorseArmor,
|
||||
ItemType.GoldenLeggings,
|
||||
ItemType.GoldenPickaxe,
|
||||
ItemType.GoldenShovel,
|
||||
ItemType.GoldenSword,
|
||||
ItemType.GrayBed,
|
||||
ItemType.GrayShulkerBox,
|
||||
ItemType.GreenBed,
|
||||
ItemType.GreenShulkerBox,
|
||||
ItemType.HopperMinecart,
|
||||
ItemType.IronAxe,
|
||||
ItemType.IronBoots,
|
||||
ItemType.IronChestplate,
|
||||
ItemType.IronHelmet,
|
||||
ItemType.IronHoe,
|
||||
ItemType.IronHorseArmor,
|
||||
ItemType.IronLeggings,
|
||||
ItemType.IronPickaxe,
|
||||
ItemType.IronShovel,
|
||||
ItemType.IronSword,
|
||||
ItemType.Jigsaw,
|
||||
ItemType.JungleBoat,
|
||||
ItemType.LavaBucket,
|
||||
ItemType.LeatherBoots,
|
||||
ItemType.LeatherChestplate,
|
||||
ItemType.LeatherHelmet,
|
||||
ItemType.LeatherHorseArmor,
|
||||
ItemType.LeatherLeggings,
|
||||
ItemType.LightBlueBed,
|
||||
ItemType.LightBlueShulkerBox,
|
||||
ItemType.LightGrayBed,
|
||||
ItemType.LightGrayShulkerBox,
|
||||
ItemType.LimeBed,
|
||||
ItemType.LimeShulkerBox,
|
||||
ItemType.LingeringPotion,
|
||||
ItemType.MagentaBed,
|
||||
ItemType.MagentaShulkerBox,
|
||||
ItemType.MilkBucket,
|
||||
ItemType.Minecart,
|
||||
ItemType.MojangBannerPattern,
|
||||
ItemType.MushroomStew,
|
||||
ItemType.MusicDisc11,
|
||||
ItemType.MusicDisc13,
|
||||
ItemType.MusicDiscCat,
|
||||
ItemType.MusicDiscChirp,
|
||||
ItemType.MusicDiscFar,
|
||||
ItemType.MusicDiscMall,
|
||||
ItemType.MusicDiscMellohi,
|
||||
ItemType.MusicDiscStal,
|
||||
ItemType.MusicDiscStrad,
|
||||
ItemType.MusicDiscWait,
|
||||
ItemType.MusicDiscWard,
|
||||
ItemType.OakBoat,
|
||||
ItemType.OrangeBed,
|
||||
ItemType.OrangeShulkerBox,
|
||||
ItemType.PinkBed,
|
||||
ItemType.PinkShulkerBox,
|
||||
ItemType.Potion,
|
||||
ItemType.PufferfishBucket,
|
||||
ItemType.PurpleBed,
|
||||
ItemType.PurpleShulkerBox,
|
||||
ItemType.RabbitStew,
|
||||
ItemType.RedBed,
|
||||
ItemType.RedShulkerBox,
|
||||
ItemType.Saddle,
|
||||
ItemType.SalmonBucket,
|
||||
ItemType.Shears,
|
||||
ItemType.Shield,
|
||||
ItemType.ShulkerBox,
|
||||
ItemType.SkullBannerPattern,
|
||||
ItemType.SplashPotion,
|
||||
ItemType.SpruceBoat,
|
||||
ItemType.StoneAxe,
|
||||
ItemType.StoneHoe,
|
||||
ItemType.StonePickaxe,
|
||||
ItemType.StoneShovel,
|
||||
ItemType.StoneSword,
|
||||
ItemType.StructureBlock,
|
||||
ItemType.SuspiciousStew,
|
||||
ItemType.TntMinecart,
|
||||
ItemType.TotemOfUndying,
|
||||
ItemType.Trident,
|
||||
ItemType.TropicalFishBucket,
|
||||
ItemType.TurtleHelmet,
|
||||
ItemType.WaterBucket,
|
||||
ItemType.WhiteBed,
|
||||
ItemType.WhiteShulkerBox,
|
||||
ItemType.WoodenAxe,
|
||||
ItemType.WoodenHoe,
|
||||
ItemType.WoodenPickaxe,
|
||||
ItemType.WoodenShovel,
|
||||
ItemType.WoodenSword,
|
||||
ItemType.WritableBook,
|
||||
ItemType.WrittenBook,
|
||||
ItemType.YellowBed,
|
||||
ItemType.YellowShulkerBox
|
||||
};
|
||||
return !t.Contains(m);
|
||||
}
|
||||
|
||||
public static int StackCount(this ItemType m)
|
||||
{
|
||||
// These are stack to 16 only
|
||||
ItemType[] t =
|
||||
{
|
||||
ItemType.BlackBanner,
|
||||
ItemType.BlueBanner,
|
||||
ItemType.BrownBanner,
|
||||
ItemType.CyanBanner,
|
||||
ItemType.GrayBanner,
|
||||
ItemType.GreenBanner,
|
||||
ItemType.LightBlueBanner,
|
||||
ItemType.LightGrayBanner,
|
||||
ItemType.LimeBanner,
|
||||
ItemType.MagentaBanner,
|
||||
ItemType.OrangeBanner,
|
||||
ItemType.PinkBanner,
|
||||
ItemType.PurpleBanner,
|
||||
ItemType.RedBanner,
|
||||
ItemType.WhiteBanner,
|
||||
ItemType.YellowBanner,
|
||||
ItemType.ArmorStand,
|
||||
ItemType.Bucket,
|
||||
ItemType.Egg,
|
||||
ItemType.EnderEye,
|
||||
ItemType.HoneyBottle,
|
||||
ItemType.Snowball
|
||||
};
|
||||
if (m.IsStackable())
|
||||
return 64;
|
||||
else if (t.Contains(m))
|
||||
return 16;
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue