mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-08-11 05:52:05 +00:00
Particles for 0.16
Added BlockForceFieldParticle, removed LargeExplodeParticle and added HugeExplodeSeedParticle
This commit is contained in:
parent
bd5bbbea10
commit
7314aaf7f7
@ -26,6 +26,7 @@ use pocketmine\command\CommandSender;
|
|||||||
use pocketmine\event\TranslationContainer;
|
use pocketmine\event\TranslationContainer;
|
||||||
use pocketmine\item\Item;
|
use pocketmine\item\Item;
|
||||||
use pocketmine\level\particle\AngryVillagerParticle;
|
use pocketmine\level\particle\AngryVillagerParticle;
|
||||||
|
use pocketmine\level\particle\BlockForceFieldParticle;
|
||||||
use pocketmine\level\particle\BubbleParticle;
|
use pocketmine\level\particle\BubbleParticle;
|
||||||
use pocketmine\level\particle\CriticalParticle;
|
use pocketmine\level\particle\CriticalParticle;
|
||||||
use pocketmine\level\particle\DustParticle;
|
use pocketmine\level\particle\DustParticle;
|
||||||
@ -36,10 +37,10 @@ use pocketmine\level\particle\FlameParticle;
|
|||||||
use pocketmine\level\particle\HappyVillagerParticle;
|
use pocketmine\level\particle\HappyVillagerParticle;
|
||||||
use pocketmine\level\particle\HeartParticle;
|
use pocketmine\level\particle\HeartParticle;
|
||||||
use pocketmine\level\particle\HugeExplodeParticle;
|
use pocketmine\level\particle\HugeExplodeParticle;
|
||||||
|
use pocketmine\level\particle\HugeExplodeSeedParticle;
|
||||||
use pocketmine\level\particle\InkParticle;
|
use pocketmine\level\particle\InkParticle;
|
||||||
use pocketmine\level\particle\InstantEnchantParticle;
|
use pocketmine\level\particle\InstantEnchantParticle;
|
||||||
use pocketmine\level\particle\ItemBreakParticle;
|
use pocketmine\level\particle\ItemBreakParticle;
|
||||||
use pocketmine\level\particle\LargeExplodeParticle;
|
|
||||||
use pocketmine\level\particle\LavaDripParticle;
|
use pocketmine\level\particle\LavaDripParticle;
|
||||||
use pocketmine\level\particle\LavaParticle;
|
use pocketmine\level\particle\LavaParticle;
|
||||||
use pocketmine\level\particle\Particle;
|
use pocketmine\level\particle\Particle;
|
||||||
@ -130,10 +131,10 @@ class ParticleCommand extends VanillaCommand{
|
|||||||
switch($name){
|
switch($name){
|
||||||
case "explode":
|
case "explode":
|
||||||
return new ExplodeParticle($pos);
|
return new ExplodeParticle($pos);
|
||||||
case "largeexplode":
|
|
||||||
return new LargeExplodeParticle($pos);
|
|
||||||
case "hugeexplosion":
|
case "hugeexplosion":
|
||||||
return new HugeExplodeParticle($pos);
|
return new HugeExplodeParticle($pos);
|
||||||
|
case "hugeexplosionseed":
|
||||||
|
return new HugeExplodeSeedParticle($pos);
|
||||||
case "bubble":
|
case "bubble":
|
||||||
return new BubbleParticle($pos);
|
return new BubbleParticle($pos);
|
||||||
case "splash":
|
case "splash":
|
||||||
@ -144,7 +145,7 @@ class ParticleCommand extends VanillaCommand{
|
|||||||
case "crit":
|
case "crit":
|
||||||
return new CriticalParticle($pos);
|
return new CriticalParticle($pos);
|
||||||
case "smoke":
|
case "smoke":
|
||||||
return new SmokeParticle($pos, $data !== null ? $data : 0);
|
return new SmokeParticle($pos, $data ?? 0);
|
||||||
case "spell":
|
case "spell":
|
||||||
return new EnchantParticle($pos);
|
return new EnchantParticle($pos);
|
||||||
case "instantspell":
|
case "instantspell":
|
||||||
@ -163,7 +164,7 @@ class ParticleCommand extends VanillaCommand{
|
|||||||
case "lava":
|
case "lava":
|
||||||
return new LavaParticle($pos);
|
return new LavaParticle($pos);
|
||||||
case "reddust":
|
case "reddust":
|
||||||
return new RedstoneParticle($pos, $data !== null ? $data : 1);
|
return new RedstoneParticle($pos, $data ?? 1);
|
||||||
case "snowballpoof":
|
case "snowballpoof":
|
||||||
return new ItemBreakParticle($pos, Item::get(Item::SNOWBALL));
|
return new ItemBreakParticle($pos, Item::get(Item::SNOWBALL));
|
||||||
case "slime":
|
case "slime":
|
||||||
@ -179,9 +180,9 @@ class ParticleCommand extends VanillaCommand{
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "heart":
|
case "heart":
|
||||||
return new HeartParticle($pos, $data !== null ? $data : 0);
|
return new HeartParticle($pos, $data ?? 0);
|
||||||
case "ink":
|
case "ink":
|
||||||
return new InkParticle($pos, $data !== null ? $data : 0);
|
return new InkParticle($pos, $data ?? 0);
|
||||||
case "droplet":
|
case "droplet":
|
||||||
return new RainSplashParticle($pos);
|
return new RainSplashParticle($pos);
|
||||||
case "enchantmenttable":
|
case "enchantmenttable":
|
||||||
@ -190,6 +191,8 @@ class ParticleCommand extends VanillaCommand{
|
|||||||
return new HappyVillagerParticle($pos);
|
return new HappyVillagerParticle($pos);
|
||||||
case "angryvillager":
|
case "angryvillager":
|
||||||
return new AngryVillagerParticle($pos);
|
return new AngryVillagerParticle($pos);
|
||||||
|
case "forcefield":
|
||||||
|
return new BlockForceFieldParticle($pos, $data ?? 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
30
src/pocketmine/level/particle/BlockForceFieldParticle.php
Normal file
30
src/pocketmine/level/particle/BlockForceFieldParticle.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* ____ _ _ __ __ _ __ __ ____
|
||||||
|
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
|
||||||
|
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
|
||||||
|
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
|
||||||
|
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* @author PocketMine Team
|
||||||
|
* @link http://www.pocketmine.net/
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace pocketmine\level\particle;
|
||||||
|
|
||||||
|
use pocketmine\math\Vector3;
|
||||||
|
|
||||||
|
class BlockForceFieldParticle extends GenericParticle{
|
||||||
|
public function __construct(Vector3 $pos, int $data = 0){
|
||||||
|
parent::__construct($pos, Particle::TYPE_BLOCK_FORCE_FIELD, $data); //TODO: proper encode/decode of data
|
||||||
|
}
|
||||||
|
}
|
@ -23,8 +23,8 @@ namespace pocketmine\level\particle;
|
|||||||
|
|
||||||
use pocketmine\math\Vector3;
|
use pocketmine\math\Vector3;
|
||||||
|
|
||||||
class LargeExplodeParticle extends GenericParticle{
|
class HugeExplodeSeedParticle extends GenericParticle{
|
||||||
public function __construct(Vector3 $pos){
|
public function __construct(Vector3 $pos){
|
||||||
parent::__construct($pos, Particle::TYPE_LARGE_EXPLODE);
|
parent::__construct($pos, Particle::TYPE_HUGE_EXPLODE_SEED);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -28,36 +28,42 @@ abstract class Particle extends Vector3{
|
|||||||
|
|
||||||
const TYPE_BUBBLE = 1;
|
const TYPE_BUBBLE = 1;
|
||||||
const TYPE_CRITICAL = 2;
|
const TYPE_CRITICAL = 2;
|
||||||
const TYPE_SMOKE = 3;
|
const TYPE_BLOCK_FORCE_FIELD = 3;
|
||||||
const TYPE_EXPLODE = 4;
|
const TYPE_SMOKE = 4;
|
||||||
const TYPE_WHITE_SMOKE = 5;
|
const TYPE_EXPLODE = 5; //actually steam
|
||||||
const TYPE_FLAME = 6;
|
const TYPE_WHITE_SMOKE = 6; //also steam, maybe bigger?
|
||||||
const TYPE_LAVA = 7;
|
const TYPE_FLAME = 7;
|
||||||
const TYPE_LARGE_SMOKE = 8;
|
const TYPE_LAVA = 8;
|
||||||
const TYPE_REDSTONE = 9;
|
const TYPE_LARGE_SMOKE = 9;
|
||||||
const TYPE_ITEM_BREAK = 10;
|
const TYPE_REDSTONE = 10;
|
||||||
const TYPE_SNOWBALL_POOF = 11;
|
const TYPE_RISING_RED_DUST = 11;
|
||||||
const TYPE_LARGE_EXPLODE = 12;
|
const TYPE_ITEM_BREAK = 12;
|
||||||
const TYPE_HUGE_EXPLODE = 13;
|
const TYPE_SNOWBALL_POOF = 13;
|
||||||
const TYPE_MOB_FLAME = 14;
|
const TYPE_HUGE_EXPLODE = 14;
|
||||||
const TYPE_HEART = 15;
|
const TYPE_HUGE_EXPLODE_SEED = 15;
|
||||||
const TYPE_TERRAIN = 16;
|
const TYPE_MOB_FLAME = 16;
|
||||||
const TYPE_TOWN_AURA = 17;
|
const TYPE_HEART = 17;
|
||||||
const TYPE_PORTAL = 18;
|
const TYPE_TERRAIN = 18;
|
||||||
const TYPE_WATER_SPLASH = 19;
|
const TYPE_SUSPENDED_TOWN = 19, TYPE_TOWN_AURA = 19;
|
||||||
const TYPE_WATER_WAKE = 20;
|
const TYPE_PORTAL = 20;
|
||||||
const TYPE_DRIP_WATER = 21;
|
const TYPE_SPLASH = 21, TYPE_WATER_SPLASH = 21;
|
||||||
const TYPE_DRIP_LAVA = 22;
|
const TYPE_WATER_WAKE = 22;
|
||||||
const TYPE_DUST = 23;
|
const TYPE_DRIP_WATER = 23;
|
||||||
const TYPE_MOB_SPELL = 24;
|
const TYPE_DRIP_LAVA = 24;
|
||||||
const TYPE_MOB_SPELL_AMBIENT = 25;
|
const TYPE_FALLING_DUST = 25, TYPE_DUST = 25;
|
||||||
const TYPE_MOB_SPELL_INSTANTANEOUS = 26;
|
const TYPE_MOB_SPELL = 26;
|
||||||
const TYPE_INK = 27;
|
const TYPE_MOB_SPELL_AMBIENT = 27;
|
||||||
const TYPE_SLIME = 28;
|
const TYPE_MOB_SPELL_INSTANTANEOUS = 28;
|
||||||
const TYPE_RAIN_SPLASH = 29;
|
const TYPE_INK = 29;
|
||||||
const TYPE_VILLAGER_ANGRY = 30;
|
const TYPE_SLIME = 30;
|
||||||
const TYPE_VILLAGER_HAPPY = 31;
|
const TYPE_RAIN_SPLASH = 31;
|
||||||
const TYPE_ENCHANTMENT_TABLE = 32;
|
const TYPE_VILLAGER_ANGRY = 32;
|
||||||
|
const TYPE_VILLAGER_HAPPY = 33;
|
||||||
|
const TYPE_ENCHANTMENT_TABLE = 34;
|
||||||
|
const TYPE_TRACKING_EMITTER = 35;
|
||||||
|
const TYPE_NOTE = 36;
|
||||||
|
//37 yet another SpellParticle of some description
|
||||||
|
const TYPE_CARROT = 38;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return DataPacket|DataPacket[]
|
* @return DataPacket|DataPacket[]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user