use of micdoodle8.mods.galacticraft.api.prefab.entity.EntityAutoRocket in project Galacticraft by micdoodle8.
the class ItemTier2Rocket method placeRocketOnPad.
public static boolean placeRocketOnPad(ItemStack stack, World world, TileEntity tile, float centerX, float centerY, float centerZ) {
// Check whether there is already a rocket on the pad
if (tile instanceof TileEntityLandingPad) {
if (((TileEntityLandingPad) tile).getDockedEntity() != null) {
return false;
}
} else {
return false;
}
EntityAutoRocket rocket;
if (stack.getItemDamage() < 10) {
rocket = new EntityTier2Rocket(world, centerX, centerY, centerZ, EnumRocketType.values()[stack.getItemDamage()]);
} else {
rocket = new EntityCargoRocket(world, centerX, centerY, centerZ, EnumRocketType.values()[stack.getItemDamage() - 10]);
}
rocket.setPosition(rocket.posX, rocket.posY + rocket.getOnPadYOffset(), rocket.posZ);
world.spawnEntityInWorld(rocket);
if (((IRocketType) rocket).getType().getPreFueled()) {
if (rocket instanceof EntityTieredRocket) {
((EntityTieredRocket) rocket).fuelTank.fill(new FluidStack(GCFluids.fluidFuel, rocket.getMaxFuel()), true);
} else {
((EntityCargoRocket) rocket).fuelTank.fill(new FluidStack(GCFluids.fluidFuel, rocket.getMaxFuel()), true);
}
} else if (stack.hasTagCompound() && stack.getTagCompound().hasKey("RocketFuel")) {
rocket.fuelTank.fill(new FluidStack(GCFluids.fluidFuel, stack.getTagCompound().getInteger("RocketFuel")), true);
}
return true;
}
use of micdoodle8.mods.galacticraft.api.prefab.entity.EntityAutoRocket in project Galacticraft by micdoodle8.
the class ItemTier2Rocket method addInformation.
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack par1ItemStack, EntityPlayer player, List<String> tooltip, boolean b) {
EnumRocketType type;
if (par1ItemStack.getItemDamage() < 10) {
type = EnumRocketType.values()[par1ItemStack.getItemDamage()];
} else {
type = EnumRocketType.values()[par1ItemStack.getItemDamage() - 10];
}
if (!type.getTooltip().isEmpty()) {
tooltip.add(type.getTooltip());
}
if (type.getPreFueled()) {
tooltip.add(EnumColor.RED + "\u00a7o" + GCCoreUtil.translate("gui.creative_only.desc"));
}
if (par1ItemStack.hasTagCompound() && par1ItemStack.getTagCompound().hasKey("RocketFuel")) {
EntityAutoRocket rocket;
if (par1ItemStack.getItemDamage() < 10) {
rocket = new EntityTier2Rocket(FMLClientHandler.instance().getWorldClient(), 0, 0, 0, EnumRocketType.values()[par1ItemStack.getItemDamage()]);
} else {
rocket = new EntityCargoRocket(FMLClientHandler.instance().getWorldClient(), 0, 0, 0, EnumRocketType.values()[par1ItemStack.getItemDamage() - 10]);
}
tooltip.add(GCCoreUtil.translate("gui.message.fuel.name") + ": " + par1ItemStack.getTagCompound().getInteger("RocketFuel") + " / " + rocket.fuelTank.getCapacity());
}
if (par1ItemStack.getItemDamage() >= 10) {
tooltip.add(EnumColor.AQUA + GCCoreUtil.translate("gui.requires_controller.desc"));
}
}
Aggregations