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,

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>
@ -129,12 +129,14 @@ namespace MinecraftClient
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,14 +145,14 @@ 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;
} }
@ -179,7 +181,7 @@ namespace MinecraftClient
break; break;
case "block": case "block":
BlockPaletteGenerator.GenerateBlockPallete(dataPath); BlockPaletteGenerator.GenerateBlockPalette(dataPath);
break; break;
} }

View file

@ -88,19 +88,19 @@ namespace MinecraftClient.Protocol.Handlers
this.packetPalette = new PacketTypeHandler(protocolVersion, forgeInfo != null).GetTypeHandler(); this.packetPalette = new PacketTypeHandler(protocolVersion, forgeInfo != null).GetTypeHandler();
this.log = handler.GetLogger(); this.log = handler.GetLogger();
if (handler.GetTerrainEnabled() && protocolversion > MC1181Version) if (handler.GetTerrainEnabled() && protocolversion > MC1182Version)
{ {
log.Error(Translations.Get("extra.terrainandmovement_disabled")); log.Error(Translations.Get("extra.terrainandmovement_disabled"));
handler.SetTerrainEnabled(false); handler.SetTerrainEnabled(false);
} }
if (handler.GetInventoryEnabled() && (protocolversion < MC110Version || protocolversion > MC1181Version)) if (handler.GetInventoryEnabled() && (protocolversion < MC110Version || protocolversion > MC1182Version))
{ {
log.Error(Translations.Get("extra.inventory_disabled")); log.Error(Translations.Get("extra.inventory_disabled"));
handler.SetInventoryEnabled(false); handler.SetInventoryEnabled(false);
} }
if (handler.GetEntityHandlingEnabled() && (protocolversion < MC110Version || protocolversion > MC1181Version)) if (handler.GetEntityHandlingEnabled() && (protocolversion < MC110Version || protocolversion > MC1182Version))
{ {
log.Error(Translations.Get("extra.entity_disabled")); log.Error(Translations.Get("extra.entity_disabled"));
handler.SetEntityHandlingEnabled(false); handler.SetEntityHandlingEnabled(false);
@ -109,9 +109,9 @@ namespace MinecraftClient.Protocol.Handlers
// Block palette // Block palette
if (protocolversion >= MC113Version) if (protocolversion >= MC113Version)
{ {
if (protocolVersion > MC1181Version && handler.GetTerrainEnabled()) if (protocolVersion > MC1182Version && handler.GetTerrainEnabled())
throw new NotImplementedException(Translations.Get("exception.palette.block")); throw new NotImplementedException(Translations.Get("exception.palette.block"));
if (protocolVersion == MC1181Version) if (protocolVersion >= MC1181Version)
Block.Palette = new Palette117(); Block.Palette = new Palette117();
else if (protocolVersion >= MC116Version) else if (protocolVersion >= MC116Version)
Block.Palette = new Palette116(); Block.Palette = new Palette116();
@ -126,7 +126,7 @@ namespace MinecraftClient.Protocol.Handlers
// Entity palette // Entity palette
if (protocolversion >= MC113Version) if (protocolversion >= MC113Version)
{ {
if (protocolversion > MC1181Version && handler.GetEntityHandlingEnabled()) if (protocolversion > MC1182Version && handler.GetEntityHandlingEnabled())
throw new NotImplementedException(Translations.Get("exception.palette.entity")); throw new NotImplementedException(Translations.Get("exception.palette.entity"));
if (protocolversion >= MC117Version) if (protocolversion >= MC117Version)
entityPalette = new EntityPalette117(); entityPalette = new EntityPalette117();
@ -145,9 +145,9 @@ namespace MinecraftClient.Protocol.Handlers
// Item palette // Item palette
if (protocolversion >= MC1162Version) if (protocolversion >= MC1162Version)
{ {
if (protocolversion > MC1181Version && handler.GetInventoryEnabled()) if (protocolversion > MC1182Version && handler.GetInventoryEnabled())
throw new NotImplementedException(Translations.Get("exception.palette.item")); throw new NotImplementedException(Translations.Get("exception.palette.item"));
if (protocolversion == MC1181Version) if (protocolversion >= MC1181Version)
itemPalette = new ItemPalette118(); itemPalette = new ItemPalette118();
else if (protocolversion >= MC117Version) else if (protocolversion >= MC117Version)
itemPalette = new ItemPalette117(); itemPalette = new ItemPalette117();
@ -444,7 +444,8 @@ namespace MinecraftClient.Protocol.Handlers
int compressedDataSize = dataTypes.ReadNextInt(packetData); int compressedDataSize = dataTypes.ReadNextInt(packetData);
byte[] compressed = dataTypes.ReadData(compressedDataSize, packetData); byte[] compressed = dataTypes.ReadData(compressedDataSize, packetData);
byte[] decompressed = ZlibUtils.Decompress(compressed); byte[] decompressed = ZlibUtils.Decompress(compressed);
new Task(() => { new Task(() =>
{
pTerrain.ProcessChunkColumnData(chunkX, chunkZ, chunkMask, addBitmap, currentDimension == 0, chunksContinuous, currentDimension, new Queue<byte>(decompressed)); pTerrain.ProcessChunkColumnData(chunkX, chunkZ, chunkMask, addBitmap, currentDimension == 0, chunksContinuous, currentDimension, new Queue<byte>(decompressed));
}).Start(); }).Start();
} }
@ -470,7 +471,8 @@ namespace MinecraftClient.Protocol.Handlers
else dataTypes.ReadData(1024 * 4, packetData); // Biomes - 1.15 and above else dataTypes.ReadData(1024 * 4, packetData); // Biomes - 1.15 and above
} }
int dataSize = dataTypes.ReadNextVarInt(packetData); int dataSize = dataTypes.ReadNextVarInt(packetData);
new Task(() => { new Task(() =>
{
pTerrain.ProcessChunkColumnData(chunkX, chunkZ, chunkMask, 0, false, chunksContinuous, currentDimension, packetData); pTerrain.ProcessChunkColumnData(chunkX, chunkZ, chunkMask, 0, false, chunksContinuous, currentDimension, packetData);
}).Start(); }).Start();
} }

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