Guest User

Untitled

a guest
Sep 24th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.03 KB | None | 0 0
  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 static org.lwjgl.opengl.GL11.*;
  10. import static org.lwjgl.input.Keyboard.*;
  11. import static net.minecraft.src.ModLoader.*;
  12.  
  13. import net.minecraft.client.Minecraft;
  14.  
  15. public class mod_vertex extends BaseMod {
  16.  
  17. private List infoMessageList;
  18. private Random random = new Random();
  19. private boolean isTalking = false;
  20. Minecraft mc = getMinecraftInstance();
  21.  
  22. public mod_vertex() {
  23. SetInGameHook(this, true, false);
  24. }
  25.  
  26. @Override
  27. public boolean OnTickInGame(float f, Minecraft mc) {
  28. ScaledResolution scaler = new ScaledResolution(mc.gameSettings, mc.displayWidth, mc.displayHeight);
  29. glPushMatrix();
  30. glMatrixMode(5889 /* GL_PROJECTION */);
  31. glEnable(2903 /* GL_COLOR_MATERIAL */);
  32. glLoadIdentity();
  33. glOrtho(0.0D, mc.displayWidth, mc.displayHeight, 0.0D, 1000D, 3000D);
  34. glMatrixMode(5888 /* GL_MODELVIEW0_ARB */);
  35. glLoadIdentity();
  36. glTranslatef(0.0F, 0.0F, -2000F);
  37. if(mc.objectMouseOver != null) {
  38. if(mc.objectMouseOver.typeOfHit == EnumMovingObjectType.TILE) {
  39. if(mc.theWorld.getBlockId(mc.objectMouseOver.blockX, mc.objectMouseOver.blockY, mc.objectMouseOver.blockZ) == Block.chest.blockID) {
  40. TileEntityChest tileentitychest = (TileEntityChest)mc.theWorld.getBlockTileEntity(mc.objectMouseOver.blockX, mc.objectMouseOver.blockY, mc.objectMouseOver.blockZ);
  41. for(int i = 0; i < tileentitychest.chestContents.length; i++) {
  42. String s = tileentitychest.chestContents[i] != null ? "\2472"+tileentitychest.chestContents[i].getItem().getItemDisplayName(tileentitychest.chestContents[i]) : "\2474Empty";
  43. mc.ingameGUI.drawRect(2, 2, 80, i*10, 0x808080);
  44. mc.fontRenderer.drawStringWithShadow(s, 4, 4 + i * 10, 0xffffff);
  45. }
  46. }
  47. }
  48. }
  49. glDisable(GL_COLOR_MATERIAL);
  50. glPopMatrix();
  51. if(mc.objectMouseOver != null) {
  52. if(mc.objectMouseOver.entityHit instanceof EntityLiving) {
  53. EntityLiving targetEntity = (EntityLiving)mc.objectMouseOver.entityHit;
  54. String infoString = "Press [\247eZ\247?] to talk to \247e" + targetEntity.getEntityString();
  55. String infoString1 = "Press [Z] to talk to " + targetEntity.getEntityString();
  56. drawEmbossedString(infoString, infoString1, (scaler.getScaledWidth()/2)-mc.fontRenderer.getStringWidth(infoString) / 2, scaler.getScaledHeight()/2+10, mc, scaler);
  57. if(isKeyDown(KEY_Z)) {
  58. if(!isTalking) {
  59. isTalking = true;
  60. mc.ingameGUI.addChatMessage("\247e" + targetEntity.getEntityString() + "\247?: Lorem ipsum dolor sit amet, consectetur \"\247eGolden Apple\247?\" adipiscing elit.");
  61. }
  62. } else {
  63. isTalking = false;
  64. }
  65. }
  66. if(mc.objectMouseOver.entityHit instanceof EntityItem) {
  67. EntityItem pickupItem = (EntityItem)mc.objectMouseOver.entityHit;
  68. String infoString = "Press [\247eE\247?] to pick up \247e" + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) +" ("+ pickupItem.item.stackSize + ")";
  69. String infoString1 = "Press [E] to pick up " + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) +" ("+ pickupItem.item.stackSize + ")";
  70. drawEmbossedString(infoString, infoString1, (scaler.getScaledWidth()/2)-mc.fontRenderer.getStringWidth(infoString) / 2, scaler.getScaledHeight()/2+10, mc, scaler);
  71. if(isKeyDown(KEY_X) && !pickupItem.isDead) {
  72. if(!isTalking) {
  73. isTalking = true;
  74. OnItemPickup(mc.thePlayer, pickupItem.item);
  75. addInfoMessage("Picked up: \247e" + pickupItem.item.getItem().getItemDisplayName(pickupItem.item) + (pickupItem.item.stackSize > 1 ? " ("+ pickupItem.item.stackSize + ")" : ""));
  76. mc.thePlayer.onItemPickup(pickupItem, pickupItem.item.stackSize);
  77. mc.thePlayer.inventory.addItemStackToInventory(pickupItem.item);
  78. mc.theWorld.playSoundAtEntity(pickupItem, "random.pop", 0.2F, ((random.nextFloat() - random.nextFloat()) * 0.7F + 1.0F) * 2.0F);
  79. pickupItem.setEntityDead();
  80. } else {
  81. isTalking = false;
  82. }
  83. }
  84. }
  85.  
  86. }
  87. handleInfoMessage();
  88. return true;
  89. }
  90.  
  91. public void drawEmbossedString(String s, String s1, int x, int y, Minecraft mc, ScaledResolution scaler) {
  92. mc.fontRenderer.drawString(s1.trim(), x, y+1, 0x000000);
  93. mc.fontRenderer.drawString(s1.trim(), x, y-1, 0x000000);
  94. mc.fontRenderer.drawString(s1.trim(), x+1, y, 0x000000);
  95. mc.fontRenderer.drawString(s1.trim(), x-1, y, 0x000000);
  96. mc.fontRenderer.drawString(s, x, y, 0xffffff);
  97. }
  98.  
  99. public void handleInfoMessage() {
  100. for(int i = 0; i < infoMessageList.size(); i++) {
  101. ((ChatLine)infoMessageList.get(i)).updateCounter++;
  102. }
  103. glEnable(GL_BLEND);
  104. glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  105. glDisable(GL_ALPHA_TEST);
  106. glPushMatrix();
  107. for(int i3 = 0; i3 < infoMessageList.size() && i3 < 20; i3++) {
  108. if(((ChatLine)infoMessageList.get(i3)).updateCounter >= 200) {
  109. continue;
  110. }
  111. double d = (double)((ChatLine)infoMessageList.get(i3)).updateCounter / 200D;
  112. d = 1.0D - d;
  113. d *= 10D;
  114. if(d < 0.0D) { d = 0.0D; }
  115. if(d > 1.0D) { d = 1.0D; }
  116. d *= d;
  117. int j4 = (int)(255D * d);
  118. if(j4 > 0) {
  119. byte byte1 = 2;
  120. int i6 = (-i3 * -9) + 2;
  121. String s2 = ((ChatLine)infoMessageList.get(i3)).message;
  122. glEnable(GL_BLEND);
  123. mc.fontRenderer.drawStringWithShadow(s2, byte1, i6, 0xffffff + (j4 << 24));
  124. }
  125. }
  126. glPopMatrix();
  127. glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  128. glDisable(GL_BLEND);
  129. glDisable(GL_LIGHTING);
  130. glEnable(GL_ALPHA_TEST);
  131. }
  132.  
  133. public void addInfoMessage(String message) {
  134. int i;
  135. for(; mc.fontRenderer.getStringWidth(message) > 320; message = message.substring(i)) {
  136. for(i = 1; i < message.length() && mc.fontRenderer.getStringWidth(message.substring(0, i + 1)) <= 320; i++) { }
  137. addInfoMessage(message.substring(0, i));
  138. }
  139. infoMessageList.add(0, new ChatLine(message));
  140. for(; infoMessageList.size() > 10; infoMessageList.remove(infoMessageList.size() - 1)) { }
  141. }
  142.  
  143. @Override
  144. public String getVersion() {
  145. return null;
  146. }
  147.  
  148. @Override
  149. public void load() {
  150. infoMessageList = new ArrayList();
  151. }
  152. }
Add Comment
Please, Sign In to add comment