Merge branch 'master' into bugfix

This commit is contained in:
BruceChen 2022-09-02 10:53:29 +08:00 committed by GitHub
commit 8ed2bc9d07
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 3642 additions and 675 deletions

View file

@ -23,6 +23,7 @@ jobs:
echo win-out-path=${{ env.project-path }}/bin/Release/${{ env.target-version }}/win-x64/publish/ >> $GITHUB_ENV
echo linux-out-path=${{ env.project-path }}/bin/Release/${{ env.target-version }}/linux-x64/publish/ >> $GITHUB_ENV
echo osx-out-path=${{ env.project-path }}/bin/Release/${{ env.target-version }}/osx-x64/publish/ >> $GITHUB_ENV
echo linux-arm64-out-path=${{ env.project-path }}/bin/Release/${{ env.target-version }}/linux-arm64/publish/ >> $GITHUB_ENV
- name: Setup .NET SDK
uses: actions/setup-dotnet@v2.1.0
@ -60,6 +61,13 @@ jobs:
run: zip -qq -r linux.zip *
working-directory: ${{ env.linux-out-path }}
- name: Build for ARM64 Linux
run: dotnet publish ${{ env.project-path }}.sln -f ${{ env.target-version }} -r linux-arm64 ${{ env.compile-flags }}
- name: Zip ARM64 Linux Build
run: zip -qq -r linux-arm64.zip *
working-directory: ${{ env.linux-arm64-out-path }}
- name: Build for OSX
run: dotnet publish ${{ env.project-path }}.sln -f ${{ env.target-version }} -r osx-x64 ${{ env.compile-flags }}
@ -92,6 +100,15 @@ jobs:
assetName: ${{ env.PROJECT }}-linux.zip
tag: ${{ format('{0}-{1}', steps.date-release.outputs.time, github.run_number) }}
- name: Linux ARM64 Release
uses: tix-factory/release-manager@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
mode: uploadReleaseAsset
filePath: ${{ env.linux-arm64-out-path }}linux-arm64.zip
assetName: ${{ env.PROJECT }}-linux-arm64.zip
tag: ${{ format('{0}-{1}', steps.date-release.outputs.time, github.run_number) }}
- name: OSX Release
uses: tix-factory/release-manager@v1
with:

View file

@ -335,7 +335,7 @@ namespace MinecraftClient.Inventory.ItemPalettes
mappings[319] = ItemType.AcaciaStairs;
mappings[320] = ItemType.DarkOakStairs;
mappings[321] = ItemType.SlimeBlock;
mappings[322] = ItemType.GrassPath;
mappings[322] = ItemType.DirtPath;
mappings[323] = ItemType.Sunflower;
mappings[324] = ItemType.Lilac;
mappings[325] = ItemType.RoseBush;

View file

@ -385,7 +385,7 @@ namespace MinecraftClient.Inventory.ItemPalettes
mappings[369] = ItemType.AcaciaStairs;
mappings[370] = ItemType.DarkOakStairs;
mappings[371] = ItemType.SlimeBlock;
mappings[372] = ItemType.GrassPath;
mappings[372] = ItemType.DirtPath;
mappings[373] = ItemType.Sunflower;
mappings[374] = ItemType.Lilac;
mappings[375] = ItemType.RoseBush;

View file

@ -385,7 +385,7 @@ namespace MinecraftClient.Inventory.ItemPalettes
mappings[369] = ItemType.AcaciaStairs;
mappings[370] = ItemType.DarkOakStairs;
mappings[371] = ItemType.SlimeBlock;
mappings[372] = ItemType.GrassPath;
mappings[372] = ItemType.DirtPath;
mappings[373] = ItemType.Sunflower;
mappings[374] = ItemType.Lilac;
mappings[375] = ItemType.RoseBush;

View file

@ -402,7 +402,7 @@ namespace MinecraftClient.Inventory.ItemPalettes
mappings[390] = ItemType.PackedIce;
mappings[391] = ItemType.AcaciaStairs;
mappings[392] = ItemType.DarkOakStairs;
mappings[393] = ItemType.GrassPath;
mappings[393] = ItemType.DirtPath;
mappings[394] = ItemType.Sunflower;
mappings[395] = ItemType.Lilac;
mappings[396] = ItemType.RoseBush;

View file

@ -402,7 +402,7 @@ namespace MinecraftClient.Inventory.ItemPalettes
mappings[390] = ItemType.PackedIce;
mappings[391] = ItemType.AcaciaStairs;
mappings[392] = ItemType.DarkOakStairs;
mappings[393] = ItemType.GrassPath;
mappings[393] = ItemType.DirtPath;
mappings[394] = ItemType.Sunflower;
mappings[395] = ItemType.Lilac;
mappings[396] = ItemType.RoseBush;

File diff suppressed because it is too large Load diff

View file

@ -1,11 +1,10 @@
namespace MinecraftClient.Inventory
{
/// <summary>
/// For MC version 1.16.2.
/// Generated using ItemPaletteGenerator.
/// Generated using the --generator flag on the client
/// Typical steps to handle new item IDs for newer Minecraft versions:
/// 1. Generate registries.json using data reporting on Vanilla Minecraft (https://wiki.vg/Data_Generators)
/// 2. Generate temporary ItemTypeXXX.cs and ItemPaletteXXX.cs using ItemPaletteGenerator.cs
/// 1. Generate registries.json using data reporting on Vanilla Minecraft (https://wiki.vg/Data_Generators) or download it from: https://github.com/PixiGeko/Minecraft-generated-data
/// 2. Generate temporary ItemTypeXXX.cs and ItemPaletteXXX.cs using the --generator flag on the client
/// 3. Perform a diff with existing versions, add missing entries in ItemType.cs and ItemTypeExtensions.cs
/// 4. If existing entity IDs were not randomized by Mojang, simply add missing entries to the latest existing ItemPaletteXXX.cs
/// 5. If existing entity IDs were randomized, add a new palette as ItemPaletteXXX.cs into the codebase
@ -14,9 +13,10 @@ namespace MinecraftClient.Inventory
{
Unknown = -2, // Unsupported item type (Forge mod custom item...)
Null = -1, // Unspecified item type (Used in the network protocol)
AcaciaBoat,
AcaciaButton,
AcaciaChestBoat,
AcaciaDoor,
AcaciaFence,
AcaciaFenceGate,
@ -32,6 +32,7 @@ namespace MinecraftClient.Inventory
AcaciaWood,
ActivatorRail,
Air,
AllaySpawnEgg,
Allium,
AmethystBlock,
AmethystCluster,
@ -69,6 +70,7 @@ namespace MinecraftClient.Inventory
BigDripleaf,
BirchBoat,
BirchButton,
BirchChestBoat,
BirchDoor,
BirchFence,
BirchFenceGate,
@ -279,6 +281,7 @@ namespace MinecraftClient.Inventory
Dandelion,
DarkOakBoat,
DarkOakButton,
DarkOakChestBoat,
DarkOakDoor,
DarkOakFence,
DarkOakFenceGate,
@ -349,6 +352,8 @@ namespace MinecraftClient.Inventory
DioriteStairs,
DioriteWall,
Dirt,
DirtPath,
DiscFragment5,
Dispenser,
DolphinSpawnEgg,
DonkeySpawnEgg,
@ -360,6 +365,7 @@ namespace MinecraftClient.Inventory
DripstoneBlock,
Dropper,
DrownedSpawnEgg,
EchoShard,
Egg,
ElderGuardianSpawnEgg,
Elytra,
@ -408,6 +414,8 @@ namespace MinecraftClient.Inventory
FloweringAzalea,
FloweringAzaleaLeaves,
FoxSpawnEgg,
FrogSpawnEgg,
Frogspawn,
Furnace,
FurnaceMinecart,
GhastSpawnEgg,
@ -425,6 +433,7 @@ namespace MinecraftClient.Inventory
GlowSquidSpawnEgg,
Glowstone,
GlowstoneDust,
GoatHorn,
GoatSpawnEgg,
GoldBlock,
GoldIngot,
@ -448,7 +457,6 @@ namespace MinecraftClient.Inventory
GraniteWall,
Grass,
GrassBlock,
GrassPath,
Gravel,
GrayBanner,
GrayBed,
@ -527,6 +535,7 @@ namespace MinecraftClient.Inventory
Jukebox,
JungleBoat,
JungleButton,
JungleChestBoat,
JungleDoor,
JungleFence,
JungleFenceGate,
@ -624,6 +633,23 @@ namespace MinecraftClient.Inventory
MagmaBlock,
MagmaCream,
MagmaCubeSpawnEgg,
MangroveBoat,
MangroveButton,
MangroveChestBoat,
MangroveDoor,
MangroveFence,
MangroveFenceGate,
MangroveLeaves,
MangroveLog,
MangrovePlanks,
MangrovePressurePlate,
MangrovePropagule,
MangroveRoots,
MangroveSign,
MangroveSlab,
MangroveStairs,
MangroveTrapdoor,
MangroveWood,
Map,
MediumAmethystBud,
Melon,
@ -643,11 +669,18 @@ namespace MinecraftClient.Inventory
MossyStoneBrickStairs,
MossyStoneBrickWall,
MossyStoneBricks,
Mud,
MudBrickSlab,
MudBrickStairs,
MudBrickWall,
MudBricks,
MuddyMangroveRoots,
MuleSpawnEgg,
MushroomStem,
MushroomStew,
MusicDisc11,
MusicDisc13,
MusicDisc5,
MusicDiscBlocks,
MusicDiscCat,
MusicDiscChirp,
@ -692,6 +725,7 @@ namespace MinecraftClient.Inventory
NoteBlock,
OakBoat,
OakButton,
OakChestBoat,
OakDoor,
OakFence,
OakFenceGate,
@ -708,6 +742,7 @@ namespace MinecraftClient.Inventory
Observer,
Obsidian,
OcelotSpawnEgg,
OchreFroglight,
OrangeBanner,
OrangeBed,
OrangeCandle,
@ -728,10 +763,12 @@ namespace MinecraftClient.Inventory
OxidizedCutCopperSlab,
OxidizedCutCopperStairs,
PackedIce,
PackedMud,
Painting,
PandaSpawnEgg,
Paper,
ParrotSpawnEgg,
PearlescentFroglight,
Peony,
PetrifiedOakSlab,
PhantomMembrane,
@ -843,6 +880,7 @@ namespace MinecraftClient.Inventory
RawGoldBlock,
RawIron,
RawIronBlock,
RecoveryCompass,
RedBanner,
RedBed,
RedCandle,
@ -873,6 +911,7 @@ namespace MinecraftClient.Inventory
RedstoneLamp,
RedstoneOre,
RedstoneTorch,
ReinforcedDeepslate,
Repeater,
RepeatingCommandBlock,
RespawnAnchor,
@ -889,7 +928,11 @@ namespace MinecraftClient.Inventory
SandstoneStairs,
SandstoneWall,
Scaffolding,
Sculk,
SculkCatalyst,
SculkSensor,
SculkShrieker,
SculkVein,
Scute,
SeaLantern,
SeaPickle,
@ -942,6 +985,7 @@ namespace MinecraftClient.Inventory
SporeBlossom,
SpruceBoat,
SpruceButton,
SpruceChestBoat,
SpruceDoor,
SpruceFence,
SpruceFenceGate,
@ -987,6 +1031,8 @@ namespace MinecraftClient.Inventory
StrippedDarkOakWood,
StrippedJungleLog,
StrippedJungleWood,
StrippedMangroveLog,
StrippedMangroveWood,
StrippedOakLog,
StrippedOakWood,
StrippedSpruceLog,
@ -1000,6 +1046,8 @@ namespace MinecraftClient.Inventory
Sunflower,
SuspiciousStew,
SweetBerries,
TadpoleBucket,
TadpoleSpawnEgg,
TallGrass,
Target,
Terracotta,
@ -1024,11 +1072,13 @@ namespace MinecraftClient.Inventory
TurtleHelmet,
TurtleSpawnEgg,
TwistingVines,
VerdantFroglight,
VexSpawnEgg,
VillagerSpawnEgg,
VindicatorSpawnEgg,
Vine,
WanderingTraderSpawnEgg,
WardenSpawnEgg,
WarpedButton,
WarpedDoor,
WarpedFence,

View file

@ -760,7 +760,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
materials[8158] = Material.EndStoneBricks;
for (int i = 8159; i <= 8162; i++)
materials[i] = Material.Beetroots;
materials[8163] = Material.GrassPath;
materials[8163] = Material.DirtPath;
materials[8164] = Material.EndGateway;
for (int i = 8165; i <= 8176; i++)
materials[i] = Material.RepeatingCommandBlock;

View file

@ -792,7 +792,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
materials[8682] = Material.EndStoneBricks;
for (int i = 8683; i <= 8686; i++)
materials[i] = Material.Beetroots;
materials[8687] = Material.GrassPath;
materials[8687] = Material.DirtPath;
materials[8688] = Material.EndGateway;
for (int i = 8689; i <= 8700; i++)
materials[i] = Material.RepeatingCommandBlock;

View file

@ -792,7 +792,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
materials[8682] = Material.EndStoneBricks;
for (int i = 8683; i <= 8686; i++)
materials[i] = Material.Beetroots;
materials[8687] = Material.GrassPath;
materials[8687] = Material.DirtPath;
materials[8688] = Material.EndGateway;
for (int i = 8689; i <= 8700; i++)
materials[i] = Material.RepeatingCommandBlock;

View file

@ -800,7 +800,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
materials[9222] = Material.EndStoneBricks;
for (int i = 9223; i <= 9226; i++)
materials[i] = Material.Beetroots;
materials[9227] = Material.GrassPath;
materials[9227] = Material.DirtPath;
materials[9228] = Material.EndGateway;
for (int i = 9229; i <= 9240; i++)
materials[i] = Material.RepeatingCommandBlock;

View file

@ -820,7 +820,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
materials[9468] = Material.EndStoneBricks;
for (int i = 9469; i <= 9472; i++)
materials[i] = Material.Beetroots;
materials[9473] = Material.GrassPath;
materials[9473] = Material.DirtPath;
materials[9474] = Material.EndGateway;
for (int i = 9475; i <= 9486; i++)
materials[i] = Material.RepeatingCommandBlock;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,137 @@
using System;
using System.Collections.Generic;
namespace MinecraftClient.Mapping.EntityPalettes
{
public class EntityPalette119 : EntityPalette
{
private static Dictionary<int, EntityType> mappings = new Dictionary<int, EntityType>();
static EntityPalette119()
{
mappings[0] = EntityType.Allay;
mappings[1] = EntityType.AreaEffectCloud;
mappings[2] = EntityType.ArmorStand;
mappings[3] = EntityType.Arrow;
mappings[4] = EntityType.Axolotl;
mappings[5] = EntityType.Bat;
mappings[6] = EntityType.Bee;
mappings[7] = EntityType.Blaze;
mappings[8] = EntityType.Boat;
mappings[10] = EntityType.Cat;
mappings[11] = EntityType.CaveSpider;
mappings[9] = EntityType.ChestBoat;
mappings[54] = EntityType.ChestMinecart;
mappings[12] = EntityType.Chicken;
mappings[13] = EntityType.Cod;
mappings[55] = EntityType.CommandBlockMinecart;
mappings[14] = EntityType.Cow;
mappings[15] = EntityType.Creeper;
mappings[16] = EntityType.Dolphin;
mappings[17] = EntityType.Donkey;
mappings[18] = EntityType.DragonFireball;
mappings[19] = EntityType.Drowned;
mappings[93] = EntityType.Egg;
mappings[20] = EntityType.ElderGuardian;
mappings[21] = EntityType.EndCrystal;
mappings[22] = EntityType.EnderDragon;
mappings[94] = EntityType.EnderPearl;
mappings[23] = EntityType.Enderman;
mappings[24] = EntityType.Endermite;
mappings[25] = EntityType.Evoker;
mappings[26] = EntityType.EvokerFangs;
mappings[95] = EntityType.ExperienceBottle;
mappings[27] = EntityType.ExperienceOrb;
mappings[28] = EntityType.EyeOfEnder;
mappings[29] = EntityType.FallingBlock;
mappings[46] = EntityType.Fireball;
mappings[30] = EntityType.FireworkRocket;
mappings[117] = EntityType.FishingBobber;
mappings[31] = EntityType.Fox;
mappings[32] = EntityType.Frog;
mappings[56] = EntityType.FurnaceMinecart;
mappings[33] = EntityType.Ghast;
mappings[34] = EntityType.Giant;
mappings[35] = EntityType.GlowItemFrame;
mappings[36] = EntityType.GlowSquid;
mappings[37] = EntityType.Goat;
mappings[38] = EntityType.Guardian;
mappings[39] = EntityType.Hoglin;
mappings[57] = EntityType.HopperMinecart;
mappings[40] = EntityType.Horse;
mappings[41] = EntityType.Husk;
mappings[42] = EntityType.Illusioner;
mappings[43] = EntityType.IronGolem;
mappings[44] = EntityType.Item;
mappings[45] = EntityType.ItemFrame;
mappings[47] = EntityType.LeashKnot;
mappings[48] = EntityType.LightningBolt;
mappings[49] = EntityType.Llama;
mappings[50] = EntityType.LlamaSpit;
mappings[51] = EntityType.MagmaCube;
mappings[52] = EntityType.Marker;
mappings[53] = EntityType.Minecart;
mappings[61] = EntityType.Mooshroom;
mappings[60] = EntityType.Mule;
mappings[62] = EntityType.Ocelot;
mappings[63] = EntityType.Painting;
mappings[64] = EntityType.Panda;
mappings[65] = EntityType.Parrot;
mappings[66] = EntityType.Phantom;
mappings[67] = EntityType.Pig;
mappings[68] = EntityType.Piglin;
mappings[69] = EntityType.PiglinBrute;
mappings[70] = EntityType.Pillager;
mappings[116] = EntityType.Player;
mappings[71] = EntityType.PolarBear;
mappings[96] = EntityType.Potion;
mappings[73] = EntityType.Pufferfish;
mappings[74] = EntityType.Rabbit;
mappings[75] = EntityType.Ravager;
mappings[76] = EntityType.Salmon;
mappings[77] = EntityType.Sheep;
mappings[78] = EntityType.Shulker;
mappings[79] = EntityType.ShulkerBullet;
mappings[80] = EntityType.Silverfish;
mappings[81] = EntityType.Skeleton;
mappings[82] = EntityType.SkeletonHorse;
mappings[83] = EntityType.Slime;
mappings[84] = EntityType.SmallFireball;
mappings[85] = EntityType.SnowGolem;
mappings[86] = EntityType.Snowball;
mappings[58] = EntityType.SpawnerMinecart;
mappings[87] = EntityType.SpectralArrow;
mappings[88] = EntityType.Spider;
mappings[89] = EntityType.Squid;
mappings[90] = EntityType.Stray;
mappings[91] = EntityType.Strider;
mappings[92] = EntityType.Tadpole;
mappings[72] = EntityType.Tnt;
mappings[59] = EntityType.TntMinecart;
mappings[98] = EntityType.TraderLlama;
mappings[97] = EntityType.Trident;
mappings[99] = EntityType.TropicalFish;
mappings[100] = EntityType.Turtle;
mappings[101] = EntityType.Vex;
mappings[102] = EntityType.Villager;
mappings[103] = EntityType.Vindicator;
mappings[104] = EntityType.WanderingTrader;
mappings[105] = EntityType.Warden;
mappings[106] = EntityType.Witch;
mappings[107] = EntityType.Wither;
mappings[108] = EntityType.WitherSkeleton;
mappings[109] = EntityType.WitherSkull;
mappings[110] = EntityType.Wolf;
mappings[111] = EntityType.Zoglin;
mappings[112] = EntityType.Zombie;
mappings[113] = EntityType.ZombieHorse;
mappings[114] = EntityType.ZombieVillager;
mappings[115] = EntityType.ZombifiedPiglin;
}
protected override Dictionary<int, EntityType> GetDict()
{
return mappings;
}
}
}

View file

@ -4,16 +4,17 @@ namespace MinecraftClient.Mapping
/// Represents Minecraft Entity Types
/// </summary>
/// <remarks>
/// Generated from registries.json using EntityPaletteGenerator.cs.
/// Generated from registries.json using the --generator flag on the client
/// Typical steps to handle new entity IDs for newer Minecraft versions:
/// 1. Generate registries.json using data reporting on Vanilla Minecraft (https://wiki.vg/Data_Generators)
/// 2. Generate temporary EntityTypeXXX.cs and EntityPaletteXXX.cs using EntityPaletteGenerator.cs
/// 1. Generate registries.json using data reporting on Vanilla Minecraft (https://wiki.vg/Data_Generators) or download it from: https://github.com/PixiGeko/Minecraft-generated-data
/// 2. Generate temporary EntityTypeXXX.cs and EntityPaletteXXX.cs using the --generator flag on the client
/// 3. Perform a diff with existing versions, add missing entries in EntityType.cs and EntityTypeExtensions.cs
/// 4. If existing entity IDs were not randomized by Mojang, simply add missing entries to the latest existing EntityPaletteXXX.cs
/// 5. If existing entity IDs were randomized, add a new palette as EntityPaletteXXX.cs into the codebase (worst case)
/// </remarks>
public enum EntityType
{
Allay,
AreaEffectCloud,
ArmorStand,
Arrow,
@ -24,6 +25,7 @@ namespace MinecraftClient.Mapping
Boat,
Cat,
CaveSpider,
ChestBoat,
ChestMinecart,
Chicken,
Cod,
@ -38,9 +40,9 @@ namespace MinecraftClient.Mapping
ElderGuardian,
EndCrystal,
EnderDragon,
EnderPearl,
Enderman,
Endermite,
EnderPearl,
Evoker,
EvokerFangs,
ExperienceBottle,
@ -51,6 +53,7 @@ namespace MinecraftClient.Mapping
FireworkRocket,
FishingBobber,
Fox,
Frog,
FurnaceMinecart,
Ghast,
Giant,
@ -99,14 +102,15 @@ namespace MinecraftClient.Mapping
SkeletonHorse,
Slime,
SmallFireball,
Snowball,
SnowGolem,
Snowball,
SpawnerMinecart,
SpectralArrow,
Spider,
Squid,
Stray,
Strider,
Tadpole,
Tnt,
TntMinecart,
TraderLlama,
@ -117,6 +121,7 @@ namespace MinecraftClient.Mapping
Villager,
Vindicator,
WanderingTrader,
Warden,
Witch,
Wither,
WitherSkeleton,

View file

@ -4,10 +4,10 @@
/// Represents Minecraft Materials
/// </summary>
/// <remarks>
/// Generated from blocks.json using BlockPaletteGenerator.cs.
/// Generated from blocks.json using the --generator flag on the client
/// Typical steps to handle new blocks for newer Minecraft versions:
/// 1. Generate blocks.json using data reporting on Vanilla Minecraft (https://wiki.vg/Data_Generators)
/// 2. Generate temporary MaterialXXX.cs and PaletteXXX.cs using BlockPaletteGenerator.cs
/// 1. Generate blocks.json using data reporting on Vanilla Minecraft (https://wiki.vg/Data_Generators) or download it from: https://github.com/PixiGeko/Minecraft-generated-data
/// 2. Generate temporary MaterialXXX.cs and PaletteXXX.cs using the --generator flag on the client
/// 3. Perform a diff with existing versions, add missing entries in Material.cs and MaterialExtensions.cs
/// 4. If existing state IDs were not randomized by Mojang, simply add missing state entries to Palette113.cs
/// 5. If existing state IDs were randomized, add a new palette as PaletteXXX.cs into the codebase (worst case)
@ -52,8 +52,8 @@
Basalt,
Beacon,
Bedrock,
Beehive,
BeeNest,
Beehive,
Beetroots,
Bell,
BigDripleaf,
@ -84,13 +84,13 @@
BlackShulkerBox,
BlackStainedGlass,
BlackStainedGlassPane,
BlackTerracotta,
BlackWallBanner,
BlackWool,
Blackstone,
BlackstoneSlab,
BlackstoneStairs,
BlackstoneWall,
BlackTerracotta,
BlackWallBanner,
BlackWool,
BlastFurnace,
BlueBanner,
BlueBed,
@ -115,10 +115,10 @@
BrainCoralFan,
BrainCoralWallFan,
BrewingStand,
Bricks,
BrickSlab,
BrickStairs,
BrickWall,
Bricks,
BrownBanner,
BrownBed,
BrownCandle,
@ -277,10 +277,10 @@
DeadTubeCoralFan,
DeadTubeCoralWallFan,
Deepslate,
DeepslateBricks,
DeepslateBrickSlab,
DeepslateBrickStairs,
DeepslateBrickWall,
DeepslateBricks,
DeepslateCoalOre,
DeepslateCopperOre,
DeepslateDiamondOre,
@ -289,10 +289,10 @@
DeepslateIronOre,
DeepslateLapisOre,
DeepslateRedstoneOre,
DeepslateTiles,
DeepslateTileSlab,
DeepslateTileStairs,
DeepslateTileWall,
DeepslateTiles,
DetectorRail,
DiamondBlock,
DiamondOre,
@ -301,6 +301,7 @@
DioriteStairs,
DioriteWall,
Dirt,
DirtPath,
Dispenser,
DragonEgg,
DragonHead,
@ -311,16 +312,16 @@
EmeraldBlock,
EmeraldOre,
EnchantingTable,
EnderChest,
EndGateway,
EndPortal,
EndPortalFrame,
EndRod,
EndStone,
EndStoneBricks,
EndStoneBrickSlab,
EndStoneBrickStairs,
EndStoneBrickWall,
EndStoneBricks,
EnderChest,
ExposedCopper,
ExposedCutCopper,
ExposedCutCopperSlab,
@ -333,9 +334,10 @@
FireCoralFan,
FireCoralWallFan,
FletchingTable,
FlowerPot,
FloweringAzalea,
FloweringAzaleaLeaves,
FlowerPot,
Frogspawn,
FrostedIce,
Furnace,
GildedBlackstone,
@ -351,7 +353,6 @@
GraniteWall,
Grass,
GrassBlock,
GrassPath,
Gravel,
GrayBanner,
GrayBed,
@ -464,8 +465,8 @@
LightGrayTerracotta,
LightGrayWallBanner,
LightGrayWool,
LightningRod,
LightWeightedPressurePlate,
LightningRod,
Lilac,
LilyOfTheValley,
LilyPad,
@ -500,6 +501,22 @@
MagentaWallBanner,
MagentaWool,
MagmaBlock,
MangroveButton,
MangroveDoor,
MangroveFence,
MangroveFenceGate,
MangroveLeaves,
MangroveLog,
MangrovePlanks,
MangrovePressurePlate,
MangrovePropagule,
MangroveRoots,
MangroveSign,
MangroveSlab,
MangroveStairs,
MangroveTrapdoor,
MangroveWallSign,
MangroveWood,
MediumAmethystBud,
Melon,
MelonStem,
@ -509,26 +526,32 @@
MossyCobblestoneSlab,
MossyCobblestoneStairs,
MossyCobblestoneWall,
MossyStoneBricks,
MossyStoneBrickSlab,
MossyStoneBrickStairs,
MossyStoneBrickWall,
MossyStoneBricks,
MovingPiston,
Mud,
MudBrickSlab,
MudBrickStairs,
MudBrickWall,
MudBricks,
MuddyMangroveRoots,
MushroomStem,
Mycelium,
NetherBrickFence,
NetherBricks,
NetherBrickSlab,
NetherBrickStairs,
NetherBrickWall,
NetherBricks,
NetherGoldOre,
NetheriteBlock,
NetherPortal,
NetherQuartzOre,
Netherrack,
NetherSprouts,
NetherWart,
NetherWartBlock,
NetheriteBlock,
Netherrack,
NoteBlock,
OakButton,
OakDoor,
@ -547,6 +570,7 @@
OakWood,
Observer,
Obsidian,
OchreFroglight,
OrangeBanner,
OrangeBed,
OrangeCandle,
@ -568,6 +592,8 @@
OxidizedCutCopperSlab,
OxidizedCutCopperStairs,
PackedIce,
PackedMud,
PearlescentFroglight,
Peony,
PetrifiedOakSlab,
PinkBanner,
@ -596,10 +622,10 @@
PolishedAndesiteStairs,
PolishedBasalt,
PolishedBlackstone,
PolishedBlackstoneBricks,
PolishedBlackstoneBrickSlab,
PolishedBlackstoneBrickStairs,
PolishedBlackstoneBrickWall,
PolishedBlackstoneBricks,
PolishedBlackstoneButton,
PolishedBlackstonePressurePlate,
PolishedBlackstoneSlab,
@ -636,6 +662,7 @@
PottedFloweringAzaleaBush,
PottedJungleSapling,
PottedLilyOfTheValley,
PottedMangrovePropagule,
PottedOakSapling,
PottedOrangeTulip,
PottedOxeyeDaisy,
@ -652,9 +679,9 @@
PowderSnowCauldron,
PoweredRail,
Prismarine,
PrismarineBricks,
PrismarineBrickSlab,
PrismarineBrickStairs,
PrismarineBricks,
PrismarineSlab,
PrismarineStairs,
PrismarineWall,
@ -697,10 +724,10 @@
RedGlazedTerracotta,
RedMushroom,
RedMushroomBlock,
RedNetherBricks,
RedNetherBrickSlab,
RedNetherBrickStairs,
RedNetherBrickWall,
RedNetherBricks,
RedSand,
RedSandstone,
RedSandstoneSlab,
@ -709,16 +736,17 @@
RedShulkerBox,
RedStainedGlass,
RedStainedGlassPane,
RedTerracotta,
RedTulip,
RedWallBanner,
RedWool,
RedstoneBlock,
RedstoneLamp,
RedstoneOre,
RedstoneTorch,
RedstoneWallTorch,
RedstoneWire,
RedTerracotta,
RedTulip,
RedWallBanner,
RedWool,
ReinforcedDeepslate,
Repeater,
RepeatingCommandBlock,
RespawnAnchor,
@ -730,10 +758,14 @@
SandstoneStairs,
SandstoneWall,
Scaffolding,
Sculk,
SculkCatalyst,
SculkSensor,
Seagrass,
SculkShrieker,
SculkVein,
SeaLantern,
SeaPickle,
Seagrass,
Shroomlight,
ShulkerBox,
SkeletonSkull,
@ -784,15 +816,15 @@
SpruceWood,
StickyPiston,
Stone,
StoneBricks,
StoneBrickSlab,
StoneBrickStairs,
StoneBrickWall,
StoneBricks,
StoneButton,
Stonecutter,
StonePressurePlate,
StoneSlab,
StoneStairs,
Stonecutter,
StrippedAcaciaLog,
StrippedAcaciaWood,
StrippedBirchLog,
@ -803,6 +835,8 @@
StrippedDarkOakWood,
StrippedJungleLog,
StrippedJungleWood,
StrippedMangroveLog,
StrippedMangroveWood,
StrippedOakLog,
StrippedOakWood,
StrippedSpruceLog,
@ -832,6 +866,7 @@
TurtleEgg,
TwistingVines,
TwistingVinesPlant,
VerdantFroglight,
Vine,
VoidAir,
WallTorch,

View file

@ -367,7 +367,7 @@ namespace MinecraftClient.Mapping
Material.Farmland,
Material.Grass,
Material.GrassBlock,
Material.GrassPath,
Material.DirtPath,
Material.Gravel,
Material.GrayConcretePowder,
Material.GreenConcretePowder,

File diff suppressed because it is too large Load diff

View file

@ -459,13 +459,13 @@ namespace MinecraftClient.Protocol.Handlers
Double entityX = ReadNextDouble(cache);
Double entityY = ReadNextDouble(cache);
Double entityZ = ReadNextDouble(cache);
byte entityYaw = ReadNextByte(cache);
byte entityPitch = ReadNextByte(cache);
byte entityYaw = ReadNextByte(cache);
int metadata = -1;
if (living)
{
if (protocolversion >= Protocol18Handler.MC_1_18_2_Version)
if (protocolversion == Protocol18Handler.MC_1_18_2_Version)
entityYaw = ReadNextByte(cache);
else
entityPitch = ReadNextByte(cache);
@ -474,15 +474,17 @@ namespace MinecraftClient.Protocol.Handlers
{
if (protocolversion >= Protocol18Handler.MC_1_19_Version)
{
metadata = ReadNextVarInt(cache);
entityYaw = ReadNextByte(cache);
metadata = ReadNextVarInt(cache);
}
else
metadata = ReadNextInt(cache);
}
short velocityX = ReadNextShort(cache);
short velocityY = ReadNextShort(cache);
short velocityZ = ReadNextShort(cache);
return new Entity(entityID, entityType, new Location(entityX, entityY, entityZ), entityYaw, entityPitch, metadata);
}

View file

@ -25,7 +25,7 @@ using System.Collections.Concurrent;
namespace MinecraftClient.Protocol.Handlers
{
/// <summary>
/// Implementation for Minecraft 1.7.X+ Protocols
/// Implementation for Minecraft 1.8.X+ Protocols
/// </summary>
/// <remarks>
/// Typical update steps for implementing protocol changes for a new Minecraft version:
@ -116,47 +116,56 @@ namespace MinecraftClient.Protocol.Handlers
// Block palette
if (protocolVersion >= MC_1_13_Version)
{
if (protocolVersion > MC_1_18_2_Version && handler.GetTerrainEnabled())
if (protocolVersion > MC_1_19_Version && handler.GetTerrainEnabled())
throw new NotImplementedException(Translations.Get("exception.palette.block"));
if (protocolVersion >= MC_1_17_Version)
if (protocolVersion == MC_1_19_Version)
Block.Palette = new Palette119();
else if (protocolVersion >= MC_1_17_Version)
Block.Palette = new Palette117();
else if (protocolVersion >= MC_1_16_Version)
if (protocolVersion >= MC_1_16_Version)
Block.Palette = new Palette116();
else if (protocolVersion >= MC_1_15_Version)
Block.Palette = new Palette115();
else if (protocolVersion >= MC_1_14_Version)
Block.Palette = new Palette114();
else Block.Palette = new Palette113();
Block.Palette = new Palette116();
else if (protocolVersion >= MC_1_15_Version)
Block.Palette = new Palette115();
else if (protocolVersion >= MC_1_14_Version)
Block.Palette = new Palette114();
else Block.Palette = new Palette113();
}
else Block.Palette = new Palette112();
// Entity palette
if (protocolVersion >= MC_1_13_Version)
{
if (protocolVersion > MC_1_18_2_Version && handler.GetEntityHandlingEnabled())
if (protocolVersion > MC_1_19_Version && handler.GetEntityHandlingEnabled())
throw new NotImplementedException(Translations.Get("exception.palette.entity"));
if (protocolVersion >= MC_1_17_Version)
if (protocolVersion == MC_1_19_Version)
entityPalette = new EntityPalette119();
else if (protocolVersion >= MC_1_17_Version)
entityPalette = new EntityPalette117();
else if (protocolVersion >= MC_1_16_2_Version)
if (protocolVersion >= MC_1_16_2_Version)
entityPalette = new EntityPalette1162();
else if (protocolVersion >= MC_1_16_Version)
entityPalette = new EntityPalette1161();
else if (protocolVersion >= MC_1_15_Version)
entityPalette = new EntityPalette115();
else if (protocolVersion >= MC_1_14_Version)
entityPalette = new EntityPalette114();
else entityPalette = new EntityPalette113();
entityPalette = new EntityPalette1162();
else if (protocolVersion >= MC_1_16_Version)
entityPalette = new EntityPalette1161();
else if (protocolVersion >= MC_1_15_Version)
entityPalette = new EntityPalette115();
else if (protocolVersion >= MC_1_14_Version)
entityPalette = new EntityPalette114();
else
entityPalette = new EntityPalette113();
}
else entityPalette = new EntityPalette112();
// Item palette
if (protocolVersion >= MC_1_16_2_Version)
{
if (protocolVersion > MC_1_18_2_Version && handler.GetInventoryEnabled())
if (protocolVersion > MC_1_19_Version && handler.GetInventoryEnabled())
throw new NotImplementedException(Translations.Get("exception.palette.item"));
if (protocolVersion >= MC_1_18_1_Version)
if (protocolVersion == MC_1_19_Version)
itemPalette = new ItemPalette119();
else if (protocolVersion >= MC_1_18_1_Version)
itemPalette = new ItemPalette118();
else if (protocolVersion >= MC_1_17_Version)
itemPalette = new ItemPalette117();
@ -1317,7 +1326,7 @@ namespace MinecraftClient.Protocol.Handlers
healthField = 8; // 1.14 and above
if (protocolVersion >= MC_1_17_Version)
healthField = 9; // 1.17 and above
if (protocolVersion > MC_1_18_2_Version)
if (protocolVersion > MC_1_19_Version)
throw new NotImplementedException(Translations.Get("exception.palette.healthfield"));
if (metadata.ContainsKey(healthField) && metadata[healthField] != null && metadata[healthField].GetType() == typeof(float))
@ -1796,7 +1805,7 @@ namespace MinecraftClient.Protocol.Handlers
/// Ping a Minecraft server to get information about the server
/// </summary>
/// <returns>True if ping was successful</returns>
public static bool doPing(string host, int port, ref int protocolversion, ref ForgeInfo? forgeInfo)
public static bool doPing(string host, int port, ref int protocolVersion, ref ForgeInfo? forgeInfo)
{
string version = "";
TcpClient tcp = ProxyHandler.newTcpClient(host, port);
@ -1848,12 +1857,12 @@ namespace MinecraftClient.Protocol.Handlers
//Retrieve protocol version number for handling this server
if (versionData.Properties.ContainsKey("protocol"))
protocolversion = int.Parse(versionData.Properties["protocol"].StringValue);
protocolVersion = int.Parse(versionData.Properties["protocol"].StringValue);
// Check for forge on the server.
Protocol18Forge.ServerInfoCheckForge(jsonData, ref forgeInfo);
ConsoleIO.WriteLineFormatted(Translations.Get("mcc.server_protocol", version, protocolversion + (forgeInfo != null ? Translations.Get("mcc.with_forge") : "")));
ConsoleIO.WriteLineFormatted(Translations.Get("mcc.server_protocol", version, protocolVersion + (forgeInfo != null ? Translations.Get("mcc.with_forge") : "")));
return true;
}