commit
f56261e766
|
@ -85,7 +85,6 @@ public class ItemSacrificialDagger extends Item
|
|||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
||||
{
|
||||
|
||||
if (PlayerHelper.isFakePlayer(player))
|
||||
return stack;
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ import net.minecraft.item.Item;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
|
@ -22,7 +23,6 @@ import java.util.List;
|
|||
|
||||
public class ItemTelepositionFocus extends ItemBindable
|
||||
{
|
||||
|
||||
public static String[] names = { "weak", "enhanced", "reinforced", "demonic" };
|
||||
|
||||
public ItemTelepositionFocus()
|
||||
|
@ -53,8 +53,17 @@ public class ItemTelepositionFocus extends ItemBindable
|
|||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
|
||||
{
|
||||
if (BindableHelper.checkAndSetItemOwner(stack, player))
|
||||
{
|
||||
if (player.isSneaking())
|
||||
return stack;
|
||||
{
|
||||
MovingObjectPosition mop = getMovingObjectPositionFromPlayer(world, player, false);
|
||||
|
||||
if (mop != null && mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
|
||||
{
|
||||
setBlockPos(stack, world, mop.getBlockPos());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return stack;
|
||||
}
|
||||
|
@ -67,11 +76,15 @@ public class ItemTelepositionFocus extends ItemBindable
|
|||
|
||||
super.addInformation(stack, player, tooltip, advanced);
|
||||
|
||||
stack = NBTHelper.checkNBT(stack);
|
||||
NBTTagCompound tag = stack.getTagCompound();
|
||||
BlockPos coords = getBlockPos(stack);
|
||||
|
||||
tooltip.add(String.format(StatCollector.translateToLocal("tooltip.alchemy.coords"), coords.getX(), coords.getY(), coords.getZ()));
|
||||
tooltip.add(String.format(StatCollector.translateToLocal("tooltip.alchemy.dimension"), tag.getInteger(Constants.NBT.DIMENSION_ID)));
|
||||
if (coords != null && tag != null)
|
||||
{
|
||||
tooltip.add(String.format(StatCollector.translateToLocal("tooltip.BloodMagic.telepositionFocus.coords"), coords.getX(), coords.getY(), coords.getZ()));
|
||||
tooltip.add(String.format(StatCollector.translateToLocal("tooltip.BloodMagic.telepositionFocus.dimension"), tag.getInteger(Constants.NBT.DIMENSION_ID)));
|
||||
}
|
||||
}
|
||||
|
||||
public World getWorld(ItemStack stack)
|
||||
|
|
|
@ -63,6 +63,7 @@ public class ModItems
|
|||
public static Item sigilCompression;
|
||||
|
||||
public static Item itemComponent;
|
||||
public static Item telepositionFocus;
|
||||
|
||||
public static Item bloodShard;
|
||||
|
||||
|
@ -131,6 +132,7 @@ public class ModItems
|
|||
sigilEnderSeverance = registerItem(new ItemSigilEnderSeverance());
|
||||
|
||||
itemComponent = registerItem(new ItemComponent());
|
||||
telepositionFocus = registerItem(new ItemTelepositionFocus());
|
||||
|
||||
bloodShard = registerItem(new ItemBloodShard());
|
||||
|
||||
|
@ -222,6 +224,8 @@ public class ModItems
|
|||
|
||||
for (int i = 0; i < ItemComponent.getNames().size(); i++)
|
||||
renderHelper.itemRender(itemComponent, i);
|
||||
for (int i = 0; i < ItemTelepositionFocus.names.length; i++)
|
||||
renderHelper.itemRender(telepositionFocus, i);
|
||||
|
||||
renderHelper.itemRender(bloodShard, 0);
|
||||
renderHelper.itemRender(bloodShard, 1);
|
||||
|
|
|
@ -4,10 +4,7 @@ import WayofTime.bloodmagic.api.registry.ImperfectRitualRegistry;
|
|||
import WayofTime.bloodmagic.api.registry.RitualRegistry;
|
||||
import WayofTime.bloodmagic.api.ritual.Ritual;
|
||||
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
|
||||
import WayofTime.bloodmagic.ritual.RitualGreenGrove;
|
||||
import WayofTime.bloodmagic.ritual.RitualLava;
|
||||
import WayofTime.bloodmagic.ritual.RitualTest;
|
||||
import WayofTime.bloodmagic.ritual.RitualWater;
|
||||
import WayofTime.bloodmagic.ritual.*;
|
||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualNight;
|
||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualRain;
|
||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualResistance;
|
||||
|
@ -15,11 +12,11 @@ import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualZombie;
|
|||
|
||||
public class ModRituals
|
||||
{
|
||||
|
||||
public static Ritual testRitual;
|
||||
public static Ritual waterRitual;
|
||||
public static Ritual lavaRitual;
|
||||
public static Ritual greenGroveRitual;
|
||||
public static Ritual jumpRitual;
|
||||
|
||||
public static ImperfectRitual imperfectNight;
|
||||
public static ImperfectRitual imperfectRain;
|
||||
|
@ -32,11 +29,13 @@ public class ModRituals
|
|||
waterRitual = new RitualWater();
|
||||
lavaRitual = new RitualLava();
|
||||
greenGroveRitual = new RitualGreenGrove();
|
||||
jumpRitual = new RitualJumping();
|
||||
|
||||
RitualRegistry.registerRitual(testRitual, testRitual.getName());
|
||||
RitualRegistry.registerRitual(waterRitual, waterRitual.getName());
|
||||
RitualRegistry.registerRitual(lavaRitual, lavaRitual.getName());
|
||||
RitualRegistry.registerRitual(greenGroveRitual, greenGroveRitual.getName());
|
||||
RitualRegistry.registerRitual(jumpRitual, jumpRitual.getName());
|
||||
}
|
||||
|
||||
public static void initImperfectRituals()
|
||||
|
|
88
src/main/java/WayofTime/bloodmagic/ritual/RitualJumping.java
Normal file
88
src/main/java/WayofTime/bloodmagic/ritual/RitualJumping.java
Normal file
|
@ -0,0 +1,88 @@
|
|||
package WayofTime.bloodmagic.ritual;
|
||||
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.api.network.SoulNetwork;
|
||||
import WayofTime.bloodmagic.api.ritual.*;
|
||||
import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
|
||||
import WayofTime.bloodmagic.network.BloodMagicPacketHandler;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class RitualJumping extends Ritual
|
||||
{
|
||||
public static final String JUMP_RANGE = "jumpRange";
|
||||
|
||||
public RitualJumping()
|
||||
{
|
||||
super("ritualJump", 0, 1000, "ritual." + Constants.Mod.MODID + ".jumpRitual");
|
||||
addBlockRange(JUMP_RANGE, new AreaDescriptor.Rectangle(new BlockPos(-1, 1, -1), new BlockPos(1, 2, 1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void performRitual(IMasterRitualStone masterRitualStone)
|
||||
{
|
||||
World world = masterRitualStone.getWorld();
|
||||
SoulNetwork network = NetworkHelper.getSoulNetwork(masterRitualStone.getOwner(), world);
|
||||
int currentEssence = network.getCurrentEssence();
|
||||
|
||||
if (currentEssence < getRefreshCost())
|
||||
return;
|
||||
|
||||
AreaDescriptor jumpRange = getBlockRange(JUMP_RANGE);
|
||||
List<EntityLivingBase> entities = world.getEntitiesWithinAABB(EntityLivingBase.class, jumpRange.getAABB(masterRitualStone.getPos()));
|
||||
if (entities != null)
|
||||
{
|
||||
for (EntityLivingBase entity : entities)
|
||||
{
|
||||
if (entity.isSneaking())
|
||||
continue;
|
||||
|
||||
double motionY = 1.5;
|
||||
|
||||
if (entity instanceof EntityPlayer && entity instanceof EntityPlayerMP)
|
||||
{
|
||||
//TODO Packet handlers if needed
|
||||
// BloodMagicPacketHandler.INSTANCE.sendTo();
|
||||
((EntityPlayerMP) entity).motionY = motionY;
|
||||
((EntityPlayerMP) entity).fallDistance = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.motionY = motionY;
|
||||
entity.fallDistance = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRefreshTime()
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRefreshCost()
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<RitualComponent> getComponents()
|
||||
{
|
||||
ArrayList<RitualComponent> components = new ArrayList<RitualComponent>();
|
||||
|
||||
for (int i = -1; i <= 1; i++)
|
||||
this.addCornerRunes(components, 1, i, EnumRuneType.AIR);
|
||||
|
||||
return components;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package WayofTime.bloodmagic.tile;
|
||||
|
||||
public class TileTeleposer
|
||||
{
|
||||
}
|
|
@ -200,9 +200,15 @@ tooltip.BloodMagic.diviner.totalRune=Total Runes: %d
|
|||
tooltip.BloodMagic.diviner.extraInfo=Press shift for extra info
|
||||
tooltip.BloodMagic.diviner.currentDirection=Current Direction: %s
|
||||
|
||||
tooltip.BloodMagic.telepositionFocus.coords=Current coordinates: (%d, %d, %d)
|
||||
tooltip.BloodMagic.telepositionFocus.dimension=Dimension ID: %d
|
||||
|
||||
# Ritual
|
||||
ritual.BloodMagic.testRitual=Test Ritual
|
||||
ritual.BloodMagic.waterRitual=Ritual of the Full Spring
|
||||
ritual.BloodMagic.lavaRitual=Serenade of the Nether
|
||||
ritual.BloodMagic.greenGrove=Ritual of the Green Grove
|
||||
ritual.BloodMagic.jumpRitual=Ritual of the High Jump
|
||||
|
||||
# Chat
|
||||
chat.BloodMagic.altarMaker.setTier=Set Tier to: %d
|
||||
|
|
Loading…
Reference in a new issue