mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-13 09:26:11 -04:00
network: add support for 21w15a
This commit is contained in:
parent
0afe128437
commit
e70fa9b00b
@ -97,6 +97,7 @@ object DefaultEntityFactories {
|
||||
Llama,
|
||||
LlamaSpit,
|
||||
MagmaCube,
|
||||
Marker,
|
||||
Minecart,
|
||||
ChestMinecart,
|
||||
CommandBlockMinecart,
|
||||
|
@ -278,6 +278,8 @@ public enum EntityMetaDataFields {
|
||||
|
||||
SKELETON_STRAY_FREEZE_CONVERTING(false),
|
||||
|
||||
GOAT_IS_SCREAMING(false),
|
||||
|
||||
// pretty old stuff here. 1.8 mostly (or even after, I don't know and I don't care)
|
||||
LEGACY_SKELETON_TYPE((byte) 0),
|
||||
LEGACY_ENDERMAN_CARRIED_BLOCK(0),
|
||||
|
@ -226,7 +226,6 @@ abstract class Entity(
|
||||
}
|
||||
if (delta.x != 0.0f && !xPriority) {
|
||||
delta.x = collisionsToCheck.computeOffset(aabb, deltaPosition.x, Axes.X)
|
||||
aabb.offsetAssign(delta.x, 0f, 0f)
|
||||
}
|
||||
return delta
|
||||
}
|
||||
|
@ -12,7 +12,9 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.data.entities.entities.animal
|
||||
|
||||
import de.bixilon.minosoft.data.entities.EntityMetaDataFields
|
||||
import de.bixilon.minosoft.data.entities.EntityRotation
|
||||
import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction
|
||||
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||
import de.bixilon.minosoft.data.mappings.entities.EntityFactory
|
||||
import de.bixilon.minosoft.data.mappings.entities.EntityType
|
||||
@ -21,6 +23,10 @@ import glm_.vec3.Vec3
|
||||
|
||||
class Goat(connection: PlayConnection, entityType: EntityType, position: Vec3, rotation: EntityRotation) : Animal(connection, entityType, position, rotation) {
|
||||
|
||||
@get:EntityMetaDataFunction(name = "Is screaming")
|
||||
val isScreaming: Boolean
|
||||
get() = entityMetaData.sets.getBoolean(EntityMetaDataFields.GOAT_IS_SCREAMING)
|
||||
|
||||
companion object : EntityFactory<Goat> {
|
||||
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("goat")
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
package de.bixilon.minosoft.data.entities.entities.decoration
|
||||
|
||||
import de.bixilon.minosoft.data.entities.EntityRotation
|
||||
import de.bixilon.minosoft.data.entities.entities.LivingEntity
|
||||
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||
import de.bixilon.minosoft.data.mappings.entities.EntityFactory
|
||||
import de.bixilon.minosoft.data.mappings.entities.EntityType
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import glm_.vec3.Vec3
|
||||
|
||||
class Marker(connection: PlayConnection, entityType: EntityType, position: Vec3, rotation: EntityRotation) : LivingEntity(connection, entityType, position, rotation) {
|
||||
companion object : EntityFactory<ItemFrame> {
|
||||
override val RESOURCE_LOCATION: ResourceLocation = ResourceLocation("marker")
|
||||
|
||||
override fun build(connection: PlayConnection, entityType: EntityType, position: Vec3, rotation: EntityRotation): ItemFrame {
|
||||
return ItemFrame(connection, entityType, position, rotation)
|
||||
}
|
||||
}
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
|
||||
package de.bixilon.minosoft.protocol.packets.clientbound.play;
|
||||
|
||||
import de.bixilon.minosoft.data.text.ChatComponent;
|
||||
import de.bixilon.minosoft.modding.event.events.ResourcePackChangeEvent;
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.PlayClientboundPacket;
|
||||
@ -21,11 +22,13 @@ import de.bixilon.minosoft.util.Util;
|
||||
import de.bixilon.minosoft.util.logging.Log;
|
||||
|
||||
import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_20W45A;
|
||||
import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_21W15A;
|
||||
|
||||
public class PacketResourcePackSend extends PlayClientboundPacket {
|
||||
private final String url;
|
||||
private final String hash;
|
||||
private boolean forced;
|
||||
private ChatComponent text; // TODO: rename
|
||||
|
||||
public PacketResourcePackSend(PlayInByteBuffer buffer) {
|
||||
this.url = buffer.readString();
|
||||
@ -34,6 +37,11 @@ public class PacketResourcePackSend extends PlayClientboundPacket {
|
||||
if (buffer.getVersionId() >= V_20W45A) {
|
||||
this.forced = buffer.readBoolean();
|
||||
}
|
||||
if (buffer.getVersionId() >= V_21W15A) {
|
||||
if (buffer.readBoolean()) {
|
||||
text = buffer.readChatComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -16,6 +16,7 @@ package de.bixilon.minosoft.protocol.protocol;
|
||||
@SuppressWarnings("unused")
|
||||
public class ProtocolVersions {
|
||||
public static final int
|
||||
V_21W15A = 776,
|
||||
V_21W14A = 775,
|
||||
V_21W13A = 773,
|
||||
V_21W11A = 772,
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user