Implement entity types (#1001)

Implement palette generation and investigate palette changes between
versions. Turns out 1.13- has legacy IDs, 1.14 switches to entity
palette and 1.15 refreshes the whole palette just to insert Bee.

Also refactor entity handling code here and there.
This commit is contained in:
ORelio 2020-05-24 18:21:22 +02:00
parent 5b0b0c9cc3
commit bd85c46663
27 changed files with 1113 additions and 259 deletions

View file

@ -5,7 +5,7 @@ using System.Text;
namespace MinecraftClient.Mapping.BlockPalettes
{
public abstract class BlockPaletteMapping
public abstract class BlockPalette
{
/// <summary>
/// Get mapping dictionary. Must be overriden with proper implementation.

View file

@ -9,7 +9,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
/// Some blocks previously had different IDs depending on state, they have been merged here
/// Comments correspond to changed material names since previous MCC versions
/// </summary>
public class Palette112 : BlockPaletteMapping
public class Palette112 : BlockPalette
{
private static Dictionary<int, Material> materials = new Dictionary<int, Material>()
{

View file

@ -7,7 +7,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
/// Defines mappings for Minecraft 1.13.
/// Automatically generated using BlockPaletteGenerator.cs
/// </summary>
public class Palette113 : BlockPaletteMapping
public class Palette113 : BlockPalette
{
private static Dictionary<int, Material> materials = new Dictionary<int, Material>();

View file

@ -7,7 +7,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
/// Defines mappings for Minecraft 1.14.
/// Automatically generated using BlockPaletteGenerator.cs
/// </summary>
public class Palette114 : BlockPaletteMapping
public class Palette114 : BlockPalette
{
private static Dictionary<int, Material> materials = new Dictionary<int, Material>();

View file

@ -7,7 +7,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
/// Defines mappings for Minecraft 1.15.
/// Automatically generated using BlockPaletteGenerator.cs
/// </summary>
public class Palette115 : BlockPaletteMapping
public class Palette115 : BlockPalette
{
private static Dictionary<int, Material> materials = new Dictionary<int, Material>();