Jump to content

Jdb100

Members
  • Posts

    223
  • Joined

  • Last visited

Everything posted by Jdb100

  1. I don't know how to do it but you could try taking a java decompiler and looking at how ars magica did there mana system.
  2. How did DivineRPG do it then?
  3. I have been working on a dimension and i got everything working but the biome crashes my game before it loads. Here is my code: Base File //This is where it says the error is in the top block part Biome File: Top block file Error log Thanks Edit: After derping around i found where the error was i am trying to call a byte but my id is over 127 does anyone know how to fix this right now i am looking in divinerpg to try and figure how they did it.
  4. Put minecart.motionX * 3 minecart.motionZ * 3 What this does is it takes your x and z moumentum and times it by 3 the key here is that it times it because if it is not going along the x then adding moumentum to the x will be z will be 3 times the speed
  5. Did you change it in the wooden battleaxe too
  6. I looked through it before replying but all i can see is sending information to players in that dimension.
  7. Can you be more specific
  8. we have to see your rendering code
  9. It should look like this. if(player.posY <= 0){}
  10. The error log is a java null pointer exception so that doesn't give us anything but it is probably to do with either your teleporter class or if you made a custom world biome then that so post those two.
  11. The only explanation is you didn't render the arrow at all or you rendered it incorrectly.
  12. my BlockPortal.class gets an error when using the usePortal method and it wants me to add the usePortal function into Minecraft.class I can't run the game so no error logs but here is my mod files P.S. I know I am not very organized. BaseMod package net.dimension.src; import net.minecraft.src.*; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.PostInit; import cpw.mods.fml.common.Mod.PreInit; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.common.SidedProxy; @Mod (modid = "DimensionCraftmod", name = "SorceryCraft", version = "0.0.1pre-alpha") @NetworkMod (clientSideRequired = true, serverSideRequired = false) public class DimensionBase { public static Block rubyore; public static Item ruby; public static Item ceular; public static Block ceularore; public static Item bopperbone; public static Block compressedbopperbones; public static Item bopperflesh; public static Item hammer; public static BiomeGenBase arctic = new BiomegenArtic(10); public static Tundra_Teleporter teleporter = new Tundra_Teleporter(); public static WorldProvider tundra = new Tundra_WorldProvider1(); public static Block tundraportal = new BlockTundraPortal(); public static Item rubyshards; public static Item chisel; public static Item circuit; public static Block computer; @Instance("DimensionBase") public static DimensionBase instance; @SidedProxy(clientSide = "net.dimensionClient.src.ClientProxy", serverSide = "net.dimension.src.CommonProxy") public static CommonProxy proxy; @Init public void load(FMLInitializationEvent event) { rubyore = (new BlockRubyOre(500, 0)).setBlockName("rubyo"); LanguageRegistry.addName(rubyore, "Ruby Ore"); MinecraftForge.setBlockHarvestLevel(rubyore, "pickaxe", 2); GameRegistry.registerBlock(rubyore); GameRegistry.registerWorldGenerator(new WorldGenerator()); ruby = (new ItemRuby(501).setItemName("ruby").setIconIndex(1)); LanguageRegistry.addName(ruby, "Ruby"); proxy.registerRenderThings(); ceular = (new ItemCeular(502).setItemName("ceular").setIconIndex(3)); LanguageRegistry.addName(ceular, "Ceular"); GameRegistry.registerFuelHandler(new Fuel()); ceularore = (new BlockCeularOre(503,2).setBlockName("ceularo")); LanguageRegistry.addName(ceularore, "Ceular Ore"); MinecraftForge.setBlockHarvestLevel(ceularore, "pickaxe", 1); GameRegistry.registerBlock(ceularore); proxy.registerRenderThings(); EntityRegistry.registerModEntity(EntityBopper.class, "Bopper", 1, this, 70, 2, true); EntityRegistry.addSpawn(EntityBopper.class, 10, 1, 2, EnumCreatureType.monster, BiomeGenBase.beach, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.jungleHills, BiomeGenBase.mushroomIsland, BiomeGenBase.mushroomIslandShore, BiomeGenBase.ocean, BiomeGenBase.plains, BiomeGenBase.river, BiomeGenBase.swampland, BiomeGenBase.iceMountains); bopperbone = (new ItemBopperBone(504).setItemName("bbones").setIconIndex(4)); LanguageRegistry.addName(bopperbone, "BopperBone"); compressedbopperbones = (new BlockCBones(505,5).setBlockName("cbones").setHardness(1.5f)); LanguageRegistry.addName(compressedbopperbones, "Compressed BopperBones"); GameRegistry.registerBlock(compressedbopperbones); proxy.addRecipe(); bopperflesh = (new overworldFood(506, 4, 4F, false).setItemName("bopperflesh").setIconIndex(7)); LanguageRegistry.addName(bopperflesh, "Bopper Flesh"); hammer = (new ItemHammer(507).setItemName("hammer").setIconIndex(6)); LanguageRegistry.addName(hammer, "Hammer"); DimensionManager.registerProviderType(10, Tundra_WorldProvider1.class, true); DimensionManager.registerDimension(10, 10); //tundraportal = (new BlockTundraPortal(3000,255).setBlockName("tundraportal").setHardness(10000000.0f)); LanguageRegistry.addName(tundraportal, "Tundra Portal"); GameRegistry.registerCraftingHandler(new CraftingHandler()); //GameRegistry.addRecipe(new ItemStack(compressedbopperbones, 1), new Object[] { "CCC", "CCC", "CCC", Character.valueOf('C'), bopperbone}); //GameRegistry.addRecipe(new ItemStack(hammer, 1), new Object[] { "AAA", "AB ", " B ", Character.valueOf('A'), ruby, Character.valueOf('B'), bopperbone}); ModLoader.addRecipe(new ItemStack(hammer,1), new Object[] { "AAA", "AB ", " B ", Character.valueOf('A'), ruby, Character.valueOf('B'), bopperbone}); rubyshards = (new ItemRubyShards(508).setItemName("rshards").setIconIndex(); LanguageRegistry.addName(rubyshards, "Ruby Shards"); chisel = (new ItemScrewdriver(509).setItemName("chisel").setIconIndex(9)); LanguageRegistry.addName(chisel, "Chisel"); ModLoader.addRecipe(new ItemStack(chisel,1), new Object[] { " ", " A ", " B ", Character.valueOf('A'), Item.ingotIron, Character.valueOf('B'), Item.stick}); circuit = (new ItemCircuit(510).setItemName("circuit").setIconIndex(10)); LanguageRegistry.addName(circuit, "Cirucit"); ModLoader.addShapelessRecipe(new ItemStack(circuit, 1), new ItemStack(rubyshards), new ItemStack(chisel)); ModLoader.addShapelessRecipe(new ItemStack(rubyshards,2), new ItemStack(ruby), new ItemStack(hammer)); computer = new BlockComputer(511, 11).setBlockName("computer"); LanguageRegistry.addName(computer, "Computer"); ModLoader.addRecipe(new ItemStack(computer,1), new Object[] {"AAA", "DCB", "ABA", Character.valueOf('A'), Item.ingotIron, Character.valueOf('B'), Block.redstoneWire, Character.valueOf('C'), this.circuit, Character.valueOf('D'), Block.glass}); } @PreInit public void init(FMLPreInitializationEvent preEvent) { instance = this; } @PostInit public static void postinit(FMLPostInitializationEvent event) { } } teleporter class package net.dimension.src; import java.util.Random; import net.minecraft.src.Entity; import net.minecraft.src.MathHelper; import net.minecraft.src.Teleporter; import net.minecraft.src.World; import net.minecraft.src.WorldServer; public class Tundra_Teleporter extends Teleporter { public Tundra_Teleporter() { super(null); // TODO Auto-generated constructor stub } private Random random = new Random(); public void placeInPortal(World par1World, Entity par2Entity) { if (par1World.provider.dimensionId != 0) { if (!this.placeInExistingPortal(par1World, par2Entity)) { this.createPortal(par1World, par2Entity); this.placeInExistingPortal(par1World, par2Entity); } } else { int var3 = MathHelper.floor_double(par2Entity.posX); int var4 = MathHelper.floor_double(par2Entity.posY) - 1; int var5 = MathHelper.floor_double(par2Entity.posZ); byte var6 = 1; byte var7 = 0; for (int var8 = -2; var8 <= 2; ++var8) { for (int var9 = -2; var9 <= 2; ++var9) { for (int var10 = -1; var10 < 3; ++var10) { int var11 = var3 + var9 * var6 + var8 * var7; int var12 = var4 + var10; int var13 = var5 + var9 * var7 - var8 * var6; boolean var14 = var10 < 0; par1World.setBlockWithNotify(var11, var12, var13, var14 ? DimensionBase.compressedbopperbones.blockID : 0); } } } par2Entity.setLocationAndAngles((double)var3, (double)var4, (double)var5, par2Entity.rotationYaw, 0.0F); par2Entity.motionX = par2Entity.motionY = par2Entity.motionZ = 0.0D; } } /** * Place an entity in a nearby portal which already exists. */ public boolean placeInExistingPortal(World par1World, Entity par2Entity) { short var3 = 128; double var4 = -1.0D; int var6 = 0; int var7 = 0; int var8 = 0; int var9 = MathHelper.floor_double(par2Entity.posX); int var10 = MathHelper.floor_double(par2Entity.posZ); double var18; for (int var11 = var9 - var3; var11 <= var9 + var3; ++var11) { double var12 = (double)var11 + 0.5D - par2Entity.posX; for (int var14 = var10 - var3; var14 <= var10 + var3; ++var14) { double var15 = (double)var14 + 0.5D - par2Entity.posZ; for (int var17 = 127; var17 >= 0; --var17) { if (par1World.getBlockId(var11, var17, var14) == DimensionBase.tundraportal.blockID) { while (par1World.getBlockId(var11, var17 - 1, var14) == DimensionBase.tundraportal.blockID) { --var17; } var18 = (double)var17 + 0.5D - par2Entity.posY; double var20 = var12 * var12 + var18 * var18 + var15 * var15; if (var4 < 0.0D || var20 < var4) { var4 = var20; var6 = var11; var7 = var17; var8 = var14; } } } } } if (var4 >= 0.0D) { double var22 = (double)var6 + 0.5D; double var16 = (double)var7 + 0.5D; var18 = (double)var8 + 0.5D; if (par1World.getBlockId(var6 - 1, var7, var8) == DimensionBase.tundraportal.blockID) { var22 -= 0.5D; } if (par1World.getBlockId(var6 + 1, var7, var8) == DimensionBase.tundraportal.blockID) { var22 += 0.5D; } if (par1World.getBlockId(var6, var7, var8 - 1) == DimensionBase.tundraportal.blockID) { var18 -= 0.5D; } if (par1World.getBlockId(var6, var7, var8 + 1) == DimensionBase.tundraportal.blockID) { var18 += 0.5D; } par2Entity.setLocationAndAngles(var22, var16, var18, par2Entity.rotationYaw, 0.0F); par2Entity.motionX = par2Entity.motionY = par2Entity.motionZ = 0.0D; return true; } else { return false; } } /** * Create a new portal near an entity. */ public boolean createPortal(World par1World, Entity par2Entity) { byte var3 = 16; double var4 = -1.0D; int var6 = MathHelper.floor_double(par2Entity.posX); int var7 = MathHelper.floor_double(par2Entity.posY); int var8 = MathHelper.floor_double(par2Entity.posZ); int var9 = var6; int var10 = var7; int var11 = var8; int var12 = 0; int var13 = this.random.nextInt(4); int var14; double var15; int var17; double var18; int var21; int var20; int var23; int var22; int var25; int var24; int var27; int var26; int var28; double var34; double var32; for (var14 = var6 - var3; var14 <= var6 + var3; ++var14) { var15 = (double)var14 + 0.5D - par2Entity.posX; for (var17 = var8 - var3; var17 <= var8 + var3; ++var17) { var18 = (double)var17 + 0.5D - par2Entity.posZ; label274: for (var20 = 127; var20 >= 0; --var20) { if (par1World.isAirBlock(var14, var20, var17)) { while (var20 > 0 && par1World.isAirBlock(var14, var20 - 1, var17)) { --var20; } for (var21 = var13; var21 < var13 + 4; ++var21) { var22 = var21 % 2; var23 = 1 - var22; if (var21 % 4 >= 2) { var22 = -var22; var23 = -var23; } for (var24 = 0; var24 < 3; ++var24) { for (var25 = 0; var25 < 4; ++var25) { for (var26 = -1; var26 < 4; ++var26) { var27 = var14 + (var25 - 1) * var22 + var24 * var23; var28 = var20 + var26; int var29 = var17 + (var25 - 1) * var23 - var24 * var22; if (var26 < 0 && !par1World.getBlockMaterial(var27, var28, var29).isSolid() || var26 >= 0 && !par1World.isAirBlock(var27, var28, var29)) { continue label274; } } } } var32 = (double)var20 + 0.5D - par2Entity.posY; var34 = var15 * var15 + var32 * var32 + var18 * var18; if (var4 < 0.0D || var34 < var4) { var4 = var34; var9 = var14; var10 = var20; var11 = var17; var12 = var21 % 4; } } } } } } if (var4 < 0.0D) { for (var14 = var6 - var3; var14 <= var6 + var3; ++var14) { var15 = (double)var14 + 0.5D - par2Entity.posX; for (var17 = var8 - var3; var17 <= var8 + var3; ++var17) { var18 = (double)var17 + 0.5D - par2Entity.posZ; label222: for (var20 = 127; var20 >= 0; --var20) { if (par1World.isAirBlock(var14, var20, var17)) { while (var20 > 0 && par1World.isAirBlock(var14, var20 - 1, var17)) { --var20; } for (var21 = var13; var21 < var13 + 2; ++var21) { var22 = var21 % 2; var23 = 1 - var22; for (var24 = 0; var24 < 4; ++var24) { for (var25 = -1; var25 < 4; ++var25) { var26 = var14 + (var24 - 1) * var22; var27 = var20 + var25; var28 = var17 + (var24 - 1) * var23; if (var25 < 0 && !par1World.getBlockMaterial(var26, var27, var28).isSolid() || var25 >= 0 && !par1World.isAirBlock(var26, var27, var28)) { continue label222; } } } var32 = (double)var20 + 0.5D - par2Entity.posY; var34 = var15 * var15 + var32 * var32 + var18 * var18; if (var4 < 0.0D || var34 < var4) { var4 = var34; var9 = var14; var10 = var20; var11 = var17; var12 = var21 % 2; } } } } } } } int var30 = var9; int var16 = var10; var17 = var11; int var31 = var12 % 2; int var19 = 1 - var31; if (var12 % 4 >= 2) { var31 = -var31; var19 = -var19; } boolean var33; if (var4 < 0.0D) { if (var10 < 70) { var10 = 70; } if (var10 > 118) { var10 = 118; } var16 = var10; for (var20 = -1; var20 <= 1; ++var20) { for (var21 = 1; var21 < 3; ++var21) { for (var22 = -1; var22 < 3; ++var22) { var23 = var30 + (var21 - 1) * var31 + var20 * var19; var24 = var16 + var22; var25 = var17 + (var21 - 1) * var19 - var20 * var31; var33 = var22 < 0; par1World.setBlockWithNotify(var23, var24, var25, var33 ? DimensionBase.compressedbopperbones.blockID : 0); } } } } for (var20 = 0; var20 < 4; ++var20) { par1World.editingBlocks = true; for (var21 = 0; var21 < 4; ++var21) { for (var22 = -1; var22 < 4; ++var22) { var23 = var30 + (var21 - 1) * var31; var24 = var16 + var22; var25 = var17 + (var21 - 1) * var19; var33 = var21 == 0 || var21 == 3 || var22 == -1 || var22 == 3; par1World.setBlockWithNotify(var23, var24, var25, var33 ? DimensionBase.compressedbopperbones.blockID : DimensionBase.tundraportal.blockID); } } par1World.editingBlocks = false; for (var21 = 0; var21 < 4; ++var21) { for (var22 = -1; var22 < 4; ++var22) { var23 = var30 + (var21 - 1) * var31; var24 = var16 + var22; var25 = var17 + (var21 - 1) * var19; par1World.notifyBlocksOfNeighborChange(var23, var24, var25, par1World.getBlockId(var23, var24, var25)); } } } return true; } } BlockPortal class package net.dimension.src; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.Side; import cpw.mods.fml.common.asm.SideOnly; import java.util.Random; import net.minecraft.src.AxisAlignedBB; import net.minecraft.src.Block; import net.minecraft.src.BlockBreakable; import net.minecraft.src.CreativeTabs; import net.minecraft.src.Entity; import net.minecraft.src.EntityPlayer; import net.minecraft.src.EntityPlayerMP; import net.minecraft.src.EntityPlayerSP; import net.minecraft.src.EntityPortalFX; import net.minecraft.src.IBlockAccess; import net.minecraft.src.Material; import net.minecraft.src.ModLoader; import net.minecraft.src.World; import net.minecraft.src.WorldServer; import net.dimension.src.DimensionBase; import net.dimension.src.Tundra_Teleporter; public class BlockTundraPortal extends Block { public Tundra_Teleporter teleporter = new Tundra_Teleporter(); public BlockTundraPortal(){ super(3000, 0, Material.iron); this.setBlockName("tundraportal"); setCreativeTab(CreativeTabs.tabBlock); this.setResistance(100000000.0f); } @Override public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity) { if(entity.ridingEntity == null && entity.riddenByEntity == null && entity instanceof EntityPlayerSP) { if(ModLoader.getMinecraftInstance().thePlayer.timeUntilPortal == 0) { if(ModLoader.getMinecraftInstance().thePlayer.dimension != 10) { ModLoader.getMinecraftInstance().thePlayer.timeUntilPortal = 5; ModLoader.getMinecraftInstance().usePortal(10, teleporter); }else { ModLoader.getMinecraftInstance().thePlayer.timeUntilPortal = 5; ModLoader.getMinecraftInstance().usePortal(0, teleporter); } } else{ ModLoader.getMinecraftInstance().thePlayer.timeUntilPortal = 5; } } } public String getTextureFile() { return ("/mods/SpriteSheet.png"); } } WorldProvider class package net.dimension.src; import net.minecraft.src.WorldProvider; public class Tundra_WorldProvider1 extends WorldProvider{ // Returns the dimension's name, e.g. "The End", "Nether", or "Overworld". public String getDimensionName() { return "Tundra"; } }
  13. in the teleporter class you are not telling it to make a new portal so to me i think you used the end teleporter class. public void placeInPortal(World par1World, Entity par2Entity) { if (par1World.provider.dimensionId != 0) { if (!this.placeInExistingPortal(par1World, par2Entity)) { this.createPortal(par1World, par2Entity); this.placeInExistingPortal(par1World, par2Entity); } } else { int var3 = MathHelper.floor_double(par2Entity.posX); int var4 = MathHelper.floor_double(par2Entity.posY) - 1; int var5 = MathHelper.floor_double(par2Entity.posZ); byte var6 = 1; byte var7 = 0; for (int var8 = -2; var8 <= 2; ++var8) { for (int var9 = -2; var9 <= 2; ++var9) { for (int var10 = -1; var10 < 3; ++var10) { int var11 = var3 + var9 * var6 + var8 * var7; int var12 = var4 + var10; int var13 = var5 + var9 * var7 - var8 * var6; boolean var14 = var10 < 0; par1World.setBlockWithNotify(var11, var12, var13, var14 ? DimensionBase.compressedbopperbones.blockID : 0); } } } par2Entity.setLocationAndAngles((double)var3, (double)var4, (double)var5, par2Entity.rotationYaw, 0.0F); par2Entity.motionX = par2Entity.motionY = par2Entity.motionZ = 0.0D; } } this is how it should look because you forgot to add this line: this.createPortal(par1World, par2Entity);
  14. my base mod keeps telling me to change to I need help. Here is the whole base mod and here is the teleporter class
  15. hi i am having trouble making a item stay in the crafting table after it is used in a recipe. Help Please? Examples: philosopher's stone from EE or handsaw from Redpower 2
  16. is this going to be for one of your tutorials because i really need a dimension tutorial.I just keep messing it up.
  17. //This tells it what to drop public int idDropped(int par1, Random par2Random, int par3) { //This is what it drops. DimensionBase is my base mod file,ruby is what i want it to drop and shiftedIndex is for items and BlockID is for blocks. return DimensionBase.ruby.shiftedIndex; } //Amount it drops public int quantityDropped(Random random) { return 4; } EDIT:this goes in the Block.java
×
×
  • Create New...

Important Information

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