aether-legacy/src/main/java/com/legacy/aether/api/events/AetherHooks.java
2018-12-06 23:32:48 -06:00

59 lines
2.2 KiB
Java

package com.legacy.aether.api.events;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.MinecraftForge;
import com.legacy.aether.api.accessories.AetherAccessory;
import com.legacy.aether.api.enchantments.AetherEnchantment;
import com.legacy.aether.api.events.accessories.ValidAccessoryEvent;
import com.legacy.aether.api.events.enchantments.AetherEnchantmentEvent;
import com.legacy.aether.api.events.freezables.AetherFreezableEvent;
import com.legacy.aether.api.events.moas.MoaHatchEvent;
import com.legacy.aether.api.freezables.AetherFreezable;
import com.legacy.aether.api.moa.AetherMoaType;
public class AetherHooks {
public static boolean isValidAccessory(EntityPlayer player, AetherAccessory accessory) {
ValidAccessoryEvent event = new ValidAccessoryEvent(player, accessory);
if (MinecraftForge.EVENT_BUS.post(event)) return false;
return !event.isCanceled();
}
public static void onMoaHatched(AetherMoaType type, TileEntity incubator) {
MoaHatchEvent event = new MoaHatchEvent(type, incubator);
MinecraftForge.EVENT_BUS.post(event);
}
public static void onItemEnchant(TileEntity enchanter, AetherEnchantment enchantment) {
AetherEnchantmentEvent.EnchantEvent event = new AetherEnchantmentEvent.EnchantEvent(enchanter, enchantment);
MinecraftForge.EVENT_BUS.post(event);
}
public static void onItemFreeze(TileEntity freezer, AetherFreezable freezable) {
AetherFreezableEvent.FreezeEvent event = new AetherFreezableEvent.FreezeEvent(freezer, freezable);
MinecraftForge.EVENT_BUS.post(event);
}
public static int onSetEnchantmentTime(TileEntity enchanter, AetherEnchantment enchantment, int original) {
AetherEnchantmentEvent.SetTimeEvent event = new AetherEnchantmentEvent.SetTimeEvent(enchanter, enchantment, original);
if (MinecraftForge.EVENT_BUS.post(event)) return original;
return event.getNewTime();
}
public static int onSetFreezableTime(TileEntity freezer, AetherFreezable freezable, int original) {
AetherFreezableEvent.SetTimeEvent event = new AetherFreezableEvent.SetTimeEvent(freezer, freezable, original);
if (MinecraftForge.EVENT_BUS.post(event)) return original;
return event.getNewTime();
}
}