diff options
author | Jakub <53441451+kuba6000@users.noreply.github.com> | 2022-10-31 17:09:23 +0100 |
---|---|---|
committer | kuba6000 <kuba.123123.6000@gmail.com> | 2022-10-31 17:09:23 +0100 |
commit | eff30d832832f7963932e155b86655928f90a7e5 (patch) | |
tree | 0dd832b056dcb67ce12ee780658ae62dac2d97af /src/main/java/kubatech/client/effect | |
parent | 7353a8c4ea895e6b22f4756bbcc7b944e3c38abb (diff) | |
download | GT5-Unofficial-eff30d832832f7963932e155b86655928f90a7e5.tar.gz GT5-Unofficial-eff30d832832f7963932e155b86655928f90a7e5.tar.bz2 GT5-Unofficial-eff30d832832f7963932e155b86655928f90a7e5.zip |
EIG: Fix stocking input bus exploit (GTNewHorizons/bartworks#230)
* Disgusting
* Fix exploit
* Maybe fix black wheat blocks inside
* Ok we will fight then
* Cosmetics
* Proper fix
Diffstat (limited to 'src/main/java/kubatech/client/effect')
-rw-r--r-- | src/main/java/kubatech/client/effect/CropRenderer.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/main/java/kubatech/client/effect/CropRenderer.java b/src/main/java/kubatech/client/effect/CropRenderer.java index 1fca559204..88978688a7 100644 --- a/src/main/java/kubatech/client/effect/CropRenderer.java +++ b/src/main/java/kubatech/client/effect/CropRenderer.java @@ -2,6 +2,7 @@ package kubatech.client.effect; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.lang.reflect.Field; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; @@ -12,6 +13,7 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class CropRenderer extends EntityFX { int meta; + Field tessellatorHasBrightnessField = null; public CropRenderer(World world, int x, int y, int z, int meta, int age) { super(world, (double) x, ((double) y - 0.0625d), (double) z); @@ -39,10 +41,19 @@ public class CropRenderer extends EntityFX { Tessellator tessellator = Tessellator.instance; GL11.glDisable(GL11.GL_CULL_FACE); GL11.glDepthMask(false); + double f11 = this.prevPosX + (this.posX - this.prevPosX) * (double) p_70539_2_ - interpPosX; + double f12 = this.prevPosY + (this.posY - this.prevPosY) * (double) p_70539_2_ - interpPosY; + double f13 = this.prevPosZ + (this.posZ - this.prevPosZ) * (double) p_70539_2_ - interpPosZ; + try { + if (tessellatorHasBrightnessField == null) { + tessellatorHasBrightnessField = Tessellator.class.getDeclaredField("hasBrightness"); + tessellatorHasBrightnessField.setAccessible(true); + } + tessellatorHasBrightnessField.set(tessellator, false); + } catch (NoSuchFieldException | IllegalAccessException e) { + throw new RuntimeException(e); + } tessellator.setColorRGBA(255, 255, 255, 255); - float f11 = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) p_70539_2_ - interpPosX); - float f12 = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) p_70539_2_ - interpPosY); - float f13 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) p_70539_2_ - interpPosZ); RenderBlocks.getInstance().renderBlockCropsImpl(Blocks.wheat, meta, f11, f12, f13); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glDepthMask(true); |