mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
Added Entity, Item and Block palletes for 1.17/1 and 1.18/1. Added pallete generators as a command line option. Fixed a minor warning with AttackBot
This commit is contained in:
parent
6986902938
commit
61a682a69b
16 changed files with 4488 additions and 72 deletions
|
|
@ -23,6 +23,17 @@ namespace MinecraftClient.Mapping.BlockPalettes
|
|||
/// </remarks>
|
||||
public static class BlockPaletteGenerator
|
||||
{
|
||||
/// <summary>
|
||||
/// Generate mapping from Minecraft blocks.json
|
||||
/// </summary>
|
||||
/// <param name="blocksJsonFile">path to blocks.json</param>
|
||||
/// <remarks>java -cp minecraft_server.jar net.minecraft.data.Main --reports</remarks>
|
||||
/// <returns>state => block name mappings</returns>
|
||||
public static void GenerateBlockPallete(string blocksJsonFile)
|
||||
{
|
||||
BlockPaletteGenerator.JsonToClass(blocksJsonFile, "Palette", "Material");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Generate mapping from Minecraft blocks.json
|
||||
/// </summary>
|
||||
|
|
@ -33,6 +44,9 @@ namespace MinecraftClient.Mapping.BlockPalettes
|
|||
/// <returns>state => block name mappings</returns>
|
||||
public static void JsonToClass(string blocksJsonFile, string outputClass, string outputEnum = null)
|
||||
{
|
||||
string outputPalettePath = Path.Combine(Path.GetDirectoryName(blocksJsonFile), outputClass + "XXX.cs");
|
||||
string outputEnumPath = Path.Combine(Path.GetDirectoryName(blocksJsonFile), outputEnum + "XXX.cs");
|
||||
|
||||
HashSet<int> knownStates = new HashSet<int>();
|
||||
Dictionary<string, HashSet<int>> blocks = new Dictionary<string, HashSet<int>>();
|
||||
|
||||
|
|
@ -70,7 +84,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
|
|||
"",
|
||||
"namespace MinecraftClient.Mapping.BlockPalettes",
|
||||
"{",
|
||||
" public class PaletteXXX : PaletteMapping",
|
||||
" public class PaletteXXX : BlockPalette",
|
||||
" {",
|
||||
" private static Dictionary<int, Material> materials = new Dictionary<int, Material>();",
|
||||
"",
|
||||
|
|
@ -121,7 +135,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
|
|||
"}"
|
||||
});
|
||||
|
||||
File.WriteAllLines(outputClass, outFile);
|
||||
File.WriteAllLines(outputPalettePath, outFile);
|
||||
|
||||
if (outputEnum != null)
|
||||
{
|
||||
|
|
@ -138,7 +152,7 @@ namespace MinecraftClient.Mapping.BlockPalettes
|
|||
" }",
|
||||
"}"
|
||||
});
|
||||
File.WriteAllLines(outputEnum, outFile);
|
||||
File.WriteAllLines(outputEnumPath, outFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1468
MinecraftClient/Mapping/BlockPalettes/Palette117.cs
Normal file
1468
MinecraftClient/Mapping/BlockPalettes/Palette117.cs
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue