Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Blade Avuari

Forge Modder
  • Posts

    41
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    What do you MEAN, "Minus fifty cool points?"

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Blade Avuari's Achievements

Tree Puncher

Tree Puncher (2/8)

-1

Reputation

  1. That would be a good idea, but it might get a little annoying to work with, assuming that nobody makes a base for the Mod Option GUI pages. I could get to work on that right now, actually. EDIT: I just realized that that might also require config updating, which I'm not good with...
  2. Goto is saying that you should move all the information from the static method into the method, right after the config. By the way, I've started work on a similar mod, (although my work is currently on hold while I work on my Mega Man mod, and involves adding all the important side-items from across the series, instead of all the primaries from Ocarina of Time,) so if you ever want any help, or would like to organize your codebase, ask me. Oh, and you spelt Rupee wrong. EDIT: Thanking Goto
  3. The answer is simple: Don't use magiclauncher. Install forge using the instructions given to you on the download page. EDIT: Actually, Lex puts it nicely right here: http://www.minecraftforge.net/forum/index.php/topic,11552.msg59593.html#msg59593
  4. (Knowing that this will probably not be fun to hear...) Are you running the jar, or extracting it? Have you followed the instructions from Direwolf20's 1.6.2 forge installation video? If not, try that. If all else fails, send a message to the javaxdelta team about this problem, so it can be fixed. EDIT: Aww, lex, you didn't have to smite me for my statement involving bug reports...
  5. You take all the classes that reference it, and re-write them.
  6. I believe you do, sadly. At least, that's what I had to do when I made my "Dig Deeper!" mod. I'll give you some of the basic stuff from my MCM here. public class WorldChunkManagerDeeper extends WorldChunkManager { private GenLayer genBiomes; /** A GenLayer containing the indices into BiomeGenBase.biomeList[] */ private GenLayer biomeIndexLayer; /** The BiomeCache object for this world. */ private BiomeCacheDeeper biomeCache; /** A list of biomes that the player can spawn in. */ private List biomesToSpawnIn; protected WorldChunkManagerDeeper() { biomeCache = new BiomeCacheDeeper(this); biomesToSpawnIn = new ArrayList(); biomesToSpawnIn.add(BiomeGenBase.forest); biomesToSpawnIn.add(BiomeGenBase.jungleHills); } public WorldChunkManagerDeeper(long par1, WorldType par3WorldType) { this(); GenLayer agenlayer[] = GenLayer.initializeAllBiomeGenerators(par1, par3WorldType); genBiomes = agenlayer[0]; biomeIndexLayer = agenlayer[1]; } public WorldChunkManagerDeeper(World par1World) { this(par1World.getSeed(), par1World.getWorldInfo().getTerrainType()); } /** * Gets the list of valid biomes for the player to spawn in. */ public List getBiomesToSpawnIn() { return biomesToSpawnIn; } /** * Returns the BiomeGenBase related to the x, z position on the world. */ public BiomeGenBase getBiomeGenAt(int par1, int par2) { return biomeCache.getBiomeGenAt(par1, par2); } /** * Returns a list of rainfall values for the specified blocks. Args: listToReuse, x, z, width, length. */ public float[] getRainfall(float par1ArrayOfFloat[], int par2, int par3, int par4, int par5) { IntCache.resetIntCache(); if (par1ArrayOfFloat == null || par1ArrayOfFloat.length < par4 * par5) { par1ArrayOfFloat = new float[par4 * par5]; } int ai[] = biomeIndexLayer.getInts(par2, par3, par4, par5); for (int i = 0; i < par4 * par5; i++) { float f = (float)BiomeGenBase.biomeList[ai[i]].getIntRainfall() / 65536F; if (f > 1.0F) { f = 1.0F; } par1ArrayOfFloat[i] = f; } return par1ArrayOfFloat; } /** * Return an adjusted version of a given temperature based on the y height */ public float getTemperatureAtHeight(float par1, int par2) { return par1; } /** * Returns a list of temperatures to use for the specified blocks. Args: listToReuse, x, y, width, length */ public float[] getTemperatures(float par1ArrayOfFloat[], int par2, int par3, int par4, int par5) { IntCache.resetIntCache(); if (par1ArrayOfFloat == null || par1ArrayOfFloat.length < par4 * par5) { par1ArrayOfFloat = new float[par4 * par5]; } int ai[] = biomeIndexLayer.getInts(par2, par3, par4, par5); for (int i = 0; i < par4 * par5; i++) { float f = (float)BiomeGenBase.biomeList[ai[i]].getIntTemperature() / 65536F; if (f > 1.0F) { f = 1.0F; } par1ArrayOfFloat[i] = f; } return par1ArrayOfFloat; } /** * Returns an array of biomes for the location input. */ public BiomeGenBase[] getBiomesForGeneration(BiomeGenBase par1ArrayOfBiomeGenBase[], int par2, int par3, int par4, int par5) { IntCache.resetIntCache(); if (par1ArrayOfBiomeGenBase == null || par1ArrayOfBiomeGenBase.length < par4 * par5) { par1ArrayOfBiomeGenBase = new BiomeGenBase[par4 * par5]; } int ai[] = genBiomes.getInts(par2, par3, par4, par5); for (int i = 0; i < par4 * par5; i++) { par1ArrayOfBiomeGenBase[i] = BiomeGenBase.biomeList[ai[i]]; } return par1ArrayOfBiomeGenBase; } /** * Returns biomes to use for the blocks and loads the other data like temperature and humidity onto the * WorldChunkManager Args: oldBiomeList, x, z, width, depth */ public BiomeGenBase[] loadBlockGeneratorData(BiomeGenBase par1ArrayOfBiomeGenBase[], int par2, int par3, int par4, int par5) { return getBiomeGenAt(par1ArrayOfBiomeGenBase, par2, par3, par4, par5, true); } /** * Return a list of biomes for the specified blocks. Args: listToReuse, x, y, width, length, cacheFlag (if false, * don't check biomeCache to avoid infinite loop in BiomeCacheBlock) */ public BiomeGenBase[] getBiomeGenAt(BiomeGenBase par1ArrayOfBiomeGenBase[], int par2, int par3, int par4, int par5, boolean par6) { IntCache.resetIntCache(); if (par1ArrayOfBiomeGenBase == null || par1ArrayOfBiomeGenBase.length < par4 * par5) { par1ArrayOfBiomeGenBase = new BiomeGenBase[par4 * par5]; } if (par6 && par4 == 16 && par5 == 16 && (par2 & 0xf) == 0 && (par3 & 0xf) == 0) { BiomeGenBase abiomegenbase[] = biomeCache.getCachedBiomes(par2, par3); System.arraycopy(abiomegenbase, 0, par1ArrayOfBiomeGenBase, 0, par4 * par5); return par1ArrayOfBiomeGenBase; } int ai[] = biomeIndexLayer.getInts(par2, par3, par4, par5); for (int i = 0; i < par4 * par5; i++) { par1ArrayOfBiomeGenBase[i] = BiomeGenBase.biomeList[ai[i]]; } return par1ArrayOfBiomeGenBase; } /** * checks given Chunk's Biomes against List of allowed ones */ public boolean areBiomesViable(int par1, int par2, int par3, List par4List) { int i = par1 - par3 >> 2; int j = par2 - par3 >> 2; int k = par1 + par3 >> 2; int l = par2 + par3 >> 2; int i1 = (k - i) + 1; int j1 = (l - j) + 1; int ai[] = genBiomes.getInts(i, j, i1, j1); for (int k1 = 0; k1 < i1 * j1; k1++) { BiomeGenBase biomegenbase = BiomeGenBase.biomeList[ai[k1]]; if (!par4List.contains(biomegenbase)) { return false; } } return true; } /** * Finds a valid position within a range, that is once of the listed biomes. */ public ChunkPosition findBiomePosition(int par1, int par2, int par3, List par4List, Random par5Random) { int i = par1 - par3 >> 2; int j = par2 - par3 >> 2; int k = par1 + par3 >> 2; int l = par2 + par3 >> 2; int i1 = (k - i) + 1; int j1 = (l - j) + 1; int ai[] = genBiomes.getInts(i, j, i1, j1); ChunkPosition chunkposition = null; int k1 = 0; for (int l1 = 0; l1 < ai.length; l1++) { int i2 = i + l1 % i1 << 2; int j2 = j + l1 / i1 << 2; BiomeGenBase biomegenbase = BiomeGenBase.biomeList[ai[l1]]; if (par4List.contains(biomegenbase) && (chunkposition == null || par5Random.nextInt(k1 + 1) == 0)) { chunkposition = new ChunkPosition(i2, 0, j2); k1++; } } return chunkposition; } /** * Calls the WorldChunkManager's biomeCache.cleanupCache() */ public void cleanupCache() { biomeCache.cleanupCache(); } }
  7. Another thing that you can do (but will annoy players who want other mods to all hell) is to overwrite the classes where they are called.
  8. Hey, I would like to know how to check a value of an item that another player/mob is holding. It would also have to return if an item is not being held, or if the value is null. Here is the class for my base item, from which three different types of items extend. And the calling line for the item And the weaponsword
  9. Does anyone know what is done to use only one ID for multiple items? Are you supposed to store damage in a different tag than the normal damage value?
  10. Where did you change the length of the charge?
  11. I don't know if this works with other players, but in many of the animal class files, there is a boolean that causes something to happen when you right-click on a mob. Right click on wolf makes it sit, dyes it, feeds it, etc.
  12. By "start the map new," do you mean when you make a new map, or when you quit then come back?
  13. I have just started on a mod that will add at least 51 different items. The problem is, to be kind to other modders, I only want to use up one ID for each of my three different categories of items, (swords, axes, and lances,) one of these categories having 24 different items. As well, each item needs to be breakable. Is it possible to do this? If so, would I need to use only one class for each item, would I have to use a different class for each item, or can I have some items have their own class and have other ones be in the same class? Thanks.
  14. ChunkProviderDeeper The two "todo"s aren't part of generation.
  15. I have been trying to figure out why my mod, Digging Deeper, doesn't do anything anymore. It used to increase the water level and hightmap to 97, but it doesn't anymore.
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.