mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-12-23 01:27:40 +01:00
1.12.3 Mob Changes
This commit is contained in:
parent
4a68758975
commit
a4a09299e7
@ -51,6 +51,14 @@ public enum Mob {
|
|||||||
BAT("Bat", Enemies.FRIENDLY, EntityType.BAT),
|
BAT("Bat", Enemies.FRIENDLY, EntityType.BAT),
|
||||||
WITCH("Witch", Enemies.ENEMY, EntityType.WITCH),
|
WITCH("Witch", Enemies.ENEMY, EntityType.WITCH),
|
||||||
BOAT("Boat", Enemies.NEUTRAL, MobCompat.OAK_BOAT),
|
BOAT("Boat", Enemies.NEUTRAL, MobCompat.OAK_BOAT),
|
||||||
|
ACACIA_BOAT("AcaciaBoat", Enemies.NEUTRAL, "ACACIA_BOAT"),
|
||||||
|
DARK_OAK_BOAT("DarkOakBoat", Enemies.NEUTRAL, "DARK_OAK_BOAT"),
|
||||||
|
BIRCH_BOAT("BirchBoat", Enemies.NEUTRAL, "BIRCH_BOAT"),
|
||||||
|
JUNGLE_BOAT("JungleBoat", Enemies.NEUTRAL, "JUNGLE_BOAT"),
|
||||||
|
SPRUCE_BOAT("SpruceBoat", Enemies.NEUTRAL, "SPRUCE_BOAT"),
|
||||||
|
MANGROVE_BOAT("MangroveBoat", Enemies.NEUTRAL, "MANGROVE_BOAT"),
|
||||||
|
CHERRY_BOAT("CherryBoat", Enemies.NEUTRAL, "CHERRY_BOAT"),
|
||||||
|
BAMBOO_RAFT("BambooRaft", Enemies.NEUTRAL, "BAMBOO_RAFT"),
|
||||||
MINECART("Minecart", Enemies.NEUTRAL, EntityType.MINECART),
|
MINECART("Minecart", Enemies.NEUTRAL, EntityType.MINECART),
|
||||||
MINECART_CHEST("ChestMinecart", Enemies.NEUTRAL, MobCompat.CHEST_MINECART),
|
MINECART_CHEST("ChestMinecart", Enemies.NEUTRAL, MobCompat.CHEST_MINECART),
|
||||||
MINECART_FURNACE("FurnaceMinecart", Enemies.NEUTRAL, MobCompat.FURNACE_MINECART),
|
MINECART_FURNACE("FurnaceMinecart", Enemies.NEUTRAL, MobCompat.FURNACE_MINECART),
|
||||||
|
@ -5,9 +5,7 @@ import com.earth2me.essentials.utils.RegistryUtil;
|
|||||||
import com.earth2me.essentials.utils.VersionUtil;
|
import com.earth2me.essentials.utils.VersionUtil;
|
||||||
import net.ess3.nms.refl.ReflUtil;
|
import net.ess3.nms.refl.ReflUtil;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.TreeSpecies;
|
|
||||||
import org.bukkit.entity.Axolotl;
|
import org.bukkit.entity.Axolotl;
|
||||||
import org.bukkit.entity.Boat;
|
|
||||||
import org.bukkit.entity.Camel;
|
import org.bukkit.entity.Camel;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
@ -19,6 +17,7 @@ import org.bukkit.entity.Ocelot;
|
|||||||
import org.bukkit.entity.Panda;
|
import org.bukkit.entity.Panda;
|
||||||
import org.bukkit.entity.Parrot;
|
import org.bukkit.entity.Parrot;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.entity.Salmon;
|
||||||
import org.bukkit.entity.TropicalFish;
|
import org.bukkit.entity.TropicalFish;
|
||||||
import org.bukkit.entity.Villager;
|
import org.bukkit.entity.Villager;
|
||||||
import org.bukkit.entity.Wolf;
|
import org.bukkit.entity.Wolf;
|
||||||
@ -48,6 +47,7 @@ public final class MobCompat {
|
|||||||
public static final EntityType GOAT = getEntityType("GOAT");
|
public static final EntityType GOAT = getEntityType("GOAT");
|
||||||
public static final EntityType FROG = getEntityType("FROG");
|
public static final EntityType FROG = getEntityType("FROG");
|
||||||
public static final EntityType CAMEL = getEntityType("CAMEL");
|
public static final EntityType CAMEL = getEntityType("CAMEL");
|
||||||
|
public static final EntityType SALMON = getEntityType("SALMON");
|
||||||
|
|
||||||
// Constants for mobs that have changed since earlier versions
|
// Constants for mobs that have changed since earlier versions
|
||||||
public static final EntityType CAT = getEntityType("CAT", "OCELOT");
|
public static final EntityType CAT = getEntityType("CAT", "OCELOT");
|
||||||
@ -194,24 +194,6 @@ public final class MobCompat {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setBoatVariant(final Entity entity, final BoatVariant variant) {
|
|
||||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_9_R01)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
final Boat boat;
|
|
||||||
if (entity instanceof Boat) {
|
|
||||||
boat = (Boat) entity;
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_19_R01)) {
|
|
||||||
//noinspection deprecation
|
|
||||||
boat.setWoodType(TreeSpecies.valueOf(variant.getTreeSpecies()));
|
|
||||||
} else {
|
|
||||||
boat.setBoatType(Boat.Type.valueOf(variant.getBoatType()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setCamelSaddle(final Entity entity, final Player target) {
|
public static void setCamelSaddle(final Entity entity, final Player target) {
|
||||||
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_20_1_R01)) {
|
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_20_1_R01)) {
|
||||||
return;
|
return;
|
||||||
@ -237,6 +219,16 @@ public final class MobCompat {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setSalmonSize(Entity spawned, String s) {
|
||||||
|
if (VersionUtil.getServerBukkitVersion().isLowerThan(VersionUtil.v1_21_3_R01)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (spawned instanceof org.bukkit.entity.Salmon) {
|
||||||
|
((Salmon) spawned).setVariant(Salmon.Variant.valueOf(s));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public enum CatType {
|
public enum CatType {
|
||||||
// These are (loosely) Mojang names for the cats
|
// These are (loosely) Mojang names for the cats
|
||||||
SIAMESE("SIAMESE", "SIAMESE_CAT"),
|
SIAMESE("SIAMESE", "SIAMESE_CAT"),
|
||||||
@ -300,35 +292,4 @@ public final class MobCompat {
|
|||||||
return RegistryUtil.valueOf(Villager.Profession.class, newProfession, oldProfession);
|
return RegistryUtil.valueOf(Villager.Profession.class, newProfession, oldProfession);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum BoatVariant {
|
|
||||||
// Mappings for TreeSpecies names
|
|
||||||
ACACIA("ACACIA", "ACACIA"),
|
|
||||||
BIRCH("BIRCH", "BIRCH"),
|
|
||||||
DARKOAK("DARK_OAK", "DARK_OAK"),
|
|
||||||
GENERIC("GENERIC", "OAK"),
|
|
||||||
JUNGLE("JUNGLE", "JUNGLE"),
|
|
||||||
REDWOOD("REDWOOD", "SPRUCE"),
|
|
||||||
// Mappings for Boat.Type names (falling back to GENERIC where undefined)
|
|
||||||
OAK("GENERIC", "OAK"),
|
|
||||||
SPRUCE("REDWOOD", "SPRUCE"),
|
|
||||||
MANGROVE("GENERIC", "MANGROVE"),
|
|
||||||
;
|
|
||||||
|
|
||||||
private final String treeSpecies;
|
|
||||||
private final String boatType;
|
|
||||||
|
|
||||||
BoatVariant(final String treeSpecies, final String boatType) {
|
|
||||||
this.treeSpecies = treeSpecies;
|
|
||||||
this.boatType = boatType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTreeSpecies() {
|
|
||||||
return treeSpecies;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBoatType() {
|
|
||||||
return boatType;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import net.ess3.api.TranslatableException;
|
|||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Ageable;
|
import org.bukkit.entity.Ageable;
|
||||||
import org.bukkit.entity.Boat;
|
|
||||||
import org.bukkit.entity.ChestedHorse;
|
import org.bukkit.entity.ChestedHorse;
|
||||||
import org.bukkit.entity.Creeper;
|
import org.bukkit.entity.Creeper;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
@ -199,15 +198,6 @@ public enum MobData {
|
|||||||
TEMPERATE_FROG("temperate", MobCompat.FROG, "frog:TEMPERATE", true),
|
TEMPERATE_FROG("temperate", MobCompat.FROG, "frog:TEMPERATE", true),
|
||||||
WARM_FROG("warm", MobCompat.FROG, "frog:WARM", true),
|
WARM_FROG("warm", MobCompat.FROG, "frog:WARM", true),
|
||||||
COLD_FROG("cold", MobCompat.FROG, "frog:COLD", true),
|
COLD_FROG("cold", MobCompat.FROG, "frog:COLD", true),
|
||||||
ACACIA_BOAT("acacia", Boat.class, MobCompat.BoatVariant.ACACIA, true),
|
|
||||||
BIRCH_BOAT("birch", Boat.class, MobCompat.BoatVariant.BIRCH, true),
|
|
||||||
DARK_OAK_BOAT("darkoak", Boat.class, MobCompat.BoatVariant.DARKOAK, true),
|
|
||||||
GENERIC_BOAT("generic", Boat.class, MobCompat.BoatVariant.GENERIC, true),
|
|
||||||
JUNGLE_BOAT("jungle", Boat.class, MobCompat.BoatVariant.JUNGLE, true),
|
|
||||||
REDWOOD_BOAT("redwood", Boat.class, MobCompat.BoatVariant.REDWOOD, true),
|
|
||||||
MANGROVE_BOAT("mangrove", Boat.class, MobCompat.BoatVariant.MANGROVE, true),
|
|
||||||
OAK_BOAT("oak", Boat.class, MobCompat.BoatVariant.OAK, true),
|
|
||||||
SPRUCE_BOAT("spruce", Boat.class, MobCompat.BoatVariant.SPRUCE, true),
|
|
||||||
SADDLE_CAMEL("saddle", MobCompat.CAMEL, Data.CAMELSADDLE, true),
|
SADDLE_CAMEL("saddle", MobCompat.CAMEL, Data.CAMELSADDLE, true),
|
||||||
PALE_WOLF("pale", EntityType.WOLF, "wolf:PALE", true),
|
PALE_WOLF("pale", EntityType.WOLF, "wolf:PALE", true),
|
||||||
SPOTTED_WOLF("spotted", EntityType.WOLF, "wolf:PALE", true),
|
SPOTTED_WOLF("spotted", EntityType.WOLF, "wolf:PALE", true),
|
||||||
@ -218,6 +208,9 @@ public enum MobData {
|
|||||||
WOODS_WOLF("woods", EntityType.WOLF, "wolf:WOODS", true),
|
WOODS_WOLF("woods", EntityType.WOLF, "wolf:WOODS", true),
|
||||||
CHESTNUT_WOLF("chestnut", EntityType.WOLF, "wolf:CHESTNUT", true),
|
CHESTNUT_WOLF("chestnut", EntityType.WOLF, "wolf:CHESTNUT", true),
|
||||||
STRIPED_WOLF("striped", EntityType.WOLF, "wolf:STRIPED", true),
|
STRIPED_WOLF("striped", EntityType.WOLF, "wolf:STRIPED", true),
|
||||||
|
SMALL_SALMON("small", MobCompat.SALMON, "salmon:SMALL", true),
|
||||||
|
MEDIUM_SALMON("medium", MobCompat.SALMON, "salmon:MEDIUM", true),
|
||||||
|
LARGE_SALMON("large", MobCompat.SALMON, "salmon:LARGE", true),
|
||||||
;
|
;
|
||||||
|
|
||||||
final private String nickname;
|
final private String nickname;
|
||||||
@ -398,8 +391,6 @@ public enum MobData {
|
|||||||
((Goat) spawned).setScreaming(true);
|
((Goat) spawned).setScreaming(true);
|
||||||
} else if (this.value.equals(Data.CAMELSADDLE)) {
|
} else if (this.value.equals(Data.CAMELSADDLE)) {
|
||||||
MobCompat.setCamelSaddle(spawned, target);
|
MobCompat.setCamelSaddle(spawned, target);
|
||||||
} else if (this.value instanceof MobCompat.BoatVariant) {
|
|
||||||
MobCompat.setBoatVariant(spawned, (MobCompat.BoatVariant) this.value);
|
|
||||||
} else if (this.value instanceof String) {
|
} else if (this.value instanceof String) {
|
||||||
final String[] split = ((String) this.value).split(":");
|
final String[] split = ((String) this.value).split(":");
|
||||||
switch (split[0]) {
|
switch (split[0]) {
|
||||||
@ -436,6 +427,9 @@ public enum MobData {
|
|||||||
case "wolf":
|
case "wolf":
|
||||||
MobCompat.setWolfVariant(spawned, split[1]);
|
MobCompat.setWolfVariant(spawned, split[1]);
|
||||||
break;
|
break;
|
||||||
|
case "salmon":
|
||||||
|
MobCompat.setSalmonSize(spawned, split[1]);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Essentials.getWrappedLogger().warning("Unknown mob data type: " + this.toString());
|
Essentials.getWrappedLogger().warning("Unknown mob data type: " + this.toString());
|
||||||
|
Loading…
Reference in New Issue
Block a user