Renders for Runes
Creative crystal renders
Formatting
Lang additions
Some attempted (not successful) fixes for SoulNetwork
This commit is contained in:
Nick 2015-11-02 19:18:53 -08:00
parent ac588d0b15
commit ac5402df6b
36 changed files with 400 additions and 220 deletions

View file

@ -12,15 +12,11 @@ import net.minecraft.world.World;
import java.util.List;
public class BloodAltar
{
public class BloodAltar {
public static EnumAltarTier getAltarTier(World world, BlockPos pos)
{
for (int i = EnumAltarTier.MAXTIERS; i >= 2; i--)
{
if (checkAltarIsValid(world, pos, i))
{
public static EnumAltarTier getAltarTier(World world, BlockPos pos) {
for (int i = EnumAltarTier.MAXTIERS; i >= 2; i--) {
if (checkAltarIsValid(world, pos, i)) {
return EnumAltarTier.values()[i];
}
@ -29,27 +25,19 @@ public class BloodAltar
return EnumAltarTier.ONE;
}
public static boolean checkAltarIsValid(World world, BlockPos worldPos, int altarTier)
{
for (AltarComponent altarComponent : EnumAltarTier.values()[altarTier].getAltarComponents())
{
public static boolean checkAltarIsValid(World world, BlockPos worldPos, int altarTier) {
for (AltarComponent altarComponent : EnumAltarTier.values()[altarTier].getAltarComponents()) {
BlockPos componentPos = worldPos.add(altarComponent.getOffset());
BlockStack worldBlock = new BlockStack(world.getBlockState(componentPos).getBlock(), world.getBlockState(componentPos).getBlock().getMetaFromState(world.getBlockState(componentPos)));
if (altarComponent.isBloodRune())
{
if (!checkRune(altarComponent, worldBlock))
{
if (altarComponent.isBloodRune()) {
if (!checkRune(altarComponent, worldBlock)) {
return false;
}
}
else
{
if (((altarComponent.getBlockStack().getBlock() != worldBlock.getBlock()) || (altarComponent.getBlockStack().getMeta() != worldBlock.getMeta())) && (altarComponent.getBlockStack().getBlock() == Blocks.air && !world.isAirBlock(componentPos)))
{
if (!checkSpecials(altarComponent, worldBlock))
{
} else {
if (((altarComponent.getBlockStack().getBlock() != worldBlock.getBlock()) || (altarComponent.getBlockStack().getMeta() != worldBlock.getMeta())) && (altarComponent.getBlockStack().getBlock() == Blocks.air && !world.isAirBlock(componentPos))) {
if (!checkSpecials(altarComponent, worldBlock)) {
return false;
}
}
@ -59,28 +47,22 @@ public class BloodAltar
return true;
}
public static AltarUpgrade getUpgrades(World world, BlockPos pos, int altarTier)
{
if (world.isRemote)
{
public static AltarUpgrade getUpgrades(World world, BlockPos pos, int altarTier) {
if (world.isRemote) {
return null;
}
AltarUpgrade upgrades = new AltarUpgrade();
List<AltarComponent> list = EnumAltarTier.values()[altarTier].getAltarComponents();
for (AltarComponent altarComponent : list)
{
for (AltarComponent altarComponent : list) {
BlockPos componentPos = pos.add(altarComponent.getOffset());
if (altarComponent.isUpgradeSlot())
{
if (altarComponent.isUpgradeSlot()) {
BlockStack worldBlock = new BlockStack(world.getBlockState(componentPos).getBlock(), world.getBlockState(componentPos).getBlock().getMetaFromState(world.getBlockState(componentPos)));
if (worldBlock.getBlock() instanceof BlockBloodRune)
{
switch (((BlockBloodRune) worldBlock.getBlock()).getRuneEffect(worldBlock.getMeta()))
{
if (worldBlock.getBlock() instanceof BlockBloodRune) {
switch (((BlockBloodRune) worldBlock.getBlock()).getRuneEffect(worldBlock.getMeta())) {
case 1:
upgrades.addSpeed();
break;
@ -98,19 +80,19 @@ public class BloodAltar
break;
case 5:
upgrades.addCapacity();
break;
case 6:
upgrades.addDisplacement();
break;
case 6:
upgrades.addCapacity();
break;
case 7:
upgrades.addOrbCapacity();
upgrades.addBetterCapacity();
break;
case 8:
upgrades.addBetterCapacity();
upgrades.addOrbCapacity();
break;
case 9:
@ -124,12 +106,9 @@ public class BloodAltar
return upgrades;
}
private static boolean checkRune(AltarComponent altarComponent, BlockStack blockStack)
{
if (altarComponent.getBlockStack().getBlock() == ModBlocks.blood_rune)
{
if (blockStack.getBlock() instanceof BlockBloodRune || (blockStack.getBlock() instanceof IAltarComponent && (((IAltarComponent) blockStack.getBlock()).getType(blockStack.getMeta()) == EnumAltarComponent.BLOODRUNE)))
{
private static boolean checkRune(AltarComponent altarComponent, BlockStack blockStack) {
if (altarComponent.getBlockStack().getBlock() == ModBlocks.bloodRune) {
if (blockStack.getBlock() instanceof BlockBloodRune || (blockStack.getBlock() instanceof IAltarComponent && (((IAltarComponent) blockStack.getBlock()).getType(blockStack.getMeta()) == EnumAltarComponent.BLOODRUNE))) {
return true;
}
@ -137,15 +116,14 @@ public class BloodAltar
return false;
}
private static boolean checkSpecials(AltarComponent altarComponent, BlockStack blockStack)
{
private static boolean checkSpecials(AltarComponent altarComponent, BlockStack blockStack) {
if (altarComponent.getBlockStack().getBlock() == ModBlocks.bloodStone)
// if (blockStack.getBlock() instanceof BlockBloodStone || (blockStack.getBlock() instanceof IAltarComponent && (((IAltarComponent) blockStack.getBlock()).getType(blockStack.getMeta()) == EnumAltarComponent.BLOODSTONE)))
return true;
return true;
if (altarComponent.getBlockStack().getBlock() == ModBlocks.crystal)
// if (blockStack.getBlock() instanceof BlockCrystal || (blockStack.getBlock() instanceof IAltarComponent && (((IAltarComponent) blockStack.getBlock()).getType(blockStack.getMeta()) == EnumAltarComponent.CRYSTAL)))
return true;
return true;
if (altarComponent.getBlockStack().getBlock() == Blocks.glowstone)
if (blockStack.getBlock() instanceof BlockGlowstone || (blockStack.getBlock() instanceof IAltarComponent && (((IAltarComponent) blockStack.getBlock()).getType(blockStack.getMeta()) == EnumAltarComponent.GLOWSTONE)))

View file

@ -3,8 +3,7 @@ package WayofTime.bloodmagic.api.altar;
import lombok.Getter;
@Getter
public class AltarUpgrade
{
public class AltarUpgrade {
private int speedCount;
private int efficiencyCount;
private int sacrificeCount;
@ -15,63 +14,53 @@ public class AltarUpgrade
private int betterCapacityCount;
private int accelerationCount;
public AltarUpgrade()
{
public AltarUpgrade() {
}
// Adders
public AltarUpgrade addSpeed()
{
public AltarUpgrade addSpeed() {
speedCount++;
return this;
}
public AltarUpgrade addEfficiency()
{
public AltarUpgrade addEfficiency() {
efficiencyCount++;
return this;
}
public AltarUpgrade addSacrifice()
{
public AltarUpgrade addSacrifice() {
sacrificeCount++;
return this;
}
public AltarUpgrade addSelfSacrifice()
{
public AltarUpgrade addSelfSacrifice() {
selfSacrificeCount++;
return this;
}
public AltarUpgrade addDisplacement()
{
public AltarUpgrade addDisplacement() {
displacementCount++;
return this;
}
public AltarUpgrade addCapacity()
{
public AltarUpgrade addCapacity() {
capacityCount++;
return this;
}
public AltarUpgrade addOrbCapacity()
{
public AltarUpgrade addOrbCapacity() {
orbCapacityCount++;
return this;
}
public AltarUpgrade addBetterCapacity()
{
public AltarUpgrade addBetterCapacity() {
betterCapacityCount++;
return this;
}
public AltarUpgrade addAcceleration()
{
public AltarUpgrade addAcceleration() {
accelerationCount++;
return this;
}

View file

@ -1,6 +1,6 @@
package WayofTime.bloodmagic.api.altar;
public enum EnumAltarComponent {
public enum EnumAltarComponent {
GLOWSTONE,
BLOODSTONE,

View file

@ -14,28 +14,28 @@ public enum EnumAltarTier {
TWO() {
@Override
public void buildComponents() {
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, -1), ModBlocks.blood_rune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, -1), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, -1), ModBlocks.blood_rune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 0), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 0), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 1), ModBlocks.blood_rune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, 1), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 1), ModBlocks.blood_rune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, -1), ModBlocks.bloodRune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, -1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, -1), ModBlocks.bloodRune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 0), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 0), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 1), ModBlocks.bloodRune).setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, 1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 1), ModBlocks.bloodRune).setBloodRune());
}
},
THREE() {
@Override
public void buildComponents() {
altarComponents.addAll(TWO.getAltarComponents());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, -1), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, -1), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, -1), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 0), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 0), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 1), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, 1), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 1), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, -1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, -1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, -1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 0), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 0), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-1, -1, 1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(0, -1, 1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(1, -1, 1), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-3, -1, -3)));
altarComponents.add(new AltarComponent(new BlockPos(-3, 0, -3)));
altarComponents.add(new AltarComponent(new BlockPos(3, -1, -3)));
@ -50,10 +50,10 @@ public enum EnumAltarTier {
altarComponents.add(new AltarComponent(new BlockPos(3, 1, 3), Blocks.glowstone));
for (int i = -2; i <= 2; i++) {
altarComponents.add(new AltarComponent(new BlockPos(3, -2, i), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-3, -2, i), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -2, 3), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -2, -3), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(3, -2, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-3, -2, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -2, 3), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -2, -3), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
}
}
},
@ -63,10 +63,10 @@ public enum EnumAltarTier {
altarComponents.addAll(THREE.getAltarComponents());
for (int i = -3; i <= 3; i++) {
altarComponents.add(new AltarComponent(new BlockPos(5, -3, i), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-5, -3, i), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -3, 5), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -3, -5), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(5, -3, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-5, -3, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -3, 5), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -3, -5), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
}
for (int i = -2; i <= 1; i++) {
@ -92,10 +92,10 @@ public enum EnumAltarTier {
altarComponents.add(new AltarComponent(new BlockPos(8, -3, 8), Blocks.beacon));
for (int i = -6; i <= 6; i++) {
altarComponents.add(new AltarComponent(new BlockPos(8, -4, i), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-8, -4, i), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -4, 8), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -4, -8), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(8, -4, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-8, -4, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -4, 8), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -4, -8), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
}
}
},
@ -117,10 +117,10 @@ public enum EnumAltarTier {
altarComponents.add(new AltarComponent(new BlockPos(-11, 3, 11), ModBlocks.crystal));
for (int i = -9; i <= 9; i++) {
altarComponents.add(new AltarComponent(new BlockPos(11, -5, i), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-11, -5, i), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -5, 11), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -5, -11), ModBlocks.blood_rune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(11, -5, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(-11, -5, i), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -5, 11), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
altarComponents.add(new AltarComponent(new BlockPos(i, -5, -11), ModBlocks.bloodRune).setUpgradeSlot().setBloodRune());
}
}
};

View file

@ -40,6 +40,11 @@ public class SoulNetwork extends WorldSavedData {
nbttagcompound.setInteger(NBTHolder.NBT_MAXORB, maxOrb);
}
/**
* Used to syphon LP from the network.
*
* @return - .
*/
public int syphon(int syphon) {
if (getCurrentEssence() >= syphon) {
setCurrentEssence(getCurrentEssence() - syphon);
@ -50,18 +55,27 @@ public class SoulNetwork extends WorldSavedData {
return 0;
}
public boolean syphonAndDamage(int syphon) {
SoulNetworkEvent.PlayerDrainNetworkEvent event = new SoulNetworkEvent.PlayerDrainNetworkEvent(getPlayer(), mapName, syphon);
public boolean syphonAndDamage(int toSyphon) {
// SoulNetworkEvent.PlayerDrainNetworkEvent event = new SoulNetworkEvent.PlayerDrainNetworkEvent(getPlayer(), mapName, syphon);
//
// if (MinecraftForge.EVENT_BUS.post(event))
// return false;
//
// syphon(syphon);
// int drain = Math.max(0, getCurrentEssence() - syphon);
//
// if (drain == 0 || event.shouldDamage)
// hurtPlayer(event.syphon);
//
// return event.getResult() != Event.Result.DENY;
if (MinecraftForge.EVENT_BUS.post(event))
if (player.worldObj.isRemote)
return false;
int drain = syphon(event.syphon);
int drain = syphon(toSyphon);
hurtPlayer(toSyphon - drain);
if (drain == 0 || event.shouldDamage)
hurtPlayer(event.syphon);
return event.getResult() != Event.Result.DENY;
return true;
}
public void hurtPlayer(int syphon) {

View file

@ -30,12 +30,9 @@ public class ImperfectRitualRegistry {
}
public static ImperfectRitual getRitualForBlock(BlockStack blockStack) {
for (ImperfectRitual imperfectRitual : getRegistry().values()) {
if (imperfectRitual.getRequiredBlock().equals(blockStack)) {
System.out.println(imperfectRitual.toString());
for (ImperfectRitual imperfectRitual : getRegistry().values())
if (imperfectRitual.getRequiredBlock().equals(blockStack))
return imperfectRitual;
}
}
return null;
}

View file

@ -1,102 +1,73 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.registry.ModBlocks;
import WayofTime.bloodmagic.BloodMagic;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
public class BlockBloodRune extends Block
{
public static final String[] names = { "speed", "efficiency", "sacrifice", "self_sacrifice", "displacement", "capacity", "orb_capacity", "better_capacity", "acceleration" };
public static final PropertyInteger INTEGER = PropertyInteger.create("rune", 0, 5);
public class BlockBloodRune extends Block {
public BlockBloodRune()
{
public static final String[] names = { "blank", "speed", "efficiency", "sacrifice", "selfSacrifice", "displacement", "capacity", "augCapacity", "orb", "acceleration" };
public static final PropertyInteger META = PropertyInteger.create("META", 0, names.length - 1);
public BlockBloodRune() {
super(Material.iron);
this.setDefaultState(this.blockState.getBaseState().withProperty(INTEGER, 0));
setUnlocalizedName(BloodMagic.MODID + ".rune.");
setCreativeTab(BloodMagic.tabBloodMagic);
setStepSound(soundTypeStone);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);
}
public int getRuneEffect(int metaData)
{
switch (metaData)
{
case 0:
return 0;
case 1: //Altar Capacity rune
return 5;
case 2: //Filling/emptying rune
return 6;
case 3: //Orb Capacity rune
return 7;
case 4: //Better Capacity rune
return 8;
case 5: //Acceleration rune
return 9;
}
return 0;
public int getRuneEffect(int meta) {
return meta;
}
@Override
protected BlockState createBlockState()
{
return new BlockState(this, INTEGER);
public IBlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(META, meta);
}
@Override
public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(INTEGER, meta);
public int getMetaFromState(IBlockState state) {
return (Integer) state.getValue(META);
}
@Override
public int getMetaFromState(IBlockState state)
{
return ((Integer)state.getValue(INTEGER)).intValue();
public int damageDropped(IBlockState state) {
return getMetaFromState(state);
}
@Override
protected BlockState createBlockState() {
return new BlockState(this, META);
}
@Override
public ItemStack getPickBlock(MovingObjectPosition target, World world, BlockPos pos, EntityPlayer player) {
return new ItemStack(this, 1, this.getMetaFromState(world.getBlockState(pos)));
}
@Override
@SideOnly(Side.CLIENT)
/**
* returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
*/
public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List)
{
if (this.equals(ModBlocks.blood_rune))
{
par3List.add(new ItemStack(par1, 1, 0));
par3List.add(new ItemStack(par1, 1, 1));
par3List.add(new ItemStack(par1, 1, 2));
par3List.add(new ItemStack(par1, 1, 3));
par3List.add(new ItemStack(par1, 1, 4));
par3List.add(new ItemStack(par1, 1, 5));
}
else
{
super.getSubBlocks(par1, par2CreativeTabs, par3List);
}
}
@Override
public int damageDropped(IBlockState blockState)
{
return blockState.getBlock().damageDropped(blockState);
@SuppressWarnings("unchecked")
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) {
for (int i = 0; i < names.length; i++)
list.add(new ItemStack(this, 1, i));
}
}

View file

@ -36,6 +36,7 @@ public class BlockRitualController extends BlockContainer {
setCreativeTab(BloodMagic.tabBloodMagic);
setStepSound(soundTypeStone);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);
}

View file

@ -5,17 +5,15 @@ import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
public class ItemBlockBloodRune extends ItemBlock
{
public ItemBlockBloodRune(Block block)
{
public class ItemBlockBloodRune extends ItemBlock {
public ItemBlockBloodRune(Block block) {
super(block);
setHasSubtypes(true);
}
@Override
public String getUnlocalizedName(ItemStack stack)
{
public String getUnlocalizedName(ItemStack stack) {
return super.getUnlocalizedName(stack) + BlockBloodRune.names[stack.getItemDamage()];
}

View file

@ -16,10 +16,9 @@ import net.minecraft.item.ItemBlock;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class ModBlocks
{
public class ModBlocks {
public static Block altar;
public static Block blood_rune;
public static Block bloodRune;
public static Block ritualStone;
public static Block lifeEssence;
@ -27,54 +26,52 @@ public class ModBlocks
public static Block crystal;
public static Block bloodStone;
public static void init()
{
public static void init() {
FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence());
lifeEssence = registerBlock(new BlockLifeEssence());
altar = registerBlock(new BlockAltar());
blood_rune = registerBlock(new BlockBloodRune(), ItemBlockBloodRune.class);
bloodRune = registerBlock(new BlockBloodRune(), ItemBlockBloodRune.class);
ritualStone = registerBlock(new BlockRitualController(), ItemBlockRitualController.class);
initTiles();
}
public static void initTiles()
{
public static void initTiles() {
GameRegistry.registerTileEntity(TileImperfectRitualStone.class, BloodMagic.MODID + ":" + TileImperfectRitualStone.class.getSimpleName());
GameRegistry.registerTileEntity(TileMasterRitualStone.class, BloodMagic.MODID + ":" + TileMasterRitualStone.class.getSimpleName());
}
public static void initRenders()
{
public static void initRenders() {
InventoryRenderHelper renderHelper = BloodMagic.instance.getRenderHelper();
renderHelper.fluidRender(lifeEssence);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(blood_rune), 0);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(blood_rune), 1);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(blood_rune), 2);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(blood_rune), 3);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(blood_rune), 4);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(blood_rune), 5);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 0);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 1);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 2);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 3);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 4);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 5);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 6);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 7);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 8);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 9);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 0);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 1);
}
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock, String name)
{
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock, String name) {
if (!ConfigHandler.blockBlacklist.contains(name))
GameRegistry.registerBlock(block, itemBlock, name);
return block;
}
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock)
{
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock) {
return registerBlock(block, itemBlock, block.getClass().getSimpleName());
}
private static Block registerBlock(Block block, String name)
{
private static Block registerBlock(Block block, String name) {
if (!ConfigHandler.blockBlacklist.contains(name))
GameRegistry.registerBlock(block, name);

View file

@ -67,6 +67,7 @@ public class ModItems {
renderHelper.itemRender(activationCrystal, 0);
renderHelper.itemRender(activationCrystal, 1);
renderHelper.itemRender(activationCrystal, 2, "ItemActivationCrystal0");
renderHelper.itemRender(sigilDivination);
}

View file

@ -10,7 +10,7 @@ import net.minecraft.init.Blocks;
public class ImperfectRitualNight extends ImperfectRitual {
public ImperfectRitualNight() {
super("night", new BlockStack(Blocks.lapis_block), 5000, true);
super("night", new BlockStack(Blocks.lapis_block), 100, true);
}
@Override
@ -19,7 +19,7 @@ public class ImperfectRitualNight extends ImperfectRitual {
boolean retFlag = false;
if (!imperfectRitualStone.getWorld().isRemote) {
imperfectRitualStone.getWorld().addWeatherEffect(new EntityLightningBolt(imperfectRitualStone.getWorld(), imperfectRitualStone.getPos().getX(), imperfectRitualStone.getPos().getY() + 2, imperfectRitualStone.getPos().getZ()));
// imperfectRitualStone.getWorld().addWeatherEffect(new EntityLightningBolt(imperfectRitualStone.getWorld(), imperfectRitualStone.getPos().getX(), imperfectRitualStone.getPos().getY() + 2, imperfectRitualStone.getPos().getZ()));
imperfectRitualStone.getWorld().setWorldTime((imperfectRitualStone.getWorld().getWorldTime() / 24000) * 24000 + 13800);
retFlag = true;
}

View file

@ -21,7 +21,6 @@ public class TileImperfectRitualStone extends TileEntity implements IImperfectRi
public boolean performRitual(World world, BlockPos pos, ImperfectRitual imperfectRitual, EntityPlayer player) {
if (imperfectRitual != null && ImperfectRitualRegistry.ritualEnabled(imperfectRitual)) {
System.out.println(imperfectRitual.toString());
NetworkHelper.getSoulNetwork(player.getDisplayNameString(), world).syphonAndDamage(imperfectRitual.getActivationCost());
return imperfectRitual.onActivate(this, player);
}

View file

@ -0,0 +1,62 @@
{
"forge_marker": 1,
"defaults": {
"textures": { },
"model": "cube_all",
"uvlock": true
},
"variants": {
"meta": {
"0": {
"textures": {
"all": "bloodmagic:blocks/BlankRune"
}
},
"1": {
"textures": {
"all": "bloodmagic:blocks/SpeedRune"
}
},
"2": {
"textures": {
"all": "bloodmagic:blocks/EfficiencyRune"
}
},
"3": {
"textures": {
"all": "bloodmagic:blocks/RuneOfSacrifice"
}
},
"4": {
"textures": {
"all": "bloodmagic:blocks/RuneOfSelfSacrifice"
}
},
"5": {
"textures": {
"all": "bloodmagic:blocks/DislocationRune"
}
},
"6": {
"textures": {
"all": "bloodmagic:blocks/AltarCapacityRune"
}
},
"7": {
"textures": {
"all": "bloodmagic:blocks/BetterCapacityRune"
}
},
"8": {
"textures": {
"all": "bloodmagic:blocks/OrbCapacityRune"
}
},
"9": {
"textures": {
"all": "bloodmagic:blocks/AccelerationRune"
}
}
}
}
}

View file

@ -1,9 +1,7 @@
{
"forge_marker": 1,
"defaults": {
"textures": {
"all": "bloodmagic:blocks/MasterRitualStone"
},
"textures": { },
"model": "cube_all",
"uvlock": true
},

View file

@ -58,9 +58,21 @@ item.BloodMagic.sigil.divination.name=Divination Sigil
# Blocks
tile.BloodMagic.fluid.lifeEssence.name=Life Essence
tile.BloodMagic.stone.ritual.master.name=Master Ritual Stone
tile.BloodMagic.stone.ritual.imperfect.name=Imperfect Ritual Stone
tile.BloodMagic.altar.name=Blood Altar
tile.BloodMagic.rune.blank.name=Blank Rune
tile.BloodMagic.rune.speed.name=Speed Rune
tile.BloodMagic.rune.efficiency.name=Efficiency Rune
tile.BloodMagic.rune.sacrifice.name=Rune of Sacrifice
tile.BloodMagic.rune.selfSacrifice.name=Rune of Self Sacrifice
tile.BloodMagic.rune.displacement.name=Displacement Rune
tile.BloodMagic.rune.capacity.name=Rune of Capacity
tile.BloodMagic.rune.augCapacity.name=Rune of Augmented Capacity
tile.BloodMagic.rune.orb.name=Rune of the Orb
tile.BloodMagic.rune.acceleration.name=Acceleration Rune
# Tooltips
tooltip.BloodMagic.orb.desc=Stores raw Life Essence
@ -70,4 +82,7 @@ tooltip.BloodMagic.sigil.air.desc=&oI feel lighter already...
tooltip.BloodMagic.sigil.bloodLight.desc=&oI see a light!
tooltip.BloodMagic.sigil.compression.desc=&oHands of Diamonds
tooltip.BloodMagic.sigil.divination.desc=&oPeer into the soul
tooltip.BloodMagic.sigil.divination.currentEssence=Current Essence: %d LP
tooltip.BloodMagic.sigil.divination.currentEssence=Current Essence: %d LP
tooltip.BloodMagic.activationCrystal.weak=Activates low-level rituals
tooltip.BloodMagic.activationCrystal.awakened=Activates more powerful rituals
tooltip.BloodMagic.activationCrystal.creative=Creative Only - Activates any ritual

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/BlankRune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/SpeedRune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/EfficiencyRune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/RuneOfSacrifice"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/RuneOfSelfSacrifice"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/DislocationRune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/AltarCapacityRune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/BetterCapacityRune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/OrbCapacityRune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/AccelerationRune"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune0",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune1",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune2",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune3",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune4",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune5",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune6",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune7",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune8",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockBloodRune9",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}