Advertisement
Olivki

Minecraft base dropping

Dec 8th, 2012
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.69 KB | None | 0 0
  1. package se.proxus.panels;
  2.  
  3. import java.awt.Font;
  4. import java.util.ArrayList;
  5.  
  6. import net.minecraft.src.ScaledResolution;
  7.  
  8. import org.lwjgl.input.Mouse;
  9.  
  10. import se.proxus.gui.*;
  11. import se.proxus.mods.*;
  12. import se.proxus.panels.list.panels.PPanels;
  13. import se.proxus.panels.list.utils.*;
  14.  
  15. public abstract class BasePanel extends Methods {
  16.  
  17.     public BasePanel instance = null;
  18.  
  19.     public String name = "";
  20.  
  21.     public int x = 0;
  22.  
  23.     public int y = 0;
  24.  
  25.     public int width = 0;
  26.  
  27.     public int height = 0;
  28.  
  29.     public int rectY = 0;
  30.  
  31.     public int dragX = 0;
  32.  
  33.     public int dragY = 0;
  34.  
  35.     public int scrolled = 0;
  36.  
  37.     public boolean custom = false;
  38.  
  39.     public boolean dragging = false;
  40.  
  41.     public boolean open = false;
  42.  
  43.     public boolean pinned = false;
  44.  
  45.     public boolean buttonsSet = false;
  46.  
  47.     public ArrayList<BaseUtil> utilArray = new ArrayList<BaseUtil>();
  48.  
  49.     public BasePanel(String name, int x, int y, boolean custom) {
  50.         this.name = name;
  51.         this.x = x;
  52.         this.y = y;
  53.         this.width = 110;
  54.         this.height = 12;
  55.         this.custom = custom;
  56.         this.instance = this;
  57.  
  58.         if(!(this.custom)) {
  59.             this.setupPanel();
  60.         }
  61.     }
  62.  
  63.     public BasePanel(String name, int x, int y, int width, int height, boolean custom) {
  64.         this.name = name;
  65.         this.x = x;
  66.         this.y = y;
  67.         this.width = width;
  68.         this.height = height;
  69.         this.custom = custom;
  70.         this.instance = this;
  71.  
  72.         if(!(this.custom)) {
  73.             this.setupPanel();
  74.         }
  75.     }
  76.  
  77.     public void setupPanel() {
  78.         for(BaseMod var0 : this.pm.mods.modArray) {
  79.             if(var0.getType().equalsIgnoreCase(this.name)) {
  80.                 this.addUtil(new UMod(this.width - 8, var0, this));
  81.             }
  82.         }
  83.     }
  84.  
  85.     public void draw(int var0, int var1) {
  86.         this.mouseDragged(var0, var1);
  87.        
  88.         this.drawRect(this.x + 0.5F, this.y + 0.5F, this.x + this.width - 0.5F, this.y + this.height + this.rectY + (this.open ? 0.5F : 0.0F), 0x40000000);
  89.         this.drawHollowRect(this.x, this.y, this.x + this.width, this.y + this.height + this.rectY + (this.open ? 1.0F : 0.0F), 0xFF000000);
  90.         this.drawGradientRect(this.x + 0.5F, this.y + 0.5F, this.x + this.width - 0.5F, this.y + this.height - 0.5F, 0xFF4F94CD, 0xFF436786);
  91.  
  92.         /*this.pm.ttf.drawString(this.name + "[§e" + this.utilArray.size() + "§r]", this.x + 1, this.y + 1.5F, 0xFF606060);
  93.         this.pm.ttf.drawString(this.name, this.x + 1, this.y + 2.0F, 0xFFFFFFFF);*/
  94.        
  95.         this.drawPanelText(this.name + " [§e" + this.utilArray.size(), this.x + 1, this.y + 1.5F);
  96.         this.drawPanelText("]", this.x + 1 + this.pm.ttf.getStringWidth(this.name + " [" + this.utilArray.size()), this.y + 1.5F);
  97.  
  98.         this.drawBox("X", this.x + this.width - 9, this.y + 1, 0xFFCD0000, 0xFF8B0000, false, var0, var1, false);
  99.         this.drawBox("[]", this.x + this.width - 19, this.y + 1, 0xFFFFFFFF, 0xFFC0C0C0, true, var0, var1, this.pinned);
  100.         this.drawBox("_", this.x + this.width - 29, this.y + 1, 0xFFFFFFFF, 0xFFC0C0C0, true, var0, var1, this.open);
  101.  
  102.         this.handleUtils(var0, var1);
  103.     }
  104.  
  105.     public void handleUtils(int var0, int var1) {
  106.         this.rectY = this.utilArray.size() * 12 + 2;
  107.        
  108.         if(this.open) {
  109.             for(int var2 = 0; var2 < this.utilArray.size(); var2++) {
  110.                 BaseUtil var3 = (BaseUtil)this.utilArray.get(var2);
  111.  
  112.                 var3.setPosition(this.x + 4, this.y + this.height + 1 + var2 * 12);
  113.                 this.pm.panels.startCut(this.x, this.y + this.height, this.x + this.width, this.y + this.height + this.rectY);
  114.                 var3.draw(var0, var1, this.scrolled);
  115.                 this.pm.panels.stopCut();
  116.  
  117.                 this.buttonsSet = true;
  118.             }
  119.         } else {
  120.             this.rectY = 0;
  121.             this.buttonsSet = false;
  122.         }
  123.     }
  124.  
  125.     public void mouseClicked(int var0, int var1) { 
  126.         if(this.mouseInRec(var0, var1)) {
  127.             this.dragX = var0 - this.x;
  128.             this.dragY = var1 - this.y;
  129.             this.dragging = true;
  130.             this.pm.utils.playSound();
  131.             this.pm.panels.sendPanelToTop(this);
  132.         }
  133.  
  134.         if(this.mouseInBox(var0, var1, this.x + this.width - 9, this.y + 1) && !(this.instance instanceof PPanels)) {
  135.             this.pm.panels.removePanel(this);
  136.             this.pm.utils.playSound();
  137.             this.pm.panels.sendPanelToTop(this);
  138.         } if(this.mouseInBox(var0, var1, this.x + this.width - 19, this.y + 1)) {
  139.             this.pinned =! this.pinned;
  140.             this.pm.utils.playSound();
  141.             this.pm.panels.sendPanelToTop(this);
  142.         } if(this.mouseInBox(var0, var1, this.x + this.width - 29, this.y + 1)) {
  143.             this.open =! this.open;
  144.             this.pm.utils.playSound();
  145.             this.pm.panels.sendPanelToTop(this);
  146.         }
  147.  
  148.         if(this.buttonsSet) {
  149.             for(BaseUtil var2 : this.utilArray) {
  150.                 var2.mouseClicked(var0, var1);
  151.             }
  152.         }
  153.     }
  154.  
  155.     public void mouseDragged(int var0, int var1) {
  156.         if(Mouse.isButtonDown(0) && this.dragging) {
  157.             this.x = var0 - this.dragX;
  158.             this.y = var1 - this.dragY;
  159.         } else {
  160.             this.dragging = false;
  161.         }
  162.  
  163.         this.handleDraggingLogic(var0, var1);
  164.     }
  165.  
  166.     public void handleDraggingLogic(int var0, int var1) {
  167.         ScaledResolution var2 = new ScaledResolution(
  168.                 this.pm.wrapper.getMinecraft().gameSettings,
  169.                 this.pm.wrapper.getMinecraft().displayWidth,
  170.                 this.pm.wrapper.getMinecraft().displayHeight);
  171.  
  172.         /*for(BasePanel var3 : this.pm.panels.panelsArray) {
  173.             if(var3 != this) {
  174.                 if(this.x + this.width + 1 >= var3.x && !(var3.x <= this.x - this.width) && !(this.y <= var3.y + 1)) {
  175.                     this.x = var3.x + this.width + 1;
  176.                 }
  177.             }
  178.         }*/
  179.        
  180.         if(this.x <= 0) {
  181.             this.x = 0;
  182.         } if(this.y <= 0) {
  183.             this.y = 0;
  184.         } if(this.y >= (var2.getScaledHeight() - this.height) && !(this.open)) {
  185.             this.y = var2.getScaledHeight() - this.height;
  186.         } if(this.y >= (var2.getScaledHeight() - this.height - this.rectY - 1) && this.open) {
  187.             this.y = var2.getScaledHeight() - this.height - this.rectY - 1;
  188.         } if(this.x >= (var2.getScaledWidth() - this.width)) {
  189.             this.x = var2.getScaledWidth() - this.width;
  190.         }
  191.     }
  192.  
  193.     public void handleMouseInput() {
  194.         /*if(this == this.pm.panels.current && this.utilArray.size() >= 5) {
  195.             try {
  196.                 int var0 = Mouse.getEventDWheel();
  197.  
  198.                 if(var0 != 0) {
  199.                     if(var0 > 1) {
  200.                         var0 = 1;
  201.                     }
  202.  
  203.                     if(var0 < -1) {
  204.                         var0 = -1;
  205.                     }
  206.  
  207.                     var0 *= 4;
  208.  
  209.                     this.scrollPanel(var0);
  210.                 }
  211.             } catch(Exception e) {
  212.                 e.printStackTrace();
  213.             }
  214.         }*/
  215.     }
  216.  
  217.     public void scrollPanel(int var0) {
  218.         this.scrolled -= var0;
  219.  
  220.         if(this.scrolled > this.utilArray.size() * this.utilArray.size() - this.utilArray.size()) {
  221.             this.scrolled = this.utilArray.size() * this.utilArray.size() - this.utilArray.size();
  222.         }
  223.  
  224.         if(this.scrolled <= 0) {
  225.             this.scrolled = 0;
  226.         }
  227.     }
  228.  
  229.     public void keyTyped(char var0, int var1) {
  230.         for(BaseUtil var2 : this.utilArray) {
  231.             var2.keyTyped(var0, var1);
  232.         }
  233.     }
  234.  
  235.     public void addUtil(BaseUtil var0) {
  236.         if(!(this.utilArray.contains(var0))) {
  237.             this.utilArray.add(this.utilArray.size(), var0);
  238.         }
  239.     }
  240.  
  241.     public void removeUtil(BaseUtil var0) {
  242.         if(this.utilArray.contains(var0)) {
  243.             this.utilArray.remove(this.utilArray.indexOf(var0));
  244.         }
  245.     }
  246.  
  247.     public boolean mouseInRec(int var1, int var2) {
  248.         return var1 >= this.x && var2 >= this.y && var1 <= this.x + this.width - 31 && var2 <= this.y + this.height;
  249.     }
  250.  
  251.     public boolean mouseInRec(int var1, int var2, float x, float y, float x2, float y2) {
  252.         return var1 >= x && var2 >= y && var1 <= x + x2 && var2 <= y + y2;
  253.     }
  254.  
  255.     public boolean mouseInBox(int var0, int var1, float x, float y) {
  256.         return var0 >= x && var1 >= y && var0 <= x + 7.5F && var1 <= y + 9.5F;
  257.     }
  258.  
  259.     public void drawBox(String text, float x, float y, int hex0, int hex1, boolean flag, int var0, int var1, boolean state) {
  260.         if(this.pm.wrapper.getMinecraft().currentScreen instanceof PanelHandler) {
  261.             /*this.drawBorderedRect(x, y, x + 8, y + 10F, 0xFF000000, hex0);
  262.             this.drawRect(x + 0.5F, y + 5F, x + 7.5F, y + 9.5F, hex1);
  263.             this.drawRect(x + 1F, y + 1F, x + 7.5F, y + 9.5F, 0x20000000);*/
  264.             //this.drawBorderedGradientRect(x, y, x + 8, y + 10, 0xFFA1A1A1, hex0, hex1);
  265.             //this.drawGradientBox(x, y, x + 8, y + 10, state, text.equalsIgnoreCase("x"));
  266.  
  267.             if(this.mouseInBox(var0, var1, x, y) && this.pm.wrapper.getMinecraft().currentScreen instanceof PanelHandler) {
  268.                 this.drawRect(x, y, x + 7.5F, y + 9.5F, 0x20000000);
  269.             }
  270.  
  271.             if(flag) {
  272.                 if(text.equalsIgnoreCase("[]")) {
  273.                     this.drawHollowRect(x + 1.5F, y + 1.5F, x + 6.5F, y + 8.5F, this.pinned ? 0xFFFFFFFF : 0xFF909090);
  274.                     this.drawHollowRect(x + 2F, y + 2F, x + 6.0F, y + 8.0F, this.pinned ? 0xFFFFFFFF : 0xFF909090);
  275.                 } if(text.equalsIgnoreCase("_")) {
  276.                     this.pm.ttf.drawString(text, x + 0.5F, y + 0.5F, this.open ? 0xFFFFFFFF : 0xFF909090);
  277.                 }
  278.             } else {
  279.                 if(this.instance instanceof PPanels) {
  280.                     //this.pm.wrapper.getFontRenderer().drawString(text, x + 1.5F, y + 0.5F, 0xC0C0C0C0);
  281.                     this.pm.ttf.drawString(text, x + 0.5F, y + 1.0F, flag ? 0xFFFFFFFF : 0xFF909090);
  282.                 } else {
  283.                     this.pm.ttf.drawString(text, x + 0.5F, y + 0.5F, 0xFF808080);
  284.                 }
  285.             }
  286.         }
  287.     }
  288. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement