- package net.minecraft.src;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Random;
- import org.lwjgl.opengl.GL11;
- import static org.lwjgl.opengl.GL11.*;
- import static org.lwjgl.input.Keyboard.*;
- import net.minecraft.client.Minecraft;
- public class mod_vertex extends BaseMod {
- private List infoMessageList;
- private Random random = new Random();
- private boolean bool = false;
- Minecraft mc = ModLoader.getMinecraftInstance();
- public mod_vertex() {
- ModLoader.SetInGameHook(this, true, false);
- }
- @Override
- public boolean OnTickInGame(float f, Minecraft mc) {
- if(mc.objectMouseOver.entityHit instanceof EntityItem) {
- EntityItem pickupItem = (EntityItem)mc.objectMouseOver.entityHit;
- String infoString = "Press [\247eE\247?] to pick up \247e" + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) +" ("+ pickupItem.item.stackSize + ")";
- String infoString1 = "Press [E] to pick up " + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) +" ("+ pickupItem.item.stackSize + ")";
- drawEmbossedString(infoString, infoString1, (scaler.getScaledWidth()/2)-mc.fontRenderer.getStringWidth(infoString) / 2, scaler.getScaledHeight()/2+10, mc, scaler);
- if(isKeyDown(KEY_X) && !pickupItem.isDead) {
- if(!bool) {
- bool = true;
- OnItemPickup(mc.thePlayer, pickupItem.item);
- addInfoMessage("Picked up: \247e" + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) + (pickupItem.item.stackSize > 1 ? " ("+ pickupItem.item.stackSize + ")" : ""));
- mc.thePlayer.onItemPickup(pickupItem, pickupItem.item.stackSize);
- mc.thePlayer.inventory.addItemStackToInventory(pickupItem.item);
- mc.theWorld.playSoundAtEntity(pickupItem, "random.pop", 0.2F, ((random.nextFloat() - random.nextFloat()) * 0.7F + 1.0F) * 2.0F);
- pickupItem.setEntityDead();
- } else {
- bool = false;
- }
- }
- }
- }
- handleInfoMessage();
- return true;
- }
- public void drawEmbossedString(String s, String s1, int x, int y, Minecraft mc, ScaledResolution scaler) {
- mc.fontRenderer.drawString(s1.trim(), x, y+1, 0x000000);
- mc.fontRenderer.drawString(s1.trim(), x, y-1, 0x000000);
- mc.fontRenderer.drawString(s1.trim(), x+1, y, 0x000000);
- mc.fontRenderer.drawString(s1.trim(), x-1, y, 0x000000);
- mc.fontRenderer.drawString(s, x, y, 0xffffff);
- }
- public void handleInfoMessage() {
- for(int i = 0; i < infoMessageList.size(); i++) {
- ((ChatLine)infoMessageList.get(i)).updateCounter++;
- }
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glDisable(GL_ALPHA_TEST);
- glPushMatrix();
- for(int i3 = 0; i3 < infoMessageList.size() && i3 < 20; i3++) {
- if(((ChatLine)infoMessageList.get(i3)).updateCounter >= 200) {
- continue;
- }
- double d = (double)((ChatLine)infoMessageList.get(i3)).updateCounter / 200D;
- d = 1.0D - d;
- d *= 10D;
- if(d < 0.0D) { d = 0.0D; }
- if(d > 1.0D) { d = 1.0D; }
- d *= d;
- int j4 = (int)(255D * d);
- if(j4 > 0) {
- byte byte1 = 2;
- int i6 = (-i3 * -9) + 2;
- String s2 = ((ChatLine)infoMessageList.get(i3)).message;
- glEnable(GL_BLEND);
- mc.fontRenderer.drawStringWithShadow(s2, byte1, i6, 0xffffff + (j4 << 24));
- }
- }
- glPopMatrix();
- glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- glDisable(GL_BLEND);
- glDisable(GL_LIGHTING);
- glEnable(GL_ALPHA_TEST);
- }
- public void addInfoMessage(String message) {
- int i;
- for(; mc.fontRenderer.getStringWidth(message) > 320; message = message.substring(i)) {
- for(i = 1; i < message.length() && mc.fontRenderer.getStringWidth(message.substring(0, i + 1)) <= 320; i++) { }
- addInfoMessage(message.substring(0, i));
- }
- infoMessageList.add(0, new ChatLine(message));
- for(; infoMessageList.size() > 10; infoMessageList.remove(infoMessageList.size() - 1)) { }
- }
- @Override
- public String getVersion() {
- return null;
- }
- @Override
- public void load() {
- infoMessageList = new ArrayList();
- }
- }