Fixed CTM version of LESU Storage.

This commit is contained in:
drcrazy 2017-11-10 01:21:59 +03:00
parent 5bfe649360
commit 41dd0468e6
4 changed files with 57 additions and 20 deletions

View file

@ -95,9 +95,8 @@ public class Core {
worldGen = new TechRebornWorldGen();
worldGen.configFile = (new File(configDir, "ores.json"));
CommonProxy.isChiselAround = Loader.isModLoaded("ctm");
TechRebornAPI.subItemRetriever = new SubItemRetriever();
//Recheck here because things break at times
// Register ModBlocks
ModBlocks.init();
// Register Fluids

View file

@ -30,53 +30,72 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import prospector.shootingstar.ShootingStar;
import prospector.shootingstar.model.ModelCompound;
import reborncore.common.BaseTileBlock;
import techreborn.Core;
import techreborn.client.TechRebornCreativeTab;
import techreborn.lib.ModInfo;
import techreborn.tiles.lesu.TileLSUStorage;
import java.util.ArrayList;
import java.util.List;
/**
* Energy storage block for LESU
*/
public class BlockLSUStorage extends BaseTileBlock {
/**
*
*/
public BlockLSUStorage() {
super(Material.IRON);
setCreativeTab(TechRebornCreativeTab.instance);
if (Core.proxy.isCTMAvailable()) {
ShootingStar.registerModel(new ModelCompound(ModInfo.MOD_ID, this, "machines/energy/ctm"));
} else {
ShootingStar.registerModel(new ModelCompound(ModInfo.MOD_ID, this, "machines/energy"));
}
ShootingStar.registerModel(new ModelCompound(ModInfo.MOD_ID, this, "machines/energy"));
}
/**
* Called by ItemBlocks after a block is set in the world, to allow post-place logic
*/
@Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack itemstack) {
super.onBlockPlacedBy(world, pos, state, player, itemstack);
if (world.getTileEntity(pos) instanceof TileLSUStorage) {
((TileLSUStorage) world.getTileEntity(pos)).rebuildNetwork();
TileLSUStorage tile = (TileLSUStorage) world.getTileEntity(pos);
if (tile != null) {
tile.rebuildNetwork();
}
}
}
/**
* Called serverside after this block is replaced with another in Chunk, but before the Tile Entity is updated
*/
@Override
public void breakBlock(World world, BlockPos pos, IBlockState state) {
if (world.getTileEntity(pos) instanceof TileLSUStorage) {
((TileLSUStorage) world.getTileEntity(pos)).removeFromNetwork();
TileLSUStorage tile = (TileLSUStorage) world.getTileEntity(pos);
if (tile != null) {
tile.removeFromNetwork();
}
}
super.breakBlock(world, pos, state);
}
/**
* This gets a complete list of items dropped from this block.
*
* @param drops add all items this block drops to this drops list
* @param world The current world
* @param pos Block position in world
* @param state Current state
* @param fortune Breakers fortune level
*/
@Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
List<ItemStack> items = new ArrayList<>();
items.add(new ItemStack(this));
return items;
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
drops.add(new ItemStack(this));
}
@Override
@ -84,7 +103,18 @@ public class BlockLSUStorage extends BaseTileBlock {
return new TileLSUStorage();
}
public boolean shouldConnectToBlock(IBlockAccess blockAccess, int x, int y, int z, Block block, int meta) {
return block == this;
/**
* Determines if another block can connect to this block
*
* @param world The current world
* @param pos The position of this block
* @param facing The side the connecting block is on
* @return True to allow another block to connect to this block
*/
@Override
public boolean canBeConnectedTo(IBlockAccess world, BlockPos pos, EnumFacing facing)
{
Block block = world.getBlockState(pos).getBlock();
return this == block;
}
}

View file

@ -39,7 +39,6 @@ public class CommonProxy implements ICompatModule {
@Override
public void preInit(FMLPreInitializationEvent event) {
isChiselAround = Loader.isModLoaded("chisel");
if (isChiselAround) {
Core.logHelper.info("Hello chisel, shiny things will be enabled in techreborn");
}

View file

@ -0,0 +1,9 @@
{
"ctm":{
"ctm_version": 1,
"type":"CTM",
"textures":[
"techreborn:blocks/machines/energy/ev_multi_side_ctm"
]
}
}