Package vazkii.botania.common.core.handler

Source Code of vazkii.botania.common.core.handler.SpawnerChangingHandler

/**
* This class was created by <Vazkii>. It's distributed as
* part of the Botania Mod. Get the Source Code in github:
* https://github.com/Vazkii/Botania
*
* Botania is Open Source and distributed under a
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
*
* File Created @ [Jul 30, 2014, 12:37:24 PM (GMT)]
*/
package vazkii.botania.common.core.handler;

import net.minecraft.entity.EntityList;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityMobSpawner;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;

public final class SpawnerChangingHandler {

  @SubscribeEvent
  public void onInteract(PlayerInteractEvent event) {
    if(event.entityPlayer == null || event.entityPlayer.capabilities == null || event.world == null)
      return; // Cauldron breaks stuff

    if(event.entityPlayer.capabilities.isCreativeMode && !event.world.isRemote && event.action == Action.RIGHT_CLICK_BLOCK && !event.entityPlayer.isSneaking()) {
      ItemStack stack = event.entityPlayer.getCurrentEquippedItem();
      if(stack != null && stack.getItem() == Items.spawn_egg) {
        TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z);
        if(tile instanceof TileEntityMobSpawner) {
          TileEntityMobSpawner spawner = (TileEntityMobSpawner) tile;
          spawner.func_145881_a().setEntityName(EntityList.getStringFromID(stack.getItemDamage()));
          event.world.markBlockForUpdate(event.x, event.y, event.z);
          event.setCanceled(true);
        }
      }
    }
  }

}
TOP

Related Classes of vazkii.botania.common.core.handler.SpawnerChangingHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.