Updating the finished tool paradigm

This commit is contained in:
WayofTime 2014-07-06 08:03:22 -04:00
parent cabc296b21
commit 084e3dd348
20 changed files with 181 additions and 26 deletions

View file

@ -743,6 +743,7 @@ public class AlchemicalWizardry
ItemStack costCoreStack = new ItemStack(ModItems.baseItems,1,23); ItemStack costCoreStack = new ItemStack(ModItems.baseItems,1,23);
ItemStack potencyCoreStack = new ItemStack(ModItems.baseItems,1,24); ItemStack potencyCoreStack = new ItemStack(ModItems.baseItems,1,24);
ItemStack obsidianBraceStack = new ItemStack(ModItems.baseItems,1,25); ItemStack obsidianBraceStack = new ItemStack(ModItems.baseItems,1,25);
ItemStack toolCoreStack = new ItemStack(ModItems.baseItems,1,26);
ItemStack magicalesCraftedCableStack = new ItemStack(ModItems.baseItems,5,2); ItemStack magicalesCraftedCableStack = new ItemStack(ModItems.baseItems,5,2);
ItemStack crackedRunicPlateStackCrafted = new ItemStack(ModItems.baseItems,2,15); ItemStack crackedRunicPlateStackCrafted = new ItemStack(ModItems.baseItems,2,15);
@ -758,6 +759,7 @@ public class AlchemicalWizardry
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(projectileCoreStack, "mbm","aca","mom",'c', emptyCoreStack,'b',weakBloodShardStack,'m', magicalesStack,'o', magicianBloodOrbStack,'a',new ItemStack(Items.arrow))); GameRegistry.addRecipe(new ShapedBloodOrbRecipe(projectileCoreStack, "mbm","aca","mom",'c', emptyCoreStack,'b',weakBloodShardStack,'m', magicalesStack,'o', magicianBloodOrbStack,'a',new ItemStack(Items.arrow)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(selfCoreStack,"sbs","ncn","sos",'c', emptyCoreStack, 's',sanctusStack,'b', weakBloodShardStack,'o', magicianBloodOrbStack,'n',glowstoneDustStack)); GameRegistry.addRecipe(new ShapedBloodOrbRecipe(selfCoreStack,"sbs","ncn","sos",'c', emptyCoreStack, 's',sanctusStack,'b', weakBloodShardStack,'o', magicianBloodOrbStack,'n',glowstoneDustStack));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(meleeCoreStack,"sbs","ncn","sos",'c', emptyCoreStack, 's',incendiumStack,'b', weakBloodShardStack,'o', magicianBloodOrbStack,'n',new ItemStack(Items.fire_charge))); GameRegistry.addRecipe(new ShapedBloodOrbRecipe(meleeCoreStack,"sbs","ncn","sos",'c', emptyCoreStack, 's',incendiumStack,'b', weakBloodShardStack,'o', magicianBloodOrbStack,'n',new ItemStack(Items.fire_charge)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(meleeCoreStack,"sbs","ncn","sos",'c', emptyCoreStack, 's',incendiumStack,'b', weakBloodShardStack,'o', magicianBloodOrbStack,'n',new ItemStack(Blocks.obsidian)));
GameRegistry.addRecipe(paradigmBackPlateStack,"isi","rgr","isi",'i',ironIngotStack,'r',stoneStack,'g',goldIngotStack,'s',reinforcedSlateStack); GameRegistry.addRecipe(paradigmBackPlateStack,"isi","rgr","isi",'i',ironIngotStack,'r',stoneStack,'g',goldIngotStack,'s',reinforcedSlateStack);
GameRegistry.addRecipe(outputCableStack, " si","s c"," si",'s',stoneStack,'i',ironIngotStack,'c',simpleCatalystStack); GameRegistry.addRecipe(outputCableStack, " si","s c"," si",'s',stoneStack,'i',ironIngotStack,'c',simpleCatalystStack);
@ -787,6 +789,7 @@ public class AlchemicalWizardry
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,0),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', projectileCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack); GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,0),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', projectileCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,1),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', selfCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack); GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,1),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', selfCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,2),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', meleeCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack); GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,2),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', meleeCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm,1,3),"gb ","pcw","gb ",'p',paradigmBackPlateStack,'c', meleeCoreStack,'g',goldIngotStack,'b',stoneBraceStack,'w',outputCableStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect,1,0),"bgb","ico","bgb",'c',flameCoreStack,'b',stoneBraceStack,'g',goldIngotStack,'i',inputCableStack,'o',outputCableStack); GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect,1,0),"bgb","ico","bgb",'c',flameCoreStack,'b',stoneBraceStack,'g',goldIngotStack,'i',inputCableStack,'o',outputCableStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect,1,1),"bgb","ico","bgb",'c',iceCoreStack,'b',stoneBraceStack,'g',goldIngotStack,'i',inputCableStack,'o',outputCableStack); GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect,1,1),"bgb","ico","bgb",'c',iceCoreStack,'b',stoneBraceStack,'g',goldIngotStack,'i',inputCableStack,'o',outputCableStack);

View file

@ -14,9 +14,9 @@ import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier;
public class BlockSet public class BlockSet
{ {
private String blockid; protected String blockid;
private int[] metadata; protected int[] metadata;
private List<Int3> positions; protected List<Int3> positions;
public BlockSet() public BlockSet()
{ {

View file

@ -0,0 +1,8 @@
package WayofTime.alchemicalWizardry.common.demonVillage;
import net.minecraft.nbt.NBTTagCompound;
public class TileBlockSet extends BlockSet
{
public NBTTagCompound tag;
}

View file

@ -21,7 +21,7 @@ import cpw.mods.fml.relauncher.SideOnly;
public class ItemComponents extends Item public class ItemComponents extends Item
{ {
private static final String[] ITEM_NAMES = new String[]{"QuartzRod", "EmptyCore", "MagicalesCable", "WoodBrace", "StoneBrace", "ProjectileCore", "SelfCore","MeleeCore","ParadigmBackPlate","OutputCable","FlameCore","IcyCore","GustCore","EarthenCore","InputCable","CrackedRunicPlate","RunicPlate","ScribedRunicPlate","DefaultCore","OffensiveCore","DefensiveCore","EnvironmentalCore","PowerCore","CostCore","PotencyCore","ObsidianBrace"}; private static final String[] ITEM_NAMES = new String[]{"QuartzRod", "EmptyCore", "MagicalesCable", "WoodBrace", "StoneBrace", "ProjectileCore", "SelfCore","MeleeCore","ParadigmBackPlate","OutputCable","FlameCore","IcyCore","GustCore","EarthenCore","InputCable","CrackedRunicPlate","RunicPlate","ScribedRunicPlate","DefaultCore","OffensiveCore","DefensiveCore","EnvironmentalCore","PowerCore","CostCore","PotencyCore","ObsidianBrace","ToolCore"};
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
private IIcon[] icons; private IIcon[] icons;

View file

@ -14,7 +14,6 @@ import net.minecraft.potion.PotionEffect;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.ModBlocks;
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; import WayofTime.alchemicalWizardry.api.rituals.RitualEffect;
@ -58,7 +57,11 @@ public class RitualEffectItemSuction extends RitualEffect
return; return;
} }
if (currentEssence < this.getCostPerRefresh()*100) Block block = world.getBlock(x, y-1, z);
int range = this.getRange(block);
int refCost = this.getCostMod(block);
if (currentEssence < this.getCostPerRefresh()*100*refCost)
{ {
EntityPlayer entityOwner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(owner); EntityPlayer entityOwner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(owner);
@ -132,7 +135,7 @@ public class RitualEffectItemSuction extends RitualEffect
if(count>0) if(count>0)
{ {
data.currentEssence = currentEssence - this.getCostPerRefresh()*Math.min(count, 100); data.currentEssence = currentEssence - this.getCostPerRefresh()*Math.min(count, 100)*refCost;
data.markDirty(); data.markDirty();
return; return;
} }
@ -144,6 +147,48 @@ public class RitualEffectItemSuction extends RitualEffect
{ {
return 5; return 5;
} }
public int getRange(Block block)
{
if(block == null)
{
return 10;
}
if(block == Blocks.iron_block)
{
return 15;
}
if(block == Blocks.gold_block)
{
return 25;
}
if(block == Blocks.diamond_block)
{
return 40;
}
return 10;
}
public int getCostMod(Block block)
{
if(block == null)
{
return 1;
}
if(block == Blocks.iron_block)
{
return 2;
}
if(block == Blocks.gold_block)
{
return 3;
}
if(block == Blocks.diamond_block)
{
return 4;
}
return 1;
}
@Override @Override
public List<RitualComponent> getRitualComponentList() public List<RitualComponent> getRitualComponentList()

View file

@ -48,6 +48,7 @@ public class SpellParadigmTool extends SpellParadigm
private HashMap<String,Float> digSpeed; private HashMap<String,Float> digSpeed;
private HashMap<String,Float> maxDamageHash; private HashMap<String,Float> maxDamageHash;
private HashMap<String,Float> critChanceHash; private HashMap<String,Float> critChanceHash;
private HashMap<String,Integer> durationHash; //ticks
private HashMap<String, String> toolInfoString; private HashMap<String, String> toolInfoString;
@ -66,6 +67,8 @@ public class SpellParadigmTool extends SpellParadigm
this.breakBlockEffectList = new LinkedList(); this.breakBlockEffectList = new LinkedList();
this.itemManipulatorEffectList = new LinkedList(); this.itemManipulatorEffectList = new LinkedList();
this.digAreaEffectList = new LinkedList(); this.digAreaEffectList = new LinkedList();
this.specialDamageEffectList = new LinkedList();
this.durationHash = new HashMap();
this.toolInfoString = new HashMap(); this.toolInfoString = new HashMap();
this.critChanceHash = new HashMap(); this.critChanceHash = new HashMap();
@ -73,12 +76,12 @@ public class SpellParadigmTool extends SpellParadigm
this.maxDamage = 5; this.maxDamage = 5;
this.harvestLevel = new HashMap(); this.harvestLevel = new HashMap();
this.harvestLevel.put("pickaxe", 2); this.harvestLevel.put("pickaxe", -1);
this.harvestLevel.put("shovel", -1); this.harvestLevel.put("shovel", -1);
this.harvestLevel.put("axe", -1); this.harvestLevel.put("axe", -1);
this.digSpeed = new HashMap(); this.digSpeed = new HashMap();
this.digSpeed.put("pickaxe", 6.0f); this.digSpeed.put("pickaxe", 1.0f);
this.digSpeed.put("shovel", 1.0f); this.digSpeed.put("shovel", 1.0f);
this.digSpeed.put("axe", 1.0f); this.digSpeed.put("axe", 1.0f);
@ -88,7 +91,9 @@ public class SpellParadigmTool extends SpellParadigm
this.fortuneLevel = 0; this.fortuneLevel = 0;
this.silkTouch = false; this.silkTouch = false;
this.duration = 2400; this.duration = 0;
this.durationHash.put("default", 2400);
//this.addRightClickEffect(new RightClickTunnel(0,0,0)); //this.addRightClickEffect(new RightClickTunnel(0,0,0));
@ -178,6 +183,11 @@ public class SpellParadigmTool extends SpellParadigm
itemTool.setToolListString(toolStack, toolStringList); itemTool.setToolListString(toolStack, toolStringList);
for(Integer integ : this.durationHash.values())
{
this.duration += integ;
}
itemTool.setDuration(toolStack, world, this.duration); itemTool.setDuration(toolStack, world, this.duration);
itemTool.loadParadigmIntoStack(toolStack, this.bufferedEffectList); itemTool.loadParadigmIntoStack(toolStack, this.bufferedEffectList);
@ -453,6 +463,11 @@ public class SpellParadigmTool extends SpellParadigm
this.critChanceHash.put(key, chance); this.critChanceHash.put(key, chance);
} }
public void addDuration(String key, int dur)
{
this.durationHash.put(key, dur);
}
public float getCritChance() public float getCritChance()
{ {
float chance = 0.0f; float chance = 0.0f;

View file

@ -17,6 +17,7 @@ import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fi
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.SelfEnvironmentalFire; import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.SelfEnvironmentalFire;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.SelfOffensiveFire; import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.SelfOffensiveFire;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ToolDefaultFire; import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ToolDefaultFire;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ToolEnvironmentalFire;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ToolOffensiveFire; import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire.ToolOffensiveFire;
public class SpellEffectFire extends SpellEffect public class SpellEffectFire extends SpellEffect
@ -181,15 +182,21 @@ public class SpellEffectFire extends SpellEffect
} }
@Override @Override
public void defensiveModificationTool(SpellParadigmTool parad) { public void defensiveModificationTool(SpellParadigmTool parad)
// TODO Auto-generated method stub {
parad.addCritChance("defFire", this.potencyEnhancement);
parad.addDuration("defFire", 1200 * this.powerEnhancement);
parad.addToolString("defFire", "Unbreaking" + " " + SpellHelper.getNumeralForInt(this.powerEnhancement + 1));
} }
@Override @Override
public void environmentalModificationTool(SpellParadigmTool parad) { public void environmentalModificationTool(SpellParadigmTool parad)
// TODO Auto-generated method stub {
parad.addBlockBreakEffect(new ToolEnvironmentalFire(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement));
parad.addToolString("envFire", "Magma Plume" + " " + SpellHelper.getNumeralForInt(this.powerEnhancement + 1));
} }
@Override @Override
@ -201,18 +208,18 @@ public class SpellEffectFire extends SpellEffect
@Override @Override
protected int getCostForOffenseTool() protected int getCostForOffenseTool()
{ {
return (int)(0); //TODO return (int)(1000 * (1 + this.powerEnhancement*0.3f) * (1 + this.potencyEnhancement*0.2f) * Math.pow(0.85, costEnhancement));
} }
@Override @Override
protected int getCostForDefenseTool() { protected int getCostForDefenseTool()
// TODO Auto-generated method stub {
return 0; return (int)(500 * (1 + this.powerEnhancement*0.5f) * (1 + this.potencyEnhancement) * Math.pow(0.85, costEnhancement));
} }
@Override @Override
protected int getCostForEnvironmentTool() { protected int getCostForEnvironmentTool()
// TODO Auto-generated method stub {
return 0; return 0;
} }
} }

View file

@ -0,0 +1,47 @@
package WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.fire;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.tool.OnBreakBlockEffect;
public class ToolEnvironmentalFire extends OnBreakBlockEffect
{
public ToolEnvironmentalFire(int power, int potency, int cost)
{
super(power, potency, cost);
}
@Override
public int onBlockBroken(ItemStack container, World world, EntityPlayer player, Block block, int meta, int x, int y, int z, ForgeDirection sideBroken)
{
int amount = 0;
int cost = (int)(250 * (1 - 0.1f*powerUpgrades) * Math.pow(0.85, costUpgrades));
int radius = this.powerUpgrades;
float chance = 0.35f + 0.15f*this.potencyUpgrades;
for(int i=-radius; i<=radius; i++)
{
for(int j=-radius; j<=radius; j++)
{
for(int k=-radius; k<=radius; k++)
{
Block blockAffected = world.getBlock(x + i -sideBroken.offsetX, y + j, z + k - sideBroken.offsetZ);
if((new Random().nextFloat() <= chance) && (blockAffected == Blocks.gravel || blockAffected == Blocks.stone || blockAffected == Blocks.cobblestone))
{
world.setBlock(x + i -sideBroken.offsetX, y + j, z + k - sideBroken.offsetZ, Blocks.lava);
amount += cost;
}
}
}
}
return amount;
}
}

View file

@ -47,6 +47,11 @@ public class TEDemonPortal extends TileEntity
private boolean isInitialized; private boolean isInitialized;
public int houseCooldown;
public int roadCooldown;
public int tier; //Tier of the demon portal - Should select buildings 2 below to this
public int totalPoints;
public TEDemonPortal() public TEDemonPortal()
{ {
super(); super();
@ -71,6 +76,9 @@ public class TEDemonPortal extends TileEntity
isInitialized = false; isInitialized = false;
this.setGridSpace(0, 0, new GridSpace(GridSpace.MAIN_PORTAL, yCoord)); this.setGridSpace(0, 0, new GridSpace(GridSpace.MAIN_PORTAL, yCoord));
this.houseCooldown = 0;
this.roadCooldown = 0;
} }
public void initialize() public void initialize()
@ -87,6 +95,9 @@ public class TEDemonPortal extends TileEntity
if(Math.abs(xIndex) == 1 || Math.abs(zIndex) == 1) if(Math.abs(xIndex) == 1 || Math.abs(zIndex) == 1)
{ {
this.setGridSpace(xIndex, zIndex, new GridSpace(GridSpace.ROAD,yCoord)); this.setGridSpace(xIndex, zIndex, new GridSpace(GridSpace.ROAD,yCoord));
}else if(xIndex == 0 && zIndex == 0)
{
this.setGridSpace(0, 0, new GridSpace(GridSpace.MAIN_PORTAL, yCoord));
}else }else
{ {
this.setGridSpace(xIndex, zIndex, new GridSpace()); this.setGridSpace(xIndex, zIndex, new GridSpace());
@ -94,6 +105,9 @@ public class TEDemonPortal extends TileEntity
} }
} }
this.houseCooldown = 1000;
this.roadCooldown = 100;
isInitialized = true; isInitialized = true;
} }
@ -105,6 +119,8 @@ public class TEDemonPortal extends TileEntity
this.negZRadius = par1NBTTagCompound.getInteger("negZRadius"); this.negZRadius = par1NBTTagCompound.getInteger("negZRadius");
this.posXRadius = par1NBTTagCompound.getInteger("posXRadius"); this.posXRadius = par1NBTTagCompound.getInteger("posXRadius");
this.posZRadius = par1NBTTagCompound.getInteger("posZRadius"); this.posZRadius = par1NBTTagCompound.getInteger("posZRadius");
this.houseCooldown = par1NBTTagCompound.getInteger("houseCooldown");
this.roadCooldown = par1NBTTagCompound.getInteger("roadCooldown");
area = new GridSpace[negXRadius + posXRadius + 1][negZRadius + posZRadius + 1]; area = new GridSpace[negXRadius + posXRadius + 1][negZRadius + posZRadius + 1];
@ -134,6 +150,8 @@ public class TEDemonPortal extends TileEntity
par1NBTTagCompound.setInteger("negZRadius", negZRadius); par1NBTTagCompound.setInteger("negZRadius", negZRadius);
par1NBTTagCompound.setInteger("posXRadius", posXRadius); par1NBTTagCompound.setInteger("posXRadius", posXRadius);
par1NBTTagCompound.setInteger("posZRadius", posZRadius); par1NBTTagCompound.setInteger("posZRadius", posZRadius);
par1NBTTagCompound.setInteger("houseCooldown", houseCooldown);
par1NBTTagCompound.setInteger("roadCooldown", roadCooldown);
NBTTagList gridList = new NBTTagList(); NBTTagList gridList = new NBTTagList();
@ -163,7 +181,7 @@ public class TEDemonPortal extends TileEntity
par1NBTTagCompound.setBoolean("init", isInitialized); par1NBTTagCompound.setBoolean("init", isInitialized);
} }
public void createRandomRoad() public int createRandomRoad() //Return the number of road spaces
{ {
int next = rand.nextInt(4); int next = rand.nextInt(4);
ForgeDirection dir; ForgeDirection dir;
@ -200,7 +218,7 @@ public class TEDemonPortal extends TileEntity
if(directions.size() <= 0) if(directions.size() <= 0)
{ {
return; return 0;
} }
int maxDistance = 5; int maxDistance = 5;
@ -223,12 +241,14 @@ public class TEDemonPortal extends TileEntity
if(dominantDirection == null) if(dominantDirection == null)
{ {
return; return 0;
} }
System.out.println("I got here!"); System.out.println("I got here!");
System.out.println("Distance: " + distance + " Direction: " + dominantDirection.toString() + " yLevel: " + yLevel); System.out.println("Distance: " + distance + " Direction: " + dominantDirection.toString() + " yLevel: " + yLevel);
this.createGriddedRoad(x, yLevel, z, dominantDirection, distance+1, true); this.createGriddedRoad(x, yLevel, z, dominantDirection, distance+1, true);
return distance;
} }
public List<ForgeDirection> findValidExtentionDirection(int x, int z) public List<ForgeDirection> findValidExtentionDirection(int x, int z)
@ -732,6 +752,9 @@ public class TEDemonPortal extends TileEntity
if(ForgeDirection.getOrientation(side) == ForgeDirection.UP) if(ForgeDirection.getOrientation(side) == ForgeDirection.UP)
{ {
this.createRandomBuilding(DemonBuilding.BUILDING_HOUSE, 0); this.createRandomBuilding(DemonBuilding.BUILDING_HOUSE, 0);
}else if(ForgeDirection.getOrientation(side) == ForgeDirection.DOWN)
{
this.createRandomBuilding(DemonBuilding.BUILDING_PORTAL, 0);
}else }else
{ {
this.createRandomRoad(); this.createRandomRoad();
@ -766,7 +789,7 @@ public class TEDemonPortal extends TileEntity
for(int i=2; i<6; i++) for(int i=2; i<6; i++)
{ {
ForgeDirection testDir = ForgeDirection.getOrientation(i); ForgeDirection testDir = ForgeDirection.getOrientation(i);
if(this.getGridSpace(x + testDir.offsetX, z + testDir.offsetZ).isEmpty()) //if(this.getGridSpace(x + testDir.offsetX, z + testDir.offsetZ).isEmpty())
{ {
directions.add(testDir); directions.add(testDir);
} }
@ -783,6 +806,10 @@ public class TEDemonPortal extends TileEntity
{ {
for(DemonBuilding build : TEDemonPortal.buildingList) for(DemonBuilding build : TEDemonPortal.buildingList)
{ {
if(build.buildingType != DemonBuilding.BUILDING_PORTAL)
{
continue;
}
if(schemMap.containsKey(nextDir)) if(schemMap.containsKey(nextDir))
{ {
schemMap.get(nextDir).add(build); schemMap.get(nextDir).add(build);
@ -813,6 +840,7 @@ public class TEDemonPortal extends TileEntity
if(block == ModBlocks.blockDemonPortal) if(block == ModBlocks.blockDemonPortal)
{ {
BlockTeleposer.swapBlocks(worldObj, worldObj, xCoord, i, zCoord, xCoord, yLevel + yOffset, zCoord); BlockTeleposer.swapBlocks(worldObj, worldObj, xCoord, i, zCoord, xCoord, yLevel + yOffset, zCoord);
break;
} }
} }

View file

@ -16,7 +16,7 @@ import com.google.gson.GsonBuilder;
public class TESchematicSaver extends TileEntity public class TESchematicSaver extends TileEntity
{ {
public Block targetBlock = ModBlocks.largeBloodStoneBrick; public Block targetBlock = ModBlocks.blockBuildingSchematicSaver;
public void rightClickBlock(EntityPlayer player, int side) public void rightClickBlock(EntityPlayer player, int side)
{ {

View file

@ -25,6 +25,7 @@ tile.blockConduit.name=Spell Conduit
tile.blockSpellParadigm.projectile.name=Particle Generator tile.blockSpellParadigm.projectile.name=Particle Generator
tile.blockSpellParadigm.self.name=Self Augmentator tile.blockSpellParadigm.self.name=Self Augmentator
tile.blockSpellParadigm.melee.name=Melee Aggregator tile.blockSpellParadigm.melee.name=Melee Aggregator
tile.blockSpellParadigm.tool.name=Tool Forger
tile.blockSpellEnhancement.power1.name=Unstable Spell Empowerer tile.blockSpellEnhancement.power1.name=Unstable Spell Empowerer
tile.blockSpellEnhancement.power2.name=Standard Spell Empowerer tile.blockSpellEnhancement.power2.name=Standard Spell Empowerer
tile.blockSpellEnhancement.power3.name=Reinforced Spell Empowerer tile.blockSpellEnhancement.power3.name=Reinforced Spell Empowerer
@ -138,6 +139,7 @@ item.bloodMagicBaseItem.StoneBrace.name=Stone Brace
item.bloodMagicBaseItem.ProjectileCore.name=Projectile Core item.bloodMagicBaseItem.ProjectileCore.name=Projectile Core
item.bloodMagicBaseItem.SelfCore.name=Self Core item.bloodMagicBaseItem.SelfCore.name=Self Core
item.bloodMagicBaseItem.MeleeCore.name=Melee Core item.bloodMagicBaseItem.MeleeCore.name=Melee Core
item.bloodMagicBaseItem.ToolCore.name=Tool Core
item.bloodMagicBaseItem.ParadigmBackPlate.name=Paradigm Plate item.bloodMagicBaseItem.ParadigmBackPlate.name=Paradigm Plate
item.bloodMagicBaseItem.OutputCable.name=Output Spell Cable item.bloodMagicBaseItem.OutputCable.name=Output Spell Cable
item.bloodMagicBaseItem.InputCable.name=Input Spell Cable item.bloodMagicBaseItem.InputCable.name=Input Spell Cable
@ -168,7 +170,7 @@ item.bloodMagicAlchemyItem.Potentia.name=Potentia
item.sanguineHelmet.name=Sanguine Helmet item.sanguineHelmet.name=Sanguine Helmet
item.itemSeerSigil.name=Sigil of Sight item.itemSeerSigil.name=Sigil of Sight
item.itemFluidSigil.name= item.itemFluidSigil.name=
item.multiTool.name=Dynamic Mace
#Creative Tab #Creative Tab
itemGroup.tabBloodMagic=Blood Magic itemGroup.tabBloodMagic=Blood Magic

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 594 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B