diff options
Diffstat (limited to 'src/main/java/jp/plusplus/fbs/magic/MagicDigTouch.java')
| -rw-r--r-- | src/main/java/jp/plusplus/fbs/magic/MagicDigTouch.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/java/jp/plusplus/fbs/magic/MagicDigTouch.java b/src/main/java/jp/plusplus/fbs/magic/MagicDigTouch.java new file mode 100644 index 0000000..ee44459 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/MagicDigTouch.java @@ -0,0 +1,39 @@ +package jp.plusplus.fbs.magic;
+
+import jp.plusplus.fbs.api.MagicBase;
+import net.minecraft.block.Block;
+import net.minecraft.util.Vec3;
+
+/**
+ * Created by pluslus_F on 2015/06/19.
+ */
+public class MagicDigTouch extends MagicBase {
+ @Override
+ public boolean checkSuccess() {
+ if(isSpelled) return true;
+ float prob=0.4f;
+ int l=getLvDiff();
+ if(l>0) prob+=0.05*l;
+ return rand.nextFloat()<=prob;
+ }
+
+ @Override
+ public void success() {
+ int l=getLvDiff();
+ Vec3 pos=getTouchPosition();
+ if(pos==null) return;
+
+ float hardness=30+1.0f+(l>0?0.5f*l:0);
+
+ Block b=world.getBlock((int)pos.xCoord, (int)pos.yCoord,(int)pos.zCoord);
+ float bh=b.getBlockHardness(world, (int)pos.xCoord, (int)pos.yCoord,(int)pos.zCoord);
+ if(bh!=-1 && bh<hardness){
+ world.func_147480_a((int)pos.xCoord, (int)pos.yCoord,(int)pos.zCoord, true);
+ }
+ }
+
+ @Override
+ public void failure() {
+ sanity(1, 4);
+ }
+}
|
