mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 16:24:05 +00:00
Mob Drops
This commit is contained in:
parent
7cf9c03735
commit
7e8e273be7
@ -156,123 +156,3 @@ define("QUARTZ_STAIRS", 156);
|
||||
define("STONECUTTER", 245);
|
||||
define("GLOWING_OBSIDIAN", 246);
|
||||
define("NETHER_REACTOR", 247);
|
||||
|
||||
// ---- Items ----
|
||||
define("IRON_SHOVEL", 256);//Implemented
|
||||
define("IRON_PICKAXE", 257);//Implemented
|
||||
define("IRON_AXE", 258);//Implemented
|
||||
define("FLINT_STEEL", 259);
|
||||
define("APPLE", 260);//Implemented
|
||||
define("BOW", 261);
|
||||
define("ARROW", 262);
|
||||
define("COAL", 263);//Implemented
|
||||
define("DIAMOND", 264);//Implemented
|
||||
define("IRON_INGOT", 265);//Implemented
|
||||
define("GOLD_INGOT", 266);//Implemented
|
||||
define("IRON_SWORD", 267);
|
||||
define("WOODEN_SWORD", 268);
|
||||
define("WOODEN_SHOVEL", 269);
|
||||
define("WOODEN_PICKAXE", 270);
|
||||
define("WOODEN_AXE", 271);
|
||||
define("STONE_SWORD", 272);
|
||||
define("STONE_SHOVEL", 273);
|
||||
define("STONE_PICKAXE", 274);
|
||||
define("STONE_AXE", 275);
|
||||
define("DIAMOND_SWORD", 276);
|
||||
define("DIAMOND_SHOVEL", 277);
|
||||
define("DIAMOND_PICKAXE", 278);
|
||||
define("DIAMOND_AXE", 279);
|
||||
define("STICK", 280);//Implemented
|
||||
define("BOWL", 281);//Implemented
|
||||
define("MUSHROOM_STEW", 282);
|
||||
define("GOLD_SWORD", 283);
|
||||
define("GOLD_SHOVEL", 284);
|
||||
define("GOLD_PICKAXE", 285);
|
||||
define("GOLD_AXE", 286);
|
||||
define("STRING", 287);
|
||||
define("FEATHER", 288);//Implemented
|
||||
define("GUNPOWDER", 289);
|
||||
define("WOODEN_HOE", 290);
|
||||
define("STONE_HOE", 291);
|
||||
define("IRON_HOE", 292);//Implemented
|
||||
define("DIAMOND_HOE", 293);
|
||||
define("GOLD_HOE", 294);
|
||||
define("SEEDS", 295);
|
||||
define("WHEAT_SEEDS", 295);
|
||||
define("WHEAT", 296);
|
||||
define("BREAD", 297);
|
||||
define("LEATHER_CAP", 298);
|
||||
define("LEATHER_TUNIC", 299);
|
||||
define("LEATHER_PANTS", 300);
|
||||
define("LEATHER_BOOTS", 301);
|
||||
define("CHAIN_HELMET", 302);
|
||||
define("CHAIN_CHESTPLATE", 303);
|
||||
define("CHAIN_LEGGINS", 304);
|
||||
define("CHAIN_BOOTS", 305);
|
||||
define("IRON_HELMET", 306);
|
||||
define("IRON_CHESTPLATE", 307);
|
||||
define("IRON_LEGGINS", 308);
|
||||
define("IRON_BOOTS", 309);
|
||||
define("DIAMOND_HELMET", 310);
|
||||
define("DIAMOND_CHESTPLATE", 311);
|
||||
define("DIAMOND_LEGGINS", 312);
|
||||
define("DIAMOND_BOOTS", 313);
|
||||
define("GOLD_HELMET", 314);
|
||||
define("GOLD_CHESTPLATE", 315);
|
||||
define("GOLD_LEGGINS", 316);
|
||||
define("GOLD_BOOTS", 317);
|
||||
define("FLINT", 318);
|
||||
define("RAW_PORKCHOP", 319);
|
||||
define("COOKED_PORKCHOP", 320);
|
||||
define("PAINTING", 321);
|
||||
define("GOLDEN_APPLE", 322);
|
||||
define("SIGN", 323);
|
||||
define("WOODEN_DOOR", 324);
|
||||
|
||||
define("IRON_DOOR", 330);
|
||||
|
||||
define("SNOWBALL", 332);
|
||||
|
||||
define("LEATHER", 334);
|
||||
|
||||
define("BRICK", 336);
|
||||
define("CLAY", 337);
|
||||
define("SUGARCANE", 338);
|
||||
define("SUGAR_CANE", 338);
|
||||
define("SUGAR_CANES", 338);
|
||||
define("PAPER", 339);
|
||||
define("SLIMEBALL", 341);
|
||||
|
||||
define("EGG", 344);
|
||||
define("COMPASS", 345);
|
||||
|
||||
define("GLOWSTONE_DUST", 348);
|
||||
define("RAW_FISH", 349);
|
||||
define("COOKED_FISH", 350);
|
||||
define("DYE", 351);
|
||||
define("BONE", 352);
|
||||
define("SUGAR", 353);
|
||||
|
||||
define("BED", 355);
|
||||
|
||||
|
||||
define("COOKIE", 357);
|
||||
|
||||
|
||||
define("SHEARS", 359);
|
||||
define("MELON", 360);
|
||||
define("MELON_SLICE", 360);
|
||||
|
||||
define("MELON_SEEDS", 362);
|
||||
define("RAW_BEEF", 363);
|
||||
define("STEAK", 364);
|
||||
define("COOKED_BEEF", 364);
|
||||
|
||||
define("RAW_CHICKEN", 365);
|
||||
define("COOKED_CHICKEN", 366);
|
||||
|
||||
define("NETHER_BRICK", 405);
|
||||
define("QUARTZ", 406);
|
||||
define("NETHER_QUARTZ", 406);
|
||||
|
||||
define("CAMERA", 456);
|
||||
|
145
src/constants/ItemIDs.php
Normal file
145
src/constants/ItemIDs.php
Normal file
@ -0,0 +1,145 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
|
||||
-
|
||||
/ \
|
||||
/ \
|
||||
/ PocketMine \
|
||||
/ MP \
|
||||
|\ @shoghicp /|
|
||||
|. \ / .|
|
||||
| .. \ / .. |
|
||||
| .. | .. |
|
||||
| .. | .. |
|
||||
\ | /
|
||||
\ | /
|
||||
\ | /
|
||||
\ | /
|
||||
|
||||
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.
|
||||
|
||||
|
||||
*/
|
||||
|
||||
define("IRON_SHOVEL", 256);//Implemented
|
||||
define("IRON_PICKAXE", 257);//Implemented
|
||||
define("IRON_AXE", 258);//Implemented
|
||||
define("FLINT_STEEL", 259);
|
||||
define("APPLE", 260);//Implemented
|
||||
define("BOW", 261);
|
||||
define("ARROW", 262);
|
||||
define("COAL", 263);//Implemented
|
||||
define("DIAMOND", 264);//Implemented
|
||||
define("IRON_INGOT", 265);//Implemented
|
||||
define("GOLD_INGOT", 266);//Implemented
|
||||
define("IRON_SWORD", 267);
|
||||
define("WOODEN_SWORD", 268);
|
||||
define("WOODEN_SHOVEL", 269);
|
||||
define("WOODEN_PICKAXE", 270);
|
||||
define("WOODEN_AXE", 271);
|
||||
define("STONE_SWORD", 272);
|
||||
define("STONE_SHOVEL", 273);
|
||||
define("STONE_PICKAXE", 274);
|
||||
define("STONE_AXE", 275);
|
||||
define("DIAMOND_SWORD", 276);
|
||||
define("DIAMOND_SHOVEL", 277);
|
||||
define("DIAMOND_PICKAXE", 278);
|
||||
define("DIAMOND_AXE", 279);
|
||||
define("STICK", 280);//Implemented
|
||||
define("BOWL", 281);//Implemented
|
||||
define("MUSHROOM_STEW", 282);
|
||||
define("GOLD_SWORD", 283);
|
||||
define("GOLD_SHOVEL", 284);
|
||||
define("GOLD_PICKAXE", 285);
|
||||
define("GOLD_AXE", 286);
|
||||
define("STRING", 287);
|
||||
define("FEATHER", 288);//Implemented
|
||||
define("GUNPOWDER", 289);
|
||||
define("WOODEN_HOE", 290);
|
||||
define("STONE_HOE", 291);
|
||||
define("IRON_HOE", 292);//Implemented
|
||||
define("DIAMOND_HOE", 293);
|
||||
define("GOLD_HOE", 294);
|
||||
define("SEEDS", 295);
|
||||
define("WHEAT_SEEDS", 295);
|
||||
define("WHEAT", 296);
|
||||
define("BREAD", 297);
|
||||
define("LEATHER_CAP", 298);
|
||||
define("LEATHER_TUNIC", 299);
|
||||
define("LEATHER_PANTS", 300);
|
||||
define("LEATHER_BOOTS", 301);
|
||||
define("CHAIN_HELMET", 302);
|
||||
define("CHAIN_CHESTPLATE", 303);
|
||||
define("CHAIN_LEGGINS", 304);
|
||||
define("CHAIN_BOOTS", 305);
|
||||
define("IRON_HELMET", 306);
|
||||
define("IRON_CHESTPLATE", 307);
|
||||
define("IRON_LEGGINS", 308);
|
||||
define("IRON_BOOTS", 309);
|
||||
define("DIAMOND_HELMET", 310);
|
||||
define("DIAMOND_CHESTPLATE", 311);
|
||||
define("DIAMOND_LEGGINS", 312);
|
||||
define("DIAMOND_BOOTS", 313);
|
||||
define("GOLD_HELMET", 314);
|
||||
define("GOLD_CHESTPLATE", 315);
|
||||
define("GOLD_LEGGINS", 316);
|
||||
define("GOLD_BOOTS", 317);
|
||||
define("FLINT", 318);
|
||||
define("RAW_PORKCHOP", 319);
|
||||
define("COOKED_PORKCHOP", 320);
|
||||
define("PAINTING", 321);
|
||||
define("GOLDEN_APPLE", 322);
|
||||
define("SIGN", 323);
|
||||
define("WOODEN_DOOR", 324);
|
||||
|
||||
define("IRON_DOOR", 330);
|
||||
|
||||
define("SNOWBALL", 332);
|
||||
|
||||
define("LEATHER", 334);
|
||||
|
||||
define("BRICK", 336);
|
||||
define("CLAY", 337);
|
||||
define("SUGARCANE", 338);
|
||||
define("SUGAR_CANE", 338);
|
||||
define("SUGAR_CANES", 338);
|
||||
define("PAPER", 339);
|
||||
define("SLIMEBALL", 341);
|
||||
|
||||
define("EGG", 344);
|
||||
define("COMPASS", 345);
|
||||
|
||||
define("GLOWSTONE_DUST", 348);
|
||||
define("RAW_FISH", 349);
|
||||
define("COOKED_FISH", 350);
|
||||
define("DYE", 351);
|
||||
define("BONE", 352);
|
||||
define("SUGAR", 353);
|
||||
|
||||
define("BED", 355);
|
||||
|
||||
|
||||
define("COOKIE", 357);
|
||||
|
||||
|
||||
define("SHEARS", 359);
|
||||
define("MELON", 360);
|
||||
define("MELON_SLICE", 360);
|
||||
|
||||
define("MELON_SEEDS", 362);
|
||||
define("RAW_BEEF", 363);
|
||||
define("STEAK", 364);
|
||||
define("COOKED_BEEF", 364);
|
||||
|
||||
define("RAW_CHICKEN", 365);
|
||||
define("COOKED_CHICKEN", 366);
|
||||
|
||||
define("NETHER_BRICK", 405);
|
||||
define("QUARTZ", 406);
|
||||
define("NETHER_QUARTZ", 406);
|
||||
|
||||
define("CAMERA", 456);
|
@ -139,6 +139,46 @@ class Entity extends stdClass{
|
||||
}
|
||||
}
|
||||
|
||||
public function getDrops(){
|
||||
if($this->class === ENTITY_OBJECT){
|
||||
switch($this->type){
|
||||
case OBJECT_PAINTING:
|
||||
return array(
|
||||
array(PAINTING, 0, 1),
|
||||
);
|
||||
}
|
||||
}elseif($this->class === ENTITY_MOB){
|
||||
switch($this->type){
|
||||
case MOB_CHICKEN:
|
||||
return array(
|
||||
array(FEATHER, 0, mt_rand(0,2)),
|
||||
array(($this->fire > 0 ? COOKED_CHICKEN:RAW_CHICKEN), 0, 1),
|
||||
);
|
||||
case MOB_COW:
|
||||
return array(
|
||||
array(LEATHER, 0, mt_rand(0,2)),
|
||||
array(($this->fire > 0 ? STEAK:RAW_BEEF), 0, 1),
|
||||
);
|
||||
case MOB_PIG:
|
||||
return array(
|
||||
array(LEATHER, 0, mt_rand(0,2)),
|
||||
array(($this->fire > 0 ? COOKED_PORKCHOP:RAW_PORKCHOP), 0, 1),
|
||||
);
|
||||
case MOB_SHEEP:
|
||||
return array(
|
||||
array(WOOL, $this->data["Color"] & 0x0F, 1),
|
||||
);
|
||||
}
|
||||
}
|
||||
return array();
|
||||
}
|
||||
|
||||
public function spawnDrops(){
|
||||
foreach($this->getDrops() as $drop){
|
||||
$this->server->api->block->drop(new Vector3($this->x, $this->y, $this->z), BlockAPI::getItem($drop[0] & 0xFFFF, $drop[1] & 0xFFFF, $drop[2] & 0xFF));
|
||||
}
|
||||
}
|
||||
|
||||
public function environmentUpdate(){
|
||||
if($this->class === ENTITY_ITEM){
|
||||
$time = microtime(true);
|
||||
@ -563,6 +603,7 @@ class Entity extends stdClass{
|
||||
if($this->player instanceof Player){
|
||||
$this->server->api->dhandle("player.death", array("name" => $this->name, "cause" => $cause));
|
||||
}else{
|
||||
$this->spawnDrops();
|
||||
$this->close();
|
||||
}
|
||||
}elseif($this->health > 0){
|
||||
|
Loading…
x
Reference in New Issue
Block a user