Guest User

GuiNPC.class

a guest
Oct 18th, 2016
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 20.14 KB | None | 0 0
  1. package net.rexozz.pixelengine.client.gui;
  2.  
  3. import java.awt.Color;
  4. import java.io.IOException;
  5. import java.util.List;
  6.  
  7. import net.minecraft.client.Minecraft;
  8. import net.minecraft.client.gui.Gui;
  9. import net.minecraft.client.gui.GuiButton;
  10. import net.minecraft.client.gui.GuiTextField;
  11. import net.minecraft.client.gui.inventory.GuiContainer;
  12. import net.minecraft.client.gui.inventory.GuiInventory;
  13. import net.minecraft.client.renderer.GlStateManager;
  14. import net.minecraft.client.renderer.OpenGlHelper;
  15. import net.minecraft.client.renderer.RenderHelper;
  16. import net.minecraft.client.renderer.entity.RenderManager;
  17. import net.minecraft.client.resources.I18n;
  18. import net.minecraft.entity.EntityLivingBase;
  19. import net.minecraft.inventory.IInventory;
  20. import net.minecraft.inventory.Slot;
  21. import net.minecraft.nbt.NBTTagCompound;
  22. import net.minecraft.network.NetHandlerPlayServer;
  23. import net.rexozz.pixelengine.entity.EntityNPC;
  24. import net.rexozz.pixelengine.network.PacketHandler;
  25. import net.rexozz.pixelengine.network.S03PacketUpdateEntity;
  26. import net.rexozz.pixelengine.server.container.ContainerNPC;
  27.  
  28. public class GuiNPC extends GuiContainer{
  29.    
  30.     int[] pos=new int[3];
  31.    
  32.     private float oldMouseX;
  33.     private float oldMouseY;
  34.    
  35.     private EntityNPC npc;
  36.    
  37.     private boolean fallDmg=true, drown=true, fireImm=false, showTagAlways=false, swim=true;
  38.    
  39.     boolean slotsShowing=true;
  40.    
  41.     int sunMode=0, lookMode=1, walkMode=0, attackMode=0;
  42.    
  43.     //general buttons
  44.     @SuppressWarnings("unused")
  45.     private GuiButton apply, cancel, delete;
  46.    
  47.     //category_buttons
  48.     private GuiButton catGeneral, catAttributes, catAI, catInventory, catModel;
  49.    
  50.     //catGeneral_controls
  51.     private GuiTextField name, texture, deathSound, hitSound;
  52.     private GuiButton renderNameTag;
  53.    
  54.     //catAttributes_controls
  55.     private GuiTextField attMaxHealthVal, attArmorVal, attMoveSpeedVal, attAttackSpeedVal, attArmorTghVal;
  56.     private GuiButton fireImmune, canDrown, sunBurns, fallDamage;
  57.    
  58.     //catAI_controls
  59.     private GuiButton canSwim, lookPlayer, walking, attack;
  60.     private GuiTextField watchRange;
  61.    
  62.     public GuiNPC(IInventory playerInv, IInventory npcInv, EntityNPC npc){
  63.         super(new ContainerNPC(playerInv, npcInv,npc,Minecraft.getMinecraft().thePlayer));
  64.         this.npc=npc;
  65.     }
  66.    
  67.     public void onGuiClosed() {
  68.         super.onGuiClosed();
  69.     }
  70.    
  71.     public void drawScreen(int mouseX, int mouseY, float partialTicks){
  72.         super.drawScreen(mouseX, mouseY, partialTicks);
  73.         this.oldMouseX = (float)mouseX;
  74.         this.oldMouseY = (float)mouseY;
  75.     }
  76.    
  77.     public void updateScreen() {
  78.        
  79.         //general
  80.         this.disEnable(this.catGeneral, this.name);
  81.         this.disEnable(this.catGeneral, this.texture);
  82.         this.disEnable(this.catGeneral, this.renderNameTag);
  83.         this.disEnable(this.catGeneral, this.deathSound);
  84.         this.disEnable(this.catGeneral, this.hitSound);
  85.        
  86.         //attributes
  87.         this.disEnable(this.catAttributes, this.attMaxHealthVal);
  88.         this.disEnable(this.catAttributes, this.attArmorVal);
  89.         this.disEnable(this.catAttributes, this.attMoveSpeedVal);
  90.         this.disEnable(this.catAttributes, this.attAttackSpeedVal);
  91.         this.disEnable(this.catAttributes, this.attArmorTghVal);
  92.         this.disEnable(this.catAttributes, this.fireImmune);
  93.         this.disEnable(this.catAttributes, this.canDrown);
  94.         this.disEnable(this.catAttributes, this.sunBurns);
  95.         this.disEnable(this.catAttributes, this.fallDamage);
  96.        
  97.         //ai
  98.         this.disEnable(this.catAI, this.lookPlayer);
  99.         this.disEnable(this.catAI, this.canSwim);
  100.         this.disEnable(this.catAI, this.watchRange);
  101.         this.disEnable(this.catAI, this.walking);
  102.         this.disEnable(this.catAI, this.attack);
  103.  
  104.     }
  105.    
  106.     public void disEnable(GuiButton cat, Gui control){
  107.         if(control instanceof GuiButton){
  108.             ((GuiButton) control).enabled=!cat.enabled;
  109.             ((GuiButton) control).visible=!cat.enabled;
  110.         }else if(control instanceof GuiTextField){
  111.             ((GuiTextField) control).setEnabled(!cat.enabled);
  112.             ((GuiTextField) control).setVisible(!cat.enabled);
  113.         }
  114.     }
  115.    
  116.     public void initGui() {
  117.         this.buttonList.clear();
  118.         int x=this.width;
  119.         int y=this.height;
  120.        
  121.         this.showTagAlways=npc.getAlwaysRenderNameTag();
  122.         this.fireImm=this.npc.isFireImmune();
  123.         this.sunMode=this.npc.burnsInSun();
  124.         this.fallDmg=this.npc.takesFallDamage();
  125.         this.drown=!this.npc.canBreatheUnderwater();
  126.         this.swim=this.npc.canSwim();
  127.         this.lookMode=this.npc.getLookMode();
  128.         this.walkMode=this.npc.getWalkMode();
  129.         this.attackMode=this.npc.getAttackMode();
  130.        
  131.         //fixed controls
  132.         this.buttonList.add(this.catGeneral=new GuiButton(0, x/2-208, 20, 80, 20, I18n.format("gui.npc.button.general")));
  133.         this.catGeneral.enabled=false;
  134.         this.buttonList.add(this.catAttributes=new GuiButton(1, x/2-124, 20, 80, 20, I18n.format("gui.npc.button.attributes")));
  135.         this.buttonList.add(this.catAI=new GuiButton(2, x/2-40, 20, 80, 20, I18n.format("gui.npc.button.ai")));
  136.         this.buttonList.add(this.catInventory=new GuiButton(3, x/2+44, 20, 80, 20, I18n.format("gui.npc.button.inventory")));
  137.         this.buttonList.add(this.catModel=new GuiButton(4, x/2+128, 20, 80, 20, I18n.format("gui.npc.button.model")));
  138.         this.catModel.enabled=false;
  139.         this.buttonList.add(this.apply=new GuiButton(5, x/2-208, y-40, 80, 20, I18n.format("gui.npc.button.apply")));
  140.         this.buttonList.add(this.cancel=new GuiButton(6, x/2-124, y-40, 80, 20, I18n.format("gui.npc.button.cancel")));
  141.         this.buttonList.add(this.delete=new GuiButton(7, x/2-40, y-40, 80, 20, I18n.format("gui.npc.button.delete")));
  142.        
  143.         //category general
  144.         this.buttonList.add(this.renderNameTag=new GuiButton(8, x/2-27, 49, 150, 20, this.showTagAlways ? I18n.format("gui.npc.showTagAlways") : I18n.format("gui.npc.showTagOnLook")));
  145.         this.name=new GuiTextField(9, this.fontRendererObj, x/2-120, 49, 80, 20);
  146.         this.texture=new GuiTextField(10, this.fontRendererObj, x/2-120, 78, 100, 20);
  147.         this.deathSound=new GuiTextField(20, this.fontRendererObj, x/2-120, 107, 100, 20);
  148.         this.hitSound=new GuiTextField(21, this.fontRendererObj, x/2-120, 136, 100, 20);
  149.        
  150.         //category attributes
  151.         this.attMaxHealthVal=new GuiTextField(11, this.fontRendererObj, x/2-120, 49, 50, 20);
  152.         this.attMaxHealthVal.setVisible(false);
  153.         this.attMaxHealthVal.setEnabled(false);
  154.         this.attMaxHealthVal.setMaxStringLength(5);
  155.         this.attArmorVal=new GuiTextField(12, this.fontRendererObj, x/2-120, 78, 50, 20);
  156.         this.attArmorVal.setVisible(false);
  157.         this.attArmorVal.setEnabled(false);
  158.         this.attArmorVal.setMaxStringLength(5);
  159.         this.attMoveSpeedVal=new GuiTextField(13, this.fontRendererObj, x/2-120, 107, 50, 20);
  160.         this.attMoveSpeedVal.setVisible(false);
  161.         this.attMoveSpeedVal.setEnabled(false);
  162.         this.attMoveSpeedVal.setMaxStringLength(5);
  163.         this.attAttackSpeedVal=new GuiTextField(14, this.fontRendererObj, x/2+48, 49, 50, 20);
  164.         this.attAttackSpeedVal.setVisible(false);
  165.         this.attAttackSpeedVal.setEnabled(false);
  166.         this.attAttackSpeedVal.setMaxStringLength(5);
  167.         this.attArmorTghVal=new GuiTextField(15, this.fontRendererObj, x/2+48, 78, 50, 20);
  168.         this.attArmorTghVal.setVisible(false);
  169.         this.attArmorTghVal.setEnabled(false);
  170.         this.attArmorTghVal.setMaxStringLength(5);
  171.         this.buttonList.add(this.fireImmune=new GuiButton(16, x/2-124, 145, 80, 20, this.fireImm ? I18n.format("gui.npc.yes") : I18n.format("gui.npc.no")));
  172.         this.buttonList.add(this.canDrown=new GuiButton(17, x/2-124, 174, 80, 20, this.drown ? I18n.format("gui.npc.yes") : I18n.format("gui.npc.no")));
  173.         this.buttonList.add(this.sunBurns=new GuiButton(18, x/2+44, 145, 80, 20, this.sunMode==0 ? I18n.format("gui.npc.no") : (this.sunMode==1?I18n.format("gui.npc.yes"):I18n.format("gui.npc.flee"))));
  174.         this.buttonList.add(this.fallDamage=new GuiButton(19, x/2+44, 174, 80, 20, this.fallDmg ? I18n.format("gui.npc.yes") : I18n.format("gui.npc.no")));
  175.        
  176.         //cat ai
  177.         this.buttonList.add(this.canSwim=new GuiButton(22, x/2-124, 49, 80, 20, this.swim ? I18n.format("gui.npc.yes") : I18n.format("gui.npc.no")));
  178.         this.buttonList.add(this.lookPlayer=new GuiButton(23, x/2-124, 78, 80, 20, this.lookMode==0 ? I18n.format("gui.npc.no") : (this.lookMode==1?I18n.format("gui.npc.lookIdle"):(this.lookMode==2?I18n.format("gui.npc.idleFollow"):I18n.format("gui.npc.follow")))));
  179.         this.watchRange=new GuiTextField(24, this.fontRendererObj, x/2-35, 78, 50, 20);
  180.         this.watchRange.setVisible(false);
  181.         this.watchRange.setEnabled(false);
  182.         this.watchRange.setMaxStringLength(5);
  183.         this.buttonList.add(this.walking=new GuiButton(25, x/2-124, 107, 80, 20, this.walkMode==0 ? I18n.format("gui.npc.stand") : (this.walkMode==1?I18n.format("gui.npc.wander"):I18n.format("gui.npc.path"))));
  184.         this.buttonList.add(this.attack=new GuiButton(26, x/2-124, 136, 80, 20, this.attackMode==0?I18n.format("gui.npc.no"):(this.attackMode==1?I18n.format("gui.npc.revenge"):(this.attackMode==2?I18n.format("gui.npc.nearest"):""))));
  185.        
  186.         //cat inventory
  187.         //this.showInventory(false);
  188.        
  189.         this.name.setText(npc.getName());
  190.         this.texture.setText(npc.getTexture());
  191.         this.attMaxHealthVal.setText(String.valueOf(npc.getMaxHealth()));
  192.         this.attArmorVal.setText(String.valueOf(npc.getArmor()));
  193.         this.attMoveSpeedVal.setText(String.valueOf(npc.getMoveSpeed()).substring(0, 3));
  194.         this.attAttackSpeedVal.setText(String.valueOf(npc.getAttackSpeed()));
  195.         this.attArmorTghVal.setText(String.valueOf(npc.getArmorToughness()));
  196.         this.deathSound.setText(npc.getDeathsSound());
  197.         this.hitSound.setText(npc.getHitSound());
  198.         this.watchRange.setText(String.valueOf(npc.getWatchRange()));
  199.     }
  200.    
  201.     private void showInventory(boolean show){
  202.         if(!show&&this.slotsShowing){
  203.             List<Slot> slots=this.inventorySlots.inventorySlots;
  204.             for(Slot slot:slots){
  205.                 int x=slot.xDisplayPosition;
  206.                 slot.xDisplayPosition=x-999;
  207.             }
  208.         }else if(show&&!this.slotsShowing){
  209.             List<Slot> slots=this.inventorySlots.inventorySlots;
  210.             for(Slot slot:slots){
  211.                 int x=slot.xDisplayPosition;
  212.                 slot.xDisplayPosition=x+999;
  213.             }
  214.         }
  215.         this.slotsShowing=show;
  216.     }
  217.    
  218.     public void switchCategory(int buttonID){
  219.         switch(buttonID){
  220.             case 0:{
  221.                 this.catGeneral.enabled=false;
  222.                 this.catAttributes.enabled=true;
  223.                 this.catAI.enabled=true;
  224.                 this.catInventory.enabled=true;
  225.                 //this.showInventory(false);
  226.                 //this.catModel.enabled=true;
  227.                 break;
  228.             }
  229.             case 1:{
  230.                 this.catGeneral.enabled=true;
  231.                 this.catAttributes.enabled=false;
  232.                 this.catAI.enabled=true;
  233.                 this.catInventory.enabled=true;
  234.                 //this.showInventory(false);
  235.                 //this.catModel.enabled=true;
  236.                 break;
  237.             }
  238.             case 2:{
  239.                 this.catGeneral.enabled=true;
  240.                 this.catAttributes.enabled=true;
  241.                 this.catAI.enabled=false;
  242.                 this.catInventory.enabled=true;
  243.                 //this.showInventory(false);
  244.                 //this.catModel.enabled=true;
  245.                 break;
  246.             }
  247.             case 3:{
  248.                 this.catGeneral.enabled=true;
  249.                 this.catAttributes.enabled=true;
  250.                 this.catAI.enabled=true;
  251.                 this.catInventory.enabled=false;
  252.                 //this.showInventory(true);
  253.                 //this.catModel.enabled=true;
  254.                 break;
  255.             }
  256.             /*case 4:{
  257.                 this.catGeneral.enabled=true;
  258.                 this.catAttributes.enabled=true;
  259.                 this.catAI.enabled=true;
  260.                 this.catInventory.enabled=true;
  261.                 this.catModel.enabled=false;
  262.                 break;
  263.             }*/
  264.         }
  265.     }
  266.    
  267.     protected void actionPerformed(GuiButton button) throws IOException {
  268.         switchCategory(button.id);
  269.         switch(button.id){
  270.             case 5:{
  271.                 NBTTagCompound data=new NBTTagCompound();
  272.                 data.setString("name", this.name.getText());
  273.                 data.setString("texture", this.texture.getText());
  274.                 data.setBoolean("showtag", this.showTagAlways);
  275.                 data.setDouble("maxHealth", Double.parseDouble(this.attMaxHealthVal.getText()));
  276.                 data.setDouble("armor", Double.parseDouble(this.attArmorVal.getText()));
  277.                 data.setDouble("movespeed", Double.parseDouble(this.attMoveSpeedVal.getText()));
  278.                 data.setDouble("attspeed", Double.parseDouble(this.attAttackSpeedVal.getText()));
  279.                 data.setDouble("armortgh", Double.parseDouble(this.attArmorTghVal.getText()));
  280.                 data.setBoolean("fireimmune", this.fireImm);
  281.                 data.setBoolean("candrown", this.drown);
  282.                 data.setInteger("sunburn", this.sunMode);
  283.                 data.setBoolean("falldmg", this.fallDmg);
  284.                 data.setString("hitSound", this.hitSound.getText());
  285.                 data.setString("deathSound", this.deathSound.getText());
  286.                 data.setBoolean("canSwim", this.swim);
  287.                 data.setInteger("lookMode", this.lookMode);
  288.                 data.setFloat("watchRange", Float.parseFloat(this.watchRange.getText()));
  289.                 data.setInteger("walkMode", this.walkMode);
  290.                 data.setInteger("attack", this.attackMode);
  291.                    
  292.                 PacketHandler.sendToServer(new S03PacketUpdateEntity(data,false,this.npc.getEntityId()));
  293.                
  294.                 this.npc.setAttackMode(this.attackMode);
  295.                
  296.                 this.mc.displayGuiScreen((GuiNPC)null);
  297.                 break;
  298.             }
  299.             case 6:{
  300.                 this.mc.displayGuiScreen((GuiNPC)null);
  301.                 break;
  302.             }
  303.             case 7:{
  304.                 PacketHandler.sendToServer(new S03PacketUpdateEntity(new NBTTagCompound(),true,this.npc.getEntityId()));
  305.                 this.mc.displayGuiScreen((GuiNPC)null);
  306.                 break;
  307.             }
  308.             case 8:{
  309.                 if(this.showTagAlways)
  310.                     this.renderNameTag.displayString=I18n.format("gui.npc.showTagOnLook");
  311.                 else
  312.                     this.renderNameTag.displayString=I18n.format("gui.npc.showTagAlways");
  313.                 this.showTagAlways=!showTagAlways;
  314.                 break;
  315.             }
  316.             case 16:{
  317.                 if(!this.fireImm)
  318.                     this.fireImmune.displayString=I18n.format("gui.npc.yes");
  319.                 else
  320.                     this.fireImmune.displayString=I18n.format("gui.npc.no");
  321.                 this.fireImm=!fireImm;
  322.                 break;
  323.             }
  324.             case 17:{
  325.                 if(!this.drown)
  326.                     this.canDrown.displayString=I18n.format("gui.npc.yes");
  327.                 else
  328.                     this.canDrown.displayString=I18n.format("gui.npc.no");
  329.                 this.drown=!drown;
  330.                 break;
  331.             }
  332.             case 18:{
  333.                 if(this.sunMode==0){
  334.                     this.sunMode=1;
  335.                     this.sunBurns.displayString=I18n.format("gui.npc.yes");
  336.                 }else if(this.sunMode==1){
  337.                     this.sunMode=2;
  338.                     this.sunBurns.displayString=I18n.format("gui.npc.flee");
  339.                 }else if(this.sunMode==2){
  340.                     this.sunMode=0;
  341.                     this.sunBurns.displayString=I18n.format("gui.npc.no");
  342.                 }else{
  343.                     this.sunMode=0;
  344.                     this.sunBurns.displayString=I18n.format("gui.npc.no");
  345.                 }
  346.                 break;
  347.             }
  348.             case 19:{
  349.                 if(!this.fallDmg)
  350.                     this.fallDamage.displayString=I18n.format("gui.npc.yes");
  351.                 else
  352.                     this.fallDamage.displayString=I18n.format("gui.npc.no");
  353.                 this.fallDmg=!fallDmg;
  354.                 break;
  355.             }
  356.             case 22:{
  357.                 if(!this.swim)
  358.                     this.canSwim.displayString=I18n.format("gui.npc.yes");
  359.                 else
  360.                     this.canSwim.displayString=I18n.format("gui.npc.no");
  361.                 this.swim=!swim;
  362.                 break;
  363.             }
  364.             case 23:{
  365.                 if(this.lookMode==0){
  366.                     this.lookMode=1;
  367.                     this.lookPlayer.displayString=I18n.format("gui.npc.lookIdle");
  368.                 }else if(this.lookMode==1){
  369.                     this.lookMode=2;
  370.                     this.lookPlayer.displayString=I18n.format("gui.npc.idleFollow");
  371.                 }else if(this.lookMode==2){
  372.                     this.lookMode=3;
  373.                     this.lookPlayer.displayString=I18n.format("gui.npc.follow");
  374.                 }else if(this.lookMode==3){
  375.                     this.lookMode=0;
  376.                     this.lookPlayer.displayString=I18n.format("gui.npc.no");
  377.                 }else{
  378.                     this.lookMode=0;
  379.                     this.lookPlayer.displayString=I18n.format("gui.npc.no");
  380.                 }
  381.                 break;
  382.             }
  383.             case 25:{
  384.                 if(this.walkMode==0){
  385.                     this.walkMode=1;
  386.                     this.walking.displayString=I18n.format("gui.npc.wander");
  387.                 }else if(this.walkMode==1){
  388.                     this.walkMode=2;
  389.                     this.walking.displayString=I18n.format("gui.npc.path");
  390.                 }else if(this.walkMode==2){
  391.                     this.walkMode=0;
  392.                     this.walking.displayString=I18n.format("gui.npc.stand");
  393.                 }else{
  394.                     this.walkMode=0;
  395.                     this.walking.displayString=I18n.format("gui.npc.stand");
  396.                 }
  397.                 break;
  398.             }
  399.             case 26:{
  400.                 if(this.attackMode==0){
  401.                     this.attackMode=1;
  402.                     this.attack.displayString=I18n.format("gui.npc.revenge");
  403.                 }else if(this.attackMode==1){
  404.                     this.attackMode=2;
  405.                     this.attack.displayString=I18n.format("gui.npc.nearest");
  406.                 }else if(this.attackMode==2){
  407.                     this.attackMode=0;
  408.                     this.attack.displayString=I18n.format("gui.npc.no");
  409.                 }else{
  410.                     this.attackMode=0;
  411.                     this.attack.displayString=I18n.format("gui.npc.no");
  412.                 }
  413.                 break;
  414.             }
  415.         }
  416.     }
  417.    
  418.     public boolean doesGuiPauseGame() {
  419.         return true;
  420.     }
  421.    
  422.     protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
  423.         super.mouseClicked(mouseX, mouseY, mouseButton);
  424.         this.name.mouseClicked(mouseX, mouseY, mouseButton);
  425.         this.texture.mouseClicked(mouseX, mouseY, mouseButton);
  426.         this.attMaxHealthVal.mouseClicked(mouseX, mouseY, mouseButton);
  427.         this.attArmorVal.mouseClicked(mouseX, mouseY, mouseButton);
  428.         this.attMoveSpeedVal.mouseClicked(mouseX, mouseY, mouseButton);
  429.         this.attAttackSpeedVal.mouseClicked(mouseX, mouseY, mouseButton);
  430.         this.attArmorTghVal.mouseClicked(mouseX, mouseY, mouseButton);
  431.         this.deathSound.mouseClicked(mouseX, mouseY, mouseButton);
  432.         this.hitSound.mouseClicked(mouseX, mouseY, mouseButton);
  433.         this.watchRange.mouseClicked(mouseX, mouseY, mouseButton);
  434.     }
  435.    
  436.     protected void keyTyped(char typedChar, int keyCode) throws IOException {
  437.         super.keyTyped(typedChar, keyCode);
  438.         this.name.textboxKeyTyped(typedChar, keyCode);
  439.         this.texture.textboxKeyTyped(typedChar, keyCode);
  440.         this.attMaxHealthVal.textboxKeyTyped(typedChar, keyCode);
  441.         this.attArmorVal.textboxKeyTyped(typedChar, keyCode);
  442.         this.attMoveSpeedVal.textboxKeyTyped(typedChar, keyCode);
  443.         this.attAttackSpeedVal.textboxKeyTyped(typedChar, keyCode);
  444.         this.attArmorTghVal.textboxKeyTyped(typedChar, keyCode);
  445.         this.hitSound.textboxKeyTyped(typedChar, keyCode);
  446.         this.deathSound.textboxKeyTyped(typedChar, keyCode);
  447.         this.watchRange.textboxKeyTyped(typedChar, keyCode);
  448.     }
  449.    
  450.     protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
  451.         this.drawDefaultBackground();
  452.         GuiInventory.drawEntityOnScreen(this.width-50, this.height-100, 30, (float)(this.width-50) - this.oldMouseX, (float)(this.height-150) - this.oldMouseY, this.npc);
  453.     }
  454.    
  455.     protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
  456.         int x=this.width;
  457.         this.name.drawTextBox();
  458.         this.texture.drawTextBox();
  459.         this.deathSound.drawTextBox();
  460.         this.hitSound.drawTextBox();
  461.         this.attMaxHealthVal.drawTextBox();
  462.         this.attArmorVal.drawTextBox();
  463.         this.attMoveSpeedVal.drawTextBox();
  464.         this.attAttackSpeedVal.drawTextBox();
  465.         this.attArmorTghVal.drawTextBox();
  466.         this.watchRange.drawTextBox();
  467.        
  468.         if(!catGeneral.enabled){
  469.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.name"), x/2-198, 54, Color.WHITE.getRGB());
  470.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.texture"), x/2-198, 83, Color.WHITE.getRGB());
  471.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.deathSound"), x/2-198, 112, Color.WHITE.getRGB());
  472.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.hitSound"), x/2-198, 141, Color.WHITE.getRGB());
  473.         }
  474.         if(!catAttributes.enabled){
  475.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.health"), x/2-198, 54, Color.WHITE.getRGB());
  476.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.armor"), x/2-198, 83, Color.WHITE.getRGB());
  477.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.speed"), x/2-198, 112, Color.WHITE.getRGB());
  478.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.agility"), x/2-30, 54, Color.WHITE.getRGB());
  479.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.toughness"), x/2-30, 83, Color.WHITE.getRGB());
  480.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.immuneToFire"), x/2-198, 150, Color.WHITE.getRGB());
  481.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.canDrown"), x/2-198, 179, Color.WHITE.getRGB());
  482.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.sunDamage"), x/2-30, 150, Color.WHITE.getRGB());
  483.             drawString(this.fontRendererObj, I18n.format("gui.npc.prop.fallDamage"), x/2-30, 179, Color.WHITE.getRGB());
  484.         }
  485.         if(!catAI.enabled){
  486.             drawString(this.fontRendererObj, I18n.format("gui.npc.swim"), x/2-198, 54, Color.WHITE.getRGB());
  487.             drawString(this.fontRendererObj, I18n.format("gui.npc.look"), x/2-198, 83, Color.WHITE.getRGB());
  488.             drawString(this.fontRendererObj, I18n.format("gui.npc.move"), x/2-198, 112, Color.WHITE.getRGB());
  489.             drawString(this.fontRendererObj, I18n.format("gui.npc.revenge"), x/2-198, 141, Color.WHITE.getRGB());
  490.         }
  491.         super.drawGuiContainerForegroundLayer(mouseX, mouseY);
  492.     }
  493. }
Advertisement
Add Comment
Please, Sign In to add comment