Jump to content

Animefan8888

Forge Modder
  • Posts

    6157
  • Joined

  • Last visited

  • Days Won

    59

Everything posted by Animefan8888

  1. If you are getting a NPE just run a check to see if it is != null. Though I can not see the error report to give you anymore guidance.
  2. ...Im sorry once i read tooltip i immediately thought oh he is talking about items and proceeded to answer without getting to the most crucial part.
  3. The GuiContainer calls addInformation(...) to add information to a List then takes said list and displays it as the tooltip of the item.
  4. He passed a TileEntity into his constructor didnt he.
  5. Your using your container as a variable instead of a TE.
  6. Inhave not used them, but tgat does sound about right.
  7. Well i would start off by getting the source code for the mod by decompiling it with mcp if it is not provided already. I would then add the mod as a library in eclipse/your IDE and appling the source code. After doing that you will be able to code using whatever mod you choose. But you will not be able to compile it, you should add it as a dependancy in your @Mod in your main mod file, ad also in your build.gradle.
  8. Override removeStackFromSlot(int) in InventoryField also decrItemStack(int, int) and overall anything that doesn't use your ItemStack[] in InventoryField as that is your problem.
  9. There is not anything like that to my knowledge the best you could do is link it to something like github and use that to share code.
  10. Use world.getSeaLevel() if it is supposed to spawn on water.
  11. I can't find anything wrong with the code try creating a new Container and just add the players inventory and see if you can drag it around or not.
  12. I was just saying that he should save it client side if anything. Sadly to accomplish this you would need access to what keybind they are changing , which I can not think of a way to do this without a specific event. You would need to submit a pull request for it.
  13. Its there for the user of the API to check against, and nothing more. Save it client side and not server side.
  14. That might have something to do with this line. int posY = (world.getActualHeight());
  15. If the KeyEvent gets called when the player is in the Gui you could just check if the current gui is an instance of the KeyBind Changing gui. The problem with that is GuiKeyBindingList doesnt inherit from GuiScreen, so both checking Minecraft#currentScreen and using the KeyboardInputEvent and checking GuiScreenEvent#getGui() don't work. I believe it is actually GuiControls.
  16. If the KeyEvent gets called when the player is in the Gui you could just check if the current gui is an instance of the KeyBind Changing gui.
  17. Not using anything yet. In 1.7.10 that's all I needed to add icespikes to my biome. I did try extending WorldGenerator , basically duplicating the WorldGenIceSpike class so that I could then change the ice spikes but that did not work. Should I implement IWorldGenerator instead for 1.8? package com.glistre.glistremod.worldgen; import java.util.Random; import com.glistre.glistremod.init.BiomeRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenerator; public class WorldGenFreonSpikes extends WorldGenerator { public boolean generate(World worldIn, Random random, BlockPos blockPos) { blockPos = new BlockPos(blockPos.getX(), blockPos.getY(), blockPos.getZ()); while (worldIn.isAirBlock(blockPos) && blockPos.getY() > 2) { blockPos = blockPos.down(); } if (worldIn.getBlockState(blockPos).getBlock() != Blocks.snow) { return false; } else { blockPos = blockPos.up(random.nextInt(4)); int l = random.nextInt(4) + 70; int i1 = l / 4 + random.nextInt(2); if (i1 > 1 && random.nextInt(60) == 0) { blockPos = blockPos.up(random.nextInt(70)); } int j1; int k1; int l1; for (j1 = 0; j1 < l; ++j1) { float f = (1.0F - (float)j1 / (float)l) * (float)i1; k1 = MathHelper.ceiling_float_int(f); for (l1 = -k1; l1 <= k1; ++l1) { float f1 = (float)MathHelper.abs_int(l1) - 0.25F; for (int i2 = -k1; i2 <= k1; ++i2) { float f2 = (float)MathHelper.abs_int(i2) - 0.25F; if ((l1 == 0 && i2 == 0 || f1 * f1 + f2 * f2 <= f * f) && (l1 != -k1 && l1 != k1 && i2 != -k1 && i2 != k1 || random.nextFloat() <= 0.75F)) { Block block1 = worldIn.getBlockState(blockPos.add(l1, j1, i2)).getBlock(); if (block1.getMaterial() == Material.air || block1 == Blocks.dirt || block1 == Blocks.snow || block1 == Blocks.ice) { this.func_175906_a(worldIn, blockPos.add(l1, j1, i2), Blocks.packed_ice); // worldIn.setBlockState(blockPos.add(l1, j1, i2), (IBlockState) Blocks.packed_ice); } if (j1 != 0 && k1 > 1) { block1 = worldIn.getBlockState(blockPos.add(l1, j1, i2)).getBlock(); if (block1.getMaterial() == Material.air || block1 == Blocks.dirt || block1 == Blocks.snow || block1 == Blocks.ice) { this.func_175906_a(worldIn, blockPos.add(l1, -j1, i2), Blocks.packed_ice); // worldIn.setBlock(xcoord + l1, ycoord - j1, zcoord + i2, Blocks.packed_ice); } } } } } } j1 = i1 - 1; if (j1 < 0) { j1 = 0; } else if (j1 > 1) { j1 = 1; } for (int j2 = -j1; j2 <= j1; ++j2) { k1 = -j1; while (k1 <= j1) { BlockPos blockPos1 = blockPos.add(k1, -1, l); // l1 = ycoord - 1; int k2 = 50; if (Math.abs(j2) == 1 && Math.abs(k1) == 1) { k2 = random.nextInt(5); } while (true) { if (blockPos1.getY() > 50) { Block block1 = worldIn.getBlockState(blockPos1).getBlock(); if (block1.getMaterial() == Material.air || block1 == Blocks.dirt || block1 == Blocks.snow || block1 == Blocks.ice || block1 == Blocks.packed_ice) { this.func_175906_a(worldIn, blockPos1, Blocks.packed_ice); // worldIn.setBlockState(pos0, (IBlockState)Blocks.packed_ice); // worldIn.setBlockState(xcoord + j2, l1, zcoord + k1, (IBlockState)Blocks.packed_ice); blockPos1 = blockPos1.down(); --k2; if (k2 <= 0) { blockPos1 = blockPos1.down(random.nextInt(5) + 1); // l1 -= random.nextInt(5) + 1; k2 = random.nextInt(5); } continue; } } ++k1; break; } } } return true; } } } Yes you should have always been implementing IWorldGenerator instead of extending WorldGenerator.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.