Turret AI chip, better template icons, small fixes & adjustments
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
BIN
assets/hbm/textures/items/chem_icon_ASPHALT.png
Normal file
|
After Width: | Height: | Size: 229 B |
BIN
assets/hbm/textures/items/chem_icon_BP_BIOFUEL.png
Normal file
|
After Width: | Height: | Size: 230 B |
BIN
assets/hbm/textures/items/chem_icon_BP_BIOGAS.png
Normal file
|
After Width: | Height: | Size: 253 B |
BIN
assets/hbm/textures/items/chem_icon_CC_HEATING.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
assets/hbm/textures/items/chem_icon_CC_HEAVY.png
Normal file
|
After Width: | Height: | Size: 225 B |
BIN
assets/hbm/textures/items/chem_icon_CC_I.png
Normal file
|
After Width: | Height: | Size: 225 B |
BIN
assets/hbm/textures/items/chem_icon_CC_NAPHTHA.png
Normal file
|
After Width: | Height: | Size: 224 B |
BIN
assets/hbm/textures/items/chem_icon_CC_OIL.png
Normal file
|
After Width: | Height: | Size: 217 B |
BIN
assets/hbm/textures/items/chem_icon_CIRCUIT_4.png
Normal file
|
After Width: | Height: | Size: 322 B |
BIN
assets/hbm/textures/items/chem_icon_CIRCUIT_5.png
Normal file
|
After Width: | Height: | Size: 305 B |
BIN
assets/hbm/textures/items/chem_icon_COOLANT.png
Normal file
|
After Width: | Height: | Size: 263 B |
BIN
assets/hbm/textures/items/chem_icon_DESH.png
Normal file
|
After Width: | Height: | Size: 252 B |
BIN
assets/hbm/textures/items/chem_icon_DEUTERIUM.png
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
assets/hbm/textures/items/chem_icon_FC_DIESEL_KEROSENE.png
Normal file
|
After Width: | Height: | Size: 263 B |
BIN
assets/hbm/textures/items/chem_icon_FC_GAS_PETROLEUM.png
Normal file
|
After Width: | Height: | Size: 261 B |
BIN
assets/hbm/textures/items/chem_icon_FC_I_NAPHTHA.png
Normal file
|
After Width: | Height: | Size: 218 B |
BIN
assets/hbm/textures/items/chem_icon_FC_KEROSENE_PETROLEUM.png
Normal file
|
After Width: | Height: | Size: 264 B |
BIN
assets/hbm/textures/items/chem_icon_FP_HEAVYOIL.png
Normal file
|
After Width: | Height: | Size: 255 B |
BIN
assets/hbm/textures/items/chem_icon_FP_LIGHTOIL.png
Normal file
|
After Width: | Height: | Size: 310 B |
BIN
assets/hbm/textures/items/chem_icon_FP_NAPHTHA.png
Normal file
|
After Width: | Height: | Size: 275 B |
BIN
assets/hbm/textures/items/chem_icon_FP_SMEAR.png
Normal file
|
After Width: | Height: | Size: 257 B |
BIN
assets/hbm/textures/items/chem_icon_FR_PETROIL.png
Normal file
|
After Width: | Height: | Size: 266 B |
BIN
assets/hbm/textures/items/chem_icon_FR_REOIL.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
assets/hbm/textures/items/chem_icon_PEROXIDE.png
Normal file
|
After Width: | Height: | Size: 213 B |
BIN
assets/hbm/textures/items/chem_icon_POLYMER.png
Normal file
|
After Width: | Height: | Size: 274 B |
BIN
assets/hbm/textures/items/chem_icon_PUF6.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
assets/hbm/textures/items/chem_icon_SF_BIOFUEL.png
Normal file
|
After Width: | Height: | Size: 256 B |
BIN
assets/hbm/textures/items/chem_icon_SF_BIOGAS.png
Normal file
|
After Width: | Height: | Size: 255 B |
BIN
assets/hbm/textures/items/chem_icon_SF_DIESEL.png
Normal file
|
After Width: | Height: | Size: 257 B |
BIN
assets/hbm/textures/items/chem_icon_SF_GAS.png
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
assets/hbm/textures/items/chem_icon_SF_HEATINGOIL.png
Normal file
|
After Width: | Height: | Size: 229 B |
BIN
assets/hbm/textures/items/chem_icon_SF_HEAVYOIL.png
Normal file
|
After Width: | Height: | Size: 227 B |
BIN
assets/hbm/textures/items/chem_icon_SF_KEROSENE.png
Normal file
|
After Width: | Height: | Size: 250 B |
BIN
assets/hbm/textures/items/chem_icon_SF_LIGHTOIL.png
Normal file
|
After Width: | Height: | Size: 241 B |
BIN
assets/hbm/textures/items/chem_icon_SF_LUBRICANT.png
Normal file
|
After Width: | Height: | Size: 227 B |
BIN
assets/hbm/textures/items/chem_icon_SF_NAPHTHA.png
Normal file
|
After Width: | Height: | Size: 233 B |
BIN
assets/hbm/textures/items/chem_icon_SF_OIL.png
Normal file
|
After Width: | Height: | Size: 217 B |
BIN
assets/hbm/textures/items/chem_icon_SF_PETROIL.png
Normal file
|
After Width: | Height: | Size: 230 B |
BIN
assets/hbm/textures/items/chem_icon_SF_PETROLEUM.png
Normal file
|
After Width: | Height: | Size: 256 B |
BIN
assets/hbm/textures/items/chem_icon_SF_RECLAIMED.png
Normal file
|
After Width: | Height: | Size: 233 B |
BIN
assets/hbm/textures/items/chem_icon_SF_SMEAR.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
assets/hbm/textures/items/chem_icon_STEAM.png
Normal file
|
After Width: | Height: | Size: 209 B |
BIN
assets/hbm/textures/items/chem_icon_TEST.png
Normal file
|
After Width: | Height: | Size: 164 B |
BIN
assets/hbm/textures/items/chem_icon_UF6.png
Normal file
|
After Width: | Height: | Size: 186 B |
|
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 278 B |
BIN
assets/hbm/textures/items/turret_chip.png
Normal file
|
After Width: | Height: | Size: 264 B |
BIN
assets/hbm/textures/items/turret_flamer_ammo.png
Normal file
|
After Width: | Height: | Size: 241 B |
BIN
assets/hbm/textures/items/turret_heavy_ammo.png
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
assets/hbm/textures/items/turret_light_ammo.png
Normal file
|
After Width: | Height: | Size: 291 B |
BIN
assets/hbm/textures/items/turret_missile_ammo.png
Normal file
|
After Width: | Height: | Size: 335 B |
BIN
assets/hbm/textures/items/turret_tau_ammo.png
Normal file
|
After Width: | Height: | Size: 456 B |
BIN
assets/hbm/textures/models/tank_BIOFUEL.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
assets/hbm/textures/models/tank_BIOGAS.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
@ -41,9 +41,9 @@ public class TurretHeavy extends TurretBase {
|
||||
|
||||
if(!world.isRemote) {
|
||||
EntityBullet bullet = new EntityBullet(world);
|
||||
bullet.posX = x + vector.xCoord * 2 + 0.5;
|
||||
bullet.posY = y + vector.yCoord * 2 + 1;
|
||||
bullet.posZ = z + vector.zCoord * 2 + 0.5;
|
||||
bullet.posX = x + vector.xCoord * 1 + 0.5;
|
||||
bullet.posY = y + vector.yCoord * 1 + 1;
|
||||
bullet.posZ = z + vector.zCoord * 1 + 0.5;
|
||||
|
||||
bullet.motionX = vector.xCoord * 3;
|
||||
bullet.motionY = vector.yCoord * 3;
|
||||
@ -54,9 +54,9 @@ public class TurretHeavy extends TurretBase {
|
||||
world.spawnEntityInWorld(bullet);
|
||||
|
||||
EntityGasFlameFX fx = new EntityGasFlameFX(world);
|
||||
fx.posX = x + vector.xCoord * 2 + 0.5;
|
||||
fx.posY = y + vector.yCoord * 2 + 1;
|
||||
fx.posZ = z + vector.zCoord * 2 + 0.5;
|
||||
fx.posX = x + vector.xCoord * 2.2 + 0.5;
|
||||
fx.posY = y + vector.yCoord * 2.2 + 1;
|
||||
fx.posZ = z + vector.zCoord * 2.2 + 0.5;
|
||||
world.spawnEntityInWorld(fx);
|
||||
}
|
||||
|
||||
|
||||
@ -625,9 +625,6 @@ public class MachineRecipes {
|
||||
recipes.put(new ItemStack(Item.getItemFromBlock(ModBlocks.test_render)),
|
||||
getCentrifugeOutput(Item.getItemFromBlock(ModBlocks.test_render)));
|
||||
}
|
||||
// [REDACTED]
|
||||
// recipes.put(new ItemStack(ModItems.rod_quad_euphemium),
|
||||
// getCentrifugeOutput(ModItems.rod_quad_euphemium));
|
||||
recipes.put(new ItemStack(ModItems.cell_sas3), getCentrifugeOutput(ModItems.cell_sas3));
|
||||
recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted),
|
||||
getCentrifugeOutput(ModItems.rod_uranium_fuel_depleted));
|
||||
@ -694,9 +691,7 @@ public class MachineRecipes {
|
||||
recipes.put(new ItemStack(ModItems.rod_neptunium), getReactorOutput(ModItems.rod_neptunium));
|
||||
recipes.put(new ItemStack(ModItems.rod_dual_neptunium), getReactorOutput(ModItems.rod_dual_neptunium));
|
||||
recipes.put(new ItemStack(ModItems.rod_quad_neptunium), getReactorOutput(ModItems.rod_quad_neptunium));
|
||||
// [REDACTED]
|
||||
// recipes.put(new ItemStack(ModItems.rod_quad_schrabidium),
|
||||
// getReactorOutput(ModItems.rod_quad_schrabidium));
|
||||
recipes.put(new ItemStack(ModItems.rod_quad_schrabidium), getReactorOutput(ModItems.rod_quad_schrabidium));
|
||||
recipes.put(new ItemStack(ModItems.rod_lithium), getReactorOutput(ModItems.rod_lithium));
|
||||
recipes.put(new ItemStack(ModItems.rod_dual_lithium), getReactorOutput(ModItems.rod_dual_lithium));
|
||||
recipes.put(new ItemStack(ModItems.rod_quad_lithium), getReactorOutput(ModItems.rod_quad_lithium));
|
||||
@ -2146,15 +2141,22 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(ModItems.bolt_dura_steel, 2));
|
||||
list.add(new ItemStack(ModItems.drill_titanium, 1));
|
||||
break;
|
||||
case SCHRABTRANS:
|
||||
case TELEPORTER:
|
||||
list.add(new ItemStack(ModItems.ingot_titanium, 6));
|
||||
list.add(new ItemStack(ModItems.plate_advanced_alloy, 12));
|
||||
list.add(new ItemStack(ModItems.plate_combine_steel, 4));
|
||||
list.add(new ItemStack(ModItems.telepad, 1));
|
||||
list.add(new ItemStack(ModItems.entanglement_kit, 1));
|
||||
list.add(new ItemStack(ModBlocks.machine_battery, 5));
|
||||
list.add(new ItemStack(ModBlocks.machine_battery, 2));
|
||||
list.add(new ItemStack(ModItems.coil_magnetized_tungsten, 4));
|
||||
break;
|
||||
case SCHRABTRANS:
|
||||
list.add(new ItemStack(ModItems.ingot_titanium, 24));
|
||||
list.add(new ItemStack(ModItems.plate_advanced_alloy, 18));
|
||||
list.add(new ItemStack(ModItems.plate_steel, 12));
|
||||
list.add(new ItemStack(ModBlocks.machine_battery, 5));
|
||||
list.add(new ItemStack(ModItems.ingot_magnetized_tungsten, 1));
|
||||
break;
|
||||
case CMB_FURNACE:
|
||||
list.add(new ItemStack(ModItems.ingot_steel, 8));
|
||||
list.add(new ItemStack(ModItems.ingot_polymer, 6));
|
||||
@ -2283,6 +2285,10 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(ModItems.circuit_schrabidium, 2));
|
||||
list.add(new ItemStack(ModItems.wire_magnetized_tungsten, 12));
|
||||
break;
|
||||
case FW_PORT:
|
||||
list.add(new ItemStack(ModItems.ingot_tungsten, 6));
|
||||
list.add(new ItemStack(ModItems.plate_combine_steel, 4));
|
||||
break;
|
||||
case FW_MAGNET:
|
||||
list.add(new ItemStack(ModItems.plate_combine_steel, 10));
|
||||
list.add(new ItemStack(ModItems.coil_magnetized_tungsten, 5));
|
||||
@ -3070,6 +3076,9 @@ public class MachineRecipes {
|
||||
case MINER:
|
||||
output = new ItemStack(ModBlocks.machine_drill, 1);
|
||||
break;
|
||||
case TELEPORTER:
|
||||
output = new ItemStack(ModBlocks.machine_teleporter, 1);
|
||||
break;
|
||||
case SCHRABTRANS:
|
||||
output = new ItemStack(ModBlocks.machine_schrabidium_transmutator, 1);
|
||||
break;
|
||||
@ -3139,6 +3148,9 @@ public class MachineRecipes {
|
||||
case LW_CORE:
|
||||
output = new ItemStack(ModBlocks.watz_core, 1);
|
||||
break;
|
||||
case FW_PORT:
|
||||
output = new ItemStack(ModBlocks.fwatz_hatch, 1);
|
||||
break;
|
||||
case FW_MAGNET:
|
||||
output = new ItemStack(ModBlocks.fwatz_conductor, 1);
|
||||
break;
|
||||
@ -3649,6 +3661,12 @@ public class MachineRecipes {
|
||||
case SF_PETROLEUM:
|
||||
input[0] = new FluidStack(600, FluidType.PETROLEUM);
|
||||
break;
|
||||
case SF_BIOGAS:
|
||||
input[0] = new FluidStack(400, FluidType.BIOGAS);
|
||||
break;
|
||||
case SF_BIOFUEL:
|
||||
input[0] = new FluidStack(300, FluidType.BIOFUEL);
|
||||
break;
|
||||
case POLYMER:
|
||||
input[0] = new FluidStack(600, FluidType.PETROLEUM);
|
||||
break;
|
||||
@ -3659,7 +3677,7 @@ public class MachineRecipes {
|
||||
input[0] = new FluidStack(1000, FluidType.WATER);
|
||||
break;
|
||||
case BP_BIOFUEL:
|
||||
input[0] = new FluidStack(1000, FluidType.BIOGAS);
|
||||
input[0] = new FluidStack(2000, FluidType.BIOGAS);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -3747,6 +3765,14 @@ public class MachineRecipes {
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_BIOGAS:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case SF_BIOFUEL:
|
||||
output[0] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
output[1] = new ItemStack(ModItems.solid_fuel, 1);
|
||||
break;
|
||||
case POLYMER:
|
||||
output[0] = new ItemStack(ModItems.ingot_polymer, 1);
|
||||
break;
|
||||
@ -3827,13 +3853,13 @@ public class MachineRecipes {
|
||||
input[0] = new FluidStack(500, FluidType.DEUTERIUM);
|
||||
break;
|
||||
case STEAM:
|
||||
input[0] = new FluidStack(1000, FluidType.DEUTERIUM);
|
||||
input[0] = new FluidStack(1000, FluidType.STEAM);
|
||||
break;
|
||||
case BP_BIOGAS:
|
||||
input[0] = new FluidStack(1000, FluidType.BIOGAS);
|
||||
input[0] = new FluidStack(4000, FluidType.BIOGAS);
|
||||
break;
|
||||
case BP_BIOFUEL:
|
||||
input[0] = new FluidStack(500, FluidType.BIOFUEL);
|
||||
input[0] = new FluidStack(1000, FluidType.BIOFUEL);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@ -7,6 +7,7 @@ import java.util.List;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.inventory.MachineRecipes;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.tool.ItemAssemblyTemplate.EnumAssemblyTemplate;
|
||||
import com.hbm.items.tool.ItemChemistryTemplate;
|
||||
@ -174,9 +175,19 @@ public class GUIScreenTemplateFolder extends GuiScreen {
|
||||
}
|
||||
|
||||
public void drawIcon(boolean b) {
|
||||
if(stack != null)
|
||||
try {
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
if(stack != null) {
|
||||
if(stack.getItem() == ModItems.assembly_template)
|
||||
itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), MachineRecipes.getOutputFromTempate(stack), xPos + 1, yPos + 1);
|
||||
else if(stack.getItem() == ModItems.chemistry_template)
|
||||
itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), new ItemStack(ModItems.chemistry_icon, 1, stack.getItemDamage()), xPos + 1, yPos + 1);
|
||||
else
|
||||
itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), stack, xPos + 1, yPos + 1);
|
||||
}
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
} catch(Exception x) { }
|
||||
}
|
||||
|
||||
public void drawString(int x, int y) {
|
||||
if(info == null || info.isEmpty())
|
||||
|
||||
@ -544,6 +544,7 @@ public class ModItems {
|
||||
public static Item template_folder;
|
||||
public static Item assembly_template;
|
||||
public static Item chemistry_template;
|
||||
public static Item chemistry_icon;
|
||||
public static Item fluid_identifier;
|
||||
public static Item fluid_icon;
|
||||
|
||||
@ -923,6 +924,7 @@ public class ModItems {
|
||||
public static Item crate_caller;
|
||||
public static Item remote;
|
||||
public static Item turret_control;
|
||||
public static Item turret_chip;
|
||||
public static Item chopper;
|
||||
|
||||
public static Item bucket_mud;
|
||||
@ -1750,11 +1752,13 @@ public class ModItems {
|
||||
linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":linker");
|
||||
oil_detector = new ItemOilDetector().setUnlocalizedName("oil_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":oil_detector");
|
||||
turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_control");
|
||||
turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_chip");
|
||||
geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":geiger_counter");
|
||||
|
||||
template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":template_folder");
|
||||
assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":assembly_template");
|
||||
chemistry_template = new ItemChemistryTemplate().setUnlocalizedName("chemistry_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":chemistry_template");
|
||||
chemistry_icon = new ItemChemistryIcon().setUnlocalizedName("chemistry_icon").setMaxStackSize(1).setCreativeTab(null);
|
||||
fluid_identifier = new ItemFluidIdentifier().setUnlocalizedName("fluid_identifier").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":fluid_identifier");
|
||||
fluid_icon = new ItemFluidIcon().setUnlocalizedName("fluid_icon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":fluid_icon");
|
||||
fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fluid_tank");
|
||||
@ -2426,6 +2430,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(fluid_icon, fluid_icon.getUnlocalizedName());
|
||||
GameRegistry.registerItem(assembly_template, assembly_template.getUnlocalizedName());
|
||||
GameRegistry.registerItem(chemistry_template, chemistry_template.getUnlocalizedName());
|
||||
GameRegistry.registerItem(chemistry_icon, chemistry_icon.getUnlocalizedName());
|
||||
|
||||
//Machine Items
|
||||
GameRegistry.registerItem(fuse, fuse.getUnlocalizedName());
|
||||
@ -2576,6 +2581,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(designator, designator.getUnlocalizedName());
|
||||
GameRegistry.registerItem(designator_range, designator_range.getUnlocalizedName());
|
||||
GameRegistry.registerItem(turret_control, turret_control.getUnlocalizedName());
|
||||
GameRegistry.registerItem(turret_chip, turret_chip.getUnlocalizedName());
|
||||
GameRegistry.registerItem(linker, linker.getUnlocalizedName());
|
||||
GameRegistry.registerItem(oil_detector, oil_detector.getUnlocalizedName());
|
||||
GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName());
|
||||
|
||||
@ -280,11 +280,6 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
{
|
||||
list.add("A quad fuel rod which contains a");
|
||||
list.add("very small ammount of a strange new element.");
|
||||
list.add("");
|
||||
list.add("If you tell anybody about this, I will");
|
||||
list.add("tear your living guts out and use them to");
|
||||
list.add("grease the treads of my tank.");
|
||||
list.add("Got that? Good.");
|
||||
}
|
||||
|
||||
if(this == ModItems.ingot_euphemium)
|
||||
|
||||
@ -129,6 +129,7 @@ public class ItemAssemblyTemplate extends Item {
|
||||
CHEMPLANT,
|
||||
TANK,
|
||||
MINER,
|
||||
TELEPORTER,
|
||||
SCHRABTRANS,
|
||||
CMB_FURNACE,
|
||||
FA_HULL,
|
||||
@ -152,6 +153,7 @@ public class ItemAssemblyTemplate extends Item {
|
||||
LW_HATCH,
|
||||
LW_PORT,
|
||||
LW_CORE,
|
||||
FW_PORT,
|
||||
FW_MAGNET,
|
||||
FW_COMPUTER,
|
||||
FW_CORE,
|
||||
@ -506,8 +508,10 @@ public class ItemAssemblyTemplate extends Item {
|
||||
return 150;
|
||||
case MINER:
|
||||
return 200;
|
||||
case SCHRABTRANS:
|
||||
case TELEPORTER:
|
||||
return 300;
|
||||
case SCHRABTRANS:
|
||||
return 500;
|
||||
case CMB_FURNACE:
|
||||
return 150;
|
||||
case FA_HULL:
|
||||
@ -552,6 +556,8 @@ public class ItemAssemblyTemplate extends Item {
|
||||
return 250;
|
||||
case LW_CORE:
|
||||
return 350;
|
||||
case FW_PORT:
|
||||
return 250;
|
||||
case FW_MAGNET:
|
||||
return 250;
|
||||
case FW_COMPUTER:
|
||||
|
||||
72
com/hbm/items/tool/ItemChemistryIcon.java
Normal file
@ -0,0 +1,72 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.tool.ItemChemistryTemplate.EnumChemistryTemplate;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
||||
public class ItemChemistryIcon extends Item {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon[] icons;
|
||||
|
||||
public ItemChemistryIcon()
|
||||
{
|
||||
this.setHasSubtypes(true);
|
||||
this.setMaxDamage(0);
|
||||
}
|
||||
|
||||
public String getItemStackDisplayName(ItemStack stack)
|
||||
{
|
||||
String s = ("" + StatCollector.translateToLocal(ModItems.chemistry_template.getUnlocalizedName() + ".name")).trim();
|
||||
String s1 = ("" + StatCollector.translateToLocal("chem." + EnumChemistryTemplate.getEnum(stack.getItemDamage()).name())).trim();
|
||||
|
||||
if (s1 != null)
|
||||
{
|
||||
s = s + " " + s1;
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubItems(Item item, CreativeTabs tabs, List list)
|
||||
{
|
||||
for (int i = 0; i < EnumChemistryTemplate.values().length; ++i)
|
||||
{
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister reg)
|
||||
{
|
||||
this.icons = new IIcon[EnumChemistryTemplate.values().length];
|
||||
|
||||
for (int i = 0; i < icons.length; ++i)
|
||||
{
|
||||
this.icons[i] = reg.registerIcon("hbm:chem_icon_" + EnumChemistryTemplate.getEnum(i).name());
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIconFromDamage(int i)
|
||||
{
|
||||
int j = MathHelper.clamp_int(i, 0, icons.length - 1);
|
||||
return this.icons[j];
|
||||
}
|
||||
|
||||
}
|
||||
@ -54,6 +54,8 @@ public class ItemChemistryTemplate extends Item {
|
||||
SF_KEROSENE,
|
||||
SF_GAS,
|
||||
SF_PETROLEUM,
|
||||
SF_BIOGAS,
|
||||
SF_BIOFUEL,
|
||||
BP_BIOGAS,
|
||||
BP_BIOFUEL,
|
||||
ASPHALT,
|
||||
@ -188,6 +190,10 @@ public class ItemChemistryTemplate extends Item {
|
||||
return 20;
|
||||
case SF_PETROLEUM:
|
||||
return 20;
|
||||
case SF_BIOGAS:
|
||||
return 20;
|
||||
case SF_BIOFUEL:
|
||||
return 20;
|
||||
case POLYMER:
|
||||
return 100;
|
||||
case DEUTERIUM:
|
||||
@ -197,7 +203,7 @@ public class ItemChemistryTemplate extends Item {
|
||||
case BP_BIOGAS:
|
||||
return 200;
|
||||
case BP_BIOFUEL:
|
||||
return 300;
|
||||
return 100;
|
||||
default:
|
||||
return 100;
|
||||
}
|
||||
|
||||
38
com/hbm/items/tool/ItemTurretChip.java
Normal file
@ -0,0 +1,38 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import com.hbm.blocks.bomb.TurretBase;
|
||||
import com.hbm.tileentity.bomb.TileEntityTurretBase;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemTurretChip extends Item {
|
||||
|
||||
@Override
|
||||
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_)
|
||||
{
|
||||
if((world.getBlock(x, y, z) instanceof TurretBase))
|
||||
{
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
if(te instanceof TileEntityTurretBase) {
|
||||
((TileEntityTurretBase)te).isAI = true;
|
||||
((TileEntityTurretBase)te).uuid = player.getUniqueID().toString();
|
||||
}
|
||||
if(world.isRemote)
|
||||
{
|
||||
player.addChatMessage(new ChatComponentText("Turret ownership set to: " + player.getDisplayName()));
|
||||
}
|
||||
world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@ -42,6 +42,7 @@ public class ItemTurretControl extends Item {
|
||||
if(te != null && te instanceof TileEntityTurretBase) {
|
||||
TileEntityTurretBase turret = (TileEntityTurretBase)te;
|
||||
|
||||
if(!turret.isAI) {
|
||||
turret.rotationYaw = player.rotationYaw;
|
||||
turret.rotationPitch = player.rotationPitch;
|
||||
if(turret.rotationPitch < -60)
|
||||
@ -53,6 +54,7 @@ public class ItemTurretControl extends Item {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
|
||||
|
||||
@ -85,7 +85,8 @@ public class GunZOMG extends Item {
|
||||
player.addChatMessage(new ChatComponentText("[ZOMG] Gun has been validated!"));
|
||||
}
|
||||
|
||||
if (Library.superuser.contains(player.getUniqueID().toString())) {
|
||||
//if(Library.superuser.contains(player.getUniqueID().toString())) {
|
||||
if(player.inventory.hasItem(ModItems.polaroid)) {
|
||||
if (world.isRemote) {
|
||||
player.addChatMessage(new ChatComponentText("[ZOMG] Welcome, superuser!"));
|
||||
}
|
||||
|
||||
@ -352,6 +352,7 @@ public class CraftingManager {
|
||||
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds, Items.reeds });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato });
|
||||
|
||||
@ -40,8 +40,8 @@ public class NEIConfig implements IConfigureNEI {
|
||||
API.registerUsageHandler(new AssemblerRecipeHandler());
|
||||
API.registerRecipeHandler(new RefineryRecipeHandler());
|
||||
API.registerUsageHandler(new RefineryRecipeHandler());
|
||||
API.registerRecipeHandler(new ModInfoHandler());
|
||||
API.registerUsageHandler(new ModInfoHandler());
|
||||
//API.registerRecipeHandler(new ModInfoHandler());
|
||||
//API.registerUsageHandler(new ModInfoHandler());
|
||||
API.registerRecipeHandler(new ChemplantRecipeHandler());
|
||||
API.registerUsageHandler(new ChemplantRecipeHandler());
|
||||
API.registerRecipeHandler(new FluidRecipeHandler());
|
||||
@ -60,22 +60,46 @@ public class NEIConfig implements IConfigureNEI {
|
||||
API.hideItem(new ItemStack(Item.getItemFromBlock(ModBlocks.statue_elb_f)));
|
||||
API.hideItem(new ItemStack(Item.getItemFromBlock(ModBlocks.cheater_virus)));
|
||||
API.hideItem(new ItemStack(Item.getItemFromBlock(ModBlocks.cheater_virus_seed)));
|
||||
API.hideItem(new ItemStack(ModItems.euphemium_helmet));
|
||||
API.hideItem(new ItemStack(ModItems.euphemium_plate));
|
||||
API.hideItem(new ItemStack(ModItems.euphemium_legs));
|
||||
API.hideItem(new ItemStack(ModItems.euphemium_boots));
|
||||
API.hideItem(new ItemStack(ModItems.apple_euphemium));
|
||||
API.hideItem(new ItemStack(ModItems.ingot_euphemium));
|
||||
API.hideItem(new ItemStack(ModItems.nugget_euphemium));
|
||||
//API.hideItem(new ItemStack(ModItems.euphemium_helmet));
|
||||
//API.hideItem(new ItemStack(ModItems.euphemium_plate));
|
||||
//API.hideItem(new ItemStack(ModItems.euphemium_legs));
|
||||
//API.hideItem(new ItemStack(ModItems.euphemium_boots));
|
||||
//API.hideItem(new ItemStack(ModItems.apple_euphemium));
|
||||
//API.hideItem(new ItemStack(ModItems.ingot_euphemium));
|
||||
//API.hideItem(new ItemStack(ModItems.nugget_euphemium));
|
||||
API.hideItem(new ItemStack(ModItems.euphemium_kit));
|
||||
API.hideItem(new ItemStack(ModItems.euphemium_stopper));
|
||||
API.hideItem(new ItemStack(ModItems.watch));
|
||||
API.hideItem(new ItemStack(ModItems.rod_quad_euphemium));
|
||||
API.hideItem(new ItemStack(ModItems.rod_euphemium));
|
||||
//API.hideItem(new ItemStack(ModItems.euphemium_stopper));
|
||||
//API.hideItem(new ItemStack(ModItems.watch));
|
||||
//API.hideItem(new ItemStack(ModItems.rod_quad_euphemium));
|
||||
//API.hideItem(new ItemStack(ModItems.rod_euphemium));
|
||||
if(MainRegistry.polaroidID != 11) {
|
||||
API.hideItem(new ItemStack(ModItems.book_secret));
|
||||
if(MainRegistry.polaroidID != 11)
|
||||
API.hideItem(new ItemStack(ModItems.burnt_bark));
|
||||
}
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_assembler));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_centrifuge));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_chemplant));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_cyclotron));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_drill));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_flare));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_fluidtank));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_igenerator));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_pumpjack));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_refinery));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_turbofan));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_block_well));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_assembler));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_chemplant));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_cyclotron));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_drill));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_flare));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_fluidtank));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_igenerator));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_pumpjack));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_refinery));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_turbofan));
|
||||
API.hideItem(new ItemStack(ModBlocks.dummy_port_well));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
|
||||
@ -58,6 +58,7 @@ public class TEFluidPacket implements IMessage {
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(TEFluidPacket m, MessageContext ctx) {
|
||||
try{
|
||||
TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z);
|
||||
|
||||
if (te != null && te instanceof IFluidContainer) {
|
||||
@ -66,6 +67,7 @@ public class TEFluidPacket implements IMessage {
|
||||
gen.setFillstate(m.fill, m.index);
|
||||
gen.setType(FluidType.getEnum(m.type), m.index);
|
||||
}
|
||||
} catch(Exception x) { }
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,6 +54,7 @@ public class TEPumpjackPacket implements IMessage {
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(TEPumpjackPacket m, MessageContext ctx) {
|
||||
try {
|
||||
TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z);
|
||||
|
||||
if (te != null && te instanceof TileEntityMachinePumpjack) {
|
||||
@ -62,6 +63,7 @@ public class TEPumpjackPacket implements IMessage {
|
||||
gen.rotation = m.spin;
|
||||
gen.isProgressing = m.progress;
|
||||
}
|
||||
} catch(Exception x) { }
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,25 +1,100 @@
|
||||
package com.hbm.tileentity.bomb;
|
||||
|
||||
import com.hbm.blocks.bomb.TurretBase;
|
||||
import com.hbm.packet.LoopedSoundPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TETurretPacket;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public abstract class TileEntityTurretBase extends TileEntity {
|
||||
|
||||
public double rotationYaw;
|
||||
public double rotationPitch;
|
||||
public boolean isAI = false;
|
||||
public String uuid;
|
||||
public int use;
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if(isAI) {
|
||||
|
||||
Object[] iter = worldObj.loadedEntityList.toArray();
|
||||
double radius = 500;
|
||||
Entity target = null;
|
||||
for (int i = 0; i < iter.length; i++)
|
||||
{
|
||||
Entity e = (Entity) iter[i];
|
||||
if (isInSight(e))
|
||||
{
|
||||
double distance = e.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5);
|
||||
if (distance < radius)
|
||||
{
|
||||
radius = distance;
|
||||
target = e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(target != null) {
|
||||
Vec3 turret = Vec3.createVectorHelper(target.posX - (xCoord + 0.5), target.posY + target.getEyeHeight() - (yCoord + 1), target.posZ - (zCoord + 0.5));
|
||||
rotationPitch = -Math.asin(turret.yCoord/turret.lengthVector()) * 180 / Math.PI;
|
||||
rotationYaw = -Math.atan2(turret.xCoord, turret.zCoord) * 180 / Math.PI;
|
||||
|
||||
if(rotationPitch < -60)
|
||||
rotationPitch = -60;
|
||||
if(rotationPitch > 30)
|
||||
rotationPitch = 30;
|
||||
|
||||
use++;
|
||||
|
||||
if(worldObj.getBlock(xCoord, yCoord, zCoord) instanceof TurretBase) {
|
||||
((TurretBase)worldObj.getBlock(xCoord, yCoord, zCoord)).executeHoldAction(worldObj, use, rotationYaw, rotationPitch, xCoord, yCoord, zCoord);
|
||||
}
|
||||
|
||||
} else {
|
||||
use = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
PacketDispatcher.wrapper.sendToAll(new TETurretPacket(xCoord, yCoord, zCoord, rotationYaw, rotationPitch));
|
||||
}
|
||||
|
||||
private boolean isInSight(Entity e) {
|
||||
if(!(e instanceof EntityLivingBase))
|
||||
return false;
|
||||
|
||||
if(e instanceof EntityPlayer && ((EntityPlayer)e).getUniqueID().toString().equals(uuid))
|
||||
return false;
|
||||
|
||||
Vec3 turret = Vec3.createVectorHelper(xCoord + 0.5, yCoord + 1, zCoord + 0.5);
|
||||
Vec3 entity = Vec3.createVectorHelper(e.posX, e.posY + e.getEyeHeight(), e.posZ);
|
||||
Vec3 side = Vec3.createVectorHelper(entity.xCoord - turret.xCoord, entity.yCoord - turret.yCoord, entity.zCoord - turret.zCoord);
|
||||
side = side.normalize();
|
||||
|
||||
turret.xCoord += side.xCoord * 1.5;
|
||||
turret.yCoord += side.yCoord * 1.5;
|
||||
turret.zCoord += side.zCoord * 1.5;
|
||||
|
||||
MovingObjectPosition pos = worldObj.rayTraceBlocks(entity, turret);
|
||||
|
||||
return true;
|
||||
//return pos != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
@ -32,4 +107,22 @@ public abstract class TileEntityTurretBase extends TileEntity {
|
||||
return 65536.0D;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
rotationYaw = nbt.getDouble("yaw");
|
||||
rotationPitch = nbt.getDouble("pitch");
|
||||
isAI = nbt.getBoolean("AI");
|
||||
uuid = nbt.getString("player");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setDouble("yaw", rotationYaw);
|
||||
nbt.setDouble("pitch", rotationPitch);
|
||||
nbt.setBoolean("AI", isAI);
|
||||
nbt.setString("player", uuid);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -238,11 +238,11 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento
|
||||
public int getHEFromFuel() {
|
||||
FluidType type = tank.getTankType();
|
||||
if(type.name().equals(FluidType.DIESEL.name()))
|
||||
return 250;
|
||||
return 500;
|
||||
if(type.name().equals(FluidType.PETROIL.name()))
|
||||
return 150;
|
||||
return 300;
|
||||
if(type.name().equals(FluidType.BIOFUEL.name()))
|
||||
return 200;
|
||||
return 400;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -23,6 +23,8 @@ import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEIGeneratorPacket;
|
||||
import com.hbm.packet.TETurbofanPacket;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
@ -555,4 +557,16 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
if(type.name().equals(tank.getTankType().name()))
|
||||
tank.setFill(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared()
|
||||
{
|
||||
return 65536.0D;
|
||||
}
|
||||
}
|
||||
|
||||