Jump to content

AssassinHero

Members
  • Posts

    179
  • Joined

  • Last visited

Posts posted by AssassinHero

  1. Hi,

     

    I am creating a world generator for my mod so that i can spawn custom blocks into my world. I have got an issue with the BlockPos section as i've always remembered it to be the X,Y,Z coords of the block that you are wanting to spawn.

     

    So far I have got this

    package minecraft.criminoxmc.parallelworlds;
    
    import java.util.Random;
    
    import net.minecraft.util.BlockPos;
    import net.minecraft.world.World;
    import net.minecraft.world.chunk.IChunkProvider;
    import net.minecraft.world.gen.feature.WorldGenMinable;
    import net.minecraftforge.fml.common.IWorldGenerator;
    
    public class ParallelWorldsGenerator implements IWorldGenerator {
    
    @Override
    public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator,
    		IChunkProvider chunkProvider) {
    
    	switch (world.provider.getDimensionId()) {
    	case -1:
    		generateNether(world, random, chunkX * 16, chunkZ * 16);
    		break;
    	case 0:
    		generateSurface(world, random, chunkX * 16, chunkZ * 16);
    		break;
    	case 1:
    		generateEnd(world, random, chunkX * 16, chunkZ * 16);
    		break;
    	}
    
    }
    
    private void generateEnd(World world, Random random, int i, int j) {
    
    }
    
    private void generateSurface(World world, Random random, int i, int j) {
    	for (int k = 0; k < 4; k++) {
    		int NightOreXCoord = i + random.nextInt(16);
    		int NightOreYCoord = i + random.nextInt(10);
    		int NightOreZCoord = j + random.nextInt(16);
    
    		(new WorldGenMinable(ParallelWorldsMain.NightOre.getDefaultState(), 4)).generate(world, random, BlockPos);
    	}
    }
    
    
    
    private void generateNether(World world, Random random, int i, int j) {
    
    }
    
    }
    

     

    So it's really i don't know what to do with the BlockPos, do i have to wrap the X,Y,Z coords for that block into BlockPos and if so can someone shed some light on this as i'm a bit rusty after being gone for a bit.

     

    Also Here is my main code

    package minecraft.criminoxmc.parallelworlds;
    
    import minecraft.criminoxmc.parallelworlds.items.NightGem;
    import net.minecraft.item.Item;
    import net.minecraftforge.fml.common.Mod;
    import net.minecraftforge.fml.common.Mod.EventHandler;
    import net.minecraftforge.fml.common.event.FMLInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
    import net.minecraftforge.fml.common.registry.GameRegistry;
    
    @Mod(modid = ParallelWorldsMain.MODID, version = ParallelWorldsMain.Version)
    public class ParallelWorldsMain {
    
    public static final String MODID = "Parallel Worlds";
    public static final String Version = "1.0.0";
    
    
    //Block Static
    public static minecraft.criminoxmc.parallelworlds.blocks.NightOre NightOre;
    
    //Item Static
    public static Item NightGem;
    @EventHandler
    public void PreInit(FMLPreInitializationEvent event){
    	// Block New
    	NightOre = new minecraft.criminoxmc.parallelworlds.blocks.NightOre();
    
    	// Item New
    	NightGem = new NightGem();
    	//Block Registry
    	GameRegistry.registerBlock(NightOre, "Night Ore");
    
    	//Item Registry
    	GameRegistry.registerItem(NightGem, "Night Gem");
    }
    
    
    public void Init(FMLInitializationEvent event){
    	//Generation
    	GameRegistry.registerWorldGenerator(new ParallelWorldsGenerator(), 14);
    }
    
    public void PostInit(FMLPostInitializationEvent event){
    
    }
    
    }
    

     

    I am assuming that the number on the registerworldgenerator is a dimension ID, feel free to correct me if i am wrong.

     

    Thanks people

    :)

  2. hi,

     

    I have just moved my forge folder from my desktop pc where i usually code to my laptop due to travelling.

     

    i went to run gradlew.bat setupDecompWorkspace --refresh-dependencies and nothing happened so i went to click on gradlew.bat to see if it would do anything and was greeted with 'gradlew.bat is not a valid win32 application'.

     

    my laptop is running 32 bit whereas my computer is running 64 bit.

     

    Is there anyway i can fix this?

     

    Thanks

  3. Hey, I have got an error with this code it seems

    		//Game Registry Shapeless
    	GameRegistry.addShapelessRecipe(new ItemStack(ParallelWorldsMain.DarkWoodPlanks, 1), new Object[]{
    		new ItemStack(ParallelWorldsMain.DarkWood), 1});
    }

     

    Here is the crash report

    ---- Minecraft Crash Report ----
    // Hi. I'm Minecraft, and I'm a crashaholic.
    
    Time: 07/08/14 13:12
    Description: Initializing game
    
    java.lang.RuntimeException: Invalid shapeless recipy!
    at net.minecraft.item.crafting.CraftingManager.addShapelessRecipe(CraftingManager.java:271)
    at cpw.mods.fml.common.registry.GameRegistry.addShapelessRecipe(GameRegistry.java:238)
    at com.assassinhero.parallelworlds.ParallelWorldsMain.PreInit(ParallelWorldsMain.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
    at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:513)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:532)
    at net.minecraft.client.Minecraft.run(Minecraft.java:941)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at GradleStart.bounce(GradleStart.java:108)
    at GradleStart.startClient(GradleStart.java:101)
    at GradleStart.main(GradleStart.java:56)
    
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- Head --
    Stacktrace:
    at net.minecraft.item.crafting.CraftingManager.addShapelessRecipe(CraftingManager.java:271)
    at cpw.mods.fml.common.registry.GameRegistry.addShapelessRecipe(GameRegistry.java:238)
    at com.assassinhero.parallelworlds.ParallelWorldsMain.PreInit(ParallelWorldsMain.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
    at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:513)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:532)
    
    -- Initialization --
    Details:
    Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:941)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at GradleStart.bounce(GradleStart.java:108)
    at GradleStart.startClient(GradleStart.java:101)
    at GradleStart.main(GradleStart.java:56)
    
    -- System Details --
    Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 1.7.0_65, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 698194552 bytes (665 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.05 FML v7.10.25.1198 Minecraft Forge 10.13.0.1198 4 mods loaded, 4 mods active
    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
    FML{7.10.25.1198} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1198.jar) Unloaded->Constructed->Pre-initialized
    Forge{10.13.0.1198} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1198.jar) Unloaded->Constructed->Pre-initialized
    ParallelWorldsMain{1.0.0} [ParallelWorldsMain] (bin) Unloaded->Constructed->Errored
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: GeForce GT 630/PCIe/SSE2 GL version 4.2.0, NVIDIA Corporation
    GL Caps: Using GL 1.3 multitexturing.
    Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
    Anisotropic filtering is supported and maximum anisotropy is 16.
    Shaders are available because OpenGL 2.1 is supported.
    
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: English (US)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)

     

     

    If anyone could shed light on this it would be much appreciated.

  4. I am making a chunk provider for my dimension. I have this error

     

    Multiple markers at this line
    - The method populate(IChunkProvider, World, Random, int, int, boolean, PopulateChunkEvent.Populate.EventType) in the type TerrainGen is not applicable for the arguments (IChunkProvider, World, Random, int, int, 
     boolean, InitMapGenEvent.EventType)
    - LAKE cannot be resolved to a variable

     

    But yet the tutorial I am following to help me has the same code here as me and it works fine for him. I am coding in the same version of forge and Minecraft to him so i don't understand this.

     

    Here is the full code:

    package assassinhero.parallelworlds;
    
    import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE;
    import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.SCATTERED_FEATURE;
    import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE;
    
    import java.util.List;
    import java.util.Random;
    
    import net.minecraft.block.BlockSand;
    import net.minecraft.entity.EnumCreatureType;
    import net.minecraft.util.IProgressUpdate;
    import net.minecraft.world.ChunkPosition;
    import net.minecraft.world.World;
    import net.minecraft.world.biome.BiomeGenBase;
    import net.minecraft.world.chunk.Chunk;
    import net.minecraft.world.chunk.IChunkProvider;
    import net.minecraft.world.gen.*;
    import net.minecraft.world.gen.feature.*;
    import net.minecraft.world.gen.structure.*;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.event.terraingen.PopulateChunkEvent;
    import net.minecraftforge.event.terraingen.TerrainGen;
    public class ChunkProviderNight implements IChunkProvider {
    
    private Random rand;
    
    private World worldObj;
    
    private final boolean mapFeaturesEnabled;
    
    
    private double[] noiseArray;
    private double[] stoneNoise = new double[256];
    private MapGenBase caveGenerator = new MapGenCaves();
    private MapGenVillage villageGenerator = new MapGenVillage();
    private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature();
    private BiomeGenBase[] biomesforGeneration;
    
    {
    	caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE);
    	villageGenerator = (MapGenVillage)TerrainGen.getModdedMapGen(villageGenerator, VILLAGE);
    	scatteredFeatureGenerator = (MapGenScatteredFeature)TerrainGen.getModdedMapGen(scatteredFeatureGenerator, SCATTERED_FEATURE);
    }
    
    
    public ChunkProviderNight(World worldObj, long seed, boolean features) {
    	this.worldObj = worldObj;
    	this.mapFeaturesEnabled = features;
    	this.rand = new Random(seed);
    
    }
    
    
    public boolean chunkExists(int i, int j) {
    
    	return false;
    }
    
    
    public Chunk provideChunk(int i, int j) {
    
    	return null; 
    }
    
    
    public Chunk loadChunk(int i, int j) {
    
    	return null;
    }
    
    
    public void populate(IChunkProvider ichunkprovider, int i, int j) {
    	BlockSand.fallInstantly = true;
    	int k = i * 16;
    	int l = j * 16;
    	BiomeGenBase biome = this.worldObj.getBiomeGenForCoords(k + 16, l + 16);
    	this.rand.setSeed(this.worldObj.getSeed());
    	long i1 = this.rand.nextLong() / 2L * 2L + 1L;
    	long j1 = this.rand.nextLong() / 2L * 2L + 1L;
    	this.rand.setSeed((long)i * i1 + (long)j * j1 ^ this.worldObj.getSeed());
    	boolean flag = false;
    
    	MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(ichunkprovider, worldObj, rand, i, j, flag));
    
    
    	if(mapFeaturesEnabled){
    		this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, rand, i, j);
    		flag = this.villageGenerator.generateStructuresInChunk(this.worldObj, rand, i, j);
    	}
    
    	int k1;
    	int l1;
    	int i2;
    
    	if(biome != BiomeGenBase.desert && biome != BiomeGenBase.desertHills && !flag && this.rand.nextInt(4) == 0 && TerrainGen.populate(ichunkprovider, this.worldObj, rand, i, j, flag, LAKE)){
    
    	}
    
    }
    
    
    
    public boolean saveChunks(boolean flag, IProgressUpdate iprogressupdate) {
    
    	return false;
    }
    
    
    public boolean unloadQueuedChunks() {
    
    	return false;
    }
    
    
    public boolean canSave() {
    
    	return false;
    }
    
    
    public String makeString() {
    
    	return null;
    }
    
    
    public List getPossibleCreatures(EnumCreatureType enumcreaturetype, int i,
    		int j, int k) {
    
    	return null;
    }
    
    
    public ChunkPosition findClosestStructure(World world, String s, int i,
    		int j, int k) {
    
    	return null;
    }
    
    
    public int getLoadedChunkCount() {
    
    	return 0;
    }
    
    
    public void recreateStructures(int i, int j) {
    
    
    }
    
    
    public void saveExtraData() {
    
    
    }
    
    }
    

  5. Guy, if you want to make mods, please learn Java first!

     

    public class ParallelTeleporter extends Teleporter
    {
    super(par1WorldServer);
        private final WorldServer worldServerInstance;

    -> You are not inside a constructor, so you are not allowed to run the method super(World);!

     

    private final List destinationCoordinateKeys = new ArrayList();

    ->You get an error, because you don't initialize all final fields in the constructor.

     

     

    Thanks for the help but being a douche about it doesn't. This is the best way for me to learn, I do know some Java and this is the first time me doing something like this and the tut I was following didn't state it so you know it's a bit difficult....

  6. I am very new to Java and just need help understanding what to do with these error ;-;

     

    	public ParallelTeleporter(WorldServer par1worldserver){
    super(par1worldserver);
    }
        
    

    The blank final field worldServerInstance may not have been initialized

     

      public ParallelTeleporter(WorldServer par1worldserver)
        {
            this.worldServerInstance = par1worldserver;
            this.random = new Random(par1worldserver.getSeed());
        }
    

     

    Implicit super constructor Teleporter() is undefined. Must explicitly invoke another constructor

     

    Full Code:

    package assassinhero.parallelworlds;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Random;
    
    import net.minecraft.block.Block;
    import net.minecraft.entity.Entity;
    import net.minecraft.util.Direction;
    import net.minecraft.util.LongHashMap;
    import net.minecraft.util.MathHelper;
    import net.minecraft.world.ChunkCoordIntPair;
    import net.minecraft.world.PortalPosition;
    import net.minecraft.world.Teleporter;
    import net.minecraft.world.WorldServer;
    
    public class ParallelTeleporter extends Teleporter
    {
    
    private final WorldServer worldServerInstance;
    
    public ParallelTeleporter(WorldServer par1worldserver){
    super(par1worldserver);
    }
        
    
        private final Random random;
    
        private final LongHashMap destinationCoordinateCache = new LongHashMap();
    
    
        private final List destinationCoordinateKeys = new ArrayList();
    
        public ParallelTeleporter(WorldServer par1worldserver)
        {
            this.worldServerInstance = par1worldserver;
            this.random = new Random(par1worldserver.getSeed());
        }
    
        public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8)
        {
            if (this.worldServerInstance.provider.dimensionId != 1)
            {
                if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8))
                {
                    this.makePortal(par1Entity);
                    this.placeInExistingPortal(par1Entity, par2, par4, par6, par8);
                }
            }
            else
            {
                int i = MathHelper.floor_double(par1Entity.posX);
                int j = MathHelper.floor_double(par1Entity.posY) - 1;
                int k = MathHelper.floor_double(par1Entity.posZ);
                byte b0 = 1;
                byte b1 = 0;
    
                for (int l = -2; l <= 2; ++l)
                {
                    for (int i1 = -2; i1 <= 2; ++i1)
                    {
                        for (int j1 = -1; j1 < 3; ++j1)
                        {
                            int k1 = i + i1 * b0 + l * b1;
                            int l1 = j + j1;
                            int i2 = k + i1 * b1 - l * b0;
                            boolean flag = j1 < 0;
                            this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.obsidian.blockID : 0);
                        }
                    }
                }
    
                par1Entity.setLocationAndAngles((double)i, (double)j, (double)k, par1Entity.rotationYaw, 0.0F);
                par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;
            }
        }
    
    
        public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8)
        {
            short short1 = 128;
            double d3 = -1.0D;
            int i = 0;
            int j = 0;
            int k = 0;
            int l = MathHelper.floor_double(par1Entity.posX);
            int i1 = MathHelper.floor_double(par1Entity.posZ);
            long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1);
            boolean flag = true;
            double d4;
            int k1;
    
            if (this.destinationCoordinateCache.containsItem(j1))
            {
                PortalPosition portalposition = (PortalPosition)this.destinationCoordinateCache.getValueByKey(j1);
                d3 = 0.0D;
                i = portalposition.posX;
                j = portalposition.posY;
                k = portalposition.posZ;
                portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime();
                flag = false;
            }
            else
            {
                for (k1 = l - short1; k1 <= l + short1; ++k1)
                {
                    double d5 = (double)k1 + 0.5D - par1Entity.posX;
    
                    for (int l1 = i1 - short1; l1 <= i1 + short1; ++l1)
                    {
                        double d6 = (double)l1 + 0.5D - par1Entity.posZ;
    
                        for (int i2 = this.worldServerInstance.getActualHeight() - 1; i2 >= 0; --i2)
                        {
                            if (this.worldServerInstance.getBlockId(k1, i2, l1) == Block.portal.blockID)
                            {
                                while (this.worldServerInstance.getBlockId(k1, i2 - 1, l1) == Block.portal.blockID)
                                {
                                    --i2;
                                }
    
                                d4 = (double)i2 + 0.5D - par1Entity.posY;
                                double d7 = d5 * d5 + d4 * d4 + d6 * d6;
    
                                if (d3 < 0.0D || d7 < d3)
                                {
                                    d3 = d7;
                                    i = k1;
                                    j = i2;
                                    k = l1;
                                }
                            }
                        }
                    }
                }
            }
    
            if (d3 >= 0.0D)
            {
                if (flag)
                {
                    this.destinationCoordinateCache.add(j1, new PortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime()));
                    this.destinationCoordinateKeys.add(Long.valueOf(j1));
                }
    
                double d8 = (double)i + 0.5D;
                double d9 = (double)j + 0.5D;
                d4 = (double)k + 0.5D;
                int j2 = -1;
    
                if (this.worldServerInstance.getBlockId(i - 1, j, k) == Block.portal.blockID)
                {
                    j2 = 2;
                }
    
                if (this.worldServerInstance.getBlockId(i + 1, j, k) == Block.portal.blockID)
                {
                    j2 = 0;
                }
    
                if (this.worldServerInstance.getBlockId(i, j, k - 1) == Block.portal.blockID)
                {
                    j2 = 3;
                }
    
                if (this.worldServerInstance.getBlockId(i, j, k + 1) == Block.portal.blockID)
                {
                    j2 = 1;
                }
    
                int k2 = par1Entity.getTeleportDirection();
    
                if (j2 > -1)
                {
                    int l2 = Direction.rotateLeft[j2];
                    int i3 = Direction.offsetX[j2];
                    int j3 = Direction.offsetZ[j2];
                    int k3 = Direction.offsetX[l2];
                    int l3 = Direction.offsetZ[l2];
                    boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3);
                    boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3);
    
                    if (flag1 && flag2)
                    {
                        j2 = Direction.rotateOpposite[j2];
                        l2 = Direction.rotateOpposite[l2];
                        i3 = Direction.offsetX[j2];
                        j3 = Direction.offsetZ[j2];
                        k3 = Direction.offsetX[l2];
                        l3 = Direction.offsetZ[l2];
                        k1 = i - k3;
                        d8 -= (double)k3;
                        int i4 = k - l3;
                        d4 -= (double)l3;
                        flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, i4 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, i4 + j3 + l3);
                        flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, i4 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, i4 + j3);
                    }
    
                    float f1 = 0.5F;
                    float f2 = 0.5F;
    
                    if (!flag1 && flag2)
                    {
                        f1 = 1.0F;
                    }
                    else if (flag1 && !flag2)
                    {
                        f1 = 0.0F;
                    }
                    else if (flag1 && flag2)
                    {
                        f2 = 0.0F;
                    }
    
                    d8 += (double)((float)k3 * f1 + f2 * (float)i3);
                    d4 += (double)((float)l3 * f1 + f2 * (float)j3);
                    float f3 = 0.0F;
                    float f4 = 0.0F;
                    float f5 = 0.0F;
                    float f6 = 0.0F;
    
                    if (j2 == k2)
                    {
                        f3 = 1.0F;
                        f4 = 1.0F;
                    }
                    else if (j2 == Direction.rotateOpposite[k2])
                    {
                        f3 = -1.0F;
                        f4 = -1.0F;
                    }
                    else if (j2 == Direction.rotateRight[k2])
                    {
                        f5 = 1.0F;
                        f6 = -1.0F;
                    }
                    else
                    {
                        f5 = -1.0F;
                        f6 = 1.0F;
                    }
    
                    double d10 = par1Entity.motionX;
                    double d11 = par1Entity.motionZ;
                    par1Entity.motionX = d10 * (double)f3 + d11 * (double)f6;
                    par1Entity.motionZ = d10 * (double)f5 + d11 * (double)f4;
                    par1Entity.rotationYaw = par8 - (float)(k2 * 90) + (float)(j2 * 90);
                }
                else
                {
                    par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;
                }
    
                par1Entity.setLocationAndAngles(d8, d9, d4, par1Entity.rotationYaw, par1Entity.rotationPitch);
                return true;
            }
            else
            {
                return false;
            }
        }
    
        public boolean makePortal(Entity par1Entity)
        {
            byte b0 = 16;
            double d0 = -1.0D;
            int i = MathHelper.floor_double(par1Entity.posX);
            int j = MathHelper.floor_double(par1Entity.posY);
            int k = MathHelper.floor_double(par1Entity.posZ);
            int l = i;
            int i1 = j;
            int j1 = k;
            int k1 = 0;
            int l1 = this.random.nextInt(4);
            int i2;
            double d1;
            double d2;
            int j2;
            int k2;
            int l2;
            int i3;
            int j3;
            int k3;
            int l3;
            int i4;
            int j4;
            int k4;
            double d3;
            double d4;
    
            for (i2 = i - b0; i2 <= i + b0; ++i2)
            {
                d1 = (double)i2 + 0.5D - par1Entity.posX;
    
                for (j2 = k - b0; j2 <= k + b0; ++j2)
                {
                    d2 = (double)j2 + 0.5D - par1Entity.posZ;
                    label274:
    
                    for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2)
                    {
                        if (this.worldServerInstance.isAirBlock(i2, k2, j2))
                        {
                            while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2))
                            {
                                --k2;
                            }
    
                            for (i3 = l1; i3 < l1 + 4; ++i3)
                            {
                                l2 = i3 % 2;
                                k3 = 1 - l2;
    
                                if (i3 % 4 >= 2)
                                {
                                    l2 = -l2;
                                    k3 = -k3;
                                }
    
                                for (j3 = 0; j3 < 3; ++j3)
                                {
                                    for (i4 = 0; i4 < 4; ++i4)
                                    {
                                        for (l3 = -1; l3 < 4; ++l3)
                                        {
                                            k4 = i2 + (i4 - 1) * l2 + j3 * k3;
                                            j4 = k2 + l3;
                                            int l4 = j2 + (i4 - 1) * k3 - j3 * l2;
    
                                            if (l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, l4).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, l4))
                                            {
                                                continue label274;
                                            }
                                        }
                                    }
                                }
    
                                d4 = (double)k2 + 0.5D - par1Entity.posY;
                                d3 = d1 * d1 + d4 * d4 + d2 * d2;
    
                                if (d0 < 0.0D || d3 < d0)
                                {
                                    d0 = d3;
                                    l = i2;
                                    i1 = k2;
                                    j1 = j2;
                                    k1 = i3 % 4;
                                }
                            }
                        }
                    }
                }
            }
    
            if (d0 < 0.0D)
            {
                for (i2 = i - b0; i2 <= i + b0; ++i2)
                {
                    d1 = (double)i2 + 0.5D - par1Entity.posX;
    
                    for (j2 = k - b0; j2 <= k + b0; ++j2)
                    {
                        d2 = (double)j2 + 0.5D - par1Entity.posZ;
                        label222:
    
                        for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2)
                        {
                            if (this.worldServerInstance.isAirBlock(i2, k2, j2))
                            {
                                while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2))
                                {
                                    --k2;
                                }
    
                                for (i3 = l1; i3 < l1 + 2; ++i3)
                                {
                                    l2 = i3 % 2;
                                    k3 = 1 - l2;
    
                                    for (j3 = 0; j3 < 4; ++j3)
                                    {
                                        for (i4 = -1; i4 < 4; ++i4)
                                        {
                                            l3 = i2 + (j3 - 1) * l2;
                                            k4 = k2 + i4;
                                            j4 = j2 + (j3 - 1) * k3;
    
                                            if (i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4))
                                            {
                                                continue label222;
                                            }
                                        }
                                    }
    
                                    d4 = (double)k2 + 0.5D - par1Entity.posY;
                                    d3 = d1 * d1 + d4 * d4 + d2 * d2;
    
                                    if (d0 < 0.0D || d3 < d0)
                                    {
                                        d0 = d3;
                                        l = i2;
                                        i1 = k2;
                                        j1 = j2;
                                        k1 = i3 % 2;
                                    }
                                }
                            }
                        }
                    }
                }
            }
    
            int i5 = l;
            int j5 = i1;
            j2 = j1;
            int k5 = k1 % 2;
            int l5 = 1 - k5;
    
            if (k1 % 4 >= 2)
            {
                k5 = -k5;
                l5 = -l5;
            }
    
            boolean flag;
    
            if (d0 < 0.0D)
            {
                if (i1 < 70)
                {
                    i1 = 70;
                }
    
                if (i1 > this.worldServerInstance.getActualHeight() - 10)
                {
                    i1 = this.worldServerInstance.getActualHeight() - 10;
                }
    
                j5 = i1;
    
                for (k2 = -1; k2 <= 1; ++k2)
                {
                    for (i3 = 1; i3 < 3; ++i3)
                    {
                        for (l2 = -1; l2 < 3; ++l2)
                        {
                            k3 = i5 + (i3 - 1) * k5 + k2 * l5;
                            j3 = j5 + l2;
                            i4 = j2 + (i3 - 1) * l5 - k2 * k5;
                            flag = l2 < 0;
                            this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.obsidian.blockID : 0);
                        }
                    }
                }
            }
    
            for (k2 = 0; k2 < 4; ++k2)
            {
                for (i3 = 0; i3 < 4; ++i3)
                {
                    for (l2 = -1; l2 < 4; ++l2)
                    {
                        k3 = i5 + (i3 - 1) * k5;
                        j3 = j5 + l2;
                        i4 = j2 + (i3 - 1) * l5;
                        flag = i3 == 0 || i3 == 3 || l2 == -1 || l2 == 3;
                        this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.obsidian.blockID : Block.portal.blockID, 0, 2);
                    }
                }
    
                for (i3 = 0; i3 < 4; ++i3)
                {
                    for (l2 = -1; l2 < 4; ++l2)
                    {
                        k3 = i5 + (i3 - 1) * k5;
                        j3 = j5 + l2;
                        i4 = j2 + (i3 - 1) * l5;
                        this.worldServerInstance.notifyBlocksOfNeighborChange(k3, j3, i4, this.worldServerInstance.getBlockId(k3, j3, i4));
                    }
                }
            }
    
            return true;
        }
    
    
        public void removeStalePortalLocations(long par1)
        {
            if (par1 % 100L == 0L)
            {
                Iterator iterator = this.destinationCoordinateKeys.iterator();
                long j = par1 - 600L;
    
                while (iterator.hasNext())
                {
                    Long olong = (Long)iterator.next();
                    PortalPosition portalposition = (PortalPosition)this.destinationCoordinateCache.getValueByKey(olong.longValue());
    
                    if (portalposition == null || portalposition.lastUpdateTime < j)
                    {
                        iterator.remove();
                        this.destinationCoordinateCache.remove(olong.longValue());
                    }
                }
            }
        }
    }
    

  7. This is my first time coding a mod in 1.6.2 i have always used this code and now it doesnt work. i cannot import @NetworkMod or @Mod and this causes a tonne of errors

     

    package assassinhero.parallelworlds;
    
    @NetworkMod(clientSideRequired = true, serverSideRequired = false,
    clientPacketHandlerSpec = @SidedPacketHandler(channels = {"ParallelWorldsGeneral"}, packetHandler = ClientPacketHandler.class),
    serverPacketHandlerSpec = @SidedPacketHandler(channels = {}, packetHandler = ServerPacketHandler.class))
    
    @Mod(modid = "ParallelWorldsID", name = "ParallelWorlds", version = "1.0.0")
    
    public class ParallelWorlds {
    
    }
    

  8. When I try to create a new world in eclipse the menu just says loading world, converting world and I have no idea why

     

    2013-05-21 12:05:10 [iNFO] [sTDERR] java.lang.NullPointerException
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:330)
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:378)
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:240)
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:522)
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
    2013-05-21 12:05:10 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from SERVER_ABOUT_TO_START to SERVER_STOPPED. Loading cannot continue
    2013-05-21 12:05:10 [sEVERE] [ForgeModLoader] 
    mcp{7.44} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available
    FML{5.2.2.684} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available
    Forge{7.8.0.684} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available
    AssassinHero_ParallelWorlds{1.0} [ParallelWorlds] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available
    2013-05-21 12:05:10 [sEVERE] [ForgeModLoader] The ForgeModLoader state engine has become corrupted. Probably, a state was missed by and invalid modification to a base classForgeModLoader depends on. This is a critical error and not recoverable. Investigate any modifications to base classes outside ofForgeModLoader, especially Optifine, to see if there are fixes available.
    2013-05-21 12:05:10 [iNFO] [sTDERR] Exception in thread "Server thread" java.lang.RuntimeException: The ForgeModLoader state engine is invalid
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at cpw.mods.fml.common.LoadController.transition(LoadController.java:134)
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at cpw.mods.fml.common.Loader.serverStopped(Loader.java:800)
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at cpw.mods.fml.common.FMLCommonHandler.handleServerStopped(FMLCommonHandler.java:468)
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:531)
    2013-05-21 12:05:10 [iNFO] [sTDERR] 	at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

     

     

    That is the error I get but I cant see the modification in the base forge class and I don't know what to do. Any help here?

  9. I've had errors on func's and fields before. I think it's usually because the tutorial you followed isn't quite up-to-date with MCP. I may be wrong, but I think those funcs and fields are just the unnamed parts of MCP, and once they get named they no longer work with the un-named ones.

    The only time I had the issue, I just googled "field_85192_a mcp" and found a thread saying what it changed to. Can't promise that will work for all of them though.

     

    I copied the vanilla teleporter but now when I go in it the game crashes :(

  10. I am making a custom teleporter I have multiple errors.

    I am wondering where can i find code for this because the code im using is 1.4.7#

     

    Here is the code if you interested

    package assassinhero.parallelworlds.common.blocks;
    
    import java.util.Iterator;
    import java.util.Random;
    
    import assassinhero.parallelworlds.ParallelWorldsMain;
    
    import net.minecraft.block.Block;
    import net.minecraft.entity.Entity;
    import net.minecraft.util.Direction;
    import net.minecraft.util.MathHelper;
    import net.minecraft.world.ChunkCoordIntPair;
    import net.minecraft.world.PortalPosition;
    import net.minecraft.world.Teleporter;
    import net.minecraft.world.WorldServer;
    
    public class TeleporterArcticite extends Teleporter {
    
    public TeleporterArcticite(WorldServer par1WorldServer) {
    	super(par1WorldServer);
    	  this.field_85192_a = par1WorldServer;
    	  this.random = new Random(par1WorldServer.getSeed());
    }
    
     @Override
     public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8)
     {
      if (this.field_85192_a.provider.dimensionId != 1)
      {
       if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8))
       {
        this.func_85188_a(par1Entity);
        this.placeInExistingPortal(par1Entity, par2, par4, par6, par8);
       }
      }
      else
      {
       int var9 = MathHelper.floor_double(par1Entity.posX);
       int var10 = MathHelper.floor_double(par1Entity.posY) - 1;
       int var11 = MathHelper.floor_double(par1Entity.posZ);
       byte var12 = 1;
       byte var13 = 0;
    
        for (int var14 = -2; var14 <= 2; ++var14)
       {
        for (int var15 = -2; var15 <= 2; ++var15)
        {
         for (int var16 = -1; var16 < 3; ++var16)
         {
          int var17 = var9 + var15 * var12 + var14 * var13;
          int var18 = var10 + var16;
          int var19 = var11 + var15 * var13 - var14 * var12;
          boolean var20 = var16 < 0;
          this.field_85192_a.setBlockWithNotify(var17, var18, var19, var20 ? Block.sandStone.blockID : 0);
         }
        }
       }
    
        par1Entity.setLocationAndAngles((double) var9, (double) var10, (double) var11, par1Entity.rotationYaw, 0.0F);
       par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;
      }
     }
    
      @Override
     public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8)
     {
      short var9 = 128;
      double var10 = -1.0D;
      int var12 = 0;
      int var13 = 0;
      int var14 = 0;
      int var15 = MathHelper.floor_double(par1Entity.posX);
      int var16 = MathHelper.floor_double(par1Entity.posZ);
      long var17 = ChunkCoordIntPair.chunkXZ2Int(var15, var16);
      boolean var19 = true;
      double var27;
      int var48;
    
       if (this.field_85191_c.containsItem(var17))
      {
       PortalPosition var20 = (PortalPosition) this.field_85191_c.getValueByKey(var17);
       var10 = 0.0D;
       var12 = var20.posX;
       var13 = var20.posY;
       var14 = var20.posZ;
       var20.field_85087_d = this.field_85192_a.getTotalWorldTime();
       var19 = false;
      }
      else
      {
       for (var48 = var15 - var9; var48 <= var15 + var9; ++var48)
       {
        double var21 = (double) var48 + 0.5D - par1Entity.posX;
    
         for (int var23 = var16 - var9; var23 <= var16 + var9; ++var23)
        {
         double var24 = (double) var23 + 0.5D - par1Entity.posZ;
    
          for (int var26 = this.field_85192_a.getActualHeight() - 1; var26 >= 0; --var26)
         {
          if (this.field_85192_a.getBlockId(var48, var26, var23) == ParallelWorldsMain.ArcticitePortal.blockID)
          {
           while (this.field_85192_a.getBlockId(var48, var26 - 1, var23) == ParallelWorldsMain.ArcticitePortal.blockID)
           {
            --var26;
           }
    
            var27 = (double) var26 + 0.5D - par1Entity.posY;
           double var29 = var21 * var21 + var27 * var27 + var24 * var24;
    
            if (var10 < 0.0D || var29 < var10)
           {
            var10 = var29;
            var12 = var48;
            var13 = var26;
            var14 = var23;
           }
          }
         }
        }
       }
      }
    
       if (var10 >= 0.0D)
      {
       if (var19)
       {
        this.field_85191_c.add(var17, new PortalPosition(this, var12, var13, var14, this.field_85192_a.getTotalWorldTime()));
        this.field_85190_d.add(Long.valueOf(var17));
       }
    
        double var49 = (double) var12 + 0.5D;
       double var25 = (double) var13 + 0.5D;
       var27 = (double) var14 + 0.5D;
       int var50 = -1;
    
        if (this.field_85192_a.getBlockId(var12 - 1, var13, var14) == ParallelWorldsMain.ArcticitePortal.blockID)
       {
        var50 = 2;
       }
    
        if (this.field_85192_a.getBlockId(var12 + 1, var13, var14) == ParallelWorldsMain.ArcticitePortal.blockID)
       {
        var50 = 0;
       }
    
        if (this.field_85192_a.getBlockId(var12, var13, var14 - 1) == ParallelWorldsMain.ArcticitePortal.blockID)
       {
        var50 = 3;
       }
    
        if (this.field_85192_a.getBlockId(var12, var13, var14 + 1) == ParallelWorldsMain.ArcticitePortal.blockID)
       {
        var50 = 1;
       }
    
        int var30 = par1Entity.func_82148_at();
    
        if (var50 > -1)
       {
        int var31 = Direction.field_71578_g[var50];
        int var32 = Direction.offsetX[var50];
        int var33 = Direction.offsetZ[var50];
        int var34 = Direction.offsetX[var31];
        int var35 = Direction.offsetZ[var31];
        boolean var36 = !this.field_85192_a.isAirBlock(var12 + var32 + var34, var13, var14 + var33 + var35) || !this.field_85192_a.isAirBlock(var12 + var32 + var34, var13 + 1, var14 + var33 + var35);
        boolean var37 = !this.field_85192_a.isAirBlock(var12 + var32, var13, var14 + var33) || !this.field_85192_a.isAirBlock(var12 + var32, var13 + 1, var14 + var33);
    
         if (var36 && var37)
        {
         var50 = Direction.footInvisibleFaceRemap[var50];
         var31 = Direction.footInvisibleFaceRemap[var31];
         var32 = Direction.offsetX[var50];
         var33 = Direction.offsetZ[var50];
         var34 = Direction.offsetX[var31];
         var35 = Direction.offsetZ[var31];
         var48 = var12 - var34;
         var49 -= (double) var34;
         int var22 = var14 - var35;
         var27 -= (double) var35;
         var36 = !this.field_85192_a.isAirBlock(var48 + var32 + var34, var13, var22 + var33 + var35) || !this.field_85192_a.isAirBlock(var48 + var32 + var34, var13 + 1, var22 + var33 + var35);
         var37 = !this.field_85192_a.isAirBlock(var48 + var32, var13, var22 + var33) || !this.field_85192_a.isAirBlock(var48 + var32, var13 + 1, var22 + var33);
        }
    
         float var38 = 0.5F;
        float var39 = 0.5F;
    
         if (!var36 && var37)
        {
         var38 = 1.0F;
        }
        else if (var36 && !var37)
        {
         var38 = 0.0F;
        }
        else if (var36 && var37)
        {
         var39 = 0.0F;
        }
    
         var49 += (double) ((float) var34 * var38 + var39 * (float) var32);
        var27 += (double) ((float) var35 * var38 + var39 * (float) var33);
        float var40 = 0.0F;
        float var41 = 0.0F;
        float var42 = 0.0F;
        float var43 = 0.0F;
    
         if (var50 == var30)
        {
         var40 = 1.0F;
         var41 = 1.0F;
        }
        else if (var50 == Direction.footInvisibleFaceRemap[var30])
        {
         var40 = -1.0F;
         var41 = -1.0F;
        }
        else if (var50 == Direction.enderEyeMetaToDirection[var30])
        {
         var42 = 1.0F;
         var43 = -1.0F;
        }
        else
        {
         var42 = -1.0F;
         var43 = 1.0F;
        }
    
         double var44 = par1Entity.motionX;
        double var46 = par1Entity.motionZ;
        par1Entity.motionX = var44 * (double) var40 + var46 * (double) var43;
        par1Entity.motionZ = var44 * (double) var42 + var46 * (double) var41;
        par1Entity.rotationYaw = par8 - (float) (var30 * 90) + (float) (var50 * 90);
       }
       else
       {
        par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;
       }
    
        par1Entity.setLocationAndAngles(var49 + 3, var25, var27 + 3, par1Entity.rotationYaw, par1Entity.rotationPitch);
       return true;
      }
      else
      {
       return false;
      }
     }
    
      public boolean func_85188_a(Entity par1Entity)
     {
      byte var2 = 16;
      double var3 = -1.0D;
      int var5 = MathHelper.floor_double(par1Entity.posX);
      int var6 = MathHelper.floor_double(par1Entity.posY);
      int var7 = MathHelper.floor_double(par1Entity.posZ);
      int var8 = var5;
      int var9 = var6;
      int var10 = var7;
      int var11 = 0;
      int var12 = this.random.nextInt(4);
      int var13;
      double var14;
      double var17;
      int var16;
      int var19;
      int var21;
      int var20;
      int var23;
      int var22;
      int var25;
      int var24;
      int var27;
      int var26;
      double var31;
      double var32;
    
       for (var13 = var5 - var2; var13 <= var5 + var2; ++var13)
      {
       var14 = (double) var13 + 0.5D - par1Entity.posX;
    
        for (var16 = var7 - var2; var16 <= var7 + var2; ++var16)
       {
        var17 = (double) var16 + 0.5D - par1Entity.posZ;
        label274:
    
         for (var19 = this.field_85192_a.getActualHeight() - 1; var19 >= 0; --var19)
        {
         if (this.field_85192_a.isAirBlock(var13, var19, var16))
         {
          while (var19 > 0 && this.field_85192_a.isAirBlock(var13, var19 - 1, var16))
          {
           --var19;
          }
    
           for (var20 = var12; var20 < var12 + 4; ++var20)
          {
           var21 = var20 % 2;
           var22 = 1 - var21;
    
            if (var20 % 4 >= 2)
           {
            var21 = -var21;
            var22 = -var22;
           }
    
            for (var23 = 0; var23 < 3; ++var23)
           {
            for (var24 = 0; var24 < 4; ++var24)
            {
             for (var25 = -1; var25 < 4; ++var25)
             {
              var26 = var13 + (var24 - 1) * var21 + var23 * var22;
              var27 = var19 + var25;
              int var28 = var16 + (var24 - 1) * var22 - var23 * var21;
    
               if (var25 < 0 && !this.field_85192_a.getBlockMaterial(var26, var27, var28).isSolid() || var25 >= 0 && !this.field_85192_a.isAirBlock(var26, var27, var28))
              {
               continue label274;
              }
             }
            }
           }
    
            var32 = (double) var19 + 0.5D - par1Entity.posY;
           var31 = var14 * var14 + var32 * var32 + var17 * var17;
    
            if (var3 < 0.0D || var31 < var3)
           {
            var3 = var31;
            var8 = var13;
            var9 = var19;
            var10 = var16;
            var11 = var20 % 4;
           }
          }
         }
        }
       }
      }
    
       if (var3 < 0.0D)
      {
       for (var13 = var5 - var2; var13 <= var5 + var2; ++var13)
       {
        var14 = (double) var13 + 0.5D - par1Entity.posX;
    
         for (var16 = var7 - var2; var16 <= var7 + var2; ++var16)
        {
         var17 = (double) var16 + 0.5D - par1Entity.posZ;
         label222:
    
          for (var19 = this.field_85192_a.getActualHeight() - 1; var19 >= 0; --var19)
         {
          if (this.field_85192_a.isAirBlock(var13, var19, var16))
          {
           while (var19 > 0 && this.field_85192_a.isAirBlock(var13, var19 - 1, var16))
           {
            --var19;
           }
    
            for (var20 = var12; var20 < var12 + 2; ++var20)
           {
            var21 = var20 % 2;
            var22 = 1 - var21;
    
             for (var23 = 0; var23 < 4; ++var23)
            {
             for (var24 = -1; var24 < 4; ++var24)
             {
              var25 = var13 + (var23 - 1) * var21;
              var26 = var19 + var24;
              var27 = var16 + (var23 - 1) * var22;
    
               if (var24 < 0 && !this.field_85192_a.getBlockMaterial(var25, var26, var27).isSolid() || var24 >= 0 && !this.field_85192_a.isAirBlock(var25, var26, var27))
              {
               continue label222;
              }
             }
            }
    
             var32 = (double) var19 + 0.5D - par1Entity.posY;
            var31 = var14 * var14 + var32 * var32 + var17 * var17;
    
             if (var3 < 0.0D || var31 < var3)
            {
             var3 = var31;
             var8 = var13;
             var9 = var19;
             var10 = var16;
             var11 = var20 % 2;
            }
           }
          }
         }
        }
       }
      }
    
       int var29 = var8;
      int var15 = var9;
      var16 = var10;
      int var30 = var11 % 2;
      int var18 = 1 - var30;
    
       if (var11 % 4 >= 2)
      {
       var30 = -var30;
       var18 = -var18;
      }
    
       boolean var33;
    
       if (var3 < 0.0D)
      {
       if (var9 < 70)
       {
        var9 = 70;
       }
    
        if (var9 > this.field_85192_a.getActualHeight() - 10)
       {
        var9 = this.field_85192_a.getActualHeight() - 10;
       }
    
        var15 = var9;
    
        for (var19 = -1; var19 <= 1; ++var19)
       {
        for (var20 = 1; var20 < 3; ++var20)
        {
         for (var21 = -1; var21 < 3; ++var21)
         {
          var22 = var29 + (var20 - 1) * var30 + var19 * var18;
          var23 = var15 + var21;
          var24 = var16 + (var20 - 1) * var18 - var19 * var30;
          var33 = var21 < 0;
          this.field_85192_a.setBlockWithNotify(var22, var23, var24, var33 ? Block.sandStone.blockID : 0);
         }
        }
       }
      }
    
       for (var19 = 0; var19 < 4; ++var19)
      {
       this.field_85192_a.editingBlocks = true;
    
        for (var20 = 0; var20 < 4; ++var20)
       {
        for (var21 = -1; var21 < 4; ++var21)
        {
         var22 = var29 + (var20 - 1) * var30;
         var23 = var15 + var21;
         var24 = var16 + (var20 - 1) * var18;
         var33 = var20 == 0 || var20 == 3 || var21 == -1 || var21 == 3;
         this.field_85192_a.setBlockWithNotify(var22, var23, var24, var33 ? Block.sandStone.blockID : ParallelWorldsMain.ArcticitePortal.blockID);
        }
       }
    
        this.field_85192_a.editingBlocks = false;
    
        for (var20 = 0; var20 < 4; ++var20)
       {
        for (var21 = -1; var21 < 4; ++var21)
        {
         var22 = var29 + (var20 - 1) * var30;
         var23 = var15 + var21;
         var24 = var16 + (var20 - 1) * var18;
         this.field_85192_a.notifyBlocksOfNeighborChange(var22, var23, var24, this.field_85192_a.getBlockId(var22, var23, var24));
        }
       }
      }
    
       return true;
     }
    
      public void func_85189_a(long par1)
     {
      if (par1 % 100L == 0L)
      {
       Iterator var3 = this.field_85190_d.iterator();
       long var4 = par1 - 600L;
    
        while (var3.hasNext())
       {
        Long var6 = (Long) var3.next();
        PortalPosition var7 = (PortalPosition) this.field_85191_c.getValueByKey(var6.longValue());
    
         if (var7 == null || var7.field_85087_d < var4)
        {
         var3.remove();
         this.field_85191_c.remove(var6.longValue());
        }
       }
      }
     }
    
    }
    
    
    
    

     

    Here is the error if your interested

    this.field_85192_a

     

    and other pieces of code similar

  11. He just comes on to my post, doesn't even help and just well and truely pisses me off. I am sick to death of him coming on and being like ' I am so great' blah blah blah

    I am sick of YOU my friend. You come here, don't bother to learn a tiny bit of java before you try to mod and post threads over threads asking basic questions that you'd never have if you bothered to sit down and learn java. Properly. That takes time! (Or maybe not even java but programming in general. This thread showed that you have not even understood the concept of variables!)

    Then people like Ernio try to help and post working code. You take that happily, paste it in your mod. Sometimes it works and you are happy. Sometimes it doesn't work and you come back complaining "Y UR CODE NOT WORX!?!", without even bothering to try and inspect that code, making it work yourself.

    Then even if it finally works by copy and pasting code and fiddling around with stuff you don't (or only partially) understand by try and error you think you solved a problem. You did NOT.

    Next day same thing happens: You got another problem and because you don't understand what you are doing you post here again.

    Thats NOT how programming works.

     

    And I don't say that I am great at all. I suck at java. I know it for less than a year and its just enough for modding. I fail badly as soon as it comes to OpenGL (not really java related, but still), Swing applications, etc. etc.

    But I have a decent experience with programming in general.

     

    I don't copy and paste code,  I do learn Java from this way and I have previously coded Java too. Now if you would gladly FUCK off that would be very much appreciated

  12. WOAH!! Don't over-react.

     

    He just comes on to my post, doesn't even help and just well and truely pisses me off. I am sick to death of him coming on and being like ' I am so great' blah blah blah

  13. hey guys,

    Just wondering if

    par1World.editingBlocks = false;
                return true;

    has been changed?

     

    If it has then what has it changed to?

     

    Here is the full code:

    package assassinhero.parallelworlds.common.blocks;
    
    import java.util.Random;
    
    import net.minecraft.block.BlockPortal;
    import net.minecraft.client.renderer.texture.IconRegister;
    import net.minecraft.world.World;
    
    public class BlockArcticitePortalBlock extends BlockPortal{
    
    public BlockArcticitePortalBlock(int par1) {
    	super(par1);
    
    }
    
    public void registerIcons(IconRegister par1iconregister){
    	this.blockIcon = par1iconregister.registerIcon("ParallelWorlds:ArcticitePortal");
    }
    
    public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
     {
    
      }
    
    public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4)
        {
            byte var5 = 0;
            byte var6 = 0;
    
            if (par1World.getBlockId(par2 - 1, par3, par4) == ParallelWorldsMain.Arcticite.blockID || par1World.getBlockId(par2 + 1, par3, par4) == ParallelWorldsMain.Arcticite.blockID)
            {
                var5 = 1;
            }
    
            if (par1World.getBlockId(par2, par3, par4 - 1) == ParallelWorldsMain.Arcticite.blockID || par1World.getBlockId(par2, par3, par4 + 1) == ParallelWorldsMain.Arcticite.blockID)
            {
                var6 = 1;
            }
    
            if (var5 == var6)
            {
                return false;
            }
            else
            {
                if (par1World.getBlockId(par2 - var5, par3, par4 - var6) == 0)
                {
                    par2 -= var5;
                    par4 -= var6;
                }
    
                int var7;
                int var8;
    
                for (var7 = -1; var7 <= 2; ++var7)
                {
                    for (var8 = -1; var8 <= 3; ++var8)
                    {
                        boolean var9 = var7 == -1 || var7 == 2 || var8 == -1 || var8 == 3;
    
                        if (var7 != -1 && var7 != 2 || var8 != -1 && var8 != 3)
                        {
                            int var10 = par1World.getBlockId(par2 + var5 * var7, par3 + var8, par4 + var6 * var7);
    
                            if (var9)
                            {
                                if (var10 != ParallelWorldsMain.Arcticite.blockID)
                                {
                                    return false;
                                }
                            }
                            else if (var10 != 0 && var10 != Block.fire.blockID)
                            {
                                return false;
                            }
                        }
                    }
                }
    
                par1World.editingBlocks = true;
    
                for (var7 = 0; var7 < 2; ++var7)
                {
                    for (var8 = 0; var8 < 3; ++var8)
                    {
                        par1World.setBlock(par2 + var5 * var7, par3 + var8, par4 + var6 * var7, this.blockID);
                    }
                }
    
                par1World.editingBlocks = false;
                return true;
            }
        }
    
    }
    

  14. Ahhh Right, Now i see :)

    Now you copy paste again, I bet you don't "see" anything!

    That's why I say: don't post complete code.

     

    That's fucking funny NOT. I actually did see what to do and I actually learnt something, this is how I learn, Now get a fucking grip

  15. If I am right you want to get grass like in vanilia (Top Grass, Bottom Dirt, Side Grass-Drit).

    Here is how you do it: (how I done it)

    1. In the beginning you add:

    @SideOnly(Side.CLIENT)
    private Icon TextureTop; //Top of grass
    @SideOnly(Side.CLIENT)
    private Icon TextureBottom; //Bottom of grass
    

    Since extending Block alredy gives you Side Texture you don't need to create it.

    2. Now you register icons:

    @SideOnly(Side.CLIENT)
    public void registerIcons(IconRegister par1IconRegister)
    {
    	this.blockIcon = par1IconRegister.registerIcon("YourMod:Block_Side");
    	this.TextureTop = par1IconRegister.registerIcon("YourMod:Block_Top");
    	this.TextureBottom = par1IconRegister.registerIcon("YourMod:Block_Bottom");
    }
    

    I don't know if it can be more clear...

    3. Now you actually getIcon:

    @SideOnly(Side.CLIENT)
    public Icon getIcon(int par1, int par2)
    {
    	return par1 == 1 ? this.TextureTop : par1 == 0 ? this.TextureBottom : this.blockIcon; // 1 - Top, 0 - Bottom, else: Side
    }
    

    If you cannot understand this, I don't know if any coder on the world can help you...

    Hope you use your brain next time - just look into files, or do researches, there are sooooo many open sources!

    Best regards,

    Ernio

     

    Ahhh Right, Now i see :)

×
×
  • Create New...

Important Information

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