Крашит мод

769
2
42
День добрый форумчане. Подскажите такую вещь: крашит почему-то, но понять не могу(возможно проблема с инициализацией).
Вот лог:
Код:
---- Minecraft Crash Report ----
// Quite honestly, I wouldn't worry myself about that.

Time: 23.02.16 12:58
Description: Failed to start game

java.lang.NullPointerException
    at fb.futurebuilder.spaceships.entity.FBRocketT2Entity.<init>(FBRocketT2Entity.java:66)
    at fb.futurebuilder.spaceships.client.FBRocketsClientProxy.registerRenderInformation(FBRocketsClientProxy.java:58)
    at fb.futurebuilder.spaceships.FBRockets.postLoad(FBRockets.java:98)
    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:494)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:192)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:172)
    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.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:103)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:696)
    at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:213)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:448)
    at net.minecraft.client.MinecraftAppletImpl.func_71384_a(SourceFile:56)
    at net.minecraft.client.Minecraft.run(Minecraft.java:733)
    at java.lang.Thread.run(Unknown Source)
Вот тайл:
Код:
package fb.futurebuilder.spaceships.entity;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

import com.google.common.io.ByteArrayDataInput;

import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import fb.futurebuilder.planets.client.FBPlanetsConfigManager;
import fb.futurebuilder.spaceships.items.FBRocketsItems;
import icbm.api.IMissile;
import icbm.api.IMissileLockable;
import icbm.api.RadarRegistry;
import micdoodle8.mods.galacticraft.API.ICargoEntity;
import micdoodle8.mods.galacticraft.API.IFuelDock;
import micdoodle8.mods.galacticraft.API.IGalacticraftWorldProvider;
import micdoodle8.mods.galacticraft.API.IRocketType;
import micdoodle8.mods.galacticraft.core.GCCoreConfigManager;
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
import micdoodle8.mods.galacticraft.core.entities.EntitySpaceshipBase;
import micdoodle8.mods.galacticraft.core.entities.GCCorePlayerMP;
import micdoodle8.mods.galacticraft.core.items.GCCoreItems;
import micdoodle8.mods.galacticraft.core.tile.GCCoreTileEntityLandingPad;
import micdoodle8.mods.galacticraft.core.util.PacketUtil;
import micdoodle8.mods.galacticraft.core.util.PlayerUtil;
import micdoodle8.mods.galacticraft.moon.GCMoonConfigManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.server.gui.IUpdatePlayerListBox;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.liquids.LiquidDictionary;
import net.minecraftforge.liquids.LiquidStack;
import net.minecraftforge.liquids.LiquidTank;
import universalelectricity.core.vector.Vector3;

public class FBRocketT2Entity extends EntitySpaceshipBase implements IInventory, IMissileLockable, IRocketType {

   private final int tankCapacity;
   public LiquidTank spaceshipFuelTank;
   public int airTank;
   public final int airTankMax;
   protected ItemStack[] cargoItems;
   public IUpdatePlayerListBox rocketSoundUpdater;
   private IFuelDock landingPad;
   public int canisterToTankRatio;
   public double canisterToLiquidStackRatio;


   public FBRocketT2Entity(World par1World) {
      super(par1World);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
   }

   public int getScaledAirLevel(int i) {
      return this.airTank * i / 12000;
   }

   public int getScaledFuelLevel(int i) {
      double fuelLevel = this.spaceshipFuelTank.getLiquid() == null?0.0D:(double)this.spaceshipFuelTank.getLiquid().amount;
      double var10000 = fuelLevel * (double)i;
      this.getClass();
      return (int)(var10000 / 4000.0D);
   }

   public FBRocketT2Entity(World par1World, double par2, double par4, double par6, EntitySpaceshipBase.EnumRocketType rocketType) {
      super(par1World);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
      this.setPosition(par2, par4 + (double)super.yOffset, par6);
      super.motionX = 0.0D;
      super.motionY = 0.0D;
      super.motionZ = 0.0D;
      super.prevPosX = par2;
      super.prevPosY = par4;
      super.prevPosZ = par6;
      super.rocketType = rocketType;
      this.cargoItems = new ItemStack[this.getSizeInventory()];
   }

   public FBRocketT2Entity(World par1World, double par2, double par4, double par6, boolean reversed, EntitySpaceshipBase.EnumRocketType rocketType, ItemStack[] inv) {
      this(par1World, par2, par4, par6, rocketType);
      this.cargoItems = inv;
   }

   public FBRocketT2Entity() {
      super((World)null);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
   }

   protected void entityInit() {
      super.entityInit();
      RadarRegistry.register((Entity)this);
   }

   public void setDead() {
      super.setDead();
      RadarRegistry.unregister((Entity)this);
      if(this.rocketSoundUpdater != null) {
         this.rocketSoundUpdater.update();
      }

   }

   public void onUpdate() {
      super.onUpdate();
      int i;
      if(super.timeUntilLaunch >= 100) {
         i = Math.abs(super.timeUntilLaunch / 100);
      } else {
         i = 1;
      }

      if((this.getLaunched() || super.launchPhase == EntitySpaceshipBase.EnumLaunchPhase.IGNITED.getPhase() && super.rand.nextInt(i) == 0) && !GCCoreConfigManager.disableSpaceshipParticles && this.hasValidFuel() && FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) {
         this.spawnParticles();
      }

      if(this.rocketSoundUpdater != null && (super.launchPhase == EntitySpaceshipBase.EnumLaunchPhase.IGNITED.getPhase() || this.getLaunched())) {
         this.rocketSoundUpdater.update();
      }

      if(super.launchPhase == EntitySpaceshipBase.EnumLaunchPhase.LAUNCHED.getPhase() && this.hasValidFuel()) {
         double d = (double)(super.timeSinceLaunch / 200.0F);
         d = Math.min(d, 1.0D);
         if(d != 0.0D) {
            super.motionY = -d * 1.5D * Math.cos((double)(super.rotationPitch - 180.0F) * 3.141592653589793D / 180.0D);
         }

         double multiplier = 1.0D;
         if(super.worldObj.provider instanceof IGalacticraftWorldProvider) {
            multiplier = ((IGalacticraftWorldProvider)super.worldObj.provider).getFuelUsageMultiplier();
            if(multiplier <= 0.0D) {
               multiplier = 1.0D;
            }
         }

         if(super.timeSinceLaunch % (float)MathHelper.floor_double(3.0D * (1.0D / multiplier)) == 0.0F) {
            this.removeFuel((LiquidStack)null, 1);
            this.removeAir(8);
         }
      } else if(!this.hasValidFuel() && this.getLaunched() && Math.abs(Math.sin((double)(super.timeSinceLaunch / 1000.0F))) / 10.0D != 0.0D) {
         super.motionY -= Math.abs(Math.sin((double)(super.timeSinceLaunch / 1000.0F))) / 4.0D;
      }

   }

   public void readNetworkedData(ByteArrayDataInput dataStream) {
      super.readNetworkedData(dataStream);
      this.spaceshipFuelTank.setLiquid(new LiquidStack(GCCoreItems.fuel.itemID, dataStream.readInt(), 0));
      this.airTank = dataStream.readInt();
      if(this.cargoItems == null) {
         this.cargoItems = new ItemStack[this.getSizeInventory()];
      }

   }

   public ArrayList getNetworkedData(ArrayList list) {
      super.getNetworkedData(list);
      list.add(Integer.valueOf(this.spaceshipFuelTank.getLiquid() == null?0:this.spaceshipFuelTank.getLiquid().amount));
      list.add(Integer.valueOf(this.airTank));
      return list;
   }

   public boolean hasValidFuel() {
      boolean valid = true;
      if(this.spaceshipFuelTank.getLiquid() == null || this.spaceshipFuelTank.getLiquid().amount == 0) {
         valid = false;
      }

      if(this.airTank == 0) {
         valid = false;
      }

      return valid;
   }

   public void onLaunch() {}

   public void onTeleport(EntityPlayerMP player) {
      GCCorePlayerMP playerBase = PlayerUtil.getPlayerBaseServerFromPlayer(player);
      player.playerNetServerHandler.sendPacketToPlayer(PacketUtil.createPacket("GalacticraftCore", 22, new Object[]{Integer.valueOf(0)}));
      if(playerBase != null) {
         if(this.cargoItems != null && this.cargoItems.length != 0) {
            playerBase.rocketStacks = this.cargoItems;
         } else {
            playerBase.rocketStacks = new ItemStack[9];
         }
         playerBase.setFuelLevel(this.getFuel());
         playerBase.setRocketType(super.rocketType.getIndex());
         playerBase.setRocketItem(FBRocketsItems.rocketT2);
      }

   }

   protected void spawnParticles() {
      double x1 = 2.9D * Math.cos((double)super.rotationYaw * 3.141592653589793D / 180.0D) * Math.sin((double)super.rotationPitch * 3.141592653589793D / 180.0D);
      double z1 = 2.9D * Math.sin((double)super.rotationYaw * 3.141592653589793D / 180.0D) * Math.sin((double)super.rotationPitch * 3.141592653589793D / 180.0D);
      double y1 = 2.9D * Math.cos((double)(super.rotationPitch - 180.0F) * 3.141592653589793D / 180.0D);
      double y = super.prevPosY + (super.posY - super.prevPosY);
      if(!super.isDead) {
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX + 0.4D - super.rand.nextDouble() / 10.0D + x1, y - 0.0D + y1, super.posZ + 0.4D - super.rand.nextDouble() / 10.0D + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX - 0.4D + super.rand.nextDouble() / 10.0D + x1, y - 0.0D + y1, super.posZ + 0.4D - super.rand.nextDouble() / 10.0D + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX - 0.4D + super.rand.nextDouble() / 10.0D + x1, y - 0.0D + y1, super.posZ - 0.4D + super.rand.nextDouble() / 10.0D + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX + 0.4D - super.rand.nextDouble() / 10.0D + x1, y - 0.0D + y1, super.posZ - 0.4D + super.rand.nextDouble() / 10.0D + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX + x1, y - 0.0D + y1, super.posZ + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX + 0.4D + x1, y - 0.0D + y1, super.posZ + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX - 0.4D + x1, y - 0.0D + y1, super.posZ + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX + x1, y - 0.0D + y1, super.posZ + 0.4D + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"launchflame":"whitesmoke", super.posX + x1, y - 0.0D + y1, super.posZ - 0.4D + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"blueflame":"whitesmoke", super.posX + x1 - 0.8D, y - 0.0D + y1, super.posZ + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"blueflame":"whitesmoke", super.posX + x1 + 0.8D, y - 0.0D + y1, super.posZ + z1, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"blueflame":"whitesmoke", super.posX + x1, y - 0.0D + y1, super.posZ + z1 - 0.8D, x1, y1, z1, this.getLaunched());
         GalacticraftCore.proxy.spawnParticle(this.getLaunched()?"blueflame":"whitesmoke", super.posX + x1, y - 0.0D + y1, super.posZ + z1 + 0.8D, x1, y1, z1, this.getLaunched());
      }

   }

   public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) {
      return super.isDead?false:par1EntityPlayer.getDistanceSqToEntity(this) <= 64.0D;
   }

   public int getSizeInventory() {
      return super.rocketType.getInventorySpace();
   }

   protected void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) {
      super.writeEntityToNBT(par1NBTTagCompound);
      if(this.getSizeInventory() > 0) {
         NBTTagList var2 = new NBTTagList();

         for(int var3 = 0; var3 < this.cargoItems.length; ++var3) {
            if(this.cargoItems[var3] != null) {
               NBTTagCompound var4 = new NBTTagCompound();
               var4.setByte("Slot", (byte)var3);
               this.cargoItems[var3].writeToNBT(var4);
               var2.appendTag(var4);
            }
         }

         par1NBTTagCompound.setTag("Items", var2);
      }

      if(this.spaceshipFuelTank.getLiquid() != null) {
         par1NBTTagCompound.setTag("fuelTank", this.spaceshipFuelTank.writeToNBT(new NBTTagCompound()));
      }

      par1NBTTagCompound.setInteger("airTank", this.airTank);
   }

   protected void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) {
      super.readEntityFromNBT(par1NBTTagCompound);
      if(this.getSizeInventory() > 0) {
         NBTTagList var2 = par1NBTTagCompound.getTagList("Items");
         this.cargoItems = new ItemStack[this.getSizeInventory()];

         for(int var3 = 0; var3 < var2.tagCount(); ++var3) {
            NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3);
            int var5 = var4.getByte("Slot") & 255;
            if(var5 >= 0 && var5 < this.cargoItems.length) {
               this.cargoItems[var5] = ItemStack.loadItemStackFromNBT(var4);
            }
         }
      }

      if(par1NBTTagCompound.hasKey("fuelTank")) {
         this.spaceshipFuelTank.readFromNBT(par1NBTTagCompound.getCompoundTag("fuelTank"));
      }

      if(par1NBTTagCompound.hasKey("airTank")) {
         this.airTank = par1NBTTagCompound.getInteger("airTank");
      }

   }

   public ItemStack getStackInSlot(int par1) {
      return this.cargoItems[par1];
   }

   public ItemStack decrStackSize(int par1, int par2) {
      if(this.cargoItems[par1] != null) {
         ItemStack var3;
         if(this.cargoItems[par1].stackSize <= par2) {
            var3 = this.cargoItems[par1];
            this.cargoItems[par1] = null;
            return var3;
         } else {
            var3 = this.cargoItems[par1].splitStack(par2);
            if(this.cargoItems[par1].stackSize == 0) {
               this.cargoItems[par1] = null;
            }

            return var3;
         }
      } else {
         return null;
      }
   }

   public ItemStack getStackInSlotOnClosing(int par1) {
      if(this.cargoItems[par1] != null) {
         ItemStack var2 = this.cargoItems[par1];
         this.cargoItems[par1] = null;
         return var2;
      } else {
         return null;
      }
   }

   public void setInventorySlotContents(int par1, ItemStack par2ItemStack) {
      this.cargoItems[par1] = par2ItemStack;
      if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) {
         par2ItemStack.stackSize = this.getInventoryStackLimit();
      }

   }

   public String getInvName() {
      return "container.spaceship";
   }

   public int getInventoryStackLimit() {
      return 64;
   }

   public void onInventoryChanged() {}

   public void openChest() {}

   public void closeChest() {}

   public Entity[] getSpaceshipParts() {
      return null;
   }

   public HashSet getPossiblePlanets() {
      HashSet dimensions = new HashSet();
      dimensions.add(Integer.valueOf(0));
      dimensions.add(Integer.valueOf(GCMoonConfigManager.dimensionIDMoon));
      dimensions.add(Integer.valueOf(FBPlanetsConfigManager.dimensionIDMars));
      dimensions.add(Integer.valueOf(FBPlanetsConfigManager.dimensionIDVenus));
      return dimensions;
   }

   public int getPreLaunchWait() {
      return 400;
   }

   public List getItemsDropped() {
      ArrayList items = new ArrayList();
      items.add(new ItemStack(FBRocketsItems.rocketT2, 1, super.rocketType.getIndex()));
      if(this.cargoItems != null) {
         ItemStack[] arr$ = this.cargoItems;
         int len$ = arr$.length;

         for(int i$ = 0; i$ < len$; ++i$) {
            ItemStack item = arr$[i$];
            if(item != null) {
               items.add(item);
            }
         }
      }

      return items;
   }

   public boolean isInvNameLocalized() {
      return false;
   }

   public boolean isStackValidForSlot(int i, ItemStack itemstack) {
      return false;
   }

   public int getMaxFuel() {
      return this.spaceshipFuelTank.getCapacity();
   }

   public boolean canLock(IMissile missile) {
      return true;
   }

   public Vector3 getPredictedPosition(int ticks) {
      return new Vector3(this);
   }

   public int addFuel(LiquidStack liquid, int amount, boolean doFill) {
      LiquidStack liquidInTank = this.spaceshipFuelTank.getLiquid();
      return liquid != null && LiquidDictionary.findLiquidName(liquid).equals("Fuel") && (liquidInTank == null || liquidInTank.amount + liquid.amount <= this.spaceshipFuelTank.getCapacity())?this.spaceshipFuelTank.fill(liquid, doFill):0;
   }

   public int addAir(int amount) {
      this.getClass();
      int space = 12000 - this.airTank;
      if(amount <= space) {
         this.airTank += amount;
         return amount;
      } else {
         this.getClass();
         this.airTank = 12000;
         return space;
      }
   }

   public void removeAir(int amount) {
      int used = amount;
      if(this.airTank < amount) {
         used = this.airTank;
      }

      this.airTank -= used;
   }

   public LiquidStack removeFuel(LiquidStack liquid, int amount) {
      return liquid == null?this.spaceshipFuelTank.drain(amount, true):null;
   }

   public ICargoEntity.EnumCargoLoadingState addCargo(ItemStack stack, boolean doAdd) {
      if(super.rocketType.getInventorySpace() <= 3) {
         return ICargoEntity.EnumCargoLoadingState.NOINVENTORY;
      } else {
         boolean count = false;

         ItemStack stackAt;
         int var5;
         for(var5 = 0; var5 < this.cargoItems.length - 3; ++var5) {
            stackAt = this.cargoItems[var5];
            if(stackAt != null && stackAt.itemID == stack.itemID && stackAt.getItemDamage() == stack.getItemDamage() && stackAt.stackSize < stackAt.getMaxStackSize()) {
               if(doAdd) {
                  this.cargoItems[var5].stackSize += stack.stackSize;
               }

               return ICargoEntity.EnumCargoLoadingState.SUCCESS;
            }
         }

         for(var5 = 0; var5 < this.cargoItems.length - 3; ++var5) {
            stackAt = this.cargoItems[var5];
            if(stackAt == null) {
               if(doAdd) {
                  this.cargoItems[var5] = stack;
               }

               return ICargoEntity.EnumCargoLoadingState.SUCCESS;
            }
         }

         return ICargoEntity.EnumCargoLoadingState.FULL;
      }
   }

   public ICargoEntity.RemovalResult removeCargo(boolean doRemove) {
      for(int i = 0; i < this.cargoItems.length - 3; ++i) {
         ItemStack stackAt = this.cargoItems[i];
         if(stackAt != null) {
            if(doRemove && --this.cargoItems[i].stackSize <= 0) {
               this.cargoItems[i] = null;
            }

            return new ICargoEntity.RemovalResult(ICargoEntity.EnumCargoLoadingState.SUCCESS, new ItemStack(stackAt.itemID, 1, stackAt.getItemDamage()));
         }
      }

      return new ICargoEntity.RemovalResult(ICargoEntity.EnumCargoLoadingState.EMPTY, (ItemStack)null);
   }

   public void onPadDestroyed() {
      if(!super.isDead && super.launchPhase != EntitySpaceshipBase.EnumLaunchPhase.LAUNCHED.getPhase()) {
         this.dropShipAsItem();
         this.setDead();
      }

   }

   public void setPad(IFuelDock pad) {
      this.landingPad = pad;
   }

   public IFuelDock getLandingPad() {
      return this.landingPad;
   }

   public boolean isDockValid(IFuelDock dock) {
      return dock instanceof GCCoreTileEntityLandingPad;
   }

   public int getRocketTier() {
      return 2;
   }

   public int getFuel() {
      return this.spaceshipFuelTank.getLiquid() != null?this.spaceshipFuelTank.getLiquid().amount:0;
   }

   public int getAir() {
      return this.airTank;
   }
}
 
Код:
java.lang.NullPointerException
    at fb.futurebuilder.spaceships.entity.FBRocketT2Entity.<init>(FBRocketT2Entity.java:66)

В классе FBRocketT2Entity на 66 строке присутствует ссылка на null. Код класса покажи
 
Faik-man написал(а):
Код:
java.lang.NullPointerException
    at fb.futurebuilder.spaceships.entity.FBRocketT2Entity.<init>(FBRocketT2Entity.java:66)

В классе FBRocketT2Entity на 66 строке присутствует ссылка на null. Код класса покажи
А блин, сорян 2 раза краш скинул :D
[merge_posts_bbcode]Добавлено: 23.02.2016 15:10:40[/merge_posts_bbcode]

Скинул
 
Я по гайду писал. Она в этом методе была и осталась. Возможно прописывать нужно было класс. Точно не помню.
[merge_posts_bbcode]Добавлено: 23.02.2016 16:13:51[/merge_posts_bbcode]

И если я даже убираю 2 эти функции:
Код:
this.getClass();


То ошибка крашит на этой строке.
Код:
 this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
 
RonyC написал(а):
Я по гайду писал. Она в этом методе была и осталась. Возможно прописывать нужно было класс. Точно не помню.
[merge_posts_bbcode]Добавлено: 23.02.2016 16:13:51[/merge_posts_bbcode]

И если я даже убираю 2 эти функции:
Код:
this.getClass();


То ошибка крашит на этой строке.
Код:
 this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
Проверь все ссылки на null, в особенности переменную fuelCanister
 
fuelcanister только здесь
Код:
public FBRocketT2Entity(World par1World) {
      super(par1World);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
   }

public FBRocketT2Entity(World par1World, double par2, double par4, double par6, EntitySpaceshipBase.EnumRocketType rocketType) {
      super(par1World);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
      this.setPosition(par2, par4 + (double)super.yOffset, par6);
      super.motionX = 0.0D;
      super.motionY = 0.0D;
      super.motionZ = 0.0D;
      super.prevPosX = par2;
      super.prevPosY = par4;
      super.prevPosZ = par6;
      super.rocketType = rocketType;
      this.cargoItems = new ItemStack[this.getSizeInventory()];
   }

public FBRocketT2Entity() {
      super((World)null);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
   }
 
RonyC написал(а):
fuelcanister только здесь
Код:
public FBRocketT2Entity(World par1World) {
      super(par1World);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
   }

public FBRocketT2Entity(World par1World, double par2, double par4, double par6, EntitySpaceshipBase.EnumRocketType rocketType) {
      super(par1World);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
      this.setPosition(par2, par4 + (double)super.yOffset, par6);
      super.motionX = 0.0D;
      super.motionY = 0.0D;
      super.motionZ = 0.0D;
      super.prevPosX = par2;
      super.prevPosY = par4;
      super.prevPosZ = par6;
      super.rocketType = rocketType;
      this.cargoItems = new ItemStack[this.getSizeInventory()];
   }

public FBRocketT2Entity() {
      super((World)null);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();
   }
Ты вызываешь переменную fuelCanister из класса GCCoreItems. Эта переменная у тебя равна null, что приводит к исключению. Сначала проверь ее на null и затем уже используй.
 
Вообщем здесь я выставил проверку
Код:
public FBRocketT2Entity(World par1World) {
      super(par1World);
      this.tankCapacity = 4000;
      LiquidTank var10001 = new LiquidTank(4000);
      this.getClass();
      this.spaceshipFuelTank = var10001;
      this.airTank = 0;
      this.airTankMax = 12000;
      this.getClass();
      if (GCCoreItems.fuelCanister != null) {
      this.canisterToTankRatio = 4000 / GCCoreItems.fuelCanister.getMaxDamage();}
      if (GCCoreItems.fuelCanister != null) {
      this.canisterToLiquidStackRatio = 2000.0D / (double)GCCoreItems.fuelCanister.getMaxDamage();}
   }
Теперь крашит из-за рецептов, хотя такого не должно быть
Код:
---- Minecraft Crash Report ----
// I'm sorry, Dave.

Time: 25.02.16 21:35
Description: Failed to start game

java.lang.NullPointerException
    at net.minecraft.item.ItemStack.<init>(ItemStack.java:77)
    at fb.futurebuilder.core.recipe.FBCoreRecipe.loadRecipes(FBCoreRecipe.java:35)
    at fb.futurebuilder.core.client.FutureBuilder.postInit(FutureBuilder.java:74)
    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:494)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:192)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:172)
    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.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:103)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:696)
    at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:213)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:448)
    at net.minecraft.client.MinecraftAppletImpl.func_71384_a(SourceFile:56)
    at net.minecraft.client.Minecraft.run(Minecraft.java:733)
    at java.lang.Thread.run(Unknown Source)
Я че-то вообще не догоняю в чем дело...
 
Да это бред какой-то... Стоило мне что-то накосячить, как одно событие берет за собой другое
Код:
package fb.futurebuilder.core.recipe;

import components.common.BasicComponents;
import cpw.mods.fml.common.registry.GameRegistry;
import fb.futurebuilder.core.Items.overall.FBCoreItems;
import fb.futurebuilder.core.blocks.overall.FBCoreBlocks;
import fb.futurebuilder.planets.blocks.FBPlanetsBlocks;
import fb.futurebuilder.planets.items.FBPlanetsItems;
import fb.futurebuilder.spaceships.items.FBRocketsItems;
import ic2.api.item.Items;
import ic2.api.recipe.Recipes;
import micdoodle8.mods.galacticraft.core.items.GCCoreItems;
import micdoodle8.mods.galacticraft.core.util.RecipeUtil;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;

public class FBCoreRecipe {
    
    public static void loadRecipes() {
        OreDictionary.registerOre("PlatinumDust", new ItemStack(FBCoreItems.FBTechno, 1, 0));
        OreDictionary.registerOre("DiamondDust", new ItemStack(FBCoreItems.FBTechno, 1, 1));
        OreDictionary.registerOre("PlatinumIgnot", new ItemStack(FBCoreItems.FBTechno, 1, 2));
        OreDictionary.registerOre("TarHot", new ItemStack(FBCoreItems.FBItem, 1, 0));
        OreDictionary.registerOre("Tar", new ItemStack(FBCoreItems.FBItem, 1, 1));
        OreDictionary.registerOre("ShellBatteries", new ItemStack(FBCoreItems.FBTechno, 1, 3));
        OreDictionary.registerOre("Circuit", new ItemStack(FBCoreItems.FBTechno, 1, 4));
        OreDictionary.registerOre("CanisterApple", new ItemStack(FBCoreItems.FBItem, 1, 2));
        OreDictionary.registerOre("CanisterCarrot", new ItemStack(FBCoreItems.FBItem, 1, 3));
        OreDictionary.registerOre("CanisterdMelon", new ItemStack(FBCoreItems.FBItem, 1, 4));
        OreDictionary.registerOre("CanisterPotato", new ItemStack(FBCoreItems.FBItem, 1, 5));
        OreDictionary.registerOre("ingotAluminum", new ItemStack(GCCoreItems.basicItem, 1, 1));
        OreDictionary.registerOre("aluminumDust", new ItemStack(GCCoreItems.basicItem, 1, 5));
        OreDictionary.registerOre("ingotSteel", new ItemStack(BasicComponents.itemIngot, 1, 3));
        OreDictionary.registerOre("ingotTin", new ItemStack(BasicComponents.itemIngot, 1, 1));
        OreDictionary.registerOre("ingotCopper", new ItemStack(BasicComponents.itemIngot, 1, 0));
        OreDictionary.registerOre("ingotBronze", new ItemStack(BasicComponents.itemIngot, 1, 2));
        OreDictionary.registerOre("plateBronze", new ItemStack(BasicComponents.itemPlate, 1, 2));
        OreDictionary.registerOre("plateIron", new ItemStack(BasicComponents.itemPlate, 1, 4));
        OreDictionary.registerOre("plateSteel", new ItemStack(BasicComponents.itemPlate, 1, 3));
        OreDictionary.registerOre("plateTin", new ItemStack(BasicComponents.itemPlate, 1, 1));
        OreDictionary.registerOre("plateCopper", new ItemStack(BasicComponents.itemPlate, 1, 0));
        OreDictionary.registerOre("plateAluminium", new ItemStack(GCCoreItems.basicItem, 1, 2));
        OreDictionary.registerOre("circuitBasic", new ItemStack(BasicComponents.itemCircuit, 1, 0));
        OreDictionary.registerOre("circuitAdvanced", new ItemStack(BasicComponents.itemCircuit, 1, 1));
        OreDictionary.registerOre("circuitElite", new ItemStack(BasicComponents.itemCircuit, 1, 2));
        OreDictionary.registerOre("motor", new ItemStack(BasicComponents.itemMotor, 1));
        OreDictionary.registerOre("steeldust", new ItemStack(GCCoreItems.basicItemAdv, 1, 0));
        OreDictionary.registerOre("rawSilicon", new ItemStack(GCCoreItems.basicItem, 1, 0));
        OreDictionary.registerOre("waferBasic", new ItemStack(GCCoreItems.basicItem, 1, 3));
        OreDictionary.registerOre("waferAdvanced", new ItemStack(GCCoreItems.basicItem, 1, 4));
        OreDictionary.registerOre("pump", new ItemStack(GCCoreItems.basicItem, 1, 6));
        
        addFutureBuilderCraftingRecipes();
    }
    private static void addFutureBuilderCraftingRecipes() {
        
        ItemStack out_item1 = Items.getItem("resin");
        out_item1.stackSize = 2;
        Recipes.compressor.addRecipe(out_item1,  new ItemStack(FBCoreItems.FBItem, 1, 1));
        ItemStack out_item = Items.getItem("glassFiberCableItem");
        out_item.stackSize = 26;
        ItemStack out_item2 = Items.getItem("refinedIronIngot");
        out_item2.stackSize = 1;
        ItemStack out_item3 = Items.getItem("insulatedCopperCableItem");
        out_item3.stackSize = 1;
        ItemStack out_item4 = Items.getItem("tinIngot");
        out_item4.stackSize = 1;
        ItemStack out_item6 = Items.getItem("uraniumIngot");
        out_item6.stackSize = 1;
        ItemStack out_item7 = Items.getItem("iridiumPlate");
        out_item7.stackSize = 1;
        ItemStack out_item8 = Items.getItem("biofuelCell");
          out_item8.stackSize = 1;
          ItemStack out_item9 = Items.getItem("tinCan");
          out_item9.stackSize = 1;
          ItemStack out_item10 = Items.getItem("ironDust");
        out_item10.stackSize = 1;
          
    //CORE
          
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.PlatPickaxe, 1), new Object[]{"EEE", "#H#", "#X#",
             Character.valueOf('X'), new ItemStack(Item.stick), Character.valueOf('E'), new ItemStack(FBCoreItems.FBTechno, 1, 2), Character.valueOf('H'), new ItemStack(FBCoreItems.FBTechno, 1, 1)});
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.PlatAxe, 1), new Object[]{ "EE#", "EH#", "#X#",
             Character.valueOf('X'), new ItemStack(Item.stick), Character.valueOf('E'), new ItemStack(FBCoreItems.FBTechno, 1, 2), Character.valueOf('H'), new ItemStack(FBCoreItems.FBTechno, 1, 1)});
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.PlatHoe, 1), new Object[]{ "EE#", "#H#", "#X#",
             Character.valueOf('X'), new ItemStack(Item.stick), Character.valueOf('E'), new ItemStack(FBCoreItems.FBTechno, 1, 2), Character.valueOf('H'), new ItemStack(FBCoreItems.FBTechno, 1, 1)});
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.PlatSpade, 1), new Object[]{ "#E#", "#H#", "#X#",
             Character.valueOf('X'), new ItemStack(Item.stick), Character.valueOf('E'), new ItemStack(FBCoreItems.FBTechno, 1, 2), Character.valueOf('H'), new ItemStack(FBCoreItems.FBTechno, 1, 1)});
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.PlatSword, 1), new Object[]{ "HEH", "#E#", "#X#",
             Character.valueOf('X'), new ItemStack(Item.stick), Character.valueOf('E'), new ItemStack(FBCoreItems.FBTechno, 1, 2), Character.valueOf('H'), new ItemStack(FBCoreItems.FBTechno, 1, 1)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.Asphalt, 4), new Object[]{ "###", "#XX", "#HH",
             Character.valueOf('X'), Block.gravel, Character.valueOf('H'), new ItemStack(FBCoreItems.FBItem, 1, 0)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.BlackStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 0)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.BlueStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 4)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.BrownStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 3)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.GrayStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 8)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.GreenStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 2)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.LightBlueStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 12)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.OrangeStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 14)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.RedStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 1)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.WhiteStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 15)});
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.YellowStone, 4), new Object[]{ "X#X", "#E#", "X#X",
             Character.valueOf('X'), Block.stone, Character.valueOf('E'), new ItemStack(Item.dyePowder, 1, 11)});
    FurnaceRecipes.smelting().addSmelting(FBCoreItems.FBItem.itemID, 0, new ItemStack(FBCoreItems.FBTechno, 1, 2), 3.5F);
    FurnaceRecipes.smelting().addSmelting(FBCoreBlocks.platinumOre.blockID, new ItemStack(FBCoreItems.FBTechno, 1, 2), 3.5F);
    FurnaceRecipes.smelting().addSmelting(FBCoreItems.FBItem.itemID, 1, new ItemStack(FBCoreItems.FBItem, 1, 0), 3.5F);
    Recipes.macerator.addRecipe(new ItemStack(FBCoreBlocks.platinumOre, 1), new ItemStack(FBCoreItems.FBTechno, 2, 1));
    Recipes.macerator.addRecipe(new ItemStack(FBCoreItems.FBTechno, 1, 2), new ItemStack(FBCoreItems.FBTechno, 1, 0));   
    Recipes.macerator.addRecipe(new ItemStack(Item.diamond),  new ItemStack(FBCoreItems.FBTechno, 1, 1));
    Recipes.compressor.addRecipe(new ItemStack(Block.netherrack, 2),  new ItemStack(Block.netherBrick, 1));
    Recipes.extractor.addRecipe(new ItemStack(FBCoreItems.FBItem, 1, 2), new ItemStack(FBCoreItems.FBFood, 1, 0));    
    Recipes.extractor.addRecipe(new ItemStack(FBCoreItems.FBItem, 1, 3), new ItemStack(FBCoreItems.FBFood, 1, 1));
    Recipes.extractor.addRecipe(new ItemStack(FBCoreItems.FBItem, 1, 4), new ItemStack(FBCoreItems.FBFood, 1, 2));
    Recipes.extractor.addRecipe(new ItemStack(FBCoreItems.FBItem, 1, 5), new ItemStack(FBCoreItems.FBFood, 1, 3));
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.FBItem, 1, 2), new Object[]{ "   ", " X ", " H ",
             Character.valueOf('X'), Item.appleRed, Character.valueOf('H'), out_item9});
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.FBItem, 1, 3), new Object[]{ "   ", " X ", " H ",
             Character.valueOf('X'), Item.carrot, Character.valueOf('H'), out_item9});
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.FBItem, 1, 4), new Object[]{ "   ", " X ", " H ",
             Character.valueOf('X'), Item.melon, Character.valueOf('H'), out_item9});
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.FBItem, 1, 5), new Object[]{ "   ", " X ", " H ",
             Character.valueOf('X'), Item.potato, Character.valueOf('H'), out_item9});
    GameRegistry.addRecipe(out_item, new Object[]{ "XHX", "HEH", "XHX",
             Character.valueOf('X'), Block.glass, Character.valueOf('E'), Item.redstone, Character.valueOf('H'), new ItemStack(FBCoreItems.FBTechno, 1, 1)});
    GameRegistry.addRecipe(new ItemStack(FBCoreItems.FBTechno, 2, 4), new Object[]{ "EHE", "XFX", "EHE",
             Character.valueOf('X'), out_item2, Character.valueOf('E'), out_item3, Character.valueOf('H'), out_item4, Character.valueOf('F'), Item.redstone});
    GameRegistry.addRecipe(new ShapedOreRecipe(FBCoreBlocks.SteelMechanic, new Object[]{"XXX", "X X", "XXX", Character.valueOf('X'), "ingotSteel"}));
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(FBCoreItems.FBTechno, 8, 3), new Object[]{"#X#", "X#X", "#X#", Character.valueOf('X'), "ingotSteel"}));
    GameRegistry.addRecipe(new ItemStack(FBCoreBlocks.FuelGenerator, 1), new Object[]{ "HFH", "XEX", "HFH",
             Character.valueOf('X'), new ItemStack(FBCoreItems.FBTechno, 1, 4), Character.valueOf('E'), FBCoreBlocks.SteelMechanic, Character.valueOf('H'), out_item3, Character.valueOf('F'), Item.redstone});
    
    //SPACESHIPS
    
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.AcceleratorRT2), new Object[]{ " H ", "HXH", "HFH",
             Character.valueOf('X'), new ItemStack(BasicComponents.itemMotor, 1), Character.valueOf('H'), new ItemStack (BasicComponents.itemPlate, 1, 3), Character.valueOf('F'), FBRocketsItems.AirCompressorRT2});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.AirCompressorRT2), new Object[]{ " G ", "FHF", "DXD",
              Character.valueOf('G'), Item.redstone, Character.valueOf('X'), new ItemStack(BasicComponents.itemCircuit, 1, 0), Character.valueOf('H'), BasicComponents.blockCopperWire, Character.valueOf('F'), new ItemStack(BasicComponents.itemPlate, 1, 4), Character.valueOf('D'), new ItemStack(GCCoreItems.canister, 1, 0)});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.CowlRT2), new Object[]{ " G ", "FXF", "FFF",
              Character.valueOf('G'), Item.redstone, Character.valueOf('X'), new ItemStack(BasicComponents.itemCircuit, 1, 1), Character.valueOf('F'), new ItemStack(BasicComponents.itemPlate, 1, 3)});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.housingRT2), new Object[]{ "F  ", "X  ", "G  ",
              Character.valueOf('G'), new ItemStack(GCCoreItems.basicItem, 1, 2), Character.valueOf('X'), new ItemStack(BasicComponents.itemPlate, 1, 4), Character.valueOf('F'), new ItemStack(BasicComponents.itemPlate, 1, 3)});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.WingsRT2), new Object[]{ "  F", " FF", "FFF",
              Character.valueOf('F'), new ItemStack(BasicComponents.itemPlate, 1, 3)});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.EngineRT2), new Object[]{ "HHH", "EFE", "TGT",
              Character.valueOf('F'), FBRocketsItems.AirCompressorRT2, Character.valueOf('H'), new ItemStack(BasicComponents.itemPlate, 1, 3), Character.valueOf('G'), GCCoreItems.airVent, Character.valueOf('T'), new ItemStack(BasicComponents.itemMotor, 1), Character.valueOf('E'), BasicComponents.blockCopperWire});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.ComputerRT2, 2), new Object[]{ "   ", "FSF", "FDF",
              Character.valueOf('F'), new ItemStack(BasicComponents.itemPlate, 1, 3), Character.valueOf('S'), new ItemStack(BasicComponents.itemCircuit, 1, 0), Character.valueOf('D'), new ItemStack(Item.redstone), Character.valueOf('E'), new ItemStack(Block.glass)});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.BodyRT2), new Object[]{ "FDF", "FFF", "FFF",
              Character.valueOf('F'), new ItemStack(FBRocketsItems.MaterialRT2), Character.valueOf('D'), new ItemStack(FBRocketsItems.ComputerRT2)});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.MaterialRT2), new Object[]{ "F  ", "D  ", "   ",
              Character.valueOf('F'), new ItemStack(BasicComponents.itemPlate, 1, 3), Character.valueOf('D'), new ItemStack(BasicComponents.itemPlate, 1, 4)});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.CapsuleRT2), new Object[]{ " E ", " F ", "D D",
              Character.valueOf('F'), new ItemStack(FBRocketsItems.BodyRT2), Character.valueOf('D'), new ItemStack(FBRocketsItems.WingsRT2), Character.valueOf('E'), new ItemStack(FBRocketsItems.CowlRT2)});
      GameRegistry.addRecipe(new ItemStack(FBRocketsItems.rocketT2), new Object[]{ "   ", " F ", "DED",
              Character.valueOf('F'), new ItemStack(FBRocketsItems.CapsuleRT2), Character.valueOf('D'), new ItemStack(FBRocketsItems.AcceleratorRT2), Character.valueOf('E'), new ItemStack(FBRocketsItems.EngineRT2)});
      
  
      //PLANETS<>MOONS
      
      FurnaceRecipes.smelting().addSmelting(FBPlanetsBlocks.marsIron.blockID, new ItemStack(Item.ingotIron, 1), 0.0F);
    FurnaceRecipes.smelting().addSmelting(FBPlanetsBlocks.marsIridium.blockID, new ItemStack(FBPlanetsItems.marsIridiumIgnot, 1), 0.0F);
    FurnaceRecipes.smelting().addSmelting(FBPlanetsItems.marsIridiumDust.itemID, new ItemStack(FBPlanetsItems.marsIridiumIgnot, 1), 0.0F);
    Recipes.macerator.addRecipe(new ItemStack(FBPlanetsBlocks.marsIron, 1), (out_item10));
    Recipes.macerator.addRecipe(new ItemStack(FBPlanetsBlocks.marsIridium, 1), new ItemStack(FBPlanetsItems.marsIridiumDust, 2));
    RecipeUtil.addRecipe(new ItemStack(FBPlanetsItems.magnesiumBoots, 1), new Object[]{"X X", "X X", Character.valueOf('X'), new ItemStack(FBPlanetsItems.venusMagniumIgnot, 1)});
    RecipeUtil.addRecipe(new ItemStack(FBPlanetsItems.magnesiumChestplate, 1), new Object[]{"X X", "XXX", "XXX", Character.valueOf('X'), new ItemStack(FBPlanetsItems.venusMagniumIgnot, 1)});
    RecipeUtil.addRecipe(new ItemStack(FBPlanetsItems.magnesiumLeggings, 1), new Object[]{"XXX", "X X", "X X", Character.valueOf('X'), new ItemStack(FBPlanetsItems.venusMagniumIgnot, 1)});
    RecipeUtil.addRecipe(new ItemStack(FBPlanetsItems.magnesiumHelmet, 1), new Object[]{"XXX", "X X", Character.valueOf('X'), new ItemStack(FBPlanetsItems.venusMagniumIgnot, 1)});
    FurnaceRecipes.smelting().addSmelting(FBPlanetsItems.venusMagniumDust.itemID, 1, new ItemStack(FBPlanetsItems.venusMagniumIgnot, 1, 0), 0.0F);
    FurnaceRecipes.smelting().addSmelting(FBPlanetsBlocks.venusIron.blockID, 6, new ItemStack(FBPlanetsItems.venusMagniumIgnot, 1), 0.0F);
    FurnaceRecipes.smelting().addSmelting(FBPlanetsBlocks.venusIron.blockID, 2, new ItemStack(Item.ingotIron, 1), 0.0F);
    Recipes.macerator.addRecipe(new ItemStack(FBPlanetsItems.venusMagniumIgnot, 1, 0), new ItemStack(FBPlanetsItems.venusMagniumDust, 1, 1));
    Recipes.macerator.addRecipe(new ItemStack(FBPlanetsBlocks.venusIron, 1, 6), new ItemStack(FBPlanetsItems.venusMagniumDust, 2, 1));
}
}
 
По какой-то не понятной причине GCCoreItems.basicItem у тебя равен null.
 
GCCoreItems
 
Назад
Сверху