Merge pull request #354 from Arcaratus/master

Things
This commit is contained in:
WayofTime 2015-06-22 14:15:46 -04:00
commit 013367cffa
15 changed files with 153 additions and 56 deletions

View file

@ -62,6 +62,9 @@ dependencies {
minecraft {
version = config.mc_version + "-" + config.forge_version
runDir = "run"
replaceIn "GAPIChecker.java"
replace "@VERSION@", config.guideapi_version
}
processResources {

View file

@ -1,5 +1,3 @@
#
#Thu Jun 04 17:28:17 EDT 2015
mod_name=BloodMagic
forge_version=10.13.4.1448-1.7.10
ccc_version=1.0.4.29
@ -9,7 +7,5 @@ guideapi_version=1.0.1-20
package_group=com.wayoftime.bloodmagic
mod_version=1.3.3
minetweaker_version=Dev-1.7.10-3.0.9B
build_number=5
mc_version=1.7.10
build_number=5

View file

@ -1105,6 +1105,8 @@ public class AlchemicalWizardry
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockCrystalBelljar), "GGG", "GcG", "www", 'G', glassStack, 'c', concentratedCatalystStack, 'w', new ItemStack(Blocks.wooden_slab, 1, craftingConstant));
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockReagentConduit), "isi", "scs", "isi", 'c', concentratedCatalystStack, 's', stringStack, 'i', ironIngotStack);
GameRegistry.addRecipe(new ItemStack(ModItems.ritualDismantler), "a a", " b ", 'a', Blocks.redstone_torch, 'b', ModItems.itemRitualDiviner);
GameRegistry.addShapelessRecipe(new ItemStack(Items.dye, 5, 15), fracturedBoneStack);
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemSigilOfSupression), "wtl", "wvl", "wol", 'v', new ItemStack(ModItems.voidSigil), 't', new ItemStack(ModBlocks.blockTeleposer), 'o', masterBloodOrbStack, 'l', lavaBucketStack, 'w', waterBucketStack));

View file

@ -1,52 +1,12 @@
package WayofTime.alchemicalWizardry;
import WayofTime.alchemicalWizardry.common.items.*;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import WayofTime.alchemicalWizardry.api.items.ItemSpellMultiTool;
import WayofTime.alchemicalWizardry.api.spell.SpellParadigmTool;
import WayofTime.alchemicalWizardry.common.book.ItemBMBook;
import WayofTime.alchemicalWizardry.common.items.AWBaseItems;
import WayofTime.alchemicalWizardry.common.items.ActivationCrystal;
import WayofTime.alchemicalWizardry.common.items.AirScribeTool;
import WayofTime.alchemicalWizardry.common.items.ApprenticeBloodOrb;
import WayofTime.alchemicalWizardry.common.items.ArchmageBloodOrb;
import WayofTime.alchemicalWizardry.common.items.ArmourInhibitor;
import WayofTime.alchemicalWizardry.common.items.BlankSpell;
import WayofTime.alchemicalWizardry.common.items.BloodShard;
import WayofTime.alchemicalWizardry.common.items.BoundAxe;
import WayofTime.alchemicalWizardry.common.items.BoundPickaxe;
import WayofTime.alchemicalWizardry.common.items.BoundShovel;
import WayofTime.alchemicalWizardry.common.items.CheatyItem;
import WayofTime.alchemicalWizardry.common.items.CreativeDagger;
import WayofTime.alchemicalWizardry.common.items.DaggerOfSacrifice;
import WayofTime.alchemicalWizardry.common.items.DawnScribeTool;
import WayofTime.alchemicalWizardry.common.items.DemonPlacer;
import WayofTime.alchemicalWizardry.common.items.DemonicTelepositionFocus;
import WayofTime.alchemicalWizardry.common.items.DuskScribeTool;
import WayofTime.alchemicalWizardry.common.items.EarthScribeTool;
import WayofTime.alchemicalWizardry.common.items.EnergyBattery;
import WayofTime.alchemicalWizardry.common.items.EnergyBazooka;
import WayofTime.alchemicalWizardry.common.items.EnergyBlast;
import WayofTime.alchemicalWizardry.common.items.EnergySword;
import WayofTime.alchemicalWizardry.common.items.EnhancedTelepositionFocus;
import WayofTime.alchemicalWizardry.common.items.FireScribeTool;
import WayofTime.alchemicalWizardry.common.items.ItemAlchemyBase;
import WayofTime.alchemicalWizardry.common.items.ItemBloodLetterPack;
import WayofTime.alchemicalWizardry.common.items.ItemComplexSpellCrystal;
import WayofTime.alchemicalWizardry.common.items.ItemComponents;
import WayofTime.alchemicalWizardry.common.items.ItemDiabloKey;
import WayofTime.alchemicalWizardry.common.items.ItemIncense;
import WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner;
import WayofTime.alchemicalWizardry.common.items.LavaCrystal;
import WayofTime.alchemicalWizardry.common.items.LifeBucket;
import WayofTime.alchemicalWizardry.common.items.MagicianBloodOrb;
import WayofTime.alchemicalWizardry.common.items.MasterBloodOrb;
import WayofTime.alchemicalWizardry.common.items.ReinforcedTelepositionFocus;
import WayofTime.alchemicalWizardry.common.items.SacrificialDagger;
import WayofTime.alchemicalWizardry.common.items.TelepositionFocus;
import WayofTime.alchemicalWizardry.common.items.TranscendentBloodOrb;
import WayofTime.alchemicalWizardry.common.items.WaterScribeTool;
import WayofTime.alchemicalWizardry.common.items.armour.BoundArmour;
import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourEarth;
import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourFire;
@ -242,6 +202,8 @@ public class ModItems
public static Item itemIncense;
public static Item ritualDismantler;
public static void init()
{
weakBloodOrb = new EnergyBattery(5000).setUnlocalizedName("weakBloodOrb");
@ -370,6 +332,8 @@ public class ModItems
outputRoutingFocus = new OutputRoutingFocus().setUnlocalizedName("outputRoutingFocus");
itemIncense = new ItemIncense().setUnlocalizedName("bloodMagicIncenseItem");
ritualDismantler = new ItemRitualDismantler().setUnlocalizedName("ritualDismantler");
}
public static void registerItems()
@ -503,5 +467,6 @@ public class ModItems
GameRegistry.registerItem(ModItems.outputRoutingFocus, "outputRoutingFocus");
GameRegistry.registerItem(ModItems.itemIncense, "bloodMagicIncenseItem");
GameRegistry.registerItem(ModItems.ritualDismantler, "ritualDismantler");
}
}

View file

@ -85,15 +85,22 @@ public class BlockSocket extends BlockContainer
newItem.stackSize = 1;
--playerItem.stackSize;
tileEntity.setInventorySlotContents(0, newItem);
return true;
}
} else if (tileEntity.getStackInSlot(0) != null && playerItem == null)
else
{
return false;
}
}
else if (tileEntity.getStackInSlot(0) != null && playerItem == null)
{
player.inventory.addItemStackToInventory(tileEntity.getStackInSlot(0));
tileEntity.setInventorySlotContents(0, null);
tileEntity.setActive();
return true;
}
world.markBlockForUpdate(x, y, z);
return true;
return false;
}
@Override

View file

@ -13,25 +13,30 @@ public class CommandSN extends CommandBase
{
public CommandSN() {}
@Override
public String getCommandName()
{
return "soulnetwork";
}
@Override
public int getRequiredPermissionLevel()
{
return 2;
}
@Override
public String getCommandUsage(ICommandSender icommandsender)
{
return "commands.soulnetwork.usage";
}
@Override
public void processCommand(ICommandSender icommandsender, String[] astring)
{
EntityPlayerMP targetPlayer = getPlayer(icommandsender, astring[0]);
String owner = targetPlayer.getDisplayName();
EntityPlayerMP proxyPlayerName = getPlayer(icommandsender, astring[0]);
if (astring.length >= 2 && astring.length <= 3)
{
@ -83,6 +88,12 @@ public class CommandSN extends CommandBase
SoulNetworkHandler.addCurrentEssenceToMaximum(owner, fillAmount, fillAmount);
func_152373_a(icommandsender, this, "commands.soulnetwork.fillMax.success", owner);
}
else if ("create".equalsIgnoreCase(astring[1]))
{
int orbTier = parseIntBounded(icommandsender, astring[2], 1, 6);
SoulNetworkHandler.setMaxOrbToMax(proxyPlayerName.getDisplayName(), orbTier);
func_152373_a(icommandsender, this, "commands.soulnetwork.create.success", owner, orbTier);
}
else
{
throw new CommandException("commands.soulnetwork.notACommand");
@ -98,6 +109,7 @@ public class CommandSN extends CommandBase
}
}
@Override
public List addTabCompletionOptions(ICommandSender iCommandSender, String[] astring)
{
if (astring.length == 1)
@ -106,7 +118,7 @@ public class CommandSN extends CommandBase
}
else if (astring.length == 2)
{
return getListOfStringsMatchingLastWord(astring, "add", "subtract", "fill", "empty", "get");
return getListOfStringsMatchingLastWord(astring, "add", "subtract", "fill", "empty", "get", "fillMax", "create");
}
return null;
@ -117,6 +129,7 @@ public class CommandSN extends CommandBase
return MinecraftServer.getServer().getAllUsernames();
}
@Override
public boolean isUsernameIndex(String[] astring, int par2)
{
return par2 == 0;

View file

@ -0,0 +1,101 @@
package WayofTime.alchemicalWizardry.common.items;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import WayofTime.alchemicalWizardry.ModBlocks;
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
import WayofTime.alchemicalWizardry.api.rituals.Rituals;
import WayofTime.alchemicalWizardry.common.block.RitualStone;
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import java.util.List;
public class ItemRitualDismantler extends EnergyItems
{
public ItemRitualDismantler()
{
super();
setMaxStackSize(1);
setCreativeTab(AlchemicalWizardry.tabBloodMagic);
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconRegister)
{
this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:ritual_dismantler");
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List par3List, boolean x)
{
par3List.add(StatCollector.translateToLocal("tooltip.dismatler.desc"));
par3List.add(StatCollector.translateToLocal("tooltip.owner.currentowner") + " " + stack.getTagCompound().getString("ownerName"));
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
return EnergyItems.checkAndSetItemOwner(stack, player) && breakRitualStoneAtMasterStone(stack, player, world, x, y, z);
}
public boolean breakRitualStoneAtMasterStone(ItemStack stack, EntityPlayer player, World world, int x, int y, int z)
{
ItemStack[] playerInventory = player.inventory.mainInventory;
TileEntity tileEntity = world.getTileEntity(x, y, z);
if (tileEntity instanceof TEMasterStone)
{
TEMasterStone masterStone = (TEMasterStone) tileEntity;
int direction = masterStone.getDirection();
int freeSpace = -1;
List<RitualComponent> ritualList = Rituals.getRitualList(masterStone.getCurrentRitual());
if (ritualList == null)
{
return false;
}
for (int i = 0; i < playerInventory.length; i++)
{
if (playerInventory[i] == null)
{
freeSpace = i;
break;
}
}
for (RitualComponent rc : ritualList)
{
if (!world.isAirBlock(x + rc.getX(direction), y + rc.getY(), z + rc.getZ(direction)) && world.getBlock(x + rc.getX(direction), y + rc.getY(), z + rc.getZ(direction)) instanceof RitualStone)
{
if (freeSpace >= 0)
{
if (EnergyItems.syphonBatteries(stack, player, getEnergyUsed()) || player.capabilities.isCreativeMode)
{
world.setBlockToAir(x + rc.getX(direction), y + rc.getY(), z + rc.getZ(direction));
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.ritualStone));
if (world.isRemote)
{
world.playAuxSFX(2005, x, y + 1, z, 0);
return true;
}
}
return true;
}
}
}
}
return false;
}
}

View file

@ -197,7 +197,6 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner
if (tileEntity instanceof TEMasterStone)
{
TEMasterStone masterStone = (TEMasterStone) tileEntity;
List<RitualComponent> ritualList = Rituals.getRitualList(this.getCurrentRitual(stack));
if (ritualList == null)
{

View file

@ -3,6 +3,7 @@ package WayofTime.alchemicalWizardry.common.items.sigil;
import java.util.List;
import WayofTime.alchemicalWizardry.api.items.interfaces.ISigil;
import WayofTime.alchemicalWizardry.common.tileEntity.TESocket;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
@ -104,6 +105,10 @@ public class SigilLava extends ItemBucket implements ArmourUpgrade, ISigil
return false;
}
else if (tile instanceof TESocket)
{
return false;
}
{
if (side == 0)

View file

@ -179,7 +179,6 @@ public class SigilOfSupression extends EnergyItems implements ArmourUpgrade, ISi
Block block = par2World.getBlock(x + i, y + j, z + k);
if (SpellHelper.isBlockFluid(block))
{
if (par2World.getTileEntity(x + i, y + j, z + k) != null)
@ -210,8 +209,6 @@ public class SigilOfSupression extends EnergyItems implements ArmourUpgrade, ISi
}
}
}
return;
}
@Override

View file

@ -3,6 +3,7 @@ package WayofTime.alchemicalWizardry.common.items.sigil;
import java.util.List;
import WayofTime.alchemicalWizardry.api.items.interfaces.ISigil;
import WayofTime.alchemicalWizardry.common.tileEntity.TESocket;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
@ -105,6 +106,10 @@ public class SigilWater extends ItemBucket implements ArmourUpgrade, ISigil
return false;
}
else if (tile instanceof TESocket)
{
return false;
}
{
if (side == 0)

View file

@ -42,6 +42,7 @@ import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.IFluidBlock;
import net.minecraftforge.oredict.OreDictionary;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import WayofTime.alchemicalWizardry.api.alchemy.energy.IAlchemyGoggles;
@ -259,7 +260,7 @@ public class SpellHelper
SpellHelper.sendParticleToPlayer(player, "mobSpell", xCoord + 0.5D + rand.nextGaussian() / 8, yCoord + 1.1D, zCoord + 0.5D + rand.nextGaussian() / 8, 1.0D, 0.371D, 0.371D);
break;
case 4:
float f = (float) 1.0F;
float f = 1.0F;
float f1 = f * 0.6F + 0.4F;
float f2 = f * f * 0.7F - 0.5F;
float f3 = f * f * 0.6F - 0.7F;
@ -347,7 +348,7 @@ public class SpellHelper
public static boolean isBlockFluid(Block block)
{
return block instanceof BlockLiquid;
return block instanceof IFluidBlock;
}
public static void evaporateWaterBlock(World world, int posX, int posY, int posZ)

View file

@ -18,7 +18,7 @@ import java.util.zip.ZipFile;
public class GAPIChecker
{
public static boolean doneChecking = false;
public static String onlineVersion = "";
public static String onlineVersion = "@VERSION@";
public static boolean triedToWarnPlayer = false;
public static boolean startedDownload = false;

View file

@ -1 +1 @@
1.0.1-20
@VERSION@

View file

@ -143,6 +143,7 @@ item.standardFillingAgent.name=Standard Filling Agent
item.enhancedFillingAgent.name=Enhanced Filling Agent
item.weakBindingAgent.name=Weak Binding Agent
item.ritualDiviner.name=Ritual Diviner
item.ritualDismantler.name=Ritual Dismantler
item.sigilOfMagnetism.name=Sigil of Magnetism
item.itemDiabloKey.name=Key of Binding
item.energyBazooka.name=Energy Bazooka
@ -302,6 +303,7 @@ commands.soulnetwork.noPlayer=There is no player specified
commands.soulnetwork.noCommand=There is no command specified
commands.soulnetwork.notACommand=That is not a valid command
commands.soulnetwork.fillMax.success=Successfully filled %s's Soul Network to their orb max!
commands.soulnetwork.create.success=Successfully created %s's Soul Network (Orb tier: %d)
#Tooltips
tooltip.activationcrystal.creativeonly=Creative Only - activates any ritual
@ -391,6 +393,7 @@ tooltip.ritualdiviner.ritualtunedto=Ritual tuned to face:
tooltip.ritualdiviner.waterstones=Water Stones:
tooltip.ritualdiviner.dawnstones=Dawn Stones:
tooltip.ritualdiviner.totalStones=Total Stones:
tooltip.dismatler.desc=You could turn this upside down?
tooltip.sacrificialdagger.desc1=A slight draining feeling tickles your fingers
tooltip.sacrificialdagger.desc2=Just a prick of the
tooltip.sacrificialdagger.desc3=finger will suffice...