From b603f86c1cbd57335941524459e3a30083cd5b45 Mon Sep 17 00:00:00 2001 From: mckuhei Date: Sun, 14 May 2023 01:43:34 +0800 Subject: [PATCH 1/7] Deobfuscate some variables. --- .../minecraft/src/ChunkProviderGenerate.java | 179 +++++++++--------- 1 file changed, 91 insertions(+), 88 deletions(-) diff --git a/src/minecraft/net/minecraft/src/ChunkProviderGenerate.java b/src/minecraft/net/minecraft/src/ChunkProviderGenerate.java index cd22b63..d71b04a 100644 --- a/src/minecraft/net/minecraft/src/ChunkProviderGenerate.java +++ b/src/minecraft/net/minecraft/src/ChunkProviderGenerate.java @@ -98,80 +98,83 @@ public class ChunkProviderGenerate implements IChunkProvider */ public void generateTerrain(BigInteger par1, BigInteger par2, byte[] par3ArrayOfByte) { - byte var4 = 4; - byte var5 = 16; - byte var6 = 63; - int var7 = var4 + 1; - byte var8 = 17; - int var9 = var4 + 1; - this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1.multiply(BigInteger.valueOf(4)).subtract(BigInteger.valueOf(2)), par2.multiply(BigInteger.valueOf(4)).subtract(BigInteger.valueOf(2)), var7 + 5, var9 + 5); - this.noiseArray = this.initializeNoiseField(this.noiseArray, par1.multiply(BigInteger.valueOf(var4)), 0, par2.multiply(BigInteger.valueOf(var4)), var7, var8, var9); - - for (int var10 = 0; var10 < var4; ++var10) + byte width1 = 4; + byte height1 = 16; + byte seaLevel = 63; +// int var7 = width1 + 1; + byte noiseHeight = 17; + int noiseWidth = width1 + 1; + this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1.multiply(BigInteger.valueOf(4)).subtract(BigInteger.valueOf(2)), par2.multiply(BigInteger.valueOf(4)).subtract(BigInteger.valueOf(2)), noiseWidth + 5, noiseWidth + 5); + this.noiseArray = this.initializeNoiseField(this.noiseArray, par1.multiply(BigInteger.valueOf(width1)), 0, par2.multiply(BigInteger.valueOf(width1)), noiseWidth, noiseHeight, noiseWidth); + + // Scan blocks... + for (int x1 = 0; x1 < width1; ++x1) { - for (int var11 = 0; var11 < var4; ++var11) + for (int z1 = 0; z1 < width1; ++z1) { - for (int var12 = 0; var12 < var5; ++var12) + for (int y1 = 0; y1 < height1; ++y1) { - double var13 = 0.125D; - double var15 = this.noiseArray[((var10 + 0) * var9 + var11 + 0) * var8 + var12 + 0]; - double var17 = this.noiseArray[((var10 + 0) * var9 + var11 + 1) * var8 + var12 + 0]; - double var19 = this.noiseArray[((var10 + 1) * var9 + var11 + 0) * var8 + var12 + 0]; - double var21 = this.noiseArray[((var10 + 1) * var9 + var11 + 1) * var8 + var12 + 0]; - double var23 = (this.noiseArray[((var10 + 0) * var9 + var11 + 0) * var8 + var12 + 1] - var15) * var13; - double var25 = (this.noiseArray[((var10 + 0) * var9 + var11 + 1) * var8 + var12 + 1] - var17) * var13; - double var27 = (this.noiseArray[((var10 + 1) * var9 + var11 + 0) * var8 + var12 + 1] - var19) * var13; - double var29 = (this.noiseArray[((var10 + 1) * var9 + var11 + 1) * var8 + var12 + 1] - var21) * var13; - - for (int var31 = 0; var31 < 8; ++var31) + // Who is faster? Is LOAD faster or LDC faster? + double step8 = 0.125D; + // Evil gradient variables. + double AA = this.noiseArray[((x1 + 0) * noiseWidth + z1 + 0) * noiseHeight + y1 + 0]; + double BB = this.noiseArray[((x1 + 0) * noiseWidth + z1 + 1) * noiseHeight + y1 + 0]; + double CC = this.noiseArray[((x1 + 1) * noiseWidth + z1 + 0) * noiseHeight + y1 + 0]; + double DD = this.noiseArray[((x1 + 1) * noiseWidth + z1 + 1) * noiseHeight + y1 + 0]; + double stepAA = (this.noiseArray[((x1 + 0) * noiseWidth + z1 + 0) * noiseHeight + y1 + 1] - AA) * step8; // Use 0.125D instead of step8 may faster??? + double stepBB = (this.noiseArray[((x1 + 0) * noiseWidth + z1 + 1) * noiseHeight + y1 + 1] - BB) * step8; + double stepCC = (this.noiseArray[((x1 + 1) * noiseWidth + z1 + 0) * noiseHeight + y1 + 1] - CC) * step8; + double stepDD = (this.noiseArray[((x1 + 1) * noiseWidth + z1 + 1) * noiseHeight + y1 + 1] - DD) * step8; + + for (int y2 = 0; y2 < 8; ++y2) { - double var32 = 0.25D; - double var34 = var15; - double var36 = var17; - double var38 = (var19 - var15) * var32; - double var40 = (var21 - var17) * var32; + double step4 = 0.25D; + double EE = AA; + double FF = BB; + double stepEE = (CC - AA) * step4; + double stepFF = (DD - BB) * step4; - for (int var42 = 0; var42 < 4; ++var42) + for (int x2 = 0; x2 < 4; ++x2) { - int var43 = var42 + var10 * 4 << 11 | 0 + var11 * 4 << 7 | var12 * 8 + var31; - short var44 = 128; - var43 -= var44; - double var45 = 0.25D; - double var49 = (var36 - var34) * var45; - double var47 = var34 - var49; - - for (int var51 = 0; var51 < 4; ++var51) + int xzy = x2 + x1 * 4 << 11 | 0 + z1 * 4 << 7 | y1 * 8 + y2; + short height = 128; + xzy -= height; +// double var45 = 0.25D; + double stepGG = (FF - EE) * step4; + double GG = EE - stepGG; + + for (int z2 = 0; z2 < 4; ++z2) { if(!ENABLE_FRINGE_LAND) { - var47 += var49; + GG += stepGG; } else { - if(var51 == 0) var47 = var34; + if(z2 == 0) GG = EE; } - if (var47 > 0.0D) + if (GG > 0.0D) { - par3ArrayOfByte[var43 += var44] = (byte)Block.stone.blockID; + par3ArrayOfByte[xzy += height] = (byte)Block.stone.blockID; } - else if (var12 * 8 + var31 < var6) + else if (y1 * 8 + y2 < seaLevel) { - par3ArrayOfByte[var43 += var44] = (byte)Block.waterStill.blockID; + par3ArrayOfByte[xzy += height] = (byte)Block.waterStill.blockID; } else { - par3ArrayOfByte[var43 += var44] = 0; + par3ArrayOfByte[xzy += height] = 0; } if(ENABLE_FRINGE_LAND) { - var47 += var49; + GG += stepGG; } } - var34 += var38; - var36 += var40; + EE += stepEE; + FF += stepFF; } - var15 += var23; - var17 += var25; - var19 += var27; - var21 += var29; + AA += stepAA; + BB += stepBB; + CC += stepCC; + DD += stepDD; } } } @@ -201,15 +204,15 @@ public class ChunkProviderGenerate implements IChunkProvider for (int var16 = 127; var16 >= 0; --var16) { - int var17 = (var9 * 16 + var8) * 128 + var16; + int xzy = (var9 * 16 + var8) * 128 + var16; if (var16 <= 0 + this.rand.nextInt(5)) { - par3ArrayOfByte[var17] = (byte)Block.bedrock.blockID; + par3ArrayOfByte[xzy] = (byte)Block.bedrock.blockID; } else { - byte var18 = par3ArrayOfByte[var17]; + byte var18 = par3ArrayOfByte[xzy]; if (var18 == 0) { @@ -246,17 +249,17 @@ public class ChunkProviderGenerate implements IChunkProvider if (var16 >= var5 - 1) { - par3ArrayOfByte[var17] = var14; + par3ArrayOfByte[xzy] = var14; } else { - par3ArrayOfByte[var17] = var15; + par3ArrayOfByte[xzy] = var15; } } else if (var13 > 0) { --var13; - par3ArrayOfByte[var17] = var15; + par3ArrayOfByte[xzy] = var15; if (var13 == 0 && var15 == Block.sand.blockID) { @@ -317,11 +320,11 @@ public class ChunkProviderGenerate implements IChunkProvider * generates a subset of the level's terrain data. Takes 7 arguments: the [empty] noise array, the position, and the * size. */ - private double[] initializeNoiseField(double[] par1ArrayOfDouble, BigInteger par2, int par3, BigInteger par4, int par5, int par6, int par7) + private double[] initializeNoiseField(double[] noiseTable, BigInteger x, int y, BigInteger z, int width, int depth, int height) { - if (par1ArrayOfDouble == null) + if (noiseTable == null) { - par1ArrayOfDouble = new double[par5 * par6 * par7]; + noiseTable = new double[width * depth * height]; } if (this.parabolicField == null) @@ -338,33 +341,33 @@ public class ChunkProviderGenerate implements IChunkProvider } } - double var44 = 684.412D; - double var45 = 684.412D; - this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); - this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); - this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var44 / 80.0D, var45 / 160.0D, var44 / 80.0D); - this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var44, var45, var44); - this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var44, var45, var44); + double scaleX = 684.412D; + double scaleY = 684.412D; + this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, x, z, width, height, 1.121D, 1.121D, 0.5D); + this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, x, z, width, height, 200.0D, 200.0D, 0.5D); + this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, x, y, z, width, depth, height, scaleX / 80.0D, scaleY / 160.0D, scaleX / 80.0D); + this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, x, y, z, width, depth, height, scaleX, scaleY, scaleX); + this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, x, y, z, width, depth, height, scaleX, scaleY, scaleX); boolean var43 = false; boolean var42 = false; int var12 = 0; int var13 = 0; - for (int var14 = 0; var14 < par5; ++var14) + for (int var14 = 0; var14 < width; ++var14) { - for (int var15 = 0; var15 < par7; ++var15) + for (int var15 = 0; var15 < height; ++var15) { - float var16 = 0.0F; - float var17 = 0.0F; + float maxHeight = 0.0F; + float minHeight = 0.0F; float var18 = 0.0F; byte var19 = 2; - BiomeGenBase var20 = this.biomesForGeneration[var14 + 2 + (var15 + 2) * (par5 + 5)]; + BiomeGenBase var20 = this.biomesForGeneration[var14 + 2 + (var15 + 2) * (width + 5)]; for (int var21 = -var19; var21 <= var19; ++var21) { for (int var22 = -var19; var22 <= var19; ++var22) { - BiomeGenBase var23 = this.biomesForGeneration[var14 + var21 + 2 + (var15 + var22 + 2) * (par5 + 5)]; + BiomeGenBase var23 = this.biomesForGeneration[var14 + var21 + 2 + (var15 + var22 + 2) * (width + 5)]; float var24 = this.parabolicField[var21 + 2 + (var22 + 2) * 5] / (var23.minHeight + 2.0F); if (var23.minHeight > var20.minHeight) @@ -372,16 +375,16 @@ public class ChunkProviderGenerate implements IChunkProvider var24 /= 2.0F; } - var16 += var23.maxHeight * var24; - var17 += var23.minHeight * var24; + maxHeight += var23.maxHeight * var24; + minHeight += var23.minHeight * var24; var18 += var24; } } - var16 /= var18; - var17 /= var18; - var16 = var16 * 0.9F + 0.1F; - var17 = (var17 * 4.0F - 1.0F) / 8.0F; + maxHeight /= var18; + minHeight /= var18; + maxHeight = maxHeight * 0.9F + 0.1F; + minHeight = (minHeight * 4.0F - 1.0F) / 8.0F; double var46 = this.noise6[var13] / 8000.0D; if (var46 < 0.0D) @@ -415,13 +418,13 @@ public class ChunkProviderGenerate implements IChunkProvider ++var13; - for (int var47 = 0; var47 < par6; ++var47) + for (int var47 = 0; var47 < depth; ++var47) { - double var48 = (double)var17; - double var26 = (double)var16; + double var48 = (double)minHeight; + double var26 = (double)maxHeight; var48 += var46 * 0.2D; - var48 = var48 * (double)par6 / 16.0D; - double var28 = (double)par6 / 2.0D + var48 * 4.0D; + var48 = var48 * (double)depth / 16.0D; + double var28 = (double)depth / 2.0D + var48 * 4.0D; double var30 = 0.0D; double var32 = ((double)var47 - var28) * 12.0D * 128.0D / 128.0D / var26; @@ -449,19 +452,19 @@ public class ChunkProviderGenerate implements IChunkProvider var30 -= var32; - if (var47 > par6 - 4) + if (var47 > depth - 4) { - double var40 = (double)((float)(var47 - (par6 - 4)) / 3.0F); + double var40 = (double)((float)(var47 - (depth - 4)) / 3.0F); var30 = var30 * (1.0D - var40) + -10.0D * var40; } - par1ArrayOfDouble[var12] = var30; + noiseTable[var12] = var30; ++var12; } } } - return par1ArrayOfDouble; + return noiseTable; } /** From 18c2d4f3998e45150e92c5d0f22fb0cf3c3e51cb Mon Sep 17 00:00:00 2001 From: mckuhei Date: Thu, 18 May 2023 08:12:00 +0800 Subject: [PATCH 2/7] End of support --- Image.png | Bin 0 -> 16014 bytes readme.md | 6 ++++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 Image.png diff --git a/Image.png b/Image.png new file mode 100644 index 0000000000000000000000000000000000000000..22dc11bf963c1c9e447bba489e67b04800cac8d8 GIT binary patch literal 16014 zcmc)xV{m2P7lw<*Halh~>2SxkZQHhOn;pA5NryYOZQHiZli$D2Id#srTXpN!{jzJ- zTx&19HRl*}JY$SV1vzmza%G#b5?dza`J;~ zVfX)RZ`ep=`z)hIVDpj%2&dr|1ytt+=rq7p!+%f;D&PnT;1k}pTVL>YU%Lo6u)O$x z#EhR0ty))qJXd~ceLd(WnYxRt2%ta+qV&6po}ME7@2CkC%^-*vCddJly!-nM#15E5 z0POcbFJuA;`u9KxJTWK*%=ZAc0GP~w|DX?mNdLZ`SO)|a@O`~tGsyqnZV>S9h2L++ z*t0xM9W${9|UAqsj&jm$!YEi1^=kH5;b8fi|X3)VQ$Lg5!WjhDKJ)>W~1x z7~OlV&Vy7=csDdNNX-P?)^MqK2K3VoKL8DGt!&c&i6lEz&n}qdO)p4-iA-*|N|P!P z65s!sDD@NI&MxoH_7_nT1bq*7k)Svbx!3naYdB>tnezLQyMyLhkjqvL0LaT-GkSDw zcyv9(lkOpE)UVsWC!3dXC*z|Sv#?{>dHGKqZ`qcZX~T!KXY9xS6aClUC9umGVbima z{?Rw@jAf>t)LXLAW%Wl<(!}1uuUgZ_&byiwo4L%KUnS*)f9)QZoY{(vHR_T$&vqJp zc=z?9&N5m5_YQ}duK~7$gdSSlj-tDW8Ch1tT+sty9;4~!PL&N>5U~fo zolY%aX302A87j|o$)g4=xC2*zrEQe?B~01l8!Xz^!K4KMCVub+b|3hCwjOJtyvJ?Z zNfn%+=!+o=9`3G1G(4#8IbQJL4@I_1A$@J`JJ;6(K^{}$d(g%g;@=Z7W*`JIUAs1y zcfv*-J>@uTVmC5BUz-?S1EySrt0uPa4Ni{8HgsW`yO~*;l5K3P*a%Xo1XPg*qKms=L6vp`-~ri4gtXd`j4?Ag&O;Kv=55A_(Ui>L&c?=MSRM3K%=h%`WF>Bxd_>?I+biX zccy~wBje``+iRqkIDh0kw{I97Z#;N)*VJSLkON1)5+2_z*nN*kMe}>^K^gXfom;bspgZ<@{Oc)y}f5#44eI6;Ag-z8%RSB@T~)=(YQ&oNZg!^lQs zqP^=A3K!Rt871|QC}lHIEKL+sPHmHYET*--<#jk=X*?e=aKi)* z!`;Q&49y7}?@*n<%PN{@ZCPF!-$T@w7C#8V$q@7nuJkrs5=-r#iXF{yCv#IKIpsTI zIEh05{8Id%p8lm}53gaZk(d>k+&6<+cBBjS%MY-$Dq<=#NFlE(Sai$Sr=yASom`Hm z-@4Bmu#PJ`Oms>_zPRoUQL=S9Aq~<*eNPz@;>!ee5Z0cb%O{(3Ft1eErlkI)Fn5?6 z95)N5;h0$2)}0XRe8_hha*ghUrn_Um$MWxQ!?WIWL`23z71d#L6n=~WAN?x@yIZ8% zn@X_6#zU_V^3S4y*@NAS-i76R?+{Yq-%IRuHw8pGL&7UV%b;$}y?tc4H!CwELM!wE zYsa{547ACNPK^0}0(%*mvo0Ycf~kN_yZJ6P#&n!Y7!d&0)3RO9QklDNi5UW^m_C7xlMfJIT(*KG|Y?9C6|Lsqe?}H0CSQd&{Ne zdJ}m9Y>n=;T>Dgr^1aXJXJvavChQ}XWmHhy&710PsJg5Q^ozbTyNll|D-!`v2)W^( zq0Xoe5gTi*)dYEYJiLP^6Q)=WL?-Y`H~m(uJS(99_cO(&D`9-wQ*d|stb?(rLHt

nRb1%!_@bPhobji4JsHRP61%Px@SpjO4 zH1BxkMc~ZxQ2#QVJz1Sy7Cj&_iP3tQf<@N3LXBo^5+Xw=u9J`KjgF1?j?gfd_RBO) zdS+uK#yIaXT=ftZel1*kQYs@|S3UYF;30akhi|K@ZoJAE?0jmptZe4jn2Lqo;+qhV z{72L_W{qXM>~LWYOpqz}U~6NreSty$EF(`IbVRRv3#)EPC=t5-@lc~!&XAu>B;{e{ zCpJ$)I>MN@{hq~;1EwPB+6D=*$1AtE0rBw4?omuX26)udgHmvIkkHH_|DH? zrx&j32CtB_Hp<5rW1XQtSV;X0a>H7|Wud$}ojoB>7Mz&#xQc zt3{5{-R?Wlcs+({Ol-}DZO5$|(+$&ff@ZDXxA7_JP_gPFHAijuGr;WZa+jR6)D59b zoXrB^sjl)|`?+?^EKs%27&YFnjKJFQXB(ZayA2yBu{0K(NtB^`R`;io&;7E9uN$M$ z&%Q7@qxg~Rg9yWxx4a1(_97V4_`>$DN!<~I#h}(mPH}T`>h=Hv!uy4Ix{M%2@XaXXu*v&@ z6_%L}O8;-^u>*f{L-&(ZYtgU|X?hc{sFOe>p}<8mfQuE{h) z#|>|tp{by6AE|5lp_zRa?+6*YsBr#dfJ z1lqk<>dU+$*SI&5VX}{jpAeaRJu)GKLT6rk`7uzV(+v}g=3>pes@E5}TIAUWS*LXw zvD}6}=t?tqSli2?aF=-UA&!S3h&bXb)?|f1(YSMvZXE1_xxSa$l$7>&pG|7F>?LfA z3T%rGf}aiRLvLlBV7iq86Ck}*U*|=??Bhx!97l&9;&A)R<}ng?*-kAItRo4>;YpiV z1xn_SPs2v0eSCdI%;pg5u`W_}ZF3HPRLN~ExK|~_7;gfz!Tj;e(EPh5QRoFUaH7wi27v6%ILisDDod}+AuaMy59u}589=Z8K&Ta^&;z? z{<#KOzU0XZcAJu>=N>#_X*N*%Qjjrb$rhe##X-)$QJ#gD)u>tA%X!S?{^EBoz-*2; zm%HDHcBi{(2uq^(90N+24Mf`sYTbDiCLScRho}YEhUf!{n%31tA^8OB2&N zIN2^G!mwT&R3QbaF!wXKviQYy8}$Bl8%D$xwR$s8=6c`ZWEGNgdqW|cgN`7jnG9(w zeg0)0di3^&jt(=~c8vdG&|NNPRZ3c9Wc~XeYtVzwPQ^OpKif0X;VH01D8g=M)>8e-%ti`> zu^qP${w%f)RC2rX8A>`L>M*>_d6y@XgbrZ4}QX9;Q|G{ zhv)y|az`=;RnRmkQ-xt(gG1*>Curp|+wL=s?n@C?9j`Y?*Z%irp3k}!T8-I{J5cS3 zIQkB(o{=$%1~}jTUOqI!LM5<2Bh)Z8nxg|6r2P*G_jy4J3p2p~MD6v=hU@P+Iwz=6 zAb`q?8Y6d$H~Y*}eZNjf)yoYUzP)K>D}ohE7EM=DNM9JHMup72Vz?k;rp0_rm7q(n zd>p#i5mcB`HV$h--sc&aw0r;PHs|oa#OI==&`I>@MIa$h`Qg24gvThC@gFy^Q^`g% zV0V}QF|h&Aj7@MXp}7ozd~+aSMh+k`RjWl4?5VrSxq>k0>0L?irpi~SkuL}J|JrAG zJ{6+5w`r4>A)i3w+&2TlYQcz)^tnoyINT+Cd)dP498?l?42vrj4-UkZ}b0QFl_c4WEm!hI|X@oTll6=B(4u(ELoA|m;U zNd3rb)98$Ry)YFktQc)%irR*7q`ujI;t}J)@`eG-<6gG)nTGq$J5nZYoqWN7e#r<1TT{}FmGJ12&MgsJYCSwVRqAP5w%wo=h*0kTTLt)JqTQ{G!`+j}@W4As z^`pHk(R2A*#guBnigIQll>U@m7a~A7^ucy7wU}jN&$9VoF0VK6MxQVwyv>N13Obx! znL+cFAbU|gQW@da&zLcZS&Lp@uv`f$ONhctg?X&$(Oy5lx(WHIstujmz6_->iCq^D zQ)yhk5rd$WBK_^PTep3j>DMF^>St{mG7~aUvoxg(u5y@_Fx#dF69h+Qyliz^OqZ<( zE}K6;QX;6E^@de|o;QO3@T6da;kqv97esMadepN4W=gMvCHiXCsX}&E>~5I#aLL>W z6xm~jOz{9@_mtieePd{hcNWT zXfkjAW$IlM4(wh~*n*saZGe#_EfZ zeP;Z?__T6?cWVDn0BXocMe2H@k%6=&>T^6op$$iL7JFNPd+@UHTKZ}4*0TScDZmjlt*xlMBw91)(N7!9SJqFOdW;Bq8JUMQA?M#VTgoAXvfJ~IfrwT*~FOiPVh{rI)ksHs!IkIH{f!9 zS#}p)>Bt5wlu|R8n`^UDb$*=N27P9r#IT3noIA^wau*AKUjID|o627hCu1|fX(pCq z$&)MbF3HRZgf%~<4zn{K4!`87JMDNMZliZu|nI4d2ZZ6rMWOU+n*{IGy{ zi^^FTj5AC5x=by9|`+V)HRN)BG{XmxyC3#fQ!8DH{XNfcmiN10g=+(h$!+LFflq(estdZ zcxbh1|AXoa6H*&-T5S|ca@Qwh0=Ja~9rw$IxehmTFK}1`8;o^p-727}0)*kn61C^; zWhu@X>D&%cKQF94B_i-Pv;f@I`zwIp3aP7crukkA^ggmoLWlfN`iZ1%@oII-TN*d1 z@SG3wT<3n(>gfI3tl{++xBphTq`t>N6oRfzow5k&F%(yOW77$EalbsUIc^PdW}}(R zvp;lXncmpwYs41T(z7}<;(h@{tNrreaCdPjyu9;Dm%-9$nH`|D*_@}t{*+pI3@T{| z)m)UqOc_1fdLM^u=&-%@E(a?FI;4S}9w3vl{z3^8zS^lA;W!WpH7;QH?zm*gS@nsN zU?+MpMV(&H3(J|B8iYS@tuz-`LfkCf>^n_?s!UfBB-b%)rMAdoyJddSe20i#x<`)4ghA(^?@q zQ_UBUmSb<@1-HxohpfZx-Pc%uIi{W}zls=H6mk4kH!o;EywH$KFJxj3Zu+tr=uO4; zz1OFuHvwA(n@V`_;9`ZE>X;6C{SB|s#*LlH3m3w7&!U9QRP0raZ>L!ScOeHpSF6)d`@g?sB88vB)v%FiFGg5IEU}nqVAhb z+6~xc3=Ps2s-4Bz%9&$I#%f*$+Cf3fxb-3*ZQByk5~AjxtQ7&Hd>8tJXpQjzr?!di z$BYnj7Z(5+hF1!6c@4k5t9bo%rTX6XkKM6f{v9BL!40J@HA!c2ZzR__93q=UVeRav zL%bEW>fFWtU6%tdFus&fJ5ObS?Z7H|Tr{$QPS*)&%tvEf;B_TJ#kB$wrhZ&+MC(#* zg07)_d}_QCW1U4`pJwPEkb#MXQfnxmCH@ID+?n3R`1%4IEM6)9MjTJXk0VPFkh)zm z)pL9%{K+1_&jKK0x8jY~vHKBO_(B*pGNM}H>l3nmD%?52;$)FIX4!al!NlwF+ zDr?(v$KnClq~=SZzMgo;TDe7aC&!UEQMLB7Stg48vb9}eIwe2 zXnS*W%Ezm%`0B1tts1wZ@!ScBrEc22yVA&EU>M*-Bz|}cc z&5VZ&-?=D;lG_Cqa{ii2PCEb_g8o7o*o^R)c3Bgh>1@934WGK}dC85<yP*7VD=5tzlSKw%_{q^x1huy2_#B@}|j&yyE?}uF^p*aI) z3S55C1kk<%jP7?vK8@H7_3>;$t&s&G4TB3{Od}Nbq4(*ufME7YKj={Hu|$>s9RK|2 z>M-5w0_DbaU7s_GLE!Et8}-S2_Mbs1mkY;Y4>i>o0Ux1P!8jPUefsdqcXoDy6)``R zCjBRmGkt3-*R*jvSn>o#m?PHTXUrqG#_$QW%+!{j>kN}{8Thug7eNcwjM@&LLh$Ij zSl(SsA%~WcDoiMv(j>~g_J?#q>Hg>d7WI4wZRq(H%?N)FGB6saFg8piN^(Ta4A=-2 zyn?mg;p&^Tc$Pn9!^(@xrDR2WNx}c=o2n&u{6dpqfzz)HPtT8F?LQ_52TGx7osAw-Oz_e<_ds*L}1DzS-M#S|VOE**rg}aS(<)3EMb+X zuYOxm#{*KE-Lscwt_CrGMDhSHFn3=9ZEEVw*A4<`FKJsm2enR1UKMmsR{E3<~P#630j^I_GUC@5&e2nn%@rW*< z9=K0*B&W^>yZhI0R7m26Zxd&;P`$R`j?~MWYXB#Pc+lYxm}MIbRmoA8_yOINj)|2e z?A@#xk$rIaC#fMp zT?V8sH+lJKw`_`Ba9u@48bLf1h)(!-^ApOV?OIEOq;cp;sTuCXA#Nk`jL z|4Np=n=&JHdK7}#kw!?`4dDV^`H$fN+9MjDV)!Ye8#cI^OaAM^FN`hNV(qavoT4C9 zf)cTp1ioRIVg~bGQwxC&0CY*fv1=^rJbFg*uTZ{q*t{x#COwZ? zWcv#j4mV-=Rk|PM6^}mS_fRq=o%l|+DvpUk?9cT;KUOuWv&7$nqyD%_d9N!#GC-F5 z9nuvI(ujZu@t|cVj?@h*fl{w9N*-b0F3-^CK1{KlWPqhTAzaD7&~Rcqhrc=j6N7pZ zZ}jlW$Z$qce!x@&4@vmN>J4Qr>XW9V0ZvFrR5NaBTef>W%YkM^YCD0D^e&pzY2SCa z#`D8PJ;+Tjf7V{6!h(?zp`JJBP&01BV^JxVpcYYJoy0mP6*#whKkS%OF4|DzU^t)+ zSPp6)v#x2H0)A`AMR`U^t0q_S_E=J?ml}3#URwZ5D>`$7^;d59I`^3v-Q{N}*_(eb zT8(u$5gfnMk1!0RM%$iJ!s)nqHh1D*W{_<55rUFrYwoGoR$IeF8%6Fv0-u-_wJ`zr z%ke*n*Ea%APiHFhCk3;u%uM~nNtqTKi-yJ z=7~g?DfzaO8S#ZCtDO`$|5DisfK>Z?gcCm;B+Rg*f~n5S1IBkmX6bq!$K8r~-l)(n zsYIOa?@v&u6PYer83SedSOgO-b?YNdZcm{}zw{MF9KSXh>dJiPhl zr_2ohBoE~Rj<0d3DegXIt zGXta1=uhhL41US(q^PTjZs_#DAh9CC!#ic1#bHk)M#&lXX$`U`whJ=_05=Eggl*H z!O{Cwsro2WBQ<~|pxpXu1=o91BrNTZPn8Tzg4zjJ75eDk;PjXBCd33V!^@CWC+Iu58pWjtL;Se54rMtB?cNs9H-dT#88d0}lSdA`hLVN0DmaRvd&d78iZq!uy1!V@$HI6 z2=#rb53~8anVGOI(&lP)xRW9To0#s`JL*!#w=O=`&`QEOIjG+&fMOUd7r+>ydk%k0 zov;OXR9oG6n68W!9_EGZo~aEy_;=01^VGFlL#hDzv-#$ry}OoU<;2Frhg3j@v7cuwapwUlzE#C8f0KOxRzMdg(6^LXpER@?O1-3qx{v#Dx9wH+8UY>zsYyPB~`L7Y|c^}=jCJS zsa}Jy72aY=QJ*hQptnR*H3$Q8%Tx{x8R+A>$p_$@8UO3K`}*i9&zt`-v@@lAbLFI{ zairk44s?*^rg@|2=fjS7XwX>vjw5@uGs{y+Xx{P=Hlg3S*cMb`nwy?oeNMb-P*(F$ z-3S*3UY7aJJM)Gc@crx~juv-JR(#qLCUVj99bGBx=m`Zzm1Rg84yd?%yv`?NKAVko zA+W}{u0QkQqsG$z-2bBhB{{5Cc%0;>T2_v)HifToy1?ycI2U{=fXe>7#kb-w4?1W} z)mTSQws!dUUVWC}`+tmrOJ7FyW|n$#C~1XK zeAqUheI8ubor`;R?9C;{P|p7DJL@L`1{1&w%KXqfc(D|ivELG&;q&&p)DHFr)4C~{ zI%jxlV|{*LE~p{g3SYYWjPRvwV`QfVd#cn&Tq$6h*T?a@C78DC5_l+xzK%x-T`EH} z>CzmX+_C3abt3G55k2p7H&8os^l=%!nP3}r!bDHg=MPA4d|TG_L7}9d5`4~7 z)xhI~f2gnteL9a4;UOHQANxw#;n<>+3)aOM+j0Dh!2h;okJRph)z24`TF0gEaO20q zh3|Z0`(*GELy-b=kRNPnNq!ln3zs+b8L}#ekka?%OMxI|i{p2<#=mEL!(Sh@_%^wjn0cULKHMJ(~vJVzr+6bwQziBHTpr-iGr%QtNZ1P2; zlLD?BTl0D*Fxe<<+4t_$e-rT`bSmK~3pw=NK=8-qngg;OuXaqI`HR^4&V?vXCkBTi zRqmF4SJGaiYWa0HZ}iOp5sjl?%q-d{1qX_Ih}ZU+eDqD2L;M(!$_o>1?|0$F+{g6I zJJ$`ZP8csk*E1?%x-Y8#=f~B})_Y5zj|lMXz4PU_qK}AATn;rElKsuICRo}iec^nr zUh*v)`KL3+;iyTC-VZ;0WKo_tqSdcgM!&bmJm}n#XV=8*=j@HH4@_u3`EZ8r+bgKT z>Qgcjd4FDh^u%)Y?Y6ij<9g%weeCBR0C z?Sl8mtlk49pr6u>T6VQYv8)t%iTrdAzgtrBxcvN(dv?$6e|t19W2eHGM5YUi*9oH! zHxD3&_n39jp=}$*GPSUjH+L^)=v}Gi>LKGm>gjkG{16uslI)6ovh# zd6A~wi#jOt*cDhwblI*FwB&Ez8`xUglS#Su*Kd*jd=n+8n3%ZfMtPofh}h4QRAGC1 z&(oa)>mQfGSDA$_1s@L0KIIYg$KtkuU+oe(DI{i4iGzm;v5KzNephC=m0`JXDYp|; zB%@b~-j9p*2MewdzUyEBai51}%AG@8KOG)wnbFY8iP`=`*PMoy>cxr&*-w-m=k#Nw zvEVH(L^nWzh%T(2r)M)OC)cRn#q`iKAfk$f2w8<>DHHX?05Jtl+7 z1p-6!hpb8%U0hHVgw1HFWVhlwB55+yKX9#Rh;`j(7w|8vHsOa&BN6@-P@!E$OGiTV zo1>h4YN?26INajKAa#ph3G;xyc{JIe$@O9fu47y32ECtS4$+`#ekQ!b=<`C;y6i4!;T0m z|EK7Bpq->re&Wpy$g_Zyou_WW$7BaD&eKMCP((-$l?bl_m_HzU3$6|P_=l?md{qMN zM>Du8N&%F*U@o6-mngZnqg|}Ik=2pMJz-He&>3If8=vFM)R~i$dFP8pybY)@ zTI=;)8XHlOcP~Zfi-^>|$#+#dgqYVq#v<5c3MhsBV`@X;qUD~OBwRIkzCAn}^um~D zBV#0qiKK!GTkEfaGZQKhZ81nFA>~pDeB`3zN*jVn4FT2SGEjgZ-nVU2Z+skyAedD8C{*QiOnip z9sLc*Tm}qA=w`MVyhv;}3*B0bC6t|I@zx{@va|biej}w~#>qB%S!g3j=D~sn2m1Uwn{Z0sL!1>cq!8Ba;Kx|%cWq?@`V7g7(Jwu4A z39M+J4jiY#ESFocWUFb1Fp{)FQ1J{ufB7eRlH22(^xUynFaShyv!`>Hk)0aF)M!pu zpAc&a_;6v}sUv$W7{k3){1YuUyPJCMSBcWUb2uNHYV8e(Ngj`kr9mAQ+k3Tf1YKJ>|FwfV;RzWnmad0yEzEE90O(#tzM zwtQlZbFUln?}fX{L&QDi(UvY#GC*7aj7QSPUJ|6qX@~-}?nQTFlVp)JSoQp;ZTBzR z4~{pEXxyE%xdb15Dy)B+t(T92!${Q@eQ&PQ6y(G~3v%$Gt0z$X^oFcgd(aoi;Y980 zD_@Eu(=n%1hu3bus6{95O- z0WLut?7~za7=rQ0@qdH>YvZdK>Pi6DL6P_7v({Ea%^QwO0yWiAC|0(6tba*VNp22g z$m1FV?S>a4Hd4a+OAR3EoRwRj80-nx_azvk;?0R|eJR{1c@TY-nd`&(g?Dn%SXSVB zr=mBKJI6=8IBn*6WUJcmIr?aVojbZ4R6VM)J+PjgUnOs>LU>TYC%72_$61bl3y@O3 zl*jvJFg%aOB-$ynx~PBHmY2`^^G?Mmfyl}d0BXHCy7g{4u;8Nqq2AcfNcfkdWO3b3 z`_2UX>&VM*Ui2gFeTzulY?ZNCj7{s^esFu$dhFVhlNsQ?Tmyx@4tc?sedU0d(xY1M zHtv*AfiHM8ef2&a#~}L7SaUa$TB5oSP8Xh%J(BJiCtz0&EmGoJrH2{KpP(gRWI*|J zpU%098$~t|s)h<@1-T-{2^#lSY^;wnVbDs6`51Aig+Y?ti~z_fDm(uIC+7scRr%Pu zkZcYoJaIBgN5>sk;W}|cq47|@OgLu!laO9=l?8@7p7l}~R;~G3`~-O^qKnYCG)mdF zL$g^#-hfhSIasFtRid_gn8a>mERJz_i-jKAT%+K-C`4UosEP#r+)!EWIlqdsAcPl?Y^sb> zOB>GduMotaXMYrn4iHE36Ro{zDhNDwP&g;3$|=~aYMYaBmIl>Te_%ZVHKiDM z2od(Sq-%`dIAqI~BI25Iyvk8=Sw^K&SIhoheX{h5OZPFh3|)%W^Lzg~vKu(GT^VNh zg?>dBY&m~{IDtvEnS(fiJeQE^3L{$!($AMdTw&eS`o}vQ;7GV1sQ>?pa~V9CzM}@WAJ%#XsnUgnAVk*~FPpW;4@) z-st4n?`*}H`m}~}vPQht_N<=n=e_3B;%ZeriKkhSXPOOCu& zBqUe$pvcuL3cDH8YBzTe5HtQ|mAOJ=VhXn#eu4hFFFpKrfmA$>la^qU(m4R>C&Vm2 zh8_1IWYvG?m$|d%r!ZF0Wguc>kS0~ika^1Q3InGUU{wh_`V%NYq?ZUIIRvjg3pE*= zHw8aMi6FVWCv_a+lEJbYG8%=_3&i8)&VZ$n+Cc z77dlCOkiT|eGuD;pFN1m?7UaCu@Tdify z+o31otZ~1iy?QPRRAdHmOroP`%*9-IfwDkv8r%%}a<48)BO9bDE9K>g+6U_mvi3aZesM5ey? z1G1dZv#YE-DQ|$}-?P{=A2X=WNCFxIkkg%c`VV)@KZ`XlQ2bRU&pI_|AMylpn zkQVQ~Q7t?t%m^dD67?K6^?&AuHAeL4$<99BO%p?8tqDcK{h9x560EW-zqX6XF3lmWO5a2iOZv}`{M~T&Z31RrXw>XSH&%>0;PEc)r7n;-d z0GaVnTX;Y-#n%+)yW`)8m6E{%Hw(1WE`5+`{F2#du2NG`a2PSfU z{Ahuv0(Z6Tk8)tp#$KD-bHR1dRQgWe<NY>J0AXuR}A7+w{5kPp%IS}JVfd)Tr%s6*NLN9LUirb%b+HpliS#N(ow4J7ul0U~#8~tAHE@yQ zV$#KLEd3!`BtJNv5dGWV4h77SoHy$i+sSn|w)d?VL}%&$11sCsb`*g1`c4uWOl0Lw z^PtAY{4RoqTE6m-j*Zcev3dPfIs4uIi1N&q5_`QWVocxoUIU54FDqoD#kKne&R~IT z*wzQ~HkzY(>_HBGf;?Dj9F-Hub1iUEtuOdVo)awPen=JoE#|>PfLq3!&@S1K`-?<0NY!O=GzkfeaQ%sClgiF{-ZnFpdlbka)pYd(>)FUA#QIr;f@yI8u_bKC?Fb1< zcR4GVpvlHGm2a~@ml&$Nba-gdxjgZ0e;dBu^2y93d!%1lUX;vMn&livXyTH`hRA~N zz>vQ#-=7bC1UPOKceXV?;=`^gqETNHEo&gwnAZ|-?eP*_{Hba95z_LC6dj21vKamtpE(1AugKo&8jOeQ4&EDBR4i&* zv=RCfTYuVYuSfY+4UO6gz zBCX6g5AodIO4k2TTq$fOakfdn2yV^O3lUDXOz?N{wC4ZS zF0DZH|6x0H!k7t@`cdG2h`Q4?0rLOLrt0f2PzpI~0Rq_mU*CP^Ad;eTB2_{LLH`H% CDyQ`T literal 0 HcmV?d00001 diff --git a/readme.md b/readme.md index 6b71fc0..e463817 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,5 @@ -# Minecraft 1.3.2 128bit mod +![](./Image.png) -Incompleted yet. \ No newline at end of file +Please made it you self :) + +# End of support From 68ad14ac833e55b326c12d85635b9da6bcfc8aec Mon Sep 17 00:00:00 2001 From: mckuhei Date: Thu, 18 May 2023 08:20:00 +0800 Subject: [PATCH 3/7] What the fuck --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e463817..6d28098 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ -![](./Image.png) +![Image](./Image.png) Please made it you self :) From 466edac92c5d437a75f839e27c77282348dd9fca Mon Sep 17 00:00:00 2001 From: mckuhei Date: Thu, 18 May 2023 08:22:56 +0800 Subject: [PATCH 4/7] What the fuck --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 6d28098..17e4633 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,6 @@ -![Image](./Image.png) +![Image](http://git.mcmodule.org/mckuhei/1.3.2_128bit/raw/branch/master/Image.png) Please made it you self :) # End of support + From c15b051482bd7ad478c5b154411a11f2659c3985 Mon Sep 17 00:00:00 2001 From: mckuhei Date: Mon, 10 Jul 2023 16:42:58 +0800 Subject: [PATCH 5/7] Add more perlin noise --- .../net/minecraft/src/MathHelper.java | 5 + .../minecraft/src/NoiseGeneratorPerlin16.java | 217 ++++++++++++++++++ ...2.java => NoiseGeneratorPerlinDouble.java} | 6 +- .../src/NoiseGeneratorPerlinFloat.java | 217 ++++++++++++++++++ .../net/minecraft/src/PerlinNoiseFactory.java | 14 +- 5 files changed, 455 insertions(+), 4 deletions(-) create mode 100644 src/minecraft/net/minecraft/src/NoiseGeneratorPerlin16.java rename src/minecraft/net/minecraft/src/{NoiseGeneratorPerlin2.java => NoiseGeneratorPerlinDouble.java} (98%) create mode 100644 src/minecraft/net/minecraft/src/NoiseGeneratorPerlinFloat.java diff --git a/src/minecraft/net/minecraft/src/MathHelper.java b/src/minecraft/net/minecraft/src/MathHelper.java index 4c02b95..2fbb459 100644 --- a/src/minecraft/net/minecraft/src/MathHelper.java +++ b/src/minecraft/net/minecraft/src/MathHelper.java @@ -141,6 +141,11 @@ public class MathHelper { return par0 < par1 ? par1 : (par0 > par2 ? par2 : par0); } + + public static double clamp_double(double par0, double par1, double par2) + { + return par0 < par1 ? par1 : (par0 > par2 ? par2 : par0); + } /** * Maximum of the absolute value of two numbers. diff --git a/src/minecraft/net/minecraft/src/NoiseGeneratorPerlin16.java b/src/minecraft/net/minecraft/src/NoiseGeneratorPerlin16.java new file mode 100644 index 0000000..52211f6 --- /dev/null +++ b/src/minecraft/net/minecraft/src/NoiseGeneratorPerlin16.java @@ -0,0 +1,217 @@ +package net.minecraft.src; + +import java.util.Random; + +import static net.minecraft.src.Constants.*; + +public class NoiseGeneratorPerlin16 extends NoiseGenerator +{ + private int[] permutations; + public double xCoord; + public double yCoord; + public double zCoord; + + public NoiseGeneratorPerlin16() + { + this(new Random()); + } + + public NoiseGeneratorPerlin16(Random par1Random) + { + this.permutations = new int[512]; + this.xCoord = par1Random.nextDouble() * 256.0D; + this.yCoord = par1Random.nextDouble() * 256.0D; + this.zCoord = par1Random.nextDouble() * 256.0D; + int var2; + + for (var2 = 0; var2 < 256; this.permutations[var2] = var2++) + { + ; + } + + for (var2 = 0; var2 < 256; ++var2) + { + int var3 = par1Random.nextInt(256 - var2) + var2; + int var4 = this.permutations[var2]; + this.permutations[var2] = this.permutations[var3]; + this.permutations[var3] = var4; + this.permutations[var2 + 256] = this.permutations[var2]; + } + } + + public final double lerp(double par1, double par3, double par5) + { + return par3 + par1 * (par5 - par3); + } + + public final double grad2d(int par1, double par2, double par4) + { + int var6 = par1 & 15; + double var7 = (double)(1 - ((var6 & 8) >> 3)) * par2; + double var9 = var6 < 4 ? 0.0D : (var6 != 12 && var6 != 14 ? par4 : par2); + return ((var6 & 1) == 0 ? var7 : -var7) + ((var6 & 2) == 0 ? var9 : -var9); + } + + public final double grad3d(int par1, double par2, double par4, double par6) + { + int var8 = par1 & 15; + double var9 = var8 < 8 ? par2 : par4; + double var11 = var8 < 4 ? par4 : (var8 != 12 && var8 != 14 ? par6 : par2); + return ((var8 & 1) == 0 ? var9 : -var9) + ((var8 & 2) == 0 ? var11 : -var11); + } + + private double floor(double value) { + return MathHelper.clamp_double(value < 0 ? Math.floor(value) + 1 : Math.floor(value), -32768D, 32767D); + } + + /** + * pars: noiseArray , xOffset , yOffset , zOffset , xSize , ySize , zSize , xScale, yScale , zScale , noiseScale. + * noiseArray should be xSize*ySize*zSize in size + */ + public void populateNoiseArray(double[] par1ArrayOfDouble, double par2, double par4, double par6, int par8, int par9, int par10, double par11, double par13, double par15, double par17) + { + int var10001; + int var19; + int var22; + double var31; + double var35; + int var37; + double var38; + int var41; + double var42; + int var75; + + if (par9 == 1) + { + boolean var64 = false; + boolean var65 = false; + boolean var21 = false; + boolean var68 = false; + double var70 = 0.0D; + double var73 = 0.0D; + var75 = 0; + double var77 = 1.0D / par17; + + for (int var30 = 0; var30 < par8; ++var30) + { + var31 = par2 + (double)var30 * par11 + this.xCoord; + double var78 = floor(var31); + + if (var31 < (double)var78) + { + --var78; + } + + int var34 = (int) (var78 % 256D) & 255; + var31 -= (double)var78; + var35 = var31 * var31 * var31 * (var31 * (var31 * 6.0D - 15.0D) + 10.0D); + + for (var37 = 0; var37 < par10; ++var37) + { + var38 = par6 + (double)var37 * par15 + this.zCoord; + double var40 = floor(var38); + + if (var38 < (double)var40) + { + --var40; + } + + var41 = (int) (var40 % 256D) & 255; + var38 -= (double)var40; + var42 = var38 * var38 * var38 * (var38 * (var38 * 6.0D - 15.0D) + 10.0D); + var19 = this.permutations[var34] + 0; + int var66 = this.permutations[var19] + var41; + int var67 = this.permutations[var34 + 1] + 0; + var22 = this.permutations[var67] + var41; + var70 = this.lerp(var35, this.grad2d(this.permutations[var66], var31, var38), this.grad3d(this.permutations[var22], var31 - 1.0D, 0.0D, var38)); + var73 = this.lerp(var35, this.grad3d(this.permutations[var66 + 1], var31, 0.0D, var38 - 1.0D), this.grad3d(this.permutations[var22 + 1], var31 - 1.0D, 0.0D, var38 - 1.0D)); + double var79 = this.lerp(var42, var70, var73); + var10001 = var75++; + par1ArrayOfDouble[var10001] += FLOAT_PERLIN_GENERATOR ? (float) (var79 * var77) : var79 * var77; + } + } + } + else + { + var19 = 0; + double var20 = 1.0D / par17; + var22 = -1; + boolean var23 = false; + boolean var24 = false; + boolean var25 = false; + boolean var26 = false; + boolean var27 = false; + boolean var28 = false; + double var29 = 0.0D; + var31 = 0.0D; + double var33 = 0.0D; + var35 = 0.0D; + + for (var37 = 0; var37 < par8; ++var37) + { + var38 = par2 + (double)var37 * par11 + this.xCoord; + double var40 = floor(var38); + + if (var38 < (double)var40) + { + --var40; + } + + var41 = (int) (var40 % 256D) & 255; + var38 -= (double)var40; + var42 = var38 * var38 * var38 * (var38 * (var38 * 6.0D - 15.0D) + 10.0D); + + for (int var44 = 0; var44 < par10; ++var44) + { + double var45 = par6 + (double)var44 * par15 + this.zCoord; + double var47 = floor(var45); + + if (var45 < (double)var47) + { + --var47; + } + + int var48 = (int) (var47 % 256D) & 255; + var45 -= (double)var47; + double var49 = var45 * var45 * var45 * (var45 * (var45 * 6.0D - 15.0D) + 10.0D); + + for (int var51 = 0; var51 < par9; ++var51) + { + double var52 = par4 + (double)var51 * par13 + this.yCoord; + double var54 = floor(var52); + + if (var52 < (double)var54) + { + --var54; + } + + int var55 = (int) (var54 % 256D) & 255; + var52 -= (double)var54; + double var56 = var52 * var52 * var52 * (var52 * (var52 * 6.0D - 15.0D) + 10.0D); + + if (var51 == 0 || var55 != var22) + { + var22 = var55; + int var69 = this.permutations[var41] + var55; + int var71 = this.permutations[var69] + var48; + int var72 = this.permutations[var69 + 1] + var48; + int var74 = this.permutations[var41 + 1] + var55; + var75 = this.permutations[var74] + var48; + int var76 = this.permutations[var74 + 1] + var48; + var29 = this.lerp(var42, this.grad3d(this.permutations[var71], var38, var52, var45), this.grad3d(this.permutations[var75], var38 - 1.0D, var52, var45)); + var31 = this.lerp(var42, this.grad3d(this.permutations[var72], var38, var52 - 1.0D, var45), this.grad3d(this.permutations[var76], var38 - 1.0D, var52 - 1.0D, var45)); + var33 = this.lerp(var42, this.grad3d(this.permutations[var71 + 1], var38, var52, var45 - 1.0D), this.grad3d(this.permutations[var75 + 1], var38 - 1.0D, var52, var45 - 1.0D)); + var35 = this.lerp(var42, this.grad3d(this.permutations[var72 + 1], var38, var52 - 1.0D, var45 - 1.0D), this.grad3d(this.permutations[var76 + 1], var38 - 1.0D, var52 - 1.0D, var45 - 1.0D)); + } + + double var58 = this.lerp(var56, var29, var31); + double var60 = this.lerp(var56, var33, var35); + double var62 = this.lerp(var49, var58, var60); + var10001 = var19++; + par1ArrayOfDouble[var10001] += FLOAT_PERLIN_GENERATOR ? (float) (var62 * var20) : var62 * var20; + } + } + } + } + } +} diff --git a/src/minecraft/net/minecraft/src/NoiseGeneratorPerlin2.java b/src/minecraft/net/minecraft/src/NoiseGeneratorPerlinDouble.java similarity index 98% rename from src/minecraft/net/minecraft/src/NoiseGeneratorPerlin2.java rename to src/minecraft/net/minecraft/src/NoiseGeneratorPerlinDouble.java index b05128b..5f2f2b6 100644 --- a/src/minecraft/net/minecraft/src/NoiseGeneratorPerlin2.java +++ b/src/minecraft/net/minecraft/src/NoiseGeneratorPerlinDouble.java @@ -4,19 +4,19 @@ import java.util.Random; import static net.minecraft.src.Constants.*; -public class NoiseGeneratorPerlin2 extends NoiseGenerator +public class NoiseGeneratorPerlinDouble extends NoiseGenerator { private int[] permutations; public double xCoord; public double yCoord; public double zCoord; - public NoiseGeneratorPerlin2() + public NoiseGeneratorPerlinDouble() { this(new Random()); } - public NoiseGeneratorPerlin2(Random par1Random) + public NoiseGeneratorPerlinDouble(Random par1Random) { this.permutations = new int[512]; this.xCoord = par1Random.nextDouble() * 256.0D; diff --git a/src/minecraft/net/minecraft/src/NoiseGeneratorPerlinFloat.java b/src/minecraft/net/minecraft/src/NoiseGeneratorPerlinFloat.java new file mode 100644 index 0000000..1fd5819 --- /dev/null +++ b/src/minecraft/net/minecraft/src/NoiseGeneratorPerlinFloat.java @@ -0,0 +1,217 @@ +package net.minecraft.src; + +import java.util.Random; + +import static net.minecraft.src.Constants.*; + +public class NoiseGeneratorPerlinFloat extends NoiseGenerator +{ + private int[] permutations; + public double xCoord; + public double yCoord; + public double zCoord; + + public NoiseGeneratorPerlinFloat() + { + this(new Random()); + } + + public NoiseGeneratorPerlinFloat(Random par1Random) + { + this.permutations = new int[512]; + this.xCoord = par1Random.nextDouble() * 256.0D; + this.yCoord = par1Random.nextDouble() * 256.0D; + this.zCoord = par1Random.nextDouble() * 256.0D; + int var2; + + for (var2 = 0; var2 < 256; this.permutations[var2] = var2++) + { + ; + } + + for (var2 = 0; var2 < 256; ++var2) + { + int var3 = par1Random.nextInt(256 - var2) + var2; + int var4 = this.permutations[var2]; + this.permutations[var2] = this.permutations[var3]; + this.permutations[var3] = var4; + this.permutations[var2 + 256] = this.permutations[var2]; + } + } + + public final double lerp(double par1, double par3, double par5) + { + return par3 + par1 * (par5 - par3); + } + + public final double grad2d(int par1, double par2, double par4) + { + int var6 = par1 & 15; + double var7 = (double)(1 - ((var6 & 8) >> 3)) * par2; + double var9 = var6 < 4 ? 0.0D : (var6 != 12 && var6 != 14 ? par4 : par2); + return ((var6 & 1) == 0 ? var7 : -var7) + ((var6 & 2) == 0 ? var9 : -var9); + } + + public final double grad3d(int par1, double par2, double par4, double par6) + { + int var8 = par1 & 15; + double var9 = var8 < 8 ? par2 : par4; + double var11 = var8 < 4 ? par4 : (var8 != 12 && var8 != 14 ? par6 : par2); + return ((var8 & 1) == 0 ? var9 : -var9) + ((var8 & 2) == 0 ? var11 : -var11); + } + + private double floor(double value) { + return (float) value < 0 ? Math.floor(value) + 1 : Math.floor(value); + } + + /** + * pars: noiseArray , xOffset , yOffset , zOffset , xSize , ySize , zSize , xScale, yScale , zScale , noiseScale. + * noiseArray should be xSize*ySize*zSize in size + */ + public void populateNoiseArray(double[] par1ArrayOfDouble, double par2, double par4, double par6, int par8, int par9, int par10, double par11, double par13, double par15, double par17) + { + int var10001; + int var19; + int var22; + double var31; + double var35; + int var37; + double var38; + int var41; + double var42; + int var75; + + if (par9 == 1) + { + boolean var64 = false; + boolean var65 = false; + boolean var21 = false; + boolean var68 = false; + double var70 = 0.0D; + double var73 = 0.0D; + var75 = 0; + double var77 = 1.0D / par17; + + for (int var30 = 0; var30 < par8; ++var30) + { + var31 = par2 + (double)var30 * par11 + this.xCoord; + double var78 = floor(var31); + + if (var31 < (double)var78) + { + --var78; + } + + int var34 = (int) (var78 % 256D) & 255; + var31 -= (double)var78; + var35 = var31 * var31 * var31 * (var31 * (var31 * 6.0D - 15.0D) + 10.0D); + + for (var37 = 0; var37 < par10; ++var37) + { + var38 = par6 + (double)var37 * par15 + this.zCoord; + double var40 = floor(var38); + + if (var38 < (double)var40) + { + --var40; + } + + var41 = (int) (var40 % 256D) & 255; + var38 -= (double)var40; + var42 = var38 * var38 * var38 * (var38 * (var38 * 6.0D - 15.0D) + 10.0D); + var19 = this.permutations[var34] + 0; + int var66 = this.permutations[var19] + var41; + int var67 = this.permutations[var34 + 1] + 0; + var22 = this.permutations[var67] + var41; + var70 = this.lerp(var35, this.grad2d(this.permutations[var66], var31, var38), this.grad3d(this.permutations[var22], var31 - 1.0D, 0.0D, var38)); + var73 = this.lerp(var35, this.grad3d(this.permutations[var66 + 1], var31, 0.0D, var38 - 1.0D), this.grad3d(this.permutations[var22 + 1], var31 - 1.0D, 0.0D, var38 - 1.0D)); + double var79 = this.lerp(var42, var70, var73); + var10001 = var75++; + par1ArrayOfDouble[var10001] += FLOAT_PERLIN_GENERATOR ? (float) (var79 * var77) : var79 * var77; + } + } + } + else + { + var19 = 0; + double var20 = 1.0D / par17; + var22 = -1; + boolean var23 = false; + boolean var24 = false; + boolean var25 = false; + boolean var26 = false; + boolean var27 = false; + boolean var28 = false; + double var29 = 0.0D; + var31 = 0.0D; + double var33 = 0.0D; + var35 = 0.0D; + + for (var37 = 0; var37 < par8; ++var37) + { + var38 = par2 + (double)var37 * par11 + this.xCoord; + double var40 = floor(var38); + + if (var38 < (double)var40) + { + --var40; + } + + var41 = (int) (var40 % 256D) & 255; + var38 -= (double)var40; + var42 = var38 * var38 * var38 * (var38 * (var38 * 6.0D - 15.0D) + 10.0D); + + for (int var44 = 0; var44 < par10; ++var44) + { + double var45 = par6 + (double)var44 * par15 + this.zCoord; + double var47 = floor(var45); + + if (var45 < (double)var47) + { + --var47; + } + + int var48 = (int) (var47 % 256D) & 255; + var45 -= (double)var47; + double var49 = var45 * var45 * var45 * (var45 * (var45 * 6.0D - 15.0D) + 10.0D); + + for (int var51 = 0; var51 < par9; ++var51) + { + double var52 = par4 + (double)var51 * par13 + this.yCoord; + double var54 = floor(var52); + + if (var52 < (double)var54) + { + --var54; + } + + int var55 = (int) (var54 % 256D) & 255; + var52 -= (double)var54; + double var56 = var52 * var52 * var52 * (var52 * (var52 * 6.0D - 15.0D) + 10.0D); + + if (var51 == 0 || var55 != var22) + { + var22 = var55; + int var69 = this.permutations[var41] + var55; + int var71 = this.permutations[var69] + var48; + int var72 = this.permutations[var69 + 1] + var48; + int var74 = this.permutations[var41 + 1] + var55; + var75 = this.permutations[var74] + var48; + int var76 = this.permutations[var74 + 1] + var48; + var29 = this.lerp(var42, this.grad3d(this.permutations[var71], var38, var52, var45), this.grad3d(this.permutations[var75], var38 - 1.0D, var52, var45)); + var31 = this.lerp(var42, this.grad3d(this.permutations[var72], var38, var52 - 1.0D, var45), this.grad3d(this.permutations[var76], var38 - 1.0D, var52 - 1.0D, var45)); + var33 = this.lerp(var42, this.grad3d(this.permutations[var71 + 1], var38, var52, var45 - 1.0D), this.grad3d(this.permutations[var75 + 1], var38 - 1.0D, var52, var45 - 1.0D)); + var35 = this.lerp(var42, this.grad3d(this.permutations[var72 + 1], var38, var52 - 1.0D, var45 - 1.0D), this.grad3d(this.permutations[var76 + 1], var38 - 1.0D, var52 - 1.0D, var45 - 1.0D)); + } + + double var58 = this.lerp(var56, var29, var31); + double var60 = this.lerp(var56, var33, var35); + double var62 = this.lerp(var49, var58, var60); + var10001 = var19++; + par1ArrayOfDouble[var10001] += FLOAT_PERLIN_GENERATOR ? (float) (var62 * var20) : var62 * var20; + } + } + } + } + } +} diff --git a/src/minecraft/net/minecraft/src/PerlinNoiseFactory.java b/src/minecraft/net/minecraft/src/PerlinNoiseFactory.java index 1e95180..36729df 100644 --- a/src/minecraft/net/minecraft/src/PerlinNoiseFactory.java +++ b/src/minecraft/net/minecraft/src/PerlinNoiseFactory.java @@ -3,6 +3,12 @@ package net.minecraft.src; import java.util.Random; public enum PerlinNoiseFactory { + shortType { + @Override + public NoiseGenerator createPerlinNoiseGenerator(Random random) { + return new NoiseGeneratorPerlin16(random); + } + }, intType { @Override public NoiseGenerator createPerlinNoiseGenerator(Random random) { @@ -15,10 +21,16 @@ public enum PerlinNoiseFactory { return new NoiseGeneratorPerlin64(random); } }, + floatType { + @Override + public NoiseGenerator createPerlinNoiseGenerator(Random random) { + return new NoiseGeneratorPerlinFloat(random); + } + }, doubleType { @Override public NoiseGenerator createPerlinNoiseGenerator(Random random) { - return new NoiseGeneratorPerlin2(random); + return new NoiseGeneratorPerlinDouble(random); } }; From e72409afe32f0032dc39290e8daae302587bc8f9 Mon Sep 17 00:00:00 2001 From: mckuhei Date: Thu, 31 Oct 2024 10:32:35 +0800 Subject: [PATCH 6/7] Revert "End of support" This reverts commit 18c2d4f3998e45150e92c5d0f22fb0cf3c3e51cb. --- Image.png | Bin 16014 -> 0 bytes readme.md | 7 ++----- 2 files changed, 2 insertions(+), 5 deletions(-) delete mode 100644 Image.png diff --git a/Image.png b/Image.png deleted file mode 100644 index 22dc11bf963c1c9e447bba489e67b04800cac8d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16014 zcmc)xV{m2P7lw<*Halh~>2SxkZQHhOn;pA5NryYOZQHiZli$D2Id#srTXpN!{jzJ- zTx&19HRl*}JY$SV1vzmza%G#b5?dza`J;~ zVfX)RZ`ep=`z)hIVDpj%2&dr|1ytt+=rq7p!+%f;D&PnT;1k}pTVL>YU%Lo6u)O$x z#EhR0ty))qJXd~ceLd(WnYxRt2%ta+qV&6po}ME7@2CkC%^-*vCddJly!-nM#15E5 z0POcbFJuA;`u9KxJTWK*%=ZAc0GP~w|DX?mNdLZ`SO)|a@O`~tGsyqnZV>S9h2L++ z*t0xM9W${9|UAqsj&jm$!YEi1^=kH5;b8fi|X3)VQ$Lg5!WjhDKJ)>W~1x z7~OlV&Vy7=csDdNNX-P?)^MqK2K3VoKL8DGt!&c&i6lEz&n}qdO)p4-iA-*|N|P!P z65s!sDD@NI&MxoH_7_nT1bq*7k)Svbx!3naYdB>tnezLQyMyLhkjqvL0LaT-GkSDw zcyv9(lkOpE)UVsWC!3dXC*z|Sv#?{>dHGKqZ`qcZX~T!KXY9xS6aClUC9umGVbima z{?Rw@jAf>t)LXLAW%Wl<(!}1uuUgZ_&byiwo4L%KUnS*)f9)QZoY{(vHR_T$&vqJp zc=z?9&N5m5_YQ}duK~7$gdSSlj-tDW8Ch1tT+sty9;4~!PL&N>5U~fo zolY%aX302A87j|o$)g4=xC2*zrEQe?B~01l8!Xz^!K4KMCVub+b|3hCwjOJtyvJ?Z zNfn%+=!+o=9`3G1G(4#8IbQJL4@I_1A$@J`JJ;6(K^{}$d(g%g;@=Z7W*`JIUAs1y zcfv*-J>@uTVmC5BUz-?S1EySrt0uPa4Ni{8HgsW`yO~*;l5K3P*a%Xo1XPg*qKms=L6vp`-~ri4gtXd`j4?Ag&O;Kv=55A_(Ui>L&c?=MSRM3K%=h%`WF>Bxd_>?I+biX zccy~wBje``+iRqkIDh0kw{I97Z#;N)*VJSLkON1)5+2_z*nN*kMe}>^K^gXfom;bspgZ<@{Oc)y}f5#44eI6;Ag-z8%RSB@T~)=(YQ&oNZg!^lQs zqP^=A3K!Rt871|QC}lHIEKL+sPHmHYET*--<#jk=X*?e=aKi)* z!`;Q&49y7}?@*n<%PN{@ZCPF!-$T@w7C#8V$q@7nuJkrs5=-r#iXF{yCv#IKIpsTI zIEh05{8Id%p8lm}53gaZk(d>k+&6<+cBBjS%MY-$Dq<=#NFlE(Sai$Sr=yASom`Hm z-@4Bmu#PJ`Oms>_zPRoUQL=S9Aq~<*eNPz@;>!ee5Z0cb%O{(3Ft1eErlkI)Fn5?6 z95)N5;h0$2)}0XRe8_hha*ghUrn_Um$MWxQ!?WIWL`23z71d#L6n=~WAN?x@yIZ8% zn@X_6#zU_V^3S4y*@NAS-i76R?+{Yq-%IRuHw8pGL&7UV%b;$}y?tc4H!CwELM!wE zYsa{547ACNPK^0}0(%*mvo0Ycf~kN_yZJ6P#&n!Y7!d&0)3RO9QklDNi5UW^m_C7xlMfJIT(*KG|Y?9C6|Lsqe?}H0CSQd&{Ne zdJ}m9Y>n=;T>Dgr^1aXJXJvavChQ}XWmHhy&710PsJg5Q^ozbTyNll|D-!`v2)W^( zq0Xoe5gTi*)dYEYJiLP^6Q)=WL?-Y`H~m(uJS(99_cO(&D`9-wQ*d|stb?(rLHt

nRb1%!_@bPhobji4JsHRP61%Px@SpjO4 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 CDyQ`T diff --git a/readme.md b/readme.md index 17e4633..6b71fc0 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,3 @@ -![Image](http://git.mcmodule.org/mckuhei/1.3.2_128bit/raw/branch/master/Image.png) - -Please made it you self :) - -# End of support +# Minecraft 1.3.2 128bit mod +Incompleted yet. \ No newline at end of file From 0e152d9fff90f0f1e77a2a7e0335d233a8d56421 Mon Sep 17 00:00:00 2001 From: mckuhei Date: Thu, 31 Oct 2024 11:12:39 +0800 Subject: [PATCH 7/7] Some bug fixs --- src/minecraft/Start.java | 6 ++++++ .../net/minecraft/src/NetServerHandler.java | 15 ++++++++------- src/minecraft/net/minecraft/src/OpenGlHelper.java | 2 ++ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/minecraft/Start.java b/src/minecraft/Start.java index bbc3dcc..eb78b08 100644 --- a/src/minecraft/Start.java +++ b/src/minecraft/Start.java @@ -1,6 +1,8 @@ import java.io.File; import java.lang.reflect.Field; +import javax.imageio.ImageIO; + import net.minecraft.client.Minecraft; public class Start @@ -21,4 +23,8 @@ public class Start Minecraft.main(args); } + + static { + ImageIO.setUseCache(false); + } } diff --git a/src/minecraft/net/minecraft/src/NetServerHandler.java b/src/minecraft/net/minecraft/src/NetServerHandler.java index 808de7a..bae5867 100644 --- a/src/minecraft/net/minecraft/src/NetServerHandler.java +++ b/src/minecraft/net/minecraft/src/NetServerHandler.java @@ -128,13 +128,14 @@ public class NetServerHandler extends NetHandler if (!this.field_72587_r) { -// var3 = par1Packet10Flying.yPosition - this.lastPosY; -// -// if (par1Packet10Flying.xPosition.compareTo(this.lastPosX) == 0 && var3 * var3 < 0.01D && par1Packet10Flying.zPosition.compareTo(this.lastPosZ) == 0) -// { -// this.field_72587_r = true; -// } - this.field_72587_r = true; + var3 = par1Packet10Flying.yPosition - this.lastPosY; + + if (par1Packet10Flying.xPosition.compareTo(this.lastPosX) == 0 && var3 * var3 < 0.01D && par1Packet10Flying.zPosition.compareTo(this.lastPosZ) == 0) + { + this.field_72587_r = true; + } else { + this.playerEntity.serverForThisPlayer.sendPacketToPlayer(new Packet11PlayerPosition(this.lastPosX, this.lastPosY + 1.6200000047683716D, this.lastPosY, this.lastPosZ, false)); + } } if (this.field_72587_r) diff --git a/src/minecraft/net/minecraft/src/OpenGlHelper.java b/src/minecraft/net/minecraft/src/OpenGlHelper.java index ab18230..9f7a0e5 100644 --- a/src/minecraft/net/minecraft/src/OpenGlHelper.java +++ b/src/minecraft/net/minecraft/src/OpenGlHelper.java @@ -49,10 +49,12 @@ public class OpenGlHelper { if (useMultitextureARB) { + ARBMultitexture.glClientActiveTextureARB(par0); ARBMultitexture.glActiveTextureARB(par0); } else { + GL13.glClientActiveTexture(par0); GL13.glActiveTexture(par0); } }