Guest User

Untitled

a guest
Oct 17th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.59 KB | None | 0 0
  1. public class OItemBucket extends OItem {
  2.  
  3.    private int a;
  4.  
  5.    public OItemBucket(int var1, int var2) {
  6.       super(var1);
  7.       this.bg = 1;
  8.       this.a = var2;
  9.    }
  10.  
  11.    public OItemStack a(OItemStack var1, OWorld var2, OEntityPlayer var3) {
  12.       float var4 = 1.0F;
  13.       float var5 = var3.aY + (var3.aW - var3.aY) * var4;
  14.       float var6 = var3.aX + (var3.aV - var3.aX) * var4;
  15.       double var7 = var3.aM + (var3.aP - var3.aM) * (double)var4;
  16.       double var9 = var3.aN + (var3.aQ - var3.aN) * (double)var4 + 1.62D - (double)var3.bi;
  17.       double var11 = var3.aO + (var3.aR - var3.aO) * (double)var4;
  18.       OVec3D var13 = OVec3D.b(var7, var9, var11);
  19.       float var14 = OMathHelper.b(-var6 * 0.017453292F - 3.1415927F);
  20.       float var15 = OMathHelper.a(-var6 * 0.017453292F - 3.1415927F);
  21.       float var16 = -OMathHelper.b(-var5 * 0.017453292F);
  22.       float var17 = OMathHelper.a(-var5 * 0.017453292F);
  23.       float var18 = var15 * var16;
  24.       float var20 = var14 * var16;
  25.       double var21 = 5.0D;
  26.       OVec3D var23 = var13.c((double)var18 * var21, (double)var17 * var21, (double)var20 * var21);
  27.       OMovingObjectPosition var24 = var2.a(var13, var23, this.a == 0);
  28.       if(var24 == null) {
  29.          return var1;
  30.       } else {
  31.          if(var24.a == OEnumMovingObjectType.a) {
  32.             int var25 = var24.b;
  33.             int var26 = var24.c;
  34.             int var27 = var24.d;
  35.             if(!var2.a(var3, var25, var26, var27)) {
  36.                return var1;
  37.             }
  38.             // CanaryMod: Click == placed when handling an empty bukkit!
  39.             Block blockClicked = new Block(var2.world, var2.a(var25, var26, var27), var25, var26, var27);
  40.             blockClicked.setFaceClicked(Block.Face.fromId(var24.e));
  41.             Block blockPlaced = new Block(var2.world, 0, var25, var26, var27);
  42.  
  43.             if(this.a == 0) {
  44.                if(var2.d(var25, var26, var27) == OMaterial.g && var2.c(var25, var26, var27) == 0) {
  45.                   // Filling a bucket with water!
  46.                   if(var3 instanceof OEntityPlayerMP && (Boolean)etc.getLoader().callHook(PluginLoader.Hook.ITEM_USE, ((OEntityPlayerMP)var3).getPlayer(), blockPlaced, blockClicked, new Item(var1)))
  47.                      return var1;
  48.  
  49.                   var2.e(var25, var26, var27, 0);
  50.                   return new OItemStack(OItem.av);
  51.                }
  52.  
  53.                if(var2.d(var25, var26, var27) == OMaterial.h && var2.c(var25, var26, var27) == 0) {
  54.                   // Filling a bucket with lava!
  55.                   if(var3 instanceof OEntityPlayerMP && (Boolean)etc.getLoader().callHook(PluginLoader.Hook.ITEM_USE, ((OEntityPlayerMP)var3).getPlayer(), blockPlaced, blockClicked, new Item(var1)))
  56.                      return var1;
  57.  
  58.                   var2.e(var25, var26, var27, 0);
  59.                   return new OItemStack(OItem.aw);
  60.                }
  61.             } else {
  62.                if(this.a < 0) {
  63.                   return new OItemStack(OItem.au);
  64.                }
  65.  
  66.                if(var24.e == 0) {
  67.                   --var26;
  68.                }
  69.  
  70.                if(var24.e == 1) {
  71.                   ++var26;
  72.                }
  73.  
  74.                if(var24.e == 2) {
  75.                   --var27;
  76.                }
  77.  
  78.                if(var24.e == 3) {
  79.                   ++var27;
  80.                }
  81.  
  82.                if(var24.e == 4) {
  83.                   --var25;
  84.                }
  85.  
  86.                if(var24.e == 5) {
  87.                   ++var25;
  88.                }
  89.  
  90.                if(var2.f(var25, var26, var27) || !var2.d(var25, var26, var27).a()) {
  91.                   if(var2.t.d && this.a == OBlock.B.bn) {
  92.                      var2.a(var7 + 0.5D, var9 + 0.5D, var11 + 0.5D, "random.fizz", 0.5F, 2.6F + (var2.r.nextFloat() - var2.r.nextFloat()) * 0.8F);
  93.  
  94.                      for(int var28 = 0; var28 < 8; ++var28) {
  95.                         var2.a("largesmoke", (double)var25 + Math.random(), (double)var26 + Math.random(), (double)var27 + Math.random(), 0.0D, 0.0D, 0.0D);
  96.                      }
  97.                   } else {
  98.                      // CanaryMod: bucket empty
  99.                      blockPlaced = new Block(var2.world, a, var25, var26, var27);
  100.                      if(var3 instanceof OEntityPlayerMP && (Boolean)etc.getLoader().callHook(PluginLoader.Hook.ITEM_USE, ((OEntityPlayerMP)var3).getPlayer(), blockPlaced, blockClicked, new Item(var1)))
  101.                         return var1;
  102.                      var2.b(var25, var26, var27, this.a, 0);
  103.                   }
  104.  
  105.                   return new OItemStack(OItem.au);
  106.                }
  107.             }
  108.          } else if(this.a == 0 && var24.g instanceof OEntityCow) {
  109.             return new OItemStack(OItem.aE);
  110.          }
  111.  
  112.          return var1;
  113.       }
  114.    }
  115. }
Add Comment
Please, Sign In to add comment