Guest User

Untitled

a guest
Nov 21st, 2017
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.27 KB | None | 0 0
  1. package ocdiary.theoink.handlers;
  2.  
  3. import net.minecraft.client.Minecraft;
  4. import net.minecraft.client.gui.FontRenderer;
  5. import net.minecraft.client.gui.ScaledResolution;
  6. import net.minecraft.entity.player.EntityPlayer;
  7. import net.minecraft.util.DamageSource;
  8. import net.minecraft.util.text.TextFormatting;
  9. import net.minecraftforge.client.event.RenderGameOverlayEvent;
  10. import net.minecraftforge.event.entity.living.LivingFallEvent;
  11. import net.minecraftforge.fml.common.Mod;
  12. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  13. import net.minecraftforge.fml.common.gameevent.TickEvent;
  14. import ocdiary.theoink.TheOink;
  15. import ocdiary.theoink.items.food.OinkUltimatePorkChop;
  16.  
  17. import java.awt.Color;
  18.  
  19. @Mod.EventBusSubscriber
  20. public class UltChopEffectsHandler {
  21. private static int seconds = 2000 / 20;
  22.  
  23. @SubscribeEvent
  24. public static void playerFalling(LivingFallEvent event){
  25. if(event.getEntity().world.isRemote){
  26. if(event.getEntity() instanceof EntityPlayer){
  27. EntityPlayer player = (EntityPlayer)event.getEntity();
  28. if(player.capabilities.isFlying){
  29. if(OinkUltimatePorkChop.flightTime == 0){
  30. if(player.getLastDamageSource() == DamageSource.FALL){
  31. event.setCanceled(true);
  32. }
  33. }
  34. }
  35. }
  36. }
  37. }
  38.  
  39. @SubscribeEvent
  40. public static void playerFlying(TickEvent.PlayerTickEvent event){
  41. if(OinkUltimatePorkChop.flightTime >= 0){
  42. if(OinkUltimatePorkChop.flightTime == 2000){
  43. seconds = 2000 / 20;
  44. }
  45. if(event.player.capabilities.isCreativeMode) return;
  46. if(!event.player.capabilities.allowFlying)
  47. event.player.capabilities.allowFlying = true;
  48. OinkUltimatePorkChop.flightTime--;
  49. }else{
  50. event.player.capabilities.allowFlying = false;
  51. }
  52. }
  53.  
  54. @SubscribeEvent
  55. public static void drawUPTime(RenderGameOverlayEvent.Post e){
  56. Minecraft mc = Minecraft.getMinecraft();
  57. FontRenderer fontRenderer = mc.fontRenderer;
  58. ScaledResolution scaled = e.getResolution();
  59. String str1 = "Ultimate Porkchop";
  60. String str2 = "Flight Time: ";
  61. int x1 = (mc.displayWidth / 2) - (fontRenderer.getStringWidth(str1) / 2);
  62. int x2 = (mc.displayWidth / 2) - (fontRenderer.getStringWidth(str2) / 2) - 10;
  63. int y1 = mc.displayHeight / 4;
  64. int y2 = y1 + 10;
  65. int y3 = y2 + 10;
  66.  
  67. int ft = OinkUltimatePorkChop.flightTime;
  68. int thirds = seconds / 3;
  69.  
  70. if(ft % 20 == 0){
  71. seconds--;
  72. }
  73.  
  74. if(e.getType() == RenderGameOverlayEvent.ElementType.EXPERIENCE){
  75. if(seconds > 0) {
  76. drawText(fontRenderer, setStringToRainbow(str1), x1, y1);
  77. drawText(fontRenderer, str2, x2, y2);
  78.  
  79. if(seconds >= thirds * 2){
  80. drawText(fontRenderer, TextFormatting.DARK_GREEN.toString() + seconds, x2, y3);
  81. }else if(seconds <= thirds * 2 && seconds >= thirds) {
  82. drawText(fontRenderer, TextFormatting.GOLD.toString() + seconds, x2, y3);
  83. }else if(seconds <= thirds && seconds > 20) {
  84. drawText(fontRenderer, TextFormatting.RED.toString() + seconds, x2, y3);
  85. }else if(seconds <= 20 && seconds > 0) {
  86. drawText(fontRenderer, TextFormatting.DARK_RED.toString() + seconds, x2, y3);
  87. }
  88. }
  89. }
  90. }
  91.  
  92. private static String setStringToRainbow(String toConvert){
  93. StringBuilder builder = new StringBuilder();
  94. int j = 0;
  95. for(int i = 0; i < toConvert.length(); i++){
  96. if(TextFormatting.fromColorIndex(j) == null) j = 0;
  97. if(TextFormatting.fromColorIndex(j).equals(TextFormatting.getValueByName("black"))) j++;
  98. String formattedChar = TextFormatting.fromColorIndex(j).toString() + toConvert.charAt(i);
  99. builder.append(formattedChar);
  100. j++;
  101. }
  102. return builder.toString();
  103. }
  104.  
  105. private static void drawText(FontRenderer fr, String text, int xPos, int yPos)
  106. {
  107. fr.drawStringWithShadow(text, xPos - (fr.getStringWidth(text) / 2), yPos, 0xFFFFFF);
  108. }
  109. }
Add Comment
Please, Sign In to add comment