Added check for config for block break with pickaxe. Closes #1172
This commit is contained in:
parent
ffe13d0c79
commit
40e470629d
25 changed files with 188 additions and 121 deletions
|
@ -24,19 +24,20 @@
|
|||
|
||||
package techreborn.blocks.storage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import reborncore.common.RebornCoreConfig;
|
||||
import techreborn.client.EGui;
|
||||
import techreborn.init.ModBlocks;
|
||||
import techreborn.tiles.storage.TileAdjustableSU;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BlockAdjustableSU extends BlockEnergyStorage {
|
||||
public BlockAdjustableSU() {
|
||||
super("AESU", EGui.AESU.ordinal());
|
||||
|
@ -46,11 +47,18 @@ public class BlockAdjustableSU extends BlockEnergyStorage {
|
|||
public TileEntity createNewTileEntity(final World world, final int p_149915_2_) {
|
||||
return new TileAdjustableSU();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(final IBlockAccess world, final BlockPos pos, final IBlockState state, final int fortune) {
|
||||
final ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 2));
|
||||
return list;
|
||||
List<ItemStack> items = new ArrayList<ItemStack>();
|
||||
|
||||
if (RebornCoreConfig.wrenchRequired){
|
||||
items.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 2));
|
||||
}
|
||||
else {
|
||||
items.add(new ItemStack(this));
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,17 +32,22 @@ import net.minecraft.block.state.BlockStateContainer;
|
|||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import prospector.shootingstar.ShootingStar;
|
||||
import prospector.shootingstar.model.ModelCompound;
|
||||
import reborncore.api.IToolDrop;
|
||||
import reborncore.api.IToolHandler;
|
||||
import reborncore.common.BaseTileBlock;
|
||||
import techreborn.Core;
|
||||
import techreborn.client.TechRebornCreativeTab;
|
||||
import techreborn.init.ModSounds;
|
||||
import techreborn.lib.ModInfo;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
@ -69,10 +74,28 @@ public abstract class BlockEnergyStorage extends BaseTileBlock {
|
|||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand,
|
||||
EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
ItemStack heldStack = player.getHeldItem(hand);
|
||||
if(heldStack.getItem() instanceof IToolHandler){
|
||||
if(((IToolHandler) heldStack.getItem()).handleTool(heldStack, pos, world, player, side, true)){
|
||||
if (state.getBlock() instanceof BlockEnergyStorage) {
|
||||
ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
|
||||
if(!stack.isEmpty() && stack.getItem() instanceof IToolHandler){
|
||||
IToolHandler toolHandler = (IToolHandler) stack.getItem();
|
||||
if(toolHandler.handleTool(stack, pos, world, player, side, true) && state.getBlock() instanceof BlockEnergyStorage){
|
||||
if (player.isSneaking()) {
|
||||
TileEntity tileEntity = world.getTileEntity(pos);
|
||||
if (tileEntity instanceof IToolDrop) {
|
||||
ItemStack drop = ((IToolDrop) tileEntity).getToolDrop(player);
|
||||
if (drop == null) {
|
||||
return false;
|
||||
}
|
||||
if (!drop.isEmpty()) {
|
||||
spawnAsEntity(world, pos, drop);
|
||||
}
|
||||
world.playSound(null, player.posX, player.posY, player.posZ, ModSounds.BLOCK_DISMANTLE,
|
||||
SoundCategory.BLOCKS, 0.6F, 1F);
|
||||
if (!world.isRemote) {
|
||||
world.setBlockState(pos, Blocks.AIR.getDefaultState(), 2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
EnumFacing facing2 = state.getValue(BlockEnergyStorage.FACING);
|
||||
if (facing2.getOpposite() == side) {
|
||||
facing2 = side;
|
||||
|
@ -83,11 +106,11 @@ public abstract class BlockEnergyStorage extends BaseTileBlock {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!player.isSneaking())
|
||||
} else if (!player.isSneaking()){
|
||||
player.openGui(Core.INSTANCE, guiID, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onBlockActivated(world, pos, state, player, hand, side, hitX, hitY, hitZ);
|
||||
}
|
||||
|
||||
protected BlockStateContainer createBlockState() {
|
||||
|
|
|
@ -24,19 +24,20 @@
|
|||
|
||||
package techreborn.blocks.storage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import reborncore.common.RebornCoreConfig;
|
||||
import techreborn.client.EGui;
|
||||
import techreborn.init.ModBlocks;
|
||||
import techreborn.tiles.storage.TileHighVoltageSU;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by modmuss50 on 14/03/2016.
|
||||
*/
|
||||
|
@ -50,11 +51,18 @@ public class BlockHighVoltageSU extends BlockEnergyStorage {
|
|||
public TileEntity createNewTileEntity(final World world, final int p_149915_2_) {
|
||||
return new TileHighVoltageSU();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(final IBlockAccess world, final BlockPos pos, final IBlockState state, final int fortune) {
|
||||
final ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 1));
|
||||
return list;
|
||||
List<ItemStack> items = new ArrayList<ItemStack>();
|
||||
|
||||
if (RebornCoreConfig.wrenchRequired){
|
||||
items.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 1));
|
||||
}
|
||||
else {
|
||||
items.add(new ItemStack(this));
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,14 +30,10 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import techreborn.client.EGui;
|
||||
import techreborn.tiles.idsu.TileInterdimensionalSU;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BlockInterdimensionalSU extends BlockEnergyStorage {
|
||||
public BlockInterdimensionalSU() {
|
||||
super("IDSU", EGui.IDSU.ordinal());
|
||||
|
@ -58,13 +54,6 @@ public class BlockInterdimensionalSU extends BlockEnergyStorage {
|
|||
return this.getDefaultState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(final IBlockAccess world, final BlockPos pos, final IBlockState state, final int fortune) {
|
||||
final ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(this, 1, 2));
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
|
||||
super.onBlockPlacedBy(world, pos, state, placer, stack);
|
||||
|
|
|
@ -45,7 +45,6 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
public class BlockLSUStorage extends BaseTileBlock {
|
||||
;
|
||||
|
||||
public BlockLSUStorage() {
|
||||
super(Material.IRON);
|
||||
|
|
|
@ -24,18 +24,11 @@
|
|||
|
||||
package techreborn.blocks.storage;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import techreborn.client.EGui;
|
||||
import techreborn.tiles.lesu.TileLapotronicSU;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BlockLapotronicSU extends BlockEnergyStorage {
|
||||
public BlockLapotronicSU() {
|
||||
super("LESU", EGui.LESU.ordinal());
|
||||
|
@ -45,11 +38,4 @@ public class BlockLapotronicSU extends BlockEnergyStorage {
|
|||
public TileEntity createNewTileEntity(final World world, final int p_149915_2_) {
|
||||
return new TileLapotronicSU();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(final IBlockAccess world, final BlockPos pos, final IBlockState state, final int fortune) {
|
||||
final ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(this, 1, 2));
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,18 +24,11 @@
|
|||
|
||||
package techreborn.blocks.storage;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import techreborn.client.EGui;
|
||||
import techreborn.tiles.storage.TileLowVoltageSU;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by modmuss50 on 14/03/2016.
|
||||
*/
|
||||
|
@ -48,11 +41,4 @@ public class BlockLowVoltageSU extends BlockEnergyStorage {
|
|||
public TileEntity createNewTileEntity(final World world, final int p_149915_2_) {
|
||||
return new TileLowVoltageSU();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(final IBlockAccess world, final BlockPos pos, final IBlockState state, final int fortune) {
|
||||
final ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(this));
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,19 +24,20 @@
|
|||
|
||||
package techreborn.blocks.storage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import reborncore.common.RebornCoreConfig;
|
||||
import techreborn.client.EGui;
|
||||
import techreborn.init.ModBlocks;
|
||||
import techreborn.tiles.storage.TileMediumVoltageSU;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by modmuss50 on 14/03/2016.
|
||||
*/
|
||||
|
@ -49,11 +50,18 @@ public class BlockMediumVoltageSU extends BlockEnergyStorage {
|
|||
public TileEntity createNewTileEntity(final World world, final int p_149915_2_) {
|
||||
return new TileMediumVoltageSU();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(final IBlockAccess world, final BlockPos pos, final IBlockState state, final int fortune) {
|
||||
final ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 0, 1));
|
||||
return list;
|
||||
List<ItemStack> items = new ArrayList<ItemStack>();
|
||||
|
||||
if (RebornCoreConfig.wrenchRequired){
|
||||
items.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 0));
|
||||
}
|
||||
else {
|
||||
items.add(new ItemStack(this));
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,18 +24,19 @@
|
|||
|
||||
package techreborn.blocks.transformers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import reborncore.common.RebornCoreConfig;
|
||||
import techreborn.init.ModBlocks;
|
||||
import techreborn.tiles.transformers.TileHVTransformer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by modmuss50 on 16/03/2016.
|
||||
*/
|
||||
|
@ -49,12 +50,17 @@ public class BlockHVTransformer extends BlockTransformer {
|
|||
public TileEntity createNewTileEntity(World world, int p_149915_2_) {
|
||||
return new TileHVTransformer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 1));
|
||||
return list;
|
||||
public List<ItemStack> getDrops(final IBlockAccess world, final BlockPos pos, final IBlockState state, final int fortune) {
|
||||
List<ItemStack> items = new ArrayList<ItemStack>();
|
||||
|
||||
if (RebornCoreConfig.wrenchRequired){
|
||||
items.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 1));
|
||||
}
|
||||
else {
|
||||
items.add(new ItemStack(this));
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -24,17 +24,10 @@
|
|||
|
||||
package techreborn.blocks.transformers;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import techreborn.tiles.transformers.TileLVTransformer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by modmuss50 on 16/03/2016.
|
||||
*/
|
||||
|
@ -48,11 +41,4 @@ public class BlockLVTransformer extends BlockTransformer {
|
|||
public TileEntity createNewTileEntity(World world, int p_149915_2_) {
|
||||
return new TileLVTransformer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(this, 1, 0));
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,18 +24,19 @@
|
|||
|
||||
package techreborn.blocks.transformers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import reborncore.common.RebornCoreConfig;
|
||||
import techreborn.init.ModBlocks;
|
||||
import techreborn.tiles.transformers.TileMVTransformer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by modmuss50 on 16/03/2016.
|
||||
*/
|
||||
|
@ -49,11 +50,18 @@ public class BlockMVTransformer extends BlockTransformer {
|
|||
public TileEntity createNewTileEntity(World world, int p_149915_2_) {
|
||||
return new TileMVTransformer();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
ArrayList<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 0));
|
||||
return list;
|
||||
}
|
||||
public List<ItemStack> getDrops(final IBlockAccess world, final BlockPos pos, final IBlockState state, final int fortune) {
|
||||
List<ItemStack> items = new ArrayList<ItemStack>();
|
||||
|
||||
if (RebornCoreConfig.wrenchRequired){
|
||||
items.add(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 0));
|
||||
}
|
||||
else {
|
||||
items.add(new ItemStack(this));
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,19 +33,26 @@ import net.minecraft.block.properties.PropertyDirection;
|
|||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fluids.BlockFluidBase;
|
||||
import prospector.shootingstar.ShootingStar;
|
||||
import prospector.shootingstar.model.ModelCompound;
|
||||
import reborncore.api.IToolDrop;
|
||||
import reborncore.api.IToolHandler;
|
||||
import reborncore.common.BaseTileBlock;
|
||||
import techreborn.client.TechRebornCreativeTab;
|
||||
import techreborn.init.ModSounds;
|
||||
import techreborn.lib.ModInfo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -114,7 +121,47 @@ public abstract class BlockTransformer extends BaseTileBlock {
|
|||
}
|
||||
setFacing(facing, worldIn, pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand,
|
||||
EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
|
||||
if(!stack.isEmpty() && stack.getItem() instanceof IToolHandler){
|
||||
IToolHandler toolHandler = (IToolHandler) stack.getItem();
|
||||
if(toolHandler.handleTool(stack, pos, world, player, side, true) && state.getBlock() instanceof BlockTransformer){
|
||||
if (player.isSneaking()) {
|
||||
TileEntity tileEntity = world.getTileEntity(pos);
|
||||
if (tileEntity instanceof IToolDrop) {
|
||||
ItemStack drop = ((IToolDrop) tileEntity).getToolDrop(player);
|
||||
if (drop == null) {
|
||||
return false;
|
||||
}
|
||||
if (!drop.isEmpty()) {
|
||||
spawnAsEntity(world, pos, drop);
|
||||
}
|
||||
world.playSound(null, player.posX, player.posY, player.posZ, ModSounds.BLOCK_DISMANTLE,
|
||||
SoundCategory.BLOCKS, 0.6F, 1F);
|
||||
if (!world.isRemote) {
|
||||
world.setBlockState(pos, Blocks.AIR.getDefaultState(), 2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
EnumFacing facing2 = state.getValue(BlockTransformer.FACING);
|
||||
if (facing2.getOpposite() == side) {
|
||||
facing2 = side;
|
||||
} else {
|
||||
facing2 = side.getOpposite();
|
||||
}
|
||||
world.setBlockState(pos, state.withProperty(BlockTransformer.FACING, facing2));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return super.onBlockActivated(world, pos, state, player, hand, side, hitX, hitY, hitZ);
|
||||
}
|
||||
|
||||
protected List<ItemStack> dropInventory(IBlockAccess world, BlockPos pos, ItemStack itemToDrop) {
|
||||
TileEntity tileEntity = world.getTileEntity(pos);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue