mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 16:24:05 +00:00
Entity: Moved and renamed entity\Item to entity\object\ItemEntity
This commit is contained in:
parent
bd3d2451bc
commit
b39bbffdc5
@ -32,8 +32,8 @@ use pocketmine\entity\Effect;
|
||||
use pocketmine\entity\EffectInstance;
|
||||
use pocketmine\entity\Entity;
|
||||
use pocketmine\entity\Human;
|
||||
use pocketmine\entity\Item as DroppedItem;
|
||||
use pocketmine\entity\Living;
|
||||
use pocketmine\entity\object\ItemEntity;
|
||||
use pocketmine\entity\projectile\Arrow;
|
||||
use pocketmine\entity\Skin;
|
||||
use pocketmine\event\entity\EntityDamageByBlockEvent;
|
||||
@ -2461,7 +2461,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
|
||||
if(!$target->isAlive()){
|
||||
return true;
|
||||
}
|
||||
if($target instanceof DroppedItem or $target instanceof Arrow){
|
||||
if($target instanceof ItemEntity or $target instanceof Arrow){
|
||||
$this->kick("Attempting to attack an invalid entity");
|
||||
$this->server->getLogger()->warning($this->getServer()->getLanguage()->translateString("pocketmine.player.invalidEntity", [$this->getName()]));
|
||||
return false;
|
||||
|
@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace pocketmine\entity;
|
||||
|
||||
use pocketmine\item\Item;
|
||||
use pocketmine\math\Vector3;
|
||||
|
||||
class DataPropertyManager{
|
||||
@ -138,20 +139,20 @@ class DataPropertyManager{
|
||||
/**
|
||||
* @param int $key
|
||||
*
|
||||
* @return null|\pocketmine\item\Item
|
||||
* @return null|Item
|
||||
*/
|
||||
public function getItem(int $key) : ?\pocketmine\item\Item{
|
||||
public function getItem(int $key) : ?Item{
|
||||
$value = $this->getPropertyValue($key, Entity::DATA_TYPE_SLOT);
|
||||
assert($value instanceof \pocketmine\item\Item or $value === null);
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $key
|
||||
* @param \pocketmine\item\Item $value
|
||||
* @param bool $force
|
||||
* @param int $key
|
||||
* @param Item $value
|
||||
* @param bool $force
|
||||
*/
|
||||
public function setItem(int $key, \pocketmine\item\Item $value, bool $force = false) : void{
|
||||
public function setItem(int $key, Item $value, bool $force = false) : void{
|
||||
$this->setPropertyValue($key, Entity::DATA_TYPE_SLOT, $value, $force);
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,7 @@ use pocketmine\block\Block;
|
||||
use pocketmine\block\BlockFactory;
|
||||
use pocketmine\block\Water;
|
||||
use pocketmine\entity\object\ExperienceOrb;
|
||||
use pocketmine\entity\object\ItemEntity;
|
||||
use pocketmine\entity\object\Painting;
|
||||
use pocketmine\entity\object\PaintingMotive;
|
||||
use pocketmine\entity\projectile\Arrow;
|
||||
@ -237,7 +238,7 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
|
||||
Entity::registerEntity(ExperienceBottle::class, false, ['ThrownExpBottle', 'minecraft:xp_bottle']);
|
||||
Entity::registerEntity(ExperienceOrb::class, false, ['XPOrb', 'minecraft:xp_orb']);
|
||||
Entity::registerEntity(FallingSand::class, false, ['FallingSand', 'minecraft:falling_block']);
|
||||
Entity::registerEntity(Item::class, false, ['Item', 'minecraft:item']);
|
||||
Entity::registerEntity(ItemEntity::class, false, ['Item', 'minecraft:item']);
|
||||
Entity::registerEntity(Painting::class, false, ['Painting', 'minecraft:painting']);
|
||||
Entity::registerEntity(PrimedTNT::class, false, ['PrimedTnt', 'PrimedTNT', 'minecraft:tnt']);
|
||||
Entity::registerEntity(Snowball::class, false, ['Snowball', 'minecraft:snowball']);
|
||||
|
@ -33,7 +33,7 @@ use pocketmine\inventory\InventoryHolder;
|
||||
use pocketmine\inventory\PlayerInventory;
|
||||
use pocketmine\item\Consumable;
|
||||
use pocketmine\item\FoodSource;
|
||||
use pocketmine\item\Item as ItemItem;
|
||||
use pocketmine\item\Item;
|
||||
use pocketmine\level\Level;
|
||||
use pocketmine\nbt\NBT;
|
||||
use pocketmine\nbt\tag\ByteArrayTag;
|
||||
@ -517,9 +517,9 @@ class Human extends Creature implements ProjectileSource, InventoryHolder{
|
||||
if($slot >= 0 and $slot < 9){ //Hotbar
|
||||
//Old hotbar saving stuff, ignore it
|
||||
}elseif($slot >= 100 and $slot < 104){ //Armor
|
||||
$this->armorInventory->setItem($slot - 100, ItemItem::nbtDeserialize($item));
|
||||
$this->armorInventory->setItem($slot - 100, Item::nbtDeserialize($item));
|
||||
}else{
|
||||
$this->inventory->setItem($slot - 9, ItemItem::nbtDeserialize($item));
|
||||
$this->inventory->setItem($slot - 9, Item::nbtDeserialize($item));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -528,7 +528,7 @@ class Human extends Creature implements ProjectileSource, InventoryHolder{
|
||||
if($enderChestInventoryTag !== null){
|
||||
/** @var CompoundTag $item */
|
||||
foreach($enderChestInventoryTag as $i => $item){
|
||||
$this->enderChestInventory->setItem($item->getByte("Slot"), ItemItem::nbtDeserialize($item));
|
||||
$this->enderChestInventory->setItem($item->getByte("Slot"), Item::nbtDeserialize($item));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ use pocketmine\inventory\ArmorInventory;
|
||||
use pocketmine\item\Armor;
|
||||
use pocketmine\item\Consumable;
|
||||
use pocketmine\item\enchantment\Enchantment;
|
||||
use pocketmine\item\Item as ItemItem;
|
||||
use pocketmine\item\Item;
|
||||
use pocketmine\math\Vector3;
|
||||
use pocketmine\math\VoxelRayTrace;
|
||||
use pocketmine\nbt\tag\ByteTag;
|
||||
@ -751,7 +751,7 @@ abstract class Living extends Entity implements Damageable{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ItemItem[]
|
||||
* @return Item[]
|
||||
*/
|
||||
public function getDrops() : array{
|
||||
return [];
|
||||
|
@ -25,7 +25,7 @@ namespace pocketmine\entity;
|
||||
|
||||
use pocketmine\event\entity\EntityDamageByEntityEvent;
|
||||
use pocketmine\event\entity\EntityDamageEvent;
|
||||
use pocketmine\item\Item as ItemItem;
|
||||
use pocketmine\item\Item;
|
||||
use pocketmine\item\ItemFactory;
|
||||
use pocketmine\math\Vector3;
|
||||
use pocketmine\network\mcpe\protocol\EntityEventPacket;
|
||||
@ -123,7 +123,7 @@ class Squid extends WaterAnimal{
|
||||
|
||||
public function getDrops() : array{
|
||||
return [
|
||||
ItemFactory::get(ItemItem::DYE, 0, mt_rand(1, 3))
|
||||
ItemFactory::get(Item::DYE, 0, mt_rand(1, 3))
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace pocketmine\entity;
|
||||
|
||||
use pocketmine\item\Item as ItemItem;
|
||||
use pocketmine\item\Item;
|
||||
use pocketmine\item\ItemFactory;
|
||||
|
||||
class Zombie extends Monster{
|
||||
@ -38,19 +38,19 @@ class Zombie extends Monster{
|
||||
|
||||
public function getDrops() : array{
|
||||
$drops = [
|
||||
ItemFactory::get(ItemItem::ROTTEN_FLESH, 0, mt_rand(0, 2))
|
||||
ItemFactory::get(Item::ROTTEN_FLESH, 0, mt_rand(0, 2))
|
||||
];
|
||||
|
||||
if(mt_rand(0, 199) < 5){
|
||||
switch(mt_rand(0, 2)){
|
||||
case 0:
|
||||
$drops[] = ItemFactory::get(ItemItem::IRON_INGOT, 0, 1);
|
||||
$drops[] = ItemFactory::get(Item::IRON_INGOT, 0, 1);
|
||||
break;
|
||||
case 1:
|
||||
$drops[] = ItemFactory::get(ItemItem::CARROT, 0, 1);
|
||||
$drops[] = ItemFactory::get(Item::CARROT, 0, 1);
|
||||
break;
|
||||
case 2:
|
||||
$drops[] = ItemFactory::get(ItemItem::POTATO, 0, 1);
|
||||
$drops[] = ItemFactory::get(Item::POTATO, 0, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -21,18 +21,19 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace pocketmine\entity;
|
||||
namespace pocketmine\entity\object;
|
||||
|
||||
use pocketmine\entity\Entity;
|
||||
use pocketmine\event\entity\EntityDamageEvent;
|
||||
use pocketmine\event\entity\ItemDespawnEvent;
|
||||
use pocketmine\event\entity\ItemSpawnEvent;
|
||||
use pocketmine\event\inventory\InventoryPickupItemEvent;
|
||||
use pocketmine\item\Item as ItemItem;
|
||||
use pocketmine\item\Item;
|
||||
use pocketmine\network\mcpe\protocol\AddItemEntityPacket;
|
||||
use pocketmine\network\mcpe\protocol\TakeItemEntityPacket;
|
||||
use pocketmine\Player;
|
||||
|
||||
class Item extends Entity{
|
||||
class ItemEntity extends Entity{
|
||||
public const NETWORK_ID = self::ITEM;
|
||||
|
||||
/** @var string */
|
||||
@ -41,7 +42,7 @@ class Item extends Entity{
|
||||
protected $thrower = "";
|
||||
/** @var int */
|
||||
protected $pickupDelay = 0;
|
||||
/** @var ItemItem */
|
||||
/** @var Item */
|
||||
protected $item;
|
||||
|
||||
public $width = 0.25;
|
||||
@ -70,7 +71,7 @@ class Item extends Entity{
|
||||
return;
|
||||
}
|
||||
|
||||
$this->item = ItemItem::nbtDeserialize($itemTag);
|
||||
$this->item = Item::nbtDeserialize($itemTag);
|
||||
|
||||
|
||||
$this->server->getPluginManager()->callEvent(new ItemSpawnEvent($this));
|
||||
@ -142,9 +143,9 @@ class Item extends Entity{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ItemItem
|
||||
* @return Item
|
||||
*/
|
||||
public function getItem() : ItemItem{
|
||||
public function getItem() : Item{
|
||||
return $this->item;
|
||||
}
|
||||
|
||||
@ -217,7 +218,7 @@ class Item extends Entity{
|
||||
$item = $this->getItem();
|
||||
$playerInventory = $player->getInventory();
|
||||
|
||||
if(!($item instanceof ItemItem) or ($player->isSurvival() and !$playerInventory->canAddItem($item))){
|
||||
if(!($item instanceof Item) or ($player->isSurvival() and !$playerInventory->canAddItem($item))){
|
||||
return;
|
||||
}
|
||||
|
||||
@ -227,10 +228,10 @@ class Item extends Entity{
|
||||
}
|
||||
|
||||
switch($item->getId()){
|
||||
case ItemItem::WOOD:
|
||||
case Item::WOOD:
|
||||
$player->awardAchievement("mineWood");
|
||||
break;
|
||||
case ItemItem::DIAMOND:
|
||||
case Item::DIAMOND:
|
||||
$player->awardAchievement("diamond");
|
||||
break;
|
||||
}
|
@ -26,7 +26,7 @@ namespace pocketmine\event\entity;
|
||||
use pocketmine\entity\Creature;
|
||||
use pocketmine\entity\Entity;
|
||||
use pocketmine\entity\Human;
|
||||
use pocketmine\entity\Item;
|
||||
use pocketmine\entity\object\ItemEntity;
|
||||
use pocketmine\entity\projectile\Projectile;
|
||||
use pocketmine\entity\Vehicle;
|
||||
|
||||
@ -86,7 +86,7 @@ class EntityDespawnEvent extends EntityEvent{
|
||||
* @return bool
|
||||
*/
|
||||
public function isItem() : bool{
|
||||
return $this->entity instanceof Item;
|
||||
return $this->entity instanceof ItemEntity;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ namespace pocketmine\event\entity;
|
||||
use pocketmine\entity\Creature;
|
||||
use pocketmine\entity\Entity;
|
||||
use pocketmine\entity\Human;
|
||||
use pocketmine\entity\Item;
|
||||
use pocketmine\entity\object\ItemEntity;
|
||||
use pocketmine\entity\projectile\Projectile;
|
||||
use pocketmine\entity\Vehicle;
|
||||
use pocketmine\level\Position;
|
||||
@ -94,7 +94,7 @@ class EntitySpawnEvent extends EntityEvent{
|
||||
* @return bool
|
||||
*/
|
||||
public function isItem() : bool{
|
||||
return $this->entity instanceof Item;
|
||||
return $this->entity instanceof ItemEntity;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -23,22 +23,22 @@ declare(strict_types=1);
|
||||
|
||||
namespace pocketmine\event\entity;
|
||||
|
||||
use pocketmine\entity\Item;
|
||||
use pocketmine\entity\object\ItemEntity;
|
||||
use pocketmine\event\Cancellable;
|
||||
|
||||
class ItemDespawnEvent extends EntityEvent implements Cancellable{
|
||||
public static $handlerList = null;
|
||||
|
||||
/**
|
||||
* @param Item $item
|
||||
* @param ItemEntity $item
|
||||
*/
|
||||
public function __construct(Item $item){
|
||||
public function __construct(ItemEntity $item){
|
||||
$this->entity = $item;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Item
|
||||
* @return ItemEntity
|
||||
*/
|
||||
public function getEntity(){
|
||||
return $this->entity;
|
||||
|
@ -23,21 +23,21 @@ declare(strict_types=1);
|
||||
|
||||
namespace pocketmine\event\entity;
|
||||
|
||||
use pocketmine\entity\Item;
|
||||
use pocketmine\entity\object\ItemEntity;
|
||||
|
||||
class ItemSpawnEvent extends EntityEvent{
|
||||
public static $handlerList = null;
|
||||
|
||||
/**
|
||||
* @param Item $item
|
||||
* @param ItemEntity $item
|
||||
*/
|
||||
public function __construct(Item $item){
|
||||
public function __construct(ItemEntity $item){
|
||||
$this->entity = $item;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Item
|
||||
* @return ItemEntity
|
||||
*/
|
||||
public function getEntity(){
|
||||
return $this->entity;
|
||||
|
@ -23,29 +23,29 @@ declare(strict_types=1);
|
||||
|
||||
namespace pocketmine\event\inventory;
|
||||
|
||||
use pocketmine\entity\Item;
|
||||
use pocketmine\entity\object\ItemEntity;
|
||||
use pocketmine\event\Cancellable;
|
||||
use pocketmine\inventory\Inventory;
|
||||
|
||||
class InventoryPickupItemEvent extends InventoryEvent implements Cancellable{
|
||||
public static $handlerList = null;
|
||||
|
||||
/** @var Item */
|
||||
/** @var ItemEntity */
|
||||
private $item;
|
||||
|
||||
/**
|
||||
* @param Inventory $inventory
|
||||
* @param Item $item
|
||||
* @param Inventory $inventory
|
||||
* @param ItemEntity $item
|
||||
*/
|
||||
public function __construct(Inventory $inventory, Item $item){
|
||||
public function __construct(Inventory $inventory, ItemEntity $item){
|
||||
$this->item = $item;
|
||||
parent::__construct($inventory);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Item
|
||||
* @return ItemEntity
|
||||
*/
|
||||
public function getItem() : Item{
|
||||
public function getItem() : ItemEntity{
|
||||
return $this->item;
|
||||
}
|
||||
|
||||
|
@ -29,8 +29,8 @@ namespace pocketmine\level;
|
||||
use pocketmine\block\Block;
|
||||
use pocketmine\block\BlockFactory;
|
||||
use pocketmine\entity\Entity;
|
||||
use pocketmine\entity\Item as DroppedItem;
|
||||
use pocketmine\entity\object\ExperienceOrb;
|
||||
use pocketmine\entity\object\ItemEntity;
|
||||
use pocketmine\event\block\BlockBreakEvent;
|
||||
use pocketmine\event\block\BlockPlaceEvent;
|
||||
use pocketmine\event\block\BlockUpdateEvent;
|
||||
@ -1623,7 +1623,7 @@ class Level implements ChunkManager, Metadatable{
|
||||
* @param Vector3 $motion
|
||||
* @param int $delay
|
||||
*
|
||||
* @return DroppedItem|null
|
||||
* @return ItemEntity|null
|
||||
*/
|
||||
public function dropItem(Vector3 $source, Item $item, Vector3 $motion = null, int $delay = 10){
|
||||
$motion = $motion ?? new Vector3(lcg_value() * 0.2 - 0.1, 0.2, lcg_value() * 0.2 - 0.1);
|
||||
@ -1637,7 +1637,7 @@ class Level implements ChunkManager, Metadatable{
|
||||
$nbt->setTag($itemTag);
|
||||
$itemEntity = Entity::createEntity("Item", $this, $nbt);
|
||||
|
||||
if($itemEntity instanceof DroppedItem){
|
||||
if($itemEntity instanceof ItemEntity){
|
||||
$itemEntity->spawnToAll();
|
||||
|
||||
return $itemEntity;
|
||||
|
Loading…
x
Reference in New Issue
Block a user