private void SetStateIfMobInteractsWithPlate(net.minecraft.src.World world, int i , int j, int k) { bool flag = world.GetBlockMetadata(i, j, k) == 1; bool flag1 = false; float f = 0.125F; List <Entity> list = null; if (triggerMobType == net.minecraft.src.EnumMobType.everything) { list = world.GetEntitiesWithinAABBExcludingEntity(null, net.minecraft.src.AxisAlignedBB .GetBoundingBoxFromPool((float)i + f, j, (float)k + f, (float)(i + 1) - f, (double )j + 0.25D, (float)(k + 1) - f)); } if (triggerMobType == net.minecraft.src.EnumMobType.mobs) { list = world.GetEntitiesWithinAABB(Sharpen.Runtime.GetClassForType(typeof(net.minecraft.src.EntityLiving )), net.minecraft.src.AxisAlignedBB.GetBoundingBoxFromPool((float)i + f, j, (float )k + f, (float)(i + 1) - f, (double)j + 0.25D, (float)(k + 1) - f)); } if (triggerMobType == net.minecraft.src.EnumMobType.players) { list = world.GetEntitiesWithinAABB(Sharpen.Runtime.GetClassForType(typeof(net.minecraft.src.EntityPlayer )), net.minecraft.src.AxisAlignedBB.GetBoundingBoxFromPool((float)i + f, j, (float )k + f, (float)(i + 1) - f, (double)j + 0.25D, (float)(k + 1) - f)); } if (list.Count > 0) { flag1 = true; } if (flag1 && !flag) { world.SetBlockMetadataWithNotify(i, j, k, 1); world.NotifyBlocksOfNeighborChange(i, j, k, ID); world.NotifyBlocksOfNeighborChange(i, j - 1, k, ID); world.MarkBlocksDirty(i, j, k, i, j, k); world.PlaySoundEffect((double)i + 0.5D, (double)j + 0.10000000000000001D, (double )k + 0.5D, "random.click", 0.3F, 0.6F); } if (!flag1 && flag) { world.SetBlockMetadataWithNotify(i, j, k, 0); world.NotifyBlocksOfNeighborChange(i, j, k, ID); world.NotifyBlocksOfNeighborChange(i, j - 1, k, ID); world.MarkBlocksDirty(i, j, k, i, j, k); world.PlaySoundEffect((double)i + 0.5D, (double)j + 0.10000000000000001D, (double )k + 0.5D, "random.click", 0.3F, 0.5F); } if (flag1) { world.ScheduleUpdateTick(i, j, k, ID, TickRate()); } }
private void Func_27035_f(net.minecraft.src.World world, int i, int j, int k, int l) { bool flag = (l & 8) != 0; bool flag1 = false; float f = 0.125F; List <Entity> list = world.GetEntitiesWithinAABB(Sharpen.Runtime.GetClassForType (typeof(net.minecraft.src.EntityMinecart)), net.minecraft.src.AxisAlignedBB.GetBoundingBoxFromPool ((float)i + f, j, (float)k + f, (float)(i + 1) - f, (double)j + 0.25D, (float)(k + 1) - f)); if (list.Count > 0) { flag1 = true; } if (flag1 && !flag) { world.SetBlockMetadataWithNotify(i, j, k, l | 8); world.NotifyBlocksOfNeighborChange(i, j, k, ID); world.NotifyBlocksOfNeighborChange(i, j - 1, k, ID); world.MarkBlocksDirty(i, j, k, i, j, k); } if (!flag1 && flag) { world.SetBlockMetadataWithNotify(i, j, k, l & 7); world.NotifyBlocksOfNeighborChange(i, j, k, ID); world.NotifyBlocksOfNeighborChange(i, j - 1, k, ID); world.MarkBlocksDirty(i, j, k, i, j, k); } if (flag1) { world.ScheduleUpdateTick(i, j, k, ID, TickRate()); } }