Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private boolean func_191504_a(@Nullable Entity p_191504_1_, AxisAlignedBB p_191504_2_, boolean p_191504_3_, @Nullable List<AxisAlignedBB> p_191504_4_)
- {
- int i = MathHelper.floor(p_191504_2_.minX) - 1;
- int j = MathHelper.ceil(p_191504_2_.maxX) + 1;
- int k = MathHelper.floor(p_191504_2_.minY) - 1;
- int l = MathHelper.ceil(p_191504_2_.maxY) + 1;
- int i1 = MathHelper.floor(p_191504_2_.minZ) - 1;
- int j1 = MathHelper.ceil(p_191504_2_.maxZ) + 1;
- WorldBorder worldborder = this.getWorldBorder();
- boolean flag = p_191504_1_ != null && p_191504_1_.isOutsideBorder();
- boolean flag1 = p_191504_1_ != null && this.func_191503_g(p_191504_1_);
- IBlockState iblockstate = Blocks.STONE.getDefaultState();
- BlockPos.PooledMutableBlockPos blockpos$pooledmutableblockpos = BlockPos.PooledMutableBlockPos.retain();
- try
- {
- for (int k1 = i; k1 < j; ++k1)
- {
- for (int l1 = i1; l1 < j1; ++l1)
- {
- boolean flag2 = k1 == i || k1 == j - 1;
- boolean flag3 = l1 == i1 || l1 == j1 - 1;
- if ((!flag2 || !flag3) && this.isBlockLoaded(blockpos$pooledmutableblockpos.setPos(k1, 64, l1)))
- {
- for (int i2 = k; i2 < l; ++i2)
- {
- if (!flag2 && !flag3 || i2 != l - 1)
- {
- if (p_191504_3_)
- {
- if (k1 < -30000000 || k1 >= 30000000 || l1 < -30000000 || l1 >= 30000000)
- {
- boolean lvt_21_1_ = true;
- return lvt_21_1_;
- }
- }
- else if (p_191504_1_ != null && flag == flag1)
- {
- p_191504_1_.setOutsideBorder(!flag1);
- }
- blockpos$pooledmutableblockpos.setPos(k1, i2, l1);
- IBlockState iblockstate1;
- if (!p_191504_3_ && !worldborder.contains(blockpos$pooledmutableblockpos) && flag1)
- {
- iblockstate1 = iblockstate;
- }
- else
- {
- iblockstate1 = this.getBlockState(blockpos$pooledmutableblockpos);
- }
- iblockstate1.addCollisionBoxToList(this, blockpos$pooledmutableblockpos, p_191504_2_, p_191504_4_, p_191504_1_, false);
- net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.GetCollisionBoxesEvent(this, null, p_191504_2_, p_191504_4_));
- if (p_191504_3_ && !p_191504_4_.isEmpty())
- {
- boolean flag5 = true;
- return flag5;
- }
- }
- }
- }
- }
- }
- }
- finally
- {
- blockpos$pooledmutableblockpos.release();
- }
- return !p_191504_4_.isEmpty();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement