Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 22nd, 2012  |  syntax: None  |  size: 3.90 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package net.minecraft.src;
  2.  
  3. import java.awt.event.KeyEvent;
  4. import java.awt.event.KeyListener;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.Random;
  8.  
  9. import org.lwjgl.opengl.GL11;
  10.  
  11. import static org.lwjgl.opengl.GL11.*;
  12. import static org.lwjgl.input.Keyboard.*;
  13.  
  14. import net.minecraft.client.Minecraft;
  15.  
  16. public class mod_vertex extends BaseMod {
  17.  
  18.         private List infoMessageList;
  19.         private Random random = new Random();
  20.         private boolean bool = false;
  21.         Minecraft mc = ModLoader.getMinecraftInstance();
  22.  
  23.         public mod_vertex() {
  24.                 ModLoader.SetInGameHook(this, true, false);
  25.         }
  26.        
  27.         @Override
  28.         public boolean OnTickInGame(float f, Minecraft mc) {
  29.                         if(mc.objectMouseOver.entityHit instanceof EntityItem) {
  30.                                 EntityItem pickupItem = (EntityItem)mc.objectMouseOver.entityHit;
  31.                                 String infoString = "Press [\247eE\247?] to pick up \247e" + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) +" ("+ pickupItem.item.stackSize + ")";
  32.                                 String infoString1 = "Press [E] to pick up " + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) +" ("+ pickupItem.item.stackSize + ")";
  33.                                 drawEmbossedString(infoString, infoString1, (scaler.getScaledWidth()/2)-mc.fontRenderer.getStringWidth(infoString) / 2, scaler.getScaledHeight()/2+10, mc, scaler);
  34.                                 if(isKeyDown(KEY_X) && !pickupItem.isDead) {
  35.                                         if(!bool) {
  36.                                                 bool = true;
  37.                                                 OnItemPickup(mc.thePlayer, pickupItem.item);
  38.                                                 addInfoMessage("Picked up: \247e" + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) + (pickupItem.item.stackSize > 1 ? " ("+ pickupItem.item.stackSize + ")" : ""));
  39.                                                 mc.thePlayer.onItemPickup(pickupItem, pickupItem.item.stackSize);
  40.                                                 mc.thePlayer.inventory.addItemStackToInventory(pickupItem.item);
  41.                                                 mc.theWorld.playSoundAtEntity(pickupItem, "random.pop", 0.2F, ((random.nextFloat() - random.nextFloat()) * 0.7F + 1.0F) * 2.0F);
  42.                                                 pickupItem.setEntityDead();
  43.                                         } else {
  44.                                                 bool = false;
  45.                                         }
  46.                                 }
  47.                         }
  48.  
  49.                 }
  50.                 handleInfoMessage();
  51.                 return true;
  52.         }
  53.  
  54.         public void drawEmbossedString(String s, String s1, int x, int y, Minecraft mc, ScaledResolution scaler) {
  55.                 mc.fontRenderer.drawString(s1.trim(), x, y+1, 0x000000);
  56.                 mc.fontRenderer.drawString(s1.trim(), x, y-1, 0x000000);
  57.                 mc.fontRenderer.drawString(s1.trim(), x+1, y, 0x000000);
  58.                 mc.fontRenderer.drawString(s1.trim(), x-1, y, 0x000000);
  59.                 mc.fontRenderer.drawString(s, x, y, 0xffffff);
  60.         }
  61.  
  62.         public void handleInfoMessage() {
  63.                 for(int i = 0; i < infoMessageList.size(); i++) {
  64.                         ((ChatLine)infoMessageList.get(i)).updateCounter++;
  65.                 }
  66.                 glEnable(GL_BLEND);
  67.                 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  68.                 glDisable(GL_ALPHA_TEST);
  69.                 glPushMatrix();
  70.                 for(int i3 = 0; i3 < infoMessageList.size() && i3 < 20; i3++) {
  71.                         if(((ChatLine)infoMessageList.get(i3)).updateCounter >= 200) {
  72.                                 continue;
  73.                         }
  74.                         double d = (double)((ChatLine)infoMessageList.get(i3)).updateCounter / 200D;
  75.                         d = 1.0D - d;
  76.                         d *= 10D;
  77.                         if(d < 0.0D) { d = 0.0D; }
  78.                         if(d > 1.0D) { d = 1.0D; }
  79.                         d *= d;
  80.                         int j4 = (int)(255D * d);
  81.                         if(j4 > 0) {
  82.                                 byte byte1 = 2;
  83.                                 int i6 = (-i3 * -9) + 2;
  84.                                 String s2 = ((ChatLine)infoMessageList.get(i3)).message;
  85.                                 glEnable(GL_BLEND);
  86.                                 mc.fontRenderer.drawStringWithShadow(s2, byte1, i6, 0xffffff + (j4 << 24));
  87.                         }
  88.                 }
  89.                 glPopMatrix();
  90.                 glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  91.                 glDisable(GL_BLEND);
  92.                 glDisable(GL_LIGHTING);
  93.                 glEnable(GL_ALPHA_TEST);
  94.         }
  95.  
  96.         public void addInfoMessage(String message) {
  97.                 int i;
  98.                 for(; mc.fontRenderer.getStringWidth(message) > 320; message = message.substring(i)) {
  99.                         for(i = 1; i < message.length() && mc.fontRenderer.getStringWidth(message.substring(0, i + 1)) <= 320; i++) { }
  100.                         addInfoMessage(message.substring(0, i));
  101.                 }
  102.                 infoMessageList.add(0, new ChatLine(message));
  103.                 for(; infoMessageList.size() > 10; infoMessageList.remove(infoMessageList.size() - 1)) { }
  104.         }
  105.  
  106.         @Override
  107.         public String getVersion() {
  108.                 return null;
  109.         }
  110.  
  111.         @Override
  112.         public void load() {
  113.                 infoMessageList = new ArrayList();     
  114.         }
  115. }