ZotCoreLoader
- добавлена поддержка кэлбека EntityHurt - добавлена поддержка кэлбека PlayerAttack(нужен для ToolAPI)
This commit is contained in:
@@ -2,11 +2,14 @@ package com.reider745.event;
|
||||
|
||||
import cn.nukkit.Player;
|
||||
import cn.nukkit.block.Block;
|
||||
import cn.nukkit.entity.Entity;
|
||||
import cn.nukkit.event.Event;
|
||||
import cn.nukkit.event.EventHandler;
|
||||
import cn.nukkit.event.Listener;
|
||||
import cn.nukkit.event.block.BlockBreakEvent;
|
||||
import cn.nukkit.event.block.BlockPlaceEvent;
|
||||
import cn.nukkit.event.entity.EntityDamageByChildEntityEvent;
|
||||
import cn.nukkit.event.entity.EntityDamageEvent;
|
||||
import cn.nukkit.event.entity.ProjectileHitEvent;
|
||||
import cn.nukkit.event.level.ChunkPopulateEvent;
|
||||
import cn.nukkit.event.player.PlayerEatFoodEvent;
|
||||
@@ -80,6 +83,22 @@ public class EventListener implements Listener {
|
||||
case Level.DIMENSION_NETHER -> CallbackHelper.applyRegion(CallbackHelper.Type.GENERATION_CHUNK_NETHER, level, apply);
|
||||
case Level.DIMENSION_THE_END -> CallbackHelper.applyRegion(CallbackHelper.Type.GENERATION_CHUNK_END, level, apply);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void damagetEntity(EntityDamageEvent event){
|
||||
Entity self = event.getEntity();
|
||||
|
||||
Entity attacker;
|
||||
if(event instanceof EntityDamageByChildEntityEvent child) {
|
||||
attacker = child.getChild();
|
||||
preventedCallback(event, () ->
|
||||
NativeCallback.onEntityAttacked(self.getId(), attacker == null ? -1 : attacker.getId()));
|
||||
}else {
|
||||
attacker = null;
|
||||
}
|
||||
|
||||
preventedCallback(event, () ->
|
||||
NativeCallback.onEntityHurt(self.getId(), attacker == null ? -1 : attacker.getId(), event.getCause().ordinal(), (int) event.getDamage() * 2, event.canBeReducedByArmor(), event.isBreakShield()));//последний 2 boolean тут врменн
|
||||
}
|
||||
}
|
||||
@@ -789,10 +789,6 @@ public class NativeCallback {
|
||||
Callback.invokeAPICallback("EntityHurt", attacker, entity, damageValue, damageType, someBool1, someBool2);
|
||||
|
||||
NetworkPlayerRegistry.getSingleton().onEntityHurt(entity, attacker, damageType, damageValue, someBool1, someBool2);
|
||||
|
||||
if (entity == NativeAPI.getPlayer()) {
|
||||
ArmorRegistry.onHurt(attacker, damageValue, damageType, someBool1, someBool2);
|
||||
}
|
||||
}
|
||||
|
||||
public static void onThrowableHit(long projectile, float hitX, float hitY, float hitZ, long entity, int blockX, int blockY, int blockZ, int blockSide, int itemId, int itemCount, int itemData, long itemExtra) {
|
||||
|
||||
Reference in New Issue
Block a user