fix
This commit is contained in:
parent
0ec1c828a5
commit
263bd058a2
3 changed files with 13 additions and 5 deletions
|
@ -38,6 +38,8 @@ public interface EntityLibAPI<T> {
|
||||||
|
|
||||||
@NotNull WrapperPlayer createPlayer(UserProfile profile);
|
@NotNull WrapperPlayer createPlayer(UserProfile profile);
|
||||||
|
|
||||||
|
@NotNull WrapperPlayer createPlayer(UserProfile profile, int entityId);
|
||||||
|
|
||||||
@NotNull <T extends WrapperEntity> T spawnEntity(@NotNull Class<T> wrapperClass, @NotNull EntityType entityType, @NotNull Location location);
|
@NotNull <T extends WrapperEntity> T spawnEntity(@NotNull Class<T> wrapperClass, @NotNull EntityType entityType, @NotNull Location location);
|
||||||
|
|
||||||
@NotNull WrapperEntity spawnEntity(@NotNull EntityType entityType, @NotNull Location location);
|
@NotNull WrapperEntity spawnEntity(@NotNull EntityType entityType, @NotNull Location location);
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.github.retrooper.packetevents.protocol.player.HumanoidArm;
|
||||||
import com.github.retrooper.packetevents.protocol.potion.PotionType;
|
import com.github.retrooper.packetevents.protocol.potion.PotionType;
|
||||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityAnimation;
|
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityAnimation;
|
||||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityEffect;
|
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityEffect;
|
||||||
|
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerTeams;
|
||||||
import me.tofaa.entitylib.meta.EntityMeta;
|
import me.tofaa.entitylib.meta.EntityMeta;
|
||||||
import me.tofaa.entitylib.meta.types.LivingEntityMeta;
|
import me.tofaa.entitylib.meta.types.LivingEntityMeta;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
@ -16,6 +17,7 @@ public class WrapperLivingEntity extends WrapperEntity{
|
||||||
|
|
||||||
private final WrapperEntityEquipment equipment;
|
private final WrapperEntityEquipment equipment;
|
||||||
|
|
||||||
|
|
||||||
public WrapperLivingEntity(int entityId, UUID uuid, EntityType entityType, EntityMeta entityMeta) {
|
public WrapperLivingEntity(int entityId, UUID uuid, EntityType entityType, EntityMeta entityMeta) {
|
||||||
super(entityId, uuid, entityType, entityMeta);
|
super(entityId, uuid, entityType, entityMeta);
|
||||||
this.equipment = new WrapperEntityEquipment(this);
|
this.equipment = new WrapperEntityEquipment(this);
|
||||||
|
|
|
@ -96,16 +96,20 @@ public abstract class AbstractEntityLibAPI<P, T> implements EntityLibAPI<T> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull WrapperPlayer createPlayer(UserProfile profile) {
|
public @NotNull WrapperPlayer createPlayer(UserProfile profile) {
|
||||||
if (getEntity(profile.getUUID()) != null) {
|
|
||||||
throw new IllegalArgumentException("Entity with UUID " + profile.getUUID() + " already exists in this world.");
|
|
||||||
}
|
|
||||||
|
|
||||||
int id = EntityLib.getPlatform().getEntityIdProvider().provide(profile.getUUID(), EntityTypes.PLAYER);
|
int id = EntityLib.getPlatform().getEntityIdProvider().provide(profile.getUUID(), EntityTypes.PLAYER);
|
||||||
while (entitiesById.containsKey
|
while (entitiesById.containsKey
|
||||||
(id)) {
|
(id)) {
|
||||||
id = EntityLib.getPlatform().getEntityIdProvider().provide(profile.getUUID(), EntityTypes.PLAYER);
|
id = EntityLib.getPlatform().getEntityIdProvider().provide(profile.getUUID(), EntityTypes.PLAYER);
|
||||||
}
|
}
|
||||||
WrapperPlayer player = new WrapperPlayer(profile, id);
|
return createPlayer(profile, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull WrapperPlayer createPlayer(UserProfile profile, int entityId) {
|
||||||
|
if (getEntity(profile.getUUID()) != null) {
|
||||||
|
throw new IllegalArgumentException("Entity with UUID " + profile.getUUID() + " already exists in this world.");
|
||||||
|
}
|
||||||
|
WrapperPlayer player = new WrapperPlayer(profile, entityId);
|
||||||
entities.put(player.getUuid(), player);
|
entities.put(player.getUuid(), player);
|
||||||
entitiesById.put(player.getEntityId(), player);
|
entitiesById.put(player.getEntityId(), player);
|
||||||
return player;
|
return player;
|
||||||
|
|
Loading…
Reference in a new issue