This commit is contained in:
TheDoctorSoda 2016-03-06 13:52:26 -08:00
commit d6dd706f9c
62 changed files with 1587 additions and 252 deletions

View file

@ -127,7 +127,7 @@ dependencies {
// shade 'IC2-Classic-API-STANDALONE:IC2-Classic-API-STANDALONE:1.1.0.19-5:api' // shade 'IC2-Classic-API-STANDALONE:IC2-Classic-API-STANDALONE:1.1.0.19-5:api'
deobfCompile 'RebornCore:RebornCore-1.8.9:1.4.4.+:universal' deobfCompile 'RebornCore:RebornCore-1.8.9:1.4.4.+:universal'
deobfCompile "mezz.jei:jei_1.8.9:2.27.+" deobfCompile "mezz.jei:jei_1.8.9:2.27.+"
deobfCompile 'MCMultiPart:MCMultiPart:1.0.6:universal' deobfCompile 'MCMultiPart:MCMultiPart:1.0.8:universal'
println("Downloading dependencies that have no maven :/") println("Downloading dependencies that have no maven :/")
//This is done becuase //This is done becuase

View file

@ -102,6 +102,10 @@ public class Core {
ModLoot.init(); ModLoot.init();
//Multiparts //Multiparts
ModParts.init(); ModParts.init();
// Compat
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) {
compatModule.init(event);
}
// Recipes // Recipes
StopWatch watch = new StopWatch(); StopWatch watch = new StopWatch();
watch.start(); watch.start();
@ -110,10 +114,6 @@ public class Core {
watch.stop(); watch.stop();
//Client only init, needs to be done before parts system //Client only init, needs to be done before parts system
proxy.init(); proxy.init();
// Compat
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) {
compatModule.init(event);
}
// WorldGen // WorldGen
GameRegistry.registerWorldGenerator(new TROreGen(), 0); GameRegistry.registerWorldGenerator(new TROreGen(), 0);
GameRegistry.registerWorldGenerator(new TreeGenerator(), 0); GameRegistry.registerWorldGenerator(new TreeGenerator(), 0);

View file

@ -1,6 +1,7 @@
package techreborn.blocks; package techreborn.blocks;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos; import net.minecraft.util.BlockPos;
@ -11,11 +12,10 @@ import techreborn.Core;
import techreborn.client.GuiHandler; import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.fusionReactor.TileEntityFusionController; import techreborn.tiles.fusionReactor.TileEntityFusionController;
import techreborn.utils.damageSources.FusionDamageSource;
public class BlockFusionControlComputer extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockFusionControlComputer extends BlockMachineBase implements IAdvancedRotationTexture {
public BlockFusionControlComputer(Material material) { public BlockFusionControlComputer(Material material) {
super(); super();
setUnlocalizedName("techreborn.fusioncontrolcomputer"); setUnlocalizedName("techreborn.fusioncontrolcomputer");
@ -33,6 +33,15 @@ public class BlockFusionControlComputer extends BlockMachineBase implements IAdv
return true; return true;
} }
@Override
public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn) {
super.onEntityCollidedWithBlock(worldIn, pos, entityIn);
if(worldIn.getTileEntity(pos) instanceof TileEntityFusionController){
if(((TileEntityFusionController) worldIn.getTileEntity(pos)).crafingTickTime != 0 && ((TileEntityFusionController) worldIn.getTileEntity(pos)).checkCoils()){
entityIn.attackEntityFrom(new FusionDamageSource(), 200F);
}
}
}
@Override @Override
public TileEntity createNewTileEntity(World world, int meta) { public TileEntity createNewTileEntity(World world, int meta) {

View file

@ -0,0 +1,75 @@
package techreborn.blocks;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IRotationTexture;
import techreborn.Core;
import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab;
import techreborn.init.ModBlocks;
import techreborn.tiles.TileAlloyFurnace;
import techreborn.tiles.TileIronFurnace;
public class BlockIronFurnace extends BlockMachineBase implements IRotationTexture {
public BlockIronFurnace() {
super();
setUnlocalizedName("techreborn.ironfurnace");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) {
return new TileIronFurnace();
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.ironFurnace, world, x, y, z);
return true;
}
@Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this));
return items;
}
private final String prefix = "techreborn:blocks/machine/";
@Override
public String getFrontOff() {
return prefix + "alloy_furnace_front_off";
}
@Override
public String getFrontOn() {
return prefix + "alloy_furnace_front_on";
}
@Override
public String getSide() {
return prefix + "alloy_furnace_side";
}
@Override
public String getTop() {
return prefix + "alloy_furnace_top";
}
@Override
public String getBottom() {
return prefix + "machine_bottom";
}
}

View file

@ -0,0 +1,38 @@
package techreborn.blocks;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.EnumFacing;
import reborncore.common.BaseBlock;
import reborncore.common.blocks.BlockMachineBase;
import techreborn.client.TechRebornCreativeTabMisc;
public class BlockReinforcedGlass extends BaseBlock implements ITexturedBlock {
public BlockReinforcedGlass(Material materialIn) {
super(materialIn);
setUnlocalizedName("techreborn.reinforcedglass");
setCreativeTab(TechRebornCreativeTabMisc.instance);
setHardness(4.0F);
}
@Override
public boolean isOpaqueCube() {
return false;
}
private final String prefix = "techreborn:blocks/machine/";
@Override
public int amountOfStates() {
return 1;
}
@Override
public String getTextureNameFromState(IBlockState arg0, EnumFacing arg1) {
return prefix + "reinforcedglass";
}
}

View file

@ -1,8 +1,15 @@
package techreborn.blocks.machine; package techreborn.blocks.machine;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import reborncore.common.blocks.BlockMachineBase; import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IRotationTexture; import reborncore.common.blocks.IRotationTexture;
@ -13,7 +20,6 @@ import techreborn.tiles.TileAlloyFurnace;
public class BlockAlloyFurnace extends BlockMachineBase implements IRotationTexture { public class BlockAlloyFurnace extends BlockMachineBase implements IRotationTexture {
public BlockAlloyFurnace(Material material) { public BlockAlloyFurnace(Material material) {
super(); super();
setUnlocalizedName("techreborn.alloyfurnace"); setUnlocalizedName("techreborn.alloyfurnace");
@ -26,13 +32,18 @@ public class BlockAlloyFurnace extends BlockMachineBase implements IRotationText
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.alloyFurnaceID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.alloyFurnaceID, world, x, y, z);
z);
return true; return true;
} }
@Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this));
return items;
}
private final String prefix = "techreborn:blocks/machine/"; private final String prefix = "techreborn:blocks/machine/";

View file

@ -13,7 +13,6 @@ import techreborn.tiles.TileAlloySmelter;
public class BlockAlloySmelter extends BlockMachineBase implements IRotationTexture { public class BlockAlloySmelter extends BlockMachineBase implements IRotationTexture {
public BlockAlloySmelter(Material material) { public BlockAlloySmelter(Material material) {
super(); super();
setUnlocalizedName("techreborn.alloysmelter"); setUnlocalizedName("techreborn.alloysmelter");
@ -26,11 +25,9 @@ public class BlockAlloySmelter extends BlockMachineBase implements IRotationText
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.alloySmelterID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.alloySmelterID, world, x, y, z);
z);
return true; return true;
} }
@ -60,5 +57,4 @@ public class BlockAlloySmelter extends BlockMachineBase implements IRotationText
public String getBottom() { public String getBottom() {
return prefix + "machine_bottom"; return prefix + "machine_bottom";
} }
} }

View file

@ -13,7 +13,6 @@ import techreborn.tiles.TileAssemblingMachine;
public class BlockAssemblingMachine extends BlockMachineBase implements IRotationTexture { public class BlockAssemblingMachine extends BlockMachineBase implements IRotationTexture {
public BlockAssemblingMachine(Material material) { public BlockAssemblingMachine(Material material) {
super(); super();
setUnlocalizedName("techreborn.assemblingmachine"); setUnlocalizedName("techreborn.assemblingmachine");
@ -27,11 +26,9 @@ public class BlockAssemblingMachine extends BlockMachineBase implements IRotatio
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.assemblingmachineID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.assemblingmachineID, world, x, y, z);
z);
return true; return true;
} }
@ -61,5 +58,4 @@ public class BlockAssemblingMachine extends BlockMachineBase implements IRotatio
public String getBottom() { public String getBottom() {
return prefix + "assembling_machine_top"; return prefix + "assembling_machine_top";
} }
} }

View file

@ -13,7 +13,6 @@ import techreborn.tiles.TileBlastFurnace;
public class BlockBlastFurnace extends BlockMachineBase implements IRotationTexture { public class BlockBlastFurnace extends BlockMachineBase implements IRotationTexture {
public BlockBlastFurnace(Material material) { public BlockBlastFurnace(Material material) {
super(); super();
setUnlocalizedName("techreborn.blastfurnace"); setUnlocalizedName("techreborn.blastfurnace");
@ -26,16 +25,12 @@ public class BlockBlastFurnace extends BlockMachineBase implements IRotationText
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.blastFurnaceID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.blastFurnaceID, world, x, y, z);
z);
return true; return true;
} }
@Override @Override
public boolean isAdvanced() { public boolean isAdvanced() {
return true; return true;
@ -67,5 +62,4 @@ public class BlockBlastFurnace extends BlockMachineBase implements IRotationText
public String getBottom() { public String getBottom() {
return prefix + "assembling_machine_top"; return prefix + "assembling_machine_top";
} }
} }

View file

@ -12,8 +12,6 @@ import techreborn.tiles.TileCentrifuge;
public class BlockCentrifuge extends BlockMachineBase implements IRotationTexture { public class BlockCentrifuge extends BlockMachineBase implements IRotationTexture {
public BlockCentrifuge() { public BlockCentrifuge() {
super(); super();
setUnlocalizedName("techreborn.centrifuge"); setUnlocalizedName("techreborn.centrifuge");
@ -26,11 +24,10 @@ public class BlockCentrifuge extends BlockMachineBase implements IRotationTextur
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if (!player.isSneaking()) {
if (!player.isSneaking()) player.openGui(Core.INSTANCE, GuiHandler.centrifugeID, world, x, y, z);
player.openGui(Core.INSTANCE, GuiHandler.centrifugeID, world, x, y, }
z);
return true; return true;
} }
@ -44,11 +41,11 @@ public class BlockCentrifuge extends BlockMachineBase implements IRotationTextur
@Override @Override
public String getFrontOn() { public String getFrontOn() {
return prefix + "industrial_centrifuge_side_on"; return prefix + "industrial_centrifuge_side_on";
} }
@Override @Override
public String getSide() { public String getSide() {
return prefix + "advanced_machine_side"; return getFrontOff();
} }
@Override @Override
@ -60,5 +57,4 @@ public class BlockCentrifuge extends BlockMachineBase implements IRotationTextur
public String getBottom() { public String getBottom() {
return prefix + "industrial_centrifuge_bottom"; return prefix + "industrial_centrifuge_bottom";
} }
} }

View file

@ -13,7 +13,6 @@ import techreborn.tiles.TileChargeBench;
public class BlockChargeBench extends BlockMachineBase implements IRotationTexture { public class BlockChargeBench extends BlockMachineBase implements IRotationTexture {
public BlockChargeBench(Material material) { public BlockChargeBench(Material material) {
super(); super();
setUnlocalizedName("techreborn.chargebench"); setUnlocalizedName("techreborn.chargebench");
@ -28,8 +27,7 @@ public class BlockChargeBench extends BlockMachineBase implements IRotationTextu
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chargeBench, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.chargeBench, world, x, y, z);
z);
return true; return true;
} }
@ -59,5 +57,4 @@ public class BlockChargeBench extends BlockMachineBase implements IRotationTextu
public String getBottom() { public String getBottom() {
return prefix + "chargeBench_side"; return prefix + "chargeBench_side";
} }
} }

View file

@ -13,8 +13,6 @@ import techreborn.tiles.TileChemicalReactor;
public class BlockChemicalReactor extends BlockMachineBase implements IRotationTexture { public class BlockChemicalReactor extends BlockMachineBase implements IRotationTexture {
public BlockChemicalReactor(Material material) { public BlockChemicalReactor(Material material) {
super(); super();
setUnlocalizedName("techreborn.chemicalreactor"); setUnlocalizedName("techreborn.chemicalreactor");
@ -30,8 +28,7 @@ public class BlockChemicalReactor extends BlockMachineBase implements IRotationT
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z,
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chemicalReactorID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.chemicalReactorID, world, x, y, z);
z);
return true; return true;
} }
@ -61,5 +58,4 @@ public class BlockChemicalReactor extends BlockMachineBase implements IRotationT
public String getBottom() { public String getBottom() {
return prefix + "industrial_centrifuge_bottom"; return prefix + "industrial_centrifuge_bottom";
} }
} }

View file

@ -13,7 +13,6 @@ import techreborn.tiles.TileImplosionCompressor;
public class BlockImplosionCompressor extends BlockMachineBase implements IRotationTexture { public class BlockImplosionCompressor extends BlockMachineBase implements IRotationTexture {
public BlockImplosionCompressor(Material material) { public BlockImplosionCompressor(Material material) {
super(); super();
setUnlocalizedName("techreborn.implosioncompressor"); setUnlocalizedName("techreborn.implosioncompressor");
@ -26,11 +25,9 @@ public class BlockImplosionCompressor extends BlockMachineBase implements IRotat
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.implosionCompresserID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.implosionCompresserID, world, x, y, z);
z);
return true; return true;
} }
@ -60,5 +57,4 @@ public class BlockImplosionCompressor extends BlockMachineBase implements IRotat
public String getBottom() { public String getBottom() {
return prefix + "implosion_compressor_bottom"; return prefix + "implosion_compressor_bottom";
} }
} }

View file

@ -13,7 +13,6 @@ import techreborn.tiles.TileIndustrialElectrolyzer;
public class BlockIndustrialElectrolyzer extends BlockMachineBase implements IRotationTexture { public class BlockIndustrialElectrolyzer extends BlockMachineBase implements IRotationTexture {
public BlockIndustrialElectrolyzer(Material material) { public BlockIndustrialElectrolyzer(Material material) {
super(); super();
setUnlocalizedName("techreborn.industrialelectrolyzer"); setUnlocalizedName("techreborn.industrialelectrolyzer");
@ -26,11 +25,9 @@ public class BlockIndustrialElectrolyzer extends BlockMachineBase implements IRo
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.industrialElectrolyzerID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.industrialElectrolyzerID, world, x, y, z);
z);
return true; return true;
} }
@ -60,5 +57,4 @@ public class BlockIndustrialElectrolyzer extends BlockMachineBase implements IRo
public String getBottom() { public String getBottom() {
return prefix + "machine_bottom"; return prefix + "machine_bottom";
} }
} }

View file

@ -14,7 +14,6 @@ import techreborn.tiles.TileIndustrialGrinder;
public class BlockIndustrialGrinder extends BlockMachineBase implements IRotationTexture { public class BlockIndustrialGrinder extends BlockMachineBase implements IRotationTexture {
public BlockIndustrialGrinder(Material material) { public BlockIndustrialGrinder(Material material) {
super(); super();
setUnlocalizedName("techreborn.industrialgrinder"); setUnlocalizedName("techreborn.industrialgrinder");
@ -62,5 +61,4 @@ public class BlockIndustrialGrinder extends BlockMachineBase implements IRotatio
public String getBottom() { public String getBottom() {
return prefix + "industrial_centrifuge_bottom"; return prefix + "industrial_centrifuge_bottom";
} }
} }

View file

@ -26,14 +26,12 @@ public class BlockIndustrialSawmill extends BlockMachineBase implements IRotatio
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){
return true; return true;
} }
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.sawMillID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.sawMillID, world, x, y, z);
z);
return true; return true;
} }
@ -63,6 +61,4 @@ public class BlockIndustrialSawmill extends BlockMachineBase implements IRotatio
public String getBottom() { public String getBottom() {
return prefix + "advanced_machine_side"; return prefix + "advanced_machine_side";
} }
} }

View file

@ -13,7 +13,6 @@ import techreborn.tiles.TileMatterFabricator;
public class BlockMatterFabricator extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockMatterFabricator extends BlockMachineBase implements IAdvancedRotationTexture {
public BlockMatterFabricator(Material material) { public BlockMatterFabricator(Material material) {
super(); super();
setUnlocalizedName("techreborn.matterfabricator"); setUnlocalizedName("techreborn.matterfabricator");
@ -26,11 +25,9 @@ public class BlockMatterFabricator extends BlockMachineBase implements IAdvanced
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.matterfabID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.matterfabID, world, x, y, z);
z);
return true; return true;
} }

View file

@ -13,8 +13,6 @@ import techreborn.tiles.TileRollingMachine;
public class BlockRollingMachine extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockRollingMachine extends BlockMachineBase implements IAdvancedRotationTexture {
public BlockRollingMachine(Material material) { public BlockRollingMachine(Material material) {
super(); super();
setUnlocalizedName("techreborn.rollingmachine"); setUnlocalizedName("techreborn.rollingmachine");
@ -27,11 +25,9 @@ public class BlockRollingMachine extends BlockMachineBase implements IAdvancedRo
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.rollingMachineID, world, player.openGui(Core.INSTANCE, GuiHandler.rollingMachineID, world, x, y, z);
x, y, z);
return true; return true;
} }

View file

@ -14,29 +14,23 @@ import techreborn.tiles.TileVacuumFreezer;
public class BlockVacuumFreezer extends BlockMachineBase implements IAdvancedRotationTexture{ public class BlockVacuumFreezer extends BlockMachineBase implements IAdvancedRotationTexture{
public BlockVacuumFreezer(Material material) { public BlockVacuumFreezer(Material material) {
super(); super();
setUnlocalizedName("techreborn.vacuumfreezer"); setUnlocalizedName("techreborn.vacuumfreezer");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileVacuumFreezer(); return new TileVacuumFreezer();
} }
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
TileVacuumFreezer tileVacuumFreezer = (TileVacuumFreezer) world.getTileEntity(new BlockPos(x, y, z)); TileVacuumFreezer tileVacuumFreezer = (TileVacuumFreezer) world.getTileEntity(new BlockPos(x, y, z));
tileVacuumFreezer.multiBlockStatus = tileVacuumFreezer.checkMachine() ? 1 : 0; tileVacuumFreezer.multiBlockStatus = tileVacuumFreezer.checkMachine() ? 1 : 0;
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.vacuumFreezerID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.vacuumFreezerID, world, x, y, z);
z);
return true; return true;
} }

View file

@ -28,6 +28,7 @@ import techreborn.client.container.ContainerImplosionCompressor;
import techreborn.client.container.ContainerIndustrialElectrolyzer; import techreborn.client.container.ContainerIndustrialElectrolyzer;
import techreborn.client.container.ContainerIndustrialGrinder; import techreborn.client.container.ContainerIndustrialGrinder;
import techreborn.client.container.ContainerIndustrialSawmill; import techreborn.client.container.ContainerIndustrialSawmill;
import techreborn.client.container.ContainerIronFurnace;
import techreborn.client.container.ContainerLesu; import techreborn.client.container.ContainerLesu;
import techreborn.client.container.ContainerMatterFabricator; import techreborn.client.container.ContainerMatterFabricator;
import techreborn.client.container.ContainerQuantumChest; import techreborn.client.container.ContainerQuantumChest;
@ -60,6 +61,7 @@ import techreborn.client.gui.GuiImplosionCompressor;
import techreborn.client.gui.GuiIndustrialElectrolyzer; import techreborn.client.gui.GuiIndustrialElectrolyzer;
import techreborn.client.gui.GuiIndustrialGrinder; import techreborn.client.gui.GuiIndustrialGrinder;
import techreborn.client.gui.GuiIndustrialSawmill; import techreborn.client.gui.GuiIndustrialSawmill;
import techreborn.client.gui.GuiIronFurnace;
import techreborn.client.gui.GuiLesu; import techreborn.client.gui.GuiLesu;
import techreborn.client.gui.GuiMatterFabricator; import techreborn.client.gui.GuiMatterFabricator;
import techreborn.client.gui.GuiQuantumChest; import techreborn.client.gui.GuiQuantumChest;
@ -83,6 +85,7 @@ import techreborn.tiles.TileImplosionCompressor;
import techreborn.tiles.TileIndustrialElectrolyzer; import techreborn.tiles.TileIndustrialElectrolyzer;
import techreborn.tiles.TileIndustrialGrinder; import techreborn.tiles.TileIndustrialGrinder;
import techreborn.tiles.TileIndustrialSawmill; import techreborn.tiles.TileIndustrialSawmill;
import techreborn.tiles.TileIronFurnace;
import techreborn.tiles.TileMatterFabricator; import techreborn.tiles.TileMatterFabricator;
import techreborn.tiles.TileQuantumChest; import techreborn.tiles.TileQuantumChest;
import techreborn.tiles.TileQuantumTank; import techreborn.tiles.TileQuantumTank;
@ -136,6 +139,7 @@ public class GuiHandler implements IGuiHandler {
public static final int extractorID = 33; public static final int extractorID = 33;
public static final int compressorID = 34; public static final int compressorID = 34;
public static final int electricFurnaceID = 35; public static final int electricFurnaceID = 35;
public static final int ironFurnace = 36;
@Override @Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
@ -226,9 +230,9 @@ public class GuiHandler implements IGuiHandler {
return new ContainerCompressor((TileCompressor) world.getTileEntity(new BlockPos(x, y, z)), player); return new ContainerCompressor((TileCompressor) world.getTileEntity(new BlockPos(x, y, z)), player);
}else if (ID == electricFurnaceID) { }else if (ID == electricFurnaceID) {
return new ContainerElectricFurnace((TileElectricFurnace) world.getTileEntity(new BlockPos(x, y, z)), player); return new ContainerElectricFurnace((TileElectricFurnace) world.getTileEntity(new BlockPos(x, y, z)), player);
}else if (ID == ironFurnace) {
return new ContainerIronFurnace((TileIronFurnace) world.getTileEntity(new BlockPos(x, y, z)), player);
} }
return null; return null;
} }
@ -322,7 +326,10 @@ public class GuiHandler implements IGuiHandler {
return new GuiCompressor(player, (TileCompressor) world.getTileEntity(new BlockPos(x, y, z))); return new GuiCompressor(player, (TileCompressor) world.getTileEntity(new BlockPos(x, y, z)));
}else if (ID == electricFurnaceID) { }else if (ID == electricFurnaceID) {
return new GuiElectricFurnace(player, (TileElectricFurnace) world.getTileEntity(new BlockPos(x, y, z))); return new GuiElectricFurnace(player, (TileElectricFurnace) world.getTileEntity(new BlockPos(x, y, z)));
}else if (ID == ironFurnace) {
return new GuiIronFurnace(player, (TileIronFurnace) world.getTileEntity(new BlockPos(x, y, z)));
} }
return null; return null;
} }
} }

View file

@ -0,0 +1,58 @@
package techreborn.client.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.SlotFurnaceFuel;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.client.gui.SlotOutput;
import reborncore.common.container.RebornContainer;
import techreborn.tiles.TileIronFurnace;
public class ContainerIronFurnace extends RebornContainer {
EntityPlayer player;
TileIronFurnace tile;
public int connectionStatus;
public ContainerIronFurnace(TileIronFurnace tileGrinder, EntityPlayer player) {
super();
tile = tileGrinder;
this.player = player;
// input
this.addSlotToContainer(new Slot(tileGrinder.inventory, 0, 56, 17));
this.addSlotToContainer(new SlotOutput(tileGrinder.inventory, 1, 116, 34));
//Fuel
this.addSlotToContainer(new SlotFurnaceFuel(tileGrinder.inventory, 2, 56, 53));
int i;
for (i = 0; i < 3; ++i) {
for (int j = 0; j < 9; ++j) {
this.addSlotToContainer(new Slot(player.inventory, j + i * 9
+ 9, 8 + j * 18, 84 + i * 18));
}
}
for (i = 0; i < 9; ++i) {
this.addSlotToContainer(new Slot(player.inventory, i, 8 + i * 18,
142));
}
}
@Override
public boolean canInteractWith(EntityPlayer player) {
return true;
}
@SideOnly(Side.CLIENT)
@Override
public void updateProgressBar(int id, int value) {
if (id == 10) {
this.connectionStatus = value;
}
}
}

View file

@ -1,5 +1,7 @@
package techreborn.client.gui; package techreborn.client.gui;
import org.lwjgl.util.Color;
import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
@ -35,8 +37,9 @@ public class GuiCompressor extends GuiContainer {
int j = 0; int j = 0;
j = compressor.getProgressScaled(24); j = compressor.getProgressScaled(24);
// System.out.println("" + j);
if (j > 0) { if (j > 0) {
this.drawTexturedModalRect(k + 50, l + 36, 176, 14, j + 1, 16); this.drawTexturedModalRect(k + 80, l + 35, 176, 14, j + 2, 16);
} }
j = compressor.getEnergyScaled(12); j = compressor.getEnergyScaled(12);

View file

@ -34,10 +34,10 @@ public class GuiElectricFurnace extends GuiContainer {
int j = 0; int j = 0;
// j = furnace.getProgressScaled(24); j = furnace.gaugeProgressScaled(24);
// if (j > 0) { if (j > 0) {
// this.drawTexturedModalRect(k + 50, l + 36, 176, 14, j + 1, 16); this.drawTexturedModalRect(k + 78, l + 34, 176, 14, j + 1, 16);
// } }
j = furnace.getEnergyScaled(12); j = furnace.getEnergyScaled(12);
if (j > 0) { if (j > 0) {

View file

@ -50,16 +50,16 @@ public class GuiFusionReactor extends GuiContainer {
public void initGui() { public void initGui() {
int k = (this.width - this.xSize) / 2; int k = (this.width - this.xSize) / 2;
int l = (this.height - this.ySize) / 2; int l = (this.height - this.ySize) / 2;
GuiButton button = new GuiButton(212, k + this.xSize - 24, l + 4, 20, 20, ""); //GuiButton button = new GuiButton(212, k + this.xSize - 24, l + 4, 20, 20, "");
buttonList.add(button); //buttonList.add(button);
super.initGui(); super.initGui();
CoordTriplet coordinates = new CoordTriplet(fusionController.getPos().getX() - (EnumFacing.getFront(fusionController.getFacingInt()).getFrontOffsetX() * 2), fusionController.getPos().getY() - 1, fusionController.getPos().getZ() - (EnumFacing.getFront(fusionController.getFacingInt()).getFrontOffsetZ() * 2)); // CoordTriplet coordinates = new CoordTriplet(fusionController.getPos().getX() - (EnumFacing.getFront(fusionController.getFacingInt()).getFrontOffsetX() * 2), fusionController.getPos().getY() - 1, fusionController.getPos().getZ() - (EnumFacing.getFront(fusionController.getFacingInt()).getFrontOffsetZ() * 2));
if(coordinates.equals(ClientProxy.multiblockRenderEvent.anchor)){ // if(coordinates.equals(ClientProxy.multiblockRenderEvent.anchor)){
ClientProxy.multiblockRenderEvent.setMultiblock(null); // ClientProxy.multiblockRenderEvent.setMultiblock(null);
button.displayString = "B"; // button.displayString = "B";
} else { // } else {
button.displayString = "A"; // button.displayString = "A";
} // }
} }
@Override @Override
@ -86,19 +86,19 @@ public class GuiFusionReactor extends GuiContainer {
@Override @Override
public void actionPerformed(GuiButton button) throws IOException { public void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button); super.actionPerformed(button);
if(button.id == 212){ // if(button.id == 212){
if(ClientProxy.multiblockRenderEvent.currentMultiblock == null){ // if(ClientProxy.multiblockRenderEvent.currentMultiblock == null){
{//This code here makes a basic multiblock and then sets to the selected one. // {//This code here makes a basic multiblock and then sets to the selected one.
MultiblockSet set = new MultiblockSet(ClientMultiBlocks.reactor); // MultiblockSet set = new MultiblockSet(ClientMultiBlocks.reactor);
ClientProxy.multiblockRenderEvent.setMultiblock(set); // ClientProxy.multiblockRenderEvent.setMultiblock(set);
ClientProxy.multiblockRenderEvent.partent = new Location(fusionController.getPos().getX(), fusionController.getPos().getY(), fusionController.getPos().getZ(), fusionController.getWorld()); // ClientProxy.multiblockRenderEvent.partent = new Location(fusionController.getPos().getX(), fusionController.getPos().getY(), fusionController.getPos().getZ(), fusionController.getWorld());
ClientProxy.multiblockRenderEvent.anchor = new CoordTriplet(fusionController.getPos().getX() , fusionController.getPos().getY() -1 , fusionController.getPos().getZ()); // ClientProxy.multiblockRenderEvent.anchor = new CoordTriplet(fusionController.getPos().getX() , fusionController.getPos().getY() -1 , fusionController.getPos().getZ());
} // }
button.displayString = "A"; // button.displayString = "A";
} else { // } else {
ClientProxy.multiblockRenderEvent.setMultiblock(null); // ClientProxy.multiblockRenderEvent.setMultiblock(null);
button.displayString = "B"; // button.displayString = "B";
} // }
} // }
} }
} }

View file

@ -41,15 +41,15 @@ public class GuiGenerator extends GuiContainer {
int j = 0; int j = 0;
j = generator.getEnergyScaled(12); j = generator.getEnergyScaled(24);
if (j > 0) { if (j > 0) {
this.drawTexturedModalRect(k + 56, l + 36 + 12 - j, 176, 12 - j, 14, j + 2); this.drawTexturedModalRect(k + 109, l + 21 + 12, 176, 0, j + 1, 16);
} }
if (containerGenerator.burnTime != 0) if (containerGenerator.burnTime != 0)
{ {
j = containerGenerator.getScaledBurnTime(13); j = containerGenerator.getScaledBurnTime(13);
this.drawTexturedModalRect(k + 56, l + 36 + 12 - j, 176, 12 - j, 14, j + 1); this.drawTexturedModalRect(k + 80, l + 38 + 12 - j, 176, 30 - j, 14, j + 1);
} }
} }

View file

@ -0,0 +1,56 @@
package techreborn.client.gui;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import techreborn.client.container.ContainerElectricFurnace;
import techreborn.client.container.ContainerIronFurnace;
import techreborn.tiles.TileIronFurnace;
import techreborn.tiles.teir1.TileElectricFurnace;
public class GuiIronFurnace extends GuiContainer {
public static final ResourceLocation texture = new ResourceLocation("minecraft", "textures/gui/container/furnace.png");
TileIronFurnace furnace;
ContainerIronFurnace containerGrinder;
public GuiIronFurnace(EntityPlayer player, TileIronFurnace tilegrinder) {
super(new ContainerIronFurnace(tilegrinder, player));
this.xSize = 176;
this.ySize = 167;
furnace = tilegrinder;
containerGrinder = (ContainerIronFurnace) this.inventorySlots;
}
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(texture);
int k = (this.width - this.xSize) / 2;
int l = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
int j = 0;
j = furnace.gaugeProgressScaled(24);
if (j > 0) {
this.drawTexturedModalRect(k + 78, l + 35, 176, 14, j + 1, 16);
}
j = furnace.gaugeFuelScaled(12);
if (j > 0) {
this.drawTexturedModalRect(k + 57, l + 36 + 12 - j, 176, 12 - j, 14, j + 2);
}
}
protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_) {
String name = StatCollector.translateToLocal("tile.techreborn.ironfurnace.name");
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752);
}
}

View file

@ -1,7 +1,9 @@
package techreborn.client.render.parts; package techreborn.client.render.parts;
import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.ModelBakeEvent; import net.minecraftforge.client.event.ModelBakeEvent;
import net.minecraftforge.client.event.TextureStitchEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
@ -20,7 +22,15 @@ public class ClientPartModelBakery {
for(EnumCableType type : EnumCableType.values()){ for(EnumCableType type : EnumCableType.values()){
event.modelRegistry.putObject(new ModelResourceLocation("techreborn:cable#type=" + type.getName().toLowerCase()), new RenderCablePart(type)); event.modelRegistry.putObject(new ModelResourceLocation("techreborn:cable#type=" + type.getName().toLowerCase()), new RenderCablePart(type));
} }
} }
@SubscribeEvent
public void textureStichEvent(TextureStitchEvent event){
for(EnumCableType type : EnumCableType.values()){
event.map.registerSprite(new ResourceLocation(type.textureName));
}
}
} }

View file

@ -63,8 +63,8 @@ public class RenderCablePart implements ISmartMultipartModel {
ArrayList<BakedQuad> list = new ArrayList<BakedQuad>(); ArrayList<BakedQuad> list = new ArrayList<BakedQuad>();
BlockFaceUV uv = new BlockFaceUV(new float[]{0.0F, 0.0F, 16.0F, 16.0F}, 0); BlockFaceUV uv = new BlockFaceUV(new float[]{0.0F, 0.0F, 16.0F, 16.0F}, 0);
BlockPartFace face = new BlockPartFace(null, 0, "", uv); BlockPartFace face = new BlockPartFace(null, 0, "", uv);
int thickness = 16 - (int) type.cableThickness * 2; double thickness = type.cableThickness;
int lastThickness = 16 - thickness; double lastThickness = 16 - thickness;
addCubeToList(new Vecs3dCube(thickness, thickness, thickness, lastThickness, lastThickness, lastThickness), list, face, ModelRotation.X0_Y0, texture); addCubeToList(new Vecs3dCube(thickness, thickness, thickness, lastThickness, lastThickness, lastThickness), list, face, ModelRotation.X0_Y0, texture);
if (state != null) { if (state != null) {
if (state.getValue(CableMultipart.UP)) { if (state.getValue(CableMultipart.UP)) {

View file

@ -13,6 +13,7 @@ import techreborn.compat.recipes.RecipesBuildcraft;
import techreborn.compat.recipes.RecipesThaumcraft; import techreborn.compat.recipes.RecipesThaumcraft;
import techreborn.compat.waila.CompatModuleWaila; import techreborn.compat.waila.CompatModuleWaila;
import techreborn.config.ConfigTechReborn; import techreborn.config.ConfigTechReborn;
import techreborn.parts.StandalonePartCompact;
import techreborn.parts.TechRebornParts; import techreborn.parts.TechRebornParts;
public class CompatManager { public class CompatManager {
@ -45,6 +46,7 @@ public class CompatManager {
registerCompact(RecipesThaumcraft.class, "Thaumcraft"); registerCompact(RecipesThaumcraft.class, "Thaumcraft");
registerCompact(TechRebornParts.class, "mcmultipart"); registerCompact(TechRebornParts.class, "mcmultipart");
registerCompact(ClientPartLoader.class, "mcmultipart", "@client"); registerCompact(ClientPartLoader.class, "mcmultipart", "@client");
registerCompact(StandalonePartCompact.class, "!mcmultipart");
} }
public void registerCompact(Class<? extends ICompatModule> moduleClass, Object... objs) { public void registerCompact(Class<? extends ICompatModule> moduleClass, Object... objs) {

View file

@ -17,4 +17,6 @@ public class RecipeCategoryUids {
public static final String ROLLING_MACHINE = "TechReborn.RollingMachine"; public static final String ROLLING_MACHINE = "TechReborn.RollingMachine";
public static final String VACUUM_FREEZER = "TechReborn.VacuumFreezer"; public static final String VACUUM_FREEZER = "TechReborn.VacuumFreezer";
public static final String GRINDER = "TechReborn.Grinder"; public static final String GRINDER = "TechReborn.Grinder";
public static final String EXTRACTOR = "TechReborn.Extractor";
public static final String COMPRESSOR = "TechReborn.Compressor";
} }

View file

@ -24,6 +24,8 @@ import techreborn.client.container.ContainerAssemblingMachine;
import techreborn.client.container.ContainerBlastFurnace; import techreborn.client.container.ContainerBlastFurnace;
import techreborn.client.container.ContainerCentrifuge; import techreborn.client.container.ContainerCentrifuge;
import techreborn.client.container.ContainerChemicalReactor; import techreborn.client.container.ContainerChemicalReactor;
import techreborn.client.container.ContainerCompressor;
import techreborn.client.container.ContainerExtractor;
import techreborn.client.container.ContainerFusionReactor; import techreborn.client.container.ContainerFusionReactor;
import techreborn.client.container.ContainerGrinder; import techreborn.client.container.ContainerGrinder;
import techreborn.client.container.ContainerImplosionCompressor; import techreborn.client.container.ContainerImplosionCompressor;
@ -38,12 +40,15 @@ import techreborn.client.gui.GuiAssemblingMachine;
import techreborn.client.gui.GuiBlastFurnace; import techreborn.client.gui.GuiBlastFurnace;
import techreborn.client.gui.GuiCentrifuge; import techreborn.client.gui.GuiCentrifuge;
import techreborn.client.gui.GuiChemicalReactor; import techreborn.client.gui.GuiChemicalReactor;
import techreborn.client.gui.GuiCompressor;
import techreborn.client.gui.GuiExtractor;
import techreborn.client.gui.GuiFusionReactor; import techreborn.client.gui.GuiFusionReactor;
import techreborn.client.gui.GuiGrinder; import techreborn.client.gui.GuiGrinder;
import techreborn.client.gui.GuiImplosionCompressor; import techreborn.client.gui.GuiImplosionCompressor;
import techreborn.client.gui.GuiIndustrialElectrolyzer; import techreborn.client.gui.GuiIndustrialElectrolyzer;
import techreborn.client.gui.GuiIndustrialGrinder; import techreborn.client.gui.GuiIndustrialGrinder;
import techreborn.client.gui.GuiIndustrialSawmill; import techreborn.client.gui.GuiIndustrialSawmill;
import techreborn.client.gui.GuiIronFurnace;
import techreborn.client.gui.GuiRollingMachine; import techreborn.client.gui.GuiRollingMachine;
import techreborn.client.gui.GuiVacuumFreezer; import techreborn.client.gui.GuiVacuumFreezer;
import techreborn.compat.jei.alloySmelter.AlloySmelterRecipeCategory; import techreborn.compat.jei.alloySmelter.AlloySmelterRecipeCategory;
@ -56,6 +61,10 @@ import techreborn.compat.jei.centrifuge.CentrifugeRecipeCategory;
import techreborn.compat.jei.centrifuge.CentrifugeRecipeHandler; import techreborn.compat.jei.centrifuge.CentrifugeRecipeHandler;
import techreborn.compat.jei.chemicalReactor.ChemicalReactorRecipeCategory; import techreborn.compat.jei.chemicalReactor.ChemicalReactorRecipeCategory;
import techreborn.compat.jei.chemicalReactor.ChemicalReactorRecipeHandler; import techreborn.compat.jei.chemicalReactor.ChemicalReactorRecipeHandler;
import techreborn.compat.jei.compressor.CompressorRecipeCategory;
import techreborn.compat.jei.compressor.CompressorRecipeHandler;
import techreborn.compat.jei.extractor.ExtractorRecipeCategory;
import techreborn.compat.jei.extractor.ExtractorRecipeHandler;
import techreborn.compat.jei.fusionReactor.FusionReactorRecipeCategory; import techreborn.compat.jei.fusionReactor.FusionReactorRecipeCategory;
import techreborn.compat.jei.fusionReactor.FusionReactorRecipeHandler; import techreborn.compat.jei.fusionReactor.FusionReactorRecipeHandler;
import techreborn.compat.jei.grinder.GrinderRecipeCategory; import techreborn.compat.jei.grinder.GrinderRecipeCategory;
@ -94,7 +103,9 @@ public class TechRebornJeiPlugin extends BlankModPlugin {
new IndustrialSawmillRecipeCategory(guiHelper), new IndustrialSawmillRecipeCategory(guiHelper),
new RollingMachineRecipeCategory(guiHelper), new RollingMachineRecipeCategory(guiHelper),
new VacuumFreezerRecipeCategory(guiHelper), new VacuumFreezerRecipeCategory(guiHelper),
new GrinderRecipeCategory(guiHelper) new GrinderRecipeCategory(guiHelper),
new ExtractorRecipeCategory(guiHelper),
new CompressorRecipeCategory(guiHelper)
); );
registry.addRecipeHandlers( registry.addRecipeHandlers(
@ -110,7 +121,9 @@ public class TechRebornJeiPlugin extends BlankModPlugin {
new IndustrialSawmillRecipeHandler(jeiHelpers), new IndustrialSawmillRecipeHandler(jeiHelpers),
new RollingMachineRecipeHandler(), new RollingMachineRecipeHandler(),
new VacuumFreezerRecipeHandler(jeiHelpers), new VacuumFreezerRecipeHandler(jeiHelpers),
new GrinderRecipeHandler(jeiHelpers) new GrinderRecipeHandler(jeiHelpers),
new ExtractorRecipeHandler(jeiHelpers),
new CompressorRecipeHandler(jeiHelpers)
); );
registry.addRecipes(RecipeHandler.recipeList); registry.addRecipes(RecipeHandler.recipeList);
@ -144,6 +157,9 @@ public class TechRebornJeiPlugin extends BlankModPlugin {
registry.addRecipeClickArea(GuiRollingMachine.class, 89, 32, 26, 25, RecipeCategoryUids.ROLLING_MACHINE); registry.addRecipeClickArea(GuiRollingMachine.class, 89, 32, 26, 25, RecipeCategoryUids.ROLLING_MACHINE);
registry.addRecipeClickArea(GuiVacuumFreezer.class, 78, 36, 24, 16, RecipeCategoryUids.VACUUM_FREEZER); registry.addRecipeClickArea(GuiVacuumFreezer.class, 78, 36, 24, 16, RecipeCategoryUids.VACUUM_FREEZER);
registry.addRecipeClickArea(GuiGrinder.class, 78, 36, 24, 16, RecipeCategoryUids.GRINDER); registry.addRecipeClickArea(GuiGrinder.class, 78, 36, 24, 16, RecipeCategoryUids.GRINDER);
registry.addRecipeClickArea(GuiExtractor.class, 78, 36, 24, 16, RecipeCategoryUids.EXTRACTOR);
registry.addRecipeClickArea(GuiCompressor.class, 78, 36, 24, 16, RecipeCategoryUids.COMPRESSOR);
registry.addRecipeClickArea(GuiIronFurnace.class, 78, 36, 24, 16, VanillaRecipeCategoryUid.SMELTING, VanillaRecipeCategoryUid.FUEL);
IRecipeTransferRegistry recipeTransferRegistry = registry.getRecipeTransferRegistry(); IRecipeTransferRegistry recipeTransferRegistry = registry.getRecipeTransferRegistry();
@ -162,6 +178,8 @@ public class TechRebornJeiPlugin extends BlankModPlugin {
recipeTransferRegistry.addRecipeTransferHandler(ContainerRollingMachine.class, RecipeCategoryUids.ROLLING_MACHINE, 0, 9, 11, 36); recipeTransferRegistry.addRecipeTransferHandler(ContainerRollingMachine.class, RecipeCategoryUids.ROLLING_MACHINE, 0, 9, 11, 36);
recipeTransferRegistry.addRecipeTransferHandler(ContainerVacuumFreezer.class, RecipeCategoryUids.VACUUM_FREEZER, 0, 1, 2, 36); recipeTransferRegistry.addRecipeTransferHandler(ContainerVacuumFreezer.class, RecipeCategoryUids.VACUUM_FREEZER, 0, 1, 2, 36);
recipeTransferRegistry.addRecipeTransferHandler(ContainerGrinder.class, RecipeCategoryUids.GRINDER, 0, 1, 2, 36); recipeTransferRegistry.addRecipeTransferHandler(ContainerGrinder.class, RecipeCategoryUids.GRINDER, 0, 1, 2, 36);
recipeTransferRegistry.addRecipeTransferHandler(ContainerExtractor.class, RecipeCategoryUids.EXTRACTOR, 0, 1, 2, 36);
recipeTransferRegistry.addRecipeTransferHandler(ContainerCompressor.class, RecipeCategoryUids.COMPRESSOR, 0, 1, 2, 36);
} }

View file

@ -0,0 +1,59 @@
package techreborn.compat.jei.compressor;
import javax.annotation.Nonnull;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiCompressor;
import techreborn.client.gui.GuiGrinder;
import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil;
public class CompressorRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0};
private static final int[] OUTPUT_SLOTS = {1};
private final IDrawable background;
private final String title;
public CompressorRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiCompressor.texture, 55, 30, 82, 26);
title = StatCollector.translateToLocal("tile.techreborn.compressor.name");
}
@Nonnull
@Override
public String getUid() {
return RecipeCategoryUids.COMPRESSOR;
}
@Nonnull
@Override
public String getTitle() {
return title;
}
@Nonnull
@Override
public IDrawable getBackground() {
return background;
}
@Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 0, 3);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 60, 4);
if (recipeWrapper instanceof CompressorRecipeWrapper) {
CompressorRecipeWrapper recipe = (CompressorRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
}
}
}

View file

@ -0,0 +1,42 @@
package techreborn.compat.jei.compressor;
import javax.annotation.Nonnull;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.CompressorRecipe;
import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.compat.jei.RecipeCategoryUids;
public class CompressorRecipeHandler implements IRecipeHandler<CompressorRecipe> {
@Nonnull
private final IJeiHelpers jeiHelpers;
public CompressorRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers;
}
@Nonnull
@Override
public Class<CompressorRecipe> getRecipeClass() {
return CompressorRecipe.class;
}
@Nonnull
@Override
public String getRecipeCategoryUid() {
return RecipeCategoryUids.COMPRESSOR;
}
@Nonnull
@Override
public IRecipeWrapper getRecipeWrapper(@Nonnull CompressorRecipe recipe) {
return new CompressorRecipeWrapper(jeiHelpers, recipe);
}
@Override
public boolean isRecipeValid(@Nonnull CompressorRecipe recipe) {
return true;
}
}

View file

@ -0,0 +1,33 @@
package techreborn.compat.jei.compressor;
import javax.annotation.Nonnull;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.CompressorRecipe;
import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.client.gui.GuiCompressor;
import techreborn.client.gui.GuiGrinder;
import techreborn.compat.jei.BaseRecipeWrapper;
public class CompressorRecipeWrapper extends BaseRecipeWrapper<CompressorRecipe> {
private final IDrawableAnimated progress;
public CompressorRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull CompressorRecipe baseRecipe) {
super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiCompressor.texture, 176, 14, 20, 11);
int ticksPerCycle = baseRecipe.tickTime();
this.progress = guiHelper.createAnimatedDrawable(progressStatic, ticksPerCycle, IDrawableAnimated.StartDirection.LEFT, false);
}
@Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 25, 7);
}
}

View file

@ -0,0 +1,59 @@
package techreborn.compat.jei.extractor;
import javax.annotation.Nonnull;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiExtractor;
import techreborn.client.gui.GuiGrinder;
import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil;
public class ExtractorRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0};
private static final int[] OUTPUT_SLOTS = {1};
private final IDrawable background;
private final String title;
public ExtractorRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiExtractor.texture, 55, 30, 82, 26);
title = StatCollector.translateToLocal("tile.techreborn.extractor.name");
}
@Nonnull
@Override
public String getUid() {
return RecipeCategoryUids.EXTRACTOR;
}
@Nonnull
@Override
public String getTitle() {
return title;
}
@Nonnull
@Override
public IDrawable getBackground() {
return background;
}
@Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 0, 3);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 60, 4);
if (recipeWrapper instanceof ExtractorRecipeWrapper) {
ExtractorRecipeWrapper recipe = (ExtractorRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
}
}
}

View file

@ -0,0 +1,42 @@
package techreborn.compat.jei.extractor;
import javax.annotation.Nonnull;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.ExtractorRecipe;
import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.compat.jei.RecipeCategoryUids;
public class ExtractorRecipeHandler implements IRecipeHandler<ExtractorRecipe> {
@Nonnull
private final IJeiHelpers jeiHelpers;
public ExtractorRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers;
}
@Nonnull
@Override
public Class<ExtractorRecipe> getRecipeClass() {
return ExtractorRecipe.class;
}
@Nonnull
@Override
public String getRecipeCategoryUid() {
return RecipeCategoryUids.EXTRACTOR;
}
@Nonnull
@Override
public IRecipeWrapper getRecipeWrapper(@Nonnull ExtractorRecipe recipe) {
return new ExtractorRecipeWrapper(jeiHelpers, recipe);
}
@Override
public boolean isRecipeValid(@Nonnull ExtractorRecipe recipe) {
return true;
}
}

View file

@ -0,0 +1,33 @@
package techreborn.compat.jei.extractor;
import javax.annotation.Nonnull;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.ExtractorRecipe;
import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.client.gui.GuiExtractor;
import techreborn.client.gui.GuiGrinder;
import techreborn.compat.jei.BaseRecipeWrapper;
public class ExtractorRecipeWrapper extends BaseRecipeWrapper<ExtractorRecipe> {
private final IDrawableAnimated progress;
public ExtractorRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull ExtractorRecipe baseRecipe) {
super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiExtractor.texture, 176, 17, 22, 11);
int ticksPerCycle = baseRecipe.tickTime();
this.progress = guiHelper.createAnimatedDrawable(progressStatic, ticksPerCycle, IDrawableAnimated.StartDirection.LEFT, false);
}
@Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 25, 7);
}
}

View file

@ -134,6 +134,8 @@ public class ModBlocks {
public static Block storage; public static Block storage;
public static Block storage2; public static Block storage2;
public static Block machineframe; public static Block machineframe;
public static Block reinforcedglass;
public static Block ironFurnace;
public static Block rubberLog; public static Block rubberLog;
public static Block rubberLeaves; public static Block rubberLeaves;
@ -360,7 +362,13 @@ public class ModBlocks {
ironFence = new BlockIronFence(); ironFence = new BlockIronFence();
GameRegistry.registerBlock(ironFence, "ironFence"); GameRegistry.registerBlock(ironFence, "ironFence");
reinforcedglass = new BlockReinforcedGlass(Material.glass);
GameRegistry.registerBlock(reinforcedglass, "reinforcedglass");
ironFurnace = new BlockIronFurnace();
GameRegistry.registerBlock(ironFurnace, "ironfurnace");
GameRegistry.registerTileEntity(TileIronFurnace.class, "TileIronFurnaceTR");
registerOreDict(); registerOreDict();
Core.logHelper.info("TechReborns Blocks Loaded"); Core.logHelper.info("TechReborns Blocks Loaded");
} }

View file

@ -85,6 +85,8 @@ public class ModItems {
public static Item diamondJackhammer; public static Item diamondJackhammer;
public static Item hammer; public static Item hammer;
public static Item wrench; public static Item wrench;
public static Item lapatronCrystal;
public static Item energyCrystal;
public static Item upgrades; public static Item upgrades;
@ -129,6 +131,11 @@ public class ModItems {
GameRegistry.registerItem(lapotronicOrb, "lapotronicOrb"); GameRegistry.registerItem(lapotronicOrb, "lapotronicOrb");
omniTool = PoweredItem.createItem(ItemOmniTool.class); omniTool = PoweredItem.createItem(ItemOmniTool.class);
GameRegistry.registerItem(omniTool, "omniTool"); GameRegistry.registerItem(omniTool, "omniTool");
energyCrystal = PoweredItem.createItem(ItemEnergyCrystal.class);
GameRegistry.registerItem(energyCrystal, "energycrystal");
lapatronCrystal = PoweredItem.createItem(ItemLapotronCrystal.class);
GameRegistry.registerItem(lapatronCrystal, "lapatroncrystal");
manual = new ItemTechManual(); manual = new ItemTechManual();
GameRegistry.registerItem(manual, "techmanuel"); GameRegistry.registerItem(manual, "techmanuel");

View file

@ -23,6 +23,8 @@ import techreborn.api.recipe.machines.AlloySmelterRecipe;
import techreborn.api.recipe.machines.BlastFurnaceRecipe; import techreborn.api.recipe.machines.BlastFurnaceRecipe;
import techreborn.api.recipe.machines.CentrifugeRecipe; import techreborn.api.recipe.machines.CentrifugeRecipe;
import techreborn.api.recipe.machines.ChemicalReactorRecipe; import techreborn.api.recipe.machines.ChemicalReactorRecipe;
import techreborn.api.recipe.machines.CompressorRecipe;
import techreborn.api.recipe.machines.ExtractorRecipe;
import techreborn.api.recipe.machines.GrinderRecipe; import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.api.recipe.machines.ImplosionCompressorRecipe; import techreborn.api.recipe.machines.ImplosionCompressorRecipe;
import techreborn.api.recipe.machines.IndustrialElectrolyzerRecipe; import techreborn.api.recipe.machines.IndustrialElectrolyzerRecipe;
@ -44,10 +46,10 @@ import techreborn.items.ItemIngots;
import techreborn.items.ItemNuggets; import techreborn.items.ItemNuggets;
import techreborn.items.ItemParts; import techreborn.items.ItemParts;
import techreborn.items.ItemPlates; import techreborn.items.ItemPlates;
import techreborn.parts.ItemStandaloneCables;
import techreborn.utils.RecipeUtils; import techreborn.utils.RecipeUtils;
public class public class ModRecipes {
ModRecipes {
public static ConfigTechReborn config; public static ConfigTechReborn config;
public static void init() { public static void init() {
@ -73,9 +75,54 @@ public class
addGrinderRecipes(); addGrinderRecipes();
addHammerRecipes(); addHammerRecipes();
addIc2ReplacementReicpes(); addIc2ReplacementReicpes();
addExtractorRecipes();
addCompressorRecipes();
addWireRecipes();
} }
static void addIc2ReplacementReicpes(){ static void addWireRecipes() {
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("copper", 6),
"XXX","CCC", "XXX",
'C', "ingotCopper");
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("tin", 9),
"XXX","CCC", "XXX",
'C', "ingotTin");
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("gold", 12),
"XXX","CCC", "XXX",
'C', "ingotGold");
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("hv", 8),
"XXX","CCC", "XXX",
'C', ItemIngots.getIngotByName("refinediron"));
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("glassfiber", 6),
"GGG",
"SDS",
"GGG",
'G', "blockGlass",
'S', "ingotSilver",
'D', Items.diamond);
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("glassfiber", 4),
"GGG",
"RDR",
"GGG",
'G', "blockGlass",
'R', Items.redstone,
'D', Items.diamond);
CraftingHelper.addShapelessOreRecipe(ItemStandaloneCables.getCableByName("insulatedcopper"), ItemParts.getPartByName("rubber"), ItemStandaloneCables.getCableByName("copper"));
CraftingHelper.addShapelessOreRecipe(ItemStandaloneCables.getCableByName("insulatedgold"), ItemParts.getPartByName("rubber"), ItemStandaloneCables.getCableByName("gold"));
CraftingHelper.addShapelessOreRecipe(ItemStandaloneCables.getCableByName("insulatedhv"), ItemParts.getPartByName("rubber"), ItemStandaloneCables.getCableByName("hv"));
}
private static void addCompressorRecipes() {
RecipeHandler.addRecipe(new CompressorRecipe(new ItemStack(Items.diamond), new ItemStack(Items.coal), 400, 20));
}
static void addExtractorRecipes() {
RecipeHandler.addRecipe(new ExtractorRecipe(ItemParts.getPartByName("rubberSap"), ItemParts.getPartByName("rubber", 3), 400, 20));
RecipeHandler.addRecipe(new ExtractorRecipe(new ItemStack(ModBlocks.rubberLog), ItemParts.getPartByName("rubber"), 400, 20));
}
static void addIc2ReplacementReicpes(){
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Grinder), CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Grinder),
"FFF", "FFF",
"SMS", "SMS",
@ -113,6 +160,8 @@ public class
} }
public static ItemStack hammerStack = new ItemStack(ModItems.hammer, 1, OreDictionary.WILDCARD_VALUE); public static ItemStack hammerStack = new ItemStack(ModItems.hammer, 1, OreDictionary.WILDCARD_VALUE);
public static ItemStack batteryStack = new ItemStack(ModItems.reBattery, 1, OreDictionary.WILDCARD_VALUE);
public static Item hammer = ModItems.hammer; public static Item hammer = ModItems.hammer;
static void addHammerRecipes(){ static void addHammerRecipes(){
@ -149,9 +198,73 @@ public class
'A', "ingot" + name.substring(0, 1).toUpperCase() + name.substring(1)); 'A', "ingot" + name.substring(0, 1).toUpperCase() + name.substring(1));
} }
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ElectricFurnace),
"XCX", "RFR", "XXX",
'C', ItemParts.getPartByName("electronicCircuit"),
'F', new ItemStack(ModBlocks.ironFurnace),
'R', Items.redstone);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ironFurnace),
"III", "IXI", "III",
'I', "ingotIron");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ironFurnace),
"XIX", "IXI", "IFI",
'I', "ingotIron",
'F', Blocks.furnace);
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("electronicCircuit"),
"WWW", "SRS", "WWW",
'R', ItemIngots.getIngotByName("refinediron"),
'S', Items.redstone,
'W', ItemStandaloneCables.getCableByName("insulatedcopper"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.reBattery),
"XWX", "TRT", "TRT",
'T', "ingotTin",
'R', Items.redstone,
'W', ItemStandaloneCables.getCableByName("insulatedcopper"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.wrench),
"BAB", "BBB", "ABA",
'B', "ingotBronze");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Extractor),
"TMT", "TCT", "XXX",
'T', ModItems.treeTap,
'M', BlockMachineFrame.getFrameByName("machine", 1),
'C', ItemParts.getPartByName("electronicCircuit"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.centrifuge),
"RCR", "AEA", "RCR",
'R', ItemIngots.getIngotByName("refinediron"),
'E', new ItemStack(ModBlocks.Extractor),
'A', BlockMachineFrame.getFrameByName("advancedMachine", 1),
'C', ItemParts.getPartByName("electronicCircuit"));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("advancedCircuit"),
"RGR", "LCL", "RGR",
'R', Items.redstone,
'G', Items.glowstone_dust,
'L', "dyeBlue",
'C', ItemParts.getPartByName("electronicCircuit"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.energyCrystal),
"RRR", "RDR", "RRR",
'R', Items.redstone,
'D', Items.diamond);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.lapatronCrystal),
"LCL", "LEL", "LCL",
'L', "dyeBlue",
'E', new ItemStack(ModItems.energyCrystal),
'C', ItemParts.getPartByName("electronicCircuit"));
CraftingHelper.addShapelessOreRecipe(new ItemStack(ModBlocks.Generator), batteryStack, BlockMachineFrame.getFrameByName("machine", 1), Blocks.furnace);
CraftingHelper.addShapedOreRecipe(BlockMachineFrame.getFrameByName("machine", 1), CraftingHelper.addShapedOreRecipe(BlockMachineFrame.getFrameByName("machine", 1),
"AAA", "AXA", "AAA", "AAA", "AXA", "AAA",
'A', ItemPlates.getPlateByName("iron")); 'A', ItemIngots.getIngotByName("refinediron"));
CraftingHelper.addShapedOreRecipe(BlockStorage.getStorageBlockByName("sapphire"), CraftingHelper.addShapedOreRecipe(BlockStorage.getStorageBlockByName("sapphire"),
"AAA", "AAA", "AAA", "AAA", "AAA", "AAA",
@ -162,15 +275,6 @@ public class
'A', "gemRuby"); 'A', "gemRuby");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.parts, 1, 40),
"PLP", "RGB", "PYP",
'P', "plateAluminum",
'L', "dyeLime",
'R', "dyeRed",
'G', "paneGlass",
'B', "dyeBlue",
'Y', Items.glowstone_dust);
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataStorageCircuit"), CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataStorageCircuit"),
"EEE", "ECE", "EEE", "EEE", "ECE", "EEE",
'E', new ItemStack(Items.emerald), 'E', new ItemStack(Items.emerald),
@ -359,7 +463,6 @@ public class
} }
static void addShapelessRecipes() { static void addShapelessRecipes() {
for (String name : ArrayUtils.addAll(BlockStorage.types, BlockStorage2.types)) { for (String name : ArrayUtils.addAll(BlockStorage.types, BlockStorage2.types)) {
ItemStack item = null; ItemStack item = null;
try { try {
@ -378,7 +481,6 @@ public class
GameRegistry.addShapelessRecipe(BlockStorage.getStorageBlockByName(name), item, item, item, item, item, item, item, item, item); GameRegistry.addShapelessRecipe(BlockStorage.getStorageBlockByName(name), item, item, item, item, item, item, item, item, item);
GameRegistry.addShapelessRecipe(item, BlockStorage.getStorageBlockByName(name, 9)); GameRegistry.addShapelessRecipe(item, BlockStorage.getStorageBlockByName(name, 9));
} }
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.rubberPlanks, 4), ModBlocks.rubberLog); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.rubberPlanks, 4), ModBlocks.rubberLog);
@ -395,7 +497,7 @@ public class
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.quantumTank), CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.quantumTank),
"EPE", "PCP", "EPE", "EPE", "PCP", "EPE",
'P', "platePlatinum", 'P', "platePlatinum",
'E', "circuitMaster", 'E', ItemParts.getPartByName("advancedCircuit"),
'C', ModBlocks.quantumChest); 'C', ModBlocks.quantumChest);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.digitalChest), CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.digitalChest),
@ -411,16 +513,15 @@ public class
'C', ItemParts.getPartByName("computerMonitor")); 'C', ItemParts.getPartByName("computerMonitor"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.AlloySmelter), CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.AlloySmelter),
"IHI", "CFC", "IHI", "XCX", "FMF", "XXX",
'I', "plateInvar", 'C', ItemParts.getPartByName("electronicCircuit"),
'C', "circuitBasic", 'F', new ItemStack(ModBlocks.ElectricFurnace),
'H', new ItemStack(ModItems.parts, 1, 17), 'M', BlockMachineFrame.getFrameByName("machine", 1));
'F', ModBlocks.AlloyFurnace);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.LesuStorage), CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.LesuStorage),
"LLL", "LCL", "LLL", "LLL", "LCL", "LLL",
'L', "blockLapis", 'L', "blockLapis",
'C', "circuitBasic"); 'C', ItemParts.getPartByName("electronicCircuit"));
TechRebornAPI.addRollingOreMachinceRecipe(ItemParts.getPartByName("cupronickelHeatingCoil"), TechRebornAPI.addRollingOreMachinceRecipe(ItemParts.getPartByName("cupronickelHeatingCoil"),
"NCN", "C C", "NCN", "NCN", "C C", "NCN",
@ -436,6 +537,7 @@ public class
GameRegistry.addSmelting(ItemDusts.getDustByName("iron", 1), new ItemStack(Items.iron_ingot), 1F); GameRegistry.addSmelting(ItemDusts.getDustByName("iron", 1), new ItemStack(Items.iron_ingot), 1F);
GameRegistry.addSmelting(ItemDusts.getDustByName("gold", 1), new ItemStack(Items.gold_ingot), 1F); GameRegistry.addSmelting(ItemDusts.getDustByName("gold", 1), new ItemStack(Items.gold_ingot), 1F);
GameRegistry.addSmelting(ItemParts.getPartByName("rubberSap"), ItemParts.getPartByName("rubber"), 1F); GameRegistry.addSmelting(ItemParts.getPartByName("rubberSap"), ItemParts.getPartByName("rubber"), 1F);
GameRegistry.addSmelting(new ItemStack(Items.iron_ingot), ItemIngots.getIngotByName("refinediron"), 1F);
Core.logHelper.info("Smelting Recipes Added"); Core.logHelper.info("Smelting Recipes Added");
} }
@ -1291,7 +1393,7 @@ public class
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("energyFlowCircuit", 4), CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("energyFlowCircuit", 4),
"ATA", "LIL", "ATA", "ATA", "LIL", "ATA",
'T', "plateTungsten", 'T', "ingotTungsten",
'I', "plateIridium", 'I', "plateIridium",
'A', TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'A', TechRebornAPI.recipeCompact.getItem("advancedCircuit"),
'L', TechRebornAPI.recipeCompact.getItem("lapotronCrystal")); 'L', TechRebornAPI.recipeCompact.getItem("lapotronCrystal"));
@ -1470,8 +1572,8 @@ public class
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.AlloyFurnace), CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.AlloyFurnace),
"III", "F F", "III", "III", "F F", "III",
'I', "plateIron", 'I', ItemIngots.getIngotByName("refinediron"),
'F', TechRebornAPI.recipeCompact.getItem("ironFurnace")); 'F', new ItemStack(ModBlocks.ironFurnace));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ChemicalReactor), CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ChemicalReactor),
"IMI", "CPC", "IEI", "IMI", "CPC", "IEI",
@ -2364,7 +2466,7 @@ public class
CraftingHelper.addShapedOreRecipe(TechRebornAPI.recipeCompact.getItem("solarPanel"), CraftingHelper.addShapedOreRecipe(TechRebornAPI.recipeCompact.getItem("solarPanel"),
"PPP", "SZS", "CGC", "PPP", "SZS", "CGC",
'P', "paneGlass", 'P', "paneGlass",
'S', new ItemStack(ModItems.parts, 1, 1), 'S', ItemPlates.getPlateByName("silicon"),
'Z', TechRebornAPI.recipeCompact.getItem("carbonPlate"), 'Z', TechRebornAPI.recipeCompact.getItem("carbonPlate"),
'G', TechRebornAPI.recipeCompact.getItem("generator"), 'G', TechRebornAPI.recipeCompact.getItem("generator"),
'C', TechRebornAPI.recipeCompact.getItem("electronicCircuit")); 'C', TechRebornAPI.recipeCompact.getItem("electronicCircuit"));

View file

@ -61,6 +61,8 @@ public class RecipeCompact implements IRecipeCompact {
recipes.put("mvTransformer", ItemParts.getPartByName("mvTransformer")); recipes.put("mvTransformer", ItemParts.getPartByName("mvTransformer"));
recipes.put("hvTransformer", ItemParts.getPartByName("hvTransformer")); recipes.put("hvTransformer", ItemParts.getPartByName("hvTransformer"));
recipes.put("windMill", new ItemStack(ModBlocks.windMill)); recipes.put("windMill", new ItemStack(ModBlocks.windMill));
recipes.put("energyCrystal", new ItemStack(ModItems.energyCrystal));
recipes.put("lapotronCrystal", new ItemStack(ModItems.lapatronCrystal));
inited = false; inited = false;
} }

View file

@ -0,0 +1,57 @@
package techreborn.items;
import net.minecraft.item.ItemStack;
import reborncore.api.power.IEnergyItemInfo;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
public class ItemEnergyCrystal extends ItemTextureBase implements IEnergyItemInfo {
public static final int maxCharge = 100000;
public static final int tier = 1;
public double transferLimit = 512;
public ItemEnergyCrystal() {
super();
setMaxStackSize(1);
setMaxDamage(13);
setUnlocalizedName("techreborn.energycrystal");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public double getMaxPower(ItemStack stack) {
return maxCharge;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public boolean canProvideEnergy(ItemStack stack) {
return true;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return transferLimit;
}
@Override
public int getStackTeir(ItemStack stack) {
return tier;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/energycrystal";
}
@Override
public int getMaxMeta() {
return 1;
}
}

View file

@ -29,7 +29,7 @@ public class ItemIngots extends ItemTextureBase {
"bronze", "cadmium", "chrome", "copper", "cupronickel", "electrum", "indium", "bronze", "cadmium", "chrome", "copper", "cupronickel", "electrum", "indium",
"invar", "iridium", "kanthal", "lead", "lodestone", "magnalium", "nichrome", "nickel", "invar", "iridium", "kanthal", "lead", "lodestone", "magnalium", "nichrome", "nickel",
"osmium", "platinum", "silver", "steel", "tellurium", "tin", "titanium", "osmium", "platinum", "silver", "steel", "tellurium", "tin", "titanium",
"tungsten", "hotTungstensteel", "tungstensteel", "zinc"}; "tungsten", "hotTungstensteel", "tungstensteel", "zinc", "refinediron"};
public ItemIngots() { public ItemIngots() {

View file

@ -0,0 +1,57 @@
package techreborn.items;
import net.minecraft.item.ItemStack;
import reborncore.api.power.IEnergyItemInfo;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
public class ItemLapotronCrystal extends ItemTextureBase implements IEnergyItemInfo {
public static final int maxCharge = 100000;
public static final int tier = 2;
public double transferLimit = 512;
public ItemLapotronCrystal() {
super();
setMaxStackSize(1);
setMaxDamage(13);
setUnlocalizedName("techreborn.lapotroncrystal");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public double getMaxPower(ItemStack stack) {
return maxCharge;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public boolean canProvideEnergy(ItemStack stack) {
return true;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return transferLimit;
}
@Override
public int getStackTeir(ItemStack stack) {
return tier;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/lapotroncrystal";
}
@Override
public int getMaxMeta() {
return 1;
}
}

View file

@ -32,10 +32,9 @@ public class ItemWrench extends ItemTR implements ITexturedItem {
public ItemWrench() { public ItemWrench() {
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
setUnlocalizedName("techreborn.wrench"); setUnlocalizedName("techreborn.wrench");
setMaxStackSize(1);
} }
@Override @Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ) { public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ) {
if(world.isAirBlock(pos) || !player.isSneaking()){ if(world.isAirBlock(pos) || !player.isSneaking()){
@ -45,6 +44,9 @@ public class ItemWrench extends ItemTR implements ITexturedItem {
if(tile == null){ if(tile == null){
return false; return false;
} }
if(!(tile instanceof IInventory)){
return false;
}
List<ItemStack> items = new ArrayList<ItemStack>(); List<ItemStack> items = new ArrayList<ItemStack>();
IInventory inventory = (IInventory) tile; IInventory inventory = (IInventory) tile;

View file

@ -3,6 +3,7 @@ package techreborn.parts;
import mcmultipart.MCMultiPartMod; import mcmultipart.MCMultiPartMod;
import mcmultipart.microblock.IMicroblock; import mcmultipart.microblock.IMicroblock;
import mcmultipart.multipart.*; import mcmultipart.multipart.*;
import mcmultipart.raytrace.PartMOP;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool; import net.minecraft.block.properties.PropertyBool;
@ -10,12 +11,10 @@ import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockState; import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.*;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.property.ExtendedBlockState; import net.minecraftforge.common.property.ExtendedBlockState;
import net.minecraftforge.common.property.IExtendedBlockState; import net.minecraftforge.common.property.IExtendedBlockState;
@ -24,16 +23,14 @@ import net.minecraftforge.common.property.Properties;
import reborncore.api.power.IEnergyInterfaceTile; import reborncore.api.power.IEnergyInterfaceTile;
import reborncore.common.misc.Functions; import reborncore.common.misc.Functions;
import reborncore.common.misc.vecmath.Vecs3dCube; import reborncore.common.misc.vecmath.Vecs3dCube;
import techreborn.utils.damageSources.ElectrialShockSource;
import java.util.EnumSet; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* Created by mark on 02/03/2016. * Created by mark on 02/03/2016.
*/ */
public abstract class CableMultipart extends Multipart implements IOccludingPart, ISlottedPart, ITickable, ICableType { public abstract class CableMultipart extends Multipart implements IOccludingPart, ISlottedPart, ITickable, ICableType, ICollidableMultipart {
public Vecs3dCube[] boundingBoxes = new Vecs3dCube[14]; public Vecs3dCube[] boundingBoxes = new Vecs3dCube[14];
public float center = 0.6F; public float center = 0.6F;
@ -57,7 +54,7 @@ public abstract class CableMultipart extends Multipart implements IOccludingPart
public void refreshBounding() { public void refreshBounding() {
float centerFirst = center - offset; float centerFirst = center - offset;
double w = getCableType().cableThickness / 16; double w = (getCableType().cableThickness / 16) - 0.5;
boundingBoxes[6] = new Vecs3dCube(centerFirst - w - 0.03, centerFirst boundingBoxes[6] = new Vecs3dCube(centerFirst - w - 0.03, centerFirst
- w - 0.08, centerFirst - w - 0.03, centerFirst + w + 0.08, - w - 0.08, centerFirst - w - 0.03, centerFirst + w + 0.08,
centerFirst + w + 0.04, centerFirst + w + 0.08); centerFirst + w + 0.04, centerFirst + w + 0.08);
@ -225,7 +222,11 @@ public abstract class CableMultipart extends Multipart implements IOccludingPart
@Override @Override
public void update() { public void update() {
if(getWorld() != null){
if(getWorld().getTotalWorldTime() % 80 == 0){
checkConnectedSides();
}
}
} }
@Override @Override
@ -262,5 +263,30 @@ public abstract class CableMultipart extends Multipart implements IOccludingPart
return "techreborn:cable"; return "techreborn:cable";
} }
@Override
public float getHardness(PartMOP hit) {
return 1F;
}
@Override
public List<ItemStack> getDrops() {
List<ItemStack> list = new ArrayList<>();
list.add(new ItemStack(TechRebornParts.cables, 1, getCableType().ordinal()));
return list;
}
@Override
public void onEntityCollided(Entity entity) {
if(getCableType().canKill && entity instanceof EntityLivingBase){
entity.attackEntityFrom(new ElectrialShockSource(), 1F);
getWorld().playSoundAtEntity(entity, "techreborn:cable_shock", 0.6F, 1F);
getWorld().spawnParticle(EnumParticleTypes.CRIT, entity.posX, entity.posY, entity.posZ, 0, 0,0);
}
}
@Override
public void onEntityStanding(Entity entity) {
}
} }

View file

@ -4,23 +4,23 @@ import net.minecraft.util.IStringSerializable;
import techreborn.parts.types.*; import techreborn.parts.types.*;
public enum EnumCableType implements IStringSerializable { public enum EnumCableType implements IStringSerializable {
COPPER("copper", "minecraft:blocks/iron_block", 128, 4.0F, true, CopperCable.class), COPPER("copper", "techreborn:blocks/cables/copper_cable", 128, 12.0, true, CopperCable.class),
TIN("tin", "minecraft:blocks/iron_block", 32, 4.0F, true, TinCable.class), TIN("tin", "minecraft:blocks/iron_block", 32, 4.0, true, TinCable.class),
GOLD("gold", "minecraft:blocks/iron_block", 512, 3.0F, true, GoldCable.class), GOLD("gold", "minecraft:blocks/iron_block", 512, 3.0, true, GoldCable.class),
HV("hv", "minecraft:blocks/iron_block", 2048, 6.0F, true, HVCable.class), HV("hv", "minecraft:blocks/iron_block", 2048, 6.0, true, HVCable.class),
GLASSFIBER("glassfiber", "minecraft:blocks/iron_block", 8192, 4.0F, false, GlassFiberCable.class), GLASSFIBER("glassfiber", "minecraft:blocks/iron_block", 8192, 4.0, false, GlassFiberCable.class),
ICOPPER("insulatedcopper", "minecraft:blocks/iron_block", 128, 6.0F, false, InsulatedCopperCable.class), ICOPPER("insulatedcopper", "techreborn:blocks/cables/copper_insulated_cable", 128, 10.0, false, InsulatedCopperCable.class),
IGOLD("insulatedgold", "minecraft:blocks/iron_block", 512, 6.0F, false, InsulatedGoldCable.class), IGOLD("insulatedgold", "minecraft:blocks/iron_block", 512, 6.0, false, InsulatedGoldCable.class),
IHV("insulatedhv", "minecraft:blocks/iron_block", 2048, 10.0F, false, InsulatedHVCable.class); IHV("insulatedhv", "minecraft:blocks/iron_block", 2048, 10.0, false, InsulatedHVCable.class);
private String friendlyName; private String friendlyName;
public String textureName = "minecraft:blocks/iron_block"; public String textureName = "minecraft:blocks/iron_block";
public int transferRate= 128; public int transferRate= 128;
public float cableThickness = 3.0F; public double cableThickness = 3.0;
public boolean canKill = false; public boolean canKill = false;
public Class<? extends CableMultipart> cableClass; public Class<? extends CableMultipart> cableClass;
EnumCableType(String friendlyName, String textureName, int transferRate, float cableThickness, boolean canKill, Class<? extends CableMultipart> cableClass) { EnumCableType(String friendlyName, String textureName, int transferRate, double cableThickness, boolean canKill, Class<? extends CableMultipart> cableClass) {
this.friendlyName = friendlyName; this.friendlyName = friendlyName;
this.textureName = textureName; this.textureName = textureName;
this.transferRate = transferRate; this.transferRate = transferRate;

View file

@ -14,8 +14,6 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
import reborncore.RebornCore; import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.init.ModItems;
import techreborn.items.ItemTextureBase;
import techreborn.lib.ModInfo; import techreborn.lib.ModInfo;
import java.security.InvalidParameterException; import java.security.InvalidParameterException;
@ -25,19 +23,6 @@ import java.util.List;
* Created by Mark on 27/02/2016. * Created by Mark on 27/02/2016.
*/ */
public class ItemCables extends ItemMultiPart implements ITexturedItem { public class ItemCables extends ItemMultiPart implements ITexturedItem {
public static ItemStack getCableByName(String name, int count) {
for (int i = 0; i < EnumCableType.values().length; i++) {
if (EnumCableType.values()[i].name().equalsIgnoreCase(name)) {
return new ItemStack(TechRebornParts.cables, count, i);
}
}
throw new InvalidParameterException("The cable " + name + " could not be found.");
}
public static ItemStack getCableByName(String name) {
return getCableByName(name, 1);
}
public ItemCables() { public ItemCables() {
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
@ -45,6 +30,7 @@ public class ItemCables extends ItemMultiPart implements ITexturedItem {
setUnlocalizedName("techreborn.cable"); setUnlocalizedName("techreborn.cable");
setNoRepair(); setNoRepair();
RebornCore.jsonDestroyer.registerObject(this); RebornCore.jsonDestroyer.registerObject(this);
ItemStandaloneCables.mcPartCable = this;
} }
@Override @Override

View file

@ -0,0 +1,77 @@
package techreborn.parts;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTab;
import techreborn.items.ItemTR;
import techreborn.items.ItemTextureBase;
import techreborn.lib.ModInfo;
import java.security.InvalidParameterException;
import java.util.List;
/**
* Created by Mark on 06/03/2016.
*/
public class ItemStandaloneCables extends ItemTextureBase {
public static Item mcPartCable;
public static ItemStack getCableByName(String name, int count) {
for (int i = 0; i < EnumCableType.values().length; i++) {
if (EnumCableType.values()[i].getName().equalsIgnoreCase(name)) {
return new ItemStack(mcPartCable != null? mcPartCable : StandalonePartCompact.itemStandaloneCable, count, i);
}
}
throw new InvalidParameterException("The cable " + name + " could not be found.");
}
public static ItemStack getCableByName(String name) {
return getCableByName(name, 1);
}
public ItemStandaloneCables() {
setCreativeTab(TechRebornCreativeTab.instance);
setHasSubtypes(true);
setUnlocalizedName("techreborn.cable");
setNoRepair();
RebornCore.jsonDestroyer.registerObject(this);
}
@Override
// gets Unlocalized Name depending on meta data
public String getUnlocalizedName(ItemStack itemStack) {
int meta = itemStack.getItemDamage();
if (meta < 0 || meta >= EnumCableType.values().length) {
meta = 0;
}
return super.getUnlocalizedName() + "." + EnumCableType.values()[meta];
}
// Adds Dusts SubItems To Creative Tab
public void getSubItems(Item item, CreativeTabs creativeTabs, List list) {
for (int meta = 0; meta < EnumCableType.values().length; ++meta) {
list.add(new ItemStack(item, 1, meta));
}
}
@Override
public String getTextureName(int damage) {
return ModInfo.MOD_ID + ":items/cables/" + EnumCableType.values()[damage];
}
@Override
public int getMaxMeta() {
return EnumCableType.values().length;
}
@Override
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
}

View file

@ -0,0 +1,37 @@
package techreborn.parts;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import techreborn.compat.ICompatModule;
/**
* Created by Mark on 06/03/2016.
*/
public class StandalonePartCompact implements ICompatModule {
public static ItemStandaloneCables itemStandaloneCable;
@Override
public void preInit(FMLPreInitializationEvent event) {
}
@Override
public void init(FMLInitializationEvent event) {
itemStandaloneCable = new ItemStandaloneCables();
GameRegistry.registerItem(itemStandaloneCable, "cables");
}
@Override
public void postInit(FMLPostInitializationEvent event) {
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
}

View file

@ -24,7 +24,8 @@ public class ClientProxy extends CommonProxy {
MinecraftForge.EVENT_BUS.register(new VersionCheckerClient()); MinecraftForge.EVENT_BUS.register(new VersionCheckerClient());
MinecraftForge.EVENT_BUS.register(new StackToolTipEvent()); MinecraftForge.EVENT_BUS.register(new StackToolTipEvent());
multiblockRenderEvent = new MultiblockRenderEvent(); multiblockRenderEvent = new MultiblockRenderEvent();
MinecraftForge.EVENT_BUS.register(multiblockRenderEvent); //MinecraftForge.EVENT_BUS.register(multiblockRenderEvent);
//TODO FIX ME
ClientRegistry.registerKeyBinding(KeyBindings.config); ClientRegistry.registerKeyBinding(KeyBindings.config);
ClientMultiBlocks.init(); ClientMultiBlocks.init();
} }

View file

@ -0,0 +1,349 @@
package techreborn.tiles;
import ic2.api.tile.IWrenchable;
import net.minecraft.block.Block;
import net.minecraft.block.BlockFurnace;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.item.ItemTool;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IChatComponent;
import net.minecraft.util.MathHelper;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.tile.TileMachineBase;
import reborncore.common.util.Inventory;
import reborncore.common.util.ItemUtils;
import techreborn.api.recipe.IBaseRecipeType;
import techreborn.api.recipe.RecipeHandler;
import techreborn.init.ModBlocks;
import techreborn.lib.Reference;
public class TileIronFurnace extends TileMachineBase implements IInventory {
public int tickTime;
public Inventory inventory = new Inventory(3, "TileIronFurnace", 64, this);
int input1 = 0;
int output = 1;
int fuelslot = 2;
boolean active = false;
public int fuel;
public int fuelGague;
public int progress;
public int fuelScale = 200;
public int gaugeProgressScaled (int scale)
{
return (progress * scale) / fuelScale;
}
public int gaugeFuelScaled (int scale)
{
if (fuelGague == 0)
{
fuelGague = fuel;
if (fuelGague == 0)
{
fuelGague = fuelScale;
}
}
return (fuel * scale) / fuelGague;
}
@Override
public void updateEntity ()
{
boolean burning = isBurning();
boolean updateInventory = false;
if (fuel <= 0 && canSmelt())
{
fuel = fuelGague = (int) (getItemBurnTime(getStackInSlot(fuelslot)));
if (fuel > 0)
{
if (getStackInSlot(fuelslot).getItem().hasContainerItem()) // Fuel slot
{
setInventorySlotContents(fuelslot, new ItemStack(getStackInSlot(fuelslot).getItem().getContainerItem()));
}
else if(getStackInSlot(fuelslot).stackSize > 1)
{
decrStackSize(fuelslot, 1);
}
else if (getStackInSlot(fuelslot).stackSize == 1)
{
setInventorySlotContents(fuelslot, null);
}
updateInventory = true;
}
}
if (isBurning() && canSmelt())
{
updateState();
progress++;
if (progress >= fuelScale)
{
progress = 0;
cookItems();
updateInventory = true;
}
}
else
{
progress = 0;
updateState();
}
if (fuel > 0)
{
fuel--;
}
if (burning != isBurning())
{
this.active = true;
updateInventory = true;
}
if (updateInventory)
{
markDirty();
}
}
public void cookItems ()
{
if (this.canSmelt())
{
ItemStack itemstack = FurnaceRecipes.instance().getSmeltingResult(getStackInSlot(input1));
if (getStackInSlot(output) == null)
{
setInventorySlotContents(output, itemstack.copy());
}
else if (getStackInSlot(output).isItemEqual(itemstack))
{
getStackInSlot(output).stackSize += itemstack.stackSize;
}
if(getStackInSlot(input1).stackSize > 1)
{
this.decrStackSize(input1, 1);
}
else
{
setInventorySlotContents(input1, null);
}
}
}
public boolean canSmelt ()
{
if (getStackInSlot(input1) == null)
{
return false;
}
else
{
ItemStack itemstack = FurnaceRecipes.instance().getSmeltingResult(getStackInSlot(input1));
if (itemstack == null)
return false;
if (getStackInSlot(output) == null)
return true;
if (!getStackInSlot(output).isItemEqual(itemstack))
return false;
int result = getStackInSlot(output).stackSize + itemstack.stackSize;
return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize());
}
}
public boolean isBurning ()
{
return fuel > 0;
}
public ItemStack getResultFor (ItemStack stack)
{
ItemStack result = FurnaceRecipes.instance().getSmeltingResult(stack);
if (result != null)
{
return result.copy();
}
return null;
}
public static int getItemBurnTime (ItemStack stack)
{
if (stack == null)
{
return 0;
}
else
{
Item item = stack.getItem();
if (stack.getItem() instanceof ItemBlock && Block.getBlockFromItem(item) != null)
{
Block block = Block.getBlockFromItem(item);
if (block == Blocks.wooden_slab)
{
return 150;
}
if (block == Blocks.log)
{
return 1200;
}
if (block.getMaterial() == Material.wood)
{
return 300;
}
if (block == Blocks.coal_block)
{
return 16000;
}
}
if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD"))
return 200;
if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD"))
return 200;
if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD"))
return 200;
if (item == Items.stick)
return 100;
if (item == Items.coal)
return 1600;
if (item == Items.lava_bucket)
return 20000;
if (item == new ItemStack(Blocks.sapling).getItem())
return 100;
if (item == Items.blaze_rod)
return 2400;
return GameRegistry.getFuelValue(stack);
}
}
public void updateState(){
IBlockState blockState = worldObj.getBlockState(pos);
if(blockState.getBlock() instanceof BlockMachineBase){
BlockMachineBase blockMachineBase = (BlockMachineBase) blockState.getBlock();
if(blockState.getValue(BlockMachineBase.ACTIVE) != progress > 0)
blockMachineBase.setActive(progress > 0, worldObj, pos);
}
}
@Override
public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public int getSizeInventory() {
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int slot) {
return inventory.getStackInSlot(slot);
}
@Override
public ItemStack decrStackSize(int slot, int amount) {
return inventory.decrStackSize(slot, amount);
}
@Override
public ItemStack removeStackFromSlot(int slot) {
return inventory.removeStackFromSlot(slot);
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
inventory.setInventorySlotContents(slot, stack);
}
@Override
public int getInventoryStackLimit() {
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
return inventory.isUseableByPlayer(player);
}
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
return inventory.isItemValidForSlot(slot, stack);
}
@Override
public void openInventory(EntityPlayer player) {
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player) {
inventory.closeInventory(player);
}
@Override
public int getField(int id) {
return inventory.getField(id);
}
@Override
public void setField(int id, int value) {
inventory.setField(id, value);
}
@Override
public int getFieldCount() {
return inventory.getFieldCount();
}
@Override
public void clear() {
inventory.clear();
}
@Override
public String getName() {
return inventory.getName();
}
@Override
public boolean hasCustomName() {
return inventory.hasCustomName();
}
@Override
public IChatComponent getDisplayName() {
return inventory.getDisplayName();
}
}

View file

@ -5,6 +5,7 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.IChatComponent; import net.minecraft.util.IChatComponent;
@ -140,7 +141,7 @@ public class TileGenerator extends TilePowerAcceptor implements IWrenchable, IIn
@Override @Override
public double getMaxPower() { public double getMaxPower() {
return ConfigTechReborn.ThermalGeneratorCharge; return 10000;
} }
@Override @Override
@ -213,5 +214,16 @@ public class TileGenerator extends TilePowerAcceptor implements IWrenchable, IIn
public ItemStack getWrenchDrop(EntityPlayer p0) { public ItemStack getWrenchDrop(EntityPlayer p0) {
return new ItemStack(ModBlocks.Generator); return new ItemStack(ModBlocks.Generator);
} }
@Override
public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
} }

View file

@ -62,7 +62,7 @@ public class TileCompressor extends TilePowerAcceptor implements IWrenchable, II
@Override @Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.AlloySmelter, 1); return new ItemStack(ModBlocks.Compressor, 1);
} }
public boolean isComplete() { public boolean isComplete() {
@ -83,15 +83,6 @@ public class TileCompressor extends TilePowerAcceptor implements IWrenchable, II
crafter.writeToNBT(tagCompound); crafter.writeToNBT(tagCompound);
} }
// @Override
// public void addWailaInfo(List<String> info){
// super.addWailaInfo(info);
// info.add("Power Stored " + energy.getEnergyStored() + "/" + energy.getCapacity() +" EU");
// if(crafter.currentRecipe !=null){
// info.add("Power Usage " + crafter.currentRecipe.euPerTick() + " EU/t");
// }
// }
@Override @Override
public int getSizeInventory() { public int getSizeInventory() {
return inventory.getSizeInventory(); return inventory.getSizeInventory();

View file

@ -1,33 +1,148 @@
package techreborn.tiles.teir1; package techreborn.tiles.teir1;
import ic2.api.tile.IWrenchable; import ic2.api.tile.IWrenchable;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory; import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.IChatComponent; import net.minecraft.util.IChatComponent;
import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.powerSystem.TilePowerAcceptor; import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.Inventory; import reborncore.common.util.Inventory;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
public class TileElectricFurnace extends TilePowerAcceptor implements IWrenchable, IInventory, ISidedInventory{ public class TileElectricFurnace extends TilePowerAcceptor implements IWrenchable, IInventory, ISidedInventory {
public Inventory inventory = new Inventory(6, "TileElectricFurnace", 64, this); public Inventory inventory = new Inventory(6, "TileElectricFurnace", 64, this);
int input1 = 0;
int output = 1;
public int capacity = 1000; public int capacity = 1000;
public int progress;
public int fuelScale = 100;
public int cost = 10;
public TileElectricFurnace() { public TileElectricFurnace() {
super(1); super(1);
} }
@Override public int gaugeProgressScaled (int scale)
public void updateEntity()
{ {
super.updateEntity(); return (progress * scale) / fuelScale;
if(!worldObj.isRemote) }
@Override
public void updateEntity ()
{
boolean burning = isBurning();
boolean updateInventory = false;
if (getEnergy() <= cost && canSmelt())
{ {
if (getEnergy() > cost)
{
updateInventory = true;
}
}
if (isBurning() && canSmelt())
{
updateState();
progress++;
if (progress >= fuelScale)
{
progress = 0;
cookItems();
updateInventory = true;
}
}
else
{
progress = 0;
updateState();
}
if (burning != isBurning())
{
updateInventory = true;
}
if (updateInventory)
{
markDirty();
}
}
public void cookItems ()
{
if (this.canSmelt())
{
ItemStack itemstack = FurnaceRecipes.instance().getSmeltingResult(getStackInSlot(input1));
if (getStackInSlot(output) == null)
{
useEnergy(cost);
setInventorySlotContents(output, itemstack.copy());
}
else if (getStackInSlot(output).isItemEqual(itemstack))
{
useEnergy(cost);
getStackInSlot(output).stackSize += itemstack.stackSize;
}
if(getStackInSlot(input1).stackSize > 1)
{
useEnergy(cost);
this.decrStackSize(input1, 1);
}
else
{
useEnergy(cost);
setInventorySlotContents(input1, null);
}
}
}
public boolean canSmelt ()
{
if (getStackInSlot(input1) == null)
{
return false;
}
else
{
ItemStack itemstack = FurnaceRecipes.instance().getSmeltingResult(getStackInSlot(input1));
if (itemstack == null)
return false;
if (getStackInSlot(output) == null)
return true;
if (!getStackInSlot(output).isItemEqual(itemstack))
return false;
int result = getStackInSlot(output).stackSize + itemstack.stackSize;
return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize());
}
}
public boolean isBurning ()
{
return getEnergy() > cost;
}
public ItemStack getResultFor (ItemStack stack)
{
ItemStack result = FurnaceRecipes.instance().getSmeltingResult(stack);
if (result != null)
{
return result.copy();
}
return null;
}
public void updateState(){
IBlockState blockState = worldObj.getBlockState(pos);
if(blockState.getBlock() instanceof BlockMachineBase){
BlockMachineBase blockMachineBase = (BlockMachineBase) blockState.getBlock();
if(blockState.getValue(BlockMachineBase.ACTIVE) != progress > 0)
blockMachineBase.setActive(progress > 0, worldObj, pos);
} }
} }
@ -67,25 +182,14 @@ public class TileElectricFurnace extends TilePowerAcceptor implements IWrenchabl
public void readFromNBT(NBTTagCompound tagCompound) { public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound); super.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound); inventory.readFromNBT(tagCompound);
// crafter.readFromNBT(tagCompound);
} }
@Override @Override
public void writeToNBT(NBTTagCompound tagCompound) { public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound); super.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound); inventory.writeToNBT(tagCompound);
// crafter.writeToNBT(tagCompound);
} }
// @Override
// public void addWailaInfo(List<String> info){
// super.addWailaInfo(info);
// info.add("Power Stored " + energy.getEnergyStored() + "/" + energy.getCapacity() +" EU");
// if(crafter.currentRecipe !=null){
// info.add("Power Usage " + crafter.currentRecipe.euPerTick() + " EU/t");
// }
// }
@Override @Override
public int getSizeInventory() { public int getSizeInventory() {
return inventory.getSizeInventory(); return inventory.getSizeInventory();
@ -146,13 +250,6 @@ public class TileElectricFurnace extends TilePowerAcceptor implements IWrenchabl
return slotIndex == 2; return slotIndex == 2;
} }
// public int getProgressScaled(int scale) {
// if (crafter.currentTickTime != 0) {
// return crafter.currentTickTime * scale / crafter.currentNeededTicks;
// }
// return 0;
// }
@Override @Override
public double getMaxPower() { public double getMaxPower() {
return capacity; return capacity;

View file

@ -62,7 +62,7 @@ public class TileExtractor extends TilePowerAcceptor implements IWrenchable, IIn
@Override @Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.AlloySmelter, 1); return new ItemStack(ModBlocks.Extractor, 1);
} }
public boolean isComplete() { public boolean isComplete() {
@ -83,15 +83,6 @@ public class TileExtractor extends TilePowerAcceptor implements IWrenchable, IIn
crafter.writeToNBT(tagCompound); crafter.writeToNBT(tagCompound);
} }
// @Override
// public void addWailaInfo(List<String> info){
// super.addWailaInfo(info);
// info.add("Power Stored " + energy.getEnergyStored() + "/" + energy.getCapacity() +" EU");
// if(crafter.currentRecipe !=null){
// info.add("Power Usage " + crafter.currentRecipe.euPerTick() + " EU/t");
// }
// }
@Override @Override
public int getSizeInventory() { public int getSizeInventory() {
return inventory.getSizeInventory(); return inventory.getSizeInventory();

View file

@ -33,7 +33,6 @@ public class TileGrinder extends TilePowerAcceptor implements IWrenchable, IInve
public void updateEntity() { public void updateEntity() {
super.updateEntity(); super.updateEntity();
crafter.updateEntity(); crafter.updateEntity();
// upgrades.tick();
charge(3); charge(3);
} }
@ -62,7 +61,7 @@ public class TileGrinder extends TilePowerAcceptor implements IWrenchable, IInve
@Override @Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.AlloySmelter, 1); return new ItemStack(ModBlocks.Grinder, 1);
} }
public boolean isComplete() { public boolean isComplete() {
@ -83,15 +82,6 @@ public class TileGrinder extends TilePowerAcceptor implements IWrenchable, IInve
crafter.writeToNBT(tagCompound); crafter.writeToNBT(tagCompound);
} }
// @Override
// public void addWailaInfo(List<String> info){
// super.addWailaInfo(info);
// info.add("Power Stored " + energy.getEnergyStored() + "/" + energy.getCapacity() +" EU");
// if(crafter.currentRecipe !=null){
// info.add("Power Usage " + crafter.currentRecipe.euPerTick() + " EU/t");
// }
// }
@Override @Override
public int getSizeInventory() { public int getSizeInventory() {
return inventory.getSizeInventory(); return inventory.getSizeInventory();

View file

@ -0,0 +1,12 @@
package techreborn.utils.damageSources;
import net.minecraft.util.DamageSource;
/**
* Created by mark on 06/03/2016.
*/
public class ElectrialShockSource extends DamageSource {
public ElectrialShockSource() {
super("shock");
}
}

View file

@ -0,0 +1,12 @@
package techreborn.utils.damageSources;
import net.minecraft.util.DamageSource;
/**
* Created by Mark on 05/03/2016.
*/
public class FusionDamageSource extends DamageSource {
public FusionDamageSource() {
super("fusion");
}
}

View file

@ -67,6 +67,7 @@ tile.techreborn.storage2.tin.name=Tin Block
tile.techreborn.solarpanel.name=Solar panel tile.techreborn.solarpanel.name=Solar panel
tile.techreborn.watermill.name=Water Mill tile.techreborn.watermill.name=Water Mill
tile.techreborn.windmill.name=Wind Mill tile.techreborn.windmill.name=Wind Mill
tile.techreborn.ironfurnace.name=Iron Furnace
#Blocks #Blocks
tile.techreborn.rubberlog.name=Rubber Wood tile.techreborn.rubberlog.name=Rubber Wood
@ -268,6 +269,18 @@ item.techreborn.dust.zinc.name=Zinc Dust
item.techreborn.dust.galena.name=Galena Dust item.techreborn.dust.galena.name=Galena Dust
item.techreborn.dust.greenSapphire.name=Green Sapphire Dust item.techreborn.dust.greenSapphire.name=Green Sapphire Dust
item.techreborn.dust.sawDust.name=Saw Dust item.techreborn.dust.sawDust.name=Saw Dust
item.techreborn.lapotroncrystal.name=Lapotron Crystal
item.techreborn.energycrystal.name=Energy Crystal
item.techreborn.ingot.refinediron.name=Refined Iron
item.techreborn.wrench.name=Wrench
item.techreborn.cable.COPPER.name=Copper Cable
item.techreborn.cable.TIN.name=Tin Cable
item.techreborn.cable.GOLD.name=Gold Cable
item.techreborn.cable.HV.name=HV Cable
item.techreborn.cable.GLASSFIBER.name=Glass Fiber Cable
item.techreborn.cable.ICOPPER.name=Insulated Copper Cable
item.techreborn.cable.IGOLD.name=Insulated Gold Cable
item.techreborn.cable.IHV.name=Insulated HV Cable
#Small Dusts #Small Dusts

View file

@ -1,4 +1,5 @@
{ {
"sap_extract": { "category": "block", "sounds":["sap_extract"] }, "sap_extract": { "category": "block", "sounds":["sap_extract"] },
"block_dismantle": { "category": "block", "sounds":["block_dismantle"] } "block_dismantle": { "category": "block", "sounds":["block_dismantle"] },
"cable_shock": { "category": "block", "sounds":["cable_shock"] }
} }