Added ProjectileImpactEvent.FireworkRocket (#6758)

This commit is contained in:
DaemonUmbra authored and GitHub committed 2020-06-12 15:33:44 -07:00
1 parent fd9bf64d53
commit 45b90a0d45
3 files changed
+37

No files matched your search

@@ -36,6 +36,7 @@ import net.minecraft.entity.SpawnReason;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.effect.LightningBoltEntity;
import net.minecraft.entity.item.FireworkRocketEntity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.monster.ZombieEntity;
import net.minecraft.entity.passive.AnimalEntity;
@@ -630,6 +631,11 @@ public class ForgeEventFactory
return MinecraftForge.EVENT_BUS.post(new ProjectileImpactEvent.Throwable(throwable, ray));
}
public static boolean onProjectileImpact(FireworkRocketEntity fireworkRocket, RayTraceResult ray)
{
return MinecraftForge.EVENT_BUS.post(new ProjectileImpactEvent.FireworkRocket(fireworkRocket, ray));
}
public static LootTable loadLootTable(ResourceLocation name, LootTable table, LootTableManager lootTableManager)
{
LootTableLoadEvent event = new LootTableLoadEvent(name, table, lootTableManager);
@@ -20,6 +20,7 @@
package net.minecraftforge.event.entity;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.FireworkRocketEntity;
import net.minecraft.entity.projectile.AbstractArrowEntity;
import net.minecraft.entity.projectile.DamagingProjectileEntity;
import net.minecraft.entity.projectile.ThrowableEntity;
@@ -104,4 +105,24 @@ public class ProjectileImpactEvent extends EntityEvent
return throwable;
}
}
/**
* Event is cancellable, causes firework to ignore the current hit and continue on its journey.
*/
@Cancelable
public static class FireworkRocket extends ProjectileImpactEvent
{
private final FireworkRocketEntity fireworkRocket;
public FireworkRocket(FireworkRocketEntity fireworkRocket, RayTraceResult ray)
{
super(fireworkRocket, ray);
this.fireworkRocket = fireworkRocket;
}
public FireworkRocketEntity getFireworkRocket()
{
return fireworkRocket;
}
}
}