painting provider
This commit is contained in:
parent
e9dc95275c
commit
0d99f705e8
2 changed files with 20 additions and 5 deletions
|
@ -1,6 +1,7 @@
|
||||||
package me.tofaa.entitylib.meta.other;
|
package me.tofaa.entitylib.meta.other;
|
||||||
|
|
||||||
import com.github.retrooper.packetevents.protocol.world.Direction;
|
import com.github.retrooper.packetevents.protocol.world.Direction;
|
||||||
|
import com.github.retrooper.packetevents.protocol.world.PaintingType;
|
||||||
import me.tofaa.entitylib.meta.EntityMeta;
|
import me.tofaa.entitylib.meta.EntityMeta;
|
||||||
import me.tofaa.entitylib.meta.Metadata;
|
import me.tofaa.entitylib.meta.Metadata;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
@ -115,6 +116,10 @@ public class PaintingMeta extends EntityMeta {
|
||||||
return this.height;
|
return this.height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PaintingType asProtocolType() {
|
||||||
|
return PaintingType.getById(this.ordinal());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
package me.tofaa.entitylib.wrapper.spawning;
|
package me.tofaa.entitylib.wrapper.spawning;
|
||||||
|
|
||||||
import com.github.retrooper.packetevents.protocol.world.Location;
|
import com.github.retrooper.packetevents.protocol.world.Location;
|
||||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnEntity;
|
import com.github.retrooper.packetevents.wrapper.play.server.*;
|
||||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnExperienceOrb;
|
import me.tofaa.entitylib.meta.other.PaintingMeta;
|
||||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnLivingEntity;
|
|
||||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnWeatherEntity;
|
|
||||||
import me.tofaa.entitylib.utils.Check;
|
import me.tofaa.entitylib.utils.Check;
|
||||||
import me.tofaa.entitylib.wrapper.WrapperExperienceOrbEntity;
|
import me.tofaa.entitylib.wrapper.WrapperExperienceOrbEntity;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
interface SpawnPacketProviders {
|
interface SpawnPacketProviders {
|
||||||
|
@ -41,9 +40,20 @@ interface SpawnPacketProviders {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@NotNull SpawnPacketProvider<WrapperPlayServerSpawnWeatherEntity> WEATHER_ENTITY = (user, entity) -> {
|
@NotNull SpawnPacketProvider<WrapperPlayServerSpawnWeatherEntity> LEGACY_WEATHER_ENTITY = (user, entity) -> {
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
};
|
};
|
||||||
|
@NotNull SpawnPacketProvider<WrapperPlayServerSpawnPainting> LEGACY_PAINTING = (user, entity) -> {
|
||||||
|
Check.stateCondition(!(entity.getEntityMeta() instanceof PaintingMeta), "Attempted to use spawn packet provider for paintings but not using an entity with PaintingMeta.");
|
||||||
|
PaintingMeta meta = entity.getEntityMeta(PaintingMeta.class);
|
||||||
|
return new WrapperPlayServerSpawnPainting(
|
||||||
|
entity.getEntityId(),
|
||||||
|
entity.getUuid(),
|
||||||
|
meta.getType().asProtocolType(),
|
||||||
|
entity.getLocation().getPosition().toVector3i(),
|
||||||
|
meta.getDirection()
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
@NotNull SpawnPacketProvider<WrapperPlayServerSpawnLivingEntity> PRE_1_19_LIVING = (user, entity) -> {
|
@NotNull SpawnPacketProvider<WrapperPlayServerSpawnLivingEntity> PRE_1_19_LIVING = (user, entity) -> {
|
||||||
Location location = entity.getLocation();
|
Location location = entity.getLocation();
|
||||||
|
|
Loading…
Reference in a new issue