mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Fluid ducts, creative tabs, more assembler work
This commit is contained in:
parent
fe136abab1
commit
e6b9851e52
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
BIN
assets/hbm/textures/blocks/fluid_duct.png
Normal file
BIN
assets/hbm/textures/blocks/fluid_duct.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 216 B |
BIN
assets/hbm/textures/blocks/fluid_duct_icon.png
Normal file
BIN
assets/hbm/textures/blocks/fluid_duct_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 210 B |
BIN
assets/hbm/textures/items/fluid_identifier.png
Normal file
BIN
assets/hbm/textures/items/fluid_identifier.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 303 B |
BIN
assets/hbm/textures/items/fluid_identifier_overlay.png
Normal file
BIN
assets/hbm/textures/items/fluid_identifier_overlay.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 157 B |
@ -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());
|
||||
|
||||
81
com/hbm/blocks/machine/BlockFluidDuct.java
Normal file
81
com/hbm/blocks/machine/BlockFluidDuct.java
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
27
com/hbm/creativetabs/MachineTab.java
Normal file
27
com/hbm/creativetabs/MachineTab.java
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
47
com/hbm/handler/FluidTypeHandler.java
Normal file
47
com/hbm/handler/FluidTypeHandler.java
Normal 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.
|
||||
|
||||
}
|
||||
5
com/hbm/interfaces/IFluidDuct.java
Normal file
5
com/hbm/interfaces/IFluidDuct.java
Normal file
@ -0,0 +1,5 @@
|
||||
package com.hbm.interfaces;
|
||||
|
||||
public interface IFluidDuct {
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
132
com/hbm/items/tool/ItemFluidIdentifier.java
Normal file
132
com/hbm/items/tool/ItemFluidIdentifier.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -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)
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
75
com/hbm/packet/TEFluidPipePacket.java
Normal file
75
com/hbm/packet/TEFluidPipePacket.java
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
197
com/hbm/render/tileentity/RenderFluidDuct.java
Normal file
197
com/hbm/render/tileentity/RenderFluidDuct.java
Normal 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);
|
||||
}
|
||||
}
|
||||
78
com/hbm/tileentity/TileEntityFluidDuct.java
Normal file
78
com/hbm/tileentity/TileEntityFluidDuct.java
Normal 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;
|
||||
}
|
||||
}
|
||||
@ -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) {
|
||||
|
||||
@ -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) {
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user