Rewrite base blocks to be less weird
Added base ItemBlock classes for each base type (to be used later)
This commit is contained in:
parent
ea43fbce7d
commit
3e0f3f5aa1
14 changed files with 265 additions and 209 deletions
|
@ -65,7 +65,7 @@ public class ItemInscriptionTool extends ItemBindableBase implements IVariantPro
|
|||
stack = NBTHelper.checkNBT(stack);
|
||||
int uses = stack.getTagCompound().getInteger(Constants.NBT.USES);
|
||||
|
||||
world.setBlockState(pos, state.withProperty(((BlockRitualStone) state.getBlock()).getStringProp(), getType(stack).getName()));
|
||||
world.setBlockState(pos, state.withProperty(((BlockRitualStone) state.getBlock()).getProperty(), getType(stack).getName()));
|
||||
if (!player.capabilities.isCreativeMode)
|
||||
{
|
||||
stack.getTagCompound().setInteger(Constants.NBT.USES, --uses);
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
package WayofTime.bloodmagic.item.block.base;
|
||||
|
||||
import WayofTime.bloodmagic.block.base.BlockEnum;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
public class ItemBlockEnum<E extends Enum<E> & IStringSerializable> extends ItemBlock {
|
||||
|
||||
public ItemBlockEnum(BlockEnum<E> block) {
|
||||
super(block);
|
||||
|
||||
if (block.getTypes().length > 1)
|
||||
setHasSubtypes(true);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public BlockEnum<E> getBlock() {
|
||||
return (BlockEnum<E>) super.getBlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
return getBlock().getUnlocalizedName() + "." + getBlock().getTypes()[MathHelper.clamp_int(stack.getItemDamage(), 0, 15)].getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage) {
|
||||
return damage;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package WayofTime.bloodmagic.item.block.base;
|
||||
|
||||
import WayofTime.bloodmagic.block.base.BlockInteger;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemBlockInteger extends ItemBlock {
|
||||
|
||||
public ItemBlockInteger(BlockInteger block) {
|
||||
super(block);
|
||||
|
||||
if (block.getMaxMeta() > 1)
|
||||
setHasSubtypes(true);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public BlockInteger getBlock() {
|
||||
return (BlockInteger) super.getBlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
return getBlock().getUnlocalizedName() + "." + stack.getItemDamage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage) {
|
||||
return damage;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package WayofTime.bloodmagic.item.block.base;
|
||||
|
||||
import WayofTime.bloodmagic.block.base.BlockString;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
public class ItemBlockString extends ItemBlock {
|
||||
|
||||
public ItemBlockString(BlockString block) {
|
||||
super(block);
|
||||
|
||||
if (block.getTypes().length> 1)
|
||||
setHasSubtypes(true);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public BlockString getBlock() {
|
||||
return (BlockString) super.getBlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
return getBlock().getUnlocalizedName() + "." + getBlock().getTypes()[MathHelper.clamp_int(stack.getItemDamage(), 0, 15)];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage) {
|
||||
return damage;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue