Advertisement
Guest User

Untitled

a guest
Jun 11th, 2014
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.30 KB | None | 0 0
  1. package com.twixtor.twixrpg.handlers;
  2.  
  3. import com.twixtor.twixrpg.Base;
  4.  
  5. import net.minecraft.client.Minecraft;
  6. import net.minecraft.entity.Entity;
  7. import net.minecraft.entity.SharedMonsterAttributes;
  8. import net.minecraft.entity.player.EntityPlayer;
  9. import net.minecraft.nbt.NBTTagCompound;
  10. import net.minecraft.world.World;
  11. import net.minecraftforge.client.event.RenderGameOverlayEvent;
  12. import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
  13. import net.minecraftforge.common.IExtendedEntityProperties;
  14. import net.minecraftforge.event.entity.EntityEvent.EntityConstructing;
  15. import net.minecraftforge.event.entity.EntityJoinWorldEvent;
  16. import net.minecraftforge.event.entity.living.LivingDeathEvent;
  17. import cpw.mods.fml.common.eventhandler.EventPriority;
  18. import cpw.mods.fml.common.eventhandler.SubscribeEvent;
  19. import cpw.mods.fml.relauncher.Side;
  20. import cpw.mods.fml.relauncher.SideOnly;
  21.  
  22. @SideOnly(Side.CLIENT)
  23. public class LevelTickHandler implements IExtendedEntityProperties {
  24.  
  25. public final static String EXT_PROP_NAME = "ExtendedPlayer";
  26. public static int rewardXp = 0;
  27. public static int currentXp;
  28. public static int currentLevel;
  29. public static int armor;
  30.  
  31. public LevelTickHandler() {
  32. }
  33.  
  34. @Override
  35. public void loadNBTData(NBTTagCompound compound) {
  36. System.out.println("[EXT PROPS] Loading extended properties from NBT.");
  37. NBTTagCompound nbt = (NBTTagCompound) compound.getTag(EXT_PROP_NAME);
  38. currentXp = nbt.getInteger("Experience");
  39. System.out.println("[TUT PROPS] Data from NBT: " + currentXp);
  40. }
  41.  
  42. @SubscribeEvent
  43. public void onFirstJoinWorld(EntityJoinWorldEvent event) {
  44. if (event.entity instanceof EntityPlayer) {
  45. EntityPlayer player = (EntityPlayer) event.entity;
  46. setLevel(getLevel(currentXp), player);
  47. }
  48. }
  49.  
  50. @SubscribeEvent(priority = EventPriority.NORMAL)
  51. public void onRenderExperienceBar(RenderGameOverlayEvent event) {
  52. if (event.type == ElementType.HEALTH) {
  53. event.setCanceled(true);
  54. }
  55. if (event.type == ElementType.FOOD) {
  56. event.setCanceled(true);
  57. }
  58. if (event.type == ElementType.AIR) {
  59. event.setCanceled(true);
  60. }
  61. if (event.type == ElementType.ARMOR) {
  62. event.setCanceled(true);
  63. }
  64. if (event.type == ElementType.EXPERIENCE) {
  65. event.setCanceled(true);
  66. }
  67. }
  68.  
  69. @SubscribeEvent
  70. public void onLivingDeathDrop(LivingDeathEvent event) {
  71. if (event.source.getEntity() instanceof EntityPlayer) {
  72. EntityPlayer player = Minecraft.getMinecraft().thePlayer;
  73. if (MobList.mcEasy(event.entity)) {
  74. System.out.println("Low XP");
  75. rewardXp = 5;
  76. currentXp += rewardXp;
  77. player.getEntityData().setInteger("Experience", currentXp);
  78. }
  79.  
  80. else if (MobList.mcMedium(event.entity)) {
  81. System.out.println("Medium XP");
  82. rewardXp = 10;
  83. currentXp += rewardXp;
  84. player.getEntityData().setInteger("Experience", currentXp);
  85. setLevel(getLevel(currentLevel), player);
  86. }
  87.  
  88. else if (MobList.mcHard(event.entity)) {
  89. System.out.println("High XP");
  90. rewardXp = 80;
  91. currentXp += rewardXp;
  92. player.getEntityData().setInteger("Experience", currentXp);
  93. setLevel(getLevel(currentLevel), player);
  94. }
  95.  
  96. else {
  97. System.out.println("Unknown Entity Killed (Adding Low XP");
  98. rewardXp = 2;
  99. currentXp += rewardXp;
  100. System.out.println("Current XP: " + Base.xp);
  101.  
  102. }
  103.  
  104. setLevel(getLevel(currentXp), player);
  105. System.out.println("Level: " + currentLevel + "XP: " + currentXp);
  106.  
  107. }
  108.  
  109. }
  110.  
  111. public static int getLevel(int currentXp) {
  112. if (currentXp <=10) {
  113. currentLevel = 0;
  114. }
  115. else if (currentXp > 10 && currentXp <= 30) {
  116. currentLevel = 1;
  117. }
  118. else if (currentXp > 30 && currentXp <= 60) {
  119. currentLevel = 2;
  120. }
  121. else if (currentXp > 60 && currentXp <= 80) {
  122. currentLevel = 3;
  123. }
  124. else if (currentXp > 80 && currentXp <= 120) {
  125. currentLevel = 4;
  126. }
  127. else if (currentXp > 120 && currentXp <= 200) {
  128. currentLevel = 5;
  129. }
  130. else if (currentXp > 200 && currentXp <= 280) {
  131. currentLevel = 6;
  132. }
  133. else if (currentXp > 280 && currentXp <= 470) {
  134. currentLevel = 7;
  135. }
  136. else if (currentXp > 470 && currentXp <= 600) {
  137. currentLevel = 8;
  138. }
  139. else if (currentXp > 600 && currentXp <= 720) {
  140. currentLevel = 9;
  141. }
  142. else if (currentXp > 720 && currentXp <= 900) {
  143. currentLevel = 10;
  144. }
  145. else if (currentXp > 900 && currentXp <= 1200) {
  146. currentLevel = 11;
  147. }
  148. else if (currentXp > 1200 && currentXp <= 1800) {
  149. currentLevel = 12;
  150. }
  151. else if (currentXp > 1800 && currentXp <= 2500) {
  152. currentLevel = 13;
  153. }
  154. else if (currentXp > 2500 && currentXp <= 4000) {
  155. currentLevel = 14;
  156. }
  157. else if (currentXp > 4000 && currentXp <= 6500) {
  158. currentLevel = 15;
  159. }
  160. return currentLevel;
  161.  
  162. }
  163.  
  164. public static void setLevel(int level, EntityPlayer player) {
  165. if (currentLevel == 0) {
  166. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  167. .setBaseValue(6.0D);
  168. System.out.println("Set Level 0");
  169. }
  170.  
  171. if (level == 1) {
  172. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  173. .setBaseValue(7.0D);
  174. System.out.println("Set Level 1");
  175. }
  176.  
  177. if (level == 2) {
  178. System.out.println("Set Level 2");
  179. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  180. .setBaseValue(8.0D);
  181. }
  182.  
  183. if (level == 3) {
  184. System.out.println("Set Level 3");
  185. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  186. .setBaseValue(9.0D);
  187. }
  188.  
  189. if (level == 4) {
  190. System.out.println("Set Level 4");
  191. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  192. .setBaseValue(10.0D);
  193. }
  194. if (level == 5) {
  195. System.out.println("Set Level 5");
  196. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  197. .setBaseValue(11.0D);
  198. }
  199. if (level == 6) {
  200. System.out.println("Set Level 6");
  201. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  202. .setBaseValue(12.0D);
  203. }
  204. if (level == 7) {
  205. System.out.println("Set Level 7");
  206. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  207. .setBaseValue(13.0D);
  208. }
  209. if (level == 8) {
  210. System.out.println("Set Level 8");
  211. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  212. .setBaseValue(14.0D);
  213. }
  214. if (level == 9) {
  215. System.out.println("Set Level 9");
  216. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  217. .setBaseValue(15.0D);
  218. }
  219. if (level == 10) {
  220. System.out.println("Set Level 10");
  221. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  222. .setBaseValue(16.0D);
  223. }
  224. if (level == 11) {
  225. System.out.println("Set Level 11");
  226. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  227. .setBaseValue(17.0D);
  228. }
  229. if (level == 12) {
  230. System.out.println("Set Level 12");
  231. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  232. .setBaseValue(18.0D);
  233. }
  234. if (level == 13) {
  235. System.out.println("Set Level 13");
  236. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  237. .setBaseValue(19.0D);
  238. }
  239. if (level == 14) {
  240. System.out.println("Set Level 14");
  241. player.getEntityAttribute(SharedMonsterAttributes.maxHealth)
  242. .setBaseValue(20.0D);
  243. }
  244. }
  245.  
  246. public static int getArmor() {
  247. EntityPlayer player = Minecraft.getMinecraft().thePlayer;
  248. return armor;
  249. }
  250.  
  251. @Override
  252. public void saveNBTData(NBTTagCompound compound) {
  253. System.out.println("[EXT PROPS] Writing extended properties to NBT.");
  254. NBTTagCompound nbt = new NBTTagCompound();
  255. nbt.setInteger("Experience", currentXp);
  256. compound.setTag(EXT_PROP_NAME, nbt);
  257.  
  258. }
  259.  
  260. @Override
  261. public void init(Entity entity, World world) {
  262. System.out.println("[EXT PROPS] Initializing extended properties.");
  263. }
  264.  
  265. @SubscribeEvent
  266. public void onEntityConstructing(EntityConstructing event) {
  267. if (event.entity instanceof EntityPlayer) {
  268. if (event.entity.getExtendedProperties("ExtendedProps") == null) {
  269. System.out
  270. .println("[EXT PROPS] Registering extended properties.");
  271. event.entity.registerExtendedProperties("ExtendedProps",
  272. new LevelTickHandler());
  273. if (event.entity.getExtendedProperties("ExtendedProps") != null) {
  274. System.out
  275. .println("[EXT PROPS] Extended properties registered successfully.");
  276. }
  277. } else {
  278. System.out
  279. .println("[EXT PROPS] Extended properties already exist.");
  280. }
  281. }
  282. }
  283. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement