Added rarity to accelerator blocks
This commit is contained in:
parent
2f739e87bf
commit
1d9409f5ef
4 changed files with 35 additions and 6 deletions
9
src/main/java/cr0s/warpdrive/api/IBlockBase.java
Normal file
9
src/main/java/cr0s/warpdrive/api/IBlockBase.java
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
package cr0s.warpdrive.api;
|
||||||
|
|
||||||
|
import net.minecraft.item.EnumRarity;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public interface IBlockBase {
|
||||||
|
|
||||||
|
EnumRarity getRarity(final ItemStack itemStack, final EnumRarity rarity);
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
package cr0s.warpdrive.block;
|
package cr0s.warpdrive.block;
|
||||||
|
|
||||||
import cpw.mods.fml.common.Optional;
|
import cpw.mods.fml.common.Optional;
|
||||||
|
import cr0s.warpdrive.api.IBlockBase;
|
||||||
import cr0s.warpdrive.config.WarpDriveConfig;
|
import cr0s.warpdrive.config.WarpDriveConfig;
|
||||||
import defense.api.IEMPBlock;
|
import defense.api.IEMPBlock;
|
||||||
import defense.api.IExplosion;
|
import defense.api.IExplosion;
|
||||||
|
@ -23,7 +24,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||||
@Optional.InterfaceList({
|
@Optional.InterfaceList({
|
||||||
@Optional.Interface(iface = "defense.api.IEMPBlock", modid = "DefenseTech")
|
@Optional.Interface(iface = "defense.api.IEMPBlock", modid = "DefenseTech")
|
||||||
})
|
})
|
||||||
public abstract class BlockAbstractContainer extends BlockContainer implements IEMPBlock {
|
public abstract class BlockAbstractContainer extends BlockContainer implements IBlockBase, IEMPBlock {
|
||||||
protected boolean isRotating = false;
|
protected boolean isRotating = false;
|
||||||
protected boolean hasSubBlocks = false;
|
protected boolean hasSubBlocks = false;
|
||||||
|
|
||||||
|
@ -198,7 +199,8 @@ public abstract class BlockAbstractContainer extends BlockContainer implements I
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
EnumRarity getRarity(final ItemStack itemStack, final EnumRarity rarity) {
|
@Override
|
||||||
|
public EnumRarity getRarity(final ItemStack itemStack, final EnumRarity rarity) {
|
||||||
switch (getTier(itemStack)) {
|
switch (getTier(itemStack)) {
|
||||||
case 0: return EnumRarity.epic;
|
case 0: return EnumRarity.epic;
|
||||||
case 1: return EnumRarity.common;
|
case 1: return EnumRarity.common;
|
||||||
|
|
|
@ -3,6 +3,7 @@ package cr0s.warpdrive.block;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import cr0s.warpdrive.WarpDrive;
|
import cr0s.warpdrive.WarpDrive;
|
||||||
|
import cr0s.warpdrive.api.IBlockBase;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.EnumRarity;
|
import net.minecraft.item.EnumRarity;
|
||||||
|
@ -48,10 +49,10 @@ public class ItemBlockAbstractBase extends ItemBlock {
|
||||||
@Override
|
@Override
|
||||||
public EnumRarity getRarity(ItemStack itemStack) {
|
public EnumRarity getRarity(ItemStack itemStack) {
|
||||||
if ( itemStack == null
|
if ( itemStack == null
|
||||||
|| !(field_150939_a instanceof BlockAbstractContainer) ) {
|
|| !(field_150939_a instanceof IBlockBase) ) {
|
||||||
return super.getRarity(itemStack);
|
return super.getRarity(itemStack);
|
||||||
}
|
}
|
||||||
return ((BlockAbstractContainer)field_150939_a).getRarity(itemStack, super.getRarity(itemStack));
|
return ((IBlockBase) field_150939_a).getRarity(itemStack, super.getRarity(itemStack));
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getStatus(final NBTTagCompound nbtTagCompound, final int metadata) {
|
private String getStatus(final NBTTagCompound nbtTagCompound, final int metadata) {
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
package cr0s.warpdrive.block.atomic;
|
package cr0s.warpdrive.block.atomic;
|
||||||
|
|
||||||
import cr0s.warpdrive.WarpDrive;
|
import cr0s.warpdrive.WarpDrive;
|
||||||
|
import cr0s.warpdrive.api.IBlockBase;
|
||||||
import cr0s.warpdrive.config.WarpDriveConfig;
|
import cr0s.warpdrive.config.WarpDriveConfig;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.entity.EnumCreatureType;
|
import net.minecraft.entity.EnumCreatureType;
|
||||||
|
import net.minecraft.item.EnumRarity;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.world.World;
|
|
||||||
|
|
||||||
public class BlockAbstractAccelerator extends Block {
|
public class BlockAbstractAccelerator extends Block implements IBlockBase {
|
||||||
public final byte tier;
|
public final byte tier;
|
||||||
|
|
||||||
public BlockAbstractAccelerator(final byte tier) {
|
public BlockAbstractAccelerator(final byte tier) {
|
||||||
|
@ -40,6 +42,21 @@ public class BlockAbstractAccelerator extends Block {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public byte getTier(final ItemStack itemStack) {
|
||||||
|
return tier;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EnumRarity getRarity(final ItemStack itemStack, final EnumRarity rarity) {
|
||||||
|
switch (getTier(itemStack)) {
|
||||||
|
case 0: return EnumRarity.epic;
|
||||||
|
case 1: return EnumRarity.common;
|
||||||
|
case 2: return EnumRarity.uncommon;
|
||||||
|
case 3: return EnumRarity.rare;
|
||||||
|
default: return rarity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) {
|
public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) {
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue