Skip to content

Commit

Permalink
Update command params
Browse files Browse the repository at this point in the history
  • Loading branch information
Alemiz112 committed Mar 13, 2024
1 parent a51c3cd commit 6db8c1b
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,37 @@
import org.cloudburstmc.protocol.bedrock.codec.v291.serializer.LevelEventSerializer_v291;
import org.cloudburstmc.protocol.bedrock.codec.v361.serializer.LevelEventGenericSerializer_v361;
import org.cloudburstmc.protocol.bedrock.codec.v575.BedrockCodecHelper_v575;
import org.cloudburstmc.protocol.bedrock.codec.v582.Bedrock_v582;
import org.cloudburstmc.protocol.bedrock.codec.v594.serializer.AvailableCommandsSerializer_v594;
import org.cloudburstmc.protocol.bedrock.codec.v649.Bedrock_v649;
import org.cloudburstmc.protocol.bedrock.codec.v662.serializer.*;
import org.cloudburstmc.protocol.bedrock.data.LevelEvent;
import org.cloudburstmc.protocol.bedrock.data.LevelEventType;
import org.cloudburstmc.protocol.bedrock.data.ParticleType;
import org.cloudburstmc.protocol.bedrock.data.command.CommandParam;
import org.cloudburstmc.protocol.bedrock.data.inventory.itemstack.request.TextProcessingEventOrigin;
import org.cloudburstmc.protocol.bedrock.packet.*;
import org.cloudburstmc.protocol.common.util.TypeMap;

public class Bedrock_v662 extends Bedrock_v649 {

protected static final TypeMap<CommandParam> COMMAND_PARAMS = Bedrock_v649.COMMAND_PARAMS.toBuilder()
.shift(24, 4)
.insert(24, CommandParam.RATIONAL_RANGE_VAL)
.insert(25, CommandParam.RATIONAL_RANGE_POST_VAL)
.insert(26, CommandParam.RATIONAL_RANGE)
.insert(27, CommandParam.RATIONAL_RANGE_FULL)
.shift(48, 8)
.insert(48, CommandParam.PROPERTY_VALUE)
.insert(49, CommandParam.HAS_PROPERTY_PARAM_VALUE)
.insert(50, CommandParam.HAS_PROPERTY_PARAM_ENUM_VALUE)
.insert(51, CommandParam.HAS_PROPERTY_ARG)
.insert(52, CommandParam.HAS_PROPERTY_ARGS)
.insert(53, CommandParam.HAS_PROPERTY_ELEMENT)
.insert(54, CommandParam.HAS_PROPERTY_ELEMENTS)
.insert(55, CommandParam.HAS_PROPERTY_SELECTOR)
.build();

protected static final TypeMap<ParticleType> PARTICLE_TYPES = Bedrock_v649.PARTICLE_TYPES
.toBuilder()
.replace(18, ParticleType.BREEZE_WIND_EXPLOSION)
Expand All @@ -37,15 +57,14 @@ public class Bedrock_v662 extends Bedrock_v649 {
.replace(14, TextProcessingEventOrigin.SERVER_FORM) // replaces PASS_THROUGH_WITHOUT_SIFT
.build();

// TODO: check for command params

public static final BedrockCodec CODEC = Bedrock_v649.CODEC.toBuilder()
.raknetProtocolVersion(11)
.protocolVersion(662)
.minecraftVersion("1.20.70")
.helper(() -> new BedrockCodecHelper_v575(ENTITY_DATA, GAME_RULE_TYPES, ITEM_STACK_REQUEST_TYPES, CONTAINER_SLOT_TYPES, PLAYER_ABILITIES, TEXT_PROCESSING_ORIGINS))
.updateSerializer(LevelEventPacket.class, new LevelEventSerializer_v291(LEVEL_EVENTS))
.updateSerializer(LevelEventGenericPacket.class, new LevelEventGenericSerializer_v361(LEVEL_EVENTS))
.updateSerializer(AvailableCommandsPacket.class, new AvailableCommandsSerializer_v594(COMMAND_PARAMS))
.updateSerializer(LecternUpdatePacket.class, LecternUpdateSerializer_v662.INSTANCE)
.updateSerializer(MobEffectPacket.class, MobEffectSerializer_v662.INSTANCE)
.updateSerializer(PlayerAuthInputPacket.class, new PlayerAuthInputSerializer_v662())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,19 @@ public class CommandParam {
public static final CommandParam COMMAND = new CommandParam(CommandParamType.COMMAND);
public static final CommandParam SLASH_COMMAND = new CommandParam(CommandParamType.SLASH_COMMAND);
public static final CommandParam CHAINED_COMMAND = new CommandParam(CommandParamType.CHAINED_COMMAND);
public static final CommandParam RATIONAL_RANGE_VAL = new CommandParam(CommandParamType.RATIONAL_RANGE_VAL);
public static final CommandParam RATIONAL_RANGE_POST_VAL = new CommandParam(CommandParamType.RATIONAL_RANGE_POST_VAL);
public static final CommandParam RATIONAL_RANGE = new CommandParam(CommandParamType.RATIONAL_RANGE);
public static final CommandParam RATIONAL_RANGE_FULL = new CommandParam(CommandParamType.RATIONAL_RANGE_FULL);
public static final CommandParam PROPERTY_VALUE = new CommandParam(CommandParamType.PROPERTY_VALUE);
public static final CommandParam HAS_PROPERTY_PARAM_VALUE = new CommandParam(CommandParamType.HAS_PROPERTY_PARAM_VALUE);
public static final CommandParam HAS_PROPERTY_PARAM_ENUM_VALUE = new CommandParam(CommandParamType.HAS_PROPERTY_PARAM_ENUM_VALUE);
public static final CommandParam HAS_PROPERTY_ARG = new CommandParam(CommandParamType.HAS_PROPERTY_ARG);
public static final CommandParam HAS_PROPERTY_ARGS = new CommandParam(CommandParamType.HAS_PROPERTY_ARGS);
public static final CommandParam HAS_PROPERTY_ELEMENT = new CommandParam(CommandParamType.HAS_PROPERTY_ELEMENT);
public static final CommandParam HAS_PROPERTY_ELEMENTS = new CommandParam(CommandParamType.HAS_PROPERTY_ELEMENTS);
public static final CommandParam HAS_PROPERTY_SELECTOR = new CommandParam(CommandParamType.HAS_PROPERTY_SELECTOR);


private final CommandParamType paramType;
private final int defaultValue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,5 +77,17 @@ public enum CommandParamType {
BLOCK_STATES_CONT, // TODO: unknown - maybe count?
COMMAND,
SLASH_COMMAND,
CHAINED_COMMAND
CHAINED_COMMAND,
RATIONAL_RANGE_VAL,
RATIONAL_RANGE_POST_VAL,
RATIONAL_RANGE,
RATIONAL_RANGE_FULL,
PROPERTY_VALUE,
HAS_PROPERTY_PARAM_VALUE,
HAS_PROPERTY_PARAM_ENUM_VALUE,
HAS_PROPERTY_ARG,
HAS_PROPERTY_ARGS,
HAS_PROPERTY_ELEMENT,
HAS_PROPERTY_ELEMENTS,
HAS_PROPERTY_SELECTOR,
}

0 comments on commit 6db8c1b

Please sign in to comment.