Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 123.42 KB | None | 0 0
  1. package valiec.lotrfa;
  2.  
  3. import cpw.mods.fml.common.FMLCommonHandler;
  4. import cpw.mods.fml.common.Mod;
  5. import cpw.mods.fml.common.Mod.EventHandler;
  6. import cpw.mods.fml.common.SidedProxy;
  7. import cpw.mods.fml.common.event.FMLInitializationEvent;
  8. import cpw.mods.fml.common.event.FMLPostInitializationEvent;
  9. import cpw.mods.fml.common.event.FMLPreInitializationEvent;
  10. import cpw.mods.fml.common.eventhandler.EventBus;
  11. import cpw.mods.fml.common.eventhandler.SubscribeEvent;
  12. import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent;
  13. import cpw.mods.fml.common.network.NetworkRegistry;
  14. import cpw.mods.fml.common.registry.GameRegistry;
  15. import java.io.BufferedReader;
  16. import java.io.IOException;
  17. import java.io.InputStreamReader;
  18. import java.lang.reflect.Constructor;
  19. import java.lang.reflect.Field;
  20. import java.lang.reflect.InvocationTargetException;
  21. import java.lang.reflect.Method;
  22. import java.net.URL;
  23. import java.net.URLConnection;
  24. import java.util.ArrayList;
  25. import java.util.Collection;
  26. import java.util.HashMap;
  27. import java.util.Iterator;
  28. import java.util.List;
  29. import java.util.Map;
  30. import java.util.Random;
  31. import lotr.common.LOTRAchievement;
  32. import lotr.common.LOTRAchievement.Category;
  33. import lotr.common.LOTRCreativeTabs;
  34. import lotr.common.LOTRDate.ShireReckoning.Date;
  35. import lotr.common.LOTRDate.ShireReckoning.Month;
  36. import lotr.common.LOTRFaction;
  37. import lotr.common.LOTRLevelData;
  38. import lotr.common.LOTRLore.LoreCategory;
  39. import lotr.common.LOTRMod;
  40. import lotr.common.LOTRPlayerData;
  41. import lotr.common.LOTRShields;
  42. import lotr.common.block.LOTRBlockFlower;
  43. import lotr.common.block.LOTRBlockGrapevine;
  44. import lotr.common.block.LOTRBlockSlabBase;
  45. import lotr.common.block.LOTRBlockStairs;
  46. import lotr.common.entity.LOTREntities;
  47. import lotr.common.entity.LOTREntities.SpawnEggInfo;
  48. import lotr.common.entity.animal.LOTREntityHorse;
  49. import lotr.common.entity.npc.LOTREntityAngmarBannerBearer;
  50. import lotr.common.entity.npc.LOTREntityAngmarHillman;
  51. import lotr.common.entity.npc.LOTREntityAngmarHillmanAxeThrower;
  52. import lotr.common.entity.npc.LOTREntityAngmarHillmanBannerBearer;
  53. import lotr.common.entity.npc.LOTREntityAngmarHillmanChieftain;
  54. import lotr.common.entity.npc.LOTREntityAngmarHillmanWarrior;
  55. import lotr.common.entity.npc.LOTREntityAngmarOrc;
  56. import lotr.common.entity.npc.LOTREntityAngmarOrcBombardier;
  57. import lotr.common.entity.npc.LOTREntityAngmarWarg;
  58. import lotr.common.entity.npc.LOTREntityAngmarWargBombardier;
  59. import lotr.common.entity.npc.LOTREntityDaleArcher;
  60. import lotr.common.entity.npc.LOTREntityDaleBannerBearer;
  61. import lotr.common.entity.npc.LOTREntityDaleCaptain;
  62. import lotr.common.entity.npc.LOTREntityDaleLevyman;
  63. import lotr.common.entity.npc.LOTREntityDaleSoldier;
  64. import lotr.common.entity.npc.LOTREntityDunlending;
  65. import lotr.common.entity.npc.LOTREntityDunlendingArcher;
  66. import lotr.common.entity.npc.LOTREntityDunlendingAxeThrower;
  67. import lotr.common.entity.npc.LOTREntityDunlendingBannerBearer;
  68. import lotr.common.entity.npc.LOTREntityDunlendingBartender;
  69. import lotr.common.entity.npc.LOTREntityDunlendingBerserker;
  70. import lotr.common.entity.npc.LOTREntityDunlendingWarlord;
  71. import lotr.common.entity.npc.LOTREntityDunlendingWarrior;
  72. import lotr.common.entity.npc.LOTREntityGaladhrimBannerBearer;
  73. import lotr.common.entity.npc.LOTREntityGaladhrimElf;
  74. import lotr.common.entity.npc.LOTREntityGaladhrimWarrior;
  75. import lotr.common.entity.npc.LOTREntityGundabadOrc;
  76. import lotr.common.entity.npc.LOTREntityGundabadWarg;
  77. import lotr.common.entity.npc.LOTREntityIsengardSnaga;
  78. import lotr.common.entity.npc.LOTREntityIsengardSnagaArcher;
  79. import lotr.common.entity.npc.LOTREntityMallornEnt;
  80. import lotr.common.entity.npc.LOTREntityMountainTrollChieftain;
  81. import lotr.common.entity.npc.LOTREntityNurnSlave;
  82. import lotr.common.entity.npc.LOTREntityUrukHai;
  83. import lotr.common.entity.npc.LOTREntityUrukHaiBannerBearer;
  84. import lotr.common.entity.npc.LOTREntityUrukHaiCrossbower;
  85. import lotr.common.entity.npc.LOTREntityUrukHaiSapper;
  86. import lotr.common.entity.npc.LOTREntityUrukWarg;
  87. import lotr.common.entity.npc.LOTREntityUrukWargBombardier;
  88. import lotr.common.entity.npc.LOTREntityWoodElfScout;
  89. import lotr.common.entity.npc.LOTRHiredNPCInfo.Task;
  90. import lotr.common.entity.npc.LOTRUnitTradeEntries;
  91. import lotr.common.entity.npc.LOTRUnitTradeEntry;
  92. import lotr.common.item.LOTRItemArmor;
  93. import lotr.common.item.LOTRItemAxe;
  94. import lotr.common.item.LOTRItemBanner;
  95. import lotr.common.item.LOTRItemBanner.BannerType;
  96. import lotr.common.item.LOTRItemBattleaxe;
  97. import lotr.common.item.LOTRItemBlockMetadata;
  98. import lotr.common.item.LOTRItemBow;
  99. import lotr.common.item.LOTRItemDagger;
  100. import lotr.common.item.LOTRItemDagger.DaggerEffect;
  101. import lotr.common.item.LOTRItemHammer;
  102. import lotr.common.item.LOTRItemHoe;
  103. import lotr.common.item.LOTRItemLance;
  104. import lotr.common.item.LOTRItemMattock;
  105. import lotr.common.item.LOTRItemMountArmor;
  106. import lotr.common.item.LOTRItemMountArmor.Mount;
  107. import lotr.common.item.LOTRItemPickaxe;
  108. import lotr.common.item.LOTRItemPike;
  109. import lotr.common.item.LOTRItemPolearm;
  110. import lotr.common.item.LOTRItemPolearmLong;
  111. import lotr.common.item.LOTRItemShovel;
  112. import lotr.common.item.LOTRItemSpear;
  113. import lotr.common.item.LOTRItemSword;
  114. import lotr.common.item.LOTRItemThrowingAxe;
  115. import lotr.common.item.LOTRMaterial;
  116. import lotr.common.item.LOTRWeaponStats;
  117. import lotr.common.quest.LOTRMiniQuest;
  118. import lotr.common.quest.LOTRMiniQuest.QuestFactoryBase;
  119. import lotr.common.quest.LOTRMiniQuestFactory;
  120. import lotr.common.quest.LOTRMiniQuestKillEntity.QFKillEntity;
  121. import lotr.common.quest.LOTRMiniQuestKillFaction.QFKillFaction;
  122. import lotr.common.tileentity.LOTRTileEntityUnsmeltery;
  123. import lotr.common.world.biome.LOTRBiome;
  124. import lotr.common.world.map.LOTRRoads;
  125. import lotr.common.world.spawning.LOTRBiomeInvasionSpawns;
  126. import lotr.common.world.spawning.LOTREventSpawner.EventChance;
  127. import lotr.common.world.spawning.LOTRInvasions;
  128. import lotr.common.world.spawning.LOTRInvasions.InvasionSpawnEntry;
  129. import lotr.common.world.structure.LOTRChestContents;
  130. import net.minecraft.block.Block;
  131. import net.minecraft.block.material.Material;
  132. import net.minecraft.creativetab.CreativeTabs;
  133. import net.minecraft.entity.EntityLivingBase;
  134. import net.minecraft.entity.SharedMonsterAttributes;
  135. import net.minecraft.entity.ai.attributes.AttributeModifier;
  136. import net.minecraft.entity.ai.attributes.IAttributeInstance;
  137. import net.minecraft.entity.player.EntityPlayer;
  138. import net.minecraft.entity.player.InventoryPlayer;
  139. import net.minecraft.init.Blocks;
  140. import net.minecraft.init.Items;
  141. import net.minecraft.inventory.IInventory;
  142. import net.minecraft.item.Item;
  143. import net.minecraft.item.ItemArmor;
  144. import net.minecraft.item.ItemStack;
  145. import net.minecraft.util.IIcon;
  146. import net.minecraft.util.WeightedRandomChestContent;
  147. import net.minecraft.world.World;
  148. import net.minecraftforge.common.MinecraftForge;
  149. import net.minecraftforge.common.util.EnumHelper;
  150. import net.minecraftforge.event.entity.living.LivingDeathEvent;
  151. import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
  152. import net.minecraftforge.event.entity.player.PlayerInteractEvent;
  153. import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action;
  154. import valiec.lotrfa.entities.LOTREntityAngbandBalrog;
  155. import valiec.lotrfa.entities.LOTREntityAngbandTormentedElf;
  156. import valiec.lotrfa.entities.LOTREntityBelegostGoldsmith;
  157. import valiec.lotrfa.entities.LOTREntityBlackSwan;
  158. import valiec.lotrfa.entities.LOTREntityBorBartender;
  159. import valiec.lotrfa.entities.LOTREntityBorFarmer;
  160. import valiec.lotrfa.entities.LOTREntityBorGreengrocer;
  161. import valiec.lotrfa.entities.LOTREntityBrethilButcher;
  162. import valiec.lotrfa.entities.LOTREntityBrethilLumberman;
  163. import valiec.lotrfa.entities.LOTREntityBrethilSmith;
  164. import valiec.lotrfa.entities.LOTREntityDorDaedelothHuntsman;
  165. import valiec.lotrfa.entities.LOTREntityDorDaedelothOrcArcher;
  166. import valiec.lotrfa.entities.LOTREntityDorDaedelothScavenger;
  167. import valiec.lotrfa.entities.LOTREntityDorDaedelothWarg;
  168. import valiec.lotrfa.entities.LOTREntityDorLominBrewer;
  169. import valiec.lotrfa.entities.LOTREntityDorLominGuard;
  170. import valiec.lotrfa.entities.LOTREntityDorLominSmith;
  171. import valiec.lotrfa.entities.LOTREntityDorLominVinehand;
  172. import valiec.lotrfa.entities.LOTREntityDoriathBaker;
  173. import valiec.lotrfa.entities.LOTREntityDoriathHuntsman;
  174. import valiec.lotrfa.entities.LOTREntityDoriathLumberman;
  175. import valiec.lotrfa.entities.LOTREntityFalathrimArcher;
  176. import valiec.lotrfa.entities.LOTREntityFalathrimBannerBearer;
  177. import valiec.lotrfa.entities.LOTREntityFalathrimElf;
  178. import valiec.lotrfa.entities.LOTREntityFalathrimFishmonger;
  179. import valiec.lotrfa.entities.LOTREntityFalathrimLumberman;
  180. import valiec.lotrfa.entities.LOTREntityFalathrimMariner;
  181. import valiec.lotrfa.entities.LOTREntityFalathrimMarinerCaptain;
  182. import valiec.lotrfa.entities.LOTREntityFalathrimSailor;
  183. import valiec.lotrfa.entities.LOTREntityFalathrimSmith;
  184. import valiec.lotrfa.entities.LOTREntityFeanoreanBannerBearer;
  185. import valiec.lotrfa.entities.LOTREntityFeanoreanElf;
  186. import valiec.lotrfa.entities.LOTREntityFeanoreanLord;
  187. import valiec.lotrfa.entities.LOTREntityFeanoreanSmith;
  188. import valiec.lotrfa.entities.LOTREntityFeanoreanWarrior;
  189. import valiec.lotrfa.entities.LOTREntityFeanorianCavalryman;
  190. import valiec.lotrfa.entities.LOTREntityFeanorianStablemaster;
  191. import valiec.lotrfa.entities.LOTREntityGondolinBannerBearer;
  192. import valiec.lotrfa.entities.LOTREntityGondolinElf;
  193. import valiec.lotrfa.entities.LOTREntityGondolinFlorist;
  194. import valiec.lotrfa.entities.LOTREntityGondolinLord;
  195. import valiec.lotrfa.entities.LOTREntityGondolinSmith;
  196. import valiec.lotrfa.entities.LOTREntityGondolinStonemason;
  197. import valiec.lotrfa.entities.LOTREntityGondolinWarrior;
  198. import valiec.lotrfa.entities.LOTREntityGuldarLumberman;
  199. import valiec.lotrfa.entities.LOTREntityHithlumFlorist;
  200. import valiec.lotrfa.entities.LOTREntityHithlumGreengrocer;
  201. import valiec.lotrfa.entities.LOTREntityHithlumVinehand;
  202. import valiec.lotrfa.entities.LOTREntityHithlumVinekeeper;
  203. import valiec.lotrfa.entities.LOTREntityHithlumVintnerElf;
  204. import valiec.lotrfa.entities.LOTREntityHithlumVintnerGuard;
  205. import valiec.lotrfa.entities.LOTREntityIceSpider;
  206. import valiec.lotrfa.entities.LOTREntityIceWarg;
  207. import valiec.lotrfa.entities.LOTREntityLadrosBrewer;
  208. import valiec.lotrfa.entities.LOTREntityLadrosFarmer;
  209. import valiec.lotrfa.entities.LOTREntityLadrosGuard;
  210. import valiec.lotrfa.entities.LOTREntityLadrosSmith;
  211. import valiec.lotrfa.entities.LOTREntityLadrosVinehand;
  212. import valiec.lotrfa.entities.LOTREntityLadrosVinekeeper;
  213. import valiec.lotrfa.entities.LOTREntityLaiquendinFlorist;
  214. import valiec.lotrfa.entities.LOTREntityLaiquendinHuntsman;
  215. import valiec.lotrfa.entities.LOTREntityLaiquendinLumberman;
  216. import valiec.lotrfa.entities.LOTREntityMelkor;
  217. import valiec.lotrfa.entities.LOTREntityNanDungorthebSpider;
  218. import valiec.lotrfa.entities.LOTREntityNargothrondBannerBearer;
  219. import valiec.lotrfa.entities.LOTREntityNargothrondElf;
  220. import valiec.lotrfa.entities.LOTREntityNargothrondGoldsmith;
  221. import valiec.lotrfa.entities.LOTREntityNargothrondLord;
  222. import valiec.lotrfa.entities.LOTREntityNargothrondRanger;
  223. import valiec.lotrfa.entities.LOTREntityNargothrondSmith;
  224. import valiec.lotrfa.entities.LOTREntityNargothrondStonemason;
  225. import valiec.lotrfa.entities.LOTREntityNargothrondTrader;
  226. import valiec.lotrfa.entities.LOTREntityNargothrondWarrior;
  227. import valiec.lotrfa.entities.LOTREntityNogrodStonemason;
  228. import valiec.lotrfa.entities.LOTREntityRedDwarf;
  229. import valiec.lotrfa.entities.LOTREntityRedDwarfAxeThrower;
  230. import valiec.lotrfa.entities.LOTREntityRedDwarfBannerBearer;
  231. import valiec.lotrfa.entities.LOTREntityRedDwarfCommander;
  232. import valiec.lotrfa.entities.LOTREntityRedDwarfSmith;
  233. import valiec.lotrfa.entities.LOTREntityRedDwarfWarrior;
  234. import valiec.lotrfa.entities.LOTREntitySnowTroll;
  235. import valiec.lotrfa.entities.LOTREntityTormentedElfFarmer;
  236. import valiec.lotrfa.entities.LOTREntityTormentedElfSmith;
  237. import valiec.lotrfa.entities.LOTREntityTormentedElfStonemason;
  238. import valiec.lotrfa.entities.LOTREntityURBerserker;
  239. import valiec.lotrfa.entities.LOTREntityUlfangArcher;
  240. import valiec.lotrfa.entities.LOTREntityUlfangAxeThrower;
  241. import valiec.lotrfa.entities.LOTREntityUlfangBannerBearer;
  242. import valiec.lotrfa.entities.LOTREntityUlfangBartender;
  243. import valiec.lotrfa.entities.LOTREntityUlfangBerserker;
  244. import valiec.lotrfa.entities.LOTREntityUlfangButcher;
  245. import valiec.lotrfa.entities.LOTREntityUlfangFarmer;
  246. import valiec.lotrfa.entities.LOTREntityUlfangHillman;
  247. import valiec.lotrfa.entities.LOTREntityUlfangHillmanAxeThrower;
  248. import valiec.lotrfa.entities.LOTREntityUlfangHillmanBannerBearer;
  249. import valiec.lotrfa.entities.LOTREntityUlfangHillmanChieftain;
  250. import valiec.lotrfa.entities.LOTREntityUlfangHillmanWarrior;
  251. import valiec.lotrfa.entities.LOTREntityUlfangHuntsman;
  252. import valiec.lotrfa.entities.LOTREntityUlfangLumberman;
  253. import valiec.lotrfa.entities.LOTREntityUlfangMan;
  254. import valiec.lotrfa.entities.LOTREntityUlfangSmith;
  255. import valiec.lotrfa.entities.LOTREntityUlfangWargRider;
  256. import valiec.lotrfa.entities.LOTREntityUlfangWarlord;
  257. import valiec.lotrfa.entities.LOTREntityUlfangWarrior;
  258. import valiec.lotrfa.entities.LOTRFATrades;
  259.  
  260. @Mod(modid="lotrfa", version="8.0")
  261. public class LOTRFA
  262. {
  263. @SidedProxy(clientSide="valiec.lotrfa.client.ClientProxy", serverSide="valiec.lotrfa.CommonProxy")
  264. public static CommonProxy proxy;
  265. public static final String MODID = "lotrfa";
  266. public static final String VERSION = "8.0";
  267. public static Item silmaril1;
  268. public static Item silmaril2;
  269. public static Item silmaril3;
  270. public static Item redDwarfSteel;
  271. public static Block reddwarf_f;
  272. public static Block reddwarfct;
  273. public static Block valinorct;
  274. public static Block feanoreanct;
  275. public static Block nargothrondct;
  276. public static Block falasct;
  277. public static Block valinor_f;
  278. public static LOTRFABiomes biomes;
  279. public static LOTRFARoads roads;
  280. public static LOTRFAHills hills;
  281. public static LOTRFAWaypoints waypoints;
  282. public static LOTRFAFactions factions;
  283. public static final int NUMBANNERS = 7;
  284. public static Item redDwarfSword;
  285. public static Item redDwarfAxe;
  286. public static Item redDwarfBattleaxe;
  287. public static Item redDwarfPike;
  288. public static Item redDwarfSpear;
  289. public static Item redDwarfDagger;
  290. public static Item redDwarfDaggerPoisoned;
  291. public static Item redDwarfWarhammer;
  292. public static Item redDwarfThrowingAxe;
  293. public static Item redDwarfShovel;
  294. public static Item redDwarfHoe;
  295. public static Item redDwarfPickaxe;
  296. public static Item redDwarfMattock;
  297. public static Item redDwarfHelmet;
  298. public static Item redDwarfChestplate;
  299. public static Item redDwarfLeggings;
  300. public static Item redDwarfBoots;
  301. public static Item redDwarfBoarArmor;
  302. public static Item feanoreanSword;
  303. public static Item feanoreanAxe;
  304. public static Item feanoreanBattlestaff;
  305. public static Item feanoreanSpear;
  306. public static Item feanoreanDagger;
  307. public static Item feanoreanDaggerPoisoned;
  308. public static Item feanoreanBow;
  309. public static Item feanoreanLongspear;
  310. public static Item feanoreanShovel;
  311. public static Item feanoreanHoe;
  312. public static Item feanoreanPickaxe;
  313. public static Item feanoreanHorseArmor;
  314. public static Item valinorSword;
  315. public static Item gondolinAxe;
  316. public static Item valinorBattlestaff;
  317. public static Item valinorSpear;
  318. public static Item valinorDagger;
  319. public static Item valinorDaggerPoisoned;
  320. public static Item valinorBow;
  321. public static Item valinorLongspear;
  322. public static Item gondolinShovel;
  323. public static Item gondolinHoe;
  324. public static Item gondolinPickaxe;
  325. public static Item gondolinHorseArmor;
  326. public static Item ladrosSword;
  327. public static Item ladrosBattleaxe;
  328. public static Item ladrosBattlestaff;
  329. public static Item ladrosSpear;
  330. public static Item ladrosDagger;
  331. public static Item ladrosDaggerPoisoned;
  332. public static Item ladrosBow;
  333. public static Item ladrosPike;
  334. public static Item dorLominSword;
  335. public static Item dorLominBattleaxe;
  336. public static Item dorLominBattlestaff;
  337. public static Item dorLominSpear;
  338. public static Item dorLominDagger;
  339. public static Item dorLominDaggerPoisoned;
  340. public static Item dorLominBow;
  341. public static Item dorLominPike;
  342. public static Item brethilSword;
  343. public static Item brethilBattleaxe;
  344. public static Item brethilBattlestaff;
  345. public static Item brethilSpear;
  346. public static Item brethilDagger;
  347. public static Item brethilDaggerPoisoned;
  348. public static Item brethilBow;
  349. public static Item brethilPike;
  350. public static LOTRAchievement useRedDwarvenTable;
  351. public static LOTRAchievement alignmentGood10_RDWARF;
  352. public static LOTRAchievement alignmentGood100_RDWARF;
  353. public static LOTRAchievement alignmentGood1000_RDWARF;
  354. public static LOTRAchievement enterArdGalen;
  355. public static LOTRAchievement enterBelegostMtns;
  356. public static LOTRAchievement enterFeanorLands;
  357. public static LOTRAchievement enterOssiriand;
  358. public static LOTRAchievement enterTalathDirnen;
  359. public static Item nauglamir;
  360. public static Item spearGondolin;
  361. public static Item gondolinBow;
  362. public static Item longspearGondolin;
  363. public static Item glaiveGondolin;
  364. public static Item swordValinor;
  365. public static Item daggerGondolin;
  366. public static Item daggerGondolinPoisoned;
  367. public static Item glamdring;
  368. public static Item ulfangBattleaxe;
  369. public static Item ulfangPike;
  370. public static Item ulfangThrowingAxe;
  371. public static Item ulfangBow;
  372. public static Item ulfangHillmanHelmet;
  373. public static Item ulfangHillmanChestplate;
  374. public static Item ulfangHillmanLeggings;
  375. public static Item ulfangHillmanBoots;
  376. public static Item ulfangHillmanSpear;
  377. public static Block faSmoothGond;
  378. public static Block faWallGond;
  379. public static Block faWall;
  380. public static Block stairsSarnlumBrick;
  381. public static Block pettyDwarfBrickCarved;
  382. public static Block gondolinBrickCarved;
  383. public static Block faRock;
  384. public static Block faPillar;
  385. public static Block faRock_gond;
  386. public static Block faPillar_gond;
  387. public static Block slabSingle;
  388. public static Block slabDouble;
  389. public static Block gondSlabSingle;
  390. public static Block gondSlabDouble;
  391. public static Block stairsPettyDwarf;
  392. public static Block stairsPettyDwarfCracked;
  393. public static Block stairsSarnlum;
  394. public static Block gondolinRock;
  395. public static Item ulfangPoleaxe;
  396. public static Item feanoreanLance;
  397. public static Item hithlumLance;
  398. public static Item falathrimLance;
  399. public static Item doriathBattleaxe;
  400. public static Item ddBow;
  401. public static Item nargoRangerHelmet;
  402. public static Item nargoRangerChestplate;
  403. public static Item nargoRangerLeggings;
  404. public static Item nargoRangerBoots;
  405. public static Item borThrowingKnife;
  406. public static Item borGreatsword;
  407. public static Block stairsBorCracked;
  408. public static Block aeglos;
  409. public static Block seregon;
  410. public static Item urCleaver;
  411. public static Block brethilct;
  412. public static Block dorlominct;
  413. public static Block ladrosct;
  414. public static Item falathrimSword;
  415. public static Item falathrimDagger;
  416. public static Item falathrimDaggerPoisoned;
  417. public static Item falathrimAxe;
  418. public static Item falathrimPickaxe;
  419. public static Item falathrimShovel;
  420. public static Item falathrimHoe;
  421. public static Item falathrimLongspear;
  422. public static Item falathrimBattlestaff;
  423. public static Item falathrimBow;
  424. public static Item falathrimSpear;
  425. public static LOTRAchievement enterEredLomin;
  426. public static LOTRAchievement enterNanElmoth;
  427. public static LOTRAchievement enterTaurImDuinath;
  428. public static LOTRAchievement enterNevrastMtns;
  429. public static LOTRAchievement enterAndram;
  430. public static LOTRFA inst;
  431. Method craftmat;
  432. Method uses;
  433. Method speed;
  434. Method damage;
  435. Method prot;
  436. Method ench;
  437. Method harvest;
  438. Method undamageable;
  439. private LOTRMaterial nargo_ranger;
  440.  
  441. public void setupBlocksItems()
  442. throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException, NoSuchMethodException, InstantiationException, InvocationTargetException
  443. {
  444. ((LOTRItemSword)LOTRMod.swordUtumno).addWeaponDamage(1.5F);
  445.  
  446. ((LOTRItemDagger)LOTRMod.daggerUtumno).addWeaponDamage(1.5F);
  447.  
  448. ((LOTRItemDagger)LOTRMod.daggerUtumnoPoisoned).addWeaponDamage(1.5F);
  449.  
  450. ((LOTRItemSpear)LOTRMod.spearUtumno).addWeaponDamage(1.5F);
  451.  
  452. ((LOTRItemBattleaxe)LOTRMod.battleaxeUtumno).addWeaponDamage(1.5F);
  453.  
  454. ((LOTRItemHammer)LOTRMod.hammerUtumno).addWeaponDamage(1.5F);
  455.  
  456. CreativeTabs[] tabs = LOTRCreativeTabs.field_78032_a;
  457.  
  458. LOTRCreativeTabs combat = (LOTRCreativeTabs)tabs[19];
  459.  
  460. LOTRCreativeTabs tools = (LOTRCreativeTabs)tabs[18];
  461.  
  462. LOTRCreativeTabs materials = (LOTRCreativeTabs)tabs[16];
  463.  
  464. LOTRCreativeTabs blocks = (LOTRCreativeTabs)tabs[12];
  465.  
  466. Class material = LOTRMaterial.class;
  467.  
  468. Class[] arr = { String.class };
  469.  
  470. Constructor m = LOTRMaterial.class.getDeclaredConstructor(arr);
  471. m.setAccessible(true);
  472.  
  473. LOTRMaterial petty_dwarven = (LOTRMaterial)m.newInstance(new Object[] { "PETTY_DWARVEN" });
  474.  
  475. LOTRMaterial nauglamir = (LOTRMaterial)m.newInstance(new Object[] { "NAUGLAMIR" });
  476.  
  477. LOTRMaterial valinor = (LOTRMaterial)m.newInstance(new Object[] { "VALINOR" });
  478.  
  479. LOTRMaterial gondolin = (LOTRMaterial)m.newInstance(new Object[] { "GONDOLIN_FA" });
  480.  
  481. LOTRMaterial feanorean = (LOTRMaterial)m.newInstance(new Object[] { "FEANOREAN" });
  482.  
  483. LOTRMaterial ulfang = (LOTRMaterial)m.newInstance(new Object[] { "ULFANG" });
  484.  
  485. LOTRMaterial ulfang_hillman = (LOTRMaterial)m.newInstance(new Object[] { "ULFANG_HILLMAN" });
  486.  
  487. this.nargo_ranger = ((LOTRMaterial)m.newInstance(new Object[] { "NARGOTHROND_RANGER" }));
  488.  
  489. redDwarfSteel = new ItemIngot().func_77637_a(materials).func_111206_d("lotrfa:redDwarfSteel").func_77655_b("red_dwarf_steel");
  490. GameRegistry.registerItem(redDwarfSteel, "red_dwarf_steel");
  491.  
  492. this.undamageable.invoke(nauglamir, new Object[0]);
  493. this.damage.invoke(nauglamir, new Object[] { Float.valueOf(0.0F) });
  494. this.prot.invoke(nauglamir, new Object[] { Float.valueOf(0.0F) });
  495. this.ench.invoke(nauglamir, new Object[] { Integer.valueOf(0) });
  496.  
  497. this.ench.invoke(petty_dwarven, new Object[] { Integer.valueOf(10) });
  498. this.harvest.invoke(petty_dwarven, new Object[] { Integer.valueOf(3) });
  499. this.prot.invoke(petty_dwarven, new Object[] { Float.valueOf(0.7F) });
  500. this.damage.invoke(petty_dwarven, new Object[] { Float.valueOf(3.0F) });
  501. this.uses.invoke(petty_dwarven, new Object[] { Integer.valueOf(700) });
  502. this.speed.invoke(petty_dwarven, new Object[] { Float.valueOf(7.0F) });
  503. this.craftmat.invoke(petty_dwarven, new Object[] { redDwarfSteel, redDwarfSteel });
  504.  
  505. this.uses.invoke(valinor, new Object[] { Integer.valueOf(1500) });
  506. this.damage.invoke(valinor, new Object[] { Float.valueOf(5.0F) });
  507. this.prot.invoke(valinor, new Object[] { Float.valueOf(0.7F) });
  508. this.ench.invoke(valinor, new Object[] { Integer.valueOf(15) });
  509. this.harvest.invoke(valinor, new Object[] { Integer.valueOf(2) });
  510. this.craftmat.invoke(valinor, new Object[] { LOTRMod.elfSteel, LOTRMod.elfSteel });
  511.  
  512. this.ench.invoke(gondolin, new Object[] { Integer.valueOf(15) });
  513. this.harvest.invoke(gondolin, new Object[] { Integer.valueOf(4) });
  514. this.prot.invoke(gondolin, new Object[] { Float.valueOf(0.6F) });
  515. this.damage.invoke(gondolin, new Object[] { Float.valueOf(3.0F) });
  516. this.uses.invoke(gondolin, new Object[] { Integer.valueOf(700) });
  517. this.speed.invoke(gondolin, new Object[] { Float.valueOf(8.0F) });
  518. this.craftmat.invoke(gondolin, new Object[] { LOTRMod.elfSteel, LOTRMod.elfSteel });
  519.  
  520. this.ench.invoke(feanorean, new Object[] { Integer.valueOf(15) });
  521. this.harvest.invoke(feanorean, new Object[] { Integer.valueOf(2) });
  522. this.prot.invoke(feanorean, new Object[] { Float.valueOf(0.6F) });
  523. this.damage.invoke(feanorean, new Object[] { Float.valueOf(3.0F) });
  524. this.uses.invoke(feanorean, new Object[] { Integer.valueOf(700) });
  525. this.speed.invoke(feanorean, new Object[] { Float.valueOf(8.0F) });
  526. this.craftmat.invoke(feanorean, new Object[] { LOTRMod.elfSteel, LOTRMod.elfSteel });
  527.  
  528. this.ench.invoke(ulfang, new Object[] { Integer.valueOf(8) });
  529. this.harvest.invoke(ulfang, new Object[] { Integer.valueOf(2) });
  530. this.prot.invoke(ulfang, new Object[] { Float.valueOf(0.5F) });
  531. this.damage.invoke(ulfang, new Object[] { Float.valueOf(2.0F) });
  532. this.uses.invoke(ulfang, new Object[] { Integer.valueOf(250) });
  533. this.speed.invoke(ulfang, new Object[] { Float.valueOf(6.0F) });
  534. this.craftmat.invoke(ulfang, new Object[] { Items.field_151042_j, Items.field_151042_j });
  535.  
  536. this.ench.invoke(ulfang_hillman, new Object[] { Integer.valueOf(8) });
  537. this.harvest.invoke(ulfang_hillman, new Object[] { Integer.valueOf(2) });
  538. this.prot.invoke(ulfang_hillman, new Object[] { Float.valueOf(0.5F) });
  539. this.damage.invoke(ulfang_hillman, new Object[] { Float.valueOf(2.0F) });
  540. this.uses.invoke(ulfang_hillman, new Object[] { Integer.valueOf(250) });
  541. this.speed.invoke(ulfang_hillman, new Object[] { Float.valueOf(6.0F) });
  542. this.craftmat.invoke(ulfang_hillman, new Object[] { Items.field_151042_j, Items.field_151042_j });
  543.  
  544. this.ench.invoke(this.nargo_ranger, new Object[] { Integer.valueOf(15) });
  545. this.harvest.invoke(this.nargo_ranger, new Object[] { Integer.valueOf(0) });
  546. this.prot.invoke(this.nargo_ranger, new Object[] { Float.valueOf(0.4F) });
  547. this.damage.invoke(this.nargo_ranger, new Object[] { Float.valueOf(0.0F) });
  548. this.uses.invoke(this.nargo_ranger, new Object[] { Integer.valueOf(300) });
  549. this.speed.invoke(this.nargo_ranger, new Object[] { Float.valueOf(0.0F) });
  550. this.craftmat.invoke(this.nargo_ranger, new Object[] { LOTRMod.elfSteel, Items.field_151116_aA });
  551.  
  552. nauglamir = new LOTRItemArmor(nauglamir, 1).func_111206_d("lotrfa:nauglamir").func_77655_b("nauglamir").func_77637_a(LOTRCreativeTabs.tabStory);
  553. GameRegistry.registerItem(nauglamir, "nauglamir");
  554.  
  555. silmaril1 = new ItemSilmaril().func_111206_d("lotrfa:silmarilFire").func_77655_b("silmarilFire").func_77637_a(LOTRCreativeTabs.tabStory);
  556. GameRegistry.registerItem(silmaril1, "silmaril_fire");
  557.  
  558. silmaril2 = new ItemSilmaril().func_111206_d("lotrfa:silmarilWater").func_77655_b("silmarilWater").func_77637_a(LOTRCreativeTabs.tabStory);
  559. GameRegistry.registerItem(silmaril2, "silmaril_water");
  560.  
  561. silmaril3 = new ItemSilmaril().func_111206_d("lotrfa:silmarilSky").func_77655_b("silmarilSky").func_77637_a(LOTRCreativeTabs.tabStory);
  562. GameRegistry.registerItem(silmaril3, "silmaril_sky");
  563.  
  564. reddwarfct = new LOTRBlockRedDwarvenTable().func_149663_c("rdwarf").func_149658_d("lotrfa:red_dwarf_ct");
  565. GameRegistry.registerBlock(reddwarfct, "red_dwarf_ct");
  566.  
  567. brethilct = new LOTRBlockBrethilTable().func_149663_c("brethil").func_149658_d("lotrfa:brethil_ct");
  568. GameRegistry.registerBlock(brethilct, "brethil_ct");
  569.  
  570. valinorct = new LOTRBlockValinorTable().func_149663_c("valinor").func_149658_d("lotrfa:valinor_ct");
  571. GameRegistry.registerBlock(valinorct, "valinor_ct");
  572.  
  573. gondolinRock = new LOTRFABlock(Material.field_151576_e).func_149663_c("gondolinRock").func_149658_d("lotrfa:gondolin_rock").func_149711_c(50.0F).func_149752_b(2000.0F).func_149647_a(blocks);
  574. GameRegistry.registerBlock(gondolinRock, "gondolin_rock");
  575. gondolinRock.setHarvestLevel("pickaxe", 4);
  576.  
  577. pettyDwarfBrickCarved = new LOTRFABlock(Material.field_151576_e).func_149663_c("pettyDwarfBrickCarved").func_149658_d("lotrfa:petty_dwarf_brick_carved").func_149711_c(1.5F).func_149752_b(10.0F).func_149647_a(blocks);
  578. GameRegistry.registerBlock(pettyDwarfBrickCarved, "petty_dwarf_brick_carved");
  579. pettyDwarfBrickCarved.setHarvestLevel("pickaxe", 0);
  580.  
  581. gondolinBrickCarved = new LOTRFABlock(Material.field_151576_e).func_149663_c("gondolinBrickCarved").func_149658_d("lotrfa:gondolin_brick_carved").func_149711_c(20.0F).func_149752_b(2000.0F).func_149647_a(blocks);
  582. GameRegistry.registerBlock(gondolinBrickCarved, "gondolin_brick_carved");
  583. gondolinBrickCarved.setHarvestLevel("pickaxe", 4);
  584.  
  585. faRock = new LOTRFABrick(Material.field_151576_e).func_149663_c("faBrick").func_149658_d("lotrfa:fa_brick").func_149711_c(1.5F).func_149752_b(10.0F).func_149647_a(blocks);
  586. GameRegistry.registerBlock(faRock, LOTRItemBlockMetadata.class, "fa_brick");
  587.  
  588. faPillar = new LOTRFABlockPillar().func_149663_c("faPillar").func_149658_d("lotrfa:fa_pillar").func_149711_c(1.5F).func_149752_b(10.0F).func_149647_a(blocks);
  589. GameRegistry.registerBlock(faPillar, LOTRItemBlockMetadata.class, "fa_pillar");
  590.  
  591. faRock_gond = new LOTRFABrickGond(Material.field_151576_e).func_149663_c("faBrickGond").func_149658_d("lotrfa:fa_brick_gond").func_149711_c(50.0F).func_149752_b(2000.0F).func_149647_a(blocks);
  592. GameRegistry.registerBlock(faRock_gond, LOTRItemBlockMetadata.class, "fa_brick_gondolin");
  593. faRock_gond.setHarvestLevel("pickaxe", 4);
  594.  
  595. faPillar_gond = new LOTRFABlockPillarGond().func_149663_c("faPillarGond").func_149658_d("lotrfa:fa_pillar_gond").func_149711_c(50.0F).func_149752_b(2000.0F).func_149647_a(blocks);
  596. GameRegistry.registerBlock(faPillar_gond, LOTRItemBlockMetadata.class, "fa_pillar_gondolin");
  597. faPillar_gond.setHarvestLevel("pickaxe", 4);
  598.  
  599. slabSingle = new LOTRFABlockSlab(false).func_149711_c(2.0F).func_149752_b(10.0F).func_149672_a(Block.field_149769_e).func_149663_c("slabSingle");
  600.  
  601. slabDouble = new LOTRFABlockSlab(true).func_149711_c(2.0F).func_149752_b(10.0F).func_149672_a(Block.field_149769_e).func_149663_c("slabDouble");
  602.  
  603. gondSlabSingle = new LOTRFABlockGondSlab(false).func_149711_c(50.0F).func_149752_b(2000.0F).func_149672_a(Block.field_149769_e).func_149663_c("gondSlabSingle");
  604.  
  605. gondSlabDouble = new LOTRFABlockGondSlab(true).func_149711_c(50.0F).func_149752_b(2000.0F).func_149672_a(Block.field_149769_e).func_149663_c("gondSlabDouble");
  606.  
  607. LOTRBlockSlabBase.registerSlabs(slabSingle, slabDouble);
  608.  
  609. LOTRBlockSlabBase.registerSlabs(gondSlabSingle, gondSlabDouble);
  610.  
  611. GameRegistry.registerBlock(slabSingle, LOTRFABlockSlab.SlabSingle.class, "fa_slab_single");
  612. GameRegistry.registerBlock(slabDouble, LOTRFABlockSlab.SlabDouble.class, "fa_slab_double");
  613.  
  614. GameRegistry.registerBlock(gondSlabSingle, LOTRFABlockGondSlab.GondSlabSingle.class, "fa_gondolin_slab_single");
  615. GameRegistry.registerBlock(gondSlabDouble, LOTRFABlockGondSlab.GondSlabDouble.class, "fa_gondolin_slab_double");
  616. gondSlabSingle.setHarvestLevel("pickaxe", 4);
  617. gondSlabDouble.setHarvestLevel("pickaxe", 4);
  618.  
  619. faWall = new LOTRBlockFAWall(faRock).func_149663_c("faWall");
  620. GameRegistry.registerBlock(faWall, LOTRItemBlockMetadata.class, "fa_wall");
  621.  
  622. faWallGond = new LOTRBlockFAWallGond(faRock_gond).func_149663_c("faWallGond");
  623. GameRegistry.registerBlock(faWallGond, LOTRItemBlockMetadata.class, "fa_wall_gondolin");
  624. faWallGond.setHarvestLevel("pickaxe", 4);
  625.  
  626. stairsPettyDwarf = new LOTRBlockStairs(faRock, 0).func_149663_c("lotr:stairsPettyDwarfBrick");
  627. GameRegistry.registerBlock(stairsPettyDwarf, "stairs_petty_dwarf");
  628.  
  629. stairsPettyDwarfCracked = new LOTRBlockStairs(faRock, 1).func_149663_c("lotr:stairsPettyDwarfBrickCracked");
  630. GameRegistry.registerBlock(stairsPettyDwarfCracked, "stairs_petty_dwarf_cracked");
  631.  
  632. stairsSarnlumBrick = new LOTRBlockStairs(faRock_gond, 1).func_149663_c("lotr:stairsSarnlumBrick").func_149711_c(50.0F).func_149752_b(2000.0F);
  633. GameRegistry.registerBlock(stairsSarnlumBrick, "stairs_sarnlum_brick");
  634. stairsSarnlumBrick.setHarvestLevel("pickaxe", 4);
  635.  
  636. stairsSarnlum = new LOTRBlockStairs(gondolinRock, 0).func_149663_c("lotr:stairsSarnlum").func_149711_c(50.0F).func_149752_b(2000.0F);
  637. GameRegistry.registerBlock(stairsSarnlum, "stairs_sarnlum");
  638. stairsSarnlum.setHarvestLevel("pickaxe", 4);
  639.  
  640. faSmoothGond = new LOTRFABlockSmoothStoneGond().func_149663_c("faSmoothGond").func_149658_d("lotrfa:fa_smooth_gondolin").func_149711_c(50.0F).func_149752_b(2000.0F).func_149647_a(blocks);
  641. GameRegistry.registerBlock(faSmoothGond, LOTRItemBlockMetadata.class, "fa_smooth_gondolin");
  642. faSmoothGond.setHarvestLevel("pickaxe", 4);
  643.  
  644. feanoreanct = new LOTRBlockFeanoreanTable().func_149663_c("feanorean").func_149658_d("lotrfa:feanorean_ct");
  645. GameRegistry.registerBlock(feanoreanct, "feanorian_ct");
  646.  
  647. nargothrondct = new LOTRBlockNargothrondTable().func_149663_c("nargothrond").func_149658_d("lotrfa:nargothrond_ct");
  648. GameRegistry.registerBlock(nargothrondct, "nargothrond_ct");
  649.  
  650. falasct = new LOTRBlockFalasTable().func_149663_c("falas").func_149658_d("lotrfa:falas_ct");
  651. GameRegistry.registerBlock(falasct, "falas_ct");
  652.  
  653. dorlominct = new LOTRBlockDorLominTable().func_149663_c("dorlomin").func_149658_d("lotrfa:dor_lomin_ct");
  654. GameRegistry.registerBlock(dorlominct, "dor_lomin_ct");
  655.  
  656. ladrosct = new LOTRBlockLadrosTable().func_149663_c("ladros").func_149658_d("lotrfa:ladros_ct");
  657. GameRegistry.registerBlock(ladrosct, "ladros_ct");
  658.  
  659. reddwarf_f = new LOTRBlockRedDwarvenForge().func_149663_c("rdwarff").func_149658_d("lotrfa:red_dwarf_forge");
  660. GameRegistry.registerBlock(reddwarf_f, "red_dwarf_forge");
  661.  
  662. redDwarfSword = new LOTRItemSword(petty_dwarven).func_111206_d("lotrfa:rdwarf_sword").func_77655_b("redDwarfSword").func_77637_a(combat);
  663. GameRegistry.registerItem(redDwarfSword, "red_dwarf_sword");
  664. redDwarfBattleaxe = new LOTRItemBattleaxe(petty_dwarven).func_111206_d("lotrfa:rdwarf_battleaxe").func_77655_b("redDwarfBattleaxe").func_77637_a(combat);
  665. GameRegistry.registerItem(redDwarfBattleaxe, "red_dwarf_battleaxe");
  666. redDwarfPike = new LOTRItemPike(petty_dwarven).func_111206_d("lotrfa:rdwarf_pike").func_77655_b("lotr:pikeRedDwarven").func_77637_a(combat);
  667. GameRegistry.registerItem(redDwarfPike, "red_dwarf_pike");
  668. redDwarfSpear = new LOTRItemSpear(petty_dwarven).func_111206_d("lotrfa:rdwarf_spear").func_77655_b("lotr:spearRedDwarven").func_77637_a(combat);
  669. GameRegistry.registerItem(redDwarfSpear, "red_dwarf_spear");
  670. redDwarfDagger = new LOTRItemDagger(petty_dwarven).func_111206_d("lotrfa:rdwarf_dagger").func_77655_b("redDwarfDagger").func_77637_a(combat);
  671. GameRegistry.registerItem(redDwarfDagger, "red_dwarf_dagger");
  672. redDwarfDaggerPoisoned = new LOTRItemDagger(petty_dwarven, LOTRItemDagger.DaggerEffect.POISON).func_111206_d("lotrfa:rdwarf_dagger_poisoned").func_77655_b("redDwarfDaggerPoisoned").func_77637_a(combat);
  673. GameRegistry.registerItem(redDwarfDaggerPoisoned, "red_dwarf_dagger_poisoned");
  674. redDwarfWarhammer = new LOTRItemHammer(petty_dwarven).func_111206_d("lotrfa:rdwarf_warhammer").func_77655_b("redDwarfWarhammer").func_77637_a(combat);
  675. GameRegistry.registerItem(redDwarfWarhammer, "red_dwarf_warhammer");
  676. redDwarfThrowingAxe = new LOTRItemThrowingAxe(petty_dwarven).func_111206_d("lotrfa:rdwarf_throwing_axe").func_77655_b("redDwarfThrowingAxe").func_77637_a(combat);
  677. GameRegistry.registerItem(redDwarfThrowingAxe, "red_dwarf_throwing_axe");
  678.  
  679. redDwarfAxe = new LOTRItemAxe(petty_dwarven).func_111206_d("lotrfa:rdwarf_axe").func_77655_b("redDwarfAxe").func_77637_a(tools);
  680. GameRegistry.registerItem(redDwarfAxe, "red_dwarf_axe");
  681. redDwarfShovel = new LOTRItemShovel(petty_dwarven).func_111206_d("lotrfa:rdwarf_shovel").func_77655_b("redDwarfShovel").func_77637_a(tools);
  682. GameRegistry.registerItem(redDwarfShovel, "red_dwarf_shovel");
  683. redDwarfHoe = new LOTRItemHoe(petty_dwarven).func_111206_d("lotrfa:rdwarf_hoe").func_77655_b("redDwarfHoe").func_77637_a(tools);
  684. GameRegistry.registerItem(redDwarfHoe, "red_dwarf_hoe");
  685. redDwarfPickaxe = new LOTRItemPickaxe(petty_dwarven).func_111206_d("lotrfa:rdwarf_pickaxe").func_77655_b("redDwarfPickaxe").func_77637_a(tools);
  686. GameRegistry.registerItem(redDwarfPickaxe, "red_dwarf_pickaxe");
  687. redDwarfMattock = new LOTRItemMattock(petty_dwarven).func_111206_d("lotrfa:rdwarf_mattock").func_77655_b("redDwarfMattock").func_77637_a(tools);
  688. GameRegistry.registerItem(redDwarfMattock, "red_dwarf_mattock");
  689.  
  690. redDwarfHelmet = new LOTRItemArmor(petty_dwarven, 0).func_111206_d("lotrfa:rdwarf_helmet").func_77655_b("redDwarfHelmet").func_77637_a(combat);
  691. GameRegistry.registerItem(redDwarfHelmet, "red_dwarf_helmet");
  692. redDwarfChestplate = new LOTRItemArmor(petty_dwarven, 1).func_111206_d("lotrfa:rdwarf_chestplate").func_77655_b("redDwarfChestplate").func_77637_a(combat);
  693. GameRegistry.registerItem(redDwarfChestplate, "red_dwarf_chestplate");
  694. redDwarfLeggings = new LOTRItemArmor(petty_dwarven, 2).func_111206_d("lotrfa:rdwarf_leggings").func_77655_b("redDwarfLeggings").func_77637_a(combat);
  695. GameRegistry.registerItem(redDwarfLeggings, "red_dwarf_leggings");
  696. redDwarfBoots = new LOTRItemArmor(petty_dwarven, 3).func_111206_d("lotrfa:rdwarf_boots").func_77655_b("redDwarfBoots").func_77637_a(combat);
  697. GameRegistry.registerItem(redDwarfBoots, "red_dwarf_boots");
  698.  
  699. redDwarfBoarArmor = new LOTRItemMountArmor(petty_dwarven, LOTRItemMountArmor.Mount.BOAR).func_77655_b("boarArmorRedDwarven").func_111206_d("lotrfa:boarArmorRedDwarven");
  700. GameRegistry.registerItem(redDwarfBoarArmor, "red_dwarf_boar_armor");
  701.  
  702. longspearGondolin = new LOTRItemPolearmLong(gondolin).func_77655_b("lotr:longspearValinor").func_111206_d("lotrfa:longspearValinor");
  703. GameRegistry.registerItem(longspearGondolin, "valinorean_longspear");
  704.  
  705. gondolinBow = new LOTRItemBow(gondolin, 0.5D, 0.5F).setDrawTime(16).func_77655_b("lotr:valinorBow").func_111206_d("lotrfa:valinorBow");
  706. GameRegistry.registerItem(gondolinBow, "valinorean_bow");
  707.  
  708. ddBow = new LOTRItemBow(LOTRMaterial.ANGMAR, 0.25D, 0.0F).setDrawTime(17).func_77655_b("lotr:ddBow").func_111206_d("lotrfa:ddBow");
  709. GameRegistry.registerItem(ddBow, "dd_bow");
  710.  
  711. spearGondolin = new LOTRItemSpear(gondolin).func_77655_b("lotr:spearValinor").func_111206_d("lotrfa:spearValinor");
  712. GameRegistry.registerItem(spearGondolin, "valinorean_spear");
  713.  
  714. glaiveGondolin = new LOTRItemPolearm(gondolin).func_77655_b("lotr:polearmValinor").func_111206_d("lotrfa:polearmValinor");
  715. GameRegistry.registerItem(glaiveGondolin, "valinorean_glaive");
  716.  
  717. swordValinor = new LOTRItemSword(gondolin).func_77655_b("lotr:swordValinor").func_111206_d("lotrfa:swordValinor");
  718. Field elven = swordValinor.getClass().getDeclaredField("isElvenBlade");
  719.  
  720. elven.setAccessible(true);
  721. elven.set(swordValinor, Boolean.valueOf(true));
  722. GameRegistry.registerItem(swordValinor, "valinorean_sword");
  723.  
  724. daggerGondolin = new LOTRItemDagger(gondolin).setIsElvenBlade().func_77655_b("lotr:daggerValinor").func_111206_d("lotrfa:daggerValinor");
  725. GameRegistry.registerItem(daggerGondolin, "valinorean_dagger");
  726.  
  727. daggerGondolinPoisoned = new LOTRItemDagger(gondolin, LOTRItemDagger.DaggerEffect.POISON).setIsElvenBlade().func_77655_b("lotr:daggerValinorPoisoned").func_111206_d("lotrfa:daggerValinorPoisoned");
  728. GameRegistry.registerItem(daggerGondolinPoisoned, "valinorean_dagger_poisoned");
  729.  
  730. glamdring = new LOTRItemGlamdring().setIsElvenBlade().func_77655_b("lotr:glamdring").func_111206_d("lotrfa:glamdring").func_77637_a(LOTRCreativeTabs.tabStory);
  731. GameRegistry.registerItem(glamdring, "glamdring");
  732.  
  733. feanoreanSword = new LOTRItemSword(feanorean).setIsElvenBlade().func_77655_b("lotr:swordFeanorean").func_111206_d("lotrfa:swordFeanorean").func_77637_a(combat);
  734. GameRegistry.registerItem(feanoreanSword, "feanorian_sword");
  735. feanoreanDagger = new LOTRItemDagger(feanorean).setIsElvenBlade().func_77655_b("lotr:daggerFeanorean").func_111206_d("lotrfa:daggerFeanorean").func_77637_a(combat);
  736. GameRegistry.registerItem(feanoreanDagger, "feanorian_dagger");
  737. feanoreanDaggerPoisoned = new LOTRItemDagger(feanorean, LOTRItemDagger.DaggerEffect.POISON).setIsElvenBlade().func_77655_b("lotr:daggerFeanoreanPoisoned").func_111206_d("lotrfa:daggerFeanoreanPoisoned").func_77637_a(combat);
  738. GameRegistry.registerItem(feanoreanDaggerPoisoned, "feanorian_dagger_poisoned");
  739. feanoreanSpear = new LOTRItemSpear(feanorean).func_77655_b("lotr:spearFeanorean").func_111206_d("lotrfa:spearFeanorean").func_77637_a(combat);
  740. GameRegistry.registerItem(feanoreanSpear, "feanorian_spear");
  741.  
  742. feanoreanShovel = new LOTRItemShovel(feanorean).func_77655_b("lotr:shovelFeanorean").func_111206_d("lotrfa:shovelFeanorean").func_77637_a(tools);
  743. GameRegistry.registerItem(feanoreanShovel, "feanorian_shovel");
  744. feanoreanPickaxe = new LOTRItemPickaxe(feanorean).func_77655_b("lotr:pickaxeFeanorean").func_111206_d("lotrfa:pickaxeFeanorean").func_77637_a(tools);
  745. GameRegistry.registerItem(feanoreanPickaxe, "feanorian_pickaxe");
  746. feanoreanAxe = new LOTRItemAxe(feanorean).func_77655_b("lotr:axeFeanorean").func_111206_d("lotrfa:axeFeanorean").func_77637_a(tools);
  747. GameRegistry.registerItem(feanoreanAxe, "feanorian_axe");
  748. feanoreanHoe = new LOTRItemHoe(feanorean).func_77655_b("lotr:hoeFeanorean").func_111206_d("lotrfa:hoeFeanorean").func_77637_a(tools);
  749. GameRegistry.registerItem(feanoreanHoe, "feanorian_hoe");
  750. feanoreanHorseArmor = new LOTRItemMountArmor(feanorean, LOTRItemMountArmor.Mount.HORSE).func_77655_b("lotr:horseArmorFeanorean").func_111206_d("lotrfa:horseArmorFeanorean");
  751. GameRegistry.registerItem(feanoreanHorseArmor, "feanorian_horse_armor");
  752. feanoreanBattlestaff = new LOTRItemPolearm(feanorean).func_77655_b("lotr:polearmFeanorean").func_111206_d("lotrfa:polearmFeanorean").func_77637_a(combat);
  753. GameRegistry.registerItem(feanoreanBattlestaff, "feanorian_battlestaff");
  754. feanoreanLongspear = new LOTRItemPolearmLong(feanorean).func_77655_b("lotr:longspearFeanorean").func_111206_d("lotrfa:longspearFeanorean").func_77637_a(combat);
  755. GameRegistry.registerItem(feanoreanLongspear, "feanorian_longspear");
  756. feanoreanLance = new LOTRItemLance(feanorean).func_77655_b("lotr:lanceFeanorian").func_111206_d("lotrfa:lanceFeanorian").func_77637_a(combat);
  757. GameRegistry.registerItem(feanoreanLance, "feanorian_lance");
  758. feanoreanBow = new LOTRItemBow(feanorean, 0.5D, 0.5F).setDrawTime(16).func_77655_b("lotr:feanoreanBow").func_111206_d("lotrfa:feanoreanBow");
  759. GameRegistry.registerItem(feanoreanBow, "feanorian_bow");
  760.  
  761. valinorSword = new LOTRItemSword(valinor).setIsElvenBlade().func_77655_b("lotr:swordGondolin_FA").func_111206_d("lotrfa:swordGondolin_FA").func_77637_a(combat);
  762. GameRegistry.registerItem(valinorSword, "gondolin_sword");
  763. valinorDagger = new LOTRItemDagger(valinor).setIsElvenBlade().func_77655_b("lotr:daggerGondolin_FA").func_111206_d("lotrfa:daggerGondolin_FA").func_77637_a(combat);
  764. GameRegistry.registerItem(valinorDagger, "gondolin_dagger");
  765. valinorDaggerPoisoned = new LOTRItemDagger(valinor, LOTRItemDagger.DaggerEffect.POISON).setIsElvenBlade().func_77655_b("lotr:daggerGondolin_FAPoisoned").func_111206_d("lotrfa:daggerGondolin_FAPoisoned").func_77637_a(combat);
  766. GameRegistry.registerItem(valinorDaggerPoisoned, "gondolin_dagger_poisoned");
  767. valinorSpear = new LOTRItemSpear(valinor).func_77655_b("lotr:spearGondolin_FA").func_111206_d("lotrfa:spearGondolin_FA").func_77637_a(combat);
  768. GameRegistry.registerItem(valinorSpear, "gondolin_spear");
  769. gondolinShovel = new LOTRItemShovel(gondolin).func_77655_b("lotr:shovelGondolin_FA").func_111206_d("lotrfa:shovelGondolin_FA").func_77637_a(tools);
  770. GameRegistry.registerItem(gondolinShovel, "gondolin_shovel");
  771. gondolinPickaxe = new LOTRItemPickaxe(gondolin).func_77655_b("lotr:pickaxeGondolin_FA").func_111206_d("lotrfa:pickaxeGondolin_FA").func_77637_a(tools);
  772. GameRegistry.registerItem(gondolinPickaxe, "gondolin_pickaxe");
  773. gondolinAxe = new LOTRItemAxe(gondolin).func_77655_b("lotr:axeGondolin_FA").func_111206_d("lotrfa:axeGondolin_FA").func_77637_a(tools);
  774. GameRegistry.registerItem(gondolinAxe, "gondolin_axe");
  775. gondolinHoe = new LOTRItemHoe(gondolin).func_77655_b("lotr:hoeGondolin_FA").func_111206_d("lotrfa:hoeGondolin_FA").func_77637_a(tools);
  776. GameRegistry.registerItem(gondolinHoe, "gondolin_hoe");
  777. gondolinHorseArmor = new LOTRItemMountArmor(gondolin, LOTRItemMountArmor.Mount.HORSE).func_77655_b("lotr:horseArmorGondolin_FA").func_111206_d("lotrfa:horseArmorGondolin_FA");
  778. GameRegistry.registerItem(gondolinHorseArmor, "gondolin_horse_armor");
  779. valinorBattlestaff = new LOTRItemPolearm(valinor).func_77655_b("lotr:polearmGondolin_FA").func_111206_d("lotrfa:polearmGondolin_FA").func_77637_a(combat);
  780. GameRegistry.registerItem(valinorBattlestaff, "gondolin_battlestaff");
  781. valinorLongspear = new LOTRItemPolearmLong(valinor).func_77655_b("lotr:longspearGondolin_FA").func_111206_d("lotrfa:longspearGondolin_FA").func_77637_a(combat);
  782. GameRegistry.registerItem(valinorLongspear, "gondolin_longspear");
  783. valinorBow = new LOTRItemBow(valinor, 0.5D, 0.5F).setDrawTime(16).func_77655_b("lotr:gondolin_FABow").func_111206_d("lotrfa:gondolin_FABow");
  784. GameRegistry.registerItem(valinorBow, "gondolin_bow");
  785.  
  786. ladrosSword = new LOTRItemSword(LOTRMaterial.GONDOR).func_77655_b("lotr:swordLadros").func_111206_d("lotrfa:swordLadros").func_77637_a(combat);
  787. GameRegistry.registerItem(ladrosSword, "ladros_sword");
  788. ladrosDagger = new LOTRItemDagger(LOTRMaterial.GONDOR).func_77655_b("lotr:daggerLadros").func_111206_d("lotrfa:daggerLadros").func_77637_a(combat);
  789. GameRegistry.registerItem(ladrosDagger, "ladros_dagger");
  790. ladrosDaggerPoisoned = new LOTRItemDagger(LOTRMaterial.GONDOR, LOTRItemDagger.DaggerEffect.POISON).func_77655_b("lotr:daggerLadrosPoisoned").func_111206_d("lotrfa:daggerLadrosPoisoned").func_77637_a(combat);
  791. GameRegistry.registerItem(ladrosDaggerPoisoned, "ladros_dagger_poisoned");
  792. ladrosSpear = new LOTRItemSpear(LOTRMaterial.GONDOR).func_77655_b("lotr:spearLadros").func_111206_d("lotrfa:spearLadros").func_77637_a(combat);
  793. GameRegistry.registerItem(ladrosSpear, "ladros_spear");
  794. ladrosBattleaxe = new LOTRItemBattleaxe(LOTRMaterial.GONDOR).func_77655_b("lotr:battleaxeLadros").func_111206_d("lotrfa:battleaxeLadros").func_77637_a(tools);
  795. GameRegistry.registerItem(ladrosBattleaxe, "ladros_battleaxe");
  796. ladrosPike = new LOTRItemPike(LOTRMaterial.GONDOR).func_77655_b("lotr:pikeLadros").func_111206_d("lotrfa:pikeLadros").func_77637_a(combat);
  797. GameRegistry.registerItem(ladrosPike, "ladros_pike");
  798. ladrosBow = new LOTRItemBow(LOTRMaterial.GONDOR, 0.5D, 0.5F).setDrawTime(16).func_77655_b("lotr:ladrosBow").func_111206_d("lotrfa:ladrosBow");
  799. GameRegistry.registerItem(ladrosBow, "ladros_bow");
  800.  
  801. dorLominSword = new LOTRItemSword(LOTRMaterial.GONDOR).func_77655_b("lotr:swordDorLomin").func_111206_d("lotrfa:swordDorLomin").func_77637_a(combat);
  802. GameRegistry.registerItem(dorLominSword, "dor_lomin_sword");
  803. dorLominDagger = new LOTRItemDagger(LOTRMaterial.GONDOR).func_77655_b("lotr:daggerDorLomin").func_111206_d("lotrfa:daggerDorLomin").func_77637_a(combat);
  804. GameRegistry.registerItem(dorLominDagger, "dor_lomin_dagger");
  805. dorLominDaggerPoisoned = new LOTRItemDagger(LOTRMaterial.GONDOR, LOTRItemDagger.DaggerEffect.POISON).func_77655_b("lotr:daggerDorLominPoisoned").func_111206_d("lotrfa:daggerDorLominPoisoned").func_77637_a(combat);
  806. GameRegistry.registerItem(dorLominDaggerPoisoned, "dor_lomin_dagger_poisoned");
  807. dorLominSpear = new LOTRItemSpear(LOTRMaterial.GONDOR).func_77655_b("lotr:spearDorLomin").func_111206_d("lotrfa:spearDorLomin").func_77637_a(combat);
  808. GameRegistry.registerItem(dorLominSpear, "dor_lomin_spear");
  809. dorLominBattleaxe = new LOTRItemHammer(LOTRMaterial.GONDOR).func_77655_b("lotr:hammerDorLomin").func_111206_d("lotrfa:hammerDorLomin").func_77637_a(tools);
  810. GameRegistry.registerItem(dorLominBattleaxe, "dor_lomin_warhammer");
  811. dorLominPike = new LOTRItemPike(LOTRMaterial.GONDOR).func_77655_b("lotr:pikeDorLomin").func_111206_d("lotrfa:pikeDorLomin").func_77637_a(combat);
  812. GameRegistry.registerItem(dorLominPike, "dor_lomin_pike");
  813. dorLominBow = new LOTRItemBow(LOTRMaterial.GONDOR, 0.5D, 0.5F).setDrawTime(16).func_77655_b("lotr:dorLominBow").func_111206_d("lotrfa:dorLominBow");
  814. GameRegistry.registerItem(dorLominBow, "dor_lomin_bow");
  815.  
  816. brethilSword = new LOTRItemSword(LOTRMaterial.GONDOR).func_77655_b("lotr:swordBrethil").func_111206_d("lotrfa:swordBrethil").func_77637_a(combat);
  817. GameRegistry.registerItem(brethilSword, "brethil_sword");
  818. brethilDagger = new LOTRItemDagger(LOTRMaterial.GONDOR).func_77655_b("lotr:daggerBrethil").func_111206_d("lotrfa:daggerBrethil").func_77637_a(combat);
  819. GameRegistry.registerItem(brethilDagger, "brethil_dagger");
  820. brethilDaggerPoisoned = new LOTRItemDagger(LOTRMaterial.GONDOR, LOTRItemDagger.DaggerEffect.POISON).func_77655_b("lotr:daggerBrethilPoisoned").func_111206_d("lotrfa:daggerBrethilPoisoned").func_77637_a(combat);
  821. GameRegistry.registerItem(brethilDaggerPoisoned, "brethil_dagger_poisoned");
  822. brethilSpear = new LOTRItemSpear(LOTRMaterial.GONDOR).func_77655_b("lotr:spearBrethil").func_111206_d("lotrfa:spearBrethil").func_77637_a(combat);
  823. GameRegistry.registerItem(brethilSpear, "brethil_spear");
  824. brethilBattleaxe = new LOTRItemBattleaxe(LOTRMaterial.GONDOR).func_77655_b("lotr:battleaxeBrethil").func_111206_d("lotrfa:battleaxeBrethil").func_77637_a(tools);
  825. GameRegistry.registerItem(brethilBattleaxe, "brethil_battleaxe");
  826. brethilPike = new LOTRItemPike(LOTRMaterial.GONDOR).func_77655_b("lotr:pikeBrethil").func_111206_d("lotrfa:pikeBrethil").func_77637_a(combat);
  827. GameRegistry.registerItem(brethilPike, "brethil_pike");
  828.  
  829. ulfangBattleaxe = new LOTRItemBattleaxe(ulfang).func_111206_d("lotrfa:ulfang_battleaxe").func_77655_b("lotr:ulfang_battleaxe").func_77637_a(combat);
  830. GameRegistry.registerItem(ulfangBattleaxe, "ulfang_battleaxe");
  831. ulfangPike = new LOTRItemPolearm(ulfang).func_111206_d("lotrfa:ulfang_pike").func_77655_b("lotr:ulfang_pike").func_77637_a(combat);
  832. GameRegistry.registerItem(ulfangPike, "ulfang_pike");
  833. ulfangPoleaxe = new LOTRItemPike(ulfang).func_111206_d("lotrfa:ulfang_poleaxe").func_77655_b("lotr:ulfang_poleaxe").func_77637_a(combat);
  834. GameRegistry.registerItem(ulfangPoleaxe, "ulfang_poleaxe");
  835.  
  836. ulfangThrowingAxe = new LOTRItemThrowingAxe(ulfang).func_111206_d("lotrfa:ulfang_throwing_axe").func_77655_b("ulfangThrowingAxe").func_77637_a(combat);
  837. GameRegistry.registerItem(ulfangThrowingAxe, "ulfang_throwing_axe");
  838.  
  839. ulfangBow = new LOTRItemBow(ulfang, 0.0D, 0.5F).setDrawTime(14).func_77655_b("lotr:ulfangBow").func_111206_d("lotrfa:ulfangBow");
  840. GameRegistry.registerItem(ulfangBow, "ulfang_bow");
  841.  
  842. ulfangHillmanHelmet = new LOTRItemArmor(ulfang_hillman, 0).func_111206_d("lotrfa:hillman_helmet").func_77655_b("ulfangHillmanHelmet").func_77637_a(combat);
  843. GameRegistry.registerItem(ulfangHillmanHelmet, "ulfang_hillman_helmet");
  844. ulfangHillmanChestplate = new LOTRItemArmor(ulfang_hillman, 1).func_111206_d("lotrfa:hillman_chestplate").func_77655_b("ulfangHillmanChestplate").func_77637_a(combat);
  845. GameRegistry.registerItem(ulfangHillmanChestplate, "ulfang_hillman_chestplate");
  846. ulfangHillmanLeggings = new LOTRItemArmor(ulfang_hillman, 2).func_111206_d("lotrfa:hillman_leggings").func_77655_b("ulfangHillmanLeggings").func_77637_a(combat);
  847. GameRegistry.registerItem(ulfangHillmanLeggings, "ulfang_hillman_leggings");
  848. ulfangHillmanBoots = new LOTRItemArmor(ulfang_hillman, 3).func_111206_d("lotrfa:hillman_boots").func_77655_b("ulfangHillmanBoots").func_77637_a(combat);
  849. GameRegistry.registerItem(ulfangHillmanBoots, "ulfang_hillman_boots");
  850. ulfangHillmanSpear = new LOTRItemSpear(ulfang_hillman).func_111206_d("lotrfa:hillman_spear").func_77655_b("lotr:hillman_spear").func_77637_a(combat);
  851. GameRegistry.registerItem(ulfangHillmanSpear, "ulfang_hillman_spear");
  852.  
  853. hithlumLance = new LOTRItemLance(LOTRMaterial.HIGH_ELVEN).func_77655_b("lotr:lanceHithlum").func_111206_d("lotrfa:lanceHithlum").func_77637_a(combat);
  854. GameRegistry.registerItem(hithlumLance, "hithlum_lance");
  855.  
  856. falathrimSword = new LOTRItemSword(LOTRMaterial.DOL_AMROTH).setIsElvenBlade().func_77655_b("lotr:swordFalathrim").func_111206_d("lotrfa:swordFalathrim");
  857. GameRegistry.registerItem(falathrimSword, "falathrim_sword");
  858. falathrimDagger = new LOTRItemDagger(LOTRMaterial.DOL_AMROTH).setIsElvenBlade().func_77655_b("lotr:daggerFalathrim").func_111206_d("lotrfa:daggerFalathrim").func_77637_a(combat);
  859. GameRegistry.registerItem(falathrimDagger, "falathrim_dagger");
  860. falathrimDaggerPoisoned = new LOTRItemDagger(LOTRMaterial.DOL_AMROTH, LOTRItemDagger.DaggerEffect.POISON).setIsElvenBlade().func_77655_b("lotr:daggerfalathrimPoisoned").func_111206_d("lotrfa:daggerfalathrimPoisoned").func_77637_a(combat);
  861. GameRegistry.registerItem(falathrimDaggerPoisoned, "falathrim_dagger_poisoned");
  862. falathrimSpear = new LOTRItemSpear(LOTRMaterial.DOL_AMROTH).func_77655_b("lotr:spearFalathrim").func_111206_d("lotrfa:spearFalathrim").func_77637_a(combat);
  863. GameRegistry.registerItem(falathrimSpear, "falathrim_spear");
  864. falathrimShovel = new LOTRItemShovel(LOTRMaterial.DOL_AMROTH).func_77655_b("lotr:shovelFalathrim").func_111206_d("lotrfa:shovelFalathrim").func_77637_a(tools);
  865. GameRegistry.registerItem(falathrimShovel, "falathrim_shovel");
  866. falathrimPickaxe = new LOTRItemPickaxe(LOTRMaterial.DOL_AMROTH).func_77655_b("lotr:pickaxeFalathrim").func_111206_d("lotrfa:pickaxeFalathrim").func_77637_a(tools);
  867. GameRegistry.registerItem(falathrimPickaxe, "falathrim_pickaxe");
  868. falathrimAxe = new LOTRItemAxe(LOTRMaterial.DOL_AMROTH).func_77655_b("lotr:axeFalathrim").func_111206_d("lotrfa:axeFalathrim").func_77637_a(tools);
  869. GameRegistry.registerItem(falathrimAxe, "falathrim_axe");
  870. falathrimHoe = new LOTRItemHoe(LOTRMaterial.DOL_AMROTH).func_77655_b("lotr:hoeFalathrim").func_111206_d("lotrfa:hoeFalathrim").func_77637_a(tools);
  871. GameRegistry.registerItem(falathrimHoe, "falathrim_hoe");
  872. falathrimBattlestaff = new LOTRItemPolearm(LOTRMaterial.DOL_AMROTH).func_77655_b("lotr:polearmFalathrim").func_111206_d("lotrfa:polearmFalathrim").func_77637_a(combat);
  873. GameRegistry.registerItem(falathrimBattlestaff, "falathrim_battlestaff");
  874. falathrimLongspear = new LOTRItemPolearmLong(LOTRMaterial.DOL_AMROTH).func_77655_b("lotr:longspearFalathrim").func_111206_d("lotrfa:longspearFalathrim").func_77637_a(combat);
  875. GameRegistry.registerItem(falathrimLongspear, "falathrim_longspear");
  876. falathrimBow = new LOTRItemBow(LOTRMaterial.DOL_AMROTH, 0.5D, 0.5F).setDrawTime(16).func_77655_b("lotr:falathrimBow").func_111206_d("lotrfa:falathrimBow");
  877. GameRegistry.registerItem(falathrimBow, "falathrim_bow");
  878.  
  879. nargoRangerHelmet = new LOTRItemArmor(this.nargo_ranger, 0).func_77655_b("lotr:helmetNargothrondRanger").func_111206_d("lotrfa:helmetNargothrondRanger").func_77637_a(combat);
  880. GameRegistry.registerItem(nargoRangerHelmet, "nargothrond_ranger_helmet");
  881. nargoRangerChestplate = new LOTRItemArmor(this.nargo_ranger, 1).func_77655_b("lotr:bodyNargothrondRanger").func_111206_d("lotrfa:bodyNargothrondRanger").func_77637_a(combat);
  882. GameRegistry.registerItem(nargoRangerChestplate, "nargothrond_ranger_chestplate");
  883. nargoRangerLeggings = new LOTRItemArmor(this.nargo_ranger, 2).func_77655_b("lotr:legsNargothrondRanger").func_111206_d("lotrfa:legsNargothrondRanger").func_77637_a(combat);
  884. GameRegistry.registerItem(nargoRangerLeggings, "nargothrond_ranger_leggings");
  885. nargoRangerBoots = new LOTRItemArmor(this.nargo_ranger, 3).func_77655_b("lotr:bootsNargothrondRanger").func_111206_d("lotrfa:bootsNargothrondRanger").func_77637_a(combat);
  886. GameRegistry.registerItem(nargoRangerBoots, "nargothrond_ranger_boots");
  887.  
  888. borThrowingKnife = new LOTRItemThrowingAxe(LOTRMaterial.DALE).func_111206_d("lotrfa:throwingKnifeBor").func_77655_b("throwingKnifeBor").func_77637_a(combat);
  889. GameRegistry.registerItem(borThrowingKnife, "bor_throwing_knife");
  890.  
  891. LOTRWeaponStats.registerMeleeSpeed(LOTRItemGreatsword.class, 0.9F);
  892. LOTRWeaponStats.registerMeleeReach(LOTRItemGreatsword.class, 1.15F);
  893.  
  894. borGreatsword = new LOTRItemGreatsword(LOTRMaterial.DALE).func_111206_d("lotrfa:greatswordBor").func_77655_b("lotr:greatswordBor").func_77637_a(combat);
  895. GameRegistry.registerItem(borGreatsword, "bor_greatsword");
  896.  
  897. LOTRWeaponStats.registerMeleeSpeed(LOTRItemCleaver.class, 0.88F);
  898. LOTRWeaponStats.registerMeleeReach(LOTRItemCleaver.class, 1.15F);
  899.  
  900. urCleaver = new LOTRItemCleaver(LOTRMaterial.URUK).addWeaponDamage(1.0F).func_111206_d("lotr:scimitarURBerserker").func_77655_b("lotr:scimitarURBerserker").func_77637_a(combat);
  901. GameRegistry.registerItem(urCleaver, "utumno_remnant_berserker_cleaver");
  902.  
  903. ((LOTRItemGreatsword)borGreatsword).addWeaponDamage(0.5F);
  904.  
  905. stairsBorCracked = new LOTRBlockStairs(faRock, 2).func_149663_c("lotr:stairsHouseBorBrickCracked");
  906. GameRegistry.registerBlock(stairsBorCracked, "stairs_house_bor_brick_cracked");
  907.  
  908. aeglos = new LOTRBlockFlower().func_149663_c("aeglos").func_149658_d("lotrfa:aeglos");
  909. GameRegistry.registerBlock(aeglos, "aeglos");
  910.  
  911. seregon = new LOTRBlockFlower().func_149663_c("seregon").func_149658_d("lotrfa:seregon");
  912. GameRegistry.registerBlock(seregon, "seregon");
  913.  
  914. doriathBattleaxe = new LOTRItemBattleaxe(LOTRMaterial.GALADHRIM).func_111206_d("lotrfa:doriathBattleaxe").func_77655_b("lotr:doriathBattleaxe").func_77637_a(combat);
  915. GameRegistry.registerItem(doriathBattleaxe, "doriath_battleaxe");
  916.  
  917. Method mat = LOTRTileEntityUnsmeltery.class.getDeclaredMethod("getEquipmentMaterial", new Class[] { ItemStack.class });
  918. mat.setAccessible(true);
  919. }
  920.  
  921. public LOTRFA()
  922. {
  923. LOTRRoads.allRoads = new ArrayList();
  924. try
  925. {
  926. Class<?> c = Class.forName("lotr.common.world.map.LOTRRoads$RoadPointDatabase");
  927. Constructor c2 = c.getDeclaredConstructor(new Class[0]);
  928. c2.setAccessible(true);
  929. Object obj = c2.newInstance(new Object[0]);
  930.  
  931. Field r = LOTRRoads.class.getDeclaredField("roadPointDatabase");
  932. r.setAccessible(true);
  933. r.set(LOTRRoads.class, obj);
  934. }
  935. catch (NoSuchFieldException e1)
  936. {
  937. e1.printStackTrace();
  938. }
  939. catch (SecurityException e1)
  940. {
  941. e1.printStackTrace();
  942. }
  943. catch (IllegalArgumentException e)
  944. {
  945. e.printStackTrace();
  946. }
  947. catch (IllegalAccessException e)
  948. {
  949. e.printStackTrace();
  950. }
  951. catch (NoSuchMethodException e)
  952. {
  953. e.printStackTrace();
  954. }
  955. catch (ClassNotFoundException e)
  956. {
  957. e.printStackTrace();
  958. }
  959. catch (InstantiationException e)
  960. {
  961. e.printStackTrace();
  962. }
  963. catch (InvocationTargetException e)
  964. {
  965. e.printStackTrace();
  966. }
  967. try
  968. {
  969. Field prot1 = LOTRMaterial.class.getDeclaredField("protection");
  970. prot1.setAccessible(true);
  971. prot1.set(LOTRMaterial.GONDOLIN, new int[] { 2, 6, 5, 2 });
  972. Field prot2 = LOTRMaterial.class.getDeclaredField("protection");
  973. prot2.setAccessible(true);
  974. prot2.set(LOTRMaterial.ARNOR, new int[] { 2, 7, 6, 2 });
  975. }
  976. catch (IllegalAccessException e)
  977. {
  978. e.printStackTrace();
  979. }
  980. catch (IllegalArgumentException e)
  981. {
  982. e.printStackTrace();
  983. }
  984. catch (NoSuchFieldException e)
  985. {
  986. e.printStackTrace();
  987. }
  988. catch (SecurityException e)
  989. {
  990. e.printStackTrace();
  991. }
  992. try
  993. {
  994. this.craftmat = LOTRMaterial.class.getDeclaredMethod("setCraftingItems", new Class[] { Item.class, Item.class });
  995. this.craftmat.setAccessible(true);
  996.  
  997. this.uses = LOTRMaterial.class.getDeclaredMethod("setUses", new Class[] { Integer.TYPE });
  998. this.uses.setAccessible(true);
  999.  
  1000. this.speed = LOTRMaterial.class.getDeclaredMethod("setSpeed", new Class[] { Float.TYPE });
  1001. this.speed.setAccessible(true);
  1002.  
  1003. this.damage = LOTRMaterial.class.getDeclaredMethod("setDamage", new Class[] { Float.TYPE });
  1004. this.damage.setAccessible(true);
  1005.  
  1006. this.prot = LOTRMaterial.class.getDeclaredMethod("setProtection", new Class[] { Float.TYPE });
  1007. this.prot.setAccessible(true);
  1008.  
  1009. this.ench = LOTRMaterial.class.getDeclaredMethod("setEnchantability", new Class[] { Integer.TYPE });
  1010. this.ench.setAccessible(true);
  1011.  
  1012. this.harvest = LOTRMaterial.class.getDeclaredMethod("setHarvestLevel", new Class[] { Integer.TYPE });
  1013. this.harvest.setAccessible(true);
  1014.  
  1015. this.undamageable = LOTRMaterial.class.getDeclaredMethod("setUndamageable", new Class[0]);
  1016. this.undamageable.setAccessible(true);
  1017.  
  1018. this.ench.invoke(LOTRMaterial.GONDOLIN, new Object[] { Integer.valueOf(15) });
  1019. this.harvest.invoke(LOTRMaterial.GONDOLIN, new Object[] { Integer.valueOf(2) });
  1020.  
  1021. this.damage.invoke(LOTRMaterial.GONDOLIN, new Object[] { Float.valueOf(3.0F) });
  1022. this.uses.invoke(LOTRMaterial.GONDOLIN, new Object[] { Integer.valueOf(700) });
  1023. this.speed.invoke(LOTRMaterial.GONDOLIN, new Object[] { Float.valueOf(8.0F) });
  1024.  
  1025. this.uses.invoke(LOTRMaterial.ARNOR, new Object[] { Integer.valueOf(1500) });
  1026. this.damage.invoke(LOTRMaterial.ARNOR, new Object[] { Float.valueOf(5.0F) });
  1027.  
  1028. this.ench.invoke(LOTRMaterial.ARNOR, new Object[] { Integer.valueOf(15) });
  1029. this.harvest.invoke(LOTRMaterial.ARNOR, new Object[] { Integer.valueOf(2) });
  1030. }
  1031. catch (IllegalAccessException e)
  1032. {
  1033. e.printStackTrace();
  1034. }
  1035. catch (IllegalArgumentException e)
  1036. {
  1037. e.printStackTrace();
  1038. }
  1039. catch (SecurityException e)
  1040. {
  1041. e.printStackTrace();
  1042. }
  1043. catch (NoSuchMethodException e)
  1044. {
  1045. e.printStackTrace();
  1046. }
  1047. catch (InvocationTargetException e)
  1048. {
  1049. e.printStackTrace();
  1050. }
  1051. }
  1052.  
  1053. @Mod.EventHandler
  1054. public void preInit(FMLPreInitializationEvent event)
  1055. {
  1056. inst = this;
  1057.  
  1058. LOTRRoads.allRoads = new ArrayList();
  1059.  
  1060. Class[] arr_q = { String.class };
  1061.  
  1062. Object[] vals_q = { "nargo_ranger" };
  1063. EnumHelper.addEnum(LOTRMiniQuestFactory.class, "NARGO_RANGER", arr_q, vals_q);
  1064.  
  1065. Object[] vals_q2 = { "balrog" };
  1066. EnumHelper.addEnum(LOTRMiniQuestFactory.class, "BALROG", arr_q, vals_q2);
  1067.  
  1068. FMLCommonHandler.instance().bus().register(this);
  1069. MinecraftForge.EVENT_BUS.register(this);
  1070. LOTRCreativeTabs materials = (LOTRCreativeTabs)LOTRCreativeTabs.field_78032_a[16];
  1071. inst = this;
  1072. NetworkRegistry.INSTANCE.registerGuiHandler(this, proxy);
  1073. }
  1074.  
  1075. @SubscribeEvent
  1076. public void onBlockInteract(PlayerInteractEvent event)
  1077. {
  1078. EntityPlayer entityplayer = event.entityPlayer;
  1079. World world = entityplayer.field_70170_p;
  1080. ItemStack itemstack = entityplayer.field_71071_by.func_70448_g();
  1081. int i = event.x;
  1082. int j = event.y;
  1083. int k = event.z;
  1084. int side = event.face;
  1085. if (!world.func_72962_a(entityplayer, i, j, k)) {
  1086. return;
  1087. }
  1088. if (!entityplayer.func_82247_a(i, j, k, side, itemstack)) {
  1089. return;
  1090. }
  1091. if (event.action == PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK)
  1092. {
  1093. Block block = world.func_147439_a(i, j, k);
  1094. int meta = world.func_72805_g(i, j, k);
  1095. if ((!world.field_72995_K) && ((block instanceof LOTRBlockGrapevine)) && (((LOTRBlockGrapevine)block).hasGrapes))
  1096. {
  1097. LOTREntityHithlumVintnerGuard.defendGrapevines(world, i, j, k, entityplayer);
  1098. LOTREntityLadrosGuard.defendGrapevines(world, i, j, k, entityplayer);
  1099. LOTREntityDorLominGuard.defendGrapevines(world, i, j, k, entityplayer);
  1100. }
  1101. }
  1102. }
  1103.  
  1104. @SubscribeEvent
  1105. public void onCrafting(PlayerEvent.ItemCraftedEvent event)
  1106. {
  1107. EntityPlayer entityplayer = event.player;
  1108. ItemStack itemstack = event.crafting;
  1109. IInventory craftingInventory = event.craftMatrix;
  1110. if ((!entityplayer.field_70170_p.field_72995_K) &&
  1111. ((entityplayer.field_71070_bA instanceof FARecipes.RedDwarven))) {
  1112. LOTRLevelData.getData(entityplayer).addAchievement(useRedDwarvenTable);
  1113. }
  1114. }
  1115.  
  1116. @SubscribeEvent
  1117. public void onLivingUpdate(LivingEvent.LivingUpdateEvent event)
  1118. {
  1119. EntityLivingBase entity = event.entityLiving;
  1120. World world = entity.field_70170_p;
  1121. if ((!world.field_72995_K) && (entity.func_70089_S()) && (entity.field_70173_aa % 10 == 0))
  1122. {
  1123. boolean wearingAllWoodElvenScout = true;
  1124. for (int i = 0; i < 4; i++)
  1125. {
  1126. ItemStack armour = entity.func_71124_b(i + 1);
  1127. if ((armour == null) || (!(armour.func_77973_b() instanceof ItemArmor)) || (((ItemArmor)armour.func_77973_b()).func_82812_d() != this.nargo_ranger.toArmorMaterial()))
  1128. {
  1129. wearingAllWoodElvenScout = false;
  1130. break;
  1131. }
  1132. }
  1133. if (!wearingAllWoodElvenScout)
  1134. {
  1135. wearingAllWoodElvenScout = true;
  1136. for (i = 0; i < 4; i++)
  1137. {
  1138. ItemStack armour = entity.func_71124_b(i + 1);
  1139. if ((armour == null) || (!(armour.func_77973_b() instanceof ItemArmor)) || (((ItemArmor)armour.func_77973_b()).func_82812_d() != LOTRMaterial.WOOD_ELVEN_SCOUT.toArmorMaterial()))
  1140. {
  1141. wearingAllWoodElvenScout = false;
  1142. break;
  1143. }
  1144. }
  1145. }
  1146. IAttributeInstance speedAttribute;
  1147. if ((speedAttribute = entity.func_110148_a(SharedMonsterAttributes.field_111263_d)).func_111127_a(LOTREntityWoodElfScout.scoutArmorSpeedBoost.func_111167_a()) != null) {
  1148. speedAttribute.func_111124_b(LOTREntityWoodElfScout.scoutArmorSpeedBoost);
  1149. }
  1150. if (wearingAllWoodElvenScout) {
  1151. speedAttribute.func_111121_a(LOTREntityWoodElfScout.scoutArmorSpeedBoost);
  1152. }
  1153. }
  1154. }
  1155.  
  1156. @Mod.EventHandler
  1157. public void init(FMLInitializationEvent event)
  1158. throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchFieldException, InstantiationException
  1159. {
  1160. biomes = new LOTRFABiomes();
  1161. roads = new LOTRFARoads();
  1162. LOTRRoads.allRoads = new ArrayList();
  1163. hills = new LOTRFAHills();
  1164. waypoints = new LOTRFAWaypoints();
  1165. factions = new LOTRFAFactions();
  1166.  
  1167. LOTRBiome.nanCurunir.invasionSpawns.clearInvasions();
  1168. LOTRBiome.rohanUrukHighlands.invasionSpawns.clearInvasions();
  1169.  
  1170. LOTRBiome.rohan.invasionSpawns.clearInvasions();
  1171. LOTRBiome.rohanWoodlands.invasionSpawns.clearInvasions();
  1172. LOTRBiome.wold.invasionSpawns.clearInvasions();
  1173.  
  1174. LOTRBiome.rohan.invasionSpawns.addInvasion(LOTRInvasions.DUNLAND, LOTREventSpawner.EventChance.UNCOMMON);
  1175. LOTRBiome.rohanWoodlands.invasionSpawns.addInvasion(LOTRInvasions.DUNLAND, LOTREventSpawner.EventChance.UNCOMMON);
  1176. LOTRBiome.wold.invasionSpawns.addInvasion(LOTRInvasions.DUNLAND, LOTREventSpawner.EventChance.UNCOMMON);
  1177.  
  1178. LOTRBiome.rohan.invasionSpawns.addInvasion(LOTRInvasions.ANGMAR_HILLMEN, LOTREventSpawner.EventChance.RARE);
  1179. LOTRBiome.rohanWoodlands.invasionSpawns.addInvasion(LOTRInvasions.ANGMAR_HILLMEN, LOTREventSpawner.EventChance.RARE);
  1180. LOTRBiome.wold.invasionSpawns.addInvasion(LOTRInvasions.ANGMAR_HILLMEN, LOTREventSpawner.EventChance.RARE);
  1181.  
  1182. LOTRBiome.nanCurunir.invasionSpawns.addInvasion(LOTRInvasions.RANGER_NORTH, LOTREventSpawner.EventChance.RARE);
  1183. LOTRBiome.rohanUrukHighlands.invasionSpawns.addInvasion(LOTRInvasions.RANGER_NORTH, LOTREventSpawner.EventChance.RARE);
  1184.  
  1185. LOTRBiome.lindon.invasionSpawns.addInvasion(LOTRInvasions.MORDOR, LOTREventSpawner.EventChance.RARE);
  1186. LOTRBiome.lindonCoast.invasionSpawns.addInvasion(LOTRInvasions.MORDOR, LOTREventSpawner.EventChance.RARE);
  1187. LOTRBiome.lindonWoodlands.invasionSpawns.addInvasion(LOTRInvasions.MORDOR, LOTREventSpawner.EventChance.RARE);
  1188.  
  1189. LOTRBiome.lindon.invasionSpawns.addInvasion(LOTRInvasions.MORDOR_BLACK_URUK, LOTREventSpawner.EventChance.RARE);
  1190. LOTRBiome.lindonCoast.invasionSpawns.addInvasion(LOTRInvasions.MORDOR_BLACK_URUK, LOTREventSpawner.EventChance.RARE);
  1191. LOTRBiome.lindonWoodlands.invasionSpawns.addInvasion(LOTRInvasions.MORDOR_BLACK_URUK, LOTREventSpawner.EventChance.RARE);
  1192.  
  1193. LOTRBiome.lindon.invasionSpawns.addInvasion(LOTRInvasions.MORDOR_WARG, LOTREventSpawner.EventChance.RARE);
  1194. LOTRBiome.lindonCoast.invasionSpawns.addInvasion(LOTRInvasions.MORDOR_WARG, LOTREventSpawner.EventChance.RARE);
  1195. LOTRBiome.lindonWoodlands.invasionSpawns.addInvasion(LOTRInvasions.MORDOR_WARG, LOTREventSpawner.EventChance.RARE);
  1196.  
  1197. LOTRBiome.dale.invasionSpawns.addInvasion(LOTRInvasions.DUNLAND, LOTREventSpawner.EventChance.RARE);
  1198. LOTRBiome.dunland.invasionSpawns.addInvasion(LOTRInvasions.DALE, LOTREventSpawner.EventChance.RARE);
  1199.  
  1200. LOTRBiome.dale.invasionSpawns.addInvasion(LOTRInvasions.DOL_GULDUR, LOTREventSpawner.EventChance.RARE);
  1201. LOTRBiome.dale.invasionSpawns.addInvasion(LOTRInvasions.MORDOR, LOTREventSpawner.EventChance.RARE);
  1202.  
  1203. LOTRBiome.lamedon.invasionSpawns.addInvasion(LOTRInvasions.DUNLAND, LOTREventSpawner.EventChance.RARE);
  1204. LOTRBiome.lamedon.invasionSpawns.addInvasion(LOTRInvasions.ANGMAR_HILLMEN, LOTREventSpawner.EventChance.RARE);
  1205. LOTRBiome.lamedon.invasionSpawns.addInvasion(LOTRInvasions.ANGMAR, LOTREventSpawner.EventChance.RARE);
  1206. LOTRBiome.lamedon.invasionSpawns.addInvasion(LOTRInvasions.ANGMAR_WARG, LOTREventSpawner.EventChance.RARE);
  1207.  
  1208. LOTRBiome.ettenmoors.invasionSpawns.clearInvasions();
  1209.  
  1210. LOTRInvasions.GUNDABAD.invasionMobs.clear();
  1211.  
  1212. LOTRInvasions.GUNDABAD_WARG.invasionMobs.clear();
  1213.  
  1214. LOTRInvasions.DUNLAND.invasionMobs.clear();
  1215. LOTRInvasions.DUNLAND.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangMan.class, 10));
  1216. LOTRInvasions.DUNLAND.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangWarrior.class, 5));
  1217. LOTRInvasions.DUNLAND.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangArcher.class, 3));
  1218. LOTRInvasions.DUNLAND.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangAxeThrower.class, 3));
  1219. LOTRInvasions.DUNLAND.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangBerserker.class, 2));
  1220. LOTRInvasions.DUNLAND.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangBannerBearer.class, 2));
  1221.  
  1222. LOTRInvasions.ANGMAR.invasionMobs.clear();
  1223. LOTRInvasions.ANGMAR.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityAngmarOrc.class, 10));
  1224. LOTRInvasions.ANGMAR.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityDorDaedelothOrcArcher.class, 5));
  1225. LOTRInvasions.ANGMAR.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityAngmarOrcBombardier.class, 3));
  1226. LOTRInvasions.ANGMAR.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityAngmarBannerBearer.class, 2));
  1227. LOTRInvasions.ANGMAR.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityDorDaedelothWarg.class, 10));
  1228. LOTRInvasions.ANGMAR.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityAngmarWargBombardier.class, 1));
  1229.  
  1230. LOTRInvasions.ANGMAR_WARG.invasionMobs.clear();
  1231. LOTRInvasions.ANGMAR_WARG.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityDorDaedelothWarg.class, 10));
  1232.  
  1233. Field icon = LOTRInvasions.ANGMAR_HILLMEN.getClass().getDeclaredField("invasionIcon");
  1234. icon.setAccessible(true);
  1235. icon.set(LOTRInvasions.ANGMAR_HILLMEN, ulfangHillmanSpear);
  1236.  
  1237. LOTRInvasions.ANGMAR_HILLMEN.invasionMobs.clear();
  1238. LOTRInvasions.ANGMAR_HILLMEN.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityAngmarHillman.class, 10));
  1239. LOTRInvasions.ANGMAR_HILLMEN.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangWargRider.class, 10));
  1240. LOTRInvasions.ANGMAR_HILLMEN.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangHillmanWarrior.class, 5));
  1241. LOTRInvasions.ANGMAR_HILLMEN.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangHillmanAxeThrower.class, 5));
  1242. LOTRInvasions.ANGMAR_HILLMEN.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUlfangHillmanBannerBearer.class, 2));
  1243.  
  1244. LOTRInvasions.DALE.invasionMobs.clear();
  1245. LOTRInvasions.DALE.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityDaleLevyman.class, 5));
  1246. LOTRInvasions.DALE.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityDaleSoldier.class, 10));
  1247. LOTRInvasions.DALE.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityDaleArcher.class, 5));
  1248. LOTRInvasions.DALE.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityDaleBannerBearer.class, 1));
  1249.  
  1250. LOTRInvasions.URUK_HAI.invasionMobs.clear();
  1251. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityIsengardSnaga.class, 5));
  1252. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityIsengardSnagaArcher.class, 5));
  1253. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUrukHai.class, 10));
  1254. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUrukHaiCrossbower.class, 5));
  1255. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityURBerserker.class, 5));
  1256. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUrukHaiSapper.class, 3));
  1257. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUrukHaiBannerBearer.class, 2));
  1258. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUrukWarg.class, 10));
  1259. LOTRInvasions.URUK_HAI.invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityUrukWargBombardier.class, 1));
  1260.  
  1261. LOTRUnitTradeEntries.DALE_CAPTAIN = new LOTRUnitTradeEntries(100, new LOTRUnitTradeEntry[] { new LOTRUnitTradeEntry(LOTREntityDaleLevyman.class, 20, 0), new LOTRUnitTradeEntry(LOTREntityDaleSoldier.class, 30, 50), new LOTRUnitTradeEntry(LOTREntityDaleArcher.class, 50, 100), new LOTRUnitTradeEntry(LOTREntityDaleSoldier.class, LOTREntityHorse.class, "DaleSoldier_Horse", 50, 150).setMountArmor(LOTRMod.horseArmorDale), new LOTRUnitTradeEntry(LOTREntityDaleBannerBearer.class, 50, 200) });
  1262.  
  1263. LOTRUnitTradeEntries.MORDOR_ORC_SLAVER = new LOTRUnitTradeEntries(200, new LOTRUnitTradeEntry[] { new LOTRUnitTradeEntry(LOTREntityNurnSlave.class, 40, 0).setTask(LOTRHiredNPCInfo.Task.FARMER), new LOTRUnitTradeEntry(LOTREntityTormentedElfFarmer.class, 60, 0).setTask(LOTRHiredNPCInfo.Task.FARMER) });
  1264.  
  1265. waypoints.setupWaypoints();
  1266. factions.setupFactions();
  1267.  
  1268. setupBlocksItems();
  1269. biomes.setupBiomes();
  1270.  
  1271. LOTRAchievement.enterRedMountains.icon = new ItemStack(faRock);
  1272.  
  1273. Class[] arrbanner = { Integer.TYPE, String.class, LOTRFaction.class };
  1274. Object[] valsbanner = { Integer.valueOf(38), "pettyDwarves", LOTRFaction.forName("PETTY_DWARF") };
  1275. EnumHelper.addEnum(LOTRItemBanner.BannerType.class, "PETTY_DWARVES", arrbanner, valsbanner);
  1276.  
  1277. Object[] valsbanner1 = { Integer.valueOf(39), "valinor", LOTRFaction.forName("VALINOR") };
  1278. EnumHelper.addEnum(LOTRItemBanner.BannerType.class, "VALINOR", arrbanner, valsbanner1);
  1279.  
  1280. Object[] valsbanner2 = { Integer.valueOf(40), "nargothrond", LOTRFaction.forName("NARGOTHROND") };
  1281. EnumHelper.addEnum(LOTRItemBanner.BannerType.class, "NARGOTHROND", arrbanner, valsbanner2);
  1282.  
  1283. Object[] valsbanner3 = { Integer.valueOf(41), "gondolin", LOTRFaction.forName("GONDOLIN") };
  1284. EnumHelper.addEnum(LOTRItemBanner.BannerType.class, "GONDOLIN", arrbanner, valsbanner3);
  1285.  
  1286. Object[] valsbanner4 = { Integer.valueOf(42), "feanorean", LOTRFaction.forName("FEANOREANS") };
  1287. EnumHelper.addEnum(LOTRItemBanner.BannerType.class, "FEANOREAN", arrbanner, valsbanner4);
  1288.  
  1289. Object[] valsbanner5 = { Integer.valueOf(43), "falas", LOTRFaction.forName("FALAS") };
  1290. EnumHelper.addEnum(LOTRItemBanner.BannerType.class, "FALAS", arrbanner, valsbanner5);
  1291.  
  1292. Object[] valsbanner6 = { Integer.valueOf(44), "tolSirion", LOTRFaction.forName("NARGOTHROND") };
  1293. EnumHelper.addEnum(LOTRItemBanner.BannerType.class, "TOL_SIRION", arrbanner, valsbanner6);
  1294.  
  1295. useRedDwarvenTable = new LOTRAchievement(LOTRAchievement.Category.OROCARNI, 1, reddwarfct, "useRedDwarvenTable").setRequiresAlly(new LOTRFaction[] { LOTRFaction.forName("PETTY_DWARF") });
  1296.  
  1297. alignmentGood10_RDWARF = new LOTRAchievement(LOTRAchievement.Category.OROCARNI, 2, LOTRMod.goldRing, "alignmentGood10_RDWARF").setRequiresAlly(new LOTRFaction[] { LOTRFaction.forName("PETTY_DWARF") }).setSpecial();
  1298. alignmentGood100_RDWARF = new LOTRAchievement(LOTRAchievement.Category.OROCARNI, 3, LOTRMod.goldRing, "alignmentGood100_RDWARF").setRequiresAlly(new LOTRFaction[] { LOTRFaction.forName("PETTY_DWARF") }).setSpecial();
  1299. alignmentGood1000_RDWARF = new LOTRAchievement(LOTRAchievement.Category.OROCARNI, 4, LOTRMod.goldRing, "alignmentGood1000_RDWARF").setRequiresAlly(new LOTRFaction[] { LOTRFaction.forName("PETTY_DWARF") }).setSpecial();
  1300.  
  1301. Method m = LOTRFaction.class.getDeclaredMethod("addAlignmentAchievement", new Class[] { Integer.TYPE, LOTRAchievement.class });
  1302. m.setAccessible(true);
  1303. Object[] vals1 = { Integer.valueOf(10), alignmentGood10_RDWARF };
  1304. Object[] vals2 = { Integer.valueOf(100), alignmentGood100_RDWARF };
  1305. Object[] vals3 = { Integer.valueOf(1000), alignmentGood1000_RDWARF };
  1306. m.invoke(LOTRFaction.forName("PETTY_DWARF"), vals1);
  1307. m.invoke(LOTRFaction.forName("PETTY_DWARF"), vals2);
  1308. m.invoke(LOTRFaction.forName("PETTY_DWARF"), vals3);
  1309.  
  1310. GameRegistry.registerTileEntity(LOTRTileEntityRedDwarvenForge.class, "redDwarvenForge");
  1311.  
  1312. FARecipes.createDwarvenRecipes();
  1313. FARecipes.createValinorRecipes();
  1314. FARecipes.createFeanoreanRecipes();
  1315. FARecipes.createNargothrondRecipes();
  1316. FARecipes.createFalasRecipes();
  1317.  
  1318. LOTRRoads.allRoads = new ArrayList();
  1319. try
  1320. {
  1321. Class<?> c = Class.forName("lotr.common.world.map.LOTRRoads$RoadPointDatabase");
  1322. Constructor c2 = c.getDeclaredConstructor(new Class[0]);
  1323. c2.setAccessible(true);
  1324. Object obj = c2.newInstance(new Object[0]);
  1325.  
  1326. Field r = LOTRRoads.class.getDeclaredField("roadPointDatabase");
  1327. r.setAccessible(true);
  1328. r.set(LOTRRoads.class, obj);
  1329. }
  1330. catch (NoSuchFieldException e1)
  1331. {
  1332. e1.printStackTrace();
  1333. }
  1334. catch (SecurityException e1)
  1335. {
  1336. e1.printStackTrace();
  1337. }
  1338. catch (IllegalArgumentException e)
  1339. {
  1340. e.printStackTrace();
  1341. }
  1342. catch (IllegalAccessException e)
  1343. {
  1344. e.printStackTrace();
  1345. }
  1346. catch (NoSuchMethodException e)
  1347. {
  1348. e.printStackTrace();
  1349. }
  1350. catch (ClassNotFoundException e)
  1351. {
  1352. e.printStackTrace();
  1353. }
  1354. catch (InstantiationException e)
  1355. {
  1356. e.printStackTrace();
  1357. }
  1358. catch (InvocationTargetException e)
  1359. {
  1360. e.printStackTrace();
  1361. }
  1362. roads.setupRoads();
  1363. hills.setupHills();
  1364.  
  1365. Class[] arrcategory = { LOTRBiome.class };
  1366. Object[] valscategory = { LOTRFABiomes.beleriandWest };
  1367.  
  1368. enterNevrastMtns = new LOTRAchievement(LOTRAchievement.Category.ERIADOR, 47, Blocks.field_150348_b, "enterNevrastMtns");
  1369. enterAndram = new LOTRAchievement(LOTRAchievement.Category.ERIADOR, 48, Blocks.field_150348_b, "enterAndram");
  1370. enterNanElmoth = new LOTRAchievement(LOTRAchievement.Category.ERIADOR, 49, new ItemStack(LOTRMod.sapling, 1, 2), "enterNanElmoth");
  1371. enterTaurImDuinath = new LOTRAchievement(LOTRAchievement.Category.ERIADOR, 50, new ItemStack(Blocks.field_150345_g, 1, 0), "enterTaurImDuinath");
  1372. enterFeanorLands = new LOTRAchievement(LOTRAchievement.Category.LINDON, 14, LOTRMod.bodyDorwinionElf, "enterFeanorLands");
  1373. enterOssiriand = new LOTRAchievement(LOTRAchievement.Category.ERIADOR, 51, new ItemStack(LOTRMod.sapling, 1, 3), "enterOssiriand");
  1374. enterTalathDirnen = new LOTRAchievement(LOTRAchievement.Category.ERIADOR, 52, LOTRMod.rivendellBow, "enterTalathDirnen");
  1375. enterEredLomin = new LOTRAchievement(LOTRAchievement.Category.ERIADOR, 53, Blocks.field_150348_b, "enterEredLomin");
  1376.  
  1377. LOTRFATrades.setupTrades();
  1378.  
  1379. Method m_q = LOTRMiniQuestFactory.valueOf("NARGO_RANGER").getClass().getDeclaredMethod("addQuest", new Class[] { LOTRMiniQuest.QuestFactoryBase.class });
  1380. m_q.setAccessible(true);
  1381. m_q.invoke(LOTRMiniQuestFactory.valueOf("NARGO_RANGER"), new Object[] { new LOTRMiniQuestKillFaction.QFKillFaction("killEnemies").setKillFaction(LOTRFaction.MORDOR, 5, 20) });
  1382. Field f_q = LOTRMiniQuestFactory.valueOf("NARGO_RANGER").getClass().getDeclaredField("questFactories");
  1383. f_q.setAccessible(true);
  1384. Map<Class<? extends LOTRMiniQuest>, List<LOTRMiniQuest.QuestFactoryBase>> qfListList = (Map)f_q.get(LOTRMiniQuestFactory.valueOf("NARGO_RANGER"));
  1385. for (List<LOTRMiniQuest.QuestFactoryBase> qfList : qfListList.values())
  1386. {
  1387. for (Iterator localIterator2 = qfList.iterator(); localIterator2.hasNext();)
  1388. {
  1389. qf = (LOTRMiniQuest.QuestFactoryBase)localIterator2.next();
  1390. qf.setRewardFactor(0.0F);
  1391. qf.setHiring(150);
  1392. }
  1393. f_q.set(LOTRMiniQuestFactory.valueOf("NARGO_RANGER"), qfListList);
  1394. }
  1395. Method m_q2 = LOTRMiniQuestFactory.valueOf("BALROG").getClass().getDeclaredMethod("addQuest", new Class[] { LOTRMiniQuest.QuestFactoryBase.class });
  1396. m_q2.setAccessible(true);
  1397. m_q2.invoke(LOTRMiniQuestFactory.valueOf("BALROG"), new Object[] { new LOTRMiniQuestKillFaction.QFKillFaction("killEnemies").setKillFaction(LOTRFaction.HIGH_ELF, 5, 20) });
  1398. Field f_q2 = LOTRMiniQuestFactory.valueOf("BALROG").getClass().getDeclaredField("questFactories");
  1399. f_q2.setAccessible(true);
  1400. Object qfListList2 = (Map)f_q.get(LOTRMiniQuestFactory.valueOf("BALROG"));
  1401. for (LOTRMiniQuest.QuestFactoryBase qf = ((Map)qfListList2).values().iterator(); qf.hasNext();)
  1402. {
  1403. qfList2 = (List)qf.next();
  1404. for (Iterator localIterator3 = qfList2.iterator(); localIterator3.hasNext();)
  1405. {
  1406. qf2 = (LOTRMiniQuest.QuestFactoryBase)localIterator3.next();
  1407. qf2.setRewardFactor(0.0F);
  1408. qf2.setHiring(150);
  1409. }
  1410. f_q2.set(LOTRMiniQuestFactory.valueOf("BALROG"), qfListList2);
  1411. }
  1412. Class[] unused = { LOTREntityDunlending.class, LOTREntityDunlendingArcher.class, LOTREntityDunlendingAxeThrower.class, LOTREntityDunlendingWarlord.class, LOTREntityDunlendingWarrior.class, LOTREntityDunlendingBannerBearer.class, LOTREntityDunlendingBartender.class, LOTREntityDunlendingBerserker.class, LOTREntityAngmarHillman.class, LOTREntityAngmarHillman.class, LOTREntityAngmarHillmanWarrior.class, LOTREntityAngmarHillmanAxeThrower.class, LOTREntityAngmarHillmanBannerBearer.class, LOTREntityAngmarHillmanChieftain.class, LOTREntityDaleCaptain.class };
  1413.  
  1414. List<LOTRMiniQuest.QuestFactoryBase> qfList2 = unused;LOTRMiniQuest.QuestFactoryBase localQuestFactoryBase1 = qfList2.length;
  1415. for (LOTRMiniQuest.QuestFactoryBase qf2 = 0; qf2 < localQuestFactoryBase1; qf2++)
  1416. {
  1417. Class c = qfList2[qf2];
  1418.  
  1419. int id = LOTREntities.getEntityIDFromClass(c);
  1420. LOTREntities.spawnEggs.put(Integer.valueOf(id), new LOTREntities.SpawnEggInfo(id, 0, 0));
  1421. }
  1422. LOTREntities.registerCreature(LOTREntityRedDwarfAxeThrower.class, "red_dwarf_axe_thrower", 1010, 16549741, 15554080);
  1423. LOTREntities.registerCreature(LOTREntityRedDwarfWarrior.class, "red_dwarf_warrior", 1011, 16549741, 15554080);
  1424. LOTREntities.registerCreature(LOTREntityRedDwarfSmith.class, "red_dwarf_smith", 1012, 16549741, 15554080);
  1425. LOTREntities.registerCreature(LOTREntityRedDwarfCommander.class, "red_dwarf_commander", 1013, 16549741, 15554080);
  1426. LOTREntities.registerCreature(LOTREntityRedDwarf.class, "red_dwarf", 1014, 16549741, 15554080);
  1427. LOTREntities.registerCreature(LOTREntityRedDwarfBannerBearer.class, "red_dwarf_banner_bearer", 1015, 16549741, 15554080);
  1428.  
  1429. LOTREntities.registerCreature(LOTREntityUlfangWargRider.class, "ulfang_warg", 1017, 4600617, 2694422);
  1430. LOTREntities.registerCreature(LOTREntityMelkor.class, "melkor", 1018, 988430, 2830632);
  1431.  
  1432. LOTREntities.registerCreature(LOTREntityNargothrondElf.class, "nargothrond_elf", 1019, 14935016, 817933);
  1433. LOTREntities.registerCreature(LOTREntityNargothrondTrader.class, "nargothrond_trader", 1020, 14935016, 817933);
  1434. LOTREntities.registerCreature(LOTREntityNargothrondSmith.class, "nargothrond_smith", 1021, 14935016, 817933);
  1435. LOTREntities.registerCreature(LOTREntityNargothrondWarrior.class, "nargothrond_warrior", 1022, 14935016, 817933);
  1436. LOTREntities.registerCreature(LOTREntityNargothrondLord.class, "nargothrond_lord", 1023, 14935016, 817933);
  1437. LOTREntities.registerCreature(LOTREntityNargothrondBannerBearer.class, "nargothrond_banner_bearer", 1024, 14935016, 817933);
  1438.  
  1439. LOTREntities.registerCreature(LOTREntityGondolinElf.class, "gondolin_elf", 1025, 14935016, 14658592);
  1440. LOTREntities.registerCreature(LOTREntityGondolinSmith.class, "gondolin_smith", 1026, 14935016, 14658592);
  1441. LOTREntities.registerCreature(LOTREntityGondolinWarrior.class, "gondolin_warrior", 1027, 14935016, 14658592);
  1442. LOTREntities.registerCreature(LOTREntityGondolinLord.class, "gondolin_lord", 1028, 14935016, 14658592);
  1443. LOTREntities.registerCreature(LOTREntityGondolinBannerBearer.class, "gondolin_banner_bearer", 1029, 14935016, 14658592);
  1444.  
  1445. LOTREntities.registerCreature(LOTREntityFeanoreanElf.class, "feanorean_elf", 1030, 14935016, 14680064);
  1446. LOTREntities.registerCreature(LOTREntityFeanoreanSmith.class, "feanorean_smith", 1031, 14935016, 14680064);
  1447. LOTREntities.registerCreature(LOTREntityFeanoreanWarrior.class, "feanorean_warrior", 1032, 14935016, 14680064);
  1448. LOTREntities.registerCreature(LOTREntityFeanoreanLord.class, "feanorean_lord", 1033, 14935016, 14680064);
  1449. LOTREntities.registerCreature(LOTREntityFeanoreanBannerBearer.class, "feanorean_banner_bearer", 1034, 14935016, 14680064);
  1450.  
  1451. LOTREntities.registerCreature(LOTREntityHithlumVintnerElf.class, "hithlum_vintner_elf", 1035, 14935016, 7040410);
  1452.  
  1453. LOTREntities.registerCreature(LOTREntityHithlumVintnerGuard.class, "hithlum_vintner_guard", 1036, 14935016, 7040410);
  1454. LOTREntities.registerCreature(LOTREntityLadrosGuard.class, "ladros_vintner_guard", 1037, 16549741, 15554080);
  1455. LOTREntities.registerCreature(LOTREntityDorLominGuard.class, "dor_lomin_vintner_guard", 1038, 16549741, 15554080);
  1456.  
  1457. LOTREntities.registerCreature(LOTREntityFalathrimElf.class, "falathrim_elf", 1041, 14935016, 546414);
  1458. LOTREntities.registerCreature(LOTREntityFalathrimSailor.class, "falathrim_sailor", 1042, 14935016, 546414);
  1459. LOTREntities.registerCreature(LOTREntityFalathrimMariner.class, "falathrim_mariner", 1043, 14935016, 546414);
  1460. LOTREntities.registerCreature(LOTREntityFalathrimMarinerCaptain.class, "falathrim_mariner_captain", 1044, 14935016, 546414);
  1461. LOTREntities.registerCreature(LOTREntityFalathrimArcher.class, "falathrim_archer", 1045, 14935016, 546414);
  1462. LOTREntities.registerCreature(LOTREntityFalathrimFishmonger.class, "falathrim_fishmonger", 1052, 14935016, 546414);
  1463. LOTREntities.registerCreature(LOTREntityFalathrimLumberman.class, "falathrim_lumberman", 1055, 14935016, 546414);
  1464. LOTREntities.registerCreature(LOTREntityFalathrimSmith.class, "falathrim_smith", 1057, 14935016, 546414);
  1465. LOTREntities.registerCreature(LOTREntityFalathrimBannerBearer.class, "falathrim_banner_bearer", 1058, 14935016, 546414);
  1466.  
  1467. LOTREntities.registerCreature(LOTREntityNargothrondRanger.class, "nargothrond_ranger", 1039, 14935016, 817933);
  1468.  
  1469. LOTREntities.registerCreature(LOTREntityAngbandBalrog.class, "angband_balrog", 1040, 1772037, 13009920);
  1470.  
  1471. LOTREntities.registerCreature(LOTREntityUlfangMan.class, "ulfang_man", 1059, 15897714, 3679258);
  1472. LOTREntities.registerCreature(LOTREntityUlfangArcher.class, "ulfang_archer", 1060, 5192753, 9337975);
  1473. LOTREntities.registerCreature(LOTREntityUlfangAxeThrower.class, "ulfang_axe_thrower", 1061, 5192753, 9337975);
  1474. LOTREntities.registerCreature(LOTREntityUlfangBannerBearer.class, "ulfang_banner_bearer", 1062, 5192753, 9337975);
  1475. LOTREntities.registerCreature(LOTREntityUlfangBartender.class, "ulfang_bartender", 1063, 15897714, 3679258);
  1476. LOTREntities.registerCreature(LOTREntityUlfangBerserker.class, "ulfang_berserker", 1064, 5192753, 9337975);
  1477. LOTREntities.registerCreature(LOTREntityUlfangWarlord.class, "ulfang_warlord", 1065, 5192753, 9337975);
  1478. LOTREntities.registerCreature(LOTREntityUlfangWarrior.class, "ulfang_warrior", 1066, 5192753, 9337975);
  1479.  
  1480. LOTREntities.registerCreature(LOTREntityUlfangHillmanBannerBearer.class, "ulfang_hillman_banner_bearer", 1067, 11828586, 2891544);
  1481. LOTREntities.registerCreature(LOTREntityUlfangHillman.class, "ulfang_hillman", 1068, 11828586, 2891544);
  1482. LOTREntities.registerCreature(LOTREntityUlfangHillmanAxeThrower.class, "ulfang_hillman_axe_thrower", 1069, 11828586, 2891544);
  1483. LOTREntities.registerCreature(LOTREntityUlfangHillmanChieftain.class, "ulfang_hillman_chieftain", 1070, 11828586, 2891544);
  1484. LOTREntities.registerCreature(LOTREntityUlfangHillmanWarrior.class, "ulfang_hillman_warrior", 1071, 11828586, 2891544);
  1485.  
  1486. LOTREntities.registerCreature(LOTREntityBlackSwan.class, "black_swan", 1072, 1776411, 16732497);
  1487.  
  1488. LOTREntities.registerCreature(LOTREntityIceSpider.class, "ice_spider", 1073, 15594495, 7697919);
  1489. LOTREntities.registerCreature(LOTREntityIceWarg.class, "ice_warg", 1074, 15066080, 9348269);
  1490. LOTREntities.registerCreature(LOTREntitySnowTroll.class, "snow_troll", 1075, 14606046, 11059905);
  1491.  
  1492. LOTREntities.registerCreature(LOTREntityNanDungorthebSpider.class, "nan_dungortheb_spider", 1076, 2630945, 1315088);
  1493.  
  1494. LOTREntities.registerCreature(LOTREntityLadrosVinekeeper.class, "ladros_vinekeeper", 1077, 13547685, 2108991);
  1495. LOTREntities.registerCreature(LOTREntityHithlumVinekeeper.class, "hithlum_vinekeeper", 1078, 14935016, 7040410);
  1496.  
  1497. LOTREntities.registerCreature(LOTREntityLadrosVinehand.class, "ladros_vinehand", 1079, 13547685, 2108991);
  1498. LOTREntities.registerCreature(LOTREntityHithlumVinehand.class, "hithlum_vinehand", 1080, 14935016, 7040410);
  1499. LOTREntities.registerCreature(LOTREntityDorLominVinehand.class, "dor_lomin_vinehand", 1081, 11183011, 29235);
  1500.  
  1501. LOTREntities.registerCreature(LOTREntityUlfangSmith.class, "ulfang_smith", 1082, 5192753, 9337975);
  1502.  
  1503. LOTREntities.registerCreature(LOTREntityFeanorianCavalryman.class, "feanorian_cavalryman", 1083, 14935016, 14680064);
  1504.  
  1505. LOTREntities.registerCreature(LOTREntityBorCaptain.class, "house_bor_captain", 1084, 11776947, 481419);
  1506.  
  1507. LOTREntities.registerCreature(LOTREntityTormentedElfFarmer.class, "tormented_elf_farmer", 1085, 14079919, 4337710);
  1508. LOTREntities.registerCreature(LOTREntityTormentedElfSmith.class, "tormented_elf_smith", 1086, 14079919, 4337710);
  1509. LOTREntities.registerCreature(LOTREntityAngbandTormentedElf.class, "angband_tormented_elf", 1087, 14079919, 4337710);
  1510.  
  1511. LOTREntities.registerCreature(LOTREntityBelegostGoldsmith.class, "belegost_goldsmith", 1088, 16353133, 15357472);
  1512.  
  1513. LOTREntities.registerCreature(LOTREntityBorBartender.class, "bor_bartender", 1089, 16755851, 5252113);
  1514. LOTREntities.registerCreature(LOTREntityBorFarmer.class, "bor_farmer", 1090, 16755851, 5252113);
  1515. LOTREntities.registerCreature(LOTREntityBorGreengrocer.class, "bor_greengrocer", 1091, 16755851, 5252113);
  1516.  
  1517. LOTREntities.registerCreature(LOTREntityBrethilButcher.class, "brethil_butcher", 1092, 11183011, 3881016);
  1518. LOTREntities.registerCreature(LOTREntityBrethilLumberman.class, "brethil_lumberman", 1093, 11183011, 3881016);
  1519. LOTREntities.registerCreature(LOTREntityBrethilSmith.class, "brethil_smith", 1094, 11183011, 3881016);
  1520.  
  1521. LOTREntities.registerCreature(LOTREntityDorDaedelothHuntsman.class, "dor_daedeloth_huntsman", 1095, 3224873, 5601097);
  1522. LOTREntities.registerCreature(LOTREntityDorDaedelothScavenger.class, "dor_daedeloth_scavenger", 1096, 3224873, 5601097);
  1523.  
  1524. LOTREntities.registerCreature(LOTREntityDoriathBaker.class, "doriath_baker", 1097, 9337185, 15920555);
  1525. LOTREntities.registerCreature(LOTREntityDoriathHuntsman.class, "doriath_huntsman", 1098, 9337185, 15920555);
  1526. LOTREntities.registerCreature(LOTREntityDoriathLumberman.class, "doriath_lumberman", 1099, 9337185, 15920555);
  1527.  
  1528. LOTREntities.registerCreature(LOTREntityDorLominBrewer.class, "dor_lomin_brewer", 1100, 11183011, 29235);
  1529. LOTREntities.registerCreature(LOTREntityDorLominSmith.class, "dor_lomin_smith", 1101, 11183011, 29235);
  1530.  
  1531. LOTREntities.registerCreature(LOTREntityFeanorianStablemaster.class, "feanorian_stablemaster", 1102, 14935016, 14680064);
  1532.  
  1533. LOTREntities.registerCreature(LOTREntityGondolinFlorist.class, "gondolin_florist", 1103, 14935016, 14658592);
  1534. LOTREntities.registerCreature(LOTREntityGondolinStonemason.class, "gondolin_stonemason", 1104, 14935016, 14658592);
  1535.  
  1536. LOTREntities.registerCreature(LOTREntityGuldarLumberman.class, "guldar_lumberman", 1105, 4408654, 2040101);
  1537.  
  1538. LOTREntities.registerCreature(LOTREntityHithlumFlorist.class, "hithlum_florist", 1106, 16761223, 15721387);
  1539. LOTREntities.registerCreature(LOTREntityHithlumGreengrocer.class, "hithlum_greengrocer", 1107, 16761223, 15721387);
  1540.  
  1541. LOTREntities.registerCreature(LOTREntityLadrosBrewer.class, "ladros_brewer", 1108, 13547685, 2108991);
  1542. LOTREntities.registerCreature(LOTREntityLadrosFarmer.class, "ladros_farmer", 1109, 13547685, 2108991);
  1543. LOTREntities.registerCreature(LOTREntityLadrosSmith.class, "ladros_smith", 11010, 13547685, 2108991);
  1544.  
  1545. LOTREntities.registerCreature(LOTREntityLaiquendinFlorist.class, "laiquendin_florist", 1111, 2314529, 16764574);
  1546. LOTREntities.registerCreature(LOTREntityLaiquendinHuntsman.class, "laiquendin_huntsman", 1112, 2314529, 16764574);
  1547. LOTREntities.registerCreature(LOTREntityLaiquendinLumberman.class, "laiquendin_lumberman", 1113, 2314529, 16764574);
  1548.  
  1549. LOTREntities.registerCreature(LOTREntityNargothrondGoldsmith.class, "nargothrond_goldsmith", 1114, 14935016, 817933);
  1550. LOTREntities.registerCreature(LOTREntityNargothrondStonemason.class, "nargothrond_stonemason", 1115, 14935016, 817933);
  1551.  
  1552. LOTREntities.registerCreature(LOTREntityNogrodStonemason.class, "nogrod_stonemason", 1116, 16353133, 15357472);
  1553.  
  1554. LOTREntities.registerCreature(LOTREntityUlfangLumberman.class, "ulfang_lumberman", 1117, 15897714, 3679258);
  1555. LOTREntities.registerCreature(LOTREntityUlfangButcher.class, "ulfang_butcher", 1118, 15897714, 3679258);
  1556. LOTREntities.registerCreature(LOTREntityUlfangFarmer.class, "ulfang_farmer", 1119, 15897714, 3679258);
  1557. LOTREntities.registerCreature(LOTREntityUlfangHuntsman.class, "ulfang_huntsman", 1120, 15897714, 3679258);
  1558.  
  1559. LOTREntities.registerCreature(LOTREntityTormentedElfStonemason.class, "tormented_elf_stonemason", 1121, 14079919, 4337710);
  1560.  
  1561. LOTREntities.registerCreature(LOTREntityDorDaedelothWarg.class, "dor_daedeloth_warg", 1122, 4600617, 2694422);
  1562.  
  1563. Class[] arr_inv = { LOTRFaction.class };
  1564.  
  1565. Object[] inv0 = { LOTRFaction.valueOf("PETTY_DWARF") };
  1566. EnumHelper.addEnum(LOTRInvasions.class, "PETTY_DWARF", arr_inv, inv0);
  1567.  
  1568. Field f_inv = LOTRInvasions.forName("PETTY_DWARF").getClass().getDeclaredField("invasionIcon");
  1569.  
  1570. f_inv.setAccessible(true);
  1571.  
  1572. f_inv.set(LOTRInvasions.forName("PETTY_DWARF"), redDwarfWarhammer);
  1573.  
  1574. LOTRInvasions.forName("PETTY_DWARF").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityRedDwarfWarrior.class, 10));
  1575. LOTRInvasions.forName("PETTY_DWARF").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityRedDwarfAxeThrower.class, 5));
  1576. LOTRInvasions.forName("PETTY_DWARF").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityRedDwarfBannerBearer.class, 2));
  1577.  
  1578. Object[] inv1 = { LOTRFaction.valueOf("NARGOTHROND") };
  1579. EnumHelper.addEnum(LOTRInvasions.class, "NARGOTHROND", arr_inv, inv1);
  1580.  
  1581. f_inv = LOTRInvasions.forName("NARGOTHROND").getClass().getDeclaredField("invasionIcon");
  1582.  
  1583. f_inv.setAccessible(true);
  1584.  
  1585. f_inv.set(LOTRInvasions.forName("NARGOTHROND"), LOTRMod.swordRivendell);
  1586.  
  1587. LOTRInvasions.forName("NARGOTHROND").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityNargothrondWarrior.class, 15));
  1588. LOTRInvasions.forName("NARGOTHROND").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityNargothrondBannerBearer.class, 2));
  1589.  
  1590. Object[] inv2 = { LOTRFaction.valueOf("GONDOLIN") };
  1591. EnumHelper.addEnum(LOTRInvasions.class, "GONDOLIN", arr_inv, inv2);
  1592.  
  1593. f_inv = LOTRInvasions.forName("GONDOLIN").getClass().getDeclaredField("invasionIcon");
  1594.  
  1595. f_inv.setAccessible(true);
  1596.  
  1597. f_inv.set(LOTRInvasions.forName("GONDOLIN"), LOTRMod.swordGondolin);
  1598.  
  1599. LOTRInvasions.forName("GONDOLIN").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityGondolinWarrior.class, 15));
  1600. LOTRInvasions.forName("GONDOLIN").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityGondolinBannerBearer.class, 2));
  1601.  
  1602. Object[] inv3 = { LOTRFaction.valueOf("FEANOREANS") };
  1603. EnumHelper.addEnum(LOTRInvasions.class, "FEANOREANS", arr_inv, inv3);
  1604.  
  1605. f_inv = LOTRInvasions.forName("FEANOREANS").getClass().getDeclaredField("invasionIcon");
  1606.  
  1607. f_inv.setAccessible(true);
  1608.  
  1609. f_inv.set(LOTRInvasions.forName("FEANOREANS"), feanoreanSword);
  1610.  
  1611. LOTRInvasions.forName("FEANOREANS").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityFeanoreanWarrior.class, 15));
  1612. LOTRInvasions.forName("FEANOREANS").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityFeanoreanBannerBearer.class, 2));
  1613.  
  1614. Object[] inv4 = { LOTRFaction.valueOf("FALAS") };
  1615. EnumHelper.addEnum(LOTRInvasions.class, "FALAS", arr_inv, inv4);
  1616.  
  1617. f_inv = LOTRInvasions.forName("FALAS").getClass().getDeclaredField("invasionIcon");
  1618.  
  1619. f_inv.setAccessible(true);
  1620.  
  1621. f_inv.set(LOTRInvasions.forName("FALAS"), LOTRMod.swordDolAmroth);
  1622.  
  1623. LOTRInvasions.forName("FALAS").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityFalathrimSailor.class, 10));
  1624. LOTRInvasions.forName("FALAS").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityFalathrimArcher.class, 5));
  1625. LOTRInvasions.forName("FALAS").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityFalathrimMariner.class, 5));
  1626. LOTRInvasions.forName("FALAS").invasionMobs.add(new LOTRInvasions.InvasionSpawnEntry(LOTREntityFalathrimBannerBearer.class, 2));
  1627.  
  1628. Class[] arr = { LOTRFaction.class };
  1629.  
  1630. Class[] arr2 = { String[].class };
  1631.  
  1632. Object[] vals = { LOTRFaction.forName("PETTY_DWARF") };
  1633. EnumHelper.addEnum(LOTRShields.class, "ALIGNMENT_PETTY_DWARF", arr, vals);
  1634.  
  1635. Object[] vals4 = { LOTRFaction.forName("GONDOLIN") };
  1636. EnumHelper.addEnum(LOTRShields.class, "ALIGNMENT_GONDOLIN", arr, vals4);
  1637.  
  1638. Object[] vals5 = { LOTRFaction.forName("NARGOTHROND") };
  1639. EnumHelper.addEnum(LOTRShields.class, "ALIGNMENT_NARGOTHROND", arr, vals5);
  1640.  
  1641. Object[] vals6 = { LOTRFaction.forName("FEANOREANS") };
  1642. EnumHelper.addEnum(LOTRShields.class, "ALIGNMENT_FEANOREANS", arr, vals6);
  1643.  
  1644. Object[] vals7 = { LOTRFaction.forName("VALINOR") };
  1645. EnumHelper.addEnum(LOTRShields.class, "ALIGNMENT_VALINOR", arr, vals7);
  1646.  
  1647. Object[] vals8 = { LOTRFaction.forName("FALAS") };
  1648. EnumHelper.addEnum(LOTRShields.class, "ALIGNMENT_FALAS", arr, vals8);
  1649.  
  1650. ArrayList<String> vals9b = new ArrayList();
  1651. try
  1652. {
  1653. URL uuids = new URL("https://raw.githubusercontent.com/Valiec/EoA/master/uuids.txt");
  1654. URLConnection read = uuids.openConnection();
  1655. BufferedReader reader = new BufferedReader(new InputStreamReader(read.getInputStream()));
  1656. String uuid = reader.readLine();
  1657. while ((uuid != null) && (uuid != "\n") && (uuid != "")) {
  1658. if (uuid.startsWith("#"))
  1659. {
  1660. uuid = reader.readLine();
  1661. }
  1662. else
  1663. {
  1664. vals9b.add(uuid.replace("\n", ""));
  1665. uuid = reader.readLine();
  1666. }
  1667. }
  1668. }
  1669. catch (IOException localIOException) {}
  1670. String[] arr_type = new String[0];
  1671. Object[] vals9 = { vals9b.toArray(arr_type) };
  1672. EnumHelper.addEnum(LOTRShields.class, "SUPPORTER", arr2, vals9);
  1673.  
  1674. Field s = LOTRShields.PATRON.getClass().getDeclaredField("isHidden");
  1675. s.setAccessible(true);
  1676. s.set(LOTRShields.PATRON, Boolean.valueOf(true));
  1677.  
  1678. proxy.registerRenderers();
  1679. }
  1680.  
  1681. @SubscribeEvent
  1682. public void trollChiefDeath(LivingDeathEvent event)
  1683. {
  1684. if (((event.entityLiving instanceof LOTREntityMountainTrollChieftain)) && (!event.entityLiving.field_70170_p.field_72995_K))
  1685. {
  1686. Random random = new Random();
  1687. if (random.nextInt(5) == 0) {
  1688. event.entityLiving.func_145779_a(valinorDagger, 1);
  1689. }
  1690. if (random.nextInt(5) == 0) {
  1691. event.entityLiving.func_145779_a(valinorSpear, 1);
  1692. }
  1693. if (random.nextInt(5) == 0) {
  1694. event.entityLiving.func_145779_a(valinorLongspear, 1);
  1695. }
  1696. if (random.nextInt(5) == 0) {
  1697. event.entityLiving.func_145779_a(valinorBattlestaff, 1);
  1698. }
  1699. if (random.nextInt(5) == 0) {
  1700. event.entityLiving.func_145779_a(valinorSword, 1);
  1701. }
  1702. if (random.nextInt(5) == 0) {
  1703. event.entityLiving.func_145779_a(valinorBow, 1);
  1704. }
  1705. event.entityLiving.func_70099_a(new ItemStack(LOTRMod.banner, 1, 39), 0.0F);
  1706. event.entityLiving.func_70099_a(new ItemStack(LOTRMod.bountyTrophy, 1), 0.0F);
  1707. }
  1708. if (((event.entityLiving instanceof LOTREntityMallornEnt)) && (!event.entityLiving.field_70170_p.field_72995_K))
  1709. {
  1710. Random random = new Random();
  1711. if (random.nextInt(5) == 0) {
  1712. event.entityLiving.func_145779_a(LOTRMod.helmetUtumno, 1);
  1713. }
  1714. if (random.nextInt(5) == 0) {
  1715. event.entityLiving.func_145779_a(LOTRMod.bodyUtumno, 1);
  1716. }
  1717. if (random.nextInt(5) == 0) {
  1718. event.entityLiving.func_145779_a(LOTRMod.legsUtumno, 1);
  1719. }
  1720. if (random.nextInt(5) == 0) {
  1721. event.entityLiving.func_145779_a(LOTRMod.bootsUtumno, 1);
  1722. }
  1723. if (random.nextInt(5) == 0) {
  1724. event.entityLiving.func_145779_a(LOTRMod.swordUtumno, 1);
  1725. }
  1726. if (random.nextInt(5) == 0) {
  1727. event.entityLiving.func_145779_a(LOTRMod.daggerUtumno, 1);
  1728. }
  1729. if (random.nextInt(5) == 0) {
  1730. event.entityLiving.func_145779_a(LOTRMod.hammerUtumno, 1);
  1731. }
  1732. if (random.nextInt(5) == 0) {
  1733. event.entityLiving.func_145779_a(LOTRMod.battleaxeUtumno, 1);
  1734. }
  1735. if (random.nextInt(5) == 0) {
  1736. event.entityLiving.func_145779_a(LOTRMod.utumnoBow, 1);
  1737. }
  1738. event.entityLiving.func_70099_a(new ItemStack(LOTRMod.bountyTrophy, 1), 0.0F);
  1739. }
  1740. }
  1741.  
  1742. public void fixRuglamorQuests(LOTRMiniQuestFactory f)
  1743. {
  1744. try
  1745. {
  1746. Field f_ = f.getClass().getDeclaredField("questFactories");
  1747. f_.setAccessible(true);
  1748. Map<Class<? extends LOTRMiniQuest>, List<LOTRMiniQuest.QuestFactoryBase>> q_ = (Map)f_.get(f);
  1749. for (List<LOTRMiniQuest.QuestFactoryBase> qfList : q_.values()) {
  1750. for (LOTRMiniQuest.QuestFactoryBase qf : qfList)
  1751. {
  1752. if ((qf instanceof LOTRMiniQuestKillEntity.QFKillEntity))
  1753. {
  1754. Field f2 = qf.getClass().getDeclaredField("entityType");
  1755. f2.setAccessible(true);
  1756. Class f2_ = (Class)f2.get(qf);
  1757. if (f2_ == LOTREntityGundabadOrc.class) {
  1758. f2_ = LOTREntityAngmarOrc.class;
  1759. }
  1760. if (f2_ == LOTREntityGundabadWarg.class) {
  1761. f2_ = LOTREntityAngmarWarg.class;
  1762. }
  1763. f2.set(qf, f2_);
  1764. }
  1765. if ((qf instanceof LOTRMiniQuestKillFaction.QFKillFaction))
  1766. {
  1767. Field f2 = qf.getClass().getDeclaredField("killFaction");
  1768. f2.setAccessible(true);
  1769. LOTRFaction f2_ = (LOTRFaction)f2.get(qf);
  1770. if (f2_ == LOTRFaction.GUNDABAD) {
  1771. f2_ = LOTRFaction.ANGMAR;
  1772. }
  1773. f2.set(qf, f2_);
  1774. }
  1775. }
  1776. }
  1777. }
  1778. catch (NoSuchFieldException e)
  1779. {
  1780. e.printStackTrace();
  1781. }
  1782. catch (SecurityException e)
  1783. {
  1784. e.printStackTrace();
  1785. }
  1786. catch (IllegalArgumentException e)
  1787. {
  1788. e.printStackTrace();
  1789. }
  1790. catch (IllegalAccessException e)
  1791. {
  1792. e.printStackTrace();
  1793. }
  1794. }
  1795.  
  1796. @Mod.EventHandler
  1797. public void postInit(FMLPostInitializationEvent event)
  1798. throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, NoSuchFieldException, InstantiationException
  1799. {
  1800. Field bforid = LOTRItemBanner.BannerType.class.getDeclaredField("bannerForID");
  1801. bforid.setAccessible(true);
  1802. LOTRItemBanner.BannerType t;
  1803. for (t : LOTRItemBanner.BannerType.values())
  1804. {
  1805. HashMap<Integer, LOTRItemBanner.BannerType> o = (HashMap)bforid.get(LOTRItemBanner.BannerType.class);
  1806. o.put(Integer.valueOf(t.bannerID), t);
  1807. bforid.set(LOTRItemBanner.BannerType.class, o);
  1808. }
  1809. LOTRItemBanner.BannerType.bannerTypes.add(LOTRItemBanner.BannerType.valueOf("PETTY_DWARVES"));
  1810. LOTRItemBanner.BannerType.bannerTypes.add(LOTRItemBanner.BannerType.valueOf("VALINOR"));
  1811. LOTRItemBanner.BannerType.bannerTypes.add(LOTRItemBanner.BannerType.valueOf("NARGOTHROND"));
  1812. LOTRItemBanner.BannerType.bannerTypes.add(LOTRItemBanner.BannerType.valueOf("GONDOLIN"));
  1813. LOTRItemBanner.BannerType.bannerTypes.add(LOTRItemBanner.BannerType.valueOf("FEANOREAN"));
  1814. LOTRItemBanner.BannerType.bannerTypes.add(LOTRItemBanner.BannerType.valueOf("FALAS"));
  1815. LOTRItemBanner.BannerType.bannerTypes.add(LOTRItemBanner.BannerType.valueOf("TOL_SIRION"));
  1816. Field bicons = LOTRItemBanner.class.getDeclaredField("bannerIcons");
  1817. bicons.setAccessible(true);
  1818.  
  1819. bicons.set((LOTRItemBanner)LOTRMod.banner, new IIcon[45]);
  1820.  
  1821. Field f_ = LOTRMiniQuestFactory.RANGER_NORTH_ARNOR_RELIC.getClass().getDeclaredField("questFactories");
  1822. f_.setAccessible(true);
  1823. Object q_ = (Map)f_.get(LOTRMiniQuestFactory.RANGER_NORTH_ARNOR_RELIC);
  1824. for (List<LOTRMiniQuest.QuestFactoryBase> qfList : ((Map)q_).values()) {
  1825. for (LOTRMiniQuest.QuestFactoryBase qf : qfList)
  1826. {
  1827. qf.setRewardFactor(0.0F);
  1828. qf.setRewardItems(new ItemStack[] { new ItemStack(LOTRMod.helmetGondor), new ItemStack(LOTRMod.bodyGondor), new ItemStack(LOTRMod.legsGondor), new ItemStack(LOTRMod.bootsGondor), new ItemStack(LOTRMod.swordGondor), new ItemStack(LOTRMod.daggerGondor), new ItemStack(LOTRMod.spearGondor) });
  1829. }
  1830. }
  1831. fixRuglamorQuests(LOTRMiniQuestFactory.RANGER_NORTH);
  1832. fixRuglamorQuests(LOTRMiniQuestFactory.BLUE_MOUNTAINS);
  1833. fixRuglamorQuests(LOTRMiniQuestFactory.DALE);
  1834. fixRuglamorQuests(LOTRMiniQuestFactory.DUNLAND);
  1835. fixRuglamorQuests(LOTRMiniQuestFactory.DURIN);
  1836. fixRuglamorQuests(LOTRMiniQuestFactory.ENT);
  1837. fixRuglamorQuests(LOTRMiniQuestFactory.GALADHRIM);
  1838. fixRuglamorQuests(LOTRMiniQuestFactory.GONDOR);
  1839. fixRuglamorQuests(LOTRMiniQuestFactory.HIGH_ELF);
  1840. fixRuglamorQuests(LOTRMiniQuestFactory.RIVENDELL);
  1841. fixRuglamorQuests(LOTRMiniQuestFactory.ROHAN);
  1842. fixRuglamorQuests(LOTRMiniQuestFactory.ROHAN_SHIELDMAIDEN);
  1843. fixRuglamorQuests(LOTRMiniQuestFactory.WOOD_ELF);
  1844.  
  1845. f_.set(LOTRMiniQuestFactory.RANGER_NORTH_ARNOR_RELIC, q_);
  1846. LOTRChestContents.DUNEDAIN_TOWER = new LOTRChestContents(5, 7, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(Items.field_151103_aS), 1, 3, 100), new WeightedRandomChestContent(new ItemStack(Items.field_151144_bL), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(Items.field_151042_j), 2, 5, 100), new WeightedRandomChestContent(new ItemStack(Items.field_151043_k), 1, 3, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.silver), 2, 3, 100), new WeightedRandomChestContent(new ItemStack(Items.field_151074_bl), 2, 9, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverNugget), 2, 9, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverCoin), 2, 20, 100), new WeightedRandomChestContent(new ItemStack(Items.field_151040_l), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerIron), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.spearGondor), 1, 1, 25) });
  1847. Method m_ = LOTRChestContents.DUNEDAIN_TOWER.getClass().getDeclaredMethod("enablePouches", new Class[0]);
  1848. m_.setAccessible(true);
  1849. m_.invoke(LOTRChestContents.DUNEDAIN_TOWER, new Object[0]);
  1850. Method m_2 = LOTRChestContents.DUNEDAIN_TOWER.getClass().getDeclaredMethod("setLore", new Class[] { Integer.TYPE, LOTRLore.LoreCategory[].class });
  1851. m_2.setAccessible(true);
  1852. m_2.invoke(LOTRChestContents.DUNEDAIN_TOWER, new Object[] { Integer.valueOf(16), { LOTRLore.LoreCategory.ERIADOR } });
  1853. LOTRChestContents.BARROW_DOWNS = new LOTRChestContents(4, 8, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(LOTRMod.silverCoin, 1, 0), 1, 20, 200), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverCoin, 1, 1), 1, 8, 20), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverCoin, 1, 2), 1, 2, 5), new WeightedRandomChestContent(new ItemStack(Items.field_151074_bl), 1, 5, 100), new WeightedRandomChestContent(new ItemStack(Items.field_151043_k), 1, 4, 75), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverNugget), 1, 5, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.silver), 1, 4, 75), new WeightedRandomChestContent(new ItemStack(LOTRMod.mithrilNugget), 1, 3, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerBarrow), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerBronze), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordBronze), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetBronze), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyBronze), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsBronze), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsBronze), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerIron), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(Items.field_151040_l), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(Items.field_151028_Y), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(Items.field_151030_Z), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(Items.field_151165_aa), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(Items.field_151167_ab), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerMithril), 1, 1, 1), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordMithril), 1, 1, 1), new WeightedRandomChestContent(new ItemStack(LOTRMod.battleaxeMithril), 1, 1, 1), new WeightedRandomChestContent(new ItemStack(LOTRMod.hammerMithril), 1, 1, 1), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetMithril), 1, 1, 1), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyMithril), 1, 1, 1), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsMithril), 1, 1, 1), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsMithril), 1, 1, 1), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.spearGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(Items.field_151032_g), 1, 8, 100), new WeightedRandomChestContent(new ItemStack(Items.field_151144_bL), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(Items.field_151103_aS), 1, 4, 100), new WeightedRandomChestContent(new ItemStack(Items.field_151069_bo), 1, 3, 20), new WeightedRandomChestContent(new ItemStack(Items.field_151122_aG), 1, 2, 20), new WeightedRandomChestContent(new ItemStack(LOTRMod.goldRing), 1, 1, 20), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverRing), 1, 1, 20), new WeightedRandomChestContent(new ItemStack(LOTRMod.gobletGold), 1, 3, 20), new WeightedRandomChestContent(new ItemStack(LOTRMod.gobletSilver), 1, 3, 20), new WeightedRandomChestContent(new ItemStack(LOTRMod.gobletCopper), 1, 3, 20) });
  1854. m_.invoke(LOTRChestContents.BARROW_DOWNS, new Object[0]);
  1855. m_2.invoke(LOTRChestContents.BARROW_DOWNS, new Object[] { Integer.valueOf(30), { LOTRLore.LoreCategory.ERIADOR } });
  1856. LOTRChestContents.ANCIENT_SWORD = new LOTRChestContents(1, 1, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(LOTRMod.scimitarOrc), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordHighElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordRivendell), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordWoodElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordDwarven), 1, 1, 50) });
  1857. LOTRChestContents.ANCIENT_DAGGER = new LOTRChestContents(1, 1, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerOrc), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerHighElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerRivendell), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerWoodElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerDwarven), 1, 1, 50) });
  1858. LOTRChestContents.ANCIENT_HELMET = new LOTRChestContents(1, 1, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetOrc), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetHighElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetRivendell), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetWoodElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetDwarven), 1, 1, 50) });
  1859. LOTRChestContents.ANCIENT_BODY = new LOTRChestContents(1, 1, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyOrc), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyHighElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyRivendell), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyWoodElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyDwarven), 1, 1, 50) });
  1860. LOTRChestContents.ANCIENT_LEGS = new LOTRChestContents(1, 1, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(LOTRMod.legsOrc), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsHighElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsRivendell), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsWoodElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsDwarven), 1, 1, 50) });
  1861. LOTRChestContents.ANCIENT_BOOTS = new LOTRChestContents(1, 1, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsOrc), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsHighElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsRivendell), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsWoodElven), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsGondor), 1, 1, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsDwarven), 1, 1, 50) });
  1862.  
  1863. LOTRChestContents.TROLL_HOARD = new LOTRChestContents(1, 4, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(Items.field_151103_aS), 1, 1, 75), new WeightedRandomChestContent(new ItemStack(Items.field_151043_k), 1, 2, 50), new WeightedRandomChestContent(new ItemStack(Items.field_151074_bl), 1, 4, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.silver), 1, 2, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverNugget), 1, 4, 50), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverCoin), 1, 30, 75), new WeightedRandomChestContent(new ItemStack(LOTRMod.goldRing), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.silverRing), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.mithrilNugget), 1, 2, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordHighElven), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.polearmHighElven), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.longspearHighElven), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerHighElven), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetHighElven), 1, 1, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyHighElven), 1, 1, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsHighElven), 1, 1, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsHighElven), 1, 1, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordRivendell), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.polearmRivendell), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.longspearRivendell), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerRivendell), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetRivendell), 1, 1, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyRivendell), 1, 1, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsRivendell), 1, 1, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsRivendell), 1, 1, 5), new WeightedRandomChestContent(new ItemStack(LOTRMod.scimitarOrc), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.polearmOrc), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerOrc), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetOrc), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyOrc), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsOrc), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsOrc), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(Items.field_151040_l), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerIron), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(Items.field_151028_Y), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(Items.field_151030_Z), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(Items.field_151165_aa), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(Items.field_151167_ab), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.helmetGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bodyGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.legsGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.bootsGondor), 1, 1, 25), new WeightedRandomChestContent(new ItemStack(LOTRMod.swordGondor), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.daggerGondor), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(LOTRMod.spearGondor), 1, 1, 10), new WeightedRandomChestContent(new ItemStack(Items.field_151111_aL), 1, 1, 25) });
  1864. m_.invoke(LOTRChestContents.TROLL_HOARD, new Object[0]);
  1865.  
  1866. m_2.invoke(LOTRChestContents.TROLL_HOARD, new Object[] { Integer.valueOf(12), { LOTRLore.LoreCategory.RUINS, LOTRLore.LoreCategory.ERIADOR } });
  1867.  
  1868. LOTRChestContents.TROLL_HOARD_ETTENMOORS = new LOTRChestContents(1, 1, new WeightedRandomChestContent[] { new WeightedRandomChestContent(new ItemStack(LOTRMod.trollTotem, 1, 0), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.trollTotem, 1, 1), 1, 1, 100), new WeightedRandomChestContent(new ItemStack(LOTRMod.trollTotem, 1, 2), 1, 1, 100) });
  1869. m_.invoke(LOTRChestContents.TROLL_HOARD_ETTENMOORS, new Object[0]);
  1870.  
  1871. m_2.invoke(LOTRChestContents.TROLL_HOARD_ETTENMOORS, new Object[] { Integer.valueOf(12), { LOTRLore.LoreCategory.RUINS, LOTRLore.LoreCategory.ERIADOR } });
  1872.  
  1873. Field repair1 = LOTRMaterial.GONDOLIN.toToolMaterial().getClass().getDeclaredField("repairMaterial");
  1874. repair1.setAccessible(true);
  1875. repair1.set(LOTRMaterial.GONDOLIN.toToolMaterial(), new ItemStack(LOTRMod.elfSteel));
  1876. LOTRMaterial.GONDOLIN.toToolMaterial().customCraftingMaterial = LOTRMod.elfSteel;
  1877. LOTRMaterial.GONDOLIN.toArmorMaterial().customCraftingMaterial = LOTRMod.elfSteel;
  1878. Field repair2 = LOTRMaterial.ARNOR.toToolMaterial().getClass().getDeclaredField("repairMaterial");
  1879. repair2.setAccessible(true);
  1880. repair2.set(LOTRMaterial.ARNOR.toToolMaterial(), new ItemStack(LOTRMod.elfSteel));
  1881. LOTRMaterial.ARNOR.toToolMaterial().customCraftingMaterial = LOTRMod.elfSteel;
  1882. LOTRMaterial.ARNOR.toArmorMaterial().customCraftingMaterial = LOTRMod.elfSteel;
  1883.  
  1884. LOTRUnitTradeEntries.ELF_LORD = new LOTRUnitTradeEntries(300, new LOTRUnitTradeEntry[] { new LOTRUnitTradeEntry(LOTREntityGaladhrimElf.class, 30, 0), new LOTRUnitTradeEntry(LOTREntityGaladhrimWarrior.class, 50, 100), new LOTRUnitTradeEntry(LOTREntityGaladhrimWarrior.class, LOTREntityHorse.class, "GaladhrimWarrior_Horse", 70, 200).setMountArmor(LOTRMod.horseArmorGaladhrim), new LOTRUnitTradeEntry(LOTREntityGaladhrimBannerBearer.class, 70, 250) });
  1885.  
  1886. lotr.common.LOTRDate.ShireReckoning.startDate = new LOTRDate.ShireReckoning.Date(400, LOTRDate.ShireReckoning.Month.AFTERYULE, 1);
  1887. lotr.common.LOTRDate.SR_TO_TA = 0;
  1888. lotr.common.LOTRDate.THIRD_AGE_CURRENT = 400;
  1889. }
  1890. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement