public void doPhysics(World var1, BlockPosition var2, IBlockData var3, Block var4) { EnumDirection.EnumAxis var5 = (EnumDirection.EnumAxis) var3.get(AXIS); BlockPortal.Shape var6; if (var5 == EnumDirection.EnumAxis.X) { var6 = new BlockPortal.Shape(var1, var2, EnumDirection.EnumAxis.X); if (!var6.d() || var6.e < var6.h * var6.g) { var1.setTypeUpdate(var2, Blocks.AIR.getBlockData()); } } else if (var5 == EnumDirection.EnumAxis.Z) { var6 = new BlockPortal.Shape(var1, var2, EnumDirection.EnumAxis.Z); if (!var6.d() || var6.e < var6.h * var6.g) { var1.setTypeUpdate(var2, Blocks.AIR.getBlockData()); } } }
public boolean e(World var1, BlockPosition var2) { BlockPortal.Shape var3 = new BlockPortal.Shape(var1, var2, EnumDirection.EnumAxis.X); if (var3.d() && var3.e == 0) { var3.e(); return true; } else { BlockPortal.Shape var4 = new BlockPortal.Shape(var1, var2, EnumDirection.EnumAxis.Z); if (var4.d() && var4.e == 0) { var4.e(); return true; } else { return false; } } }
public ShapeDetector.ShapeDetectorCollection f(World var1, BlockPosition var2) { EnumDirection.EnumAxis var3 = EnumDirection.EnumAxis.Z; BlockPortal.Shape var4 = new BlockPortal.Shape(var1, var2, EnumDirection.EnumAxis.X); LoadingCache var5 = ShapeDetector.a(var1, true); if (!var4.d()) { var3 = EnumDirection.EnumAxis.X; var4 = new BlockPortal.Shape(var1, var2, EnumDirection.EnumAxis.Z); } if (!var4.d()) { return new ShapeDetector.ShapeDetectorCollection( var2, EnumDirection.NORTH, EnumDirection.UP, var5, 1, 1, 1); } else { int[] var6 = new int[EnumDirection.EnumAxisDirection.values().length]; EnumDirection var7 = var4.c.f(); BlockPosition var8 = var4.f.up(var4.a() - 1); EnumDirection.EnumAxisDirection[] var9 = EnumDirection.EnumAxisDirection.values(); int var10 = var9.length; int var11; for (var11 = 0; var11 < var10; ++var11) { EnumDirection.EnumAxisDirection var12 = var9[var11]; ShapeDetector.ShapeDetectorCollection var13 = new ShapeDetector.ShapeDetectorCollection( var7.c() == var12 ? var8 : var8.shift(var4.c, var4.b() - 1), EnumDirection.a(var12, var3), EnumDirection.UP, var5, var4.b(), var4.a(), 1); for (int var14 = 0; var14 < var4.b(); ++var14) { for (int var15 = 0; var15 < var4.a(); ++var15) { ShapeDetectorBlock var16 = var13.a(var14, var15, 1); if (var16.a() != null && var16.a().getBlock().getMaterial() != Material.AIR) { ++var6[var12.ordinal()]; } } } } EnumDirection.EnumAxisDirection var17 = EnumDirection.EnumAxisDirection.POSITIVE; EnumDirection.EnumAxisDirection[] var18 = EnumDirection.EnumAxisDirection.values(); var11 = var18.length; for (int var19 = 0; var19 < var11; ++var19) { EnumDirection.EnumAxisDirection var20 = var18[var19]; if (var6[var20.ordinal()] < var6[var17.ordinal()]) { var17 = var20; } } return new ShapeDetector.ShapeDetectorCollection( var7.c() == var17 ? var8 : var8.shift(var4.c, var4.b() - 1), EnumDirection.a(var17, var3), EnumDirection.UP, var5, var4.b(), var4.a(), 1); } }