Fluid ducts, creative tabs, more assembler work

This commit is contained in:
HbmMods 2017-07-08 12:54:31 +02:00
parent fe136abab1
commit e6b9851e52
24 changed files with 1297 additions and 52 deletions

View File

@ -1175,7 +1175,7 @@ tile.dummy_port.name=Dummyblock (Stromanschluss)
item.chopper.name=Jagdschrauber
item.nothing.name=Diesen Slot freilassen
item.nothing.name=Leer
tile.crystal_virus.name=Dunkler Kristall
tile.crystal_hardened.name=Gehärteter Dunkler Kristall

View File

@ -235,6 +235,62 @@ tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP)
tile.machine_rtg_blue.name=Convection Generator
tile.machine_rtg_purple.name=Antimatter Annihilation Generator
item.assembly_template.TEST.name=Assembly Template: Test
item.assembly_template.MIXED_PLATE.name=Assembly Template: Mixed Plate
item.assembly_template.HAZMAT_CLOTH.name=Assembly Template: Hazmat Cloth
item.assembly_template.ASBESTOS_CLOTH.name=Assembly Template: Fire Proximity Cloth
item.assembly_template.COAL_FILTER.name=Assembly Template: Activated Carbon Filter
item.assembly_template.CENTRIFUGE_ELEMENT.name=Assembly Template: Centrifuge Element
item.assembly_template.CENTRIFUGE_TOWER.name=Assembly Template: Centrifuge Tower
item.assembly_template.DEE_MAGNET.name=Assembly Template: Dee Magnets
item.assembly_template.FLAT_MAGNET.name=Assembly Template: Flat Magnet
item.assembly_template.CYCLOTRON_TOWER.name=Assembly Template: Cyclotron Tower
item.assembly_template.REACTOR_CORE.name=Assembly Template: Breeding Reactor Core
item.assembly_template.RTG_UNIT.name=Assembly Template: RTG Unit
item.assembly_template.HEAT_UNIT.name=Assembly Template: Thermal Distribution Unit
item.assembly_template.GRAVITY_UNIT.name=Assembly Template: Gravity Manipulator
item.assembly_template.TITANIUM_DRILL.name=Assembly Template: Titanium Drill
item.assembly_template.TELEPAD.name=Assembly Template: Telepad
item.assembly_template.TELEKIT.name=Assembly Template: Entanglement Kit
item.assembly_template.GEASS_REACTOR.name=Assembly Template: Dysfunctional Nuclear Reactor
item.assembly_template.GENERATOR_FRONT.name=Assembly Template: Generator Front
item.assembly_template.WT1_GENERIC.name=Assembly Template: Small Warhead
item.assembly_template.WT2_GENERIC.name=Assembly Template: Medium Warhead
item.assembly_template.WT3_GENERIC.name=Assembly Template: Large Warhead
item.assembly_template.WT1_FIRE.name=Assembly Template: Small Incendiary Warhead
item.assembly_template.WT2_FIRE.name=Assembly Template: Medium Incendiary Warhead
item.assembly_template.WT3_FIRE.name=Assembly Template: Large Incendiary Warhead
item.assembly_template.WT1_CLUSTER.name=Assembly Template: Small Cluster Warhead
item.assembly_template.WT2_CLUSTER.name=Assembly Template: Medium Cluster Warhead
item.assembly_template.WT3_CLUSTER.name=Assembly Template: Large Cluster Warhead
item.assembly_template.WT1_BUSTER.name=Assembly Template: Small Bunker Buster Warhead
item.assembly_template.WT2_BUSTER.name=Assembly Template: Medium Bunker Buster Warhead
item.assembly_template.WT3_BUSTER.name=Assembly Template: Large Bunker Buster Warhead
item.assembly_template.W_NUCLEAR.name=Assembly Template: Nuclear Warhead
item.assembly_template.W_MIRVLET.name=Assembly Template: MIRV
item.assembly_template.W_MIRV.name=Assembly Template: Eightfold MIRV Warhead
item.assembly_template.W_ENDOTHERMIC.name=Assembly Template: Endothermic Warhead
item.assembly_template.W_EXOTHERMIC.name=Assembly Template: Exothermic Warhead
item.assembly_template.T1_TANK.name=Assembly Template: Small Fuel Tank
item.assembly_template.T2_TANK.name=Assembly Template: Medium Fuel Tank
item.assembly_template.T3_TANK.name=Assembly Template: Large Fuel Tank
item.assembly_template.T1_THRUSTER.name=Assembly Template: Small Thruster
item.assembly_template.T2_THRUSTER.name=Assembly Template: Medium Thruster
item.assembly_template.T3_THRUSTER.name=Assembly Template: Large Thruster
item.assembly_template.CHOPPER_HEAD.name=Assembly Template: Hunter Chopper Cockpit
item.assembly_template.CHOPPER_GUN.name=Assembly Template: Emplacement Gun
item.assembly_template.CHOPPER_BODY.name=Assembly Template: Hunter Chopper Body
item.assembly_template.CHOPPER_TAIL.name=Assembly Template: Hunter Chopper Tail
item.assembly_template.CHOPPER_WING.name=Assembly Template: Hunter Chopper Wing
item.assembly_template.CHOPPER_BLADES.name=Assembly Template: Hunter Chopper Rotor Blades
item.assembly_template.CIRCUIT_2.name=Assembly Template: Enhanced Circuit
item.assembly_template.CIRCUIT_3.name=Assembly Template: Advanced Circuit
item.assembly_template.RTG_PELLET.name=Assembly Template: Plutonium 238 Fuel Pellet
item.assembly_template.WEAK_PELLET.name=Assembly Template: Weak Uranium RTG Pellet
item.assembly_template.FUSION_PELLET.name=Assembly Template: Tritium-Deuterium-Cake
item.assembly_template.CLUSTER_PELLETS.name=Assembly Template: Explosive Pellets
item.assembly_template.GUN_PELLETS.name=Assembly Template: Lead Pellets
item.fuse.name=Fuse
tile.test_nuke.name=Test Nuke
@ -511,7 +567,7 @@ item.asbestos_cloth.name=Fire Proximity Cloth
item.filter_coal.name=Activated Carbon Filter
item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake
item.telepad.name=Telepad
item.entanglement_kit.name=Entaglement Kit
item.entanglement_kit.name=Entanglement Kit
item.toothpicks.name=Toothpicks
item.ducttape.name=Duct Tape
item.magnet_dee.name=Dee Magnets
@ -1175,7 +1231,7 @@ tile.dummy_port.name=Dummy Block (Electricity Port)
item.chopper.name=Hunter Chopper
item.nothing.name=Keep This Slot Clear
item.nothing.name=Nothing
tile.crystal_virus.name=Dark Crystal
tile.crystal_hardened.name=Hardened Dark Crystal

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

View File

@ -253,6 +253,7 @@ public class ModBlocks {
public static Block oil_duct;
public static Block gas_duct_solid;
public static Block gas_duct;
public static Block fluid_duct;
public static Block bomb_multi_large;
public static final int guiID_bomb_multi_large = 18;
@ -420,19 +421,19 @@ public class ModBlocks {
private static void initializeBlock() {
test_render = new TestRender(Material.rock).setBlockName("test_render").setCreativeTab(MainRegistry.tabTest);
test_container = new TestContainer(0).setBlockName("test_container").setCreativeTab(MainRegistry.tabTest);
test_bomb = new TestBomb(Material.tnt).setBlockName("test_bomb").setCreativeTab(MainRegistry.tabTest).setBlockTextureName(RefStrings.MODID + ":test_bomb");
test_bomb_advanced = new TestBombAdvanced(Material.tnt).setBlockName("test_bomb_advanced").setCreativeTab(MainRegistry.tabTest);
test_render = new TestRender(Material.rock).setBlockName("test_render").setCreativeTab(null);
test_container = new TestContainer(0).setBlockName("test_container").setCreativeTab(null);
test_bomb = new TestBomb(Material.tnt).setBlockName("test_bomb").setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":test_bomb");
test_bomb_advanced = new TestBombAdvanced(Material.tnt).setBlockName("test_bomb_advanced").setCreativeTab(null);
test_nuke = new TestNuke(Material.iron).setBlockName("test_nuke").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":test_nuke");
event_tester = new TestEventTester(Material.iron).setBlockName("event_tester").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":event_tester");
rotation_tester = new TestRotationTester(Material.iron).setBlockName("rotation_tester").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(10.0F);
obj_tester = new TestObjTester(Material.iron).setBlockName("obj_tester").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(10.0F);
test_nuke = new TestNuke(Material.iron).setBlockName("test_nuke").setCreativeTab(null).setHardness(2.5F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":test_nuke");
event_tester = new TestEventTester(Material.iron).setBlockName("event_tester").setCreativeTab(null).setHardness(2.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":event_tester");
rotation_tester = new TestRotationTester(Material.iron).setBlockName("rotation_tester").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F);
obj_tester = new TestObjTester(Material.iron).setBlockName("obj_tester").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F);
test_ticker = new TestTicker(Material.iron).setBlockName("test_ticker").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_ticker");
test_ticker = new TestTicker(Material.iron).setBlockName("test_ticker").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_ticker");
test_missile = new TestMissile(Material.iron).setBlockName("test_missile").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_missile");
test_missile = new TestMissile(Material.iron).setBlockName("test_missile").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_missile");
ore_uranium = new BlockGeneric(Material.rock).setBlockName("ore_uranium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium");
ore_titanium = new BlockGeneric(Material.rock).setBlockName("ore_titanium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_titanium");
@ -615,6 +616,7 @@ public class ModBlocks {
oil_duct = new BlockOilDuct(Material.iron).setBlockName("oil_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":oil_duct_icon_alt");
gas_duct_solid = new GasDuctSolid(Material.iron).setBlockName("gas_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":gas_duct_solid");
gas_duct = new BlockGasDuct(Material.iron).setBlockName("gas_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":gas_duct_icon");
fluid_duct = new BlockFluidDuct(Material.iron).setBlockName("fluid_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fluid_duct_icon");
factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull");
factory_titanium_furnace = new FactoryHatch(Material.iron).setBlockName("factory_titanium_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":factory_titanium_furnace");
@ -932,6 +934,7 @@ public class ModBlocks {
GameRegistry.registerBlock(oil_duct_solid, oil_duct_solid.getUnlocalizedName());
GameRegistry.registerBlock(gas_duct, gas_duct.getUnlocalizedName());
GameRegistry.registerBlock(gas_duct_solid, gas_duct_solid.getUnlocalizedName());
GameRegistry.registerBlock(fluid_duct, fluid_duct.getUnlocalizedName());
GameRegistry.registerBlock(machine_battery, machine_battery.getUnlocalizedName());
GameRegistry.registerBlock(machine_converter_he_rf, machine_converter_he_rf.getUnlocalizedName());
GameRegistry.registerBlock(machine_converter_rf_he, machine_converter_rf_he.getUnlocalizedName());

View File

@ -0,0 +1,81 @@
package com.hbm.blocks.machine;
import com.hbm.tileentity.TileEntityFluidDuct;
import com.hbm.tileentity.TileEntityGasDuct;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class BlockFluidDuct extends BlockContainer {
public BlockFluidDuct(Material p_i45386_1_) {
super(p_i45386_1_);
float p = 1F/16F;
this.setBlockBounds(11 * p / 2, 11 * p / 2, 11 * p / 2, 1 - 11 * p / 2, 1 - 11 * p / 2, 1 - 11 * p / 2);
this.useNeighborBrightness = true;
}
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
if(world.getTileEntity(x, y, z) instanceof TileEntityFluidDuct) {
TileEntityFluidDuct cable = (TileEntityFluidDuct)world.getTileEntity(x, y, z);
if(cable != null)
{
float p = 1F/16F;
float minX = 11 * p / 2 - (cable.connections[5] != null ? (11 * p / 2) : 0);
float minY = 11 * p / 2 - (cable.connections[1] != null ? (11 * p / 2) : 0);
float minZ = 11 * p / 2 - (cable.connections[2] != null ? (11 * p / 2) : 0);
float maxX = 1 - 11 * p / 2 + (cable.connections[3] != null ? (11 * p / 2) : 0);
float maxY = 1 - 11 * p / 2 + (cable.connections[0] != null ? (11 * p / 2) : 0);
float maxZ = 1 - 11 * p / 2 + (cable.connections[4] != null ? (11 * p / 2) : 0);
this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ);
}
}
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) {
if(world.getTileEntity(x, y, z) instanceof TileEntityFluidDuct) {
TileEntityFluidDuct cable = (TileEntityFluidDuct)world.getTileEntity(x, y, z);
if(cable != null)
{
float p = 1F/16F;
float minX = 11 * p / 2 - (cable.connections[5] != null ? (11 * p / 2) : 0);
float minY = 11 * p / 2 - (cable.connections[1] != null ? (11 * p / 2) : 0);
float minZ = 11 * p / 2 - (cable.connections[2] != null ? (11 * p / 2) : 0);
float maxX = 1 - 11 * p / 2 + (cable.connections[3] != null ? (11 * p / 2) : 0);
float maxY = 1 - 11 * p / 2 + (cable.connections[0] != null ? (11 * p / 2) : 0);
float maxZ = 1 - 11 * p / 2 + (cable.connections[4] != null ? (11 * p / 2) : 0);
this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ);
}
}
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityFluidDuct();
}
@Override
public int getRenderType(){
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
}

View File

@ -0,0 +1,27 @@
package com.hbm.creativetabs;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
public class MachineTab extends CreativeTabs {
public MachineTab(int p_i1853_1_, String p_i1853_2_) {
super(p_i1853_1_, p_i1853_2_);
}
@Override
public Item getTabIconItem() {
if(ModItems.assembly_template != null)
{
return ModItems.assembly_template;
}
return Items.iron_pickaxe;
}
}

View File

@ -0,0 +1,47 @@
package com.hbm.handler;
import com.hbm.items.tool.ItemAssemblyTemplate.EnumAssemblyTemplate;
public class FluidTypeHandler {
public enum FluidType {
NONE(0x888888, 8947848, 0, 0), WATER(0x3333FF, 3355647, 1, 0), LAVA(0xFF3300, 16724736, 2, 0), UF6(0xD1CEBE, 13749950, 3, 0), PUF6(0x4C4C4C, 5000268, 0, 1),
DEUTERIUM(0x0000FF, 255, 1, 1), TRITIUM(0x000099, 153, 2, 1);
private int color;
private int msa;
private int textureX;
private int textureY;
private FluidType(int color, int msa, int x, int y) {
this.color = color;
this.msa = msa;
this.textureX = x;
this.textureY = y;
}
public int getColor() {
return this.color;
}
public int getMSAColor() {
return this.msa;
}
public int textureX() {
return this.textureX;
}
public int textureY() {
return this.textureY;
}
public static FluidType getEnum(int i) {
return FluidType.values()[i];
}
public String getName() {
return this.toString();
}
};
//More stuff to follow.
}

View File

@ -0,0 +1,5 @@
package com.hbm.interfaces;
public interface IFluidDuct {
}

View File

@ -1505,6 +1505,296 @@ public class MachineRecipes {
list.add(new ItemStack(Items.gold_ingot, 2));
list.add(new ItemStack(Items.coal, 8));
break;
case MIXED_PLATE:
list.add(new ItemStack(ModItems.plate_advanced_alloy, 2));
list.add(new ItemStack(ModItems.neutron_reflector, 2));
list.add(new ItemStack(ModItems.plate_combine_steel, 1));
list.add(new ItemStack(ModItems.plate_lead, 4));
break;
case HAZMAT_CLOTH:
list.add(new ItemStack(ModItems.powder_lead, 4));
list.add(new ItemStack(Items.string, 8));
break;
case ASBESTOS_CLOTH:
list.add(new ItemStack(ModItems.powder_quartz, 4));
list.add(new ItemStack(Items.string, 6));
list.add(new ItemStack(Blocks.wool, 1));
break;
case COAL_FILTER:
list.add(new ItemStack(ModItems.powder_coal, 4));
list.add(new ItemStack(Items.string, 6));
list.add(new ItemStack(Items.paper, 1));
break;
case CENTRIFUGE_ELEMENT:
list.add(new ItemStack(ModItems.tank_steel, 2));
list.add(new ItemStack(ModItems.coil_tungsten, 2));
list.add(new ItemStack(ModItems.wire_red_copper, 6));
list.add(new ItemStack(ModItems.motor, 1));
break;
case CENTRIFUGE_TOWER:
list.add(new ItemStack(ModItems.centrifuge_element, 4));
list.add(new ItemStack(ModItems.plate_steel, 4));
list.add(new ItemStack(ModItems.wire_red_copper, 6));
list.add(new ItemStack(ModItems.powder_lapis, 2));
break;
case DEE_MAGNET:
list.add(new ItemStack(ModBlocks.fusion_conductor, 6));
list.add(new ItemStack(ModItems.ingot_steel, 3));
list.add(new ItemStack(ModItems.coil_advanced_torus, 1));
break;
case FLAT_MAGNET:
list.add(new ItemStack(ModBlocks.fusion_conductor, 5));
list.add(new ItemStack(ModItems.ingot_steel, 4));
list.add(new ItemStack(ModItems.plate_advanced_alloy, 6));
break;
case CYCLOTRON_TOWER:
list.add(new ItemStack(ModItems.magnet_circular, 6));
list.add(new ItemStack(ModItems.magnet_dee, 3));
list.add(new ItemStack(ModItems.plate_steel, 12));
list.add(new ItemStack(ModItems.wire_advanced_alloy, 8));
break;
case REACTOR_CORE:
list.add(new ItemStack(ModItems.ingot_lead, 4));
list.add(new ItemStack(ModItems.plate_steel, 4));
list.add(new ItemStack(ModItems.neutron_reflector, 4));
break;
case RTG_UNIT:
list.add(new ItemStack(ModItems.thermo_element, 6));
list.add(new ItemStack(ModItems.board_copper, 2));
list.add(new ItemStack(ModItems.ingot_lead, 4));
list.add(new ItemStack(ModItems.plate_steel, 2));
list.add(new ItemStack(ModItems.circuit_copper, 2));
break;
case HEAT_UNIT:
list.add(new ItemStack(ModItems.coil_copper_torus, 3));
list.add(new ItemStack(ModItems.ingot_steel, 3));
list.add(new ItemStack(ModItems.plate_titanium, 6));
break;
case GRAVITY_UNIT:
list.add(new ItemStack(ModItems.coil_copper, 4));
list.add(new ItemStack(ModItems.coil_tungsten, 2));
list.add(new ItemStack(ModItems.plate_titanium, 6));
list.add(new ItemStack(ModItems.nugget_schrabidium, 2));
break;
case TITANIUM_DRILL:
list.add(new ItemStack(ModItems.ingot_steel, 2));
list.add(new ItemStack(ModItems.ingot_dura_steel, 2));
list.add(new ItemStack(ModItems.bolt_dura_steel, 2));
list.add(new ItemStack(ModItems.plate_titanium, 6));
break;
case TELEPAD:
list.add(new ItemStack(ModItems.plate_schrabidium, 2));
list.add(new ItemStack(ModItems.plate_combine_steel, 4));
list.add(new ItemStack(ModItems.plate_steel, 2));
list.add(new ItemStack(ModItems.wire_gold, 6));
list.add(new ItemStack(ModItems.circuit_schrabidium, 1));
break;
case TELEKIT:
list.add(new ItemStack(ModItems.coil_magnetized_tungsten, 6));
list.add(new ItemStack(ModItems.plate_lead, 16));
list.add(new ItemStack(ModItems.neutron_reflector, 4));
list.add(new ItemStack(ModItems.singularity_counter_resonant, 1));
list.add(new ItemStack(ModItems.singularity_super_heated, 1));
list.add(new ItemStack(ModItems.powder_power, 4));
break;
case GEASS_REACTOR:
list.add(new ItemStack(ModItems.plate_steel, 15));
list.add(new ItemStack(ModItems.ingot_lead, 5));
list.add(new ItemStack(ModItems.rod_quad_empty, 10));
list.add(new ItemStack(Items.dye, 4, 3));
break;
case GENERATOR_FRONT:
list.add(new ItemStack(ModItems.ingot_steel, 3));
list.add(new ItemStack(ModItems.plate_steel, 6));
list.add(new ItemStack(ModItems.tank_steel, 4));
list.add(new ItemStack(ModItems.turbine_titanium, 1));
list.add(new ItemStack(ModItems.wire_red_copper, 6));
list.add(new ItemStack(ModItems.wire_gold, 4));
break;
case WT1_GENERIC:
list.add(new ItemStack(ModItems.plate_titanium, 5));
list.add(new ItemStack(ModItems.plate_steel, 3));
list.add(new ItemStack(Blocks.tnt, 2));
break;
case WT2_GENERIC:
list.add(new ItemStack(ModItems.plate_titanium, 8));
list.add(new ItemStack(ModItems.plate_steel, 5));
list.add(new ItemStack(Blocks.tnt, 4));
break;
case WT3_GENERIC:
list.add(new ItemStack(ModItems.plate_titanium, 15));
list.add(new ItemStack(ModItems.plate_steel, 8));
list.add(new ItemStack(Blocks.tnt, 8));
break;
case WT1_FIRE:
list.add(new ItemStack(ModItems.warhead_generic_small, 1));
list.add(new ItemStack(ModItems.powder_fire, 4));
break;
case WT2_FIRE:
list.add(new ItemStack(ModItems.warhead_generic_medium, 1));
list.add(new ItemStack(ModItems.powder_fire, 8));
break;
case WT3_FIRE:
list.add(new ItemStack(ModItems.warhead_generic_large, 1));
list.add(new ItemStack(ModItems.powder_fire, 16));
break;
case WT1_CLUSTER:
list.add(new ItemStack(ModItems.warhead_generic_small, 1));
list.add(new ItemStack(ModItems.pellet_cluster, 4));
break;
case WT2_CLUSTER:
list.add(new ItemStack(ModItems.warhead_generic_medium, 1));
list.add(new ItemStack(ModItems.pellet_cluster, 8));
break;
case WT3_CLUSTER:
list.add(new ItemStack(ModItems.warhead_generic_large, 1));
list.add(new ItemStack(ModItems.powder_fire, 16));
break;
case WT1_BUSTER:
list.add(new ItemStack(ModItems.warhead_generic_small, 1));
list.add(new ItemStack(ModBlocks.det_cord, 8));
break;
case WT2_BUSTER:
list.add(new ItemStack(ModItems.warhead_generic_medium, 1));
list.add(new ItemStack(ModBlocks.det_cord, 4));
list.add(new ItemStack(ModBlocks.det_charge, 4));
break;
case WT3_BUSTER:
list.add(new ItemStack(ModItems.warhead_generic_large, 1));
list.add(new ItemStack(ModBlocks.det_charge, 8));
break;
case W_NUCLEAR:
list.add(new ItemStack(ModItems.boy_shielding, 1));
list.add(new ItemStack(ModItems.boy_target, 1));
list.add(new ItemStack(ModItems.boy_bullet, 1));
list.add(new ItemStack(ModItems.plate_titanium, 20));
list.add(new ItemStack(ModItems.plate_steel, 12));
break;
case W_MIRVLET:
list.add(new ItemStack(ModItems.ingot_steel, 5));
list.add(new ItemStack(ModItems.plate_steel, 18));
list.add(new ItemStack(ModItems.ingot_pu239, 1));
list.add(new ItemStack(Blocks.tnt, 2));
break;
case W_MIRV:
list.add(new ItemStack(ModItems.warhead_generic_large, 1));
list.add(new ItemStack(ModItems.plate_steel, 16));
list.add(new ItemStack(ModBlocks.det_cord, 8));
list.add(new ItemStack(ModItems.warhead_mirvlet, 8));
break;
case W_ENDOTHERMIC:
list.add(new ItemStack(ModBlocks.therm_endo, 2));
list.add(new ItemStack(ModItems.plate_titanium, 12));
list.add(new ItemStack(ModItems.plate_steel, 6));
break;
case W_EXOTHERMIC:
list.add(new ItemStack(ModBlocks.therm_exo, 2));
list.add(new ItemStack(ModItems.plate_titanium, 12));
list.add(new ItemStack(ModItems.plate_steel, 6));
break;
case T1_TANK:
list.add(new ItemStack(ModItems.canister_kerosene, 4));
list.add(new ItemStack(ModItems.plate_titanium, 6));
list.add(new ItemStack(ModItems.plate_steel, 2));
break;
case T2_TANK:
list.add(new ItemStack(ModItems.fuel_tank_small, 3));
list.add(new ItemStack(ModItems.plate_titanium, 4));
list.add(new ItemStack(ModItems.plate_steel, 2));
break;
case T3_TANK:
list.add(new ItemStack(ModItems.fuel_tank_medium, 3));
list.add(new ItemStack(ModItems.plate_titanium, 4));
list.add(new ItemStack(ModItems.plate_steel, 2));
break;
case T1_THRUSTER:
list.add(new ItemStack(ModItems.plate_steel, 2));
list.add(new ItemStack(ModItems.hull_small_steel, 2));
list.add(new ItemStack(ModItems.wire_aluminium, 4));
break;
case T2_THRUSTER:
list.add(new ItemStack(ModItems.thruster_small, 1));
list.add(new ItemStack(ModItems.plate_steel, 2));
list.add(new ItemStack(ModItems.hull_small_steel, 1));
list.add(new ItemStack(ModItems.hull_big_steel, 1));
list.add(new ItemStack(ModItems.wire_copper, 4));
break;
case T3_THRUSTER:
list.add(new ItemStack(ModItems.thruster_medium, 1));
list.add(new ItemStack(ModItems.plate_steel, 4));
list.add(new ItemStack(ModItems.hull_big_steel, 2));
list.add(new ItemStack(ModItems.wire_red_copper, 4));
break;
case CHOPPER_HEAD:
list.add(new ItemStack(ModBlocks.reinforced_glass, 2));
list.add(new ItemStack(ModBlocks.fwatz_computer, 1));
list.add(new ItemStack(ModItems.ingot_combine_steel, 22));
list.add(new ItemStack(ModItems.wire_magnetized_tungsten, 4));
break;
case CHOPPER_GUN:
list.add(new ItemStack(ModItems.plate_combine_steel, 4));
list.add(new ItemStack(ModItems.ingot_combine_steel, 2));
list.add(new ItemStack(ModItems.wire_tungsten, 6));
list.add(new ItemStack(ModItems.coil_magnetized_tungsten, 1));
list.add(new ItemStack(ModItems.motor, 1));
break;
case CHOPPER_BODY:
list.add(new ItemStack(ModItems.ingot_combine_steel, 26));
list.add(new ItemStack(ModBlocks.fwatz_computer, 1));
list.add(new ItemStack(ModItems.wire_magnetized_tungsten, 4));
list.add(new ItemStack(ModItems.motor, 2));
list.add(new ItemStack(ModItems.chopper_blades, 2));
break;
case CHOPPER_TAIL:
list.add(new ItemStack(ModItems.plate_combine_steel, 8));
list.add(new ItemStack(ModItems.ingot_combine_steel, 5));
list.add(new ItemStack(ModItems.wire_magnetized_tungsten, 4));
list.add(new ItemStack(ModItems.motor, 1));
list.add(new ItemStack(ModItems.chopper_blades, 2));
break;
case CHOPPER_WING:
list.add(new ItemStack(ModItems.plate_combine_steel, 6));
list.add(new ItemStack(ModItems.ingot_combine_steel, 3));
list.add(new ItemStack(ModItems.wire_magnetized_tungsten, 2));
break;
case CHOPPER_BLADES:
list.add(new ItemStack(ModItems.plate_combine_steel, 8));
list.add(new ItemStack(ModItems.plate_steel, 2));
list.add(new ItemStack(ModItems.ingot_combine_steel, 2));
break;
case CIRCUIT_2:
list.add(new ItemStack(ModItems.circuit_aluminium, 1));
list.add(new ItemStack(ModItems.wire_copper, 6));
list.add(new ItemStack(ModItems.powder_quartz, 4));
break;
case CIRCUIT_3:
list.add(new ItemStack(ModItems.circuit_copper, 1));
list.add(new ItemStack(ModItems.wire_red_copper, 6));
list.add(new ItemStack(ModItems.powder_gold, 4));
break;
case RTG_PELLET:
list.add(new ItemStack(ModItems.nugget_pu238, 5));
list.add(new ItemStack(ModItems.plate_iron, 2));
break;
case WEAK_PELLET:
list.add(new ItemStack(ModItems.nugget_u238, 4));
list.add(new ItemStack(ModItems.nugget_pu238, 1));
list.add(new ItemStack(ModItems.plate_iron, 2));
break;
case FUSION_PELLET:
list.add(new ItemStack(ModItems.cell_deuterium, 6));
list.add(new ItemStack(ModItems.cell_tritium, 2));
list.add(new ItemStack(ModItems.lithium, 4));
break;
case CLUSTER_PELLETS:
list.add(new ItemStack(ModItems.plate_steel, 4));
list.add(new ItemStack(Blocks.tnt, 1));
break;
case GUN_PELLETS:
list.add(new ItemStack(ModItems.nugget_lead, 6));
break;
default:
break;
}
if(list.isEmpty())
@ -1524,6 +1814,170 @@ public class MachineRecipes {
case TEST:
output = new ItemStack(ModItems.rotor_steel, 2);
break;
case MIXED_PLATE:
output = new ItemStack(ModItems.plate_mixed, 6);
break;
case HAZMAT_CLOTH:
output = new ItemStack(ModItems.hazmat_cloth, 4);
break;
case ASBESTOS_CLOTH:
output = new ItemStack(ModItems.asbestos_cloth, 4);
break;
case COAL_FILTER:
output = new ItemStack(ModItems.filter_coal, 1);
break;
case CENTRIFUGE_ELEMENT:
output = new ItemStack(ModItems.centrifuge_element, 1);
break;
case CENTRIFUGE_TOWER:
output = new ItemStack(ModItems.centrifuge_tower, 1);
break;
case DEE_MAGNET:
output = new ItemStack(ModItems.magnet_dee, 1);
break;
case FLAT_MAGNET:
output = new ItemStack(ModItems.magnet_circular, 1);
break;
case CYCLOTRON_TOWER:
output = new ItemStack(ModItems.cyclotron_tower, 1);
break;
case REACTOR_CORE:
output = new ItemStack(ModItems.reactor_core, 1);
break;
case RTG_UNIT:
output = new ItemStack(ModItems.rtg_unit, 2);
break;
case HEAT_UNIT:
output = new ItemStack(ModItems.thermo_unit_empty, 1);
break;
case GRAVITY_UNIT:
output = new ItemStack(ModItems.levitation_unit, 1);
break;
case TITANIUM_DRILL:
output = new ItemStack(ModItems.drill_titanium, 1);
break;
case TELEPAD:
output = new ItemStack(ModItems.telepad, 1);
break;
case TELEKIT:
output = new ItemStack(ModItems.entanglement_kit, 1);
break;
case GEASS_REACTOR:
output = new ItemStack(ModItems.dysfunctional_reactor, 1);
break;
case GENERATOR_FRONT:
output = new ItemStack(ModItems.generator_front, 1);
break;
case WT1_GENERIC:
output = new ItemStack(ModItems.warhead_generic_small, 1);
break;
case WT2_GENERIC:
output = new ItemStack(ModItems.warhead_generic_medium, 1);
break;
case WT3_GENERIC:
output = new ItemStack(ModItems.warhead_generic_large, 1);
break;
case WT1_FIRE:
output = new ItemStack(ModItems.warhead_incendiary_small, 1);
break;
case WT2_FIRE:
output = new ItemStack(ModItems.warhead_incendiary_medium, 1);
break;
case WT3_FIRE:
output = new ItemStack(ModItems.warhead_incendiary_large, 1);
break;
case WT1_CLUSTER:
output = new ItemStack(ModItems.warhead_cluster_small, 1);
break;
case WT2_CLUSTER:
output = new ItemStack(ModItems.warhead_cluster_medium, 1);
break;
case WT3_CLUSTER:
output = new ItemStack(ModItems.warhead_cluster_large, 1);
break;
case WT1_BUSTER:
output = new ItemStack(ModItems.warhead_buster_small, 1);
break;
case WT2_BUSTER:
output = new ItemStack(ModItems.warhead_buster_medium, 1);
break;
case WT3_BUSTER:
output = new ItemStack(ModItems.warhead_buster_large, 1);
break;
case W_NUCLEAR:
output = new ItemStack(ModItems.warhead_nuclear, 1);
break;
case W_MIRVLET:
output = new ItemStack(ModItems.warhead_mirvlet, 1);
break;
case W_MIRV:
output = new ItemStack(ModItems.warhead_mirv, 1);
break;
case W_ENDOTHERMIC:
output = new ItemStack(ModItems.warhead_thermo_endo, 1);
break;
case W_EXOTHERMIC:
output = new ItemStack(ModItems.warhead_thermo_exo, 1);
break;
case T1_TANK:
output = new ItemStack(ModItems.fuel_tank_small, 1);
break;
case T2_TANK:
output = new ItemStack(ModItems.fuel_tank_medium, 1);
break;
case T3_TANK:
output = new ItemStack(ModItems.fuel_tank_large, 1);
break;
case T1_THRUSTER:
output = new ItemStack(ModItems.thruster_small, 1);
break;
case T2_THRUSTER:
output = new ItemStack(ModItems.thruster_medium, 1);
break;
case T3_THRUSTER:
output = new ItemStack(ModItems.thruster_large, 1);
break;
case CHOPPER_HEAD:
output = new ItemStack(ModItems.chopper_head, 1);
break;
case CHOPPER_GUN:
output = new ItemStack(ModItems.chopper_gun, 1);
break;
case CHOPPER_BODY:
output = new ItemStack(ModItems.chopper_torso, 1);
break;
case CHOPPER_TAIL:
output = new ItemStack(ModItems.chopper_tail, 1);
break;
case CHOPPER_WING:
output = new ItemStack(ModItems.chopper_wing, 1);
break;
case CHOPPER_BLADES:
output = new ItemStack(ModItems.chopper_blades, 1);
break;
case CIRCUIT_2:
output = new ItemStack(ModItems.circuit_copper, 1);
break;
case CIRCUIT_3:
output = new ItemStack(ModItems.circuit_red_copper, 1);
break;
case RTG_PELLET:
output = new ItemStack(ModItems.pellet_rtg, 1);
break;
case WEAK_PELLET:
output = new ItemStack(ModItems.pellet_rtg_weak, 1);
break;
case FUSION_PELLET:
output = new ItemStack(ModItems.tritium_deuterium_cake, 1);
break;
case CLUSTER_PELLETS:
output = new ItemStack(ModItems.pellet_cluster, 1);
break;
case GUN_PELLETS:
output = new ItemStack(ModItems.pellet_buckshot, 1);
break;
default:
break;
}
return output;

View File

@ -507,6 +507,7 @@ public class ModItems {
public static Item oil_detector;
public static Item assembly_template;
public static Item fluid_identifier;
public static Item missile_generic;
public static Item missile_anti_ballistic;
@ -963,19 +964,19 @@ public class ModItems {
redstone_sword = new RedstoneSword(ToolMaterial.STONE).setUnlocalizedName("redstone_sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(RefStrings.MODID + ":redstone_sword");
big_sword = new BigSword(ToolMaterial.EMERALD).setUnlocalizedName("big_sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(RefStrings.MODID + ":big_sword");
test_helmet = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 0).setUnlocalizedName("test_helmet").setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_helmet");
test_chestplate = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 1).setUnlocalizedName("test_chestplate").setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_chestplate");
test_leggings = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 2).setUnlocalizedName("test_leggings").setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_leggings");
test_boots = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 3).setUnlocalizedName("test_boots").setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_boots");
test_helmet = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 0).setUnlocalizedName("test_helmet").setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_helmet");
test_chestplate = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 1).setUnlocalizedName("test_chestplate").setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_chestplate");
test_leggings = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 2).setUnlocalizedName("test_leggings").setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_leggings");
test_boots = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 3).setUnlocalizedName("test_boots").setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_boots");
test_nuke_igniter = new Item().setUnlocalizedName("test_nuke_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_igniter");
test_nuke_propellant = new Item().setUnlocalizedName("test_nuke_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_propellant");
test_nuke_tier1_shielding = new Item().setUnlocalizedName("test_nuke_tier1_shielding").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier1_shielding");
test_nuke_tier2_shielding = new Item().setUnlocalizedName("test_nuke_tier2_shielding").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier2_shielding");
test_nuke_tier1_bullet = new Item().setUnlocalizedName("test_nuke_tier1_bullet").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier1_bullet");
test_nuke_tier2_bullet = new Item().setUnlocalizedName("test_nuke_tier2_bullet").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier2_bullet");
test_nuke_tier1_target = new Item().setUnlocalizedName("test_nuke_tier1_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier1_target");
test_nuke_tier2_target = new Item().setUnlocalizedName("test_nuke_tier2_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier2_target");
test_nuke_igniter = new Item().setUnlocalizedName("test_nuke_igniter").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_igniter");
test_nuke_propellant = new Item().setUnlocalizedName("test_nuke_propellant").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_propellant");
test_nuke_tier1_shielding = new Item().setUnlocalizedName("test_nuke_tier1_shielding").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier1_shielding");
test_nuke_tier2_shielding = new Item().setUnlocalizedName("test_nuke_tier2_shielding").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier2_shielding");
test_nuke_tier1_bullet = new Item().setUnlocalizedName("test_nuke_tier1_bullet").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier1_bullet");
test_nuke_tier2_bullet = new Item().setUnlocalizedName("test_nuke_tier2_bullet").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier2_bullet");
test_nuke_tier1_target = new Item().setUnlocalizedName("test_nuke_tier1_target").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier1_target");
test_nuke_tier2_target = new Item().setUnlocalizedName("test_nuke_tier2_target").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier2_target");
ingot_uranium = new ItemRadioactive().setUnlocalizedName("ingot_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium");
ingot_u235 = new ItemRadioactive().setUnlocalizedName("ingot_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium");
@ -1593,18 +1594,18 @@ public class ModItems {
factory_core_advanced = new ItemBattery(41600).setUnlocalizedName("factory_core_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_advanced");
upgrade_template = new ItemCustomLore().setUnlocalizedName("upgrade_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_template");
upgrade_speed_1 = new ItemCustomLore().setUnlocalizedName("upgrade_speed_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_speed_1");
upgrade_speed_2 = new ItemCustomLore().setUnlocalizedName("upgrade_speed_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_speed_2");
upgrade_speed_3 = new ItemCustomLore().setUnlocalizedName("upgrade_speed_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_speed_3");
upgrade_effect_1 = new ItemCustomLore().setUnlocalizedName("upgrade_effect_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_effect_1");
upgrade_effect_2 = new ItemCustomLore().setUnlocalizedName("upgrade_effect_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_effect_2");
upgrade_effect_3 = new ItemCustomLore().setUnlocalizedName("upgrade_effect_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_effect_3");
upgrade_power_1 = new ItemCustomLore().setUnlocalizedName("upgrade_power_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_power_1");
upgrade_power_2 = new ItemCustomLore().setUnlocalizedName("upgrade_power_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_power_2");
upgrade_power_3 = new ItemCustomLore().setUnlocalizedName("upgrade_power_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_power_3");
upgrade_fortune_1 = new ItemCustomLore().setUnlocalizedName("upgrade_fortune_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_fortune_1");
upgrade_fortune_2 = new ItemCustomLore().setUnlocalizedName("upgrade_fortune_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_fortune_2");
upgrade_fortune_3 = new ItemCustomLore().setUnlocalizedName("upgrade_fortune_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":upgrade_fortune_3");
upgrade_speed_1 = new ItemCustomLore().setUnlocalizedName("upgrade_speed_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_speed_1");
upgrade_speed_2 = new ItemCustomLore().setUnlocalizedName("upgrade_speed_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_speed_2");
upgrade_speed_3 = new ItemCustomLore().setUnlocalizedName("upgrade_speed_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_speed_3");
upgrade_effect_1 = new ItemCustomLore().setUnlocalizedName("upgrade_effect_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_effect_1");
upgrade_effect_2 = new ItemCustomLore().setUnlocalizedName("upgrade_effect_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_effect_2");
upgrade_effect_3 = new ItemCustomLore().setUnlocalizedName("upgrade_effect_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_effect_3");
upgrade_power_1 = new ItemCustomLore().setUnlocalizedName("upgrade_power_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_power_1");
upgrade_power_2 = new ItemCustomLore().setUnlocalizedName("upgrade_power_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_power_2");
upgrade_power_3 = new ItemCustomLore().setUnlocalizedName("upgrade_power_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_power_3");
upgrade_fortune_1 = new ItemCustomLore().setUnlocalizedName("upgrade_fortune_1").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_fortune_1");
upgrade_fortune_2 = new ItemCustomLore().setUnlocalizedName("upgrade_fortune_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_fortune_2");
upgrade_fortune_3 = new ItemCustomLore().setUnlocalizedName("upgrade_fortune_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":upgrade_fortune_3");
wand = new ItemWand().setUnlocalizedName("wand_k").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":wand");
wand_s = new ItemWandS().setUnlocalizedName("wand_s").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":wand_s");
@ -1662,7 +1663,8 @@ 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");
assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":assembly_template");
assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":assembly_template");
fluid_identifier = new ItemFluidIdentifier().setUnlocalizedName("fluid_identifier").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":fluid_identifier");
euphemium_helmet = new ArmorEuphemium(MainRegistry.enumArmorMaterialEuphemium, 6, 0).setUnlocalizedName("astatine_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_helmet");
euphemium_plate = new ArmorEuphemium(MainRegistry.enumArmorMaterialEuphemium, 6, 1).setUnlocalizedName("astatine_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_plate");
@ -1753,7 +1755,7 @@ public class ModItems {
australium_iv = new ArmorAustralium(MainRegistry.enumArmorMaterialAusIV, 9, 1).setUnlocalizedName("australium_iv").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":australium_iv");
australium_v = new ArmorAustralium(MainRegistry.enumArmorMaterialAusV, 9, 1).setUnlocalizedName("australium_v").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":australium_v");
cape_test = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_test").setCreativeTab(MainRegistry.tabTest).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_test");
cape_test = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_test").setCreativeTab(null).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_test");
cape_radiation = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_radiation").setCreativeTab(MainRegistry.tabNuke).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_radiation");
cape_gasmask = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_gasmask").setCreativeTab(MainRegistry.tabNuke).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_gasmask");
cape_schrabidium = new ArmorModel(MainRegistry.enumArmorMaterialSchrabidium, 9, 1).setUnlocalizedName("cape_schrabidium").setCreativeTab(MainRegistry.tabNuke).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_schrabidium");
@ -2262,6 +2264,7 @@ public class ModItems {
GameRegistry.registerItem(factory_core_advanced, factory_core_advanced.getUnlocalizedName());
//Machine Templates
GameRegistry.registerItem(fluid_identifier, fluid_identifier.getUnlocalizedName());
GameRegistry.registerItem(assembly_template, assembly_template.getUnlocalizedName());
//Machine Upgrades

View File

@ -34,16 +34,31 @@ public class ItemAssemblyTemplate extends Item {
public enum EnumAssemblyTemplate {
TEST(0);
TEST, MIXED_PLATE, HAZMAT_CLOTH, ASBESTOS_CLOTH, COAL_FILTER, CENTRIFUGE_ELEMENT, CENTRIFUGE_TOWER,
DEE_MAGNET, FLAT_MAGNET, CYCLOTRON_TOWER, REACTOR_CORE, RTG_UNIT, HEAT_UNIT, GRAVITY_UNIT,
TITANIUM_DRILL, TELEPAD, TELEKIT, GEASS_REACTOR, GENERATOR_FRONT, WT1_GENERIC, WT2_GENERIC,
WT3_GENERIC, WT1_FIRE, WT2_FIRE, WT3_FIRE, WT1_CLUSTER, WT2_CLUSTER, WT3_CLUSTER, WT1_BUSTER,
WT2_BUSTER, WT3_BUSTER, W_NUCLEAR, W_MIRVLET, W_MIRV, W_ENDOTHERMIC, W_EXOTHERMIC, T1_TANK, T2_TANK,
T3_TANK, T1_THRUSTER, T2_THRUSTER, T3_THRUSTER, CHOPPER_HEAD, CHOPPER_GUN, CHOPPER_BODY,
CHOPPER_TAIL, CHOPPER_WING, CHOPPER_BLADES, CIRCUIT_2, CIRCUIT_3, RTG_PELLET, WEAK_PELLET,
FUSION_PELLET, CLUSTER_PELLETS, GUN_PELLETS, AUSTRALIUM_MACHINE, MAGNETRON, W_SP, W_SHE, W_SME,
W_SLE, W_B, W_N, W_L, W_A, UPGRADE_TEMPLATE, UPGRADE_RED_I, UPGRADE_RED_II, UPGRADE_RED_III,
UPGRADE_GREEN_I, UPGRADE_GREEN_II, UPGRADE_GREEN_III, UPGRADE_BLUE_I, UPGRADE_BLUE_II,
UPGRADE_BLUE_III, UPGRADE_PURPLE_I, UPGRADE_PURPLE_II, UPGRADE_PURPLE_III, FUSE, REDCOIL_CAPACITOR,
TITANIUM_FILTER, LITHIUM_BOX, BERYLLIUM_BOX, COAL_BOX, COPPER_BOX, PLUTONIUM_BOX, THERMO_ELEMENT,
LIMITER, ANGRY_METAL, CMB_TILE, CMB_BRICKS, HATCH_FRAME, HATCH_CONTROLLER, CENTRIFUGE,
BREEDING_REACTOR, RTG_FURNACE, DIESEL_GENERATOR, NUCLEAR_GENERATOR, INDUSTRIAL_GENERATOR, CACLOTRON,
RT_GENERATOR, BATTERY, HE_TO_RF, RF_TO_HE, SHREDDER, DEUTERIUM_EXTRACTOR, DERRICK, FLARE_STACK,
REFINERY;
private final int value;
private EnumAssemblyTemplate(int value) {
this.value = value;
}
//private final int value;
//private EnumAssemblyTemplate(int value) {
// this.value = value;
//}
public int getValue() {
return value;
}
//public int getValue() {
// return value;
//}
public static EnumAssemblyTemplate getEnum(int i) {
return EnumAssemblyTemplate.values()[i];
@ -112,7 +127,34 @@ public class ItemAssemblyTemplate extends Item {
}
} catch(Exception e) {
list.add("###INVALID###");
list.add("0x334077-0x6A298F-0xDF3795-0x334077");
}
}
/*public Motif getColorMotifFromTemplate(EnumAssemblyTemplate temp) {
//using deprecated value operator, will remove soon
if(temp.getValue() > 0) {
Motif scheme = new Motif(temp.getValue, null);
scheme.setTextureSize(16, 16);
//scheme.applyUniversalScheme();
scheme.colorCount = 4;
//universal scheme configuration for testing
//TODO: get textures properly baked, display color for shield
scheme.addColor(0x334077);
scheme.addColor(0x6A298F);
scheme.addColor(0xDF3795);
scheme.addColor(0x334077);
//different test config; prpl, lprpl, cyn, prpl
scheme.unify();
return scheme;
} else {
//return null;
return Motif.defaultInstance;
}
}*/
}

View File

@ -0,0 +1,132 @@
package com.hbm.items.tool;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import com.hbm.blocks.bomb.BlockCrashedBomb;
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
import com.hbm.explosion.ExplosionParticleB;
import com.hbm.handler.FluidTypeHandler;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.inventory.MachineRecipes;
import com.hbm.items.ModItems;
import com.hbm.tileentity.TileEntityFluidDuct;
import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockColored;
import net.minecraft.block.BlockLog;
import net.minecraft.block.IGrowable;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.client.resources.I18n;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.FakePlayerFactory;
import net.minecraftforge.event.entity.player.BonemealEvent;
import scala.actors.threadpool.Arrays;
public class ItemFluidIdentifier extends Item {
IIcon overlayIcon;
public ItemFluidIdentifier()
{
this.setHasSubtypes(true);
this.setMaxDamage(0);
}
public String getUnlocalizedName(ItemStack stack)
{
int i = stack.getItemDamage();
return super.getUnlocalizedName() + "." + FluidType.getEnum(i).getName();
}
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tabs, List list)
{
for (int i = 0; i < FluidType.values().length; ++i)
{
list.add(new ItemStack(item, 1, i));
}
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool)
{
if(!(stack.getItem() instanceof ItemFluidIdentifier))
return;
list.add("Universal fluid identifier for:");
list.add(" " + FluidType.getEnum(stack.getItemDamage()).getName());
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f1, float f2, float f3)
{
TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TileEntityFluidDuct) {
TileEntityFluidDuct duct = (TileEntityFluidDuct)te;
duct.type = FluidType.getEnum(stack.getItemDamage());
}
return false;
}
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses()
{
return true;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister p_94581_1_)
{
super.registerIcons(p_94581_1_);
this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_identifier_overlay");
}
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int p_77618_1_, int p_77618_2_)
{
return p_77618_2_ == 1 ? this.overlayIcon : super.getIconFromDamageForRenderPass(p_77618_1_, p_77618_2_);
}
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int p_82790_2_)
{
if (p_82790_2_ == 0)
{
return 16777215;
}
else
{
int j = FluidType.getEnum(stack.getItemDamage()).getMSAColor();
if (j < 0)
{
j = 16777215;
}
return j;
}
}
}

View File

@ -10,8 +10,10 @@ import com.hbm.calc.UnionOfTileEntitiesAndBooleansForGas;
import com.hbm.calc.UnionOfTileEntitiesAndBooleansForOil;
import com.hbm.entity.mob.EntityHunterChopper;
import com.hbm.entity.projectile.EntityChopperMine;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.interfaces.IConductor;
import com.hbm.interfaces.IConsumer;
import com.hbm.interfaces.IFluidDuct;
import com.hbm.interfaces.IGasAcceptor;
import com.hbm.interfaces.IGasDuct;
import com.hbm.interfaces.IGasSource;
@ -23,6 +25,7 @@ import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBattery;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityCable;
import com.hbm.tileentity.TileEntityFluidDuct;
import com.hbm.tileentity.TileEntityGasDuct;
import com.hbm.tileentity.TileEntityGasDuctSolid;
import com.hbm.tileentity.TileEntityLaunchPad;
@ -311,6 +314,17 @@ public class Library {
return false;
}
public static boolean checkFluidConnectables(World world, int x, int y, int z, FluidType type)
{
TileEntity tileentity = world.getTileEntity(x, y, z);
if((tileentity != null && tileentity instanceof TileEntityFluidDuct))
{
if(((TileEntityFluidDuct)tileentity).type == type)
return true;
}
return false;
}
public static boolean checkUnionList(List<UnionOfTileEntitiesAndBooleans> list, ISource that) {
for(UnionOfTileEntitiesAndBooleans union : list)

View File

@ -173,6 +173,7 @@ import com.hbm.render.tileentity.RenderCyclotron;
import com.hbm.render.tileentity.RenderDecoBlock;
import com.hbm.render.tileentity.RenderDecoBlockAlt;
import com.hbm.render.tileentity.RenderDerrick;
import com.hbm.render.tileentity.RenderFluidDuct;
import com.hbm.render.tileentity.RenderGasDuct;
import com.hbm.render.tileentity.RenderGasFlare;
import com.hbm.render.tileentity.RenderIGenerator;
@ -215,6 +216,7 @@ import com.hbm.tileentity.TileEntityDecoPoleSatelliteReceiver;
import com.hbm.tileentity.TileEntityDecoPoleTop;
import com.hbm.tileentity.TileEntityDecoSteelPoles;
import com.hbm.tileentity.TileEntityDecoTapeRecorder;
import com.hbm.tileentity.TileEntityFluidDuct;
import com.hbm.tileentity.TileEntityGasDuct;
import com.hbm.tileentity.TileEntityMachineIGenerator;
import com.hbm.tileentity.TileEntityMachineMiningDrill;
@ -408,6 +410,7 @@ public class ClientProxy extends ServerProxy
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCable.class, new RenderCable());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityOilDuct.class, new RenderOilDuct());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGasDuct.class, new RenderGasDuct());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFluidDuct.class, new RenderFluidDuct());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonRedWire.class, new RenderPylon());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStructureMarker.class, new RenderStructureMaker());

View File

@ -26,6 +26,7 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.creativetabs.BlockTab;
import com.hbm.creativetabs.MachineTab;
import com.hbm.creativetabs.NukeTab;
import com.hbm.creativetabs.PartsTab;
import com.hbm.creativetabs.TestTab;
@ -115,6 +116,7 @@ import com.hbm.handler.GUIHandler;
import com.hbm.inventory.MachineRecipes;
import com.hbm.inventory.MachineRecipes.ShredderRecipe;
import com.hbm.items.ModItems;
import com.hbm.items.tool.ItemFluidIdentifier;
import com.hbm.lib.HbmWorld;
import com.hbm.lib.Library;
import com.hbm.lib.RefStrings;
@ -134,6 +136,7 @@ import com.hbm.tileentity.TileEntityDecoTapeRecorder;
import com.hbm.tileentity.TileEntityDiFurnace;
import com.hbm.tileentity.TileEntityDummy;
import com.hbm.tileentity.TileEntityFWatzCore;
import com.hbm.tileentity.TileEntityFluidDuct;
import com.hbm.tileentity.TileEntityFusionMultiblock;
import com.hbm.tileentity.TileEntityGasDuct;
import com.hbm.tileentity.TileEntityGasDuctSolid;
@ -248,9 +251,9 @@ public class MainRegistry
public static ArmorMaterial enumArmorMaterialAusV = EnumHelper.addArmorMaterial("AUSV", 375, new int[] {2, 6, 5, 2}, 0);
//Creative Tabs
public static CreativeTabs tabTest = new TestTab(CreativeTabs.getNextID(), "tabTest");
public static CreativeTabs tabParts = new PartsTab(CreativeTabs.getNextID(), "tabParts");
public static CreativeTabs tabBlock = new BlockTab(CreativeTabs.getNextID(), "tabBlocks");
public static CreativeTabs tabMachine = new MachineTab(CreativeTabs.getNextID(), "tabMachine");
public static CreativeTabs tabNuke = new NukeTab(CreativeTabs.getNextID(), "tabNuke");
//Achievements
@ -457,6 +460,7 @@ public class MainRegistry
GameRegistry.registerTileEntity(TileEntityStructureMarker.class, "tileentity_structure_marker");
GameRegistry.registerTileEntity(TileEntityMachineMiningDrill.class, "tileentity_mining_drill");
GameRegistry.registerTileEntity(TileEntityMachineAssembler.class, "tileentity_assembly_machine");
GameRegistry.registerTileEntity(TileEntityFluidDuct.class, "tileentity_universal_duct");
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);

View File

@ -23,6 +23,8 @@ public class PacketDispatcher {
wrapper.registerMessage(TEStructurePacket.Handler.class, TEStructurePacket.class, 3, Side.CLIENT);
//Mingin drill rotation for rendering
wrapper.registerMessage(TEDrillPacket.Handler.class, TEDrillPacket.class, 4, Side.CLIENT);
//Fluid type for pipe rendering
wrapper.registerMessage(TEFluidPipePacket.Handler.class, TEFluidPipePacket.class, 5, Side.CLIENT);
}
}

View File

@ -0,0 +1,75 @@
package com.hbm.packet;
import java.util.ArrayList;
import java.util.List;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.tileentity.TileEntityFluidDuct;
import com.hbm.tileentity.TileEntityMachineIGenerator;
import com.hbm.tileentity.TileEntityPylonRedWire;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
public class TEFluidPipePacket implements IMessage {
int x;
int y;
int z;
FluidType type;
public TEFluidPipePacket()
{
}
public TEFluidPipePacket(int x, int y, int z, FluidType type)
{
this.x = x;
this.y = y;
this.z = z;
this.type = type;
}
@Override
public void fromBytes(ByteBuf buf) {
x = buf.readInt();
y = buf.readInt();
z = buf.readInt();
type = FluidType.getEnum(buf.readInt());
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(x);
buf.writeInt(y);
buf.writeInt(z);
for (int i = 0; i < FluidType.values().length; ++i)
{
if(FluidType.values()[i] == type) {
buf.writeInt(i);
break;
}
}
}
public static class Handler implements IMessageHandler<TEFluidPipePacket, IMessage> {
@Override
public IMessage onMessage(TEFluidPipePacket m, MessageContext ctx) {
TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z);
if (te != null && te instanceof TileEntityFluidDuct) {
TileEntityFluidDuct duct = (TileEntityFluidDuct) te;
duct.type = m.type;
}
return null;
}
}
}

View File

@ -0,0 +1,197 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.TileEntityCable;
import com.hbm.tileentity.TileEntityFluidDuct;
import com.hbm.tileentity.TileEntityGasDuct;
import com.hbm.tileentity.TileEntityOilDuct;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.util.ForgeDirection;
public class RenderFluidDuct extends TileEntitySpecialRenderer {
public ResourceLocation texture = new ResourceLocation(RefStrings.MODID, "textures/blocks/fluid_duct.png");
float pixel = 1F/16F;
float textureP = 1F / 32F;
@Override
public void renderTileEntityAt(TileEntity tileentity, double offsetX, double offsetY, double offsetZ, float f) {
GL11.glTranslated(offsetX, offsetY, offsetZ);
GL11.glDisable(GL11.GL_LIGHTING);
this.bindTexture(texture);
drawCore(tileentity);
TileEntityFluidDuct cable = (TileEntityFluidDuct) tileentity;
for(int i = 0; i < cable.connections.length; i++)
{
if(cable.connections[i] != null)
{
drawConnection(cable.connections[i], cable.type.getColor());
}
}
GL11.glTranslated(-offsetX, -offsetY, -offsetZ);
GL11.glEnable(GL11.GL_LIGHTING);
}
public void drawCore(TileEntity tileentity) {
Tessellator tesseract = Tessellator.instance;
tesseract.startDrawingQuads();
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP);
tesseract.draw();
}
public void drawConnection(ForgeDirection direction, int hex)
{
Tessellator tesseract = Tessellator.instance;
tesseract.startDrawingQuads();
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
if(direction.equals(ForgeDirection.UP))
{
}
if(direction.equals(ForgeDirection.DOWN))
{
GL11.glRotatef(180, 1, 0, 0);
}
if(direction.equals(ForgeDirection.NORTH))
{
GL11.glRotatef(270, 1, 0, 0);
}
if(direction.equals(ForgeDirection.SOUTH))
{
GL11.glRotatef(90, 1, 0, 0);
}
if(direction.equals(ForgeDirection.EAST))
{
GL11.glRotatef(270, 0, 0, 1);
}
if(direction.equals(ForgeDirection.WEST))
{
GL11.glRotatef(90, 0, 0, 1);
}
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 5 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 0 * textureP);
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 5 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 0 * textureP);
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP);
tesseract.draw();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_CULL_FACE);
float p = 0.01F;
float n = -0.01F;
int r = (hex & 0xFF0000) >> 16;
int g = (hex & 0xFF00) >> 8;
int b = (hex & 0xFF);
tesseract.startDrawing(5);
tesseract.setColorRGBA(r, g, b, 255);
tesseract.addVertex(11 * pixel / 2 + p, 1, 1 - 11 * pixel / 2 + n);
tesseract.addVertex(11 * pixel / 2 + p, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2 + n);
tesseract.addVertex(1 - 11 * pixel / 2 + n, 1, 1 - 11 * pixel / 2 + n);
tesseract.addVertex(1 - 11 * pixel / 2 + n, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2 + n);
tesseract.draw();
tesseract.startDrawing(5);
tesseract.setColorRGBA(r, g, b, 255);
tesseract.addVertex(11 * pixel / 2 + p, 1, 11 * pixel / 2 + p);
tesseract.addVertex(11 * pixel / 2 + p, 1 - 11 * pixel / 2, 11 * pixel / 2 + p);
tesseract.addVertex(1 - 11 * pixel / 2 + n, 1, 11 * pixel / 2 + p);
tesseract.addVertex(1 - 11 * pixel / 2 + n, 1 - 11 * pixel / 2, 11 * pixel / 2 + p);
tesseract.draw();
tesseract.startDrawing(5);
tesseract.setColorRGBA(r, g, b, 255);
tesseract.addVertex(1 - 11 * pixel / 2 + n, 1, 11 * pixel / 2 + p);
tesseract.addVertex(1 - 11 * pixel / 2 + n, 1 - 11 * pixel / 2, 11 * pixel / 2 + p);
tesseract.addVertex(1 - 11 * pixel / 2 + n, 1, 1 - 11 * pixel / 2 + n);
tesseract.addVertex(1 - 11 * pixel / 2 + n, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2 + n);
tesseract.draw();
tesseract.startDrawing(5);
tesseract.setColorRGBA(r, g, b, 255);
tesseract.addVertex(11 * pixel / 2 + p, 1, 11 * pixel / 2 + p);
tesseract.addVertex(11 * pixel / 2 + p, 1 - 11 * pixel / 2, 11 * pixel / 2 + p);
tesseract.addVertex(11 * pixel / 2 + p, 1, 1 - 11 * pixel / 2 + n);
tesseract.addVertex(11 * pixel / 2 + p, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2 + n);
tesseract.draw();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
if(direction.equals(ForgeDirection.UP))
{
}
if(direction.equals(ForgeDirection.DOWN))
{
GL11.glRotatef(-180, 1, 0, 0);
}
if(direction.equals(ForgeDirection.NORTH))
{
GL11.glRotatef(-270, 1, 0, 0);
}
if(direction.equals(ForgeDirection.SOUTH))
{
GL11.glRotatef(-90, 1, 0, 0);
}
if(direction.equals(ForgeDirection.EAST))
{
GL11.glRotatef(-270, 0, 0, 1);
}
if(direction.equals(ForgeDirection.WEST))
{
GL11.glRotatef(-90, 0, 0, 1);
}
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
}
}

View File

@ -0,0 +1,78 @@
package com.hbm.tileentity;
import java.util.ArrayList;
import java.util.List;
import com.hbm.calc.UnionOfTileEntitiesAndBooleansForGas;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.interfaces.IFluidDuct;
import com.hbm.interfaces.IGasDuct;
import com.hbm.lib.Library;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.TEFluidPipePacket;
import com.hbm.packet.TEIGeneratorPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityFluidDuct extends TileEntity implements IFluidDuct {
public ForgeDirection[] connections = new ForgeDirection[6];
public FluidType type = FluidType.NONE;
//public List<UnionOfTileEntitiesAndBooleansForGas> uoteab = new ArrayList<UnionOfTileEntitiesAndBooleansForGas>();
public TileEntityFluidDuct() {
}
public void updateEntity() {
if(!worldObj.isRemote)
PacketDispatcher.wrapper.sendToAll(new TEFluidPipePacket(xCoord, yCoord, zCoord, type));
this.updateConnections();
}
public void updateConnections() {
if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord + 1, zCoord, type)) connections[0] = ForgeDirection.UP;
else connections[0] = null;
if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord - 1, zCoord, type)) connections[1] = ForgeDirection.DOWN;
else connections[1] = null;
if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord, zCoord - 1, type)) connections[2] = ForgeDirection.NORTH;
else connections[2] = null;
if(Library.checkFluidConnectables(this.worldObj, xCoord + 1, yCoord, zCoord, type)) connections[3] = ForgeDirection.EAST;
else connections[3] = null;
if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord, zCoord + 1, type)) connections[4] = ForgeDirection.SOUTH;
else connections[4] = null;
if(Library.checkFluidConnectables(this.worldObj, xCoord - 1, yCoord, zCoord, type)) connections[5] = ForgeDirection.WEST;
else connections[5] = null;
}
public void readFromNBT(NBTTagCompound nbt)
{
this.type = FluidType.values()[nbt.getInteger("fluid")];
}
public void writeToNBT(NBTTagCompound nbt)
{
for(int i = 0; i < FluidType.values().length; i++)
if(FluidType.values()[i] == this.type)
nbt.setInteger("fluid", i);
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
}

View File

@ -237,8 +237,10 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve
power -= 100;
}
}
}
} else
progress = 0;
} else
progress = 0;
}
@ -412,7 +414,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve
ItemStack sta = array[i].copy();
sta.stackSize = 1;
if(sta != null && sta.isItemEqual(st) && array[i].stackSize > 0) {
if(sta != null && isItemAcceptible(sta, st) && array[i].stackSize > 0) {
array[i].stackSize--;
if(array[i].stackSize <= 0)
@ -425,6 +427,26 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve
return false;
}
public boolean isItemAcceptible(ItemStack stack1, ItemStack stack2) {
if(stack1 != null && stack2 != null) {
if(ItemStack.areItemStacksEqual(stack1, stack2))
return true;
int[] ids1 = OreDictionary.getOreIDs(stack1);
int[] ids2 = OreDictionary.getOreIDs(stack2);
if(ids1 != null && ids2 != null && ids1.length > 0 && ids2.length > 0) {
for(int i = 0; i < ids1.length; i++)
for(int j = 0; j < ids2.length; j++)
if(ids1[i] == ids2[j])
return true;
}
}
return false;
}
@Override
public void setPower(int i) {

View File

@ -561,7 +561,7 @@ public class TileEntityMachineMiningDrill extends TileEntity implements ISidedIn
/**
* returns true if there has been a successful mining operation
* returns false if no block could be mined
* returns false if no block could be mined and the drill is ready to extend
* */
public boolean drill1(int x, int y, int z) {