villager_profession property for 1.13 and below
This commit is contained in:
parent
cc73738ac1
commit
7607541583
2 changed files with 34 additions and 18 deletions
|
@ -1,29 +1,40 @@
|
||||||
package lol.pyr.znpcsplus.util;
|
package lol.pyr.znpcsplus.util;
|
||||||
|
|
||||||
public enum VillagerProfession {
|
public enum VillagerProfession {
|
||||||
NONE(0),
|
NONE(0, 0),
|
||||||
ARMORER(1),
|
ARMORER(1, 3),
|
||||||
BUTCHER(2),
|
BUTCHER(2, 4),
|
||||||
CARTOGRAPHER(3),
|
CARTOGRAPHER(3, 1),
|
||||||
CLERIC(4),
|
CLERIC(4, 2),
|
||||||
FARMER(5),
|
FARMER(5, 0),
|
||||||
FISHERMAN(6),
|
FISHERMAN(6, 0),
|
||||||
FLETCHER(7),
|
FLETCHER(7, 0),
|
||||||
LEATHER_WORKER(8),
|
LEATHER_WORKER(8, 4),
|
||||||
LIBRARIAN(9),
|
LIBRARIAN(9, 1),
|
||||||
MASON(10),
|
MASON(10),
|
||||||
NITWIT(11),
|
NITWIT(11, 5),
|
||||||
SHEPHERD(12),
|
SHEPHERD(12, 0),
|
||||||
TOOL_SMITH(13),
|
TOOL_SMITH(13, 3),
|
||||||
WEAPON_SMITH(14);
|
WEAPON_SMITH(14, 3);
|
||||||
|
|
||||||
private final int id;
|
private final int id;
|
||||||
|
private final int legacyId;
|
||||||
|
|
||||||
VillagerProfession(int id) {
|
VillagerProfession(int id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
this.legacyId = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
VillagerProfession(int id, int legacyId) {
|
||||||
|
this.id = id;
|
||||||
|
this.legacyId = legacyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getLegacyId() {
|
||||||
|
return legacyId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -373,6 +373,15 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
||||||
register(new EncodedByteProperty<>("sheep_color", DyeColor.WHITE, sheepIndex, DyeColor::getWoolData));
|
register(new EncodedByteProperty<>("sheep_color", DyeColor.WHITE, sheepIndex, DyeColor::getWoolData));
|
||||||
register(new BitsetProperty("sheep_sheared", sheepIndex, 0x10, false, legacyBooleans)); // no need to link because sheep_sheared is only visible when sheep_color is WHITE
|
register(new BitsetProperty("sheep_sheared", sheepIndex, 0x10, false, legacyBooleans)); // no need to link because sheep_sheared is only visible when sheep_color is WHITE
|
||||||
|
|
||||||
|
// Villager
|
||||||
|
int villagerIndex;
|
||||||
|
if (ver.isOlderThan(ServerVersion.V_1_14)) {
|
||||||
|
if (ver.isNewerThanOrEquals(ServerVersion.V_1_10)) villagerIndex = 13;
|
||||||
|
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_9)) villagerIndex = 12;
|
||||||
|
else villagerIndex = 16;
|
||||||
|
register(new EncodedIntegerProperty<>("villager_profession", VillagerProfession.NONE, villagerIndex, VillagerProfession::getLegacyId));
|
||||||
|
}
|
||||||
|
|
||||||
// Wolf
|
// Wolf
|
||||||
int wolfIndex;
|
int wolfIndex;
|
||||||
if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) wolfIndex = 19;
|
if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) wolfIndex = 19;
|
||||||
|
@ -501,12 +510,8 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
||||||
register(new CustomTypeProperty<>("pose", 6, NpcPose.STANDING, EntityDataTypes.ENTITY_POSE, npcPose -> EntityPose.valueOf(npcPose.name())));
|
register(new CustomTypeProperty<>("pose", 6, NpcPose.STANDING, EntityDataTypes.ENTITY_POSE, npcPose -> EntityPose.valueOf(npcPose.name())));
|
||||||
|
|
||||||
// Villager
|
// Villager
|
||||||
final int villagerIndex;
|
|
||||||
if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) villagerIndex = 18;
|
if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) villagerIndex = 18;
|
||||||
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_15)) villagerIndex = 17;
|
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_15)) villagerIndex = 17;
|
||||||
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_14)) villagerIndex = 16;
|
|
||||||
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_10)) villagerIndex = 13;
|
|
||||||
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_9)) villagerIndex = 12;
|
|
||||||
else villagerIndex = 16;
|
else villagerIndex = 16;
|
||||||
register(new VillagerTypeProperty("villager_type", villagerIndex, VillagerType.PLAINS));
|
register(new VillagerTypeProperty("villager_type", villagerIndex, VillagerType.PLAINS));
|
||||||
register(new VillagerProfessionProperty("villager_profession", villagerIndex, VillagerProfession.NONE));
|
register(new VillagerProfessionProperty("villager_profession", villagerIndex, VillagerProfession.NONE));
|
||||||
|
|
Loading…
Reference in a new issue