aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock
diff options
context:
space:
mode:
authorTrương Hoàng Long <longtruong2411@gmail.com>2022-05-04 03:03:43 +0200
committerTrương Hoàng Long <longtruong2411@gmail.com>2022-05-04 03:03:43 +0200
commit27ce53e6550da16a8c89401b92f204810cd61eb9 (patch)
tree95dbb2b7aafcd4e662f9ec864aa933e8e9ebae23 /src/main/java/me/xmrvizzy/skyblocker/skyblock
parent54912e9c79227f9610c3254098a623ca48f74e6c (diff)
downloadSkyblocker-27ce53e6550da16a8c89401b92f204810cd61eb9.tar.gz
Skyblocker-27ce53e6550da16a8c89401b92f204810cd61eb9.tar.bz2
Skyblocker-27ce53e6550da16a8c89401b92f204810cd61eb9.zip
Fix some items having the wrong texture
Added variants for some blocks Added missing enchantment glints
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java70
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java13
2 files changed, 73 insertions, 10 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java
index b694f451..4c56546d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java
@@ -27,12 +27,11 @@ public class ItemFixerUpper {
Map.entry("minecraft:netherbrick", "minecraft:nether_brick"),
Map.entry("minecraft:stained_hardened_clay", "minecraft:terracotta"),
Map.entry("minecraft:quartz_ore", "minecraft:nether_quartz_ore"),
- Map.entry("minecraft:fish", "minecraft:cod"),
- Map.entry("minecraft:cooked_fish", "minecraft:cooked_cod"),
Map.entry("minecraft:red_flower", "minecraft:poppy"),
Map.entry("minecraft:tallgrass", "minecraft:grass"),
Map.entry("minecraft:stone_slab2", "minecraft:red_sandstone_slab"),
- Map.entry("minecraft:waterlily", "minecraft:lily_pad")
+ Map.entry("minecraft:waterlily", "minecraft:lily_pad"),
+ Map.entry("minecraft:stone_stairs", "minecraft:cobblestone_stairs")
);
private final static String[] DYE_COLORS = {
@@ -136,6 +135,63 @@ public class ItemFixerUpper {
"minecraft:creeper_head"
};
+ private final static String[] FISH_VARIANTS = {
+ "minecraft:cod",
+ "minecraft:salmon",
+ "minecraft:tropical_fish",
+ "minecraft:pufferfish"
+ };
+
+ private final static String[] COOKED_FISH_VARIANTS = {
+ "minecraft:cooked_cod",
+ "minecraft:cooked_salmon"
+ };
+
+ private final static String[] STONE_VARIANTS = {
+ "minecraft:stone",
+ "minecraft:granite",
+ "minecraft:polished_granite",
+ "minecraft:diorite",
+ "minecraft:polished_diorite",
+ "minecraft:andesite",
+ "minecraft:polished_andesite"
+ };
+
+ private final static String[] STONE_SLAB_VARIANTS = {
+ "minecraft:smooth_stone_slab",
+ "minecraft:sandstone_slab",
+ "minecraft:barrier", // doesn't exist
+ "minecraft:cobblestone_slab",
+ "minecraft:brick_slab",
+ "minecraft:stone_brick_slab",
+ "minecraft:nether_brick_slab",
+ "minecraft:quartz_slab"
+ };
+
+ private final static String[] COBBLESTONE_WALL_VARIANTS = {
+ "minecraft:cobblestone_wall",
+ "minecraft:mossy_cobblestone_wall"
+ };
+
+ private final static String[] DIRT_VARIANTS = {
+ "minecraft:dirt",
+ "minecraft:coarse_dirt",
+ "minecraft:podzol"
+ };
+
+ private final static String[] SPONGE_VARIANTS = {
+ "minecraft:sponge",
+ "minecraft:wet_sponge"
+ };
+
+ private final static String[] PRISMARINE_VARIANTS = {
+ "minecraft:prismarine",
+ "minecraft:prismarine_bricks",
+ "minecraft:dark_prismarine"
+ };
+
+ // TODO: map potions to their correct colors
+
public static String convertItemId(String id, int damage) {
if (id.equals("minecraft:dye")) return DYE_COLORS[damage];
if (id.equals("minecraft:log2")) return "minecraft:" + TREE_VARIANTS[damage + 4] + "log";
@@ -145,6 +201,14 @@ public class ItemFixerUpper {
if (id.equals("minecraft:spawn_egg")) return SPAWN_EGG_VARIANTS.getOrDefault(damage, "minecraft:ghast_spawn_egg");
if (id.equals("minecraft:banner")) return "minecraft:" + BLOCK_COLORS[15 - damage] + "banner";
if (id.equals("minecraft:skull")) return SKULL_VARIANTS[damage];
+ if (id.equals("minecraft:fish")) return FISH_VARIANTS[damage];
+ if (id.equals("minecraft:cooked_fish")) return COOKED_FISH_VARIANTS[damage];
+ if (id.equals("minecraft:stone")) return STONE_VARIANTS[damage];
+ if (id.equals("minecraft:stone_slab")) return STONE_SLAB_VARIANTS[damage];
+ if (id.equals("minecraft:cobblestone_wall")) return COBBLESTONE_WALL_VARIANTS[damage];
+ if (id.equals("minecraft:dirt")) return DIRT_VARIANTS[damage];
+ if (id.equals("minecraft:sponge")) return SPONGE_VARIANTS[damage];
+ if (id.equals("minecraft:prismarine")) return PRISMARINE_VARIANTS[damage];
id = MAPPING.getOrDefault(id, id);
if (Registry.ITEM.get(new Identifier(id)).equals(Items.AIR)) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java
index f21c7ccb..fbbd49d7 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java
@@ -47,13 +47,6 @@ public class ItemStackBuilder {
tag.put("ExtraAttributes", extra);
extra.put("id", NbtString.of(internalName));
- // add enchantment glint
- if (internalName.contains("ENCHANTED")) {
- NbtList enchantments = new NbtList();
- enchantments.add(new NbtCompound());
- tag.put("Enchantments", enchantments);
- }
-
NbtCompound display = new NbtCompound();
tag.put("display", display);
@@ -90,6 +83,12 @@ public class ItemStackBuilder {
NbtInt color = NbtInt.of(Integer.parseInt(colorMatcher.group(1)));
display.put("color", color);
}
+ // add enchantment glint
+ if (nbttag.contains("ench:")) {
+ NbtList enchantments = new NbtList();
+ enchantments.add(new NbtCompound());
+ tag.put("Enchantments", enchantments);
+ }
return ItemStack.fromNbt(root);
}