CakeEating.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package me.km.effects.passive;
  2. import me.km.KajetansMod;
  3. import me.km.api.Module;
  4. import me.km.api.ModuleListener;
  5. import me.km.api.Utils;
  6. import me.km.effects.Effect;
  7. import me.km.effects.EffectUtils;
  8. import net.minecraft.block.Block;
  9. import net.minecraft.init.Blocks;
  10. import net.minecraft.util.EnumHand;
  11. import net.minecraftforge.event.entity.player.PlayerInteractEvent;
  12. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  13. public class CakeEating extends ModuleListener
  14. {
  15. public CakeEating(Module m)
  16. {
  17. super(m);
  18. }
  19. @SubscribeEvent(receiveCanceled = false)
  20. public void eatCake(PlayerInteractEvent.RightClickBlock e)
  21. {
  22. if(e.getHand() == EnumHand.OFF_HAND || !KajetansMod.worldManager.getWorldPreferences(e.getWorld()).skills)
  23. {
  24. return;
  25. }
  26. Block b = e.getWorld().getBlockState(e.getPos()).getBlock();
  27. if(b == Blocks.CAKE && EffectUtils.getEffectLevel(e.getEntityPlayer(), Effect.CAKE_POWER) >= Utils.randomInt(1, 5))
  28. {
  29. e.setCanceled(true);
  30. e.getEntityPlayer().getFoodStats().addStats(2, 0.1F);
  31. }
  32. }
  33. }