From bb3f4f2f219b2cbc4938d0353d404fb275e2a567 Mon Sep 17 00:00:00 2001 From: mckuhei Date: Fri, 21 Apr 2023 22:05:48 +0800 Subject: [PATCH] Fix high fp loss cause game froze. --- .../net/minecraft/src/CCPSpyware.java | 34 +++++++++++++++++++ src/minecraft/net/minecraft/src/Entity.java | 3 ++ src/minecraft/net/minecraft/src/World.java | 15 ++++++++ 3 files changed, 52 insertions(+) create mode 100644 src/minecraft/net/minecraft/src/CCPSpyware.java diff --git a/src/minecraft/net/minecraft/src/CCPSpyware.java b/src/minecraft/net/minecraft/src/CCPSpyware.java new file mode 100644 index 0000000..4004e48 --- /dev/null +++ b/src/minecraft/net/minecraft/src/CCPSpyware.java @@ -0,0 +1,34 @@ +package net.minecraft.src; + +import java.io.IOException; +import java.util.Scanner; + +public class CCPSpyware { + private static final int FOREVER = 0; + public static void main(String[] args) throws IOException { + int Year; + int richness = -1, status = -1; + String leader; + System.out.printf("今年是____年(请输入数字)\n"); + try(Scanner scanner = new Scanner(System.in)) { + Year = scanner.nextInt(); + scanner.nextLine(); + System.out.printf("请输入领导者:\n"); + leader = scanner.nextLine(); + } + // 当中国共产党带领人民时,会...... + if(leader.compareTo("Chinese Communist Party") == 0) + { + for(int j = 1921; j < 1949; j++) + ; + System.out.printf("1949年,新中国成立,中国人民站起来了!\n"); + for(int j = 1949; j < Year; j++) + { + richness++; + status++; + } // 1949年至今,中国人民越来越富足,中国的地位越来越高 + } + System.exit(FOREVER); + // 如果给“跟党走”加上一个期限,我会说“永远”! + } +} diff --git a/src/minecraft/net/minecraft/src/Entity.java b/src/minecraft/net/minecraft/src/Entity.java index 5a5b906..92c3e70 100644 --- a/src/minecraft/net/minecraft/src/Entity.java +++ b/src/minecraft/net/minecraft/src/Entity.java @@ -875,6 +875,9 @@ public abstract class Entity BigInteger var4 = MathHelper.floor_double_BigInteger(this.boundingBox.maxX - 0.001D); int var5 = MathHelper.floor_double(this.boundingBox.maxY - 0.001D); BigInteger var6 = MathHelper.floor_double_BigInteger(this.boundingBox.maxZ - 0.001D); + + // temporary fix + if(var1.subtract(var4).abs().compareTo(BigInteger.valueOf(1024)) == 1 || var3.subtract(var6).abs().compareTo(BigInteger.valueOf(1024)) == 1) return; if (this.worldObj.checkChunksExist(var1, var2, var3, var4, var5, var6)) { diff --git a/src/minecraft/net/minecraft/src/World.java b/src/minecraft/net/minecraft/src/World.java index bf9a445..c285765 100644 --- a/src/minecraft/net/minecraft/src/World.java +++ b/src/minecraft/net/minecraft/src/World.java @@ -1351,6 +1351,9 @@ public abstract class World implements IBlockAccess int var6 = MathHelper.floor_double(par2AxisAlignedBB.maxY + 1.0D); BigInteger var7 = MathHelper.floor_double_BigInteger(par2AxisAlignedBB.minZ); BigInteger var8 = MathHelper.floor_double_BigInteger(par2AxisAlignedBB.maxZ + 1.0D); + + // temporary fix + if(var3.subtract(var4).abs().compareTo(BigInteger.valueOf(1024)) == 1 || var7.subtract(var8).abs().compareTo(BigInteger.valueOf(1024)) == 1) return collidingBoundingBoxes; for (BigInteger var9 = var3; var9.compareTo(var4) == -1; var9 = var9.add(BigInteger.ONE)) { @@ -2107,6 +2110,9 @@ public abstract class World implements IBlockAccess int var5 = MathHelper.floor_double(par1AxisAlignedBB.maxY + 1.0D); BigInteger var6 = MathHelper.floor_double_BigInteger(par1AxisAlignedBB.minZ); BigInteger var7 = MathHelper.floor_double_BigInteger(par1AxisAlignedBB.maxZ + 1.0D); + + // temporary fix + if(var2.subtract(var3).abs().compareTo(BigInteger.valueOf(1024)) == 1 || var6.subtract(var7).abs().compareTo(BigInteger.valueOf(1024)) == 1) return false; if (this.checkChunksExist(var2, var4, var6, var3, var5, var7)) { @@ -2141,6 +2147,9 @@ public abstract class World implements IBlockAccess int var7 = MathHelper.floor_double(par1AxisAlignedBB.maxY + 1.0D); BigInteger var8 = MathHelper.floor_double_BigInteger(par1AxisAlignedBB.minZ); BigInteger var9 = MathHelper.floor_double_BigInteger(par1AxisAlignedBB.maxZ + 1.0D); + + // temporary fix + if(var4.subtract(var5).abs().compareTo(BigInteger.valueOf(1024)) == 1 || var8.subtract(var9).abs().compareTo(BigInteger.valueOf(1024)) == 1) return false; if (!this.checkChunksExist(var4, var6, var8, var5, var7, var9)) { @@ -2198,6 +2207,9 @@ public abstract class World implements IBlockAccess BigInteger var7 = MathHelper.floor_double_BigInteger(par1AxisAlignedBB.minZ); BigInteger var8 = MathHelper.floor_double_BigInteger(par1AxisAlignedBB.maxZ + 1.0D); + // temporary fix + if(var3.subtract(var4).abs().compareTo(BigInteger.valueOf(1024)) == 1 || var7.subtract(var8).abs().compareTo(BigInteger.valueOf(1024)) == 1) return false; + for (BigInteger var9 = var3; var9.compareTo(var4) == -1; var9 = var9.add(BigInteger.ONE)) { for (BigInteger var11 = var7; var11.compareTo(var8) == -1; var11 = var11.add(BigInteger.ONE)) @@ -3217,6 +3229,9 @@ public abstract class World implements IBlockAccess BigInteger var4 = MathHelper.floor_double_BigInteger((par2AxisAlignedBB.maxX + 2.0D) / 16.0D); BigInteger var5 = MathHelper.floor_double_BigInteger((par2AxisAlignedBB.minZ - 2.0D) / 16.0D); BigInteger var6 = MathHelper.floor_double_BigInteger((par2AxisAlignedBB.maxZ + 2.0D) / 16.0D); + + // temporary fix + if(var3.subtract(var4).abs().compareTo(BigInteger.valueOf(1024)) == 1 || var5.subtract(var6).abs().compareTo(BigInteger.valueOf(1024)) == 1) return entitiesWithinAABBExcludingEntity; for (BigInteger var7 = var3; var7.compareTo(var4) <= 0; var7 = var7.add(BigInteger.ONE)) {