mirror of
https://github.com/Auxilor/EcoMobs.git
synced 2025-12-21 16:09:24 +00:00
Fixed missing nms impls
This commit is contained in:
@@ -0,0 +1,22 @@
|
|||||||
|
package com.willfp.ecobosses.proxy.v1_15_R1;
|
||||||
|
|
||||||
|
import com.willfp.ecobosses.proxy.proxies.CustomEntitySpawnerProxy;
|
||||||
|
import com.willfp.ecobosses.proxy.proxies.CustomIllusionerProxy;
|
||||||
|
import com.willfp.ecobosses.proxy.util.CustomEntity;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public class CustomEntitySpawner implements CustomEntitySpawnerProxy {
|
||||||
|
@Override
|
||||||
|
public <T extends LivingEntity> @Nullable T spawnCustomEntity(final Class<? extends CustomEntity<? extends LivingEntity>> entityClass,
|
||||||
|
@NotNull final Location location) {
|
||||||
|
if (entityClass.equals(CustomIllusionerProxy.class)) {
|
||||||
|
return (T) CustomIllusioner.spawn(location);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -18,8 +18,7 @@ import net.minecraft.server.v1_15_R1.PathfinderGoalNearestAttackableTarget;
|
|||||||
import net.minecraft.server.v1_15_R1.PathfinderGoalRandomStroll;
|
import net.minecraft.server.v1_15_R1.PathfinderGoalRandomStroll;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_15_R1.CraftWorld;
|
import org.bukkit.craftbukkit.v1_15_R1.CraftWorld;
|
||||||
import org.bukkit.craftbukkit.v1_15_R1.util.CraftNamespacedKey;
|
import org.bukkit.entity.Illusioner;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class CustomIllusioner extends EntityIllagerIllusioner implements CustomIllusionerProxy {
|
public class CustomIllusioner extends EntityIllagerIllusioner implements CustomIllusionerProxy {
|
||||||
@@ -31,8 +30,6 @@ public class CustomIllusioner extends EntityIllagerIllusioner implements CustomI
|
|||||||
public CustomIllusioner(@NotNull final Location location) {
|
public CustomIllusioner(@NotNull final Location location) {
|
||||||
super(EntityTypes.ILLUSIONER, ((CraftWorld) location.getWorld()).getHandle());
|
super(EntityTypes.ILLUSIONER, ((CraftWorld) location.getWorld()).getHandle());
|
||||||
|
|
||||||
this.getBukkitEntity().getPersistentDataContainer().set(CraftNamespacedKey.fromString("ecobosses:type"), PersistentDataType.STRING, "custom_illusioner");
|
|
||||||
|
|
||||||
this.setPosition(location.getX(), location.getY(), location.getZ());
|
this.setPosition(location.getX(), location.getY(), location.getZ());
|
||||||
|
|
||||||
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
||||||
@@ -51,10 +48,15 @@ public class CustomIllusioner extends EntityIllagerIllusioner implements CustomI
|
|||||||
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, false)).a(300));
|
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, false)).a(300));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/**
|
||||||
public CustomIllusionerProxy spawn(@NotNull final Location location) {
|
* Spawn illusioner.
|
||||||
|
*
|
||||||
|
* @param location The location.
|
||||||
|
* @return The illusioner.
|
||||||
|
*/
|
||||||
|
public static Illusioner spawn(@NotNull final Location location) {
|
||||||
CustomIllusioner illusioner = new CustomIllusioner(location);
|
CustomIllusioner illusioner = new CustomIllusioner(location);
|
||||||
((CraftWorld) location.getWorld()).getHandle().addEntity(illusioner);
|
((CraftWorld) location.getWorld()).getHandle().addEntity(illusioner);
|
||||||
return illusioner;
|
return (Illusioner) illusioner.getBukkitEntity();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.willfp.ecobosses.proxy.v1_16_R2;
|
||||||
|
|
||||||
|
import com.willfp.ecobosses.proxy.proxies.CustomEntitySpawnerProxy;
|
||||||
|
import com.willfp.ecobosses.proxy.proxies.CustomIllusionerProxy;
|
||||||
|
import com.willfp.ecobosses.proxy.util.CustomEntity;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public class CustomEntitySpawner implements CustomEntitySpawnerProxy {
|
||||||
|
@Override
|
||||||
|
public <T extends LivingEntity> @Nullable T spawnCustomEntity(final Class<? extends CustomEntity<? extends LivingEntity>> entityClass,
|
||||||
|
@NotNull final Location location) {
|
||||||
|
if (entityClass.equals(CustomIllusionerProxy.class)) {
|
||||||
|
return (T) CustomIllusioner.spawn(location);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -18,8 +18,7 @@ import net.minecraft.server.v1_16_R2.PathfinderGoalNearestAttackableTarget;
|
|||||||
import net.minecraft.server.v1_16_R2.PathfinderGoalRandomStroll;
|
import net.minecraft.server.v1_16_R2.PathfinderGoalRandomStroll;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
||||||
import org.bukkit.craftbukkit.v1_16_R2.util.CraftNamespacedKey;
|
import org.bukkit.entity.Illusioner;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class CustomIllusioner extends EntityIllagerIllusioner implements CustomIllusionerProxy {
|
public class CustomIllusioner extends EntityIllagerIllusioner implements CustomIllusionerProxy {
|
||||||
@@ -31,8 +30,6 @@ public class CustomIllusioner extends EntityIllagerIllusioner implements CustomI
|
|||||||
public CustomIllusioner(@NotNull final Location location) {
|
public CustomIllusioner(@NotNull final Location location) {
|
||||||
super(EntityTypes.ILLUSIONER, ((CraftWorld) location.getWorld()).getHandle());
|
super(EntityTypes.ILLUSIONER, ((CraftWorld) location.getWorld()).getHandle());
|
||||||
|
|
||||||
this.getBukkitEntity().getPersistentDataContainer().set(CraftNamespacedKey.fromString("ecobosses:type"), PersistentDataType.STRING, "custom_illusioner");
|
|
||||||
|
|
||||||
this.setPosition(location.getX(), location.getY(), location.getZ());
|
this.setPosition(location.getX(), location.getY(), location.getZ());
|
||||||
|
|
||||||
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
||||||
@@ -51,10 +48,15 @@ public class CustomIllusioner extends EntityIllagerIllusioner implements CustomI
|
|||||||
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, false)).a(300));
|
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, false)).a(300));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/**
|
||||||
public CustomIllusionerProxy spawn(@NotNull final Location location) {
|
* Spawn illusioner.
|
||||||
|
*
|
||||||
|
* @param location The location.
|
||||||
|
* @return The illusioner.
|
||||||
|
*/
|
||||||
|
public static Illusioner spawn(@NotNull final Location location) {
|
||||||
CustomIllusioner illusioner = new CustomIllusioner(location);
|
CustomIllusioner illusioner = new CustomIllusioner(location);
|
||||||
((CraftWorld) location.getWorld()).getHandle().addEntity(illusioner);
|
((CraftWorld) location.getWorld()).getHandle().addEntity(illusioner);
|
||||||
return illusioner;
|
return (Illusioner) illusioner.getBukkitEntity();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.willfp.ecobosses.proxy.v1_16_R3;
|
||||||
|
|
||||||
|
import com.willfp.ecobosses.proxy.proxies.CustomEntitySpawnerProxy;
|
||||||
|
import com.willfp.ecobosses.proxy.proxies.CustomIllusionerProxy;
|
||||||
|
import com.willfp.ecobosses.proxy.util.CustomEntity;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public class CustomEntitySpawner implements CustomEntitySpawnerProxy {
|
||||||
|
@Override
|
||||||
|
public <T extends LivingEntity> @Nullable T spawnCustomEntity(final Class<? extends CustomEntity<? extends LivingEntity>> entityClass,
|
||||||
|
@NotNull final Location location) {
|
||||||
|
if (entityClass.equals(CustomIllusionerProxy.class)) {
|
||||||
|
return (T) CustomIllusioner.spawn(location);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -18,8 +18,7 @@ import net.minecraft.server.v1_16_R3.PathfinderGoalNearestAttackableTarget;
|
|||||||
import net.minecraft.server.v1_16_R3.PathfinderGoalRandomStroll;
|
import net.minecraft.server.v1_16_R3.PathfinderGoalRandomStroll;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_16_R3.CraftWorld;
|
import org.bukkit.craftbukkit.v1_16_R3.CraftWorld;
|
||||||
import org.bukkit.craftbukkit.v1_16_R3.util.CraftNamespacedKey;
|
import org.bukkit.entity.Illusioner;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class CustomIllusioner extends EntityIllagerIllusioner implements CustomIllusionerProxy {
|
public class CustomIllusioner extends EntityIllagerIllusioner implements CustomIllusionerProxy {
|
||||||
@@ -31,8 +30,6 @@ public class CustomIllusioner extends EntityIllagerIllusioner implements CustomI
|
|||||||
public CustomIllusioner(@NotNull final Location location) {
|
public CustomIllusioner(@NotNull final Location location) {
|
||||||
super(EntityTypes.ILLUSIONER, ((CraftWorld) location.getWorld()).getHandle());
|
super(EntityTypes.ILLUSIONER, ((CraftWorld) location.getWorld()).getHandle());
|
||||||
|
|
||||||
this.getBukkitEntity().getPersistentDataContainer().set(CraftNamespacedKey.fromString("ecobosses:type"), PersistentDataType.STRING, "custom_illusioner");
|
|
||||||
|
|
||||||
this.setPosition(location.getX(), location.getY(), location.getZ());
|
this.setPosition(location.getX(), location.getY(), location.getZ());
|
||||||
|
|
||||||
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
||||||
@@ -50,4 +47,16 @@ public class CustomIllusioner extends EntityIllagerIllusioner implements CustomI
|
|||||||
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300));
|
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300));
|
||||||
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, false)).a(300));
|
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, false)).a(300));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Spawn illusioner.
|
||||||
|
*
|
||||||
|
* @param location The location.
|
||||||
|
* @return The illusioner.
|
||||||
|
*/
|
||||||
|
public static Illusioner spawn(@NotNull final Location location) {
|
||||||
|
CustomIllusioner illusioner = new CustomIllusioner(location);
|
||||||
|
((CraftWorld) location.getWorld()).getHandle().addEntity(illusioner);
|
||||||
|
return (Illusioner) illusioner.getBukkitEntity();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user