New AreaDescriptor tryout

This commit is contained in:
Arcaratus 2015-12-30 20:22:39 -05:00
parent 1d42ef50c3
commit 2966f93260
5 changed files with 22 additions and 34 deletions

View file

@ -26,7 +26,6 @@ import java.util.List;
public class ItemAltarMaker extends Item implements IAltarManipulator public class ItemAltarMaker extends Item implements IAltarManipulator
{ {
private EnumAltarTier tierToBuild = EnumAltarTier.ONE; private EnumAltarTier tierToBuild = EnumAltarTier.ONE;
public ItemAltarMaker() public ItemAltarMaker()
@ -72,7 +71,6 @@ public class ItemAltarMaker extends Item implements IAltarManipulator
if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && world.getBlockState(mop.getBlockPos()).getBlock() instanceof BlockAltar) if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && world.getBlockState(mop.getBlockPos()).getBlock() instanceof BlockAltar)
{ {
ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.BloodMagic.altarMaker.building", tierToBuild)); ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.BloodMagic.altarMaker.building", tierToBuild));
buildAltar(world, mop.getBlockPos()); buildAltar(world, mop.getBlockPos());
@ -89,7 +87,6 @@ public class ItemAltarMaker extends Item implements IAltarManipulator
public void buildAltar(World world, BlockPos pos) public void buildAltar(World world, BlockPos pos)
{ {
if (world.isRemote) if (world.isRemote)
return; return;

View file

@ -20,7 +20,6 @@ import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
public class RitualGreenGrove extends Ritual public class RitualGreenGrove extends Ritual
{ {
public static final String GROW_RANGE = "growing"; public static final String GROW_RANGE = "growing";
public RitualGreenGrove() public RitualGreenGrove()

View file

@ -2,23 +2,22 @@ package WayofTime.bloodmagic.ritual;
import java.util.ArrayList; import java.util.ArrayList;
import WayofTime.bloodmagic.api.ritual.*;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.util.BlockPos; import net.minecraft.util.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.network.SoulNetwork; import WayofTime.bloodmagic.api.network.SoulNetwork;
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
import WayofTime.bloodmagic.api.ritual.IMasterRitualStone;
import WayofTime.bloodmagic.api.ritual.Ritual;
import WayofTime.bloodmagic.api.ritual.RitualComponent;
import WayofTime.bloodmagic.api.util.helper.NetworkHelper; import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
public class RitualLava extends Ritual public class RitualLava extends Ritual
{ {
public static final String LAVA_RANGE = "lavaRange";
public RitualLava() public RitualLava()
{ {
super("ritualLava", 0, 10000, "ritual." + Constants.Mod.MODID + ".lavaRitual"); super("ritualLava", 0, 10000, "ritual." + Constants.Mod.MODID + ".lavaRitual");
addBlockRange(LAVA_RANGE, new AreaDescriptor.Rectangle(new BlockPos(0, 1, 0), new BlockPos(0, 1, 0)));
} }
@Override @Override
@ -31,11 +30,15 @@ public class RitualLava extends Ritual
if (currentEssence < getRefreshCost()) if (currentEssence < getRefreshCost())
return; return;
BlockPos pos = masterRitualStone.getPos().up(); AreaDescriptor lavaRange = getBlockRange(LAVA_RANGE);
if (world.isAirBlock(pos))
for (BlockPos newPos : lavaRange.getContainedPositions(masterRitualStone.getPos()))
{ {
world.setBlockState(pos, Blocks.lava.getDefaultState()); if (world.isAirBlock(newPos))
network.syphon(getRefreshCost()); {
world.setBlockState(newPos, Blocks.lava.getDefaultState());
network.syphon(getRefreshCost());
}
} }
} }

View file

@ -2,23 +2,22 @@ package WayofTime.bloodmagic.ritual;
import java.util.ArrayList; import java.util.ArrayList;
import WayofTime.bloodmagic.api.ritual.*;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.util.BlockPos; import net.minecraft.util.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.network.SoulNetwork; import WayofTime.bloodmagic.api.network.SoulNetwork;
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
import WayofTime.bloodmagic.api.ritual.IMasterRitualStone;
import WayofTime.bloodmagic.api.ritual.Ritual;
import WayofTime.bloodmagic.api.ritual.RitualComponent;
import WayofTime.bloodmagic.api.util.helper.NetworkHelper; import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
public class RitualWater extends Ritual public class RitualWater extends Ritual
{ {
public static final String WATER_RANGE = "waterRange";
public RitualWater() public RitualWater()
{ {
super("ritualWater", 0, 500, "ritual." + Constants.Mod.MODID + ".waterRitual"); super("ritualWater", 0, 500, "ritual." + Constants.Mod.MODID + ".waterRitual");
addBlockRange(WATER_RANGE, new AreaDescriptor.Rectangle(new BlockPos(0, 1, 0), new BlockPos(0, 1, 0)));
} }
@Override @Override
@ -31,11 +30,15 @@ public class RitualWater extends Ritual
if (currentEssence < getRefreshCost()) if (currentEssence < getRefreshCost())
return; return;
BlockPos pos = masterRitualStone.getPos().up(); AreaDescriptor lavaRange = getBlockRange(WATER_RANGE);
if (world.isAirBlock(pos))
for (BlockPos newPos : lavaRange.getContainedPositions(masterRitualStone.getPos()))
{ {
world.setBlockState(pos, Blocks.water.getDefaultState()); if (world.isAirBlock(newPos))
network.syphon(getRefreshCost()); {
world.setBlockState(newPos, Blocks.water.getDefaultState());
network.syphon(getRefreshCost());
}
} }
} }

View file

@ -23,11 +23,9 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class EventHandler public class EventHandler
{ {
@SubscribeEvent @SubscribeEvent
public void onEntityDeath(LivingHurtEvent event) public void onEntityDeath(LivingHurtEvent event)
{ {
int chestIndex = 2; int chestIndex = 2;
if (event.source.getEntity() instanceof EntityPlayer && !PlayerHelper.isFakePlayer((EntityPlayer) event.source.getEntity())) if (event.source.getEntity() instanceof EntityPlayer && !PlayerHelper.isFakePlayer((EntityPlayer) event.source.getEntity()))
@ -79,16 +77,4 @@ public class EventHandler
ChatUtil.sendNoSpam(event.entityPlayer, TextHelper.localizeEffect("chat.BloodMagic.altarMaker.destroy", altarMaker.destroyAltar(event.entityPlayer))); ChatUtil.sendNoSpam(event.entityPlayer, TextHelper.localizeEffect("chat.BloodMagic.altarMaker.destroy", altarMaker.destroyAltar(event.entityPlayer)));
} }
} }
@SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent event)
{
if (!event.world.isRemote && event.getPlayer() != null)
{
if (event.getPlayer().capabilities.isCreativeMode && event.getPlayer().getCurrentEquippedItem() != null && event.getPlayer().getCurrentEquippedItem().getItem() instanceof ItemBoundSword)
{
event.setCanceled(true);
}
}
}
} }