Right click the fusion control computer with coils to autoplace them.

This commit is contained in:
modmuss50 2018-04-18 15:07:28 +01:00
parent d94eb03a06
commit 10106715d3
2 changed files with 24 additions and 1 deletions

View file

@ -27,6 +27,7 @@ package techreborn.blocks;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
@ -36,12 +37,16 @@ import prospector.shootingstar.ShootingStar;
import prospector.shootingstar.model.ModelCompound;
import reborncore.api.tile.IMachineGuiHandler;
import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.util.Torus;
import techreborn.client.EGui;
import techreborn.client.TechRebornCreativeTab;
import techreborn.init.ModBlocks;
import techreborn.lib.ModInfo;
import techreborn.tiles.fusionReactor.TileFusionControlComputer;
import techreborn.utils.damageSources.FusionDamageSource;
import java.util.List;
public class BlockFusionControlComputer extends BlockMachineBase {
public BlockFusionControlComputer() {
@ -55,6 +60,24 @@ public class BlockFusionControlComputer extends BlockMachineBase {
final EntityPlayer player, final EnumHand hand, final EnumFacing side,
final float hitX, final float hitY, final float hitZ) {
final TileFusionControlComputer tileFusionControlComputer = (TileFusionControlComputer) world.getTileEntity(pos);
if(!player.getHeldItem(hand).isEmpty() && player.getHeldItem(hand).getItem() == Item.getItemFromBlock(ModBlocks.FUSION_COIL)){
List<BlockPos> coils = Torus.generate(tileFusionControlComputer.getPos(), tileFusionControlComputer.size);
boolean placed = false;
for(BlockPos coil : coils){
if(player.getHeldItem(hand).isEmpty()){
return true;
}
if(world.isAirBlock(coil) && !tileFusionControlComputer.isCoil(coil)){
world.setBlockState(coil, ModBlocks.FUSION_COIL.getDefaultState());
player.getHeldItem(hand).shrink(1);
placed = true;
}
}
if(placed){
return true;
}
}
tileFusionControlComputer.checkCoils();
return super.onBlockActivated(world, pos, state, player, hand, side, hitX, hitY, hitZ);
}

View file

@ -99,7 +99,7 @@ public class TileFusionControlComputer extends TilePowerAcceptor
* @param pos coordinate for block
* @return boolean Returns true if block is fusion coil
*/
private boolean isCoil(final BlockPos pos) {
public boolean isCoil(final BlockPos pos) {
return this.world.getBlockState(pos).getBlock() == ModBlocks.FUSION_COIL;
}