mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-08 02:42:58 +00:00
Make Effect and Enchantment functions less verbose
This commit is contained in:
@ -100,120 +100,120 @@ class Enchantment{
|
||||
public static function init() : void{
|
||||
self::$enchantments = new \SplFixedArray(256);
|
||||
|
||||
self::registerEnchantment(new ProtectionEnchantment(self::PROTECTION, "%enchantment.protect.all", self::RARITY_COMMON, self::SLOT_ARMOR, self::SLOT_NONE, 4, 0.75, null));
|
||||
self::registerEnchantment(new ProtectionEnchantment(self::FIRE_PROTECTION, "%enchantment.protect.fire", self::RARITY_UNCOMMON, self::SLOT_ARMOR, self::SLOT_NONE, 4, 1.25, [
|
||||
self::register(new ProtectionEnchantment(self::PROTECTION, "%enchantment.protect.all", self::RARITY_COMMON, self::SLOT_ARMOR, self::SLOT_NONE, 4, 0.75, null));
|
||||
self::register(new ProtectionEnchantment(self::FIRE_PROTECTION, "%enchantment.protect.fire", self::RARITY_UNCOMMON, self::SLOT_ARMOR, self::SLOT_NONE, 4, 1.25, [
|
||||
EntityDamageEvent::CAUSE_FIRE,
|
||||
EntityDamageEvent::CAUSE_FIRE_TICK,
|
||||
EntityDamageEvent::CAUSE_LAVA
|
||||
//TODO: check fireballs
|
||||
]));
|
||||
self::registerEnchantment(new ProtectionEnchantment(self::FEATHER_FALLING, "%enchantment.protect.fall", self::RARITY_UNCOMMON, self::SLOT_FEET, self::SLOT_NONE, 4, 2.5, [
|
||||
self::register(new ProtectionEnchantment(self::FEATHER_FALLING, "%enchantment.protect.fall", self::RARITY_UNCOMMON, self::SLOT_FEET, self::SLOT_NONE, 4, 2.5, [
|
||||
EntityDamageEvent::CAUSE_FALL
|
||||
]));
|
||||
self::registerEnchantment(new ProtectionEnchantment(self::BLAST_PROTECTION, "%enchantment.protect.explosion", self::RARITY_RARE, self::SLOT_ARMOR, self::SLOT_NONE, 4, 1.5, [
|
||||
self::register(new ProtectionEnchantment(self::BLAST_PROTECTION, "%enchantment.protect.explosion", self::RARITY_RARE, self::SLOT_ARMOR, self::SLOT_NONE, 4, 1.5, [
|
||||
EntityDamageEvent::CAUSE_BLOCK_EXPLOSION,
|
||||
EntityDamageEvent::CAUSE_ENTITY_EXPLOSION
|
||||
]));
|
||||
self::registerEnchantment(new ProtectionEnchantment(self::PROJECTILE_PROTECTION, "%enchantment.protect.projectile", self::RARITY_UNCOMMON, self::SLOT_ARMOR, self::SLOT_NONE, 4, 1.5, [
|
||||
self::register(new ProtectionEnchantment(self::PROJECTILE_PROTECTION, "%enchantment.protect.projectile", self::RARITY_UNCOMMON, self::SLOT_ARMOR, self::SLOT_NONE, 4, 1.5, [
|
||||
EntityDamageEvent::CAUSE_PROJECTILE
|
||||
]));
|
||||
self::registerEnchantment(new Enchantment(self::THORNS, "%enchantment.thorns", self::RARITY_MYTHIC, self::SLOT_TORSO, self::SLOT_HEAD | self::SLOT_LEGS | self::SLOT_FEET, 3));
|
||||
self::registerEnchantment(new Enchantment(self::RESPIRATION, "%enchantment.oxygen", self::RARITY_RARE, self::SLOT_HEAD, self::SLOT_NONE, 3));
|
||||
self::register(new Enchantment(self::THORNS, "%enchantment.thorns", self::RARITY_MYTHIC, self::SLOT_TORSO, self::SLOT_HEAD | self::SLOT_LEGS | self::SLOT_FEET, 3));
|
||||
self::register(new Enchantment(self::RESPIRATION, "%enchantment.oxygen", self::RARITY_RARE, self::SLOT_HEAD, self::SLOT_NONE, 3));
|
||||
|
||||
self::registerEnchantment(new SharpnessEnchantment(self::SHARPNESS, "%enchantment.damage.all", self::RARITY_COMMON, self::SLOT_SWORD, self::SLOT_AXE, 5));
|
||||
self::register(new SharpnessEnchantment(self::SHARPNESS, "%enchantment.damage.all", self::RARITY_COMMON, self::SLOT_SWORD, self::SLOT_AXE, 5));
|
||||
//TODO: smite, bane of arthropods (these don't make sense now because their applicable mobs don't exist yet)
|
||||
|
||||
self::registerEnchantment(new KnockbackEnchantment(self::KNOCKBACK, "%enchantment.knockback", self::RARITY_UNCOMMON, self::SLOT_SWORD, self::SLOT_NONE, 2));
|
||||
self::registerEnchantment(new FireAspectEnchantment(self::FIRE_ASPECT, "%enchantment.fire", self::RARITY_RARE, self::SLOT_SWORD, self::SLOT_NONE, 2));
|
||||
self::register(new KnockbackEnchantment(self::KNOCKBACK, "%enchantment.knockback", self::RARITY_UNCOMMON, self::SLOT_SWORD, self::SLOT_NONE, 2));
|
||||
self::register(new FireAspectEnchantment(self::FIRE_ASPECT, "%enchantment.fire", self::RARITY_RARE, self::SLOT_SWORD, self::SLOT_NONE, 2));
|
||||
|
||||
self::registerEnchantment(new Enchantment(self::EFFICIENCY, "%enchantment.digging", self::RARITY_COMMON, self::SLOT_DIG, self::SLOT_SHEARS, 5));
|
||||
self::registerEnchantment(new Enchantment(self::SILK_TOUCH, "%enchantment.untouching", self::RARITY_MYTHIC, self::SLOT_DIG, self::SLOT_SHEARS, 1));
|
||||
self::registerEnchantment(new Enchantment(self::UNBREAKING, "%enchantment.durability", self::RARITY_UNCOMMON, self::SLOT_DIG | self::SLOT_ARMOR | self::SLOT_FISHING_ROD | self::SLOT_BOW, self::SLOT_TOOL | self::SLOT_CARROT_STICK | self::SLOT_ELYTRA, 3));
|
||||
self::register(new Enchantment(self::EFFICIENCY, "%enchantment.digging", self::RARITY_COMMON, self::SLOT_DIG, self::SLOT_SHEARS, 5));
|
||||
self::register(new Enchantment(self::SILK_TOUCH, "%enchantment.untouching", self::RARITY_MYTHIC, self::SLOT_DIG, self::SLOT_SHEARS, 1));
|
||||
self::register(new Enchantment(self::UNBREAKING, "%enchantment.durability", self::RARITY_UNCOMMON, self::SLOT_DIG | self::SLOT_ARMOR | self::SLOT_FISHING_ROD | self::SLOT_BOW, self::SLOT_TOOL | self::SLOT_CARROT_STICK | self::SLOT_ELYTRA, 3));
|
||||
|
||||
self::registerEnchantment(new Enchantment(self::POWER, "%enchantment.arrowDamage", self::RARITY_COMMON, self::SLOT_BOW, self::SLOT_NONE, 5));
|
||||
self::registerEnchantment(new Enchantment(self::PUNCH, "%enchantment.arrowKnockback", self::RARITY_RARE, self::SLOT_BOW, self::SLOT_NONE, 2));
|
||||
self::registerEnchantment(new Enchantment(self::FLAME, "%enchantment.arrowFire", self::RARITY_RARE, self::SLOT_BOW, self::SLOT_NONE, 1));
|
||||
self::registerEnchantment(new Enchantment(self::INFINITY, "%enchantment.arrowInfinite", self::RARITY_MYTHIC, self::SLOT_BOW, self::SLOT_NONE, 1));
|
||||
self::register(new Enchantment(self::POWER, "%enchantment.arrowDamage", self::RARITY_COMMON, self::SLOT_BOW, self::SLOT_NONE, 5));
|
||||
self::register(new Enchantment(self::PUNCH, "%enchantment.arrowKnockback", self::RARITY_RARE, self::SLOT_BOW, self::SLOT_NONE, 2));
|
||||
self::register(new Enchantment(self::FLAME, "%enchantment.arrowFire", self::RARITY_RARE, self::SLOT_BOW, self::SLOT_NONE, 1));
|
||||
self::register(new Enchantment(self::INFINITY, "%enchantment.arrowInfinite", self::RARITY_MYTHIC, self::SLOT_BOW, self::SLOT_NONE, 1));
|
||||
|
||||
self::registerEnchantment(new Enchantment(self::MENDING, "%enchantment.mending", self::RARITY_RARE, self::SLOT_NONE, self::SLOT_ALL, 1));
|
||||
self::register(new Enchantment(self::MENDING, "%enchantment.mending", self::RARITY_RARE, self::SLOT_NONE, self::SLOT_ALL, 1));
|
||||
|
||||
self::registerEnchantment(new Enchantment(self::VANISHING, "%enchantment.curse.vanishing", self::RARITY_MYTHIC, self::SLOT_NONE, self::SLOT_ALL, 1));
|
||||
self::register(new Enchantment(self::VANISHING, "%enchantment.curse.vanishing", self::RARITY_MYTHIC, self::SLOT_NONE, self::SLOT_ALL, 1));
|
||||
}
|
||||
|
||||
public static function BLAST_PROTECTION() : Enchantment{
|
||||
return self::getEnchantment(self::BLAST_PROTECTION);
|
||||
return self::get(self::BLAST_PROTECTION);
|
||||
}
|
||||
|
||||
public static function EFFICIENCY() : Enchantment{
|
||||
return self::getEnchantment(self::EFFICIENCY);
|
||||
return self::get(self::EFFICIENCY);
|
||||
}
|
||||
|
||||
public static function FEATHER_FALLING() : Enchantment{
|
||||
return self::getEnchantment(self::FEATHER_FALLING);
|
||||
return self::get(self::FEATHER_FALLING);
|
||||
}
|
||||
|
||||
public static function FIRE_ASPECT() : Enchantment{
|
||||
return self::getEnchantment(self::FIRE_ASPECT);
|
||||
return self::get(self::FIRE_ASPECT);
|
||||
}
|
||||
|
||||
public static function FIRE_PROTECTION() : Enchantment{
|
||||
return self::getEnchantment(self::FIRE_PROTECTION);
|
||||
return self::get(self::FIRE_PROTECTION);
|
||||
}
|
||||
|
||||
public static function FLAME() : Enchantment{
|
||||
return self::getEnchantment(self::FLAME);
|
||||
return self::get(self::FLAME);
|
||||
}
|
||||
|
||||
public static function INFINITY() : Enchantment{
|
||||
return self::getEnchantment(self::INFINITY);
|
||||
return self::get(self::INFINITY);
|
||||
}
|
||||
|
||||
public static function KNOCKBACK() : Enchantment{
|
||||
return self::getEnchantment(self::KNOCKBACK);
|
||||
return self::get(self::KNOCKBACK);
|
||||
}
|
||||
|
||||
public static function MENDING() : Enchantment{
|
||||
return self::getEnchantment(self::MENDING);
|
||||
return self::get(self::MENDING);
|
||||
}
|
||||
|
||||
public static function POWER() : Enchantment{
|
||||
return self::getEnchantment(self::POWER);
|
||||
return self::get(self::POWER);
|
||||
}
|
||||
|
||||
public static function PROJECTILE_PROTECTION() : Enchantment{
|
||||
return self::getEnchantment(self::PROJECTILE_PROTECTION);
|
||||
return self::get(self::PROJECTILE_PROTECTION);
|
||||
}
|
||||
|
||||
public static function PROTECTION() : Enchantment{
|
||||
return self::getEnchantment(self::PROTECTION);
|
||||
return self::get(self::PROTECTION);
|
||||
}
|
||||
|
||||
public static function PUNCH() : Enchantment{
|
||||
return self::getEnchantment(self::PUNCH);
|
||||
return self::get(self::PUNCH);
|
||||
}
|
||||
|
||||
public static function RESPIRATION() : Enchantment{
|
||||
return self::getEnchantment(self::RESPIRATION);
|
||||
return self::get(self::RESPIRATION);
|
||||
}
|
||||
|
||||
public static function SHARPNESS() : Enchantment{
|
||||
return self::getEnchantment(self::SHARPNESS);
|
||||
return self::get(self::SHARPNESS);
|
||||
}
|
||||
|
||||
public static function SILK_TOUCH() : Enchantment{
|
||||
return self::getEnchantment(self::SILK_TOUCH);
|
||||
return self::get(self::SILK_TOUCH);
|
||||
}
|
||||
|
||||
public static function THORNS() : Enchantment{
|
||||
return self::getEnchantment(self::THORNS);
|
||||
return self::get(self::THORNS);
|
||||
}
|
||||
|
||||
public static function UNBREAKING() : Enchantment{
|
||||
return self::getEnchantment(self::UNBREAKING);
|
||||
return self::get(self::UNBREAKING);
|
||||
}
|
||||
|
||||
public static function VANISHING() : Enchantment{
|
||||
return self::getEnchantment(self::VANISHING);
|
||||
return self::get(self::VANISHING);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -221,7 +221,7 @@ class Enchantment{
|
||||
*
|
||||
* @param Enchantment $enchantment
|
||||
*/
|
||||
public static function registerEnchantment(Enchantment $enchantment) : void{
|
||||
public static function register(Enchantment $enchantment) : void{
|
||||
self::$enchantments[$enchantment->getId()] = clone $enchantment;
|
||||
}
|
||||
|
||||
@ -230,7 +230,7 @@ class Enchantment{
|
||||
*
|
||||
* @return Enchantment|null
|
||||
*/
|
||||
public static function getEnchantment(int $id) : ?Enchantment{
|
||||
public static function get(int $id) : ?Enchantment{
|
||||
return self::$enchantments[$id] ?? null;
|
||||
}
|
||||
|
||||
@ -239,10 +239,10 @@ class Enchantment{
|
||||
*
|
||||
* @return Enchantment|null
|
||||
*/
|
||||
public static function getEnchantmentByName(string $name) : ?Enchantment{
|
||||
public static function fromString(string $name) : ?Enchantment{
|
||||
$const = Enchantment::class . "::" . strtoupper($name);
|
||||
if(defined($const)){
|
||||
return self::getEnchantment(constant($const));
|
||||
return self::get(constant($const));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
Reference in New Issue
Block a user