PHP: public function onSchaden(EntityDamageEvent $event){$conf = $this->getConfig();if($event->getCause() == 4 && $conf->get("FallDMG") == 0){$event->setCancelled();}if($event->getCause() == 3 && $conf->get("WallDMG") == 0){$event->setCancelled();}if($event->getCause() == 7 && $conf->get("LavaDMG") == 0){$event->setCancelled();}if($event->getCause() == 8 && $conf->get("DrownDMG") == 0){$event->setCancelled();}if($event->getCause() == 5 && $conf->get("FireDMG") == 0 || $event->getCause() == 6 && $conf->get("FireDMG") == 0){$event->setCancelled();}if($event->getCause() == 11 && $conf->get("VoidDMG") == 0){$event->setCancelled();}} BUt it cancells all Events like the cactus damage and if in the config get VoidDMG = 1 the Player don't get damage on Void the same with the anothers
Took some code from my project: Code aus meinem Projekt: PHP: public function onDamage(EntityDamageEvent $event){if($event instanceof EntityDamageByEntityEvent){if($event->getCause() == EntityDamageByEntityEvent::CAUSE_FALL){$event->setCancelled();}}}
PHP: public function onSchaden(EntityDamageEvent $event){$conf = $this->getConfig();if($event->getCause() == EntityDamageByEntityEvent::CAUSE_FALL && $conf->get("FallDMG") == 0){$event->setCancelled();}if($event->getCause() == EntityDamageByEntityEvent::CAUSE_SUFFOCATION && $conf->get("WallDMG") == 0){$event->setCancelled();}if($event->getCause() == EntityDamageByEntityEvent::CAUSE_LAVA && $conf->get("LavaDMG") == 0){$event->setCancelled();}if($event->getCause() == EntityDamageByEntityEvent::CAUSE_DROWNING && $conf->get("DrownDMG") == 0){$event->setCancelled();}if($event->getCause() == EntityDamageByEntityEvent::CAUSE_FIRE && $conf->get("FireDMG") == 0 || $event->getCause() == EntityDamageByEntityEvent::CAUSE_FIRE_TICK && $conf->get("FireDMG") == 0){$event->setCancelled();}if($event->getCause() == EntityDamageByEntityEvent::CAUSE_VOID && $conf->get("VoidDMG") == 0){$event->setCancelled();}} Doesnt work... Funktioniert nicht... @MyNameIsTriXz @AndrewBit
try to use it. PHP: function onDamage(EntityDamageEvent $e){ $c = $this->getConfig(); if($e instanceof EntityDamageByEntityEvent){ if($e->getCause() === EntityDamageByEntityEvent::CAUSE_FALL && $c->get("FallDMG") === 0){ $e->setCancelled(); } }}
What? 1. EntityDamageByEntityEvent is a class name reference. You can't assign a variable with it. 2. $event->getCause() is an int, not an object. https://github.com/PocketMine/Pocke...etmine/event/entity/EntityDamageEvent.php#L90 Please avoid posting wrong answers if you are not sure on the topic.
Yes I've made it so but forgot to send it here but i doesnt work... @PauloErmittelt No it givent any Errors in the log German: Nein es gibt keine Fehler die mir Angezeigt werden!