diff --git a/crates/proto/src/version/v662/enums/abilities_index.rs b/crates/proto/src/version/v662/enums/abilities_index.rs new file mode 100644 index 00000000..c3de7105 --- /dev/null +++ b/crates/proto/src/version/v662/enums/abilities_index.rs @@ -0,0 +1,26 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum AbilitiesIndex { + Invalid = -1, + Build = 0, + Mine = 1, + DoorsAndSwitches = 2, + OpenContainers = 3, + AttackPlayers = 4, + AttackMobs = 5, + OperatorCommands = 6, + Teleport = 7, + Invulnerable = 8, + Flying = 9, + MayFly = 10, + Instabuild = 11, + Lightning = 12, + FlySpeed = 13, + WalkSpeed = 14, + Muted = 15, + WorldBuilder = 16, + NoClip = 17, + PrivilegedBuilder = 18, + AbilityCount = 19, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/actor_block_sync_message.rs b/crates/proto/src/version/v662/enums/actor_block_sync_message.rs new file mode 100644 index 00000000..970b92d1 --- /dev/null +++ b/crates/proto/src/version/v662/enums/actor_block_sync_message.rs @@ -0,0 +1,10 @@ +pub mod ActorBlockSyncMessage { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum MessageId { + NONE = 0, + CREATE = 1, + DESTROY = 2, + } +} diff --git a/crates/proto/src/version/v662/enums/actor_damage_cause.rs b/crates/proto/src/version/v662/enums/actor_damage_cause.rs new file mode 100644 index 00000000..6a47bb45 --- /dev/null +++ b/crates/proto/src/version/v662/enums/actor_damage_cause.rs @@ -0,0 +1,41 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ActorDamageCause { + None = -1, + Override = 0, + Contact = 1, + EntityAttack = 2, + Projectile = 3, + Suffocation = 4, + Fall = 5, + Fire = 6, + FireTick = 7, + Lava = 8, + Drowning = 9, + BlockExplosion = 10, + EntityExplosion = 11, + Void = 12, + SelfDestruct = 13, + Magic = 14, + Wither = 15, + Starve = 16, + Anvil = 17, + Thorns = 18, + FallingBlock = 19, + Piston = 20, + FlyIntoWall = 21, + Magma = 22, + Fireworks = 23, + Lightning = 24, + Charging = 25, + Temperature = 26, + Freezing = 27, + Stalactite = 28, + Stalagmite = 29, + RamAttack = 30, + SonicBoom = 31, + Campfire = 32, + SoulCampfire = 33, + All = 34, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/actor_data_ids.rs b/crates/proto/src/version/v662/enums/actor_data_ids.rs new file mode 100644 index 00000000..9a4c09e4 --- /dev/null +++ b/crates/proto/src/version/v662/enums/actor_data_ids.rs @@ -0,0 +1,137 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ActorDataIDs { + Reserved0 = 0, + StructuralIntegrity = 1, + Variant = 2, + ColorIndex = 3, + Name = 4, + Owner = 5, + Target = 6, + AirSupply = 7, + EffectColor = 8, + EffectAmbience = 9, + Reserved010 = 10, + Hurt = 11, + HurtDir = 12, + RowTimeLeft = 13, + RowTimeRight = 14, + Value = 15, + DisplayTileRuntimeId = 16, + DisplayOffset = 17, + CustomDisplay = 18, + Swell = 19, + OldSwell = 20, + SwellDir = 21, + ChargeAmount = 22, + CarryBlockRuntimeId = 23, + ClientEvent = 24, + UsingItem = 25, + PlayerFlags = 26, + PlayerIndex = 27, + BedPosition = 28, + XPower = 29, + YPower = 30, + ZPower = 31, + AuxPower = 32, + FishX = 33, + FishZ = 34, + FishAngle = 35, + AuxValueData = 36, + LeashHolder = 37, + Reserved038 = 38, + HasNpc = 39, + NpcData = 40, + Actions = 41, + AirSupplyMax = 42, + MarkVariant = 43, + ContainerType = 44, + ContainerSize = 45, + ContainerStrengthModifier = 46, + BlockTarget = 47, + Inv = 48, + TargetA = 49, + TargetB = 50, + TargetC = 51, + AerialAttack = 52, + Reserved053 = 53, + Reserved054 = 54, + FuseTime = 55, + Reserved056 = 56, + SeatLockPassengerRotation = 57, + SeatLockPassengerRotationDegrees = 58, + SeatRotationOffset = 59, + SeatRotationOffsetDegrees = 60, + DataRadius = 61, + DataWaiting = 62, + DataParticle = 63, + PeekId = 64, + AttachFace = 65, + Attached = 66, + AttachPos = 67, + TradeTarget = 68, + Career = 69, + HasCommandBlock = 70, + CommandName = 71, + LastCommandOutput = 72, + TrackCommandOutput = 73, + Reserved074 = 74, + Strength = 75, + StrengthMax = 76, + DataSpellCastingColor = 77, + DataLifetimeTicks = 78, + PoseIndex = 79, + DataTickOffset = 80, + NametagAlwaysShow = 81, + Color2Index = 82, + NameAuthor = 83, + Score = 84, + BalloonAnchor = 85, + PuffedState = 86, + BubbleTime = 87, + Agent = 88, + SittingAmount = 89, + SittingAmountPrevious = 90, + EatingCounter = 91, + Reserved092 = 92, + LayingAmount = 93, + LayingAmountPrevious = 94, + DataDuration = 95, + DataSpawnTime = 96, + DataChangeRate = 97, + DataChangeOnPickup = 98, + DataPickupCount = 99, + InteractText = 100, + TradeTier = 101, + MaxTradeTier = 102, + TradeExperience = 103, + SkinId = 104, + SpawningFrames = 105, + CommandBlockTickDelay = 106, + CommandBlockExecuteOnFirstTick = 107, + AmbientSoundInterval = 108, + AmbientSoundIntervalRange = 109, + AmbientSoundEventName = 110, + FallDamageMultiplier = 111, + NameRawText = 112, + CanRideTarget = 113, + LowTierCuredTradeDiscount = 114, + HighTierCuredTradeDiscount = 115, + NearbyCuredTradeDiscount = 116, + NearbyCuredDiscountTimeStamp = 117, + Hitbox = 118, + IsBuoyant = 119, + FreezingEffectStrength = 120, + BuoyancyData = 121, + GoatHornCount = 122, + BaseRuntimeId = 123, + MovementSoundDistanceOffset = 124, + HeartbeatIntervalTicks = 125, + HeartbeatSoundEvent = 126, + PlayerLastDeathPos = 127, + PlayerLastDeathDimension = 128, + PlayerHasDied = 129, + CollisionBox = 130, + Count = 131, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/actor_event.rs b/crates/proto/src/version/v662/enums/actor_event.rs new file mode 100644 index 00000000..d6ba2a2a --- /dev/null +++ b/crates/proto/src/version/v662/enums/actor_event.rs @@ -0,0 +1,63 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ActorEvent { + None = 0, + Jump = 1, + Hurt = 2, + Death = 3, + StartAttacking = 4, + StopAttacking = 5, + TamingFailed = 6, + TamingSucceeded = 7, + ShakeWetness = 8, + EatGrass = 10, + FishhookBubble = 11, + FishhookFishpos = 12, + FishhookHooktime = 13, + FishhookTease = 14, + SquidFleeing = 15, + ZombieConverting = 16, + PlayAmbient = 17, + SpawnAlive = 18, + StartOfferFlower = 19, + StopOfferFlower = 20, + LoveHearts = 21, + VillagerAngry = 22, + VillagerHappy = 23, + WitchHatMagic = 24, + FireworksExplode = 25, + InLoveHearts = 26, + SilverfishMergeAnim = 27, + GuardianAttackSound = 28, + DrinkPotion = 29, + ThrowPotion = 30, + PrimeTntcart = 31, + PrimeCreeper = 32, + AirSupply = 33, + AddPlayerLevels = 34, + GuardianMiningFatigue = 35, + AgentSwingArm = 36, + DragonStartDeathAnim = 37, + GroundDust = 38, + Shake = 39, + Feed = 57, + BabyAge = 60, + InstantDeath = 61, + NotifyTrade = 62, + LeashDestroyed = 63, + CaravanUpdated = 64, + TalismanActivate = 65, + UpdateStructureFeature = 66, + PlayerSpawnedMob = 67, + Puke = 68, + UpdateStackSize = 69, + StartSwimming = 70, + BalloonPop = 71, + TreasureHunt = 72, + SummonAgent = 73, + FinishedChargingItem = 74, + ActorGrowUp = 76, + VibrationDetected = 77, + DrinkMilk = 78, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/actor_flags.rs b/crates/proto/src/version/v662/enums/actor_flags.rs new file mode 100644 index 00000000..2984736f --- /dev/null +++ b/crates/proto/src/version/v662/enums/actor_flags.rs @@ -0,0 +1,125 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ActorFlags { + Unknown = -1, + OnFire = 0, + Sneaking = 1, + Riding = 2, + Sprinting = 3, + UsingItem = 4, + Invisible = 5, + Tempted = 6, + InLove = 7, + Saddled = 8, + Powered = 9, + Ignited = 10, + Baby = 11, + Converting = 12, + Critical = 13, + CanShowName = 14, + AlwaysShowName = 15, + NoAI = 16, + Silent = 17, + WallClimbing = 18, + CanClimb = 19, + CanSwim = 20, + CanFly = 21, + CanWalk = 22, + Resting = 23, + Sitting = 24, + Angry = 25, + Interested = 26, + Charged = 27, + Tamed = 28, + Orphaned = 29, + Leashed = 30, + Sheared = 31, + Gliding = 32, + Elder = 33, + Moving = 34, + Breathing = 35, + Chested = 36, + Stackable = 37, + ShowBottom = 38, + Standing = 39, + Shaking = 40, + Idling = 41, + Casting = 42, + Charging = 43, + WasdControlled = 44, + CanPowerJump = 45, + CanDash = 46, + Lingering = 47, + HasCollision = 48, + HasGravity = 49, + FireImmune = 50, + Dancing = 51, + Enchanted = 52, + ReturnTrident = 53, + ContainerIsPrivate = 54, + IsTransforming = 55, + DamageNearbyMobs = 56, + Swimming = 57, + Bribed = 58, + IsPregnant = 59, + LayingEgg = 60, + PassengerCanPick = 61, + TransitionSitting = 62, + Eating = 63, + LayingDown = 64, + Sneezing = 65, + Trusting = 66, + Rolling = 67, + Scared = 68, + InScaffolding = 69, + OverScaffolding = 70, + DescendThroughBlock = 71, + Blocking = 72, + TransitionBlocking = 73, + BlockedUsingShield = 74, + BlockedUsingDamagedShield = 75, + Sleeping = 76, + WantsToWake = 77, + TradeInterest = 78, + DoorBreaker = 79, + BreakingObstruction = 80, + DoorOpener = 81, + IsIllagerCaptain = 82, + Stunned = 83, + Roaring = 84, + DelayedAttack = 85, + IsAvoidingMobs = 86, + IsAvoidingBlock = 87, + FacingTargetToRangeAttack = 88, + HiddenWhenInvisible = 89, + IsInUi = 90, + Stalking = 91, + Emoting = 92, + Celebrating = 93, + Admiring = 94, + CelebratingSpecial = 95, + OutOfControl = 96, + RamAttack = 97, + PlayingDead = 98, + InAscendableBlock = 99, + OverDescendableBlock = 100, + Croaking = 101, + EatMob = 102, + JumpGoalJump = 103, + Emerging = 104, + Sniffing = 105, + Digging = 106, + SonicBoom = 107, + HasDashCooldown = 108, + PushTowardsClosestSpace = 109, + Scenting = 110, + Rising = 111, + FeelingHappy = 112, + Searching = 113, + Crawling = 114, + TimerFlag1 = 115, + TimerFlag2 = 116, + TimerFlag3 = 117, + Count = 118, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/actor_link_type.rs b/crates/proto/src/version/v662/enums/actor_link_type.rs new file mode 100644 index 00000000..f47f6525 --- /dev/null +++ b/crates/proto/src/version/v662/enums/actor_link_type.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ActorLinkType { + None = 0, + Riding = 1, + Passenger = 2, +} diff --git a/crates/proto/src/version/v662/enums/actor_type.rs b/crates/proto/src/version/v662/enums/actor_type.rs new file mode 100644 index 00000000..1581a253 --- /dev/null +++ b/crates/proto/src/version/v662/enums/actor_type.rs @@ -0,0 +1,311 @@ +use bedrockrs_macros::ProtoCodec; +use bitflags::bitflags; + +bitflags! { + struct Flags: isize { + const UNDEFINED = 1; + const TYPE_MASK = 0x000000ff; + const MOB = 0x00000100; + const PATHFINDER_MOB = 0x00000200 | Self::MOB.bits(); + const MONSTER = 0x00000800 | Self::PATHFINDER_MOB.bits(); + const ANIMAL = 0x00001000 | Self::PATHFINDER_MOB.bits(); + const TAMABLE_ANIMAL = 0x00004000 | Self::ANIMAL.bits(); + const AMBIENT = 0x00008000 | Self::MOB.bits(); + const UNDEAD_MOB = 0x00010000 | Self::MONSTER.bits(); + const ZOMBIE_MONSTER = 0x00020000 | Self::UNDEAD_MOB.bits(); + const ARTHROPOD = 0x00040000 | Self::MONSTER.bits(); + const MINECART = 0x00080000; + const SKELETONMONSTER = 0x00100000 | Self::UNDEAD_MOB.bits(); + const EQUINEANIMAL = 0x00200000 | Self::TAMABLE_ANIMAL.bits(); + const PROJECTILE = 0x00400000; + const ABSTRACTARROW = 0x00800000; + const WATERANIMAL = 0x00002000 | Self::PATHFINDER_MOB.bits(); + const VILLAGERBASE = 0x01000000 | Self::PATHFINDER_MOB.bits(); + const CHICKEN = 10 | Self::ANIMAL.bits(); + const COW = 11 | Self::ANIMAL.bits(); + const PIG = 12 | Self::ANIMAL.bits(); + const SHEEP = 13 | Self::ANIMAL.bits(); + const WOLF = 14 | Self::TAMABLE_ANIMAL.bits(); + const VILLAGER = 15 | Self::VILLAGERBASE.bits(); + const MUSHROOMCOW = 16 | Self::ANIMAL.bits(); + const SQUID = 17 | Self::WATERANIMAL.bits(); + const RABBIT = 18 | Self::ANIMAL.bits(); + const BAT = 19 | Self::AMBIENT.bits(); + const IRONGOLEM = 20 | Self::PATHFINDER_MOB.bits(); + const SNOWGOLEM = 21 | Self::PATHFINDER_MOB.bits(); + const OCELOT = 22 | Self::TAMABLE_ANIMAL.bits(); + const HORSE = 23 | Self::EQUINEANIMAL.bits(); + const POLARBEAR = 28 | Self::ANIMAL.bits(); + const LLAMA = 29 | Self::ANIMAL.bits(); + const PARROT = 30 | Self::TAMABLE_ANIMAL.bits(); + const DOLPHIN = 31 | Self::WATERANIMAL.bits(); + const DONKEY = 24 | Self::EQUINEANIMAL.bits(); + const MULE = 25 | Self::EQUINEANIMAL.bits(); + const SKELETONHORSE = 26 | Self::EQUINEANIMAL.bits() | Self::UNDEAD_MOB.bits(); + const ZOMBIEHORSE = 27 | Self::EQUINEANIMAL.bits() | Self::UNDEAD_MOB.bits(); + const ZOMBIE = 32 | Self::ZOMBIE_MONSTER.bits(); + const CREEPER = 33 | Self::MONSTER.bits(); + const SKELETON = 34 | Self::SKELETONMONSTER.bits(); + const SPIDER = 35 | Self::ARTHROPOD.bits(); + const PIGZOMBIE = 36 | Self::UNDEAD_MOB.bits(); + const SLIME = 37 | Self::MONSTER.bits(); + const ENDERMAN = 38 | Self::MONSTER.bits(); + const SILVERFISH = 39 | Self::ARTHROPOD.bits(); + const CAVESPIDER = 40 | Self::ARTHROPOD.bits(); + const GHAST = 41 | Self::MONSTER.bits(); + const LAVASLIME = 42 | Self::MONSTER.bits(); + const BLAZE = 43 | Self::MONSTER.bits(); + const ZOMBIEVILLAGER = 44 | Self::ZOMBIE_MONSTER.bits(); + const WITCH = 45 | Self::MONSTER.bits(); + const STRAY = 46 | Self::SKELETONMONSTER.bits(); + const HUSK = 47 | Self::ZOMBIE_MONSTER.bits(); + const WITHERSKELETON = 48 | Self::SKELETONMONSTER.bits(); + const GUARDIAN = 49 | Self::MONSTER.bits(); + const ELDERGUARDIAN = 50 | Self::MONSTER.bits(); + const NPC = 51 | Self::MOB.bits(); + const WITHERBOSS = 52 | Self::UNDEAD_MOB.bits(); + const DRAGON = 53 | Self::MONSTER.bits(); + const SHULKER = 54 | Self::MONSTER.bits(); + const ENDERMITE = 55 | Self::ARTHROPOD.bits(); + const AGENT = 56 | Self::MOB.bits(); + const VINDICATOR = 57 | Self::MONSTER.bits(); + const PHANTOM = 58 | Self::UNDEAD_MOB.bits(); + const ILLAGERBEAST = 59 | Self::MONSTER.bits(); + const ARMORSTAND = 61 | Self::MOB.bits(); + const TRIPODCAMERA = 62 | Self::MOB.bits(); + const PLAYER = 63 | Self::MOB.bits(); + const ITEMENTITY = 64; + const PRIMEDTNT = 65; + const FALLINGBLOCK = 66; + const MOVINGBLOCK = 67; + const EXPERIENCEPOTION = 68 | Self::PROJECTILE.bits(); + const EXPERIENCE = 69; + const EYEOFENDER = 70; + const ENDERCRYSTAL = 71; + const FIREWORKSROCKET = 72; + const TRIDENT = 73 | Self::PROJECTILE.bits() | Self::ABSTRACTARROW.bits(); + const TURTLE = 74 | Self::ANIMAL.bits(); + const CAT = 75 | Self::TAMABLE_ANIMAL.bits(); + const SHULKERBULLET = 76 | Self::PROJECTILE.bits(); + const FISHINGHOOK = 77; + const CHALKBOARD = 78; + const DRAGONFIREBALL = 79 | Self::PROJECTILE.bits(); + const ARROW = 80 | Self::PROJECTILE.bits() | Self::ABSTRACTARROW.bits(); + const SNOWBALL = 81 | Self::PROJECTILE.bits(); + const THROWNEGG = 82 | Self::PROJECTILE.bits(); + const PAINTING = 83; + const LARGEFIREBALL = 85 | Self::PROJECTILE.bits(); + const THROWNPOTION = 86 | Self::PROJECTILE.bits(); + const ENDERPEARL = 87 | Self::PROJECTILE.bits(); + const LEASHKNOT = 88; + const WITHERSKULL = 89 | Self::PROJECTILE.bits(); + const BOATRIDEABLE = 90; + const WITHERSKULLDANGEROUS = 91 | Self::PROJECTILE.bits(); + const LIGHTNINGBOLT = 93; + const SMALLFIREBALL = 94 | Self::PROJECTILE.bits(); + const AREAEFFECTCLOUD = 95; + const LINGERINGPOTION = 101 | Self::PROJECTILE.bits(); + const LLAMASPIT = 102 | Self::PROJECTILE.bits(); + const EVOCATIONFANG = 103 | Self::PROJECTILE.bits(); + const EVOCATIONILLAGER = 104 | Self::MONSTER.bits(); + const VEX = 105 | Self::MONSTER.bits(); + const MINECARTRIDEABLE = 84 | Self::MINECART.bits(); + const MINECARTHOPPER = 96 | Self::MINECART.bits(); + const MINECARTTNT = 97 | Self::MINECART.bits(); + const MINECARTCHEST = 98 | Self::MINECART.bits(); + const MINECARTFURNACE = 99 | Self::MINECART.bits(); + const MINECARTCOMMANDBLOCK = 100 | Self::MINECART.bits(); + const ICEBOMB = 106 | Self::PROJECTILE.bits(); + const BALLOON = 107; + const PUFFERFISH = 108 | Self::WATERANIMAL.bits(); + const SALMON = 109 | Self::WATERANIMAL.bits(); + const DROWNED = 110 | Self::ZOMBIE_MONSTER.bits(); + const TROPICALFISH = 111 | Self::WATERANIMAL.bits(); + const FISH = 112 | Self::WATERANIMAL.bits(); + const PANDA = 113 | Self::ANIMAL.bits(); + const PILLAGER = 114 | Self::MONSTER.bits(); + const VILLAGERV2 = 115 | Self::VILLAGERBASE.bits(); + const ZOMBIEVILLAGERV2 = 116 | Self::ZOMBIE_MONSTER.bits(); + const SHIELD = 117; + const WANDERINGTRADER = 118 | Self::PATHFINDER_MOB.bits(); + const LECTERN = 119; + const ELDERGUARDIANGHOST = 120 | Self::MONSTER.bits(); + const FOX = 121 | Self::ANIMAL.bits(); + const BEE = 122 | Self::MOB.bits(); + const PIGLIN = 123 | Self::MOB.bits(); + const HOGLIN = 124 | Self::ANIMAL.bits(); + const STRIDER = 125 | Self::ANIMAL.bits(); + const ZOGLIN = 126 | Self::UNDEAD_MOB.bits(); + const PIGLINBRUTE = 127 | Self::MOB.bits(); + const GOAT = 128 | Self::ANIMAL.bits(); + const GLOWSQUID = 129 | Self::WATERANIMAL.bits(); + const AXOLOTL = 130 | Self::ANIMAL.bits(); + const WARDEN = 131 | Self::MONSTER.bits(); + const FROG = 132 | Self::ANIMAL.bits(); + const TADPOLE = 133 | Self::WATERANIMAL.bits(); + const ALLAY = 134 | Self::MOB.bits(); + const CHESTBOATRIDEABLE = 136 |Self:: BOATRIDEABLE.bits(); + const TRADERLLAMA = 137 | Self::LLAMA.bits(); + const CAMEL = 138 | Self::ANIMAL.bits(); + const SNIFFER = 139 | Self::ANIMAL.bits(); + const BREEZE = 140 | Self::MONSTER.bits(); + const BREEZEWINDCHARGEPROJECTILE = 141 | Self::PROJECTILE.bits(); + const ARMADILLO = 142 | Self::ANIMAL.bits(); + const WINDCHARGEPROJECTILE = 143 |Self:: PROJECTILE.bits(); + const BOGGED = 144 | Self::SKELETONMONSTER.bits(); + } +} + +#[derive(ProtoCodec)] +pub enum ActorType { + Undefined = Flags::UNDEFINED.bits(), + TypeMask = Flags::TYPE_MASK.bits(), + Mob = Flags::MOB.bits(), + PathfinderMob = Flags::PATHFINDER_MOB.bits(), + Monster = Flags::MONSTER.bits(), + Animal = Flags::ANIMAL.bits(), + TamableAnimal = Flags::TAMABLE_ANIMAL.bits(), + Ambient = Flags::AMBIENT.bits(), + UndeadMob = Flags::UNDEAD_MOB.bits(), + ZombieMonster = Flags::ZOMBIE_MONSTER.bits(), + Arthropod = Flags::ARTHROPOD.bits(), + Minecart = Flags::MINECART.bits(), + SkeletonMonster = Flags::SKELETONMONSTER.bits(), + EquineAnimal = Flags::EQUINEANIMAL.bits(), + Projectile = Flags::PROJECTILE.bits(), + AbstractArrow = Flags::ABSTRACTARROW.bits(), + WaterAnimal = Flags::WATERANIMAL.bits(), + VillagerBase = Flags::VILLAGERBASE.bits(), + Chicken = Flags::CHICKEN.bits(), + Cow = Flags::COW.bits(), + Pig = Flags::PIG.bits(), + Sheep = Flags::SHEEP.bits(), + Wolf = Flags::WOLF.bits(), + Villager = Flags::VILLAGER.bits(), + MushroomCow = Flags::MUSHROOMCOW.bits(), + Squid = Flags::SQUID.bits(), + Rabbit = Flags::RABBIT.bits(), + Bat = Flags::BAT.bits(), + IronGolem = Flags::IRONGOLEM.bits(), + SnowGolem = Flags::SNOWGOLEM.bits(), + Ocelot = Flags::OCELOT.bits(), + Horse = Flags::HORSE.bits(), + PolarBear = Flags::POLARBEAR.bits(), + Llama = Flags::LLAMA.bits(), + Parrot = Flags::PARROT.bits(), + Dolphin = Flags::DOLPHIN.bits(), + Donkey = Flags::DONKEY.bits(), + Mule = Flags::MULE.bits(), + SkeletonHorse = Flags::SKELETONHORSE.bits(), + ZombieHorse = Flags::ZOMBIEHORSE.bits(), + Zombie = Flags::ZOMBIE.bits(), + Creeper = Flags::CREEPER.bits(), + Skeleton = Flags::SKELETON.bits(), + Spider = Flags::SPIDER.bits(), + PigZombie = Flags::PIGZOMBIE.bits(), + Slime = Flags::SLIME.bits(), + EnderMan = Flags::ENDERMAN.bits(), + Silverfish = Flags::SILVERFISH.bits(), + CaveSpider = Flags::CAVESPIDER.bits(), + Ghast = Flags::GHAST.bits(), + LavaSlime = Flags::LAVASLIME.bits(), + Blaze = Flags::BLAZE.bits(), + ZombieVillager = Flags::ZOMBIEVILLAGER.bits(), + Witch = Flags::WITCH.bits(), + Stray = Flags::STRAY.bits(), + Husk = Flags::HUSK.bits(), + WitherSkeleton = Flags::WITHERSKELETON.bits(), + Guardian = Flags::GUARDIAN.bits(), + ElderGuardian = Flags::ELDERGUARDIAN.bits(), + Npc = Flags::NPC.bits(), + WitherBoss = Flags::WITHERBOSS.bits(), + Dragon = Flags::DRAGON.bits(), + Shulker = Flags::SHULKER.bits(), + Endermite = Flags::ENDERMITE.bits(), + Agent = Flags::AGENT.bits(), + Vindicator = Flags::VINDICATOR.bits(), + Phantom = Flags::PHANTOM.bits(), + IllagerBeast = Flags::ILLAGERBEAST.bits(), + ArmorStand = Flags::ARMORSTAND.bits(), + TripodCamera = Flags::TRIPODCAMERA.bits(), + Player = Flags::PLAYER.bits(), + ItemEntity = Flags::ITEMENTITY.bits(), + PrimedTnt = Flags::PRIMEDTNT.bits(), + FallingBlock = Flags::FALLINGBLOCK.bits(), + MovingBlock = Flags::MOVINGBLOCK.bits(), + ExperiencePotion = Flags::EXPERIENCEPOTION.bits(), + Experience = Flags::EXPERIENCE.bits(), + EyeOfEnder = Flags::EYEOFENDER.bits(), + EnderCrystal = Flags::ENDERCRYSTAL.bits(), + FireworksRocket = Flags::FIREWORKSROCKET.bits(), + Trident = Flags::TRIDENT.bits(), + Turtle = Flags::TURTLE.bits(), + Cat = Flags::CAT.bits(), + ShulkerBullet = Flags::SHULKERBULLET.bits(), + FishingHook = Flags::FISHINGHOOK.bits(), + Chalkboard = Flags::CHALKBOARD.bits(), + DragonFireball = Flags::DRAGONFIREBALL.bits(), + Arrow = Flags::ARROW.bits(), + Snowball = Flags::SNOWBALL.bits(), + ThrownEgg = Flags::THROWNEGG.bits(), + Painting = Flags::PAINTING.bits(), + LargeFireball = Flags::LARGEFIREBALL.bits(), + ThrownPotion = Flags::THROWNPOTION.bits(), + Enderpearl = Flags::ENDERPEARL.bits(), + LeashKnot = Flags::LEASHKNOT.bits(), + WitherSkull = Flags::WITHERSKULL.bits(), + BoatRideable = Flags::BOATRIDEABLE.bits(), + WitherSkullDangerous = Flags::WITHERSKULLDANGEROUS.bits(), + LightningBolt = Flags::LIGHTNINGBOLT.bits(), + SmallFireball = Flags::SMALLFIREBALL.bits(), + AreaEffectCloud = Flags::AREAEFFECTCLOUD.bits(), + LingeringPotion = Flags::LINGERINGPOTION.bits(), + LlamaSpit = Flags::LLAMASPIT.bits(), + EvocationFang = Flags::EVOCATIONFANG.bits(), + EvocationIllager = Flags::EVOCATIONILLAGER.bits(), + Vex = Flags::VEX.bits(), + MinecartRideable = Flags::MINECARTRIDEABLE.bits(), + MinecartHopper = Flags::MINECARTHOPPER.bits(), + MinecartTNT = Flags::MINECARTTNT.bits(), + MinecartChest = Flags::MINECARTCHEST.bits(), + MinecartFurnace = Flags::MINECARTFURNACE.bits(), + MinecartCommandBlock = Flags::MINECARTCOMMANDBLOCK.bits(), + IceBomb = Flags::ICEBOMB.bits(), + Balloon = Flags::BALLOON.bits(), + Pufferfish = Flags::PUFFERFISH.bits(), + Salmon = Flags::SALMON.bits(), + Drowned = Flags::DROWNED.bits(), + Tropicalfish = Flags::TROPICALFISH.bits(), + Fish = Flags::FISH.bits(), + Panda = Flags::PANDA.bits(), + Pillager = Flags::PILLAGER.bits(), + VillagerV2 = Flags::VILLAGERV2.bits(), + ZombieVillagerV2 = Flags::ZOMBIEVILLAGERV2.bits(), + Shield = Flags::SHIELD.bits(), + WanderingTrader = Flags::WANDERINGTRADER.bits(), + Lectern = Flags::LECTERN.bits(), + ElderGuardianGhost = Flags::ELDERGUARDIANGHOST.bits(), + Fox = Flags::FOX.bits(), + Bee = Flags::BEE.bits(), + Piglin = Flags::PIGLIN.bits(), + Hoglin = Flags::HOGLIN.bits(), + Strider = Flags::STRIDER.bits(), + Zoglin = Flags::ZOGLIN.bits(), + PiglinBrute = Flags::PIGLINBRUTE.bits(), + Goat = Flags::GOAT.bits(), + GlowSquid = Flags::GLOWSQUID.bits(), + Axolotl = Flags::AXOLOTL.bits(), + Warden = Flags::WARDEN.bits(), + Frog = Flags::FROG.bits(), + Tadpole = Flags::TADPOLE.bits(), + Allay = Flags::ALLAY.bits(), + ChestBoatRideable = Flags::CHESTBOATRIDEABLE.bits(), + TraderLlama = Flags::TRADERLLAMA.bits(), + Camel = Flags::CAMEL.bits(), + Sniffer = Flags::SNIFFER.bits(), + Breeze = Flags::BREEZE.bits(), + BreezeWindChargeProjectile = Flags::BREEZEWINDCHARGEPROJECTILE.bits(), + Armadillo = Flags::ARMADILLO.bits(), + WindChargeProjectile = Flags::WINDCHARGEPROJECTILE.bits(), + Bogged = Flags::BOGGED.bits(), +} diff --git a/crates/proto/src/version/v662/enums/agent_action_type.rs b/crates/proto/src/version/v662/enums/agent_action_type.rs new file mode 100644 index 00000000..b63b6cf3 --- /dev/null +++ b/crates/proto/src/version/v662/enums/agent_action_type.rs @@ -0,0 +1,23 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum AgentActionType { + Attack = 1, + Collect = 2, + Destroy = 3, + DetectRedstone = 4, + DetectObstacle = 5, + Drop = 6, + DropAll = 7, + Inspect = 8, + InspectData = 9, + InspectItemCount = 10, + InspectItemDetail = 11, + InspectItemSpace = 12, + Interact = 13, + Move = 14, + PlaceBlock = 15, + Till = 16, + TransferItemTo = 17, + Turn = 18, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/animate_packet.rs b/crates/proto/src/version/v662/enums/animate_packet.rs new file mode 100644 index 00000000..1636a38c --- /dev/null +++ b/crates/proto/src/version/v662/enums/animate_packet.rs @@ -0,0 +1,14 @@ +pub mod AnimatePacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Action { + NoAction = 0, + Swing = 1, + WakeUp = 3, + CriticalHit = 4, + MagicCriticalHit = 5, + RowRight = 128, + RowLeft = 129, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/animation_mode.rs b/crates/proto/src/version/v662/enums/animation_mode.rs new file mode 100644 index 00000000..f3b63d58 --- /dev/null +++ b/crates/proto/src/version/v662/enums/animation_mode.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum AnimationMode { + None = 0, + Layers = 1, + Blocks = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/attribute_modifier_operation.rs b/crates/proto/src/version/v662/enums/attribute_modifier_operation.rs new file mode 100644 index 00000000..7198697e --- /dev/null +++ b/crates/proto/src/version/v662/enums/attribute_modifier_operation.rs @@ -0,0 +1,15 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec, Eq, PartialEq)] +pub enum AttributeModifierOperation { + Addition = 0, + MultiplyBase = 1, + MultiplyTotal = 2, + Cap = 3, + TotalOperations = 4, +} + +impl AttributeModifierOperation { + pub const OPERATION_INVALID: AttributeModifierOperation = AttributeModifierOperation::TotalOperations; +} + diff --git a/crates/proto/src/version/v662/enums/attribute_operands.rs b/crates/proto/src/version/v662/enums/attribute_operands.rs new file mode 100644 index 00000000..07ad296a --- /dev/null +++ b/crates/proto/src/version/v662/enums/attribute_operands.rs @@ -0,0 +1,13 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec, Eq, PartialEq)] +pub enum AttributeOperands { + Min = 0, + Max = 1, + Current = 2, + TotalOperands = 3, +} + +impl AttributeOperands { + pub const OPERAND_INVALID: AttributeOperands = AttributeOperands::TotalOperands; +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/book_edit_action.rs b/crates/proto/src/version/v662/enums/book_edit_action.rs new file mode 100644 index 00000000..9aa9794c --- /dev/null +++ b/crates/proto/src/version/v662/enums/book_edit_action.rs @@ -0,0 +1,10 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum BookEditAction { + ReplacePage = 0, + AddPage = 1, + DeletePage = 2, + SwapPages = 3, + Finalize = 4, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/boss_event_update_type.rs b/crates/proto/src/version/v662/enums/boss_event_update_type.rs new file mode 100644 index 00000000..b0129c92 --- /dev/null +++ b/crates/proto/src/version/v662/enums/boss_event_update_type.rs @@ -0,0 +1,14 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum BossEventUpdateType { + Add = 0, + PlayerAdded = 1, + Remove = 2, + PlayerRemoved = 3, + UpdatePercent = 4, + UpdateName = 5, + UpdateProperties = 6, + UpdateStyle = 7, + Query = 8, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/build_platform.rs b/crates/proto/src/version/v662/enums/build_platform.rs new file mode 100644 index 00000000..80b928da --- /dev/null +++ b/crates/proto/src/version/v662/enums/build_platform.rs @@ -0,0 +1,20 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum BuildPlatform { + Google = 1, + iOS = 2, + OSX = 3, + Amazon = 4, + GearVR = 5, + UWP = 7, + Win32 = 8, + Dedicated = 9, + #[deprecated] TvOs = 10, + Sony = 11, /// PlayStation + Nx = 12, /// Nintendo Switch + Xbox = 13, + #[deprecated] WindowsPhone = 14, + Linux = 15, + Unknown = -1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/camera_preset.rs b/crates/proto/src/version/v662/enums/camera_preset.rs new file mode 100644 index 00000000..00814c39 --- /dev/null +++ b/crates/proto/src/version/v662/enums/camera_preset.rs @@ -0,0 +1,9 @@ +pub mod CameraPreset { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum AudioListener { + Camera = 0, + Player = 1, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/camera_shake_action.rs b/crates/proto/src/version/v662/enums/camera_shake_action.rs new file mode 100644 index 00000000..dacb49c1 --- /dev/null +++ b/crates/proto/src/version/v662/enums/camera_shake_action.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CameraShakeAction { + Add = 0, + Stop = 1, +} diff --git a/crates/proto/src/version/v662/enums/camera_shake_type.rs b/crates/proto/src/version/v662/enums/camera_shake_type.rs new file mode 100644 index 00000000..21f0b613 --- /dev/null +++ b/crates/proto/src/version/v662/enums/camera_shake_type.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CameraShakeType { + Positional = 0, + Rotational = 1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/chat_restriction_level.rs b/crates/proto/src/version/v662/enums/chat_restriction_level.rs new file mode 100644 index 00000000..e0e1ad04 --- /dev/null +++ b/crates/proto/src/version/v662/enums/chat_restriction_level.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ChatRestrictionLevel { + None = 0, + Dropped = 1, + Disabled = 2, +} diff --git a/crates/proto/src/version/v662/enums/client_play_mode.rs b/crates/proto/src/version/v662/enums/client_play_mode.rs new file mode 100644 index 00000000..f3cf49a0 --- /dev/null +++ b/crates/proto/src/version/v662/enums/client_play_mode.rs @@ -0,0 +1,15 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ClientPlayMode { + Normal = 0, + Teaser = 1, + Screen = 2, + Viewer = 3, + Reality = 4, + Placement = 5, + LivingRoom = 6, + ExitLevel = 7, + ExitLevelLivingRoom = 8, + NumModes = 9, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/clientbound_debug_renderer_packet.rs b/crates/proto/src/version/v662/enums/clientbound_debug_renderer_packet.rs new file mode 100644 index 00000000..aacb30c5 --- /dev/null +++ b/crates/proto/src/version/v662/enums/clientbound_debug_renderer_packet.rs @@ -0,0 +1,10 @@ +pub mod ClientboundDebugRendererPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + Invalid = 0, + ClearDebugMarkers = 1, + AddDebugMarkerCube = 2, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/clientbound_map_item_data_packet.rs b/crates/proto/src/version/v662/enums/clientbound_map_item_data_packet.rs new file mode 100644 index 00000000..a5c2e47d --- /dev/null +++ b/crates/proto/src/version/v662/enums/clientbound_map_item_data_packet.rs @@ -0,0 +1,11 @@ +pub mod ClientboundMapItemDataPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + Invalid = 0, + TextureUpdate = 1 << 1, + DecorationUpdate = 1 << 2, + Creation = 1 << 3, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/code_builder_storage_query_options.rs b/crates/proto/src/version/v662/enums/code_builder_storage_query_options.rs new file mode 100644 index 00000000..0476dbb6 --- /dev/null +++ b/crates/proto/src/version/v662/enums/code_builder_storage_query_options.rs @@ -0,0 +1,17 @@ +pub mod CodeBuilderStorageQueryOptions { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Category { + None = 0, + CodeStatus = 1, + Instantiation = 2, + } + #[derive(ProtoCodec)] + pub enum Operation { + None = 0, + Get = 1, + Set = 2, + Reset = 3, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/command_block_mode.rs b/crates/proto/src/version/v662/enums/command_block_mode.rs new file mode 100644 index 00000000..3957dcab --- /dev/null +++ b/crates/proto/src/version/v662/enums/command_block_mode.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CommandBlockMode { + Normal = 0, + Chain = 2, + Repeating = 1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/command_origin_type.rs b/crates/proto/src/version/v662/enums/command_origin_type.rs new file mode 100644 index 00000000..5c76eb69 --- /dev/null +++ b/crates/proto/src/version/v662/enums/command_origin_type.rs @@ -0,0 +1,21 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CommandOriginType { + Player = 0, + CommandBlock = 1, + MinecartCommandBlock = 2, + DevConsole = 3, + Test = 4, + AutomationPlayer = 5, + ClientAutomation = 6, + DedicatedServer = 7, + Entity = 8, + Virtual = 9, + GameArgument = 10, + EntityServer = 11, + Precompiled = 12, + GameDirectorEntityServer = 13, + Scripting = 14, + ExecuteContext = 15, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/command_output_type.rs b/crates/proto/src/version/v662/enums/command_output_type.rs new file mode 100644 index 00000000..ff9138f8 --- /dev/null +++ b/crates/proto/src/version/v662/enums/command_output_type.rs @@ -0,0 +1,10 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CommandOutputType { + None = 0, + LastOutput = 1, + Silent = 2, + AllOutput = 3, + DataSet = 4, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/command_parameter_option.rs b/crates/proto/src/version/v662/enums/command_parameter_option.rs new file mode 100644 index 00000000..3ebd546c --- /dev/null +++ b/crates/proto/src/version/v662/enums/command_parameter_option.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CommandParameterOption { + None = 0, + EnumAutocompleteExpansion = 0x01, + HasSemanticConstraint = 0x02, + EnumAsChainedCommand = 0x04, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/command_permission_level.rs b/crates/proto/src/version/v662/enums/command_permission_level.rs new file mode 100644 index 00000000..3f645f05 --- /dev/null +++ b/crates/proto/src/version/v662/enums/command_permission_level.rs @@ -0,0 +1,11 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CommandPermissionLevel { + Any = 0, + GameDirectors = 1, + Admin = 2, + Host = 3, + Owner = 4, + Internal = 5, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/complex_inventory_transaction.rs b/crates/proto/src/version/v662/enums/complex_inventory_transaction.rs new file mode 100644 index 00000000..2391b9f7 --- /dev/null +++ b/crates/proto/src/version/v662/enums/complex_inventory_transaction.rs @@ -0,0 +1,12 @@ +pub mod ComplexInventoryTransaction { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + NormalTransaction = 0, + InventoryMismatch = 1, + ItemUseTransaction = 2, + ItemUseOnEntityTransaction = 3, + ItemReleaseTransaction = 4, + } +} diff --git a/crates/proto/src/version/v662/enums/connection.rs b/crates/proto/src/version/v662/enums/connection.rs new file mode 100644 index 00000000..52937938 --- /dev/null +++ b/crates/proto/src/version/v662/enums/connection.rs @@ -0,0 +1,116 @@ +pub mod Connection { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum DisconnectFailReason { + Unknown = 0, + CantConnectNoInternet = 1, + NoPermissions = 2, + UnrecoverableError = 3, + ThirdPartyBlocked = 4, + ThirdPartyNoInternet = 5, + ThirdPartyBadIP = 6, + ThirdPartyNoServerOrServerLocked = 7, + VersionMismatch = 8, + SkinIssue = 9, + InviteSessionNotFound = 10, + EduLevelSettingsMissing = 11, + LocalServerNotFound = 12, + LegacyDisconnect = 13, + UserLeaveGameAttempted = 14, + PlatformLockedSkinsError = 15, + RealmsWorldUnassigned = 16, + RealmsServerCantConnect = 17, + RealmsServerHidden = 18, + RealmsServerDisabledBeta = 19, + RealmsServerDisabled = 20, + CrossPlatformDisabled = 21, + CantConnect = 22, + SessionNotFound = 23, + ClientSettingsIncompatibleWithServer = 24, + ServerFull = 25, + InvalidPlatformSkin = 26, + EditionVersionMismatch = 27, + EditionMismatch = 28, + LevelNewerThanExeVersion = 29, + NoFailOccurred = 30, + BannedSkin = 31, + Timeout = 32, + ServerNotFound = 33, + OutdatedServer = 34, + OutdatedClient = 35, + NoPremiumPlatform = 36, + MultiplayerDisabled = 37, + NoWiFi = 38, + WorldCorruption = 39, + NoReason = 40, + Disconnected = 41, + InvalidPlayer = 42, + LoggedInOtherLocation = 43, + ServerIdConflict = 44, + NotAllowed = 45, + NotAuthenticated = 46, + InvalidTenant = 47, + UnknownPacket = 48, + UnexpectedPacket = 49, + InvalidCommandRequestPacket = 50, + HostSuspended = 51, + LoginPacketNoRequest = 52, + LoginPacketNoCert = 53, + MissingClient = 54, + Kicked = 55, + KickedForExploit = 56, + KickedForIdle = 57, + ResourcePackProblem = 58, + IncompatiblePack = 59, + OutOfStorage = 60, + InvalidLevel = 61, + #[deprecated] DisconnectPacket = 62, + BlockMismatch = 63, + InvalidHeights = 64, + InvalidWidths = 65, + ConnectionLost = 66, + ZombieConnection = 67, + Shutdown = 68, + #[deprecated] ReasonNotSet = 69, + LoadingStateTimeout = 70, + ResourcePackLoadingFailed = 71, + SearchingForSessionLoadingScreenFailed = 72, + NetherNetProtocolVersion = 73, + SubsystemStatusError = 74, + EmptyAuthFromDiscovery = 75, + EmptyUrlFromDiscovery = 76, + ExpiredAuthFromDiscovery = 77, + UnknownSignalServiceSignInFailure = 78, + XBLJoinLobbyFailure = 79, + UnspecifiedClientInstanceDisconnection = 80, + NetherNetSessionNotFound = 81, + NetherNetCreatePeerConnection = 82, + NetherNetICE = 83, + NetherNetConnectRequest = 84, + NetherNetConnectResponse = 85, + NetherNetNegotiationTimeout = 86, + NetherNetInactivityTimeout = 87, + StaleConnectionBeingReplaced = 88, + RealmsSessionNotFound = 89, + BadPacket = 90, + NetherNetFailedToCreateOffer = 91, + NetherNetFailedToCreateAnswer = 92, + NetherNetFailedToSetLocalDescription = 93, + NetherNetFailedToSetRemoteDescription = 94, + NetherNetNegotiationTimeoutWaitingForResponse = 95, + NetherNetNegotiationTimeoutWaitingForAccept = 96, + NetherNetIncomingConnectionIgnored = 97, + NetherNetSignalingParsingFailure = 98, + NetherNetSignalingUnknownError = 99, + NetherNetSignalingUnicastDeliveryFailed = 100, + NetherNetSignalingBroadcastDeliveryFailed = 101, + NetherNetSignalingGenericDeliveryFailed = 102, + EditorMismatchEditorWorld = 103, + EditorMismatchVanillaWorld = 104, + WorldTransferNotPrimaryClient = 105, + RequestServerShutdown = 106, + ClientGameSetupCancelled = 107, + ClientGameSetupFailed = 108, + } +} diff --git a/crates/proto/src/version/v662/enums/container_enum_name.rs b/crates/proto/src/version/v662/enums/container_enum_name.rs new file mode 100644 index 00000000..16cb3363 --- /dev/null +++ b/crates/proto/src/version/v662/enums/container_enum_name.rs @@ -0,0 +1,68 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ContainerEnumName { + AnvilInputContainer = 0, + AnvilMaterialContainer = 1, + AnvilResultPreviewContainer = 2, + SmithingTableInputContainer = 3, + SmithingTableMaterialContainer = 4, + SmithingTableResultPreviewContainer = 5, + ArmorContainer = 6, + LevelEntityContainer = 7, + BeaconPaymentContainer = 8, + BrewingStandInputContainer = 9, + BrewingStandResultContainer = 10, + BrewingStandFuelContainer = 11, + CombinedHotbarAndInventoryContainer = 12, + CraftingInputContainer = 13, + CraftingOutputPreviewContainer = 14, + RecipeConstructionContainer = 15, + RecipeNatureContainer = 16, + RecipeItemsContainer = 17, + RecipeSearchContainer = 18, + RecipeSearchBarContainer = 19, + RecipeEquipmentContainer = 20, + RecipeBookContainer = 21, + EnchantingInputContainer = 22, + EnchantingMaterialContainer = 23, + FurnaceFuelContainer = 24, + FurnaceIngredientContainer = 25, + FurnaceResultContainer = 26, + HorseEquipContainer = 27, + HotbarContainer = 28, + InventoryContainer = 29, + ShulkerBoxContainer = 30, + TradeIngredient1Container = 31, + TradeIngredient2Container = 32, + TradeResultPreviewContainer = 33, + OffhandContainer = 34, + CompoundCreatorInput = 35, + CompoundCreatorOutputPreview = 36, + ElementConstructorOutputPreview = 37, + MaterialReducerInput = 38, + MaterialReducerOutput = 39, + LabTableInput = 40, + LoomInputContainer = 41, + LoomDyeContainer = 42, + LoomMaterialContainer = 43, + LoomResultPreviewContainer = 44, + BlastFurnaceIngredientContainer = 45, + SmokerIngredientContainer = 46, + Trade2Ingredient1Container = 47, + Trade2Ingredient2Container = 48, + Trade2ResultPreviewContainer = 49, + GrindstoneInputContainer = 50, + GrindstoneAdditionalContainer = 51, + GrindstoneResultPreviewContainer = 52, + StonecutterInputContainer = 53, + StonecutterResultPreviewContainer = 54, + CartographyInputContainer = 55, + CartographyAdditionalContainer = 56, + CartographyResultPreviewContainer = 57, + BarrelContainer = 58, + CursorContainer = 59, + CreatedOutputContainer = 60, + SmithingTableTemplateContainer = 61, + CrafterLevelEntityContainer = 62, +} diff --git a/crates/proto/src/version/v662/enums/container_id.rs b/crates/proto/src/version/v662/enums/container_id.rs new file mode 100644 index 00000000..ffc5d906 --- /dev/null +++ b/crates/proto/src/version/v662/enums/container_id.rs @@ -0,0 +1,13 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ContainerID { + None = -1, + Inventory = 0, + First = 1, + Last = 100, + Offhand = 119, + Armor = 120, + SelectionSlots = 122, + PlayerOnlyUI = 124, +} diff --git a/crates/proto/src/version/v662/enums/container_type.rs b/crates/proto/src/version/v662/enums/container_type.rs new file mode 100644 index 00000000..c211ddf6 --- /dev/null +++ b/crates/proto/src/version/v662/enums/container_type.rs @@ -0,0 +1,44 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ContainerType { + None = -9, + Inventory = -1, + Container = 0, + Workbench = 1, + Furnace = 2, + EnchantmentE = 3, + BrewingStand = 4, + Anvil = 5, + Dispenser = 6, + Dropper = 7, + Hopper = 8, + Cauldron = 9, + MinecartChest = 10, + MinecartHopper = 11, + Horse = 12, + Beacon = 13, + StructureEditor = 14, + Trade = 15, + CommandBlock = 16, + Jukebox = 17, + Armor = 18, + Hand = 19, + CompoundCreator = 20, + ElementConstructor = 21, + MaterialReducer = 22, + LabTable = 23, + Loom = 24, + Lectern = 25, + Grindstone = 26, + BlastFurnace = 27, + Smoker = 28, + Stonecutter = 29, + Cartography = 30, + Hud = 31, + JigsawEditor = 32, + SmithingTable = 33, + ChestBoat = 34, + DecoratedPot = 35, + Crafter = 36, +} diff --git a/crates/proto/src/version/v662/enums/crafting_data_entry_type.rs b/crates/proto/src/version/v662/enums/crafting_data_entry_type.rs new file mode 100644 index 00000000..18a6d10d --- /dev/null +++ b/crates/proto/src/version/v662/enums/crafting_data_entry_type.rs @@ -0,0 +1,16 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CraftingDataEntryType { + ShapelessRecipe = 0, + ShapedRecipe = 1, + FurnaceRecipe = 2, + FurnaceAuxRecipe = 3, + MultiRecipe = 4, + ShulkerBoxRecipe = 5, + ShapelessChemistryRecipe = 6, + ShapedChemistryRecipe = 7, + SmithingTransformRecipe = 8, + SmithingTrimRecipe = 9, + Count = 10, +} diff --git a/crates/proto/src/version/v662/enums/crafting_type.rs b/crates/proto/src/version/v662/enums/crafting_type.rs new file mode 100644 index 00000000..7910be02 --- /dev/null +++ b/crates/proto/src/version/v662/enums/crafting_type.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum CraftingType { + Inventory = 0, + Crafting = 1, +} diff --git a/crates/proto/src/version/v662/enums/data_item_type.rs b/crates/proto/src/version/v662/enums/data_item_type.rs new file mode 100644 index 00000000..d3c9ce22 --- /dev/null +++ b/crates/proto/src/version/v662/enums/data_item_type.rs @@ -0,0 +1,15 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum DataItemType { + Byte = 0, + Short = 1, + Int = 2, + Float = 3, + String = 4, + CompoundTag = 5, + Pos = 6, + Int64 = 7, + Vec3 = 8, + Unknown = 9, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/difficulty.rs b/crates/proto/src/version/v662/enums/difficulty.rs new file mode 100644 index 00000000..43a0ed5d --- /dev/null +++ b/crates/proto/src/version/v662/enums/difficulty.rs @@ -0,0 +1,11 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum Difficulty { + Peaceful = 0, + Easy = 1, + Normal = 2, + Hard = 3, + Count = 4, + Unknown = 5, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/easing_type.rs b/crates/proto/src/version/v662/enums/easing_type.rs new file mode 100644 index 00000000..35233760 --- /dev/null +++ b/crates/proto/src/version/v662/enums/easing_type.rs @@ -0,0 +1,39 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum EasingType { + Linear = 0, + Spring = 1, + InQuad = 2, + OutQuad = 3, + InOutQuad = 4, + InCubic = 5, + OutCubic = 6, + InOutCubic = 7, + InQuart = 8, + OutQuart = 9, + InOutQuart = 10, + InQuint = 11, + OutQuint = 12, + InOutQuint = 13, + InSine = 14, + OutSine = 15, + InOutSine = 16, + InExpo = 17, + OutExpo = 18, + InOutExpo = 19, + InCirc = 20, + OutCirc = 21, + InOutCirc = 22, + InBounce = 23, + OutBounce = 24, + InOutBounce = 25, + InBack = 26, + OutBack = 27, + InOutBack = 28, + InElastic = 29, + OutElastic = 30, + InOutElastic = 31, + Count = 32, + Invalid = 33, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/editor.rs b/crates/proto/src/version/v662/enums/editor.rs new file mode 100644 index 00000000..db87e0d8 --- /dev/null +++ b/crates/proto/src/version/v662/enums/editor.rs @@ -0,0 +1,10 @@ +pub mod Editor { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum WorldType { + NonEditor = 0, + EditorProject = 1, + EditorTestLevel = 2, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/education_edition_offer.rs b/crates/proto/src/version/v662/enums/education_edition_offer.rs new file mode 100644 index 00000000..4c799ba7 --- /dev/null +++ b/crates/proto/src/version/v662/enums/education_edition_offer.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum EducationEditionOffer { + None = 0, + RestOfWorld = 1, + #[deprecated] China = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/emote_packet.rs b/crates/proto/src/version/v662/enums/emote_packet.rs new file mode 100644 index 00000000..1298ab3c --- /dev/null +++ b/crates/proto/src/version/v662/enums/emote_packet.rs @@ -0,0 +1,9 @@ +pub mod EmotePacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Flags { + ServerSide = 1 << 0, + MuteEmoteChat = 1 << 1, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/enchant.rs b/crates/proto/src/version/v662/enums/enchant.rs new file mode 100644 index 00000000..74c5d5d1 --- /dev/null +++ b/crates/proto/src/version/v662/enums/enchant.rs @@ -0,0 +1,47 @@ +pub mod Enchant { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + ArmorAll = 0, + ArmorFire = 1, + ArmorFall = 2, + ArmorExplosive = 3, + ArmorProjectile = 4, + ArmorThorns = 5, + WaterBreath = 6, + WaterSpeed = 7, + WaterAffinity = 8, + WeaponDamage = 9, + WeaponUndead = 10, + WeaponArthropod = 11, + WeaponKnockback = 12, + WeaponFire = 13, + WeaponLoot = 14, + MiningEfficiency = 15, + MiningSilkTouch = 16, + MiningDurability = 17, + MiningLoot = 18, + BowDamage = 19, + BowKnockback = 20, + BowFire = 21, + BowInfinity = 22, + FishingLoot = 23, + FishingLure = 24, + FrostWalker = 25, + Mending = 26, + CurseBinding = 27, + CurseVanishing = 28, + TridentImpaling = 29, + TridentRiptide = 30, + TridentLoyalty = 31, + TridentChanneling = 32, + CrossbowMultishot = 33, + CrossbowPiercing = 34, + CrossbowQuickCharge = 35, + SoulSpeed = 36, + SwiftSneak = 37, + NumEnchantments = 38, + InvalidEnchantment = 39, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/game_rule.rs b/crates/proto/src/version/v662/enums/game_rule.rs new file mode 100644 index 00000000..ea07bed9 --- /dev/null +++ b/crates/proto/src/version/v662/enums/game_rule.rs @@ -0,0 +1,11 @@ +pub mod GameRule { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + Invalid = 0, + Bool = 1, + Int = 2, + Float = 3, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/game_type.rs b/crates/proto/src/version/v662/enums/game_type.rs new file mode 100644 index 00000000..6dd4a64d --- /dev/null +++ b/crates/proto/src/version/v662/enums/game_type.rs @@ -0,0 +1,15 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum GameType { + Undefined = -1, + Survival = 0, + Creative = 1, + Adventure = 2, + Default = 5, + Spectator = 6, +} + +impl GameType { + pub const WORLD_DEFAULT: GameType = GameType::Survival; +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/generator_type.rs b/crates/proto/src/version/v662/enums/generator_type.rs new file mode 100644 index 00000000..a912b06c --- /dev/null +++ b/crates/proto/src/version/v662/enums/generator_type.rs @@ -0,0 +1,12 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum GeneratorType { + Legacy = 0, + Overworld = 1, + Flat = 2, + Nether = 3, + TheEnd = 4, + Void = 5, + Undefined = 6, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/hud_element.rs b/crates/proto/src/version/v662/enums/hud_element.rs new file mode 100644 index 00000000..c4142a5e --- /dev/null +++ b/crates/proto/src/version/v662/enums/hud_element.rs @@ -0,0 +1,17 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum HudElement { + PaperDoll = 0, + Armor = 1, + ToolTips = 2, + TouchControls = 3, + Crosshair = 4, + HotBar = 5, + Health = 6, + ProgressBar = 7, + Hunger = 8, + AirBubbles = 9, + HorseHealth = 10, + Count = 11, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/hud_visibility.rs b/crates/proto/src/version/v662/enums/hud_visibility.rs new file mode 100644 index 00000000..4845583c --- /dev/null +++ b/crates/proto/src/version/v662/enums/hud_visibility.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum HudVisibility { + Hide = 0, + Reset = 1, + Count = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/identity_definition.rs b/crates/proto/src/version/v662/enums/identity_definition.rs new file mode 100644 index 00000000..2e627c5a --- /dev/null +++ b/crates/proto/src/version/v662/enums/identity_definition.rs @@ -0,0 +1,11 @@ +pub mod IdentityDefinition { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + Invalid = 0, + Player = 1, + Entity = 2, + FakePlayer = 3, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/input_mode.rs b/crates/proto/src/version/v662/enums/input_mode.rs new file mode 100644 index 00000000..ed870489 --- /dev/null +++ b/crates/proto/src/version/v662/enums/input_mode.rs @@ -0,0 +1,11 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum InputMode { + Undefined = 0, + Mouse = 1, + Touch = 2, + GamePad = 3, + MotionController = 4, + Count = 5, +} diff --git a/crates/proto/src/version/v662/enums/interact_packet.rs b/crates/proto/src/version/v662/enums/interact_packet.rs new file mode 100644 index 00000000..3bac5e25 --- /dev/null +++ b/crates/proto/src/version/v662/enums/interact_packet.rs @@ -0,0 +1,12 @@ +pub mod InteractPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Action { + Invalid = 0, + StopRiding = 3, + InteractUpdate = 4, + NpcOpen = 5, + OpenInventory = 6, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/inventory_layout.rs b/crates/proto/src/version/v662/enums/inventory_layout.rs new file mode 100644 index 00000000..9a51a398 --- /dev/null +++ b/crates/proto/src/version/v662/enums/inventory_layout.rs @@ -0,0 +1,10 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum InventoryLayout { + None = 0, + Survival = 1, + RecipeBook = 2, + Creative = 3, + Count = 4, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/inventory_left_tab_index.rs b/crates/proto/src/version/v662/enums/inventory_left_tab_index.rs new file mode 100644 index 00000000..a9ef758e --- /dev/null +++ b/crates/proto/src/version/v662/enums/inventory_left_tab_index.rs @@ -0,0 +1,13 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum InventoryLeftTabIndex { + None = 0, + RecipeConstruction = 1, + RecipeEquipment = 2, + RecipeItems = 3, + RecipeNature = 4, + RecipeSearch = 5, + Survival = 6, + Count = 7, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/inventory_right_tab_index.rs b/crates/proto/src/version/v662/enums/inventory_right_tab_index.rs new file mode 100644 index 00000000..f2f07f14 --- /dev/null +++ b/crates/proto/src/version/v662/enums/inventory_right_tab_index.rs @@ -0,0 +1,10 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum InventoryRightTabIndex { + None = 0, + FullScreen = 1, + Crafting = 2, + Armor = 3, + Count = 4, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/inventory_source.rs b/crates/proto/src/version/v662/enums/inventory_source.rs new file mode 100644 index 00000000..ee403168 --- /dev/null +++ b/crates/proto/src/version/v662/enums/inventory_source.rs @@ -0,0 +1,9 @@ +pub mod InventorySource { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum InventorySourceFlags { + NoFlag = 0, + WorldInteractionRandom = 1, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/inventory_source_type.rs b/crates/proto/src/version/v662/enums/inventory_source_type.rs new file mode 100644 index 00000000..e74fb551 --- /dev/null +++ b/crates/proto/src/version/v662/enums/inventory_source_type.rs @@ -0,0 +1,11 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum InventorySourceType { + InvalidInventory = i32::MAX as isize, + ContainerInventory = 0, + GlobalInventory = 1, + WorldInteraction = 2, + CreativeInventory = 3, + NonImplementedFeatureTODO = 99999, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/item_descriptor.rs b/crates/proto/src/version/v662/enums/item_descriptor.rs new file mode 100644 index 00000000..1fe46c09 --- /dev/null +++ b/crates/proto/src/version/v662/enums/item_descriptor.rs @@ -0,0 +1,13 @@ +pub mod ItemDescriptor { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum InternalType { + Invalid = 0, + Default = 1, + Molang = 2, + ItemTag = 3, + Deferred = 4, + ComplexAlias = 5, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/item_release_inventory_transaction.rs b/crates/proto/src/version/v662/enums/item_release_inventory_transaction.rs new file mode 100644 index 00000000..631e2d95 --- /dev/null +++ b/crates/proto/src/version/v662/enums/item_release_inventory_transaction.rs @@ -0,0 +1,9 @@ +pub mod ItemReleaseInventoryTransaction { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum ActionType { + Release = 0, + Use = 1, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/item_stack_net_result.rs b/crates/proto/src/version/v662/enums/item_stack_net_result.rs new file mode 100644 index 00000000..e809a629 --- /dev/null +++ b/crates/proto/src/version/v662/enums/item_stack_net_result.rs @@ -0,0 +1,73 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ItemStackNetResult { + Success = 0, + Error = 1, + InvalidRequestActionType = 2, + ActionRequestNotAllowed = 3, + ScreenHandlerEndRequestFailed = 4, + ItemRequestActionHandlerCommitFailed = 5, + InvalidRequestCraftActionType = 6, + InvalidCraftRequest = 7, + InvalidCraftRequestScreen = 8, + InvalidCraftResult = 9, + InvalidCraftResultIndex = 10, + InvalidCraftResultItem = 11, + InvalidItemNetId = 12, + MissingCreatedOutputContainer = 13, + FailedToSetCreatedItemOutputSlot = 14, + RequestAlreadyInProgress = 15, + FailedToInitSparseContainer = 16, + ResultTransferFailed = 17, + ExpectedItemSlotNotFullyConsumed = 18, + ExpectedAnywhereItemNotFullyConsumed = 19, + ItemAlreadyConsumedFromSlot = 20, + ConsumedTooMuchFromSlot = 21, + MismatchSlotExpectedConsumedItem = 22, + MismatchSlotExpectedConsumedItemNetIdVariant = 23, + FailedToMatchExpectedSlotConsumedItem = 24, + FailedToMatchExpectedAllowedAnywhereConsumedItem = 25, + ConsumedItemOutOfAllowedSlotRange = 26, + ConsumedItemNotAllowed = 27, + PlayerNotInCreativeMode = 28, + InvalidExperimentalRecipeRequest = 29, + FailedToCraftCreative = 30, + FailedToGetLevelRecipe = 31, + FailedToFindRecipeByNetId = 32, + MismatchedCraftingSize = 33, + MissingInputSparseContainer = 34, + MismatchedRecipeForInputGridItems = 35, + EmptyCraftResults = 36, + FailedToEnchant = 37, + MissingInputItem = 38, + InsufficientPlayerLevelToEnchant = 39, + MissingMaterialItem = 40, + MissingActor = 41, + UnknownPrimaryEffect = 42, + PrimaryEffectOutOfRange = 43, + PrimaryEffectUnavailable = 44, + SecondaryEffectOutOfRange = 45, + SecondaryEffectUnavailable = 46, + DstContainerEqualToCreatedOutputContainer = 47, + DstContainerAndSlotEqualToSrcContainerAndSlot = 48, + FailedToValidateSrcSlot = 49, + FailedToValidateDstSlot = 50, + InvalidAdjustedAmount = 51, + InvalidItemSetType = 52, + InvalidTransferAmount = 53, + CannotSwapItem = 54, + CannotPlaceItem = 55, + UnhandledItemSetType = 56, + InvalidRemovedAmount = 57, + InvalidRegion = 58, + CannotDropItem = 59, + CannotDestroyItem = 60, + InvalidSourceContainer = 61, + ItemNotConsumed = 62, + InvalidNumCrafts = 63, + InvalidCraftResultStackSize = 64, + CannotRemoveItem = 65, + CannotConsumeItem = 66, + ScreenStackError = 67, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/item_stack_request_action_type.rs b/crates/proto/src/version/v662/enums/item_stack_request_action_type.rs new file mode 100644 index 00000000..1a3e8089 --- /dev/null +++ b/crates/proto/src/version/v662/enums/item_stack_request_action_type.rs @@ -0,0 +1,29 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ItemStackRequestActionType { + Take = 0, + Place = 1, + Swap = 2, + Drop = 3, + Destroy = 4, + Consume = 5, + Create = 6, + PlaceInItemContainer = 7, + TakeFromItemContainer = 8, + ScreenLabTableCombine = 9, + ScreenBeaconPayment = 10, + ScreenHUDMineBlock = 11, + CraftRecipe = 12, + CraftRecipeAuto = 13, + CraftCreative = 14, + CraftRecipeOptional = 15, + CraftRepairAndDisenchant = 16, + CraftLoom = 17, + #[deprecated = "Ask Tylaing"] CraftNonImplemented = 18, + #[deprecated = "Ask Tylaing"] CraftResults = 19, + Ifdef = 20, + TestIntrastructureEnabled = 21, + Test = 22, + Endif = 23, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/item_use_inventory_transaction.rs b/crates/proto/src/version/v662/enums/item_use_inventory_transaction.rs new file mode 100644 index 00000000..1424327d --- /dev/null +++ b/crates/proto/src/version/v662/enums/item_use_inventory_transaction.rs @@ -0,0 +1,10 @@ +pub mod ItemUseInventoryTransaction { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum ActionType { + Place = 0, + Use = 1, + Destroy = 2, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/item_use_method.rs b/crates/proto/src/version/v662/enums/item_use_method.rs new file mode 100644 index 00000000..d1066434 --- /dev/null +++ b/crates/proto/src/version/v662/enums/item_use_method.rs @@ -0,0 +1,23 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ItemUseMethod { + Unknown = -1, + EquipArmor = 0, + Eat = 1, + Attack = 2, + Consume = 3, + Throw = 4, + Shoot = 5, + Place = 6, + FillBottle = 7, + FillBucket = 8, + PourBucket = 9, + UseTool = 10, + Interact = 11, + Retrieved = 12, + Dyed = 13, + Traded = 14, + BrushingCompleted = 15, + Count = 16, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/item_use_on_actor_inventory_transaction.rs b/crates/proto/src/version/v662/enums/item_use_on_actor_inventory_transaction.rs new file mode 100644 index 00000000..67febf12 --- /dev/null +++ b/crates/proto/src/version/v662/enums/item_use_on_actor_inventory_transaction.rs @@ -0,0 +1,10 @@ +pub mod ItemUseOnActorInventoryTransaction { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum ActionType { + Interact = 0, + Attack = 1, + ItemInteract = 2, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/lab_table_packet.rs b/crates/proto/src/version/v662/enums/lab_table_packet.rs new file mode 100644 index 00000000..598f6884 --- /dev/null +++ b/crates/proto/src/version/v662/enums/lab_table_packet.rs @@ -0,0 +1,10 @@ +pub mod LabTablePacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + StartCombine = 0, + StartReaction = 1, + Reset = 2, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/lab_table_reaction_type.rs b/crates/proto/src/version/v662/enums/lab_table_reaction_type.rs new file mode 100644 index 00000000..9ca81d03 --- /dev/null +++ b/crates/proto/src/version/v662/enums/lab_table_reaction_type.rs @@ -0,0 +1,18 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum LabTableReactionType { + None = 0, + IceBomb = 1, + Bleach = 2, + ElephantToothpaste = 3, + Fertilizer = 4, + HeatBlock = 5, + MagnesiumSalts = 6, + MiscFire = 7, + MiscExplosion = 8, + MiscLava = 9, + MiscMystical = 10, + MiscSmoke = 11, + MiscLargeSmoke = 12, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/legacy_telemetry_event_packet.rs b/crates/proto/src/version/v662/enums/legacy_telemetry_event_packet.rs new file mode 100644 index 00000000..0644fbec --- /dev/null +++ b/crates/proto/src/version/v662/enums/legacy_telemetry_event_packet.rs @@ -0,0 +1,46 @@ +pub mod LegacyTelemetryEventPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum AgentResult { + ActionFail = 0, + ActionSuccess = 1, + QueryResultFalse = 2, + QueryResultTrue = 3, + } + + #[derive(ProtoCodec)] + pub enum Type { + Achievement = 0, + Interaction = 1, + PortalCreated = 2, + PortalUsed = 3, + MobKilled = 4, + CauldronUsed = 5, + PlayerDied = 6, + BossKilled = 7, + AgentCommandObsolete = 8, + AgentCreated = 9, + PatternRemovedObsolete = 10, + SlashCommand = 11, + #[deprecated] FishBucketed = 12, + MobBorn = 13, + PetDiedObsolete = 14, + POICauldronUsed = 15, + ComposterUsed = 16, + BellUsed = 17, + ActorDefinition = 18, + RaidUpdate = 19, + PlayerMovementAnomalyObsolete = 20, + PlayerMovementCorrectedObsolete = 21, + HoneyHarvested = 22, + TargetBlockHit = 23, + PiglinBarter = 24, + PlayerWaxedOrUnwaxedCopper = 25, + CodeBuilderRuntimeAction = 26, + CodeBuilderScoreboard = 27, + StriderRiddenInLavaInOverworld = 28, + SneakCloseToSculkSensor = 29, + CarefulRestoration = 30, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/lesson_action.rs b/crates/proto/src/version/v662/enums/lesson_action.rs new file mode 100644 index 00000000..e668a739 --- /dev/null +++ b/crates/proto/src/version/v662/enums/lesson_action.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum LessonAction { + Start = 0, + Complete = 1, + Restart = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/level_event.rs b/crates/proto/src/version/v662/enums/level_event.rs new file mode 100644 index 00000000..e0e72fe0 --- /dev/null +++ b/crates/proto/src/version/v662/enums/level_event.rs @@ -0,0 +1,133 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum LevelEvent { + _9800 = 3617, + Undefined = 0, + SoundClick = 1000, + SoundClickFail = 1001, + SoundLaunch = 1002, + SoundOpenDoor = 1003, + SoundFizz = 1004, + SoundFuse = 1005, + SoundPlayRecording = 1006, + SoundGhastWarning = 1007, + SoundGhastFireball = 1008, + SoundBlazeFireball = 1009, + SoundZombieWoodenDoor = 1010, + SoundZombieDoorCrash = 1012, + SoundZombieInfected = 1016, + SoundZombieConverted = 1017, + SoundEndermanTeleport = 1018, + SoundAnvilBroken = 1020, + SoundAnvilUsed = 1021, + SoundAnvilLand = 1022, + SoundInfinityArrowPickup = 1030, + SoundTeleportEnderPearl = 1032, + SoundAddItem = 1040, + SoundItemFrameBreak = 1041, + SoundItemFramePlace = 1042, + SoundItemFrameRemoveItem = 1043, + SoundItemFrameRotateItem = 1044, + SoundExperienceOrbPickup = 1051, + SoundTotemUsed = 1052, + SoundArmorStandBreak = 1060, + SoundArmorStandHit = 1061, + SoundArmorStandLand = 1062, + SoundArmorStandPlace = 1063, + SoundPointedDripstoneLand = 1064, + SoundDyeUsed = 1065, + SoundInkSacUsed = 1066, + SoundAmethystResonate = 1067, + QueueCustomMusic = 1900, + PlayCustomMusic = 1901, + StopCustomMusic = 1902, + SetMusicVolume = 1903, + ParticlesShoot = 2000, + ParticlesDestroyBlock = 2001, + ParticlesPotionSplash = 2002, + ParticlesEyeOfEnderDeath = 2003, + ParticlesMobBlockSpawn = 2004, + ParticleCropGrowth = 2005, + ParticleSoundGuardianGhost = 2006, + ParticleDeathSmoke = 2007, + ParticleDenyBlock = 2008, + ParticleGenericSpawn = 2009, + ParticlesDragonEgg = 2010, + ParticlesCropEaten = 2011, + ParticlesCrit = 2012, + ParticlesTeleport = 2013, + ParticlesCrackBlock = 2014, + ParticlesBubble = 2015, + ParticlesEvaporate = 2016, + ParticlesDestroyArmorStand = 2017, + ParticlesBreakingEgg = 2018, + ParticleDestroyEgg = 2019, + ParticlesEvaporateWater = 2020, + ParticlesDestroyBlockNoSound = 2021, + ParticlesKnockbackRoar = 2022, + ParticlesTeleportTrail = 2023, + ParticlesPointCloud = 2024, + ParticlesExplosion = 2025, + ParticlesBlockExplosion = 2026, + ParticlesVibrationSignal = 2027, + ParticlesDripstoneDrip = 2028, + ParticlesFizzEffect = 2029, + WaxOn = 2030, + WaxOff = 2031, + Scrape = 2032, + ParticlesElectricSpark = 2033, + ParticleTurtleEgg = 2034, + ParticlesSculkShriek = 2035, + SculkCatalystBloom = 2036, + SculkCharge = 2037, + SculkChargePop = 2038, + SonicExplosion = 2039, + DustPlume = 2040, + StartRaining = 3001, + StartThunderstorm = 3002, + StopRaining = 3003, + StopThunderstorm = 3004, + GlobalPause = 3005, + SimTimeStep = 3006, + SimTimeScale = 3007, + ActivateBlock = 3500, + CauldronExplode = 3501, + CauldronDyeArmor = 3502, + CauldronCleanArmor = 3503, + CauldronFillPotion = 3504, + CauldronTakePotion = 3505, + CauldronFillWater = 3506, + CauldronTakeWater = 3507, + CauldronAddDye = 3508, + CauldronCleanBanner = 3509, + CauldronFlush = 3510, + AgentSpawnEffect = 3511, + CauldronFillLava = 3512, + CauldronTakeLava = 3513, + CauldronFillPowderSnow = 3514, + CauldronTakePowderSnow = 3515, + StartBlockCracking = 3600, + StopBlockCracking = 3601, + UpdateBlockCracking = 3602, + ParticlesCrackBlockDown = 3603, + ParticlesCrackBlockUp = 3604, + ParticlesCrackBlockNorth = 3605, + ParticlesCrackBlockSouth = 3606, + ParticlesCrackBlockWest = 3607, + ParticlesCrackBlockEast = 3608, + ParticlesShootWhiteSmoke = 3609, + ParticlesBreezeWindExplosion = 3610, + ParticlesTrialSpawnerDetection = 3611, + ParticlesTrialSpawnerSpawning = 3612, + ParticlesTrialSpawnerEjecting = 3613, + ParticlesWindExplosion = 3614, + AllPlayersSleeping = 3615, + Deprecated = 3616, + SleepingPlayers = 9801, + JumpPrevented = 9810, + AnimationVaultActivate = 9811, + AnimationVaultDeactivate = 9812, + AnimationVaultEjectItem = 9813, + ParticleLegacyEvent = 0x4000, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/map_decoration.rs b/crates/proto/src/version/v662/enums/map_decoration.rs new file mode 100644 index 00000000..99d421db --- /dev/null +++ b/crates/proto/src/version/v662/enums/map_decoration.rs @@ -0,0 +1,40 @@ +pub mod MapDecoration { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + MarkerWhite = 0, + MarkerGreen = 1, + MarkerRed = 2, + MarkerBlue = 3, + XWhite = 4, + TriangleRed = 5, + SquareWhite = 6, + MarkerSign = 7, + MarkerPink = 8, + MarkerOrange = 9, + MarkerYellow = 10, + MarkerTeal = 11, + TriangleGreen = 12, + SmallSquareWhite = 13, + Mansion = 14, + Monument = 15, + NoDraw = 16, + VillageDesert = 17, + VillagePlains = 18, + VillageSavanna = 19, + VillageSnowy = 20, + VillageTaiga = 21, + JungleTemple = 22, + WitchHut = 23, + Count = 24, + } + + impl Type { + const PLAYER: Type = Type::MarkerWhite; + const PLAYER_OFF_MAP: Type = Type::SquareWhite; + const PLAYER_OFF_LIMITS: Type = Type::SmallSquareWhite; + const PLAYER_HIDDEN: Type = Type::NoDraw; + const ITEM_FRAME: Type = Type::MarkerGreen; + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/map_item_tracked_actor.rs b/crates/proto/src/version/v662/enums/map_item_tracked_actor.rs new file mode 100644 index 00000000..b2fdc92f --- /dev/null +++ b/crates/proto/src/version/v662/enums/map_item_tracked_actor.rs @@ -0,0 +1,11 @@ +pub mod MapItemTrackedActor { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + Entity = 0, + BlockEntity = 1, + Other = 2, + Count = 3, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/minecraft_eventing.rs b/crates/proto/src/version/v662/enums/minecraft_eventing.rs new file mode 100644 index 00000000..9d7bf63b --- /dev/null +++ b/crates/proto/src/version/v662/enums/minecraft_eventing.rs @@ -0,0 +1,63 @@ +pub mod MinecraftEventing { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum InteractionType { + Breeding = 1, + Taming = 2, + Curing = 3, + Crafted = 4, + Shearing = 5, + Milking = 6, + Trading = 7, + Feeding = 8, + Igniting = 9, + Coloring = 10, + Naming = 11, + Leashing = 12, + Unleashing = 13, + PetSleep = 14, + Trusting = 15, + Commanding = 16, + } + + #[derive(ProtoCodec)] + pub enum POIBlockInteractionType { + None = 0, + Extend = 1, + Clone = 2, + Lock = 3, + Create = 4, + CreateLocator = 5, + Rename = 6, + ItemPlaced = 7, + ItemRemoved = 8, + Cooking = 9, + Dousing = 10, + Lighting = 11, + Haystack = 12, + Filled = 13, + Emptied = 14, + AddDye = 15, + DyeItem = 16, + ClearItem = 17, + EnchantArrow = 18, + CompostItemPlaced = 19, + RecoveredBonemeal = 20, + BookPlaced = 21, + BookOpened = 22, + Disenchant = 23, + Repair = 24, + DisenchantAndRepair = 25, + } + + #[derive(ProtoCodec)] + pub enum TeleportationCause { + Unknown = 0, + Projectile = 1, + ChorusFruit = 2, + Command = 3, + Behavior = 4, + TeleportationCauseCount = 5, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/minecraft_packet_ids.rs b/crates/proto/src/version/v662/enums/minecraft_packet_ids.rs new file mode 100644 index 00000000..7853d78b --- /dev/null +++ b/crates/proto/src/version/v662/enums/minecraft_packet_ids.rs @@ -0,0 +1,215 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum MinecraftPacketIds { + KeepAlive = 0, + Login = 1, + PlayStatus = 2, + ServerToClientHandshake = 3, + ClientToServerHandshake = 4, + Disconnect = 5, + ResourcePacksInfo = 6, + ResourcePackStack = 7, + ResourcePackClientResponse = 8, + Text = 9, + SetTime = 10, + StartGame = 11, + AddPlayer = 12, + AddActor = 13, + RemoveActor = 14, + AddItemActor = 15, + ServerPlayerPostMovePosition = 16, + TakeItemActor = 17, + MoveAbsoluteActor = 18, + MovePlayer = 19, + PassengerJump = 20, + UpdateBlock = 21, + AddPainting = 22, + TickSync = 23, + LevelSoundEventV1 = 24, + LevelEvent = 25, + TileEvent = 26, + ActorEvent = 27, + MobEffect = 28, + UpdateAttributes = 29, + InventoryTransaction = 30, + PlayerEquipment = 31, + MobArmorEquipment = 32, + Interact = 33, + BlockPickRequest = 34, + ActorPickRequest = 35, + PlayerAction = 36, + #[deprecated] ActorFall = 37, + HurtArmor = 38, + SetActorData = 39, + SetActorMotion = 40, + SetActorLink = 41, + SetHealth = 42, + SetSpawnPosition = 43, + Animate = 44, + Respawn = 45, + ContainerOpen = 46, + ContainerClose = 47, + PlayerHotbar = 48, + InventoryContent = 49, + InventorySlot = 50, + ContainerSetData = 51, + CraftingData = 52, + #[deprecated] CraftingEvent = 53, + GuiDataPickItem = 54, + #[deprecated] AdventureSettings = 55, + BlockActorData = 56, + PlayerInput = 57, + FullChunkData = 58, + SetCommandsEnabled = 59, + SetDifficulty = 60, + ChangeDimension = 61, + SetPlayerGameType = 62, + PlayerList = 63, + SimpleEvent = 64, + LegacyTelemetryEvent = 65, + SpawnExperienceOrb = 66, + MapData = 67, + MapInfoRequest = 68, + RequestChunkRadius = 69, + ChunkRadiusUpdated = 70, + #[deprecated] ItemFrameDropItem = 71, + GameRulesChanged = 72, + Camera = 73, + BossEvent = 74, + ShowCredits = 75, + AvailableCommands = 76, + CommandRequest = 77, + CommandBlockUpdate = 78, + CommandOutput = 79, + UpdateTrade = 80, + UpdateEquip = 81, + ResourcePackDataInfo = 82, + ResourcePackChunkData = 83, + ResourcePackChunkRequest = 84, + Transfer = 85, + PlaySound = 86, + StopSound = 87, + SetTitle = 88, + AddBehaviorTree = 89, + StructureBlockUpdate = 90, + ShowStoreOffer = 91, + PurchaseReceipt = 92, + PlayerSkin = 93, + SubclientLogin = 94, + AutomationClientConnect = 95, + SetLastHurtBy = 96, + BookEdit = 97, + NPCRequest = 98, + PhotoTransfer = 99, + ShowModalForm = 100, + ModalFormResponse = 101, + ServerSettingsRequest = 102, + ServerSettingsResponse = 103, + ShowProfile = 104, + SetDefaultGameType = 105, + RemoveObjective = 106, + SetDisplayObjective = 107, + SetScore = 108, + LabTable = 109, + UpdateBlockSynced = 110, + MoveDeltaActor = 111, + SetScoreboardIdentity = 112, + SetLocalPlayerAsInit = 113, + UpdateSoftEnum = 114, + Ping = 115, + BlockPalette = 116, + ScriptCustomEvent = 117, + SpawnParticleEffect = 118, + AvailableActorIDList = 119, + LevelSoundEventV2 = 120, + NetworkChunkPublisherUpdate = 121, + BiomeDefinitionList = 122, + LevelSoundEvent = 123, + LevelEventGeneric = 124, + LecternUpdate = 125, + #[deprecated] VideoStreamConnect = 126, + #[deprecated] AddEntity = 127, + #[deprecated] RemoveEntity = 128, + ClientCacheStatus = 129, + OnScreenTextureAnimation = 130, + MapCreateLockedCopy = 131, + StructureTemplateDataExportRequest = 132, + StructureTemplateDataExportResponse = 133, + UnusedPlsUseMe = 134, + ClientCacheBlobStatusPacket = 135, + ClientCacheMissResponsePacket = 136, + EducationSettingsPacket = 137, + Emote = 138, + MultiplayerSettingsPacket = 139, + SettingsCommandPacket = 140, + AnvilDamage = 141, + CompletedUsingItem = 142, + NetworkSettings = 143, + PlayerAuthInputPacket = 144, + CreativeContent = 145, + PlayerEnchantOptions = 146, + ItemStackRequest = 147, + ItemStackResponse = 148, + PlayerArmorDamage = 149, + CodeBuilderPacket = 150, + UpdatePlayerGameType = 151, + EmoteList = 152, + PositionTrackingDBServerBroadcast = 153, + PositionTrackingDBClientRequest = 154, + DebugInfoPacket = 155, + PacketViolationWarning = 156, + MotionPredictionHints = 157, + TriggerAnimation = 158, + CameraShake = 159, + PlayerFogSetting = 160, + CorrectPlayerMovePredictionPacket = 161, + ItemComponentPacket = 162, + FilterTextPacket = 163, + ClientBoundDebugRendererPacket = 164, + SyncActorProperty = 165, + AddVolumeEntityPacket = 166, + RemoveVolumeEntityPacket = 167, + SimulationTypePacket = 168, + NpcDialoguePacket = 169, + EduUriResourcePacket = 170, + CreatePhotoPacket = 171, + UpdateSubChunkBlocks = 172, + #[deprecated] PhotoInfoRequest = 173, + SubChunkPacket = 174, + SubChunkRequestPacket = 175, + PlayerStartItemCooldown = 176, + ScriptMessagePacket = 177, + CodeBuilderSourcePacket = 178, + TickingAreasLoadStatus = 179, + DimensionDataPacket = 180, + AgentAction = 181, + ChangeMobProperty = 182, + LessonProgressPacket = 183, + RequestAbilityPacket = 184, + RequestPermissionsPacket = 185, + ToastRequest = 186, + UpdateAbilitiesPacket = 187, + UpdateAdventureSettingsPacket = 188, + DeathInfo = 189, + EditorNetworkPacket = 190, + FeatureRegistryPacket = 191, + ServerStats = 192, + RequestNetworkSettings = 193, + GameTestRequestPacket = 194, + GameTestResultsPacket = 195, + PlayerClientInputPermissions = 196, + #[deprecated] ClientCheatAbilityPacket = 197, + CameraPresets = 198, + UnlockedRecipes = 199, + CameraInstruction = 300, + CompressedBiomeDefinitionList = 301, + TrimData = 302, + OpenSign = 303, + AgentAnimation = 304, + RefreshEntitlementsPacket = 305, + PlayerToggleCrafterSlotRequestPacket = 306, + SetPlayerInventoryOptions = 307, + SetHudPacket = 308, + EndId = 309, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/mirror.rs b/crates/proto/src/version/v662/enums/mirror.rs new file mode 100644 index 00000000..b450b492 --- /dev/null +++ b/crates/proto/src/version/v662/enums/mirror.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum Mirror { + None = 0, + X = 1, + Z = 2, + XZ = 3, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/mob_effect_packet.rs b/crates/proto/src/version/v662/enums/mob_effect_packet.rs new file mode 100644 index 00000000..cb267d53 --- /dev/null +++ b/crates/proto/src/version/v662/enums/mob_effect_packet.rs @@ -0,0 +1,11 @@ +pub mod MobEventPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Event { + Invalid = 0, + Add = 1, + Update = 2, + Remove = 3, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/mod.rs b/crates/proto/src/version/v662/enums/mod.rs new file mode 100644 index 00000000..9c41c955 --- /dev/null +++ b/crates/proto/src/version/v662/enums/mod.rs @@ -0,0 +1,130 @@ +macro_rules! export { + ($name:ident) => { + mod $name; + pub use $name::*; + }; +} + +export!(abilities_index); +export!(actor_block_sync_message); // Mod +export!(actor_damage_cause); +export!(actor_data_ids); +export!(actor_event); +export!(actor_flags); +export!(actor_link_type); +export!(actor_type); +export!(agent_action_type); +export!(animate_packet); // Mod +export!(animation_mode); +export!(attribute_modifier_operation); +export!(attribute_operands); +export!(book_edit_action); +export!(boss_event_update_type); +export!(build_platform); +export!(camera_preset); // Mod +export!(camera_shake_action); +export!(camera_shake_type); +export!(chat_restriction_level); +export!(client_play_mode); +export!(clientbound_debug_renderer_packet); // Mod +export!(clientbound_map_item_data_packet); // Mod +export!(code_builder_storage_query_options); // Mod +export!(command_block_mode); +export!(command_origin_type); +export!(command_output_type); +export!(command_parameter_option); +export!(command_permission_level); +export!(complex_inventory_transaction); // Mod +export!(connection); // Mod +export!(container_enum_name); +export!(container_id); +export!(container_type); +export!(crafting_data_entry_type); +export!(crafting_type); +export!(data_item_type); +export!(difficulty); +export!(easing_type); +export!(editor); // Mod +export!(education_edition_offer); +export!(emote_packet); // Mod +export!(enchant); // Mod +export!(game_rule); // Mod +export!(game_type); +export!(generator_type); +export!(hud_element); +export!(hud_visibility); +export!(identity_definition); // Mod +export!(input_mode); +export!(interact_packet); // Mod +export!(inventory_layout); +export!(inventory_left_tab_index); +export!(inventory_right_tab_index); +export!(inventory_source); // Mod +export!(inventory_source_type); +export!(item_descriptor); // Mod +export!(item_release_inventory_transaction); // Mod +export!(item_stack_net_result); +export!(item_stack_request_action_type); +export!(item_use_inventory_transaction); // Mod +export!(item_use_method); +export!(item_use_on_actor_inventory_transaction); // Mod +export!(lab_table_packet); // Mod +export!(lab_table_reaction_type); +export!(legacy_telemetry_event_packet); // Mod +export!(lesson_action); +export!(level_event); +export!(map_decoration); // Mod +export!(map_item_tracked_actor); // Mod +export!(minecraft_eventing); // Mod +export!(minecraft_packet_ids); +export!(mirror); +export!(mob_effect_packet); // Mod +export!(modal_form_cancel_reason); +export!(molang_version); +export!(multiplayer_settings_packet_type); +export!(new_interaction_model); +export!(npc_dialogue_packet); // Mod +export!(npc_request_packet); // Mod +export!(objective_sort_order); +export!(pack_type); +export!(packet_compression_algorithm); +export!(packet_violation_severity); +export!(packet_violation_type); +export!(particle_type); +export!(photo_type); +export!(play_status); +export!(player_action_type); +export!(player_auth_input_packet); // Mod +export!(player_list_packet_type); +export!(player_permission_level); +export!(player_position_mode_component); // Mod +export!(player_respawn_state); +export!(position_tracking_db_client_request_packet); // Mod +export!(position_tracking_db_server_broadcast_packet); // Mod +export!(puv); // Mod +export!(request_ability_packet); // Mod +export!(resource_pack_response); +export!(rotation); +export!(score_packet_type); +export!(scoreboard_identity_packet_type); +export!(serialized_abilities_data); // Mod +export!(server_auth_movement_mode); +export!(set_title_packet); // Mod +export!(show_credits_packet); // Mod +export!(show_store_offer_redirect_type); +export!(simple_event_packet); // Mod +export!(simulation_type); +export!(social); // Mod +export!(soft_enum_update_type); +export!(spawn_biome_type); +export!(spawn_position_type); +export!(structure_block_type); +export!(structure_redstone_save_mode); +export!(structure_template_request_operation); +export!(structure_template_response_type); +export!(sub_chunk_packet); // Mod +export!(tag); // Mod +export!(text_packet_type); +export!(text_processing_event_origin); +export!(ui_profile); +export!(persona); // Mod diff --git a/crates/proto/src/version/v662/enums/modal_form_cancel_reason.rs b/crates/proto/src/version/v662/enums/modal_form_cancel_reason.rs new file mode 100644 index 00000000..2db94260 --- /dev/null +++ b/crates/proto/src/version/v662/enums/modal_form_cancel_reason.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ModalFormCancelReason { + UserClosed = 0, + UserBusy = 1, +} diff --git a/crates/proto/src/version/v662/enums/molang_version.rs b/crates/proto/src/version/v662/enums/molang_version.rs new file mode 100644 index 00000000..7a50d807 --- /dev/null +++ b/crates/proto/src/version/v662/enums/molang_version.rs @@ -0,0 +1,25 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum MolangVersion { + Invalid = -1, + BeforeVersioning = 0, + Initial = 1, + FixedItemRemainingUseDurationQuery = 2, + ExpressionErrorMessages = 3, + UnexpectedOperatorErrors = 4, + ConditionalOperatorAssociativity = 5, + ComparisonAndLogicalOperatorPrecedence = 6, + DivideByNegativeValue = 7, + FixedCapeFlapAmountQuery = 8, + QueryBlockPropertyRenamedToState = 9, + DeprecateOldBlockQueryNames = 10, + DeprecatedSnifferAndCamelQueries = 11, + LeafSupportingInFirstSolidBlockBelow = 12, + NumValidVersions = 13, +} + +impl MolangVersion { + const LATEST: MolangVersion = MolangVersion::NumValidVersions - 1; + const HARDCODED_MOLANG: MolangVersion = MolangVersion::LATEST; +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/multiplayer_settings_packet_type.rs b/crates/proto/src/version/v662/enums/multiplayer_settings_packet_type.rs new file mode 100644 index 00000000..9283b3df --- /dev/null +++ b/crates/proto/src/version/v662/enums/multiplayer_settings_packet_type.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum MultiplayerSettingsPacketType { + EnableMultiplayer = 0, + DisableMultiplayer = 1, + RefreshJoincode = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/new_interaction_model.rs b/crates/proto/src/version/v662/enums/new_interaction_model.rs new file mode 100644 index 00000000..041d3d4f --- /dev/null +++ b/crates/proto/src/version/v662/enums/new_interaction_model.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum NewInteractionModel { + Touch = 0, + Crosshair = 1, + Classic = 2, + Count = 3, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/npc_dialogue_packet.rs b/crates/proto/src/version/v662/enums/npc_dialogue_packet.rs new file mode 100644 index 00000000..de4b4ad5 --- /dev/null +++ b/crates/proto/src/version/v662/enums/npc_dialogue_packet.rs @@ -0,0 +1,9 @@ +pub mod NpcDialoguePacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum NpcDialogueActionType { + Open = 0, + Close = 1, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/npc_request_packet.rs b/crates/proto/src/version/v662/enums/npc_request_packet.rs new file mode 100644 index 00000000..131b0841 --- /dev/null +++ b/crates/proto/src/version/v662/enums/npc_request_packet.rs @@ -0,0 +1,14 @@ +pub mod NpcRequestPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum RequestType { + SetActions = 0, + ExecuteAction = 1, + ExecuteClosingCommands = 2, + SetName = 3, + SetSkin = 4, + SetInteractText = 5, + ExecuteOpeningCommands = 6, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/objective_sort_order.rs b/crates/proto/src/version/v662/enums/objective_sort_order.rs new file mode 100644 index 00000000..78c1a121 --- /dev/null +++ b/crates/proto/src/version/v662/enums/objective_sort_order.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ObjectiveSortOrder { + Ascending = 0, + Descending = 1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/pack_type.rs b/crates/proto/src/version/v662/enums/pack_type.rs new file mode 100644 index 00000000..c5997802 --- /dev/null +++ b/crates/proto/src/version/v662/enums/pack_type.rs @@ -0,0 +1,15 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PackType { + Invalid = 0, + Addon = 1, + Cached = 2, + CopyProtected = 3, + Behavior = 4, + PersonaPiece = 5, + Resources = 6, + Skins = 7, + WorldTemplate = 8, + Count = 9, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/packet_compression_algorithm.rs b/crates/proto/src/version/v662/enums/packet_compression_algorithm.rs new file mode 100644 index 00000000..0b71472f --- /dev/null +++ b/crates/proto/src/version/v662/enums/packet_compression_algorithm.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PacketCompressionAlgorithm { + ZLib = 0, + Snappy = 1, + None = 0xffff, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/packet_violation_severity.rs b/crates/proto/src/version/v662/enums/packet_violation_severity.rs new file mode 100644 index 00000000..95ff7bbf --- /dev/null +++ b/crates/proto/src/version/v662/enums/packet_violation_severity.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PacketViolationSeverity { + Unknown = -1, + Warning = 0, + FinalWarning = 1, + TerminatingConnection = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/packet_violation_type.rs b/crates/proto/src/version/v662/enums/packet_violation_type.rs new file mode 100644 index 00000000..220ebabd --- /dev/null +++ b/crates/proto/src/version/v662/enums/packet_violation_type.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PacketViolationType { + Unknown = -1, + PacketMalformed = 0, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/particle_type.rs b/crates/proto/src/version/v662/enums/particle_type.rs new file mode 100644 index 00000000..98a430ba --- /dev/null +++ b/crates/proto/src/version/v662/enums/particle_type.rs @@ -0,0 +1,98 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ParticleType { + Undefined = 0, + Bubble = 1, + BubbleManual = 2, + Crit = 3, + BlockForceField = 4, + Smoke = 5, + Explode = 6, + Evaporation = 7, + Flame = 8, + CandleFlame = 9, + Lava = 10, + LargeSmoke = 11, + RedDust = 12, + RisingBorderDust = 13, + IconCrack = 14, + SnowballPoof = 15, + LargeExplode = 16, + HugeExplosion = 17, + BreezeWindExplosion = 18, + MobFlame = 19, + Heart = 20, + Terrain = 21, + TownAura = 22, + Portal = 23, + MobPortal = 24, + WaterSplash = 25, + WaterSplashManual = 26, + WaterWake = 27, + DripWater = 28, + DripLava = 29, + DripHoney = 30, + StalactiteDripWater = 31, + StalactiteDripLava = 32, + FallingDust = 33, + MobSpell = 34, + MobSpellAmbient = 35, + MobSpellInstantaneous = 36, + Ink = 37, + Slime = 38, + RainSplash = 39, + VillagerAngry = 40, + VillagerHappy = 41, + EnchantingTable = 42, + TrackingEmitter = 43, + Note = 44, + WitchSpell = 45, + CarrotBoost = 46, + MobAppearance = 47, + EndRod = 48, + DragonBreath = 49, + Spit = 50, + Totem = 51, + Food = 52, + FireworksStarter = 53, + Fireworks = 54, + FireworksOverlay = 55, + BalloonGas = 56, + ColoredFlame = 57, + Sparkler = 58, + Conduit = 59, + BubbleColumnUp = 60, + BubbleColumnDown = 61, + Sneeze = 62, + ShulkerBullet = 63, + Bleach = 64, + DragonDestroyBlock = 65, + MyceliumDust = 66, + FallingBorderDust = 67, + CampfireSmoke = 68, + CampfireSmokeTall = 69, + DragonBreathFire = 70, + DragonBreathTrail = 71, + BlueFlame = 72, + Soul = 73, + ObsidianTear = 74, + PortalReverse = 75, + Snowflake = 76, + VibrationSignal = 77, + SculkSensorRedstone = 78, + SporeBlossomShower = 79, + SporeBlossomAmbient = 80, + Wax = 81, + ElectricSpark = 82, + Shriek = 83, + SculkSoul = 84, + SonicExplosion = 85, + BrushDust = 86, + CherryLeaves = 87, + DustPlume = 88, + WhiteSmoke = 89, + VaultConnection = 90, + WindExplosion = 91, + Count = 92, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/persona.rs b/crates/proto/src/version/v662/enums/persona.rs new file mode 100644 index 00000000..5d7b7432 --- /dev/null +++ b/crates/proto/src/version/v662/enums/persona.rs @@ -0,0 +1,17 @@ +pub mod persona { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum AnimatedTextureType { + None = 0, + Face = 1, + Body32x32 = 2, + Body128x128 = 3, + } + + #[derive(ProtoCodec)] + pub enum AnimationExpression { + Linear = 0, + Blinking = 1, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/photo_type.rs b/crates/proto/src/version/v662/enums/photo_type.rs new file mode 100644 index 00000000..73765479 --- /dev/null +++ b/crates/proto/src/version/v662/enums/photo_type.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PhotoType { + Portfolio = 0, + PhotoItem = 1, + Book = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/play_status.rs b/crates/proto/src/version/v662/enums/play_status.rs new file mode 100644 index 00000000..b1c12b4f --- /dev/null +++ b/crates/proto/src/version/v662/enums/play_status.rs @@ -0,0 +1,15 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PlayStatus { + LoginSuccess = 0, + LoginFailedClientOld = 1, + LoginFailedServerOld = 2, + PlayerSpawn = 3, + LoginFailedInvalidTenant = 4, + LoginFailedEditionMismatchEduToVanilla = 5, + LoginFailedEditionMismatchVanillaToEdu = 6, + LoginFailedServerFullSubClient = 7, + LoginFailedEditorMismatchEditorToVanilla = 8, + LoginFailedEditorMismatchVanillaToEditor = 9, +} diff --git a/crates/proto/src/version/v662/enums/player_action_type.rs b/crates/proto/src/version/v662/enums/player_action_type.rs new file mode 100644 index 00000000..ff0e7c80 --- /dev/null +++ b/crates/proto/src/version/v662/enums/player_action_type.rs @@ -0,0 +1,44 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PlayerActionType { + Unknown = -1, + StartDestroyBlock = 0, + AbortDestroyBlock = 1, + StopDestroyBlock = 2, + GetUpdatedBlock = 3, + DropItem = 4, + StartSleeping = 5, + StopSleeping = 6, + Respawn = 7, + StartJump = 8, + StartSprinting = 9, + StopSprinting = 10, + StartSneaking = 11, + StopSneaking = 12, + CreativeDestroyBlock = 13, + ChangeDimensionAck = 14, + StartGliding = 15, + StopGliding = 16, + DenyDestroyBlock = 17, + CrackBlock = 18, + ChangeSkin = 19, + DeprecatedUpdatedEnchantingSeed = 20, + StartSwimming = 21, + StopSwimming = 22, + StartSpinAttack = 23, + StopSpinAttack = 24, + InteractWithBlock = 25, + PredictDestroyBlock = 26, + ContinueDestroyBlock = 27, + StartItemUseOn = 28, + StopItemUseOn = 29, + HandledTeleport = 30, + MissedSwing = 31, + StartCrawling = 32, + StopCrawling = 33, + StartFlying = 34, + StopFlying = 35, + ClientAckServerData = 36, + Count = 37, +} diff --git a/crates/proto/src/version/v662/enums/player_auth_input_packet.rs b/crates/proto/src/version/v662/enums/player_auth_input_packet.rs new file mode 100644 index 00000000..adaa6fe4 --- /dev/null +++ b/crates/proto/src/version/v662/enums/player_auth_input_packet.rs @@ -0,0 +1,56 @@ +pub mod PlayerAuthInputPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum InputData { + Ascend = 0, + Descend = 1, + NorthJump = 2, + JumpDown = 3, + SprintDown = 4, + ChangeHeight = 5, + Jumping = 6, + AutoJumpingInWater = 7, + Sneaking = 8, + SneakDown = 9, + Up = 10, + Down = 11, + Left = 12, + Right = 13, + UpLeft = 14, + UpRight = 15, + WantUp = 16, + WantDown = 17, + WantDownSlow = 18, + WantUpSlow = 19, + Sprinting = 20, + AscendBlock = 21, + DescendBlock = 22, + SneakToggleDown = 23, + PersistSneak = 24, + StartSprinting = 25, + StopSprinting = 26, + StartSneaking = 27, + StopSneaking = 28, + StartSwimming = 29, + StopSwimming = 30, + StartJumping = 31, + StartGliding = 32, + StopGliding = 33, + PerformItemInteraction = 34, + PerformBlockActions = 35, + PerformItemStackRequest = 36, + HandledTeleport = 37, + Emoting = 38, + MissedSwing = 39, + StartCrawling = 40, + StopCrawling = 41, + StartFlying = 42, + StopFlying = 43, + ClientAckServerData = 44, + IsInClientPredictedVehicle = 45, + PaddlingLeft = 46, + PaddlingRight = 47, + InputNum = 48, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/player_list_packet_type.rs b/crates/proto/src/version/v662/enums/player_list_packet_type.rs new file mode 100644 index 00000000..3050e403 --- /dev/null +++ b/crates/proto/src/version/v662/enums/player_list_packet_type.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PlayerListPacketType { + Add = 0, + Remove = 1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/player_permission_level.rs b/crates/proto/src/version/v662/enums/player_permission_level.rs new file mode 100644 index 00000000..ac233b03 --- /dev/null +++ b/crates/proto/src/version/v662/enums/player_permission_level.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PlayerPermissionLevel { + Visitor = 0, + Member = 1, + Operator = 2, + Custom = 3, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/player_position_mode_component.rs b/crates/proto/src/version/v662/enums/player_position_mode_component.rs new file mode 100644 index 00000000..29475357 --- /dev/null +++ b/crates/proto/src/version/v662/enums/player_position_mode_component.rs @@ -0,0 +1,11 @@ +pub mod PlayerPositionModeComponent { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum PositionMode { + Normal = 0, + Respawn = 1, + Teleport = 2, + OnlyHeadRot = 3, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/player_respawn_state.rs b/crates/proto/src/version/v662/enums/player_respawn_state.rs new file mode 100644 index 00000000..7673ea53 --- /dev/null +++ b/crates/proto/src/version/v662/enums/player_respawn_state.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum PlayerRespawnState { + SearchingForSpawn = 0, + ReadyToSpawn = 1, + ClientReadyToSpawn = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/position_tracking_db_client_request_packet.rs b/crates/proto/src/version/v662/enums/position_tracking_db_client_request_packet.rs new file mode 100644 index 00000000..8f2b60a0 --- /dev/null +++ b/crates/proto/src/version/v662/enums/position_tracking_db_client_request_packet.rs @@ -0,0 +1,8 @@ +pub mod PositionTrackingDBClientRequestPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Action { + Query = 0 + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/position_tracking_db_server_broadcast_packet.rs b/crates/proto/src/version/v662/enums/position_tracking_db_server_broadcast_packet.rs new file mode 100644 index 00000000..61b9f9df --- /dev/null +++ b/crates/proto/src/version/v662/enums/position_tracking_db_server_broadcast_packet.rs @@ -0,0 +1,10 @@ +pub mod PositionTrackingDBServerBroadcastPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Action { + Update = 0, + Destroy = 1, + NotFound = 2, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/puv.rs b/crates/proto/src/version/v662/enums/puv.rs new file mode 100644 index 00000000..ef5c78a3 --- /dev/null +++ b/crates/proto/src/version/v662/enums/puv.rs @@ -0,0 +1,460 @@ +pub mod Puv { + pub mod Legacy { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum LevelSoundEvent { + ItemUseOn = 0, + Hit = 1, + Step = 2, + Fly = 3, + Jump = 4, + Break = 5, + Place = 6, + HeavyStep = 7, + Gallop = 8, + Fall = 9, + Ambient = 10, + AmbientBaby = 11, + AmbientInWater = 12, + Breathe = 13, + Death = 14, + DeathInWater = 15, + DeathToZombie = 16, + Hurt = 17, + HurtInWater = 18, + Mad = 19, + Boost = 20, + Bow = 21, + SquishBig = 22, + SquishSmall = 23, + FallBig = 24, + FallSmall = 25, + Splash = 26, + Fizz = 27, + Flap = 28, + Swim = 29, + Drink = 30, + Eat = 31, + Takeoff = 32, + Shake = 33, + Plop = 34, + Land = 35, + Saddle = 36, + Armor = 37, + ArmorPlace = 38, + AddChest = 39, + Throw = 40, + Attack = 41, + AttackNoDamage = 42, + AttackStrong = 43, + Warn = 44, + Shear = 45, + Milk = 46, + Thunder = 47, + Explode = 48, + Fire = 49, + Ignite = 50, + Fuse = 51, + Stare = 52, + Spawn = 53, + Shoot = 54, + BreakBlock = 55, + Launch = 56, + Blast = 57, + LargeBlast = 58, + Twinkle = 59, + Remedy = 60, + Unfect = 61, + LevelUp = 62, + BowHit = 63, + BulletHit = 64, + ExtinguishFire = 65, + ItemFizz = 66, + ChestOpen = 67, + ChestClosed = 68, + ShulkerBoxOpen = 69, + ShulkerBoxClosed = 70, + EnderChestOpen = 71, + EnderChestClosed = 72, + PowerOn = 73, + PowerOff = 74, + Attach = 75, + Detach = 76, + Deny = 77, + Tripod = 78, + Pop = 79, + DropSlot = 80, + Note = 81, + Thorns = 82, + PistonIn = 83, + PistonOut = 84, + Portal = 85, + Water = 86, + LavaPop = 87, + Lava = 88, + Burp = 89, + BucketFillWater = 90, + BucketFillLava = 91, + BucketEmptyWater = 92, + BucketEmptyLava = 93, + EquipChain = 94, + EquipDiamond = 95, + EquipGeneric = 96, + EquipGold = 97, + EquipIron = 98, + EquipLeather = 99, + EquipElytra = 100, + Record13 = 101, + RecordCat = 102, + RecordBlocks = 103, + RecordChirp = 104, + RecordFar = 105, + RecordMall = 106, + RecordMellohi = 107, + RecordStal = 108, + RecordStrad = 109, + RecordWard = 110, + Record11 = 111, + RecordWait = 112, + RecordNull = 113, + Flop = 114, + GuardianCurse = 115, + MobWarning = 116, + MobWarningBaby = 117, + Teleport = 118, + ShulkerOpen = 119, + ShulkerClose = 120, + Haggle = 121, + HaggleYes = 122, + HaggleNo = 123, + HaggleIdle = 124, + ChorusGrow = 125, + ChorusDeath = 126, + Glass = 127, + PotionBrewed = 128, + CastSpell = 129, + PrepareAttackSpell = 130, + PrepareSummon = 131, + PrepareWololo = 132, + Fang = 133, + Charge = 134, + TakePicture = 135, + PlaceLeashKnot = 136, + BreakLeashKnot = 137, + AmbientGrowl = 138, + AmbientWhine = 139, + AmbientPant = 140, + AmbientPurr = 141, + AmbientPurreow = 142, + DeathMinVolume = 143, + DeathMidVolume = 144, + ImitateBlaze = 145, + ImitateCaveSpider = 146, + ImitateCreeper = 147, + ImitateElderGuardian = 148, + ImitateEnderDragon = 149, + ImitateEnderman = 150, + ImitateEndermite = 151, + ImitateEvocationIllager = 152, + ImitateGhast = 153, + ImitateHusk = 154, + ImitateIllusionIllager = 155, + ImitateMagmaCube = 156, + ImitatePolarBear = 157, + ImitateShulker = 158, + ImitateSilverfish = 159, + ImitateSkeleton = 160, + ImitateSlime = 161, + ImitateSpider = 162, + ImitateStray = 163, + ImitateVex = 164, + ImitateVindicationIllager = 165, + ImitateWitch = 166, + ImitateWither = 167, + ImitateWitherSkeleton = 168, + ImitateWolf = 169, + ImitateZombie = 170, + ImitateZombiePigman = 171, + ImitateZombieVillager = 172, + EnderEyePlaced = 173, + EndPortalCreated = 174, + AnvilUse = 175, + BottleDragonBreath = 176, + PortalTravel = 177, + TridentHit = 178, + TridentReturn = 179, + TridentRiptide1 = 180, + TridentRiptide2 = 181, + TridentRiptide3 = 182, + TridentThrow = 183, + TridentThunder = 184, + TridentHitGround = 185, + Default = 186, + FletchingTableUse = 187, + ElemConstructOpen = 188, + IceBombHit = 189, + BalloonPop = 190, + LTReactionIceBomb = 191, + LTReactionBleach = 192, + LTReactionElephantToothpaste = 193, + LTReactionElephantToothpaste2 = 194, + LTReactionGlowStick = 195, + LTReactionGlowStick2 = 196, + LTReactionLuminol = 197, + LTReactionSalt = 198, + LTReactionFertilizer = 199, + LTReactionFireball = 200, + LTReactionMagnesiumSalt = 201, + LTReactionMiscFire = 202, + LTReactionFire = 203, + LTReactionMiscExplosion = 204, + LTReactionMiscMystical = 205, + LTReactionMiscMystical2 = 206, + LTReactionProduct = 207, + SparklerUse = 208, + GlowStickUse = 209, + SparklerActive = 210, + ConvertToDrowned = 211, + BucketFillFish = 212, + BucketEmptyFish = 213, + BubbleColumnUpwards = 214, + BubbleColumnDownwards = 215, + BubblePop = 216, + BubbleUpInside = 217, + BubbleDownInside = 218, + HurtBaby = 219, + DeathBaby = 220, + StepBaby = 221, + SpawnBaby = 222, + Born = 223, + TurtleEggBreak = 224, + TurtleEggCrack = 225, + TurtleEggHatched = 226, + LayEgg = 227, + TurtleEggAttacked = 228, + BeaconActivate = 229, + BeaconAmbient = 230, + BeaconDeactivate = 231, + BeaconPower = 232, + ConduitActivate = 233, + ConduitAmbient = 234, + ConduitAttack = 235, + ConduitDeactivate = 236, + ConduitShort = 237, + Swoop = 238, + BambooSaplingPlace = 239, + PreSneeze = 240, + Sneeze = 241, + AmbientTame = 242, + Scared = 243, + ScaffoldingClimb = 244, + CrossbowLoadingStart = 245, + CrossbowLoadingMiddle = 246, + CrossbowLoadingEnd = 247, + CrossbowShoot = 248, + CrossbowQuickChargeStart = 249, + CrossbowQuickChargeMiddle = 250, + CrossbowQuickChargeEnd = 251, + AmbientAggressive = 252, + AmbientWorried = 253, + CantBreed = 254, + ShieldBlock = 255, + LecternBookPlace = 256, + GrindstoneUse = 257, + Bell = 258, + CampfireCrackle = 259, + Roar = 260, + Stun = 261, + SweetBerryBushHurt = 262, + SweetBerryBushPick = 263, + CartographyTableUse = 264, + StonecutterUse = 265, + ComposterEmpty = 266, + ComposterFill = 267, + ComposterFillLayer = 268, + ComposterReady = 269, + BarrelOpen = 270, + BarrelClose = 271, + RaidHorn = 272, + LoomUse = 273, + AmbientInRaid = 274, + UICartographyTableUse = 275, + UIStonecutterUse = 276, + UILoomUse = 277, + SmokerUse = 278, + BlastFurnaceUse = 279, + SmithingTableUse = 280, + Screech = 281, + Sleep = 282, + FurnaceUse = 283, + MooshroomConvert = 284, + MilkSuspiciously = 285, + Celebrate = 286, + JumpPrevent = 287, + AmbientPollinate = 288, + BeehiveDrip = 289, + BeehiveEnter = 290, + BeehiveExit = 291, + BeehiveWork = 292, + BeehiveShear = 293, + HoneybottleDrink = 294, + AmbientCave = 295, + Retreat = 296, + ConvertToZombified = 297, + Admire = 298, + StepLava = 299, + Tempt = 300, + Panic = 301, + Angry = 302, + AmbientMoodWarpedForest = 303, + AmbientMoodSoulsandValley = 304, + AmbientMoodNetherWastes = 305, + AmbientMoodBasaltDeltas = 306, + AmbientMoodCrimsonForest = 307, + RespawnAnchorCharge = 308, + RespawnAnchorDeplete = 309, + RespawnAnchorSetSpawn = 310, + RespawnAnchorAmbient = 311, + SoulEscapeQuiet = 312, + SoulEscapeLoud = 313, + RecordPigstep = 314, + LinkCompassToLodestone = 315, + UseSmithingTable = 316, + EquipNetherite = 317, + AmbientLoopWarpedForest = 318, + AmbientLoopSoulsandValley = 319, + AmbientLoopNetherWastes = 320, + AmbientLoopBasaltDeltas = 321, + AmbientLoopCrimsonForest = 322, + AmbientAdditionWarpedForest = 323, + AmbientAdditionSoulsandValley = 324, + AmbientAdditionNetherWastes = 325, + AmbientAdditionBasaltDeltas = 326, + AmbientAdditionCrimsonForest = 327, + SculkSensorPowerOn = 328, + SculkSensorPowerOff = 329, + BucketFillPowderSnow = 330, + BucketEmptyPowderSnow = 331, + PointedDripstoneCauldronDripWater = 332, + PointedDripstoneCauldronDripLava = 333, + PointedDripstoneDripWater = 334, + PointedDripstoneDripLava = 335, + CaveVinesPickBerries = 336, + BigDripleafTiltDown = 337, + BigDripleafTiltUp = 338, + CopperWaxOn = 339, + CopperWaxOff = 340, + Scrape = 341, + PlayerHurtDrown = 342, + PlayerHurtOnFire = 343, + PlayerHurtFreeze = 344, + UseSpyglass = 345, + StopUsingSpyglass = 346, + AmethystBlockChime = 347, + AmbientScreamer = 348, + HurtScreamer = 349, + DeathScreamer = 350, + MilkScreamer = 351, + JumpToBlock = 352, + PreRam = 353, + PreRamScreamer = 354, + RamImpact = 355, + RamImpactScreamer = 356, + SquidInkSquirt = 357, + GlowSquidInkSquirt = 358, + ConvertToStray = 359, + CakeAddCandle = 360, + ExtinguishCandle = 361, + AmbientCandle = 362, + BlockClick = 363, + BlockClickFail = 364, + SculkCatalystBloom = 365, + SculkShriekerShriek = 366, + NearbyClose = 367, + NearbyCloser = 368, + NearbyClosest = 369, + Agitated = 370, + RecordOtherside = 371, + Tongue = 372, + CrackIronGolem = 373, + RepairIronGolem = 374, + Listening = 375, + Heartbeat = 376, + HornBreak = 377, + SculkSpread = 379, + SculkCharge = 380, + SculkSensorPlace = 381, + SculkShriekerPlace = 382, + GoatCall0 = 383, + GoatCall1 = 384, + GoatCall2 = 385, + GoatCall3 = 386, + GoatCall4 = 387, + GoatCall5 = 388, + GoatCall6 = 389, + GoatCall7 = 390, + ImitateWarden = 426, + ListeningAngry = 427, + ItemGiven = 428, + ItemTaken = 429, + Disappeared = 430, + Reappeared = 431, + DrinkMilk = 432, + FrogspawnHatched = 433, + LaySpawn = 434, + FrogspawnBreak = 435, + SonicBoom = 436, + SonicCharge = 437, + ItemThrown = 438, + Record5 = 439, + ConvertToFrog = 440, + RecordPlaying = 441, + EnchantingTableUse = 442, + StepSand = 443, + DashReady = 444, + BundleDropContents = 445, + BundleInsert = 446, + BundleRemoveOne = 447, + PressurePlateClickOff = 448, + PressurePlateClickOn = 449, + ButtonClickOff = 450, + ButtonClickOn = 451, + DoorOpen = 452, + DoorClose = 453, + TrapdoorOpen = 454, + TrapdoorClose = 455, + FenceGateOpen = 456, + FenceGateClose = 457, + Insert = 458, + Pickup = 459, + InsertEnchanted = 460, + PickupEnchanted = 461, + Brush = 462, + BrushCompleted = 463, + ShatterDecoratedPot = 464, + BreakDecoratedPot = 465, + SnifferEggCrack = 466, + SnifferEggHatched = 467, + WaxedSignInteractFail = 468, + RecordRelic = 469, + Bump = 470, + PumpkinCarve = 471, + ConvertHuskToZombie = 472, + PigDeath = 473, + HoglinConvertToZombified = 474, + AmbientUnderwaterEnter = 475, + AmbientUnderwaterExit = 476, + BottleFill = 477, + BottleEmpty = 478, + CrafterCraft = 479, + CrafterFail = 480, + DecoratedPotInsert = 481, + DecoratedPotInsertFail = 482, + CrafterDisableSlot = 483, + CopperBulbTurnOn = 490, + CopperBulbTurnOff = 491, + Undefined = 492, + } + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/request_ability_packet.rs b/crates/proto/src/version/v662/enums/request_ability_packet.rs new file mode 100644 index 00000000..edf5948a --- /dev/null +++ b/crates/proto/src/version/v662/enums/request_ability_packet.rs @@ -0,0 +1,10 @@ +pub mod RequestAbilityPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + Unset = 0, + Bool = 1, + Float = 2, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/resource_pack_response.rs b/crates/proto/src/version/v662/enums/resource_pack_response.rs new file mode 100644 index 00000000..4b3a3690 --- /dev/null +++ b/crates/proto/src/version/v662/enums/resource_pack_response.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ResourcePackResponse { + Cancel = 1, + Downloading = 2, + DownloadingFinished = 3, + ResourcePackStackFinished = 4, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/rotation.rs b/crates/proto/src/version/v662/enums/rotation.rs new file mode 100644 index 00000000..4c4c6fd5 --- /dev/null +++ b/crates/proto/src/version/v662/enums/rotation.rs @@ -0,0 +1,10 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum Rotation { + None = 0, + Rotate90 = 1, + Rotate180 = 2, + Rotate270 = 3, + Total = 4, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/score_packet_type.rs b/crates/proto/src/version/v662/enums/score_packet_type.rs new file mode 100644 index 00000000..af5272f8 --- /dev/null +++ b/crates/proto/src/version/v662/enums/score_packet_type.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ScorePacketType { + Change = 0, + Remove = 1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/scoreboard_identity_packet_type.rs b/crates/proto/src/version/v662/enums/scoreboard_identity_packet_type.rs new file mode 100644 index 00000000..6f135f02 --- /dev/null +++ b/crates/proto/src/version/v662/enums/scoreboard_identity_packet_type.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ScoreboardIdentityPacketType { + Update = 0, + Remove = 1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/serialized_abilities_data.rs b/crates/proto/src/version/v662/enums/serialized_abilities_data.rs new file mode 100644 index 00000000..1d068bd7 --- /dev/null +++ b/crates/proto/src/version/v662/enums/serialized_abilities_data.rs @@ -0,0 +1,12 @@ +pub mod SerializedAbilitiesData { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum SerializedAbilitiesLayer { + CustomCache = 0, + Base = 1, + Spectator = 2, + Commands = 3, + Editor = 4, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/server_auth_movement_mode.rs b/crates/proto/src/version/v662/enums/server_auth_movement_mode.rs new file mode 100644 index 00000000..9f3c00db --- /dev/null +++ b/crates/proto/src/version/v662/enums/server_auth_movement_mode.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ServerAuthMovementMode { + ClientAuthoritative = 0, + ServerAuthoritative = 1, + ServerAuthoritativeWithRewind = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/set_title_packet.rs b/crates/proto/src/version/v662/enums/set_title_packet.rs new file mode 100644 index 00000000..5697f094 --- /dev/null +++ b/crates/proto/src/version/v662/enums/set_title_packet.rs @@ -0,0 +1,16 @@ +pub mod SetTitlePacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum TitleType { + Clear = 0, + Reset = 1, + Title = 2, + Subtitle = 3, + Actionbar = 4, + Times = 5, + TitleTextObject = 6, + SubtitleTextObject = 7, + ActionbarTextObject = 8, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/show_credits_packet.rs b/crates/proto/src/version/v662/enums/show_credits_packet.rs new file mode 100644 index 00000000..e483fd01 --- /dev/null +++ b/crates/proto/src/version/v662/enums/show_credits_packet.rs @@ -0,0 +1,9 @@ +pub mod ShowCreditsPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum CreditsState { + Start = 0, + Finished = 1, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/show_store_offer_redirect_type.rs b/crates/proto/src/version/v662/enums/show_store_offer_redirect_type.rs new file mode 100644 index 00000000..9e927622 --- /dev/null +++ b/crates/proto/src/version/v662/enums/show_store_offer_redirect_type.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum ShowStoreOfferRedirectType { + MarketplaceOffer = 0, + DressingRoomOffer = 1, + ThirdPartyServerPage = 2, + Count = 3, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/simple_event_packet.rs b/crates/proto/src/version/v662/enums/simple_event_packet.rs new file mode 100644 index 00000000..a42dc5aa --- /dev/null +++ b/crates/proto/src/version/v662/enums/simple_event_packet.rs @@ -0,0 +1,11 @@ +pub mod SimpleEventPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Subtype { + UninitializedSubtype = 0, + EnableCommands = 1, + DisableCommands = 2, + UnlockWorldTemplateSettings = 3, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/simulation_type.rs b/crates/proto/src/version/v662/enums/simulation_type.rs new file mode 100644 index 00000000..14768ddc --- /dev/null +++ b/crates/proto/src/version/v662/enums/simulation_type.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum SimulationType { + Game = 0, + Editor = 1, + Test = 2, + Invalid = 3, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/social.rs b/crates/proto/src/version/v662/enums/social.rs new file mode 100644 index 00000000..d6d6c6ec --- /dev/null +++ b/crates/proto/src/version/v662/enums/social.rs @@ -0,0 +1,12 @@ +pub mod Social { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum GamePublishSetting { + NoMultiPlay = 0, + InviteOnly = 1, + FriendsOnly = 2, + FriendsOfFriends = 3, + Public = 4, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/soft_enum_update_type.rs b/crates/proto/src/version/v662/enums/soft_enum_update_type.rs new file mode 100644 index 00000000..93015862 --- /dev/null +++ b/crates/proto/src/version/v662/enums/soft_enum_update_type.rs @@ -0,0 +1,8 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum SoftEnumUpdateType { + Add = 0, + Remove = 1, + Replace = 2, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/spawn_biome_type.rs b/crates/proto/src/version/v662/enums/spawn_biome_type.rs new file mode 100644 index 00000000..6c26b399 --- /dev/null +++ b/crates/proto/src/version/v662/enums/spawn_biome_type.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum SpawnBiomeType { + Default = 0, + UserDefined = 1, +} diff --git a/crates/proto/src/version/v662/enums/spawn_position_type.rs b/crates/proto/src/version/v662/enums/spawn_position_type.rs new file mode 100644 index 00000000..93379ca6 --- /dev/null +++ b/crates/proto/src/version/v662/enums/spawn_position_type.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum SpawnPositionType { + PlayerRespawn = 0, + WorldSpawn = 1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/structure_block_type.rs b/crates/proto/src/version/v662/enums/structure_block_type.rs new file mode 100644 index 00000000..3959f74f --- /dev/null +++ b/crates/proto/src/version/v662/enums/structure_block_type.rs @@ -0,0 +1,12 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum StructureBlockType { + Data = 0, + Save = 1, + Load = 2, + Corner = 3, + Invalid = 4, + Export = 5, + Count = 6, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/structure_redstone_save_mode.rs b/crates/proto/src/version/v662/enums/structure_redstone_save_mode.rs new file mode 100644 index 00000000..ba6b3d0f --- /dev/null +++ b/crates/proto/src/version/v662/enums/structure_redstone_save_mode.rs @@ -0,0 +1,7 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum StructureRedstoneSaveMode { + SavesToMemory = 0, + SavesToDisk = 1, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/structure_template_request_operation.rs b/crates/proto/src/version/v662/enums/structure_template_request_operation.rs new file mode 100644 index 00000000..a499c714 --- /dev/null +++ b/crates/proto/src/version/v662/enums/structure_template_request_operation.rs @@ -0,0 +1,10 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum StructureTemplateRequestOperation { + None = 0, + ExportFromSaveMode = 1, + ExportFromLoadMode = 2, + QuerySavedStructure = 3, + Import = 4, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/structure_template_response_type.rs b/crates/proto/src/version/v662/enums/structure_template_response_type.rs new file mode 100644 index 00000000..ad1bfee5 --- /dev/null +++ b/crates/proto/src/version/v662/enums/structure_template_response_type.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum StructureTemplateResponseType { + None = 0, + Export = 1, + Query = 2, + Import = 3, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/sub_chunk_packet.rs b/crates/proto/src/version/v662/enums/sub_chunk_packet.rs new file mode 100644 index 00000000..c94637e1 --- /dev/null +++ b/crates/proto/src/version/v662/enums/sub_chunk_packet.rs @@ -0,0 +1,22 @@ +pub mod SubChunkPacket { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum HeightMapDataType { + NoData = 0, + HasData = 1, + AllTooHigh = 2, + AllTooLow = 3, + } + + #[derive(ProtoCodec)] + pub enum SubChunkRequestResult { + Undefined = 0, + Success = 1, + LevelChunkDoesntExist = 2, + WrongDimension = 3, + PlayerDoesntExist = 4, + IndexOutOfBounds = 5, + SuccessAllAir = 6, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/tag.rs b/crates/proto/src/version/v662/enums/tag.rs new file mode 100644 index 00000000..fccea9d7 --- /dev/null +++ b/crates/proto/src/version/v662/enums/tag.rs @@ -0,0 +1,20 @@ +pub mod Tag { + use bedrockrs_macros::ProtoCodec; + + #[derive(ProtoCodec)] + pub enum Type { + End = 0, + Byte = 1, + Short = 2, + Int = 3, + Int64 = 4, + Float = 5, + Double = 6, + ByteArray = 7, + String = 8, + List = 9, + Compound = 10, + IntArray = 11, + NumTagTypes = 12, + } +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/text_packet_type.rs b/crates/proto/src/version/v662/enums/text_packet_type.rs new file mode 100644 index 00000000..618dc2c7 --- /dev/null +++ b/crates/proto/src/version/v662/enums/text_packet_type.rs @@ -0,0 +1,17 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum TextPacketType { + Raw = 0, + Chat = 1, + Translate = 2, + Popup = 3, + JukeboxPopup = 4, + Tip = 5, + SystemMessage = 6, + Whisper = 7, + Announcement = 8, + TextObjectWhisper = 9, + TextObject = 10, + TextObjectAnnouncement = 11, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/text_processing_event_origin.rs b/crates/proto/src/version/v662/enums/text_processing_event_origin.rs new file mode 100644 index 00000000..a3e136dc --- /dev/null +++ b/crates/proto/src/version/v662/enums/text_processing_event_origin.rs @@ -0,0 +1,22 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum TextProcessingEventOrigin { + Unknown = -1, + ServerChatPublic = 0, + ServerChatWhisper = 1, + SignText = 2, + AnvilText = 3, + BookAndQuillText = 4, + CommandBlockText = 5, + BlockActorDataText = 6, + JoinEventText = 7, + LeaveEventText = 8, + SlashCommandChat = 9, + CartographyText = 10, + KickCommand = 11, + TitleCommand = 12, + SummonCommand = 13, + ServerForm = 14, + Count = 15, +} \ No newline at end of file diff --git a/crates/proto/src/version/v662/enums/ui_profile.rs b/crates/proto/src/version/v662/enums/ui_profile.rs new file mode 100644 index 00000000..2442e665 --- /dev/null +++ b/crates/proto/src/version/v662/enums/ui_profile.rs @@ -0,0 +1,9 @@ +use bedrockrs_macros::ProtoCodec; + +#[derive(ProtoCodec)] +pub enum UIProfile { + Classic = 0, + Pocket = 1, + None = 2, + Count = 3, +} \ No newline at end of file