diff --git a/bukkit/pom.xml b/bukkit/pom.xml
index fdaa6bb94..56f4f27af 100644
--- a/bukkit/pom.xml
+++ b/bukkit/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 1.4.0-18w08a
+ 1.4.0-18w08b
4.0.0
diff --git a/bungee/pom.xml b/bungee/pom.xml
index 2515403d2..5ce12ac45 100644
--- a/bungee/pom.xml
+++ b/bungee/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 1.4.0-18w08a
+ 1.4.0-18w08b
4.0.0
diff --git a/common/pom.xml b/common/pom.xml
index f79c01add..5d27209d4 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 1.4.0-18w08a
+ 1.4.0-18w08b
4.0.0
diff --git a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java
new file mode 100644
index 000000000..ec49aed5a
--- /dev/null
+++ b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java
@@ -0,0 +1,242 @@
+package us.myles.ViaVersion.api.entities;
+
+import com.google.common.base.Optional;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import us.myles.ViaVersion.api.Via;
+
+public class Entity1_13Types {
+ public static EntityType getTypeFromId(int typeID, boolean isObject) {
+ Optional type;
+
+ if (isObject)
+ type = ObjectTypes.getPCEntity(typeID);
+ else
+ type = EntityType.findById(typeID);
+
+ if (!type.isPresent()) {
+ Via.getPlatform().getLogger().severe("Could not find type id " + typeID + " isObject=" + isObject);
+ return EntityType.ENTITY; // Fall back to the basic ENTITY
+ }
+
+ return type.get();
+ }
+
+ @AllArgsConstructor
+ @Getter
+ public enum EntityType {
+ ENTITY(-1),
+ DROPPED_ITEM(30, ENTITY),
+ EXPERIENCE_ORB(20, ENTITY),
+ LEASH_HITCH(33, ENTITY), // Actually entity hanging but it doesn't make a lot of difference for metadata
+ PAINTING(47, ENTITY), // Actually entity hanging but it doesn't make a lot of difference for metadata
+ ARROW(2, ENTITY),
+ SNOWBALL(65, ENTITY), // Actually EntityProjectile
+ FIREBALL(32, ENTITY),
+ SMALL_FIREBALL(63, ENTITY),
+ ENDER_PEARL(72, ENTITY), // Actually EntityProjectile
+ ENDER_SIGNAL(21, ENTITY),
+ THROWN_EXP_BOTTLE(73, ENTITY),
+ ITEM_FRAME(31, ENTITY), // Actually EntityHanging
+ WITHER_SKULL(82, ENTITY),
+ PRIMED_TNT(53, ENTITY),
+ FALLING_BLOCK(22, ENTITY),
+ FIREWORK(23, ENTITY),
+ SPECTRAL_ARROW(66, ARROW),
+ SHULKER_BULLET(58, ENTITY),
+ DRAGON_FIREBALL(12, FIREBALL),
+ EVOCATION_FANGS(18, ENTITY),
+
+
+ ENTITY_LIVING(-1, ENTITY),
+ ENTITY_INSENTIENT(-1, ENTITY_LIVING),
+ ENTITY_AGEABLE(-1, ENTITY_INSENTIENT),
+ ENTITY_TAMEABLE_ANIMAL(-1, ENTITY_AGEABLE),
+ ENTITY_HUMAN(-1, ENTITY_LIVING),
+
+ ARMOR_STAND(1, ENTITY_LIVING),
+ ENTITY_ILLAGER_ABSTRACT(-1, ENTITY_INSENTIENT),
+ EVOCATION_ILLAGER(19, ENTITY_ILLAGER_ABSTRACT),
+ VEX(75, ENTITY_INSENTIENT),
+ VINDICATION_ILLAGER(78, ENTITY_ILLAGER_ABSTRACT),
+ ILLUSION_ILLAGER(29, EVOCATION_ILLAGER),
+
+ // Vehicles
+ MINECART_ABSTRACT(-1, ENTITY),
+ MINECART_COMMAND(39, MINECART_ABSTRACT),
+ BOAT(5, ENTITY),
+ MINECART_RIDEABLE(37, MINECART_ABSTRACT),
+ MINECART_CHEST(38, MINECART_ABSTRACT),
+ MINECART_FURNACE(40, MINECART_ABSTRACT),
+ MINECART_TNT(43, MINECART_ABSTRACT),
+ MINECART_HOPPER(41, MINECART_ABSTRACT),
+ MINECART_MOB_SPAWNER(42, MINECART_ABSTRACT),
+
+ CREEPER(10, ENTITY_INSENTIENT),
+
+ ABSTRACT_SKELETON(-1, ENTITY_INSENTIENT),
+ SKELETON(60, ABSTRACT_SKELETON),
+ WITHER_SKELETON(81, ABSTRACT_SKELETON),
+ STRAY(69, ABSTRACT_SKELETON),
+
+ SPIDER(67, ENTITY_INSENTIENT),
+ GIANT(25, ENTITY_INSENTIENT),
+
+ ZOMBIE(84, ENTITY_INSENTIENT),
+ HUSK(28, ZOMBIE),
+ ZOMBIE_VILLAGER(86, ZOMBIE),
+
+ SLIME(62, ENTITY_INSENTIENT),
+ GHAST(24, ENTITY_INSENTIENT),
+ PIG_ZOMBIE(51, ZOMBIE),
+ ENDERMAN(16, ENTITY_INSENTIENT),
+ CAVE_SPIDER(6, SPIDER),
+ SILVERFISH(59, ENTITY_INSENTIENT),
+ BLAZE(4, ENTITY_INSENTIENT),
+ MAGMA_CUBE(36, SLIME),
+ ENDER_DRAGON(15, ENTITY_INSENTIENT),
+ WITHER(80, ENTITY_INSENTIENT),
+ BAT(3, ENTITY_INSENTIENT),
+ WITCH(79, ENTITY_INSENTIENT),
+ ENDERMITE(17, ENTITY_INSENTIENT),
+
+ GUARDIAN(26, ENTITY_INSENTIENT),
+ ELDER_GUARDIAN(13, GUARDIAN), // Moved down to avoid illegal forward reference
+
+ IRON_GOLEM(77, ENTITY_INSENTIENT), // moved up to avoid illegal forward references
+ SHULKER(57, IRON_GOLEM),
+ PIG(49, ENTITY_AGEABLE),
+ SHEEP(56, ENTITY_AGEABLE),
+ COW(9, ENTITY_AGEABLE),
+ CHICKEN(7, ENTITY_AGEABLE),
+ SQUID(68, ENTITY_INSENTIENT),
+ WOLF(83, ENTITY_TAMEABLE_ANIMAL),
+ MUSHROOM_COW(45, COW),
+ SNOWMAN(64, IRON_GOLEM),
+ OCELOT(46, ENTITY_TAMEABLE_ANIMAL),
+ PARROT(48, ENTITY_TAMEABLE_ANIMAL),
+
+ ABSTRACT_HORSE(-1, ENTITY_AGEABLE),
+ HORSE(27, ABSTRACT_HORSE),
+ SKELETON_HORSE(61, ABSTRACT_HORSE),
+ ZOMBIE_HORSE(85, ABSTRACT_HORSE),
+
+ CHESTED_HORSE(-1, ABSTRACT_HORSE),
+ DONKEY(11, CHESTED_HORSE),
+ MULE(44, CHESTED_HORSE),
+ LIAMA(34, CHESTED_HORSE),
+
+
+ RABBIT(54, ENTITY_AGEABLE),
+ POLAR_BEAR(52, ENTITY_AGEABLE),
+ VILLAGER(76, ENTITY_AGEABLE),
+ ENDER_CRYSTAL(14, ENTITY),
+ SPLASH_POTION(-1, ENTITY),
+ LINGERING_POTION(-1, SPLASH_POTION),
+ AREA_EFFECT_CLOUD(-1, ENTITY),
+ EGG(-1, ENTITY),
+ FISHING_HOOK(-1, ENTITY),
+ LIGHTNING(-1, ENTITY),
+ WEATHER(-1, ENTITY),
+ PLAYER(-1, ENTITY_HUMAN),
+ COMPLEX_PART(-1, ENTITY),
+ LIAMA_SPIT(-1, ENTITY);
+
+ private final int id;
+ private final EntityType parent;
+
+ EntityType(int id) {
+ this.id = id;
+ this.parent = null;
+ }
+
+ public static Optional findById(int id) {
+ if (id == -1) // Check if this is called
+ return Optional.absent();
+
+ for (EntityType ent : EntityType.values())
+ if (ent.getId() == id)
+ return Optional.of(ent);
+
+ return Optional.absent();
+ }
+
+ public boolean is(EntityType... types) {
+ for (EntityType type : types)
+ if (is(type))
+ return true;
+ return false;
+ }
+
+ public boolean is(EntityType type) {
+ return this == type;
+ }
+
+ public boolean isOrHasParent(EntityType type) {
+ EntityType parent = this;
+
+ do {
+ if (parent.equals(type))
+ return true;
+
+ parent = parent.getParent();
+ } while (parent != null);
+
+ return false;
+ }
+ }
+
+ @AllArgsConstructor
+ @Getter
+ public enum ObjectTypes {
+ AREA_EFFECT_CLOUD(0, EntityType.AREA_EFFECT_CLOUD),
+ ARMOR_STAND(1, EntityType.ARMOR_STAND),
+ BOAT(5, EntityType.BOAT),
+ ITEM(30, EntityType.DROPPED_ITEM),
+ MINECART(37, EntityType.MINECART_ABSTRACT),
+ TNT_PRIMED(53, EntityType.PRIMED_TNT),
+ ENDER_CRYSTAL(14, EntityType.ENDER_CRYSTAL),
+ TIPPED_ARROW(2, EntityType.ARROW),
+ SNOWBALL(65, EntityType.SNOWBALL),
+ EGG(71, EntityType.EGG),
+ FIREBALL(32, EntityType.FIREBALL),
+ SMALL_FIREBALL(63, EntityType.SMALL_FIREBALL),
+ ENDER_PEARL(72, EntityType.ENDER_PEARL),
+ WITHER_SKULL(82, EntityType.WITHER_SKULL),
+ SHULKER_BULLET(58, EntityType.SHULKER_BULLET),
+ LIAMA_SPIT(35, EntityType.LIAMA_SPIT),
+ FALLING_BLOCK(22, EntityType.FALLING_BLOCK),
+ ITEM_FRAME(31, EntityType.ITEM_FRAME),
+ ENDER_SIGNAL(21, EntityType.ENDER_SIGNAL),
+ POTION(74, EntityType.SPLASH_POTION),
+ THROWN_EXP_BOTTLE(73, EntityType.THROWN_EXP_BOTTLE),
+ FIREWORK(23, EntityType.FIREWORK),
+ LEASH(33, EntityType.LEASH_HITCH),
+ EVOCATION_FANGS(18, EntityType.EVOCATION_FANGS),
+ FISHIHNG_HOOK(90, EntityType.FISHING_HOOK),
+ SPECTRAL_ARROW(66, EntityType.SPECTRAL_ARROW),
+ DRAGON_FIREBALL(12, EntityType.DRAGON_FIREBALL);
+
+ private final int id;
+ private final EntityType type;
+
+ public static Optional findById(int id) {
+ if (id == -1)
+ return Optional.absent();
+
+ for (ObjectTypes ent : ObjectTypes.values())
+ if (ent.getId() == id)
+ return Optional.of(ent);
+
+ return Optional.absent();
+ }
+
+ public static Optional getPCEntity(int id) {
+ Optional output = findById(id);
+
+ if (!output.isPresent())
+ return Optional.absent();
+ return Optional.of(output.get().getType());
+ }
+ }
+}
diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java
index cd7751d87..e80721255 100644
--- a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java
+++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java
@@ -62,7 +62,7 @@ public class ProtocolVersion {
register(v1_12 = new ProtocolVersion(335, "1.12"));
register(v1_12_1 = new ProtocolVersion(338, "1.12.1"));
register(v1_12_2 = new ProtocolVersion(340, "1.12.2"));
- register(v1_13 = new ProtocolVersion(361, "18w08a"));
+ register(v1_13 = new ProtocolVersion(362, "18w08b"));
register(unknown = new ProtocolVersion(-1, "UNKNOWN"));
}
diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/ProtocolSnapshotTo1_12_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/ProtocolSnapshotTo1_12_2.java
index 1f95eaaec..2c120bd47 100644
--- a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/ProtocolSnapshotTo1_12_2.java
+++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/ProtocolSnapshotTo1_12_2.java
@@ -397,6 +397,14 @@ public class ProtocolSnapshotTo1_12_2 extends Protocol {
newID += 5;
if (oldID >= 86)
newID++;
+ if (oldID >= 166)
+ newID += 4;
+ if (oldID >= 226)
+ newID++;
+ if (oldID >= 380)
+ newID += 7;
+ if (oldID >= 385)
+ newID += 4;
if (oldID >= 352)
newID += 5;
if (oldID >= 438)
@@ -407,8 +415,13 @@ public class ProtocolSnapshotTo1_12_2 extends Protocol {
newID++;
if (oldID >= 508)
newID += 2;
+ if (oldID >= 512)
+ newID++;
+ if (oldID >= 514)
+ newID++;
if (oldID >= 524)
newID += 8;
return newID;
+ // TODO 18w08b
}
}
diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/packets/EntityPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/packets/EntityPackets.java
index 0eb086d68..01af35c6c 100644
--- a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/packets/EntityPackets.java
+++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/packets/EntityPackets.java
@@ -3,6 +3,7 @@ package us.myles.ViaVersion.protocols.protocolsnapshotto1_12_2.packets;
import com.google.common.base.Optional;
import us.myles.ViaVersion.api.PacketWrapper;
import us.myles.ViaVersion.api.entities.Entity1_12Types;
+import us.myles.ViaVersion.api.entities.Entity1_13Types;
import us.myles.ViaVersion.api.protocol.Protocol;
import us.myles.ViaVersion.api.remapper.PacketHandler;
import us.myles.ViaVersion.api.remapper.PacketRemapper;
@@ -32,7 +33,9 @@ public class EntityPackets {
int entityId = wrapper.get(Type.VAR_INT, 0);
byte type = wrapper.get(Type.BYTE, 0);
- Entity1_12Types.EntityType entType = Entity1_12Types.getTypeFromId(type, true);
+ Entity1_13Types.EntityType entType = Entity1_13Types.EntityType.valueOf(
+ Entity1_12Types.getTypeFromId(type, true).name()
+ );
// Register Type ID
wrapper.user().get(EntityTracker.class).addEntity(entityId, entType);
@@ -65,7 +68,9 @@ public class EntityPackets {
int entityId = wrapper.get(Type.VAR_INT, 0);
int type = wrapper.get(Type.VAR_INT, 1);
- Entity1_12Types.EntityType entType = Entity1_12Types.getTypeFromId(type, false);
+ Entity1_13Types.EntityType entType = Entity1_13Types.EntityType.valueOf(
+ Entity1_12Types.getTypeFromId(type, false).name()
+ );
// Register Type ID
wrapper.user().get(EntityTracker.class).addEntity(entityId, entType);
@@ -93,7 +98,7 @@ public class EntityPackets {
public void handle(PacketWrapper wrapper) throws Exception {
int entityId = wrapper.get(Type.VAR_INT, 0);
- Entity1_12Types.EntityType entType = Entity1_12Types.EntityType.PLAYER;
+ Entity1_13Types.EntityType entType = Entity1_13Types.EntityType.PLAYER;
// Register Type ID
wrapper.user().get(EntityTracker.class).addEntity(entityId, entType);
MetadataRewriter.handleMetadata(entityId, entType, wrapper.get(Types1_13.METADATA_LIST, 0), wrapper.user());
@@ -128,7 +133,7 @@ public class EntityPackets {
public void handle(PacketWrapper wrapper) throws Exception {
int entityId = wrapper.get(Type.VAR_INT, 0);
- Optional type = wrapper.user().get(EntityTracker.class).get(entityId);
+ Optional type = wrapper.user().get(EntityTracker.class).get(entityId);
MetadataRewriter.handleMetadata(entityId, type.orNull(), wrapper.get(Types1_13.METADATA_LIST, 0), wrapper.user());
}
diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/storage/EntityTracker.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/storage/EntityTracker.java
index 524ea80c7..e3aa2cd60 100644
--- a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/storage/EntityTracker.java
+++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/storage/EntityTracker.java
@@ -3,13 +3,13 @@ package us.myles.ViaVersion.protocols.protocolsnapshotto1_12_2.storage;
import com.google.common.base.Optional;
import us.myles.ViaVersion.api.data.StoredObject;
import us.myles.ViaVersion.api.data.UserConnection;
-import us.myles.ViaVersion.api.entities.Entity1_12Types;
+import us.myles.ViaVersion.api.entities.Entity1_13Types;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class EntityTracker extends StoredObject {
- private final Map clientEntityTypes = new ConcurrentHashMap<>();
+ private final Map clientEntityTypes = new ConcurrentHashMap<>();
public EntityTracker(UserConnection user) {
super(user);
@@ -19,7 +19,7 @@ public class EntityTracker extends StoredObject {
clientEntityTypes.remove(entityId);
}
- public void addEntity(int entityId, Entity1_12Types.EntityType type) {
+ public void addEntity(int entityId, Entity1_13Types.EntityType type) {
clientEntityTypes.put(entityId, type);
}
@@ -27,7 +27,7 @@ public class EntityTracker extends StoredObject {
return clientEntityTypes.containsKey(entityId);
}
- public Optional get(int id) {
+ public Optional get(int id) {
if (!has(id))
return Optional.absent();
return Optional.of(clientEntityTypes.get(id));
diff --git a/common/src/main/resources/assets/viaversion/data/mapping-1.12.json b/common/src/main/resources/assets/viaversion/data/mapping-1.12.json
index 11992ec29..b134714e9 100644
--- a/common/src/main/resources/assets/viaversion/data/mapping-1.12.json
+++ b/common/src/main/resources/assets/viaversion/data/mapping-1.12.json
@@ -2186,6 +2186,7 @@
"6813": "minecraft:magenta_banner",
"6814": "minecraft:orange_banner",
"6815": "minecraft:white_banner",
+ "7088": "minecraft:elytra",
"36096": "minecraft:music_disc_13",
"36112": "minecraft:music_disc_cat",
"36128": "minecraft:music_disc_blocks",
diff --git a/common/src/main/resources/assets/viaversion/data/mapping-1.13.json b/common/src/main/resources/assets/viaversion/data/mapping-1.13.json
index e34f8f0c0..6de188d66 100644
--- a/common/src/main/resources/assets/viaversion/data/mapping-1.13.json
+++ b/common/src/main/resources/assets/viaversion/data/mapping-1.13.json
@@ -7430,230 +7430,236 @@
"509": "minecraft:oak_boat",
"510": "minecraft:leather",
"511": "minecraft:milk_bucket",
- "512": "minecraft:brick",
- "513": "minecraft:clay_ball",
- "514": "minecraft:sugar_cane",
- "515": "minecraft:kelp_top",
- "516": "minecraft:dried_kelp_block",
- "517": "minecraft:paper",
- "518": "minecraft:book",
- "519": "minecraft:slime_ball",
- "520": "minecraft:chest_minecart",
- "521": "minecraft:furnace_minecart",
- "522": "minecraft:egg",
- "523": "minecraft:compass",
- "524": "minecraft:fishing_rod",
- "525": "minecraft:clock",
- "526": "minecraft:glowstone_dust",
- "527": "minecraft:cod",
- "528": "minecraft:salmon",
- "529": "minecraft:clownfish",
- "530": "minecraft:pufferfish",
- "531": "minecraft:cooked_cod",
- "532": "minecraft:cooked_salmon",
- "533": "minecraft:ink_sac",
- "534": "minecraft:rose_red",
- "535": "minecraft:cactus_green",
- "536": "minecraft:cocoa_beans",
- "537": "minecraft:lapis_lazuli",
- "538": "minecraft:purple_dye",
- "539": "minecraft:cyan_dye",
- "540": "minecraft:light_gray_dye",
- "541": "minecraft:gray_dye",
- "542": "minecraft:pink_dye",
- "543": "minecraft:lime_dye",
- "544": "minecraft:dandelion_yellow",
- "545": "minecraft:light_blue_dye",
- "546": "minecraft:magenta_dye",
- "547": "minecraft:orange_dye",
- "548": "minecraft:bone_meal",
- "549": "minecraft:bone",
- "550": "minecraft:sugar",
- "551": "minecraft:cake",
- "552": "minecraft:white_bed",
- "553": "minecraft:orange_bed",
- "554": "minecraft:magenta_bed",
- "555": "minecraft:light_blue_bed",
- "556": "minecraft:yellow_bed",
- "557": "minecraft:lime_bed",
- "558": "minecraft:pink_bed",
- "559": "minecraft:gray_bed",
- "560": "minecraft:light_gray_bed",
- "561": "minecraft:cyan_bed",
- "562": "minecraft:purple_bed",
- "563": "minecraft:blue_bed",
- "564": "minecraft:brown_bed",
- "565": "minecraft:green_bed",
- "566": "minecraft:red_bed",
- "567": "minecraft:black_bed",
- "568": "minecraft:cookie",
- "569": "minecraft:filled_map",
- "570": "minecraft:shears",
- "571": "minecraft:melon",
- "572": "minecraft:dried_kelp",
- "573": "minecraft:pumpkin_seeds",
- "574": "minecraft:melon_seeds",
- "575": "minecraft:beef",
- "576": "minecraft:cooked_beef",
- "577": "minecraft:chicken",
- "578": "minecraft:cooked_chicken",
- "579": "minecraft:rotten_flesh",
- "580": "minecraft:ender_pearl",
- "581": "minecraft:blaze_rod",
- "582": "minecraft:ghast_tear",
- "583": "minecraft:gold_nugget",
- "584": "minecraft:nether_wart",
- "585": "minecraft:potion",
- "586": "minecraft:glass_bottle",
- "587": "minecraft:spider_eye",
- "588": "minecraft:fermented_spider_eye",
- "589": "minecraft:blaze_powder",
- "590": "minecraft:magma_cream",
- "591": "minecraft:brewing_stand",
- "592": "minecraft:cauldron",
- "593": "minecraft:ender_eye",
- "594": "minecraft:speckled_melon",
- "595": "minecraft:bat_spawn_egg",
- "596": "minecraft:blaze_spawn_egg",
- "597": "minecraft:cave_spider_spawn_egg",
- "598": "minecraft:chicken_spawn_egg",
- "599": "minecraft:cow_spawn_egg",
- "600": "minecraft:creeper_spawn_egg",
- "601": "minecraft:donkey_spawn_egg",
- "602": "minecraft:elder_guardian_spawn_egg",
- "603": "minecraft:enderman_spawn_egg",
- "604": "minecraft:endermite_spawn_egg",
- "605": "minecraft:evocation_illager_spawn_egg",
- "606": "minecraft:ghast_spawn_egg",
- "607": "minecraft:guardian_spawn_egg",
- "608": "minecraft:horse_spawn_egg",
- "609": "minecraft:husk_spawn_egg",
- "610": "minecraft:llama_spawn_egg",
- "611": "minecraft:magma_cube_spawn_egg",
- "612": "minecraft:mooshroom_spawn_egg",
- "613": "minecraft:mule_spawn_egg",
- "614": "minecraft:ocelot_spawn_egg",
- "615": "minecraft:parrot_spawn_egg",
- "616": "minecraft:pig_spawn_egg",
- "617": "minecraft:phantom_spawn_egg",
- "618": "minecraft:polar_bear_spawn_egg",
- "619": "minecraft:rabbit_spawn_egg",
- "620": "minecraft:sheep_spawn_egg",
- "621": "minecraft:shulker_spawn_egg",
- "622": "minecraft:silverfish_spawn_egg",
- "623": "minecraft:skeleton_spawn_egg",
- "624": "minecraft:skeleton_horse_spawn_egg",
- "625": "minecraft:slime_spawn_egg",
- "626": "minecraft:spider_spawn_egg",
- "627": "minecraft:squid_spawn_egg",
- "628": "minecraft:stray_spawn_egg",
- "629": "minecraft:turtle_spawn_egg",
- "630": "minecraft:vex_spawn_egg",
- "631": "minecraft:villager_spawn_egg",
- "632": "minecraft:vindication_illager_spawn_egg",
- "633": "minecraft:witch_spawn_egg",
- "634": "minecraft:wither_skeleton_spawn_egg",
- "635": "minecraft:wolf_spawn_egg",
- "636": "minecraft:zombie_spawn_egg",
- "637": "minecraft:zombie_horse_spawn_egg",
- "638": "minecraft:zombie_pigman_spawn_egg",
- "639": "minecraft:zombie_villager_spawn_egg",
- "640": "minecraft:experience_bottle",
- "641": "minecraft:fire_charge",
- "642": "minecraft:writable_book",
- "643": "minecraft:written_book",
- "644": "minecraft:emerald",
- "645": "minecraft:item_frame",
- "646": "minecraft:flower_pot",
- "647": "minecraft:carrot",
- "648": "minecraft:potato",
- "649": "minecraft:baked_potato",
- "650": "minecraft:poisonous_potato",
- "651": "minecraft:map",
- "652": "minecraft:golden_carrot",
- "653": "minecraft:skeleton_skull",
- "654": "minecraft:wither_skeleton_skull",
- "655": "minecraft:player_head",
- "656": "minecraft:zombie_head",
- "657": "minecraft:creeper_head",
- "658": "minecraft:dragon_head",
- "659": "minecraft:carrot_on_a_stick",
- "660": "minecraft:nether_star",
- "661": "minecraft:pumpkin_pie",
- "662": "minecraft:firework_rocket",
- "663": "minecraft:firework_star",
- "664": "minecraft:enchanted_book",
- "665": "minecraft:nether_brick",
- "666": "minecraft:quartz",
- "667": "minecraft:tnt_minecart",
- "668": "minecraft:hopper_minecart",
- "669": "minecraft:prismarine_shard",
- "670": "minecraft:prismarine_crystals",
- "671": "minecraft:rabbit",
- "672": "minecraft:cooked_rabbit",
- "673": "minecraft:rabbit_stew",
- "674": "minecraft:rabbit_foot",
- "675": "minecraft:rabbit_hide",
- "676": "minecraft:armor_stand",
- "677": "minecraft:iron_horse_armor",
- "678": "minecraft:golden_horse_armor",
- "679": "minecraft:diamond_horse_armor",
- "680": "minecraft:lead",
- "681": "minecraft:name_tag",
- "682": "minecraft:command_block_minecart",
- "683": "minecraft:mutton",
- "684": "minecraft:cooked_mutton",
- "685": "minecraft:white_banner",
- "686": "minecraft:orange_banner",
- "687": "minecraft:magenta_banner",
- "688": "minecraft:light_blue_banner",
- "689": "minecraft:yellow_banner",
- "690": "minecraft:lime_banner",
- "691": "minecraft:pink_banner",
- "692": "minecraft:gray_banner",
- "693": "minecraft:light_gray_banner",
- "694": "minecraft:cyan_banner",
- "695": "minecraft:purple_banner",
- "696": "minecraft:blue_banner",
- "697": "minecraft:brown_banner",
- "698": "minecraft:green_banner",
- "699": "minecraft:red_banner",
- "700": "minecraft:black_banner",
- "701": "minecraft:end_crystal",
- "702": "minecraft:chorus_fruit",
- "703": "minecraft:chorus_fruit_popped",
- "704": "minecraft:beetroot",
- "705": "minecraft:beetroot_seeds",
- "706": "minecraft:beetroot_soup",
- "707": "minecraft:dragon_breath",
- "708": "minecraft:splash_potion",
- "709": "minecraft:spectral_arrow",
- "710": "minecraft:tipped_arrow",
- "711": "minecraft:lingering_potion",
- "712": "minecraft:shield",
- "713": "minecraft:elytra",
- "714": "minecraft:spruce_boat",
- "715": "minecraft:birch_boat",
- "716": "minecraft:jungle_boat",
- "717": "minecraft:acacia_boat",
- "718": "minecraft:dark_oak_boat",
- "719": "minecraft:totem_of_undying",
- "720": "minecraft:shulker_shell",
- "721": "minecraft:iron_nugget",
- "722": "minecraft:knowledge_book",
- "723": "minecraft:debug_stick",
- "724": "minecraft:music_disc_13",
- "725": "minecraft:music_disc_cat",
- "726": "minecraft:music_disc_blocks",
- "727": "minecraft:music_disc_chirp",
- "728": "minecraft:music_disc_far",
- "729": "minecraft:music_disc_mall",
- "730": "minecraft:music_disc_mellohi",
- "731": "minecraft:music_disc_stal",
- "732": "minecraft:music_disc_strad",
- "733": "minecraft:music_disc_ward",
- "734": "minecraft:music_disc_11",
- "735": "minecraft:music_disc_wait",
- "736": "minecraft:trident"
+ "512": "minecraft:pufferfish_bucket",
+ "513": "minecraft:salmon_bucket",
+ "514": "minecraft:cod_bucket",
+ "515": "minecraft:brick",
+ "516": "minecraft:clay_ball",
+ "517": "minecraft:sugar_cane",
+ "518": "minecraft:kelp_top",
+ "519": "minecraft:dried_kelp_block",
+ "520": "minecraft:paper",
+ "521": "minecraft:book",
+ "522": "minecraft:slime_ball",
+ "523": "minecraft:chest_minecart",
+ "524": "minecraft:furnace_minecart",
+ "525": "minecraft:egg",
+ "526": "minecraft:compass",
+ "527": "minecraft:fishing_rod",
+ "528": "minecraft:clock",
+ "529": "minecraft:glowstone_dust",
+ "530": "minecraft:cod",
+ "531": "minecraft:salmon",
+ "532": "minecraft:clownfish",
+ "533": "minecraft:pufferfish",
+ "534": "minecraft:cooked_cod",
+ "535": "minecraft:cooked_salmon",
+ "536": "minecraft:ink_sac",
+ "537": "minecraft:rose_red",
+ "538": "minecraft:cactus_green",
+ "539": "minecraft:cocoa_beans",
+ "540": "minecraft:lapis_lazuli",
+ "541": "minecraft:purple_dye",
+ "542": "minecraft:cyan_dye",
+ "543": "minecraft:light_gray_dye",
+ "544": "minecraft:gray_dye",
+ "545": "minecraft:pink_dye",
+ "546": "minecraft:lime_dye",
+ "547": "minecraft:dandelion_yellow",
+ "548": "minecraft:light_blue_dye",
+ "549": "minecraft:magenta_dye",
+ "550": "minecraft:orange_dye",
+ "551": "minecraft:bone_meal",
+ "552": "minecraft:bone",
+ "553": "minecraft:sugar",
+ "554": "minecraft:cake",
+ "555": "minecraft:white_bed",
+ "556": "minecraft:orange_bed",
+ "557": "minecraft:magenta_bed",
+ "558": "minecraft:light_blue_bed",
+ "559": "minecraft:yellow_bed",
+ "560": "minecraft:lime_bed",
+ "561": "minecraft:pink_bed",
+ "562": "minecraft:gray_bed",
+ "563": "minecraft:light_gray_bed",
+ "564": "minecraft:cyan_bed",
+ "565": "minecraft:purple_bed",
+ "566": "minecraft:blue_bed",
+ "567": "minecraft:brown_bed",
+ "568": "minecraft:green_bed",
+ "569": "minecraft:red_bed",
+ "570": "minecraft:black_bed",
+ "571": "minecraft:cookie",
+ "572": "minecraft:filled_map",
+ "573": "minecraft:shears",
+ "574": "minecraft:melon",
+ "575": "minecraft:dried_kelp",
+ "576": "minecraft:pumpkin_seeds",
+ "577": "minecraft:melon_seeds",
+ "578": "minecraft:beef",
+ "579": "minecraft:cooked_beef",
+ "580": "minecraft:chicken",
+ "581": "minecraft:cooked_chicken",
+ "582": "minecraft:rotten_flesh",
+ "583": "minecraft:ender_pearl",
+ "584": "minecraft:blaze_rod",
+ "585": "minecraft:ghast_tear",
+ "586": "minecraft:gold_nugget",
+ "587": "minecraft:nether_wart",
+ "588": "minecraft:potion",
+ "589": "minecraft:glass_bottle",
+ "590": "minecraft:spider_eye",
+ "591": "minecraft:fermented_spider_eye",
+ "592": "minecraft:blaze_powder",
+ "593": "minecraft:magma_cream",
+ "594": "minecraft:brewing_stand",
+ "595": "minecraft:cauldron",
+ "596": "minecraft:ender_eye",
+ "597": "minecraft:speckled_melon",
+ "598": "minecraft:bat_spawn_egg",
+ "599": "minecraft:blaze_spawn_egg",
+ "600": "minecraft:cave_spider_spawn_egg",
+ "601": "minecraft:chicken_spawn_egg",
+ "602": "minecraft:cow_spawn_egg",
+ "603": "minecraft:creeper_spawn_egg",
+ "604": "minecraft:donkey_spawn_egg",
+ "605": "minecraft:elder_guardian_spawn_egg",
+ "606": "minecraft:enderman_spawn_egg",
+ "607": "minecraft:endermite_spawn_egg",
+ "608": "minecraft:evocation_illager_spawn_egg",
+ "609": "minecraft:ghast_spawn_egg",
+ "610": "minecraft:guardian_spawn_egg",
+ "611": "minecraft:horse_spawn_egg",
+ "612": "minecraft:husk_spawn_egg",
+ "613": "minecraft:llama_spawn_egg",
+ "614": "minecraft:magma_cube_spawn_egg",
+ "615": "minecraft:mooshroom_spawn_egg",
+ "616": "minecraft:mule_spawn_egg",
+ "617": "minecraft:ocelot_spawn_egg",
+ "618": "minecraft:parrot_spawn_egg",
+ "619": "minecraft:pig_spawn_egg",
+ "620": "minecraft:phantom_spawn_egg",
+ "621": "minecraft:polar_bear_spawn_egg",
+ "622": "minecraft:rabbit_spawn_egg",
+ "623": "minecraft:sheep_spawn_egg",
+ "624": "minecraft:shulker_spawn_egg",
+ "625": "minecraft:silverfish_spawn_egg",
+ "626": "minecraft:skeleton_spawn_egg",
+ "627": "minecraft:skeleton_horse_spawn_egg",
+ "628": "minecraft:slime_spawn_egg",
+ "629": "minecraft:spider_spawn_egg",
+ "630": "minecraft:squid_spawn_egg",
+ "631": "minecraft:stray_spawn_egg",
+ "632": "minecraft:turtle_spawn_egg",
+ "633": "minecraft:vex_spawn_egg",
+ "634": "minecraft:villager_spawn_egg",
+ "635": "minecraft:vindication_illager_spawn_egg",
+ "636": "minecraft:witch_spawn_egg",
+ "637": "minecraft:wither_skeleton_spawn_egg",
+ "638": "minecraft:wolf_spawn_egg",
+ "639": "minecraft:zombie_spawn_egg",
+ "640": "minecraft:zombie_horse_spawn_egg",
+ "641": "minecraft:zombie_pigman_spawn_egg",
+ "642": "minecraft:zombie_villager_spawn_egg",
+ "643": "minecraft:puffer_fish_spawn_egg",
+ "644": "minecraft:salmon_mob_spawn_egg",
+ "645": "minecraft:cod_mob_spawn_egg",
+ "646": "minecraft:experience_bottle",
+ "647": "minecraft:fire_charge",
+ "648": "minecraft:writable_book",
+ "649": "minecraft:written_book",
+ "650": "minecraft:emerald",
+ "651": "minecraft:item_frame",
+ "652": "minecraft:flower_pot",
+ "653": "minecraft:carrot",
+ "654": "minecraft:potato",
+ "655": "minecraft:baked_potato",
+ "656": "minecraft:poisonous_potato",
+ "657": "minecraft:map",
+ "658": "minecraft:golden_carrot",
+ "659": "minecraft:skeleton_skull",
+ "660": "minecraft:wither_skeleton_skull",
+ "661": "minecraft:player_head",
+ "662": "minecraft:zombie_head",
+ "663": "minecraft:creeper_head",
+ "664": "minecraft:dragon_head",
+ "665": "minecraft:carrot_on_a_stick",
+ "666": "minecraft:nether_star",
+ "667": "minecraft:pumpkin_pie",
+ "668": "minecraft:firework_rocket",
+ "669": "minecraft:firework_star",
+ "670": "minecraft:enchanted_book",
+ "671": "minecraft:nether_brick",
+ "672": "minecraft:quartz",
+ "673": "minecraft:tnt_minecart",
+ "674": "minecraft:hopper_minecart",
+ "675": "minecraft:prismarine_shard",
+ "676": "minecraft:prismarine_crystals",
+ "677": "minecraft:rabbit",
+ "678": "minecraft:cooked_rabbit",
+ "679": "minecraft:rabbit_stew",
+ "680": "minecraft:rabbit_foot",
+ "681": "minecraft:rabbit_hide",
+ "682": "minecraft:armor_stand",
+ "683": "minecraft:iron_horse_armor",
+ "684": "minecraft:golden_horse_armor",
+ "685": "minecraft:diamond_horse_armor",
+ "686": "minecraft:lead",
+ "687": "minecraft:name_tag",
+ "688": "minecraft:command_block_minecart",
+ "689": "minecraft:mutton",
+ "690": "minecraft:cooked_mutton",
+ "691": "minecraft:white_banner",
+ "692": "minecraft:orange_banner",
+ "693": "minecraft:magenta_banner",
+ "694": "minecraft:light_blue_banner",
+ "695": "minecraft:yellow_banner",
+ "696": "minecraft:lime_banner",
+ "697": "minecraft:pink_banner",
+ "698": "minecraft:gray_banner",
+ "699": "minecraft:light_gray_banner",
+ "700": "minecraft:cyan_banner",
+ "701": "minecraft:purple_banner",
+ "702": "minecraft:blue_banner",
+ "703": "minecraft:brown_banner",
+ "704": "minecraft:green_banner",
+ "705": "minecraft:red_banner",
+ "706": "minecraft:black_banner",
+ "707": "minecraft:end_crystal",
+ "708": "minecraft:chorus_fruit",
+ "709": "minecraft:chorus_fruit_popped",
+ "710": "minecraft:beetroot",
+ "711": "minecraft:beetroot_seeds",
+ "712": "minecraft:beetroot_soup",
+ "713": "minecraft:dragon_breath",
+ "714": "minecraft:splash_potion",
+ "715": "minecraft:spectral_arrow",
+ "716": "minecraft:tipped_arrow",
+ "717": "minecraft:lingering_potion",
+ "718": "minecraft:shield",
+ "719": "minecraft:elytra",
+ "720": "minecraft:spruce_boat",
+ "721": "minecraft:birch_boat",
+ "722": "minecraft:jungle_boat",
+ "723": "minecraft:acacia_boat",
+ "724": "minecraft:dark_oak_boat",
+ "725": "minecraft:totem_of_undying",
+ "726": "minecraft:shulker_shell",
+ "727": "minecraft:iron_nugget",
+ "728": "minecraft:knowledge_book",
+ "729": "minecraft:debug_stick",
+ "730": "minecraft:music_disc_13",
+ "731": "minecraft:music_disc_cat",
+ "732": "minecraft:music_disc_blocks",
+ "733": "minecraft:music_disc_chirp",
+ "734": "minecraft:music_disc_far",
+ "735": "minecraft:music_disc_mall",
+ "736": "minecraft:music_disc_mellohi",
+ "737": "minecraft:music_disc_stal",
+ "738": "minecraft:music_disc_strad",
+ "739": "minecraft:music_disc_ward",
+ "740": "minecraft:music_disc_11",
+ "741": "minecraft:music_disc_wait",
+ "742": "minecraft:trident"
}
}
\ No newline at end of file
diff --git a/jar/pom.xml b/jar/pom.xml
index 736d9d443..cfd2de710 100644
--- a/jar/pom.xml
+++ b/jar/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 1.4.0-18w08a
+ 1.4.0-18w08b
4.0.0
viaversion-jar
diff --git a/pom.xml b/pom.xml
index 0e7e6fdc2..63402cb96 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
us.myles
viaversion-parent
- 1.4.0-18w08a
+ 1.4.0-18w08b
pom
viaversion-parent
diff --git a/sponge-legacy/pom.xml b/sponge-legacy/pom.xml
index 59e0f2b21..20ade2f3d 100644
--- a/sponge-legacy/pom.xml
+++ b/sponge-legacy/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 1.4.0-18w08a
+ 1.4.0-18w08b
4.0.0
diff --git a/sponge/pom.xml b/sponge/pom.xml
index 1616f4ae6..1052b326b 100644
--- a/sponge/pom.xml
+++ b/sponge/pom.xml
@@ -5,7 +5,7 @@
viaversion-parent
us.myles
- 1.4.0-18w08a
+ 1.4.0-18w08b
4.0.0