Solved Playing With Biomes

Discussion in 'Plugin Development' started by krazytraynz, Nov 30, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    krazytraynz

    I'm trying to override the spawns in biomes, but I can't call the constructor for BiomePlains, BiomeBigHills, or BiomeSwamp without getting a NoSuchMethodException. I'm not too good with reflection, does anyone know what I did wrong?

    Code:java
    1. package com.github.KrazyTraynz;
    2.  
    3. import java.lang.reflect.Constructor;
    4. import java.lang.reflect.Field;
    5. import java.util.ArrayList;
    6.  
    7. import net.minecraft.server.v1_6_R3.BiomeBeach;
    8. import net.minecraft.server.v1_6_R3.BiomeBigHills;
    9. import net.minecraft.server.v1_6_R3.BiomeDesert;
    10. import net.minecraft.server.v1_6_R3.BiomeForest;
    11. import net.minecraft.server.v1_6_R3.BiomeHell;
    12. import net.minecraft.server.v1_6_R3.BiomeIcePlains;
    13. import net.minecraft.server.v1_6_R3.BiomeJungle;
    14. import net.minecraft.server.v1_6_R3.BiomeMeta;
    15. import net.minecraft.server.v1_6_R3.BiomeMushrooms;
    16. import net.minecraft.server.v1_6_R3.BiomeOcean;
    17. import net.minecraft.server.v1_6_R3.BiomePlains;
    18. import net.minecraft.server.v1_6_R3.BiomeRiver;
    19. import net.minecraft.server.v1_6_R3.BiomeSwamp;
    20. import net.minecraft.server.v1_6_R3.BiomeTaiga;
    21. import net.minecraft.server.v1_6_R3.BiomeTheEnd;
    22. import net.minecraft.server.v1_6_R3.EntityBat;
    23. import net.minecraft.server.v1_6_R3.EntityBlaze;
    24. import net.minecraft.server.v1_6_R3.EntityCaveSpider;
    25. import net.minecraft.server.v1_6_R3.EntityChicken;
    26. import net.minecraft.server.v1_6_R3.EntityCow;
    27. import net.minecraft.server.v1_6_R3.EntityCreeper;
    28. import net.minecraft.server.v1_6_R3.EntityEnderman;
    29. import net.minecraft.server.v1_6_R3.EntityGhast;
    30. import net.minecraft.server.v1_6_R3.EntityHorse;
    31. import net.minecraft.server.v1_6_R3.EntityMagmaCube;
    32. import net.minecraft.server.v1_6_R3.EntityMushroomCow;
    33. import net.minecraft.server.v1_6_R3.EntityOcelot;
    34. import net.minecraft.server.v1_6_R3.EntityPig;
    35. import net.minecraft.server.v1_6_R3.EntityPigZombie;
    36. import net.minecraft.server.v1_6_R3.EntitySheep;
    37. import net.minecraft.server.v1_6_R3.EntitySilverfish;
    38. import net.minecraft.server.v1_6_R3.EntitySkeleton;
    39. import net.minecraft.server.v1_6_R3.EntitySlime;
    40. import net.minecraft.server.v1_6_R3.EntitySpider;
    41. import net.minecraft.server.v1_6_R3.EntitySquid;
    42. import net.minecraft.server.v1_6_R3.EntityVillager;
    43. import net.minecraft.server.v1_6_R3.EntityWitch;
    44. import net.minecraft.server.v1_6_R3.EntityZombie;
    45.  
    46. public class BioSpawnsHandler {
    47.  
    48. private BiomeOcean ocean;
    49. private BiomePlains plains;
    50. private BiomeDesert desert;
    51. private BiomeBigHills extremehills;
    52. private BiomeForest forest;
    53. private BiomeTaiga taiga;
    54. private BiomeSwamp swamp;
    55. private BiomeRiver river;
    56. private BiomeHell hell;
    57. private BiomeTheEnd end;
    58. private BiomeOcean frozenOcean;
    59. private BiomeRiver frozenRiver;
    60. private BiomeIcePlains icePlains;
    61. private BiomeIcePlains iceMountains;
    62. private BiomeMushrooms mushroomIsland;
    63. private BiomeMushrooms mushroomShore;
    64. private BiomeBeach beach;
    65. private BiomeDesert desertHills;
    66. private BiomeForest forestHills;
    67. private BiomeTaiga taigaHills;
    68. private BiomeBigHills smallMountains;
    69. private BiomeJungle jungle;
    70. private BiomeJungle jungleHills;
    71.  
    72. private Constructor<BiomePlains> plainsc;
    73. private Constructor<BiomeBigHills> bighillsc;
    74. private Constructor<BiomeSwamp> swampc;
    75.  
    76. private BioSpawnsUtil util;
    77. private BioSpawns bio;
    78.  
    79. public BioSpawnsHandler(BioSpawnsUtil util){
    80. this.util = util;
    81. }
    82.  
    83. public BioSpawnsHandler(BioSpawns bio){
    84. this.bio = bio;
    85. }
    86.  
    87. try{
    88. ocean = new BiomeOcean(0);
    89. desert = new BiomeDesert(2);
    90. forest = new BiomeForest(4);
    91. taiga = new BiomeTaiga(5);
    92. river = new BiomeRiver(7);
    93. hell = new BiomeHell(8);
    94. end = new BiomeTheEnd(9);
    95. frozenOcean = new BiomeOcean(10);
    96. frozenRiver = new BiomeRiver(11);
    97. icePlains = new BiomeIcePlains(12);
    98. iceMountains = new BiomeIcePlains(13);
    99. mushroomIsland = new BiomeMushrooms(14);
    100. mushroomShore = new BiomeMushrooms(15);
    101. beach = new BiomeBeach(16);
    102. desertHills = new BiomeDesert(17);
    103. forestHills = new BiomeForest(18);
    104. taigaHills = new BiomeTaiga(19);
    105. jungle = new BiomeJungle(21);
    106. jungleHills = new BiomeJungle(22);
    107.  
    108. Class<?> integer = Integer.class;
    109. plainsc = BiomePlains.class.getDeclaredConstructor(integer);
    110. plainsc.setAccessible(true);
    111. plains = plainsc.newInstance(1);
    112.  
    113. bighillsc = BiomeBigHills.class.getDeclaredConstructor(integer);
    114. bighillsc.setAccessible(true);
    115. extremehills = bighillsc.newInstance(3);
    116. smallMountains = bighillsc.newInstance(20);
    117.  
    118. swampc = BiomeSwamp.class.getDeclaredConstructor(integer);
    119. swampc.setAccessible(true);
    120. swamp = swampc.newInstance(6);
    121. -Rest of class is irrelevant-
     
  2. Offline

    Skyost

  3. Offline

    krazytraynz

    Skyost
    Thanks, but that doesn't necessarily help... I'm not trying to change the biome itself, I'm just trying to change what spawns in it.
     
    Skyost likes this.
  4. Offline

    xTrollxDudex

    krazytraynz
    Try using int.class instead of Integer.class
     
    krazytraynz likes this.
  5. Offline

    krazytraynz

    That worked, thanks :D
     
  6. Offline

    xTrollxDudex

    Glad to help.
     
Thread Status:
Not open for further replies.

Share This Page