Fixed requested changes in the review. Except: Container (TODO)

This commit is contained in:
Dušan Milutinović 2022-06-28 13:45:23 +02:00
parent 3ea109b330
commit 9d3357eeee
8 changed files with 1809 additions and 1799 deletions

View file

@ -1115,6 +1115,6 @@ namespace MinecraftClient.Inventory
ZombieHorseSpawnEgg, ZombieHorseSpawnEgg,
ZombieSpawnEgg, ZombieSpawnEgg,
ZombieVillagerSpawnEgg, ZombieVillagerSpawnEgg,
ZombifiedPiglinSpawnEgg ZombifiedPiglinSpawnEgg,
} }
} }

View file

@ -29,7 +29,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
/// <param name="blocksJsonFile">path to blocks.json</param> /// <param name="blocksJsonFile">path to blocks.json</param>
/// <remarks>java -cp minecraft_server.jar net.minecraft.data.Main --reports</remarks> /// <remarks>java -cp minecraft_server.jar net.minecraft.data.Main --reports</remarks>
/// <returns>state => block name mappings</returns> /// <returns>state => block name mappings</returns>
public static void GenerateBlockPallete(string blocksJsonFile) public static void GenerateBlockPalette(string blocksJsonFile)
{ {
BlockPaletteGenerator.JsonToClass(blocksJsonFile, "Palette", "Material"); BlockPaletteGenerator.JsonToClass(blocksJsonFile, "Palette", "Material");
} }

View file

@ -24,26 +24,34 @@ namespace MinecraftClient.Mapping
Boat, Boat,
Cat, Cat,
CaveSpider, CaveSpider,
ChestMinecart,
Chicken, Chicken,
Cod, Cod,
CommandBlockMinecart,
Cow, Cow,
Creeper, Creeper,
Dolphin, Dolphin,
Donkey, Donkey,
DragonFireball, DragonFireball,
Drowned, Drowned,
Egg,
ElderGuardian, ElderGuardian,
EndCrystal, EndCrystal,
EnderDragon, EnderDragon,
Enderman, Enderman,
Endermite, Endermite,
EnderPearl,
Evoker, Evoker,
EvokerFangs, EvokerFangs,
ExperienceBottle,
ExperienceOrb, ExperienceOrb,
EyeOfEnder, EyeOfEnder,
FallingBlock, FallingBlock,
Fireball,
FireworkRocket, FireworkRocket,
FishingBobber,
Fox, Fox,
FurnaceMinecart,
Ghast, Ghast,
Giant, Giant,
GlowItemFrame, GlowItemFrame,
@ -51,13 +59,13 @@ namespace MinecraftClient.Mapping
Goat, Goat,
Guardian, Guardian,
Hoglin, Hoglin,
HopperMinecart,
Horse, Horse,
Husk, Husk,
Illusioner, Illusioner,
IronGolem, IronGolem,
Item, Item,
ItemFrame, ItemFrame,
Fireball,
LeashKnot, LeashKnot,
LightningBolt, LightningBolt,
Llama, Llama,
@ -65,14 +73,8 @@ namespace MinecraftClient.Mapping
MagmaCube, MagmaCube,
Marker, Marker,
Minecart, Minecart,
ChestMinecart,
CommandBlockMinecart,
FurnaceMinecart,
HopperMinecart,
SpawnerMinecart,
TntMinecart,
Mule,
Mooshroom, Mooshroom,
Mule,
Ocelot, Ocelot,
Painting, Painting,
Panda, Panda,
@ -82,8 +84,9 @@ namespace MinecraftClient.Mapping
Piglin, Piglin,
PiglinBrute, PiglinBrute,
Pillager, Pillager,
Player,
PolarBear, PolarBear,
Tnt, Potion,
Pufferfish, Pufferfish,
Rabbit, Rabbit,
Ravager, Ravager,
@ -96,19 +99,18 @@ namespace MinecraftClient.Mapping
SkeletonHorse, SkeletonHorse,
Slime, Slime,
SmallFireball, SmallFireball,
SnowGolem,
Snowball, Snowball,
SnowGolem,
SpawnerMinecart,
SpectralArrow, SpectralArrow,
Spider, Spider,
Squid, Squid,
Stray, Stray,
Strider, Strider,
Egg, Tnt,
EnderPearl, TntMinecart,
ExperienceBottle,
Potion,
Trident,
TraderLlama, TraderLlama,
Trident,
TropicalFish, TropicalFish,
Turtle, Turtle,
Vex, Vex,
@ -125,7 +127,5 @@ namespace MinecraftClient.Mapping
ZombieHorse, ZombieHorse,
ZombieVillager, ZombieVillager,
ZombifiedPiglin, ZombifiedPiglin,
Player,
FishingBobber,
} }
} }

File diff suppressed because it is too large Load diff

View file

@ -42,12 +42,9 @@ namespace MinecraftClient.Mapping
Material.BrownGlazedTerracotta, Material.BrownGlazedTerracotta,
Material.BrownShulkerBox, Material.BrownShulkerBox,
Material.BrownTerracotta, Material.BrownTerracotta,
Material.Cauldron,
Material.WaterCauldron,
Material.LavaCauldron,
Material.PowderSnowCauldron,
Material.Chain,
Material.Calcite, Material.Calcite,
Material.Cauldron,
Material.Chain,
Material.ChippedAnvil, Material.ChippedAnvil,
Material.ChiseledDeepslate, Material.ChiseledDeepslate,
Material.ChiseledNetherBricks, Material.ChiseledNetherBricks,
@ -58,10 +55,10 @@ namespace MinecraftClient.Mapping
Material.ChiseledStoneBricks, Material.ChiseledStoneBricks,
Material.CoalBlock, Material.CoalBlock,
Material.CoalOre, Material.CoalOre,
Material.CobbledDeepslate,
Material.CobbledDeepslateSlab, Material.CobbledDeepslateSlab,
Material.CobbledDeepslateStairs, Material.CobbledDeepslateStairs,
Material.CobbledDeepslateWall, Material.CobbledDeepslateWall,
Material.CobbledDeepslate,
Material.Cobblestone, Material.Cobblestone,
Material.CobblestoneSlab, Material.CobblestoneSlab,
Material.CobblestoneStairs, Material.CobblestoneStairs,
@ -88,20 +85,20 @@ namespace MinecraftClient.Mapping
Material.Deepslate, Material.Deepslate,
Material.DeepslateBrickSlab, Material.DeepslateBrickSlab,
Material.DeepslateBrickStairs, Material.DeepslateBrickStairs,
Material.DeepslateBricks,
Material.DeepslateBrickWall, Material.DeepslateBrickWall,
Material.DeepslateBricks,
Material.DeepslateCoalOre, Material.DeepslateCoalOre,
Material.DeepslateTileSlab, Material.DeepslateTileSlab,
Material.DeepslateTileStairs, Material.DeepslateTileStairs,
Material.DeepslateTiles,
Material.DeepslateTileWall, Material.DeepslateTileWall,
Material.DeepslateTiles,
Material.DetectorRail, Material.DetectorRail,
Material.Diorite, Material.Diorite,
Material.DioriteSlab, Material.DioriteSlab,
Material.DioriteStairs, Material.DioriteStairs,
Material.DioriteWall, Material.DioriteWall,
Material.DripstoneBlock,
Material.Dispenser, Material.Dispenser,
Material.DripstoneBlock,
Material.Dropper, Material.Dropper,
Material.EnchantingTable, Material.EnchantingTable,
Material.EndRod, Material.EndRod,
@ -135,6 +132,7 @@ namespace MinecraftClient.Mapping
Material.IronDoor, Material.IronDoor,
Material.IronTrapdoor, Material.IronTrapdoor,
Material.Lantern, Material.Lantern,
Material.LavaCauldron,
Material.LightBlueConcrete, Material.LightBlueConcrete,
Material.LightBlueGlazedTerracotta, Material.LightBlueGlazedTerracotta,
Material.LightBlueShulkerBox, Material.LightBlueShulkerBox,
@ -203,6 +201,7 @@ namespace MinecraftClient.Mapping
Material.PolishedGranite, Material.PolishedGranite,
Material.PolishedGraniteSlab, Material.PolishedGraniteSlab,
Material.PolishedGraniteStairs, Material.PolishedGraniteStairs,
Material.PowderSnowCauldron,
Material.PoweredRail, Material.PoweredRail,
Material.Prismarine, Material.Prismarine,
Material.PrismarineBrickSlab, Material.PrismarineBrickSlab,
@ -271,6 +270,7 @@ namespace MinecraftClient.Mapping
Material.Terracotta, Material.Terracotta,
Material.Tuff, Material.Tuff,
Material.WarpedNylium, Material.WarpedNylium,
Material.WaterCauldron,
Material.WhiteConcrete, Material.WhiteConcrete,
Material.WhiteGlazedTerracotta, Material.WhiteGlazedTerracotta,
Material.WhiteShulkerBox, Material.WhiteShulkerBox,
@ -641,7 +641,7 @@ namespace MinecraftClient.Mapping
// Liquids // Liquids
private static readonly List<Material> bucket = new List<Material>() private static readonly List<Material> bucket = new List<Material>()
{ {
Material.Lava, Material.Lava,
Material.Water Material.Water
}; };
@ -673,7 +673,7 @@ namespace MinecraftClient.Mapping
{ {
if (pickaxeTier0.Contains(block)) if (pickaxeTier0.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.NetheritePickaxe, ItemType.NetheritePickaxe,
ItemType.DiamondPickaxe, ItemType.DiamondPickaxe,
@ -685,7 +685,7 @@ namespace MinecraftClient.Mapping
} }
else if (pickaxeTier1.Contains(block)) else if (pickaxeTier1.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.NetheritePickaxe, ItemType.NetheritePickaxe,
ItemType.DiamondPickaxe, ItemType.DiamondPickaxe,
@ -696,7 +696,7 @@ namespace MinecraftClient.Mapping
} }
else if (pickaxeTier2.Contains(block)) else if (pickaxeTier2.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.NetheritePickaxe, ItemType.NetheritePickaxe,
ItemType.DiamondPickaxe, ItemType.DiamondPickaxe,
@ -705,7 +705,7 @@ namespace MinecraftClient.Mapping
} }
else if (pickaxeTier3.Contains(block)) else if (pickaxeTier3.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.NetheritePickaxe, ItemType.NetheritePickaxe,
ItemType.DiamondPickaxe, ItemType.DiamondPickaxe,
@ -713,7 +713,7 @@ namespace MinecraftClient.Mapping
} }
else if (shovel.Contains(block)) else if (shovel.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.NetheriteShovel, ItemType.NetheriteShovel,
ItemType.DiamondShovel, ItemType.DiamondShovel,
@ -725,7 +725,7 @@ namespace MinecraftClient.Mapping
} }
else if (axe.Contains(block)) else if (axe.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.NetheriteAxe, ItemType.NetheriteAxe,
ItemType.DiamondAxe, ItemType.DiamondAxe,
@ -737,14 +737,14 @@ namespace MinecraftClient.Mapping
} }
else if (shears.Contains(block)) else if (shears.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.Shears, ItemType.Shears,
}; };
} }
else if (sword.Contains(block)) else if (sword.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.NetheriteSword, ItemType.NetheriteSword,
ItemType.DiamondSword, ItemType.DiamondSword,
@ -756,7 +756,7 @@ namespace MinecraftClient.Mapping
} }
else if (hoe.Contains(block)) else if (hoe.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.NetheriteHoe, ItemType.NetheriteHoe,
ItemType.DiamondHoe, ItemType.DiamondHoe,
@ -768,7 +768,7 @@ namespace MinecraftClient.Mapping
} }
else if (bucket.Contains(block)) else if (bucket.Contains(block))
{ {
return new ItemType[] return new ItemType[]
{ {
ItemType.Bucket, ItemType.Bucket,
}; };

View file

@ -16,7 +16,7 @@ using MinecraftClient.WinAPI;
namespace MinecraftClient namespace MinecraftClient
{ {
/// <summary> /// <summary>
/// Minecraft Console Client by the MCC Team (c) 2012-2021. /// Minecraft Console Client by the MCC Team (c) 2012-2022.
/// Allows to connect to any Minecraft server, send and receive text, automated scripts. /// Allows to connect to any Minecraft server, send and receive text, automated scripts.
/// This source code is released under the CDDL 1.0 License. /// This source code is released under the CDDL 1.0 License.
/// </summary> /// </summary>
@ -124,17 +124,19 @@ namespace MinecraftClient
{ {
if (!argument.Contains("=")) if (!argument.Contains("="))
throw new ArgumentException(Translations.Get("error.setting.argument_syntax", argument)); throw new ArgumentException(Translations.Get("error.setting.argument_syntax", argument));
string[] argParts = argument.Substring(2).Split('='); string[] argParts = argument.Substring(2).Split('=');
string argName = argParts[0].Trim(); string argName = argParts[0].Trim();
string argValue = argParts[1].Replace("\"", "").Trim(); string argValue = argParts[1].Replace("\"", "").Trim();
if(argName == "data-path") { if (argName == "data-path")
{
Console.WriteLine(dataPath); Console.WriteLine(dataPath);
dataPath = argValue; dataPath = argValue;
} }
if(argName == "data-generator") { if (argName == "data-generator")
{
dataGenerator = argValue; dataGenerator = argValue;
} }
} }
@ -143,24 +145,24 @@ namespace MinecraftClient
if (string.IsNullOrEmpty(dataGenerator) || !(dataGenerator.ToLower().Equals("entity") || dataGenerator.ToLower().Equals("item") || dataGenerator.ToLower().Equals("block"))) if (string.IsNullOrEmpty(dataGenerator) || !(dataGenerator.ToLower().Equals("entity") || dataGenerator.ToLower().Equals("item") || dataGenerator.ToLower().Equals("block")))
{ {
Console.WriteLine(Translations.Get("error.generator.invalid")); Console.WriteLine(Translations.Get("error.generator.invalid"));
Console.WriteLine(Translations.Get("error.usage") + " MinecraftClient.exe --data-generator=<entity|item|block>"); Console.WriteLine(Translations.Get("error.usage") + " MinecraftClient.exe --data-generator=<entity|item|block> --data-path=\"<path to resources.json>\"");
return; return;
} }
if (string.IsNullOrEmpty(dataPath)) if (string.IsNullOrEmpty(dataPath))
{ {
Console.WriteLine(Translations.Get("error.missing.argument", "--data-path")); Console.WriteLine(Translations.Get("error.missing.argument", "--data-path"));
Console.WriteLine(Translations.Get("error.usage") + " MinecraftClient.exe --generate-entity-pallete --data-path=\"<path to resources.json>\""); Console.WriteLine(Translations.Get("error.usage") + " MinecraftClient.exe --data-generator=<entity|item|block> --data-path=\"<path to resources.json>\"");
return; return;
} }
if(!File.Exists(dataPath)) if (!File.Exists(dataPath))
{ {
Console.WriteLine(Translations.Get("error.generator.path", dataPath)); Console.WriteLine(Translations.Get("error.generator.path", dataPath));
return; return;
} }
if(!dataPath.EndsWith(".json")) if (!dataPath.EndsWith(".json"))
{ {
Console.WriteLine(Translations.Get("error.generator.json", dataPath)); Console.WriteLine(Translations.Get("error.generator.json", dataPath));
return; return;
@ -170,16 +172,16 @@ namespace MinecraftClient
switch (dataGenerator) switch (dataGenerator)
{ {
case "entity": case "entity":
EntityPaletteGenerator.GenerateEntityTypes(dataPath); EntityPaletteGenerator.GenerateEntityTypes(dataPath);
break; break;
case "item": case "item":
ItemPaletteGenerator.GenerateItemType(dataPath); ItemPaletteGenerator.GenerateItemType(dataPath);
break; break;
case "block": case "block":
BlockPaletteGenerator.GenerateBlockPallete(dataPath); BlockPaletteGenerator.GenerateBlockPalette(dataPath);
break; break;
} }
@ -226,7 +228,7 @@ namespace MinecraftClient
Console.Write(ConsoleIO.BasicIO ? Translations.Get("mcc.login_basic_io") + "\n" : Translations.Get("mcc.login")); Console.Write(ConsoleIO.BasicIO ? Translations.Get("mcc.login_basic_io") + "\n" : Translations.Get("mcc.login"));
Settings.Login = Console.ReadLine(); Settings.Login = Console.ReadLine();
} }
if (Settings.Password == "" if (Settings.Password == ""
&& (Settings.SessionCaching == CacheType.None || !SessionCache.Contains(Settings.Login.ToLower())) && (Settings.SessionCaching == CacheType.None || !SessionCache.Contains(Settings.Login.ToLower()))
&& !useBrowser) && !useBrowser)
{ {
@ -234,14 +236,14 @@ namespace MinecraftClient
} }
// Setup exit cleaning code // Setup exit cleaning code
ExitCleanUp.Add(delegate () ExitCleanUp.Add(delegate ()
{ {
// Do NOT use Program.Exit() as creating new Thread cause program to freeze // Do NOT use Program.Exit() as creating new Thread cause program to freeze
if (client != null) { client.Disconnect(); ConsoleIO.Reset(); } if (client != null) { client.Disconnect(); ConsoleIO.Reset(); }
if (offlinePrompt != null) { offlinePrompt.Abort(); offlinePrompt = null; ConsoleIO.Reset(); } if (offlinePrompt != null) { offlinePrompt.Abort(); offlinePrompt = null; ConsoleIO.Reset(); }
if (Settings.playerHeadAsIcon) { ConsoleIcon.revertToMCCIcon(); } if (Settings.playerHeadAsIcon) { ConsoleIcon.revertToMCCIcon(); }
}); });
startupargs = args; startupargs = args;
InitializeClient(); InitializeClient();
@ -294,8 +296,8 @@ namespace MinecraftClient
{ {
result = ProtocolHandler.MicrosoftLoginRefresh(session.RefreshToken, out session); result = ProtocolHandler.MicrosoftLoginRefresh(session.RefreshToken, out session);
} }
if (result != ProtocolHandler.LoginResult.Success if (result != ProtocolHandler.LoginResult.Success
&& Settings.Password == "" && Settings.Password == ""
&& Settings.AccountType == ProtocolHandler.AccountType.Mojang) && Settings.AccountType == ProtocolHandler.AccountType.Mojang)
RequestPassword(); RequestPassword();
} }

File diff suppressed because it is too large Load diff

View file

@ -41,7 +41,8 @@ mcc.with_forge=, with Forge
mcc.handshake=§8Handshake successful. (Server ID: {0}) mcc.handshake=§8Handshake successful. (Server ID: {0})
mcc.realms_available=You have access to the following Realms worlds mcc.realms_available=You have access to the following Realms worlds
mcc.realms_join=Use realms:<index> as server IP to join a Realms world mcc.realms_join=Use realms:<index> as server IP to join a Realms world
mcc.generator.generating=Generating {0} palette using the dataset: {1}
mcc.generator.done=Succesfully generated {0} palette using the dataset: {1}
[debug] [debug]
# Messages from MCC Debug Mode # Messages from MCC Debug Mode
@ -92,6 +93,11 @@ error.realms.access_denied=This Realms world does not exist or access was denied
error.realms.server_unavailable=Realms server may require some time to start up. Please retry again later. error.realms.server_unavailable=Realms server may require some time to start up. Please retry again later.
error.realms.server_id=Invalid or unknown Realms server ID. error.realms.server_id=Invalid or unknown Realms server ID.
error.realms.disabled=Trying to join a Realms world but Realms support is disabled in config error.realms.disabled=Trying to join a Realms world but Realms support is disabled in config
error.missing.argument=You are missing argument {0}
error.usage=Usage:
error.generator.invalid=Invalid usage of the generator command!
error.generator.path=Invalid data path provided! (The path either does not exists or you have made a typo)
error.generator.json=The provided path must be a path to a file that is in .json format!
[internal command] [internal command]
# MCC internal help command # MCC internal help command