mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 02:37:27 +00:00
Fixed server-side lag caused by player events. THIS IS BIG.
This commit is contained in:
1 parent
1a78b2dad7
commit
953f6e0459
4 files changed
+166
-158
No files matched your search
@@ -51,6 +51,7 @@ import noppes.npcs.controllers.PlayerDataController;
|
||||
import noppes.npcs.controllers.data.PlayerDataScript;
|
||||
import noppes.npcs.entity.EntityNPCInterface;
|
||||
import noppes.npcs.scripted.NpcAPI;
|
||||
import noppes.npcs.scripted.entity.ScriptPlayer;
|
||||
import noppes.npcs.scripted.event.ForgeEvent;
|
||||
import noppes.npcs.controllers.PixelmonHelper;
|
||||
import noppes.npcs.controllers.ScriptController;
|
||||
@@ -63,13 +64,14 @@ public class ScriptPlayerEventHandler {
|
||||
public void onServerTick(TickEvent.PlayerTickEvent event) {
|
||||
if(event.side == Side.SERVER && event.phase == TickEvent.Phase.START) {
|
||||
EntityPlayer player = event.player;
|
||||
PlayerData data = PlayerData.get(player);
|
||||
|
||||
if(player.ticksExisted%10 == 0)
|
||||
EventHooks.onPlayerTick(data.scriptData);
|
||||
if(player.ticksExisted%10 == 0) {
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(player);
|
||||
EventHooks.onPlayerTick(handler, scriptPlayer);
|
||||
}
|
||||
|
||||
if(PlayerDataController.instance != null) {
|
||||
PlayerDataController.instance.getPlayerData(player).scriptData = data.scriptData;
|
||||
if(PlayerDataController.instance.getPlayerData(player).timers.size() > 0)
|
||||
PlayerDataController.instance.getPlayerData(player).timers.update();
|
||||
}
|
||||
@@ -79,8 +81,9 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(EntityInteractEvent event) {
|
||||
if(!event.entityPlayer.worldObj.isRemote && event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
noppes.npcs.scripted.event.PlayerEvent.InteractEvent ev = new noppes.npcs.scripted.event.PlayerEvent.InteractEvent(handler.getPlayer(), 1, NpcAPI.Instance().getIEntity(event.target));
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
noppes.npcs.scripted.event.PlayerEvent.InteractEvent ev = new noppes.npcs.scripted.event.PlayerEvent.InteractEvent(scriptPlayer, 1, NpcAPI.Instance().getIEntity(event.target));
|
||||
event.setCanceled(EventHooks.onPlayerInteract(handler, ev));
|
||||
}
|
||||
}
|
||||
@@ -88,8 +91,9 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(ArrowNockEvent event) {
|
||||
if(!event.entityPlayer.worldObj.isRemote && event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
noppes.npcs.scripted.event.PlayerEvent.RangedChargeEvent ev = new noppes.npcs.scripted.event.PlayerEvent.RangedChargeEvent(handler.getPlayer());
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
noppes.npcs.scripted.event.PlayerEvent.RangedChargeEvent ev = new noppes.npcs.scripted.event.PlayerEvent.RangedChargeEvent(scriptPlayer);
|
||||
EventHooks.onPlayerBowCharge(handler, ev);
|
||||
}
|
||||
}
|
||||
@@ -97,8 +101,9 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(ArrowLooseEvent event) {
|
||||
if(!event.entityPlayer.worldObj.isRemote && event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
noppes.npcs.scripted.event.PlayerEvent.RangedLaunchedEvent ev = new noppes.npcs.scripted.event.PlayerEvent.RangedLaunchedEvent(handler.getPlayer(), event.bow, event.charge);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
noppes.npcs.scripted.event.PlayerEvent.RangedLaunchedEvent ev = new noppes.npcs.scripted.event.PlayerEvent.RangedLaunchedEvent(scriptPlayer, event.bow, event.charge);
|
||||
EventHooks.onPlayerRanged(handler, ev);
|
||||
}
|
||||
}
|
||||
@@ -106,8 +111,9 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(BlockEvent.BreakEvent event) {
|
||||
if(!event.getPlayer().worldObj.isRemote && event.world instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.getPlayer()).scriptData;
|
||||
noppes.npcs.scripted.event.PlayerEvent.BreakEvent ev = new noppes.npcs.scripted.event.PlayerEvent.BreakEvent(handler.getPlayer(), NpcAPI.Instance().getIBlock(event.world, new BlockPos(event.x,event.y,event.z)), event.getExpToDrop());
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.getPlayer());
|
||||
noppes.npcs.scripted.event.PlayerEvent.BreakEvent ev = new noppes.npcs.scripted.event.PlayerEvent.BreakEvent(scriptPlayer, NpcAPI.Instance().getIBlock(event.world, new BlockPos(event.x,event.y,event.z)), event.getExpToDrop());
|
||||
event.setCanceled(EventHooks.onPlayerBreak(handler, ev));
|
||||
event.setExpToDrop(ev.exp);
|
||||
}
|
||||
@@ -116,135 +122,151 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerUseItemEvent.Start event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
event.setCanceled(EventHooks.onStartUsingItem(handler, event.duration, event.item));
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
event.setCanceled(EventHooks.onStartUsingItem(handler, scriptPlayer, event.duration, event.item));
|
||||
}
|
||||
}
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerUseItemEvent.Tick event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
event.setCanceled(EventHooks.onUsingItem(handler, event.duration, event.item));
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
event.setCanceled(EventHooks.onUsingItem(handler, scriptPlayer, event.duration, event.item));
|
||||
}
|
||||
}
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerUseItemEvent.Stop event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
event.setCanceled(EventHooks.onStopUsingItem(handler, event.duration, event.item));
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
event.setCanceled(EventHooks.onStopUsingItem(handler, scriptPlayer, event.duration, event.item));
|
||||
}
|
||||
}
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerUseItemEvent.Finish event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onFinishUsingItem(handler, event.duration, event.item);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onFinishUsingItem(handler, scriptPlayer, event.duration, event.item);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerDropsEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
event.setCanceled(EventHooks.onPlayerDropItems(handler, event.drops));
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
event.setCanceled(EventHooks.onPlayerDropItems(handler, scriptPlayer, event.drops));
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerPickupXpEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onPlayerPickupXP(handler, event.orb);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onPlayerPickupXP(handler, scriptPlayer, event.orb);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerEvent.PlayerChangedDimensionEvent event) {
|
||||
if(event.player.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.player).scriptData;
|
||||
EventHooks.onPlayerChangeDim(handler, event.fromDim, event.toDim);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.player);
|
||||
EventHooks.onPlayerChangeDim(handler, scriptPlayer, event.fromDim, event.toDim);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerEvent.ItemPickupEvent event) {
|
||||
if(event.player.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.player).scriptData;
|
||||
EventHooks.onPlayerPickUp(handler, event.pickedUp);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.player);
|
||||
EventHooks.onPlayerPickUp(handler, scriptPlayer, event.pickedUp);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerOpenContainerEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer && !(event.entityPlayer.openContainer instanceof ContainerPlayer)) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onPlayerContainerOpen(handler, event.entityPlayer.openContainer);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onPlayerContainerOpen(handler, scriptPlayer, event.entityPlayer.openContainer);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(UseHoeEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onPlayerUseHoe(handler, event.current, event.x, event.y, event.z);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onPlayerUseHoe(handler, scriptPlayer, event.current, event.x, event.y, event.z);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerSleepInBedEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onPlayerSleep(handler, event.x, event.y, event.z);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onPlayerSleep(handler, scriptPlayer, event.x, event.y, event.z);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerWakeUpEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onPlayerWakeUp(handler, event.setSpawn);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onPlayerWakeUp(handler, scriptPlayer, event.setSpawn);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(FillBucketEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onPlayerFillBucket(handler, event.current, event.result);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onPlayerFillBucket(handler, scriptPlayer, event.current, event.result);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(BonemealEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onPlayerBonemeal(handler, event.x, event.y, event.z, event.world);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onPlayerBonemeal(handler, scriptPlayer, event.x, event.y, event.z, event.world);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(AchievementEvent event) {
|
||||
if(event.entityPlayer.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.entityPlayer).scriptData;
|
||||
EventHooks.onPlayerAchievement(handler, CustomNpcs.proxy.getAchievementDesc(event.achievement));
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityPlayer);
|
||||
EventHooks.onPlayerAchievement(handler, scriptPlayer, CustomNpcs.proxy.getAchievementDesc(event.achievement));
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(ItemTossEvent event) {
|
||||
if(event.player.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.player).scriptData;
|
||||
EventHooks.onPlayerToss(handler, event.entityItem);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.player);
|
||||
EventHooks.onPlayerToss(handler, scriptPlayer, event.entityItem);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(LivingFallEvent event) {
|
||||
if(event.entityLiving.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler;
|
||||
if (event.entityLiving instanceof EntityPlayer) {
|
||||
handler = PlayerData.get((EntityPlayer)event.entityLiving).scriptData;
|
||||
EventHooks.onPlayerFall(handler, event.distance);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityLiving);
|
||||
EventHooks.onPlayerFall(handler, scriptPlayer, event.distance);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -252,10 +274,10 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(LivingEvent.LivingJumpEvent event) {
|
||||
if(event.entityLiving.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler;
|
||||
if (event.entityLiving instanceof EntityPlayer) {
|
||||
handler = PlayerData.get((EntityPlayer)event.entityLiving).scriptData;
|
||||
EventHooks.onPlayerJump(handler);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityLiving);
|
||||
EventHooks.onPlayerJump(handler, scriptPlayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -263,10 +285,10 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(EntityStruckByLightningEvent event) {
|
||||
if(event.entity.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler;
|
||||
if (event.entity instanceof EntityPlayer) {
|
||||
handler = PlayerData.get((EntityPlayer)event.entity).scriptData;
|
||||
EventHooks.onPlayerLightning(handler);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entity);
|
||||
EventHooks.onPlayerLightning(handler, scriptPlayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -274,10 +296,10 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(PlaySoundAtEntityEvent event) {
|
||||
if(event.entity.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler;
|
||||
if (event.entity instanceof EntityPlayer) {
|
||||
handler = PlayerData.get((EntityPlayer)event.entity).scriptData;
|
||||
EventHooks.onPlayerSound(handler,event.name,event.pitch,event.volume);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entity);
|
||||
EventHooks.onPlayerSound(handler,scriptPlayer,event.name,event.pitch,event.volume);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -286,15 +308,15 @@ public class ScriptPlayerEventHandler {
|
||||
public void invoke(LivingDeathEvent event) {
|
||||
if(event.entityLiving.worldObj instanceof WorldServer) {
|
||||
Entity source = NoppesUtilServer.GetDamageSourcee(event.source);
|
||||
PlayerDataScript handler;
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
if(event.entityLiving instanceof EntityPlayer) {
|
||||
handler = PlayerData.get((EntityPlayer)event.entityLiving).scriptData;
|
||||
EventHooks.onPlayerDeath(handler, event.source, source);
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.entityLiving);
|
||||
EventHooks.onPlayerDeath(handler,scriptPlayer, event.source, source);
|
||||
}
|
||||
|
||||
if(source instanceof EntityPlayer) {
|
||||
handler = PlayerData.get((EntityPlayer)source).scriptData;
|
||||
EventHooks.onPlayerKills(handler, event.entityLiving);
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.source.getEntity());
|
||||
EventHooks.onPlayerKills(handler,scriptPlayer, event.entityLiving);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -304,17 +326,15 @@ public class ScriptPlayerEventHandler {
|
||||
public void invoke(LivingHurtEvent event) {
|
||||
if(event.entityLiving.worldObj instanceof WorldServer) {
|
||||
Entity source = NoppesUtilServer.GetDamageSourcee(event.source);
|
||||
PlayerDataScript handler;
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
if(event.entityLiving instanceof EntityPlayer) {
|
||||
handler = PlayerData.get((EntityPlayer)event.entityLiving).scriptData;
|
||||
noppes.npcs.scripted.event.PlayerEvent.DamagedEvent pevent = new noppes.npcs.scripted.event.PlayerEvent.DamagedEvent(handler.getPlayer(), source, event.ammount, event.source);
|
||||
noppes.npcs.scripted.event.PlayerEvent.DamagedEvent pevent = new noppes.npcs.scripted.event.PlayerEvent.DamagedEvent((ScriptPlayer)ScriptController.Instance.getScriptForEntity((EntityPlayer)event.entityLiving), source, event.ammount, event.source);
|
||||
event.setCanceled(EventHooks.onPlayerDamaged(handler, pevent));
|
||||
event.ammount = pevent.damage;
|
||||
}
|
||||
|
||||
if(source instanceof EntityPlayer) {
|
||||
handler = PlayerData.get((EntityPlayer)source).scriptData;
|
||||
noppes.npcs.scripted.event.PlayerEvent.DamagedEntityEvent pevent1 = new noppes.npcs.scripted.event.PlayerEvent.DamagedEntityEvent(handler.getPlayer(), event.entityLiving, event.ammount, event.source);
|
||||
noppes.npcs.scripted.event.PlayerEvent.DamagedEntityEvent pevent1 = new noppes.npcs.scripted.event.PlayerEvent.DamagedEntityEvent((ScriptPlayer)ScriptController.Instance.getScriptForEntity((EntityPlayer)event.source.getEntity()), event.entityLiving, event.ammount, event.source);
|
||||
event.setCanceled(EventHooks.onPlayerDamagedEntity(handler, pevent1));
|
||||
event.ammount = pevent1.damage;
|
||||
}
|
||||
@@ -325,24 +345,27 @@ public class ScriptPlayerEventHandler {
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerEvent.PlayerRespawnEvent event) {
|
||||
if(event.player.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.player).scriptData;
|
||||
EventHooks.onPlayerRespawn(handler);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.player);
|
||||
EventHooks.onPlayerRespawn(handler, scriptPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerEvent.PlayerLoggedInEvent event) {
|
||||
if(event.player.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.player).scriptData;
|
||||
EventHooks.onPlayerLogin(handler);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.player);
|
||||
EventHooks.onPlayerLogin(handler, scriptPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void invoke(PlayerEvent.PlayerLoggedOutEvent event) {
|
||||
if(event.player.worldObj instanceof WorldServer) {
|
||||
PlayerDataScript handler = PlayerData.get(event.player).scriptData;
|
||||
EventHooks.onPlayerLogout(handler);
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.player);
|
||||
EventHooks.onPlayerLogout(handler, scriptPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -351,9 +374,10 @@ public class ScriptPlayerEventHandler {
|
||||
)
|
||||
public void invoke(net.minecraftforge.event.ServerChatEvent event) {
|
||||
if(event.player.worldObj instanceof WorldServer && !event.player.equals(EntityNPCInterface.chateventPlayer)) {
|
||||
PlayerDataScript handler = PlayerData.get(event.player).scriptData;
|
||||
PlayerDataScript handler = ScriptController.Instance.playerScripts;
|
||||
ScriptPlayer scriptPlayer = (ScriptPlayer) ScriptController.Instance.getScriptForEntity(event.player);
|
||||
String message = event.message;
|
||||
noppes.npcs.scripted.event.PlayerEvent.ChatEvent ev = new noppes.npcs.scripted.event.PlayerEvent.ChatEvent(handler.getPlayer(), event.message);
|
||||
noppes.npcs.scripted.event.PlayerEvent.ChatEvent ev = new noppes.npcs.scripted.event.PlayerEvent.ChatEvent(scriptPlayer, event.message);
|
||||
EventHooks.onPlayerChat(handler, ev);
|
||||
event.setCanceled(ev.isCanceled());
|
||||
if(!message.equals(ev.message)) {
|
||||
|
||||
Reference in new issue
Block a user