Skip to content

Commit

Permalink
added EntityLivingUpdateEvent
Browse files Browse the repository at this point in the history
  • Loading branch information
ExpensiveLadder committed Nov 4, 2020
1 parent ae41e6d commit 57d5ae2
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package crafttweaker.api.event;

import crafttweaker.annotations.ZenRegister;
import stanhebben.zenscript.annotations.ZenClass;

@ZenClass("crafttweaker.event.EntityLivingUpdateEvent")
@ZenRegister
public interface EntityLivingUpdateEvent extends ILivingEvent, IEventCancelable {

}
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,9 @@ public interface IEventManager {
@ZenMethod
IEventHandle onEntityLivingHeal(IEventHandler<EntityLivingHealEvent> ev);

@ZenMethod
IEventHandle onEntityLivingUpdate(IEventHandler<EntityLivingUpdateEvent> ev);

/*
@ZenMethod
IEventHandle onPotionEffectAdded(IEventHandler<PotionEffectAddedEvent> ev);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1793,6 +1793,26 @@ public boolean hasEntityLivingHeal() {
public void publishEntityLivingHeal(EntityLivingHealEvent event) {
elEntityLivingHeal.publish(event);
}

// ###############################
// ### EntityLivingUpdateEvent ###
// ###############################

private final EventList<EntityLivingUpdateEvent> elEntityLivingUpdateEvent = new EventList<>();

@Override
public IEventHandle onEntityLivingUpdate(IEventHandler<EntityLivingUpdateEvent> ev) {
return elEntityLivingUpdateEvent.add(ev);
}

public boolean hasEntityLivingUpdateEvent() {
return elEntityLivingUpdateEvent.hasHandlers();
}

public void publishEntityLivingUpdateEvent(EntityLivingUpdateEvent event) {
elEntityLivingUpdateEvent.publish(event);
}

/*
// #########################
// ### PotionEffectAdded ###
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -724,6 +724,13 @@ public void onEntityLivingHeal(LivingHealEvent ev) {
if(CrafttweakerImplementationAPI.events.hasEntityLivingHeal())
CrafttweakerImplementationAPI.events.publishEntityLivingHeal(new MCEntityLivingHealEvent(ev));
}

@SubscribeEvent
public void onEntityLivingUpdate(LivingEvent.LivingUpdateEvent ev) {
if(CrafttweakerImplementationAPI.events.hasEntityLivingUpdateEvent())
CrafttweakerImplementationAPI.events.publishEntityLivingUpdateEvent(new MCEntityLivingUpdateEvent(ev));
}

/*
@SubscribeEvent
public void onPotionEffectAdded(PotionEvent.PotionAddedEvent ev) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package crafttweaker.mc1120.events.handling;

import crafttweaker.api.entity.IEntityLivingBase;
import crafttweaker.api.event.EntityLivingUpdateEvent;
import crafttweaker.api.minecraft.CraftTweakerMC;
import net.minecraftforge.event.entity.living.LivingEvent;

public class MCEntityLivingUpdateEvent implements EntityLivingUpdateEvent {

private final LivingEvent.LivingUpdateEvent event;

public MCEntityLivingUpdateEvent(LivingEvent.LivingUpdateEvent event) {
this.event = event;
}

@Override
public boolean isCanceled() {
return event.isCanceled();
}

@Override
public void setCanceled(boolean canceled) {
event.setCanceled(canceled);
}

@Override
public IEntityLivingBase getEntityLivingBase() {
return CraftTweakerMC.getIEntityLivingBase(event.getEntityLiving());
}
}

0 comments on commit 57d5ae2

Please sign in to comment.