mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
* Implement MC version 1.16.2 basic support
All packets ID update done
Tested in 1.16.2 craftbukkit server
* Implement MC 1.16.2 entity handling
New EntityPalette
* Add back protocol version checking for entity handling
Was removed during testing and forgot to add it back
* Implement inventory handling for MC 1.16+
Item ID got changed in 1.16+ so a palette is needed.
* Fix ChangeSlot command
What a joke
* Handle 1.16 new entity properties name
Convert new naming style to old style
* Revert "Handle 1.16 new entity properties name"
This reverts commit 52c7d29062.
* Update AutoAttack to use the new entity properties key
* Fix item type to ID conversion
* Sort item types by name
* Remove ZombiePigmanSpawnEgg
User ZombifiedPiglinSpawnEgg instead (new name for same item)
* Add missing 1.16.2 version strings
* Remove old ItemTypeGenerator
* Sort entity types by name
* Palette loading, instructions, NotImplemented err
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
32 lines
857 B
C#
32 lines
857 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace MinecraftClient.Inventory.ItemPalettes
|
|
{
|
|
public abstract class ItemPalette
|
|
{
|
|
protected abstract Dictionary<int, ItemType> GetDict();
|
|
private readonly Dictionary<ItemType, int> DictReverse = new Dictionary<ItemType, int>();
|
|
|
|
public ItemPalette()
|
|
{
|
|
// Index reverse mappings for use in ToId()
|
|
foreach (KeyValuePair<int, ItemType> entry in GetDict())
|
|
DictReverse.Add(entry.Value, entry.Key);
|
|
}
|
|
|
|
public ItemType FromId(int id)
|
|
{
|
|
return GetDict()[id];
|
|
}
|
|
|
|
public int ToId(ItemType itemType)
|
|
{
|
|
if (itemType == ItemType.Null)
|
|
return -1;
|
|
return DictReverse[itemType];
|
|
}
|
|
}
|
|
}
|