Cleanup enum container implementation
This commit is contained in:
parent
6a4c56293b
commit
1aad7ee531
|
@ -98,9 +98,13 @@ public class BlockInversionPillar extends BlockEnumContainer<EnumSubWillType> im
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World worldIn, int meta)
|
public boolean hasTileEntity(IBlockState state) {
|
||||||
{
|
return true;
|
||||||
return new TileInversionPillar(EnumDemonWillType.values()[meta % 5]);
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||||
|
return new TileInversionPillar(state.getValue(getProperty()).getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected BlockStateContainer createStateContainer()
|
protected BlockStateContainer createStateContainer()
|
||||||
|
|
|
@ -237,8 +237,12 @@ public class BlockMimic extends BlockEnumContainer<EnumMimic> implements IVarian
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World worldIn, int meta)
|
public boolean hasTileEntity(IBlockState state) {
|
||||||
{
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||||
return new TileMimic();
|
return new TileMimic();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,9 +109,13 @@ public class BlockRitualController extends BlockEnumContainer<EnumRitualControll
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World world, int meta)
|
public boolean hasTileEntity(IBlockState state) {
|
||||||
{
|
return true;
|
||||||
return meta == 0 ? (new TileMasterRitualStone()) : (new TileImperfectRitualStone());
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||||
|
return state.getValue(getProperty()) == EnumRitualController.MASTER ? new TileMasterRitualStone() : new TileImperfectRitualStone();
|
||||||
}
|
}
|
||||||
|
|
||||||
// IVariantProvider
|
// IVariantProvider
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package WayofTime.bloodmagic.block.base;
|
package WayofTime.bloodmagic.block.base;
|
||||||
|
|
||||||
import net.minecraft.block.ITileEntityProvider;
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
@ -8,13 +7,11 @@ import net.minecraft.util.IStringSerializable;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public abstract class BlockEnumContainer<E extends Enum<E> & IStringSerializable> extends BlockEnum<E> implements ITileEntityProvider
|
public abstract class BlockEnumContainer<E extends Enum<E> & IStringSerializable> extends BlockEnum<E>
|
||||||
{
|
{
|
||||||
public BlockEnumContainer(Material material, Class<E> enumClass, String propName)
|
public BlockEnumContainer(Material material, Class<E> enumClass, String propName)
|
||||||
{
|
{
|
||||||
super(material, enumClass, propName);
|
super(material, enumClass, propName);
|
||||||
|
|
||||||
this.isBlockContainer = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlockEnumContainer(Material material, Class<E> enumClass)
|
public BlockEnumContainer(Material material, Class<E> enumClass)
|
||||||
|
@ -22,6 +19,12 @@ public abstract class BlockEnumContainer<E extends Enum<E> & IStringSerializable
|
||||||
this(material, enumClass, "type");
|
this(material, enumClass, "type");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract boolean hasTileEntity(IBlockState state);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract TileEntity createTileEntity(World world, IBlockState state);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
|
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,7 @@ package WayofTime.bloodmagic.block.enums;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
|
||||||
import net.minecraft.util.IStringSerializable;
|
import net.minecraft.util.IStringSerializable;
|
||||||
|
|
||||||
public enum EnumSubWillType implements IStringSerializable
|
public enum EnumSubWillType implements IStringSerializable
|
||||||
|
@ -23,4 +24,8 @@ public enum EnumSubWillType implements IStringSerializable
|
||||||
{
|
{
|
||||||
return this.toString();
|
return this.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EnumDemonWillType getType() {
|
||||||
|
return EnumDemonWillType.valueOf(name());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue