Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 static org.lwjgl.opengl.GL11.*;
- import static org.lwjgl.input.Keyboard.*;
- import static net.minecraft.src.ModLoader.*;
- import net.minecraft.client.Minecraft;
- public class mod_vertex extends BaseMod {
- private List infoMessageList;
- private Random random = new Random();
- private boolean isTalking = false;
- Minecraft mc = getMinecraftInstance();
- public mod_vertex() {
- SetInGameHook(this, true, false);
- }
- @Override
- public boolean OnTickInGame(float f, Minecraft mc) {
- ScaledResolution scaler = new ScaledResolution(mc.gameSettings, mc.displayWidth, mc.displayHeight);
- glPushMatrix();
- glMatrixMode(5889 /* GL_PROJECTION */);
- glEnable(2903 /* GL_COLOR_MATERIAL */);
- glLoadIdentity();
- glOrtho(0.0D, mc.displayWidth, mc.displayHeight, 0.0D, 1000D, 3000D);
- glMatrixMode(5888 /* GL_MODELVIEW0_ARB */);
- glLoadIdentity();
- glTranslatef(0.0F, 0.0F, -2000F);
- if(mc.objectMouseOver != null) {
- if(mc.objectMouseOver.typeOfHit == EnumMovingObjectType.TILE) {
- if(mc.theWorld.getBlockId(mc.objectMouseOver.blockX, mc.objectMouseOver.blockY, mc.objectMouseOver.blockZ) == Block.chest.blockID) {
- TileEntityChest tileentitychest = (TileEntityChest)mc.theWorld.getBlockTileEntity(mc.objectMouseOver.blockX, mc.objectMouseOver.blockY, mc.objectMouseOver.blockZ);
- for(int i = 0; i < tileentitychest.chestContents.length; i++) {
- String s = tileentitychest.chestContents[i] != null ? "\2472"+tileentitychest.chestContents[i].getItem().getItemDisplayName(tileentitychest.chestContents[i]) : "\2474Empty";
- mc.ingameGUI.drawRect(2, 2, 80, i*10, 0x808080);
- mc.fontRenderer.drawStringWithShadow(s, 4, 4 + i * 10, 0xffffff);
- }
- }
- }
- }
- glDisable(GL_COLOR_MATERIAL);
- glPopMatrix();
- if(mc.objectMouseOver != null) {
- if(mc.objectMouseOver.entityHit instanceof EntityLiving) {
- EntityLiving targetEntity = (EntityLiving)mc.objectMouseOver.entityHit;
- String infoString = "Press [\247eZ\247?] to talk to \247e" + targetEntity.getEntityString();
- String infoString1 = "Press [Z] to talk to " + targetEntity.getEntityString();
- drawEmbossedString(infoString, infoString1, (scaler.getScaledWidth()/2)-mc.fontRenderer.getStringWidth(infoString) / 2, scaler.getScaledHeight()/2+10, mc, scaler);
- if(isKeyDown(KEY_Z)) {
- if(!isTalking) {
- isTalking = true;
- mc.ingameGUI.addChatMessage("\247e" + targetEntity.getEntityString() + "\247?: Lorem ipsum dolor sit amet, consectetur \"\247eGolden Apple\247?\" adipiscing elit.");
- }
- } else {
- isTalking = false;
- }
- }
- 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(!isTalking) {
- isTalking = 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 {
- isTalking = 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();
- }
- }
Add Comment
Please, Sign In to add comment