Water now uses dynamic source selection

This commit is contained in:
nathank33 2015-05-30 13:54:54 -07:00
parent c313ce8eed
commit fca483239f
9 changed files with 37 additions and 12 deletions

View file

@ -18,6 +18,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.TempPotionEffect;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
import com.projectkorra.ProjectKorra.Utilities.ParticleEffect;
import com.projectkorra.ProjectKorra.airbending.AirMethods;
import com.projectkorra.ProjectKorra.earthbending.EarthMethods;
@ -55,7 +57,7 @@ public class IceBlast {
block(player);
range = WaterMethods.waterbendingNightAugment(defaultrange, player.getWorld());
this.player = player;
Block sourceblock = WaterMethods.getIceSourceBlock(player, range);
Block sourceblock = BlockSource.getWaterSourceBlock(player, range, ClickType.SHIFT_DOWN, false, true, false);
if (sourceblock == null) {
return;

View file

@ -18,6 +18,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.TempPotionEffect;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
import com.projectkorra.ProjectKorra.airbending.AirMethods;
import com.projectkorra.ProjectKorra.earthbending.EarthMethods;
@ -61,7 +63,8 @@ public class IceSpike2 {
plantbending = true;
range = WaterMethods.waterbendingNightAugment(defaultrange, player.getWorld());
this.player = player;
Block sourceblock = WaterMethods.getWaterSourceBlock(player, range, plantbending);
Block sourceblock = BlockSource.getWaterSourceBlock(player, range, ClickType.SHIFT_DOWN,
true, true, plantbending);
if (sourceblock == null) {
new SpikeField(player);

View file

@ -16,6 +16,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.Ability.AvatarState;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
import com.projectkorra.ProjectKorra.airbending.AirMethods;
import com.projectkorra.ProjectKorra.earthbending.EarthMethods;
@ -66,7 +68,8 @@ public class OctopusForm {
}
this.player = player;
time = System.currentTimeMillis();
sourceblock = WaterMethods.getWaterSourceBlock(player, range, true);
sourceblock = BlockSource.getWaterSourceBlock(player, range, ClickType.LEFT_CLICK,
true, true, WaterMethods.canPlantbend(player));
if (sourceblock != null) {
sourcelocation = sourceblock.getLocation();
sourceselected = true;

View file

@ -18,6 +18,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.Ability.AvatarState;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
import com.projectkorra.ProjectKorra.airbending.AirMethods;
import com.projectkorra.ProjectKorra.earthbending.EarthMethods;
@ -74,7 +76,8 @@ public class Torrent {
}
this.player = player;
time = System.currentTimeMillis();
sourceblock = WaterMethods.getWaterSourceBlock(player, selectrange, WaterMethods.canPlantbend(player));
sourceblock = BlockSource.getWaterSourceBlock(player, selectrange, ClickType.LEFT_CLICK,
true, true, WaterMethods.canPlantbend(player));
if (sourceblock != null) {
sourceselected = true;
instances.put(player, this);

View file

@ -20,6 +20,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.Ability.AvatarState;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
import com.projectkorra.ProjectKorra.Utilities.ParticleEffect;
import com.projectkorra.ProjectKorra.chiblocking.ChiMethods;
import com.projectkorra.ProjectKorra.chiblocking.Paralyze;
@ -269,8 +271,8 @@ public class WaterCombo {
remove();
return;
}
Block waterBlock = WaterMethods.getWaterSourceBlock(player, range,
true);
Block waterBlock = BlockSource.getWaterSourceBlock(player, range, ClickType.LEFT_CLICK,
true, true, WaterMethods.canPlantbend(player));
if (waterBlock == null) {
remove();
return;

View file

@ -19,6 +19,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.Ability.AvatarState;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
import com.projectkorra.ProjectKorra.airbending.AirMethods;
import com.projectkorra.ProjectKorra.earthbending.EarthBlast;
import com.projectkorra.ProjectKorra.earthbending.EarthMethods;
@ -88,7 +90,8 @@ public class WaterManipulation {
public boolean prepare() {
// Block block = player.getTargetBlock(null, (int) range);
Block block = WaterMethods.getWaterSourceBlock(player, range, WaterMethods.canPlantbend(player));
Block block = BlockSource.getWaterSourceBlock(player, range,
ClickType.SHIFT_DOWN, true, true, WaterMethods.canPlantbend(player));
// if (prepared.containsKey(player)
// && !Methods.isWaterbendable(block, player)) {
// instances.get(prepared.get(player)).displacing = true;

View file

@ -16,6 +16,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.Ability.AvatarState;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
import com.projectkorra.ProjectKorra.earthbending.EarthMethods;
import com.projectkorra.ProjectKorra.firebending.FireBlast;
@ -148,7 +150,8 @@ public class WaterWall {
public boolean prepare() {
cancelPrevious();
// Block block = player.getTargetBlock(null, (int) range);
Block block = WaterMethods.getWaterSourceBlock(player, range, WaterMethods.canPlantbend(player));
Block block = BlockSource.getWaterSourceBlock(player, range, ClickType.LEFT_CLICK,
true, true, WaterMethods.canPlantbend(player));
if (block != null) {
sourceblock = block;
focusBlock();
@ -462,7 +465,8 @@ public class WaterWall {
if (!instances.containsKey(player.getEntityId())) {
if (!Wave.instances.containsKey(player.getEntityId())
&& WaterMethods.getWaterSourceBlock(player, (int) Wave.defaultrange, WaterMethods.canPlantbend(player)) == null
&& BlockSource.getWaterSourceBlock(player, (int) Wave.defaultrange, ClickType.LEFT_CLICK,
true, true, WaterMethods.canPlantbend(player)) == null
&& WaterReturn.hasWaterBottle(player)) {
BendingPlayer bPlayer = GeneralMethods.getBendingPlayer(player.getName());

View file

@ -19,6 +19,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.Ability.AvatarState;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
public class WaterWave {
public static enum AbilityType {
@ -104,8 +106,8 @@ public class WaterWave {
removeType(player, AbilityType.CLICK);
instances.add(this);
Block block = WaterMethods.getWaterSourceBlock(player, range,
WaterMethods.canPlantbend(player));
Block block = BlockSource.getWaterSourceBlock(player, range, ClickType.LEFT_CLICK,
true, true, WaterMethods.canPlantbend(player));
if (block == null) {
remove();
return;

View file

@ -17,6 +17,8 @@ import com.projectkorra.ProjectKorra.GeneralMethods;
import com.projectkorra.ProjectKorra.ProjectKorra;
import com.projectkorra.ProjectKorra.TempBlock;
import com.projectkorra.ProjectKorra.Ability.AvatarState;
import com.projectkorra.ProjectKorra.Utilities.BlockSource;
import com.projectkorra.ProjectKorra.Utilities.ClickType;
import com.projectkorra.ProjectKorra.airbending.AirMethods;
import com.projectkorra.ProjectKorra.earthbending.EarthMethods;
import com.projectkorra.ProjectKorra.firebending.FireBlast;
@ -82,7 +84,8 @@ public class Wave {
public boolean prepare() {
cancelPrevious();
// Block block = player.getTargetBlock(null, (int) range);
Block block = WaterMethods.getWaterSourceBlock(player, range, WaterMethods.canPlantbend(player));
Block block = BlockSource.getWaterSourceBlock(player, range, ClickType.SHIFT_DOWN,
true, true, WaterMethods.canPlantbend(player));
if (block != null) {
sourceblock = block;
focusBlock();