Add a way to disable particles

This commit is contained in:
PeytonPlayz595 2024-09-22 18:36:58 -07:00
parent 4413383e3c
commit 9829fdf9c3
7 changed files with 32 additions and 4 deletions

View File

@ -557,7 +557,9 @@ public class EntityRenderer {
var6.func_1187_b(var4, var1); var6.func_1187_b(var4, var1);
RenderHelper.disableStandardItemLighting(); RenderHelper.disableStandardItemLighting();
this.setupFog(0, var1); this.setupFog(0, var1);
var6.renderParticles(var4, var1); if(this.mc.gameSettings.particles) {
var6.renderParticles(var4, var1);
}
EntityPlayer var21; EntityPlayer var21;
if(this.mc.objectMouseOver != null && var4.isInsideOfMaterial(Material.water) && var4 instanceof EntityPlayer) { if(this.mc.objectMouseOver != null && var4.isInsideOfMaterial(Material.water) && var4 instanceof EntityPlayer) {
var21 = (EntityPlayer)var4; var21 = (EntityPlayer)var4;
@ -629,6 +631,10 @@ public class EntityRenderer {
} }
private void addRainParticles() { private void addRainParticles() {
if(!this.mc.gameSettings.particles) {
return;
}
float var1 = this.mc.theWorld.func_27162_g(1.0F); float var1 = this.mc.theWorld.func_27162_g(1.0F);
if(!this.mc.gameSettings.fancyGraphics) { if(!this.mc.gameSettings.fancyGraphics) {
var1 /= 2.0F; var1 /= 2.0F;

View File

@ -13,7 +13,8 @@ public enum EnumOptions {
DIFFICULTY("options.difficulty", false, false), DIFFICULTY("options.difficulty", false, false),
GRAPHICS("options.graphics", false, false), GRAPHICS("options.graphics", false, false),
AMBIENT_OCCLUSION("options.ao", false, true), AMBIENT_OCCLUSION("options.ao", false, true),
GUI_SCALE("options.guiScale", false, false); GUI_SCALE("options.guiScale", false, false),
PARTICLES("Particles", false, true);
private final boolean enumFloat; private final boolean enumFloat;
private final boolean enumBoolean; private final boolean enumBoolean;

View File

@ -29,5 +29,10 @@ class EnumOptionsMappingHelper {
} catch (NoSuchFieldError var1) { } catch (NoSuchFieldError var1) {
} }
try {
enumOptionsMappingHelperArray[EnumOptions.PARTICLES.ordinal()] = 6;
} catch (NoSuchFieldError var1) {
}
} }
} }

View File

@ -27,6 +27,7 @@ public class GameSettings {
public int limitFramerate = 1; public int limitFramerate = 1;
public boolean fancyGraphics = true; public boolean fancyGraphics = true;
public boolean ambientOcclusion = true; public boolean ambientOcclusion = true;
public boolean particles = true;
public String skin = "Default"; public String skin = "Default";
public KeyBinding keyBindForward = new KeyBinding("key.forward", 17); public KeyBinding keyBindForward = new KeyBinding("key.forward", 17);
public KeyBinding keyBindLeft = new KeyBinding("key.left", 30); public KeyBinding keyBindLeft = new KeyBinding("key.left", 30);
@ -139,6 +140,10 @@ public class GameSettings {
this.mc.renderGlobal.loadRenderers(); this.mc.renderGlobal.loadRenderers();
} }
if(var1 == EnumOptions.PARTICLES) {
this.particles = !this.particles;
}
this.saveOptions(); this.saveOptions();
} }
@ -147,6 +152,7 @@ public class GameSettings {
} }
public boolean getOptionOrdinalValue(EnumOptions var1) { public boolean getOptionOrdinalValue(EnumOptions var1) {
System.out.println(EnumOptionsMappingHelper.enumOptionsMappingHelperArray[var1.ordinal()]);
switch(EnumOptionsMappingHelper.enumOptionsMappingHelperArray[var1.ordinal()]) { switch(EnumOptionsMappingHelper.enumOptionsMappingHelperArray[var1.ordinal()]) {
case 1: case 1:
return this.invertMouse; return this.invertMouse;
@ -158,6 +164,8 @@ public class GameSettings {
return this.advancedOpengl; return this.advancedOpengl;
case 5: case 5:
return this.ambientOcclusion; return this.ambientOcclusion;
case 6:
return this.particles;
default: default:
return false; return false;
} }
@ -257,6 +265,10 @@ public class GameSettings {
this.lastServer = var3[1]; this.lastServer = var3[1];
} }
if(var3[0].equals("particles")) {
this.particles = var3[1].equals("true");
}
for(int var4 = 0; var4 < this.keyBindings.length; ++var4) { for(int var4 = 0; var4 < this.keyBindings.length; ++var4) {
if(var3[0].equals("key_" + this.keyBindings[var4].keyDescription)) { if(var3[0].equals("key_" + this.keyBindings[var4].keyDescription)) {
this.keyBindings[var4].keyCode = Integer.parseInt(var3[1]); this.keyBindings[var4].keyCode = Integer.parseInt(var3[1]);
@ -296,6 +308,7 @@ public class GameSettings {
var1.println("ao:" + this.ambientOcclusion); var1.println("ao:" + this.ambientOcclusion);
var1.println("skin:" + this.skin); var1.println("skin:" + this.skin);
var1.println("lastServer:" + this.lastServer); var1.println("lastServer:" + this.lastServer);
var1.println("particles:" + this.particles);
for(int var2 = 0; var2 < this.keyBindings.length; ++var2) { for(int var2 = 0; var2 < this.keyBindings.length; ++var2) {
var1.println("key_" + this.keyBindings[var2].keyDescription + ":" + this.keyBindings[var2].keyCode); var1.println("key_" + this.keyBindings[var2].keyDescription + ":" + this.keyBindings[var2].keyCode);

View File

@ -4,7 +4,7 @@ public class GuiVideoSettings extends GuiScreen {
private GuiScreen field_22110_h; private GuiScreen field_22110_h;
protected String field_22107_a = "Video Settings"; protected String field_22107_a = "Video Settings";
private GameSettings guiGameSettings; private GameSettings guiGameSettings;
private static EnumOptions[] field_22108_k = new EnumOptions[]{EnumOptions.GRAPHICS, EnumOptions.RENDER_DISTANCE, EnumOptions.AMBIENT_OCCLUSION, EnumOptions.FRAMERATE_LIMIT, EnumOptions.ANAGLYPH, EnumOptions.VIEW_BOBBING, EnumOptions.GUI_SCALE, EnumOptions.ADVANCED_OPENGL}; private static EnumOptions[] field_22108_k = new EnumOptions[]{EnumOptions.GRAPHICS, EnumOptions.RENDER_DISTANCE, EnumOptions.AMBIENT_OCCLUSION, EnumOptions.FRAMERATE_LIMIT, EnumOptions.ANAGLYPH, EnumOptions.VIEW_BOBBING, EnumOptions.PARTICLES, EnumOptions.GUI_SCALE, EnumOptions.ADVANCED_OPENGL};
public GuiVideoSettings(GuiScreen var1, GameSettings var2) { public GuiVideoSettings(GuiScreen var1, GameSettings var2) {
this.field_22110_h = var1; this.field_22110_h = var1;

View File

@ -186,7 +186,6 @@ public class NetworkManager {
} }
private void onNetworkError(Exception var1) { private void onNetworkError(Exception var1) {
var1.printStackTrace();
this.networkShutdown("disconnect.genericReason", new Object[]{"Internal exception: " + var1.toString()}); this.networkShutdown("disconnect.genericReason", new Object[]{"Internal exception: " + var1.toString()});
} }

View File

@ -1064,6 +1064,10 @@ public class RenderGlobal implements IWorldAccess {
public void spawnParticle(String var1, double var2, double var4, double var6, double var8, double var10, double var12) { public void spawnParticle(String var1, double var2, double var4, double var6, double var8, double var10, double var12) {
if(this.mc != null && this.mc.renderViewEntity != null && this.mc.effectRenderer != null) { if(this.mc != null && this.mc.renderViewEntity != null && this.mc.effectRenderer != null) {
if(!this.mc.gameSettings.particles) {
return;
}
double var14 = this.mc.renderViewEntity.posX - var2; double var14 = this.mc.renderViewEntity.posX - var2;
double var16 = this.mc.renderViewEntity.posY - var4; double var16 = this.mc.renderViewEntity.posY - var4;
double var18 = this.mc.renderViewEntity.posZ - var6; double var18 = this.mc.renderViewEntity.posZ - var6;