From 3fae57508bf85f35bd3e05639cbfd4ffe21922eb Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 13 Jul 2019 20:08:17 +0100 Subject: [PATCH 1/7] update particle ids --- src/pocketmine/level/particle/Particle.php | 114 +++++++++++---------- 1 file changed, 61 insertions(+), 53 deletions(-) diff --git a/src/pocketmine/level/particle/Particle.php b/src/pocketmine/level/particle/Particle.php index 450769513..ec7370857 100644 --- a/src/pocketmine/level/particle/Particle.php +++ b/src/pocketmine/level/particle/Particle.php @@ -29,59 +29,67 @@ use pocketmine\network\mcpe\protocol\DataPacket; abstract class Particle extends Vector3{ public const TYPE_BUBBLE = 1; - public const TYPE_CRITICAL = 2; - public const TYPE_BLOCK_FORCE_FIELD = 3; - public const TYPE_SMOKE = 4; - public const TYPE_EXPLODE = 5; - public const TYPE_EVAPORATION = 6; - public const TYPE_FLAME = 7; - public const TYPE_LAVA = 8; - public const TYPE_LARGE_SMOKE = 9; - public const TYPE_REDSTONE = 10; - public const TYPE_RISING_RED_DUST = 11; - public const TYPE_ITEM_BREAK = 12; - public const TYPE_SNOWBALL_POOF = 13; - public const TYPE_HUGE_EXPLODE = 14; - public const TYPE_HUGE_EXPLODE_SEED = 15; - public const TYPE_MOB_FLAME = 16; - public const TYPE_HEART = 17; - public const TYPE_TERRAIN = 18; - public const TYPE_SUSPENDED_TOWN = 19, TYPE_TOWN_AURA = 19; - public const TYPE_PORTAL = 20; - public const TYPE_SPLASH = 21, TYPE_WATER_SPLASH = 21; - public const TYPE_WATER_WAKE = 22; - public const TYPE_DRIP_WATER = 23; - public const TYPE_DRIP_LAVA = 24; - public const TYPE_FALLING_DUST = 25, TYPE_DUST = 25; - public const TYPE_MOB_SPELL = 26; - public const TYPE_MOB_SPELL_AMBIENT = 27; - public const TYPE_MOB_SPELL_INSTANTANEOUS = 28; - public const TYPE_INK = 29; - public const TYPE_SLIME = 30; - public const TYPE_RAIN_SPLASH = 31; - public const TYPE_VILLAGER_ANGRY = 32; - public const TYPE_VILLAGER_HAPPY = 33; - public const TYPE_ENCHANTMENT_TABLE = 34; - public const TYPE_TRACKING_EMITTER = 35; - public const TYPE_NOTE = 36; - public const TYPE_WITCH_SPELL = 37; - public const TYPE_CARROT = 38; - //39 unknown - public const TYPE_END_ROD = 40; - public const TYPE_DRAGONS_BREATH = 41; - public const TYPE_SPIT = 42; - public const TYPE_TOTEM = 43; - public const TYPE_FOOD = 44; - public const TYPE_FIREWORKS_STARTER = 45; - public const TYPE_FIREWORKS_SPARK = 46; - public const TYPE_FIREWORKS_OVERLAY = 47; - public const TYPE_BALLOON_GAS = 48; - public const TYPE_COLORED_FLAME = 49; - public const TYPE_SPARKLER = 50; - public const TYPE_CONDUIT = 51; - public const TYPE_BUBBLE_COLUMN_UP = 52; - public const TYPE_BUBBLE_COLUMN_DOWN = 53; - public const TYPE_SNEEZE = 54; + //2 same as 1 + public const TYPE_CRITICAL = 3; + public const TYPE_BLOCK_FORCE_FIELD = 4; + public const TYPE_SMOKE = 5; + public const TYPE_EXPLODE = 6; + public const TYPE_EVAPORATION = 7; + public const TYPE_FLAME = 8; + public const TYPE_LAVA = 9; + public const TYPE_LARGE_SMOKE = 10; + public const TYPE_REDSTONE = 11; + public const TYPE_RISING_RED_DUST = 12; + //62 same as 12 + public const TYPE_ITEM_BREAK = 13; + public const TYPE_SNOWBALL_POOF = 14; + public const TYPE_HUGE_EXPLODE = 15; + //60 same as 15 + public const TYPE_HUGE_EXPLODE_SEED = 16; + public const TYPE_MOB_FLAME = 17; + public const TYPE_HEART = 18; + public const TYPE_TERRAIN = 19; + public const TYPE_SUSPENDED_TOWN = 20, TYPE_TOWN_AURA = 20; + //61 same as 20 + public const TYPE_PORTAL = 21; + //22 same as 21 + public const TYPE_SPLASH = 23, TYPE_WATER_SPLASH = 23; + //24 same as 23 + public const TYPE_WATER_WAKE = 25; + public const TYPE_DRIP_WATER = 26; + public const TYPE_DRIP_LAVA = 27; + public const TYPE_FALLING_DUST = 28, TYPE_DUST = 28; + public const TYPE_MOB_SPELL = 29; + public const TYPE_MOB_SPELL_AMBIENT = 30; + public const TYPE_MOB_SPELL_INSTANTANEOUS = 31; + public const TYPE_INK = 32; + public const TYPE_SLIME = 33; + public const TYPE_RAIN_SPLASH = 34; + public const TYPE_VILLAGER_ANGRY = 35; + //59 same as 35 + public const TYPE_VILLAGER_HAPPY = 36; + public const TYPE_ENCHANTMENT_TABLE = 37; + public const TYPE_TRACKING_EMITTER = 38; + public const TYPE_NOTE = 39; + public const TYPE_WITCH_SPELL = 40; + public const TYPE_CARROT = 41; + //42 unknown + public const TYPE_END_ROD = 43; + //58 same as 43 + public const TYPE_DRAGONS_BREATH = 44; + public const TYPE_SPIT = 45; + public const TYPE_TOTEM = 46; + public const TYPE_FOOD = 47; + public const TYPE_FIREWORKS_STARTER = 48; + public const TYPE_FIREWORKS_SPARK = 49; + public const TYPE_FIREWORKS_OVERLAY = 50; + public const TYPE_BALLOON_GAS = 51; + public const TYPE_COLORED_FLAME = 52; + public const TYPE_SPARKLER = 53; + public const TYPE_CONDUIT = 54; + public const TYPE_BUBBLE_COLUMN_UP = 55; + public const TYPE_BUBBLE_COLUMN_DOWN = 56; + public const TYPE_SNEEZE = 57; /** * @return DataPacket|DataPacket[] From 94eb64c2be18c270cca5bd0e81d5509c91ec64ca Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 14 Jul 2019 17:22:44 +0100 Subject: [PATCH 2/7] 1.12: fix resource packs, closes #3023 --- .../protocol/ResourcePackDataInfoPacket.php | 3 +- .../mcpe/protocol/types/ResourcePackType.php | 38 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/pocketmine/network/mcpe/protocol/types/ResourcePackType.php diff --git a/src/pocketmine/network/mcpe/protocol/ResourcePackDataInfoPacket.php b/src/pocketmine/network/mcpe/protocol/ResourcePackDataInfoPacket.php index 2e204e654..81bdfe702 100644 --- a/src/pocketmine/network/mcpe/protocol/ResourcePackDataInfoPacket.php +++ b/src/pocketmine/network/mcpe/protocol/ResourcePackDataInfoPacket.php @@ -28,6 +28,7 @@ namespace pocketmine\network\mcpe\protocol; use pocketmine\network\mcpe\NetworkSession; +use pocketmine\network\mcpe\protocol\types\ResourcePackType; class ResourcePackDataInfoPacket extends DataPacket{ public const NETWORK_ID = ProtocolInfo::RESOURCE_PACK_DATA_INFO_PACKET; @@ -45,7 +46,7 @@ class ResourcePackDataInfoPacket extends DataPacket{ /** @var bool */ public $isPremium = false; /** @var int */ - public $packType = 0; //TODO: check the values for this + public $packType = ResourcePackType::RESOURCES; //TODO: check the values for this protected function decodePayload(){ $this->packId = $this->getString(); diff --git a/src/pocketmine/network/mcpe/protocol/types/ResourcePackType.php b/src/pocketmine/network/mcpe/protocol/types/ResourcePackType.php new file mode 100644 index 000000000..9efaced08 --- /dev/null +++ b/src/pocketmine/network/mcpe/protocol/types/ResourcePackType.php @@ -0,0 +1,38 @@ + Date: Sun, 14 Jul 2019 17:28:29 +0100 Subject: [PATCH 3/7] regenerate LevelSoundEventPacket sound IDs --- .../network/mcpe/protocol/LevelSoundEventPacket.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/pocketmine/network/mcpe/protocol/LevelSoundEventPacket.php b/src/pocketmine/network/mcpe/protocol/LevelSoundEventPacket.php index 99e891b57..e60dad86f 100644 --- a/src/pocketmine/network/mcpe/protocol/LevelSoundEventPacket.php +++ b/src/pocketmine/network/mcpe/protocol/LevelSoundEventPacket.php @@ -292,8 +292,8 @@ class LevelSoundEventPacket extends DataPacket{ public const SOUND_STUN = 261; public const SOUND_BLOCK_SWEET_BERRY_BUSH_HURT = 262; public const SOUND_BLOCK_SWEET_BERRY_BUSH_PICK = 263; - public const SOUND_UI_CARTOGRAPHY_TABLE_TAKE_RESULT = 264; - public const SOUND_UI_STONECUTTER_TAKE_RESULT = 265; + public const SOUND_BLOCK_CARTOGRAPHY_TABLE_USE = 264; + public const SOUND_BLOCK_STONECUTTER_USE = 265; public const SOUND_BLOCK_COMPOSTER_EMPTY = 266; public const SOUND_BLOCK_COMPOSTER_FILL = 267; public const SOUND_BLOCK_COMPOSTER_FILL_SUCCESS = 268; @@ -302,7 +302,14 @@ class LevelSoundEventPacket extends DataPacket{ public const SOUND_BLOCK_BARREL_CLOSE = 271; public const SOUND_RAID_HORN = 272; public const SOUND_BLOCK_LOOM_USE = 273; - public const SOUND_UNDEFINED = 274; + public const SOUND_AMBIENT_IN_RAID = 274; + public const SOUND_UI_CARTOGRAPHY_TABLE_TAKE_RESULT = 275; + public const SOUND_UI_STONECUTTER_TAKE_RESULT = 276; + public const SOUND_UI_LOOM_TAKE_RESULT = 277; + public const SOUND_BLOCK_SMOKER_SMOKE = 278; + public const SOUND_BLOCK_BLASTFURNACE_FIRE_CRACKLE = 279; + public const SOUND_BLOCK_SMITHING_TABLE_USE = 280; + public const SOUND_UNDEFINED = 281; /** @var int */ public $sound; From 68397123948fc7451214aa1946c2c755ae0bb3b7 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 14 Jul 2019 17:30:37 +0100 Subject: [PATCH 4/7] added new PlayerActionPacket constant, silence debug noise every time a player clicks a block --- src/pocketmine/Player.php | 2 ++ src/pocketmine/network/mcpe/protocol/PlayerActionPacket.php | 1 + 2 files changed, 3 insertions(+) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index beb7ab3c0..c91e054e4 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -2855,6 +2855,8 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ case PlayerActionPacket::ACTION_STOP_SWIMMING: //TODO: handle this when it doesn't spam every damn tick (yet another spam bug!!) break; + case PlayerActionPacket::ACTION_INTERACT_BLOCK: //ignored (for now) + break; default: $this->server->getLogger()->debug("Unhandled/unknown player action type " . $packet->action . " from " . $this->getName()); return false; diff --git a/src/pocketmine/network/mcpe/protocol/PlayerActionPacket.php b/src/pocketmine/network/mcpe/protocol/PlayerActionPacket.php index 5d45b27d3..590111e15 100644 --- a/src/pocketmine/network/mcpe/protocol/PlayerActionPacket.php +++ b/src/pocketmine/network/mcpe/protocol/PlayerActionPacket.php @@ -56,6 +56,7 @@ class PlayerActionPacket extends DataPacket{ public const ACTION_STOP_SWIMMING = 22; public const ACTION_START_SPIN_ATTACK = 23; public const ACTION_STOP_SPIN_ATTACK = 24; + public const ACTION_INTERACT_BLOCK = 25; /** @var int */ public $entityRuntimeId; From 50d71809e158df3c1c4a59d3dbc4edb6a85f0d4a Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 14 Jul 2019 19:03:06 +0100 Subject: [PATCH 5/7] Entity: fixed onfire flag being set when setting fire ticks to zero, closes #3031 --- src/pocketmine/entity/Entity.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pocketmine/entity/Entity.php b/src/pocketmine/entity/Entity.php index ae9fb8d8b..b464da92c 100644 --- a/src/pocketmine/entity/Entity.php +++ b/src/pocketmine/entity/Entity.php @@ -1143,7 +1143,7 @@ abstract class Entity extends Location implements Metadatable, EntityIds{ $this->setFireTicks($ticks); } - $this->setGenericFlag(self::DATA_FLAG_ONFIRE, true); + $this->setGenericFlag(self::DATA_FLAG_ONFIRE, $this->isOnFire()); } /** From aaa01bb6f87082fc4cf4c251c06f1a590d886f2e Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 14 Jul 2019 19:10:29 +0100 Subject: [PATCH 6/7] Release 3.9.1 --- changelogs/3.9.md | 7 +++++++ src/pocketmine/VersionInfo.php | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/changelogs/3.9.md b/changelogs/3.9.md index 4fa55b5b8..1f8f68545 100644 --- a/changelogs/3.9.md +++ b/changelogs/3.9.md @@ -37,3 +37,10 @@ Plugin developers should **only** update their required API to this version if y - `RemoveEntityPacket` (not to be confused with the old one) - `StructureTemplateDataExportRequestPacket` - `StructureTemplateDataExportResponsePacket` + +# 3.9.1 +- Fixed resource packs not working on 1.12 clients. +- Fixed some particles displaying incorrectly (some still don't render at all). +- Fixed `Entity->setFireTicks()` with a value of `0` setting the on-fire flag. +- Silenced a debug message which appeared every time a player right-clicked a block. +- Updated constants for `LevelSoundEventPacket`. diff --git a/src/pocketmine/VersionInfo.php b/src/pocketmine/VersionInfo.php index 1c4a26100..a912acab8 100644 --- a/src/pocketmine/VersionInfo.php +++ b/src/pocketmine/VersionInfo.php @@ -23,5 +23,5 @@ namespace pocketmine; const NAME = "PocketMine-MP"; const BASE_VERSION = "3.9.1"; -const IS_DEVELOPMENT_BUILD = true; +const IS_DEVELOPMENT_BUILD = false; const BUILD_NUMBER = 0; From 64fbf5025a8bd8db9dfdee99d2db1d20b454ac93 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 14 Jul 2019 19:10:29 +0100 Subject: [PATCH 7/7] 3.9.2 is next --- src/pocketmine/VersionInfo.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/VersionInfo.php b/src/pocketmine/VersionInfo.php index a912acab8..97ccfb941 100644 --- a/src/pocketmine/VersionInfo.php +++ b/src/pocketmine/VersionInfo.php @@ -22,6 +22,6 @@ namespace pocketmine; const NAME = "PocketMine-MP"; -const BASE_VERSION = "3.9.1"; -const IS_DEVELOPMENT_BUILD = false; +const BASE_VERSION = "3.9.2"; +const IS_DEVELOPMENT_BUILD = true; const BUILD_NUMBER = 0;