mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-19 15:09:15 +00:00
Merge branch 'Xiao-MoMi:dev' into dev
This commit is contained in:
@@ -40,7 +40,6 @@ import org.bukkit.inventory.view.AnvilView;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
@@ -62,7 +62,8 @@ public class BukkitCommandManager extends AbstractCommandManager<CommandSender>
|
||||
new UploadPackCommand(this, plugin),
|
||||
new SendResourcePackCommand(this, plugin),
|
||||
new DebugSaveDefaultResourcesCommand(this, plugin),
|
||||
new DebugCleanCacheCommand(this, plugin)
|
||||
new DebugCleanCacheCommand(this, plugin),
|
||||
new DebugGenerateInternalAssetsCommand(this, plugin)
|
||||
// new OverrideGiveCommand(this, plugin)
|
||||
));
|
||||
final LegacyPaperCommandManager<CommandSender> manager = (LegacyPaperCommandManager<CommandSender>) getCommandManager();
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
package net.momirealms.craftengine.bukkit.plugin.command.feature;
|
||||
|
||||
import com.google.gson.*;
|
||||
import net.momirealms.craftengine.bukkit.plugin.command.BukkitCommandFeature;
|
||||
import net.momirealms.craftengine.core.plugin.CraftEngine;
|
||||
import net.momirealms.craftengine.core.plugin.command.CraftEngineCommandManager;
|
||||
import net.momirealms.craftengine.core.util.FileUtils;
|
||||
import net.momirealms.craftengine.core.util.GsonHelper;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.incendo.cloud.Command;
|
||||
import org.incendo.cloud.parser.standard.StringParser;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class DebugGenerateInternalAssetsCommand extends BukkitCommandFeature<CommandSender> {
|
||||
|
||||
public DebugGenerateInternalAssetsCommand(CraftEngineCommandManager<CommandSender> commandManager, CraftEngine plugin) {
|
||||
super(commandManager, plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Command.Builder<? extends CommandSender> assembleCommand(org.incendo.cloud.CommandManager<CommandSender> manager, Command.Builder<CommandSender> builder) {
|
||||
return builder
|
||||
.required("path", StringParser.stringParser())
|
||||
.handler(context -> {
|
||||
// 这里指向的完整的minecraft原版资源包文件夹路径
|
||||
String pathName = context.get("path");
|
||||
Path resourcePackPath = this.plugin().dataFolderPath().resolve(pathName);
|
||||
if (!Files.exists(resourcePackPath)) {
|
||||
context.sender().sendMessage("Could not find path: " + resourcePackPath);
|
||||
return;
|
||||
}
|
||||
Path assetsPath = resourcePackPath.resolve("assets");
|
||||
Path internalPath = resourcePackPath.resolve("internal");
|
||||
if (!Files.exists(assetsPath)) {
|
||||
context.sender().sendMessage("Could not find path: " + assetsPath);
|
||||
return;
|
||||
}
|
||||
Path minecraftNamespacePath = assetsPath.resolve("minecraft");
|
||||
if (!Files.exists(minecraftNamespacePath)) {
|
||||
context.sender().sendMessage("Could not find path: " + minecraftNamespacePath);
|
||||
return;
|
||||
}
|
||||
|
||||
// 复制atlas
|
||||
{
|
||||
Path atlasPath = minecraftNamespacePath.resolve("atlases").resolve("blocks.json");
|
||||
Path assetsAtlasPath = internalPath.resolve("atlases").resolve("blocks.json");
|
||||
try {
|
||||
Files.createDirectories(assetsAtlasPath.getParent());
|
||||
Files.copy(atlasPath, assetsAtlasPath, StandardCopyOption.REPLACE_EXISTING);
|
||||
} catch (IOException e) {
|
||||
plugin().logger().warn("Failed to copy atlas file", e);
|
||||
}
|
||||
}
|
||||
|
||||
// 复制sounds
|
||||
{
|
||||
Path soundPath = minecraftNamespacePath.resolve("sounds.json");
|
||||
if (Files.exists(soundPath)) {
|
||||
Path targetSoundPath = internalPath.resolve("sounds.json");
|
||||
try {
|
||||
Files.createDirectories(targetSoundPath.getParent());
|
||||
Files.copy(soundPath, targetSoundPath, StandardCopyOption.REPLACE_EXISTING);
|
||||
} catch (IOException e) {
|
||||
plugin().logger().warn("Failed to create internal sounds file", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 复制items
|
||||
{
|
||||
Path allPath = minecraftNamespacePath.resolve("items").resolve("_all.json");
|
||||
Path targetAllPath = internalPath.resolve("items").resolve("_all.json");
|
||||
try {
|
||||
if (Files.exists(allPath)) {
|
||||
Files.createDirectories(targetAllPath.getParent());
|
||||
Files.copy(allPath, targetAllPath, StandardCopyOption.REPLACE_EXISTING);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
plugin().logger().warn("Failed to create internal items file", e);
|
||||
}
|
||||
}
|
||||
|
||||
// 复制models
|
||||
{
|
||||
for (String name : List.of("block", "item")) {
|
||||
Path allPath = minecraftNamespacePath.resolve("models").resolve(name).resolve("_all.json");
|
||||
Path targetAllPath = internalPath.resolve("models").resolve(name).resolve("_all.json");
|
||||
try {
|
||||
if (Files.exists(allPath)) {
|
||||
Files.createDirectories(targetAllPath.getParent());
|
||||
Files.copy(allPath, targetAllPath, StandardCopyOption.REPLACE_EXISTING);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
plugin().logger().warn("Failed to create internal models file", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 收集textures
|
||||
JsonArray allTextures = new JsonArray();
|
||||
collectListJson(minecraftNamespacePath.resolve("textures"), "", allTextures::add);
|
||||
try {
|
||||
Path resolve = internalPath.resolve("textures/processed.json");
|
||||
Files.createDirectories(resolve.getParent());
|
||||
GsonHelper.writeJsonFile(allTextures, resolve);
|
||||
} catch (IOException e) {
|
||||
plugin().logger().warn("Failed to collect textures", e);
|
||||
}
|
||||
|
||||
// 收集sounds
|
||||
JsonArray allSounds = new JsonArray();
|
||||
collectListJson(minecraftNamespacePath.resolve("sounds"), "", allSounds::add);
|
||||
try {
|
||||
Path resolve = internalPath.resolve("sounds/processed.json");
|
||||
Files.createDirectories(resolve.getParent());
|
||||
GsonHelper.writeJsonFile(allSounds, resolve);
|
||||
} catch (IOException e) {
|
||||
plugin().logger().warn("Failed to collect textures", e);
|
||||
}
|
||||
|
||||
context.sender().sendMessage("Done");
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFeatureID() {
|
||||
return "debug_generate_internal_assets";
|
||||
}
|
||||
|
||||
private void collectListJson(Path folder, String prefix, Consumer<String> callback) {
|
||||
try (InputStream inputStream = Files.newInputStream(folder.resolve("_list.json"))) {
|
||||
String s = prefix.isEmpty() ? "" : (prefix + "/");
|
||||
JsonObject listJson = JsonParser.parseReader(new InputStreamReader(inputStream)).getAsJsonObject();
|
||||
JsonArray fileList = listJson.getAsJsonArray("files");
|
||||
for (JsonElement element : fileList) {
|
||||
if (element instanceof JsonPrimitive primitive) {
|
||||
callback.accept(s + FileUtils.pathWithoutExtension(primitive.getAsString()));
|
||||
}
|
||||
}
|
||||
JsonArray directoryList = listJson.getAsJsonArray("directories");
|
||||
for (JsonElement element : directoryList) {
|
||||
if (element instanceof JsonPrimitive primitive) {
|
||||
collectListJson(folder.resolve(primitive.getAsString()), s + primitive.getAsString(), callback);
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
this.plugin().logger().warn("Failed to load _list.json" + folder, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,8 +7,7 @@ config-version: "${config_version}"
|
||||
# For safety reasons, editing this file requires a restart to apply
|
||||
#
|
||||
|
||||
# A command to reload the plugin
|
||||
# Usage: [COMMAND]
|
||||
# https://xiao-momi.github.io/craft-engine-wiki/reference/commands
|
||||
reload:
|
||||
enable: true
|
||||
permission: ce.command.admin.reload
|
||||
@@ -231,6 +230,13 @@ debug_clean_cache:
|
||||
- /craftengine debug clean-cache
|
||||
- /ce debug clean-cache
|
||||
|
||||
debug_generate_internal_assets:
|
||||
enable: false
|
||||
permission: ce.command.debug.generate_internal_assets
|
||||
usage:
|
||||
- /craftengine debug generate-internal-assets
|
||||
- /ce debug generate-internal-assets
|
||||
|
||||
debug_test:
|
||||
enable: true
|
||||
permission: ce.command.debug.test
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["armor_trims.json","banner_patterns.json","beds.json","blocks.json","chests.json","decorated_pot.json","gui.json","map_decorations.json","paintings.json","particles.json","shield_patterns.json","shulker_boxes.json","signs.json"]}
|
||||
@@ -1,64 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:paletted_permutations",
|
||||
"palette_key": "minecraft:trims/color_palettes/trim_palette",
|
||||
"permutations": {
|
||||
"amethyst": "minecraft:trims/color_palettes/amethyst",
|
||||
"copper": "minecraft:trims/color_palettes/copper",
|
||||
"copper_darker": "minecraft:trims/color_palettes/copper_darker",
|
||||
"diamond": "minecraft:trims/color_palettes/diamond",
|
||||
"diamond_darker": "minecraft:trims/color_palettes/diamond_darker",
|
||||
"emerald": "minecraft:trims/color_palettes/emerald",
|
||||
"gold": "minecraft:trims/color_palettes/gold",
|
||||
"gold_darker": "minecraft:trims/color_palettes/gold_darker",
|
||||
"iron": "minecraft:trims/color_palettes/iron",
|
||||
"iron_darker": "minecraft:trims/color_palettes/iron_darker",
|
||||
"lapis": "minecraft:trims/color_palettes/lapis",
|
||||
"netherite": "minecraft:trims/color_palettes/netherite",
|
||||
"netherite_darker": "minecraft:trims/color_palettes/netherite_darker",
|
||||
"quartz": "minecraft:trims/color_palettes/quartz",
|
||||
"redstone": "minecraft:trims/color_palettes/redstone",
|
||||
"resin": "minecraft:trims/color_palettes/resin"
|
||||
},
|
||||
"textures": [
|
||||
"minecraft:trims/entity/humanoid/sentry",
|
||||
"minecraft:trims/entity/humanoid_leggings/sentry",
|
||||
"minecraft:trims/entity/humanoid/dune",
|
||||
"minecraft:trims/entity/humanoid_leggings/dune",
|
||||
"minecraft:trims/entity/humanoid/coast",
|
||||
"minecraft:trims/entity/humanoid_leggings/coast",
|
||||
"minecraft:trims/entity/humanoid/wild",
|
||||
"minecraft:trims/entity/humanoid_leggings/wild",
|
||||
"minecraft:trims/entity/humanoid/ward",
|
||||
"minecraft:trims/entity/humanoid_leggings/ward",
|
||||
"minecraft:trims/entity/humanoid/eye",
|
||||
"minecraft:trims/entity/humanoid_leggings/eye",
|
||||
"minecraft:trims/entity/humanoid/vex",
|
||||
"minecraft:trims/entity/humanoid_leggings/vex",
|
||||
"minecraft:trims/entity/humanoid/tide",
|
||||
"minecraft:trims/entity/humanoid_leggings/tide",
|
||||
"minecraft:trims/entity/humanoid/snout",
|
||||
"minecraft:trims/entity/humanoid_leggings/snout",
|
||||
"minecraft:trims/entity/humanoid/rib",
|
||||
"minecraft:trims/entity/humanoid_leggings/rib",
|
||||
"minecraft:trims/entity/humanoid/spire",
|
||||
"minecraft:trims/entity/humanoid_leggings/spire",
|
||||
"minecraft:trims/entity/humanoid/wayfinder",
|
||||
"minecraft:trims/entity/humanoid_leggings/wayfinder",
|
||||
"minecraft:trims/entity/humanoid/shaper",
|
||||
"minecraft:trims/entity/humanoid_leggings/shaper",
|
||||
"minecraft:trims/entity/humanoid/silence",
|
||||
"minecraft:trims/entity/humanoid_leggings/silence",
|
||||
"minecraft:trims/entity/humanoid/raiser",
|
||||
"minecraft:trims/entity/humanoid_leggings/raiser",
|
||||
"minecraft:trims/entity/humanoid/host",
|
||||
"minecraft:trims/entity/humanoid_leggings/host",
|
||||
"minecraft:trims/entity/humanoid/flow",
|
||||
"minecraft:trims/entity/humanoid_leggings/flow",
|
||||
"minecraft:trims/entity/humanoid/bolt",
|
||||
"minecraft:trims/entity/humanoid_leggings/bolt"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:single",
|
||||
"resource": "minecraft:entity/banner_base"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "entity/banner/",
|
||||
"source": "entity/banner"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "entity/bed/",
|
||||
"source": "entity/bed"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "entity/chest/",
|
||||
"source": "entity/chest"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "entity/decorated_pot/",
|
||||
"source": "entity/decorated_pot"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "",
|
||||
"source": "gui/sprites"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "mob_effect/",
|
||||
"source": "mob_effect"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "",
|
||||
"source": "map/decorations"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "",
|
||||
"source": "painting"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "",
|
||||
"source": "particle"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:single",
|
||||
"resource": "minecraft:entity/shield_base"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:single",
|
||||
"resource": "minecraft:entity/shield_base_nopattern"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "entity/shield/",
|
||||
"source": "entity/shield"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "entity/shulker/",
|
||||
"source": "entity/shulker"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"type": "minecraft:directory",
|
||||
"prefix": "entity/signs/",
|
||||
"source": "entity/signs"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
{"directories":["block","colormap","effect","entity","environment","font","gui","item","map","misc","mob_effect","painting","particle","trims"],"files":[]}
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["dry_foliage.png","foliage.png","grass.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["dither.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":["allay","armorstand","axolotl","banner","bear","bed","bee","bell","boat","breeze","camel","cat","chest","chest_boat","chicken","conduit","copper_golem","cow","creaking","creeper","decorated_pot","end_crystal","enderdragon","enderman","equipment","fish","fox","frog","ghast","goat","hoglin","horse","illager","iron_golem","llama","panda","parrot","pig","piglin","player","projectiles","rabbit","sheep","shield","shulker","signs","skeleton","slime","sniffer","spider","squid","strider","tadpole","turtle","villager","warden","wither","wolf","zombie","zombie_villager"],"files":["armadillo.png","banner_base.png","bat.png","beacon_beam.png","blaze.png","dolphin.png","enchanting_table_book.png","end_gateway_beam.png","end_portal.png","endermite.png","experience_orb.png","fishing_hook.png","guardian.png","guardian_beam.png","guardian_elder.png","lead_knot.png","minecart.png","phantom.png","phantom_eyes.png","shield_base.png","shield_base_nopattern.png","silverfish.png","snow_golem.png","spider_eyes.png","trident.png","trident_riptide.png","wandering_trader.png","witch.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["allay.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["wood.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["axolotl_blue.png","axolotl_cyan.png","axolotl_gold.png","axolotl_lucy.png","axolotl_wild.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["base.png","border.png","bricks.png","circle.png","creeper.png","cross.png","curly_border.png","diagonal_left.png","diagonal_right.png","diagonal_up_left.png","diagonal_up_right.png","flow.png","flower.png","globe.png","gradient.png","gradient_up.png","guster.png","half_horizontal.png","half_horizontal_bottom.png","half_vertical.png","half_vertical_right.png","mojang.png","piglin.png","rhombus.png","skull.png","small_stripes.png","square_bottom_left.png","square_bottom_right.png","square_top_left.png","square_top_right.png","straight_cross.png","stripe_bottom.png","stripe_center.png","stripe_downleft.png","stripe_downright.png","stripe_left.png","stripe_middle.png","stripe_right.png","stripe_top.png","triangle_bottom.png","triangle_top.png","triangles_bottom.png","triangles_top.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["polarbear.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["black.png","blue.png","brown.png","cyan.png","gray.png","green.png","light_blue.png","light_gray.png","lime.png","magenta.png","orange.png","pink.png","purple.png","red.png","white.png","yellow.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["bee.png","bee_angry.png","bee_angry_nectar.png","bee_nectar.png","bee_stinger.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["bell_body.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["acacia.png","bamboo.png","birch.png","cherry.png","dark_oak.png","jungle.png","mangrove.png","oak.png","pale_oak.png","spruce.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["breeze.png","breeze_eyes.png","breeze_wind.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["camel.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["all_black.png","black.png","british_shorthair.png","calico.png","cat_collar.png","jellie.png","ocelot.png","persian.png","ragdoll.png","red.png","siamese.png","tabby.png","white.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["christmas.png","christmas_left.png","christmas_right.png","copper.png","copper_exposed.png","copper_exposed_left.png","copper_exposed_right.png","copper_left.png","copper_oxidized.png","copper_oxidized_left.png","copper_oxidized_right.png","copper_right.png","copper_weathered.png","copper_weathered_left.png","copper_weathered_right.png","ender.png","normal.png","normal_left.png","normal_right.png","trapped.png","trapped_left.png","trapped_right.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["acacia.png","bamboo.png","birch.png","cherry.png","dark_oak.png","jungle.png","mangrove.png","oak.png","pale_oak.png","spruce.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["cold_chicken.png","temperate_chicken.png","warm_chicken.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["base.png","break_particle.png","cage.png","closed_eye.png","open_eye.png","wind.png","wind.png.mcmeta","wind_vertical.png","wind_vertical.png.mcmeta"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["copper_golem.png","copper_golem_eyes.png","exposed_copper_golem.png","exposed_copper_golem_eyes.png","oxidized_copper_golem.png","oxidized_copper_golem_eyes.png","weathered_copper_golem.png","weathered_copper_golem_eyes.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["brown_mooshroom.png","cold_cow.png","red_mooshroom.png","temperate_cow.png","warm_cow.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["creaking.png","creaking_eyes.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["creeper.png","creeper_armor.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["angler_pottery_pattern.png","archer_pottery_pattern.png","arms_up_pottery_pattern.png","blade_pottery_pattern.png","brewer_pottery_pattern.png","burn_pottery_pattern.png","danger_pottery_pattern.png","decorated_pot_base.png","decorated_pot_side.png","explorer_pottery_pattern.png","flow_pottery_pattern.png","friend_pottery_pattern.png","guster_pottery_pattern.png","heart_pottery_pattern.png","heartbreak_pottery_pattern.png","howl_pottery_pattern.png","miner_pottery_pattern.png","mourner_pottery_pattern.png","plenty_pottery_pattern.png","prize_pottery_pattern.png","scrape_pottery_pattern.png","sheaf_pottery_pattern.png","shelter_pottery_pattern.png","skull_pottery_pattern.png","snort_pottery_pattern.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["end_crystal.png","end_crystal_beam.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["dragon.png","dragon_exploding.png","dragon_eyes.png","dragon_fireball.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["enderman.png","enderman_eyes.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":["camel_saddle","donkey_saddle","happy_ghast_body","horse_body","horse_saddle","humanoid","humanoid_leggings","llama_body","mule_saddle","pig_saddle","skeleton_horse_saddle","strider_saddle","wings","wolf_body","zombie_horse_saddle"],"files":[]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["saddle.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["saddle.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["black_harness.png","blue_harness.png","brown_harness.png","cyan_harness.png","gray_harness.png","green_harness.png","light_blue_harness.png","light_gray_harness.png","lime_harness.png","magenta_harness.png","orange_harness.png","pink_harness.png","purple_harness.png","red_harness.png","white_harness.png","yellow_harness.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["copper.png","diamond.png","gold.png","iron.png","leather.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["saddle.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["chainmail.png","copper.png","diamond.png","gold.png","iron.png","leather.png","leather_overlay.png","netherite.png","turtle_scute.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["chainmail.png","copper.png","diamond.png","gold.png","iron.png","leather.png","leather_overlay.png","netherite.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["black.png","blue.png","brown.png","cyan.png","gray.png","green.png","light_blue.png","light_gray.png","lime.png","magenta.png","orange.png","pink.png","purple.png","red.png","trader_llama.png","white.png","yellow.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["saddle.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["saddle.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["saddle.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["saddle.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["elytra.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["armadillo_scute.png","armadillo_scute_overlay.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["saddle.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["cod.png","pufferfish.png","salmon.png","tropical_a.png","tropical_a_pattern_1.png","tropical_a_pattern_2.png","tropical_a_pattern_3.png","tropical_a_pattern_4.png","tropical_a_pattern_5.png","tropical_a_pattern_6.png","tropical_b.png","tropical_b_pattern_1.png","tropical_b_pattern_2.png","tropical_b_pattern_3.png","tropical_b_pattern_4.png","tropical_b_pattern_5.png","tropical_b_pattern_6.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["fox.png","fox_sleep.png","snow_fox.png","snow_fox_sleep.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["cold_frog.png","temperate_frog.png","warm_frog.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["ghast.png","ghast_shooting.png","happy_ghast.png","happy_ghast_baby.png","happy_ghast_ropes.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["goat.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["hoglin.png","zoglin.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["donkey.png","horse_black.png","horse_brown.png","horse_chestnut.png","horse_creamy.png","horse_darkbrown.png","horse_gray.png","horse_markings_blackdots.png","horse_markings_white.png","horse_markings_whitedots.png","horse_markings_whitefield.png","horse_skeleton.png","horse_white.png","horse_zombie.png","mule.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["evoker.png","evoker_fangs.png","illusioner.png","pillager.png","ravager.png","vex.png","vex_charging.png","vindicator.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["iron_golem.png","iron_golem_crackiness_high.png","iron_golem_crackiness_low.png","iron_golem_crackiness_medium.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["brown.png","creamy.png","gray.png","spit.png","white.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["aggressive_panda.png","brown_panda.png","lazy_panda.png","panda.png","playful_panda.png","weak_panda.png","worried_panda.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["parrot_blue.png","parrot_green.png","parrot_grey.png","parrot_red_blue.png","parrot_yellow_blue.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["cold_pig.png","temperate_pig.png","warm_pig.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["piglin.png","piglin_brute.png","zombified_piglin.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":["slim","wide"],"files":[]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["alex.png","ari.png","efe.png","kai.png","makena.png","noor.png","steve.png","sunny.png","zuri.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["alex.png","ari.png","efe.png","kai.png","makena.png","noor.png","steve.png","sunny.png","zuri.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["arrow.png","spectral_arrow.png","tipped_arrow.png","wind_charge.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["black.png","brown.png","caerbannog.png","gold.png","salt.png","toast.png","white.png","white_splotched.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["sheep.png","sheep_wool.png","sheep_wool_undercoat.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["base.png","border.png","bricks.png","circle.png","creeper.png","cross.png","curly_border.png","diagonal_left.png","diagonal_right.png","diagonal_up_left.png","diagonal_up_right.png","flow.png","flower.png","globe.png","gradient.png","gradient_up.png","guster.png","half_horizontal.png","half_horizontal_bottom.png","half_vertical.png","half_vertical_right.png","mojang.png","piglin.png","rhombus.png","skull.png","small_stripes.png","square_bottom_left.png","square_bottom_right.png","square_top_left.png","square_top_right.png","straight_cross.png","stripe_bottom.png","stripe_center.png","stripe_downleft.png","stripe_downright.png","stripe_left.png","stripe_middle.png","stripe_right.png","stripe_top.png","triangle_bottom.png","triangle_top.png","triangles_bottom.png","triangles_top.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["shulker.png","shulker_black.png","shulker_blue.png","shulker_brown.png","shulker_cyan.png","shulker_gray.png","shulker_green.png","shulker_light_blue.png","shulker_light_gray.png","shulker_lime.png","shulker_magenta.png","shulker_orange.png","shulker_pink.png","shulker_purple.png","shulker_red.png","shulker_white.png","shulker_yellow.png","spark.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":["hanging"],"files":["acacia.png","bamboo.png","birch.png","cherry.png","crimson.png","dark_oak.png","jungle.png","mangrove.png","oak.png","pale_oak.png","spruce.png","warped.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["acacia.png","bamboo.png","birch.png","cherry.png","crimson.png","dark_oak.png","jungle.png","mangrove.png","oak.png","pale_oak.png","spruce.png","warped.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["bogged.png","bogged_overlay.png","skeleton.png","stray.png","stray_overlay.png","wither_skeleton.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["magmacube.png","slime.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["sniffer.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["cave_spider.png","spider.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["glow_squid.png","squid.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["strider.png","strider_cold.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["tadpole.png"]}
|
||||
@@ -1 +0,0 @@
|
||||
{"directories":[],"files":["big_sea_turtle.png"]}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user