Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. package shedar.mods.ic2.nuclearcontrol.items;
  2.  
  3. import cpw.mods.fml.relauncher.Side;
  4. import cpw.mods.fml.relauncher.SideOnly;
  5. import net.minecraft.client.renderer.texture.IIconRegister;
  6. import net.minecraft.entity.player.EntityPlayer;
  7. import net.minecraft.item.Item;
  8. import net.minecraft.item.ItemStack;
  9. import net.minecraft.util.IIcon;
  10. import net.minecraft.world.World;
  11. import org.lwjgl.opengl.GL11;
  12. import shedar.mods.ic2.nuclearcontrol.IC2NuclearControl;
  13. import shedar.mods.ic2.nuclearcontrol.InventoryItem;
  14. import shedar.mods.ic2.nuclearcontrol.gui.GuiRemoteMonitor;
  15.  
  16. public class ItemRemoteMonitor extends Item{
  17.  
  18. private IIcon base, card;
  19.  
  20. public ItemRemoteMonitor(){
  21. this.setCreativeTab(IC2NuclearControl.tabIC2NC);
  22. }
  23.  
  24. @Override
  25. public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
  26. {
  27. if(!player.isSneaking()) {
  28. player.openGui(IC2NuclearControl.instance, GuiRemoteMonitor.REMOTEMONITOR_GUI, world, 0, 0, 0);
  29. }
  30. return stack;
  31. }
  32. @Override
  33. public int getMaxItemUseDuration(ItemStack stack) {
  34. return 1;
  35. }
  36.  
  37. public boolean requiresMultipleRenderPasses(){
  38. return true;
  39. }
  40.  
  41. public int getRenderPasses(int k){
  42. return 2;
  43. }
  44.  
  45. @Override
  46. @SideOnly(Side.CLIENT)
  47. public void registerIcons(IIconRegister iconRegister){
  48. card = iconRegister.registerIcon("nuclearcontrol:remoteMonitorCard");
  49. base = iconRegister.registerIcon("nuclearcontrol:remoteMonitor");
  50. }
  51.  
  52.  
  53. public IIcon getIcon(ItemStack stack, int pass){
  54. if (pass == 0){
  55. return base;
  56. }
  57. else {
  58. InventoryItem inventoryItem = new InventoryItem(stack);
  59. if (inventoryItem.getStackInSlot(0) != null){
  60. this.setCardColor(inventoryItem.getStackInSlot(0).getItem());
  61. return card;
  62. }
  63. return base;
  64. }
  65. }
  66.  
  67. private void setCardColor(Item stack){
  68. if(stack instanceof ItemCardEnergySensorLocation){
  69. GL11.glColor4f(255, 0, 0, 1);
  70. } else if(stack instanceof ItemCardText){
  71. GL11.glColor4f(0, 255, 0, 1);
  72. }else if(stack instanceof ItemTimeCard){
  73. GL11.glColor4f(255,255,51,1);
  74. }else{
  75. GL11.glColor4f(0,0,255,1);
  76. }
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement