mirror of
https://github.com/ViaVersion/ViaVersion.git
synced 2024-11-22 18:15:39 +01:00
Add armadildo state meta type
This commit is contained in:
parent
dc732fac6f
commit
794f401bd0
@ -0,0 +1,65 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
|
||||||
|
* Copyright (C) 2016-2023 ViaVersion and contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
* SOFTWARE.
|
||||||
|
*/
|
||||||
|
package com.viaversion.viaversion.api.minecraft.metadata.types;
|
||||||
|
|
||||||
|
import com.viaversion.viaversion.api.minecraft.metadata.MetaType;
|
||||||
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
|
import com.viaversion.viaversion.api.type.types.misc.ParticleType;
|
||||||
|
|
||||||
|
public final class MetaTypes1_20_5 extends AbstractMetaTypes {
|
||||||
|
|
||||||
|
public final MetaType byteType = add(0, Type.BYTE);
|
||||||
|
public final MetaType varIntType = add(1, Type.VAR_INT);
|
||||||
|
public final MetaType longType = add(2, Type.VAR_LONG);
|
||||||
|
public final MetaType floatType = add(3, Type.FLOAT);
|
||||||
|
public final MetaType stringType = add(4, Type.STRING);
|
||||||
|
public final MetaType componentType = add(5, Type.TAG);
|
||||||
|
public final MetaType optionalComponentType = add(6, Type.OPTIONAL_TAG);
|
||||||
|
public final MetaType itemType = add(7, Type.ITEM1_20_2);
|
||||||
|
public final MetaType booleanType = add(8, Type.BOOLEAN);
|
||||||
|
public final MetaType rotationType = add(9, Type.ROTATION);
|
||||||
|
public final MetaType positionType = add(10, Type.POSITION1_14);
|
||||||
|
public final MetaType optionalPositionType = add(11, Type.OPTIONAL_POSITION_1_14);
|
||||||
|
public final MetaType directionType = add(12, Type.VAR_INT);
|
||||||
|
public final MetaType optionalUUIDType = add(13, Type.OPTIONAL_UUID);
|
||||||
|
public final MetaType blockStateType = add(14, Type.VAR_INT);
|
||||||
|
public final MetaType optionalBlockStateType = add(15, Type.VAR_INT);
|
||||||
|
public final MetaType nbtType = add(16, Type.COMPOUND_TAG);
|
||||||
|
public final MetaType particleType;
|
||||||
|
public final MetaType villagerDatatType = add(18, Type.VILLAGER_DATA);
|
||||||
|
public final MetaType optionalVarIntType = add(19, Type.OPTIONAL_VAR_INT);
|
||||||
|
public final MetaType poseType = add(20, Type.VAR_INT);
|
||||||
|
public final MetaType catVariantType = add(21, Type.VAR_INT);
|
||||||
|
public final MetaType frogVariantType = add(22, Type.VAR_INT);
|
||||||
|
public final MetaType optionalGlobalPosition = add(23, Type.OPTIONAL_GLOBAL_POSITION);
|
||||||
|
public final MetaType paintingVariantType = add(24, Type.VAR_INT);
|
||||||
|
public final MetaType snifferState = add(25, Type.VAR_INT);
|
||||||
|
public final MetaType armadilloState = add(26, Type.VAR_INT);
|
||||||
|
public final MetaType vectorType = add(27, Type.VECTOR3F);
|
||||||
|
public final MetaType quaternionType = add(28, Type.QUATERNION);
|
||||||
|
|
||||||
|
public MetaTypes1_20_5(final ParticleType particleType) {
|
||||||
|
super(29);
|
||||||
|
this.particleType = add(17, particleType);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
|
||||||
|
* Copyright (C) 2016-2023 ViaVersion and contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
* SOFTWARE.
|
||||||
|
*/
|
||||||
|
package com.viaversion.viaversion.api.type.types.version;
|
||||||
|
|
||||||
|
import com.viaversion.viaversion.api.minecraft.metadata.Metadata;
|
||||||
|
import com.viaversion.viaversion.api.minecraft.metadata.types.MetaTypes1_20_5;
|
||||||
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
|
import com.viaversion.viaversion.api.type.types.metadata.MetaListType;
|
||||||
|
import com.viaversion.viaversion.api.type.types.metadata.MetadataType;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public final class Types1_20_5 {
|
||||||
|
|
||||||
|
public static final MetaTypes1_20_5 META_TYPES = new MetaTypes1_20_5(Types1_20_3.PARTICLE);
|
||||||
|
public static final Type<Metadata> METADATA = new MetadataType(META_TYPES);
|
||||||
|
public static final Type<List<Metadata>> METADATA_LIST = new MetaListType(METADATA);
|
||||||
|
}
|
@ -23,6 +23,7 @@ import com.viaversion.viaversion.api.protocol.packet.State;
|
|||||||
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
||||||
import com.viaversion.viaversion.api.type.Type;
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_20_3;
|
import com.viaversion.viaversion.api.type.types.version.Types1_20_3;
|
||||||
|
import com.viaversion.viaversion.api.type.types.version.Types1_20_5;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ClientboundConfigurationPackets1_20_3;
|
import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ClientboundConfigurationPackets1_20_3;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ClientboundPackets1_20_3;
|
import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ClientboundPackets1_20_3;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.Protocol1_20_5To1_20_3;
|
import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.Protocol1_20_5To1_20_3;
|
||||||
@ -39,7 +40,7 @@ public final class EntityPacketRewriter1_20_5 extends EntityRewriter<Clientbound
|
|||||||
@Override
|
@Override
|
||||||
public void registerPackets() {
|
public void registerPackets() {
|
||||||
registerTrackerWithData1_19(ClientboundPackets1_20_3.SPAWN_ENTITY, EntityTypes1_20_5.FALLING_BLOCK);
|
registerTrackerWithData1_19(ClientboundPackets1_20_3.SPAWN_ENTITY, EntityTypes1_20_5.FALLING_BLOCK);
|
||||||
registerMetadataRewriter(ClientboundPackets1_20_3.ENTITY_METADATA, Types1_20_3.METADATA_LIST);
|
registerMetadataRewriter(ClientboundPackets1_20_3.ENTITY_METADATA, Types1_20_3.METADATA_LIST, Types1_20_5.METADATA_LIST);
|
||||||
registerRemoveEntities(ClientboundPackets1_20_3.REMOVE_ENTITIES);
|
registerRemoveEntities(ClientboundPackets1_20_3.REMOVE_ENTITIES);
|
||||||
|
|
||||||
protocol.registerClientbound(State.CONFIGURATION, ClientboundConfigurationPackets1_20_3.REGISTRY_DATA, new PacketHandlers() {
|
protocol.registerClientbound(State.CONFIGURATION, ClientboundConfigurationPackets1_20_3.REGISTRY_DATA, new PacketHandlers() {
|
||||||
@ -110,11 +111,20 @@ public final class EntityPacketRewriter1_20_5 extends EntityRewriter<Clientbound
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void registerRewrites() {
|
protected void registerRewrites() {
|
||||||
|
filter().handler((event, meta) -> {
|
||||||
|
int id = meta.metaType().typeId();
|
||||||
|
if (id >= Types1_20_5.META_TYPES.armadilloState.typeId()) {
|
||||||
|
id++;
|
||||||
|
}
|
||||||
|
|
||||||
|
meta.setMetaType(Types1_20_5.META_TYPES.byId(id));
|
||||||
|
});
|
||||||
|
|
||||||
registerMetaTypeHandler(
|
registerMetaTypeHandler(
|
||||||
Types1_20_3.META_TYPES.itemType,
|
Types1_20_5.META_TYPES.itemType,
|
||||||
Types1_20_3.META_TYPES.blockStateType,
|
Types1_20_5.META_TYPES.blockStateType,
|
||||||
Types1_20_3.META_TYPES.optionalBlockStateType,
|
Types1_20_5.META_TYPES.optionalBlockStateType,
|
||||||
Types1_20_3.META_TYPES.particleType
|
Types1_20_5.META_TYPES.particleType
|
||||||
);
|
);
|
||||||
|
|
||||||
filter().filterFamily(EntityTypes1_20_5.MINECART_ABSTRACT).index(11).handler((event, meta) -> {
|
filter().filterFamily(EntityTypes1_20_5.MINECART_ABSTRACT).index(11).handler((event, meta) -> {
|
||||||
|
@ -20,7 +20,7 @@ package com.viaversion.viaversion.template.protocols;
|
|||||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||||
import com.viaversion.viaversion.api.data.MappingData;
|
import com.viaversion.viaversion.api.data.MappingData;
|
||||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_20_3;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_20_5;
|
||||||
import com.viaversion.viaversion.api.protocol.AbstractProtocol;
|
import com.viaversion.viaversion.api.protocol.AbstractProtocol;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.ClientboundPacketType;
|
import com.viaversion.viaversion.api.protocol.packet.ClientboundPacketType;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.ServerboundPacketType;
|
import com.viaversion.viaversion.api.protocol.packet.ServerboundPacketType;
|
||||||
@ -93,10 +93,10 @@ public final class Protocol1_99To_98 extends AbstractProtocol<ClientboundPackets
|
|||||||
super.onMappingDataLoaded(); // Calls load methods on rewriters
|
super.onMappingDataLoaded(); // Calls load methods on rewriters
|
||||||
|
|
||||||
// Uncomment this if the entity types enum has been newly added specificly for this Protocol
|
// Uncomment this if the entity types enum has been newly added specificly for this Protocol
|
||||||
// EntityTypes1_20_3.initialize(this);
|
// EntityTypes1_20_5.initialize(this);
|
||||||
|
|
||||||
// Uncomment if a new particle was added = ids shifted; requires a new Types_ class copied from the last
|
// Uncomment if a new particle was added = ids shifted; requires a new Types_ class copied from the last
|
||||||
/*Types1_20_3.PARTICLE.filler(this)
|
/*Types1_20_5.PARTICLE.filler(this)
|
||||||
.reader("block", ParticleType.Readers.BLOCK)
|
.reader("block", ParticleType.Readers.BLOCK)
|
||||||
.reader("block_marker", ParticleType.Readers.BLOCK)
|
.reader("block_marker", ParticleType.Readers.BLOCK)
|
||||||
.reader("dust", ParticleType.Readers.DUST)
|
.reader("dust", ParticleType.Readers.DUST)
|
||||||
@ -111,7 +111,7 @@ public final class Protocol1_99To_98 extends AbstractProtocol<ClientboundPackets
|
|||||||
@Override
|
@Override
|
||||||
public void init(final UserConnection connection) {
|
public void init(final UserConnection connection) {
|
||||||
// Register the entity tracker - used for entity id/metadata rewriting AND for tracking world data sent to the client (then used for chunk data rewriting)
|
// Register the entity tracker - used for entity id/metadata rewriting AND for tracking world data sent to the client (then used for chunk data rewriting)
|
||||||
addEntityTracker(connection, new EntityTrackerBase(connection, EntityTypes1_20_3.PLAYER));
|
addEntityTracker(connection, new EntityTrackerBase(connection, EntityTypes1_20_5.PLAYER));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Overriding these three methods is important as they are relied on various rewriter classes
|
// Overriding these three methods is important as they are relied on various rewriter classes
|
||||||
|
@ -18,11 +18,11 @@
|
|||||||
package com.viaversion.viaversion.template.protocols.rewriter;
|
package com.viaversion.viaversion.template.protocols.rewriter;
|
||||||
|
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_20_3;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_20_5;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.State;
|
import com.viaversion.viaversion.api.protocol.packet.State;
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
||||||
import com.viaversion.viaversion.api.type.Type;
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_20_3;
|
import com.viaversion.viaversion.api.type.types.version.Types1_20_5;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ClientboundConfigurationPackets1_20_3;
|
import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ClientboundConfigurationPackets1_20_3;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ClientboundPackets1_20_3;
|
import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ClientboundPackets1_20_3;
|
||||||
import com.viaversion.viaversion.rewriter.EntityRewriter;
|
import com.viaversion.viaversion.rewriter.EntityRewriter;
|
||||||
@ -30,7 +30,7 @@ import com.viaversion.viaversion.template.protocols.Protocol1_99To_98;
|
|||||||
|
|
||||||
// Replace if needed
|
// Replace if needed
|
||||||
// Types1_OLD
|
// Types1_OLD
|
||||||
// Types1_20_3
|
// Types1_20_5
|
||||||
public final class EntityPacketRewriter1_99 extends EntityRewriter<ClientboundPackets1_20_3, Protocol1_99To_98> {
|
public final class EntityPacketRewriter1_99 extends EntityRewriter<ClientboundPackets1_20_3, Protocol1_99To_98> {
|
||||||
|
|
||||||
public EntityPacketRewriter1_99(final Protocol1_99To_98 protocol) {
|
public EntityPacketRewriter1_99(final Protocol1_99To_98 protocol) {
|
||||||
@ -40,8 +40,8 @@ public final class EntityPacketRewriter1_99 extends EntityRewriter<ClientboundPa
|
|||||||
@Override
|
@Override
|
||||||
public void registerPackets() {
|
public void registerPackets() {
|
||||||
// Tracks entities, applies metadata rewrites registered below, untracks entities
|
// Tracks entities, applies metadata rewrites registered below, untracks entities
|
||||||
registerTrackerWithData1_19(ClientboundPackets1_20_3.SPAWN_ENTITY, EntityTypes1_20_3.FALLING_BLOCK);
|
registerTrackerWithData1_19(ClientboundPackets1_20_3.SPAWN_ENTITY, EntityTypes1_20_5.FALLING_BLOCK);
|
||||||
registerMetadataRewriter(ClientboundPackets1_20_3.ENTITY_METADATA, /*Types1_OLD.METADATA_LIST, */Types1_20_3.METADATA_LIST); // Specify old and new metadata list if changed
|
registerMetadataRewriter(ClientboundPackets1_20_3.ENTITY_METADATA, /*Types1_OLD.METADATA_LIST, */Types1_20_5.METADATA_LIST); // Specify old and new metadata list if changed
|
||||||
registerRemoveEntities(ClientboundPackets1_20_3.REMOVE_ENTITIES);
|
registerRemoveEntities(ClientboundPackets1_20_3.REMOVE_ENTITIES);
|
||||||
|
|
||||||
protocol.registerClientbound(State.CONFIGURATION, ClientboundConfigurationPackets1_20_3.REGISTRY_DATA, new PacketHandlers() {
|
protocol.registerClientbound(State.CONFIGURATION, ClientboundConfigurationPackets1_20_3.REGISTRY_DATA, new PacketHandlers() {
|
||||||
@ -85,23 +85,23 @@ public final class EntityPacketRewriter1_99 extends EntityRewriter<ClientboundPa
|
|||||||
protected void registerRewrites() {
|
protected void registerRewrites() {
|
||||||
/* Uncomment if metatype classes changed
|
/* Uncomment if metatype classes changed
|
||||||
filter().handler((event, meta) -> {
|
filter().handler((event, meta) -> {
|
||||||
int id = meta.metaType().typeId();
|
final int id = meta.metaType().typeId();
|
||||||
if (id >= SomeAddedIndex) {
|
if (id >= SomeAddedIndex) {
|
||||||
id++;
|
id++;
|
||||||
}
|
}
|
||||||
meta.setMetaType(Types1_20_3.META_TYPES.byId(id));
|
meta.setMetaType(Types1_20_5.META_TYPES.byId(id));
|
||||||
});*/
|
});*/
|
||||||
|
|
||||||
// Registers registry type id changes
|
// Registers registry type id changes
|
||||||
registerMetaTypeHandler(
|
registerMetaTypeHandler(
|
||||||
Types1_20_3.META_TYPES.itemType,
|
Types1_20_5.META_TYPES.itemType,
|
||||||
Types1_20_3.META_TYPES.blockStateType,
|
Types1_20_5.META_TYPES.blockStateType,
|
||||||
Types1_20_3.META_TYPES.optionalBlockStateType,
|
Types1_20_5.META_TYPES.optionalBlockStateType,
|
||||||
Types1_20_3.META_TYPES.particleType
|
Types1_20_5.META_TYPES.particleType
|
||||||
);
|
);
|
||||||
|
|
||||||
// Minecarts are special
|
// Minecarts are special
|
||||||
filter().filterFamily(EntityTypes1_20_3.MINECART_ABSTRACT).index(11).handler((event, meta) -> {
|
filter().filterFamily(EntityTypes1_20_5.MINECART_ABSTRACT).index(11).handler((event, meta) -> {
|
||||||
final int blockState = meta.value();
|
final int blockState = meta.value();
|
||||||
meta.setValue(protocol.getMappingData().getNewBlockStateId(blockState));
|
meta.setValue(protocol.getMappingData().getNewBlockStateId(blockState));
|
||||||
});
|
});
|
||||||
@ -115,6 +115,6 @@ public final class EntityPacketRewriter1_99 extends EntityRewriter<ClientboundPa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EntityType typeFromId(final int type) {
|
public EntityType typeFromId(final int type) {
|
||||||
return EntityTypes1_20_3.getTypeFromId(type);
|
return EntityTypes1_20_5.getTypeFromId(type);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user