Do not parse Mobends configuration every time an entity is rendered

Drastically improves performance
This commit is contained in:
Angeline 2019-05-10 15:56:22 -05:00
parent cb5edc3061
commit 5727bea7ed
No known key found for this signature in database
GPG Key ID: E8142FD7984F528E

View File

@ -58,6 +58,8 @@ import tschipp.carryon.network.server.SyncKeybindPacket;
public class RenderEvents public class RenderEvents
{ {
private boolean obfuscatePresent = Loader.isModLoaded("obfuscate");
private static boolean initModels; private static boolean initModels;
/* /*
@ -450,7 +452,7 @@ public class RenderEvents
if(!CarryOnConfig.settings.renderArms) if(!CarryOnConfig.settings.renderArms)
return; return;
if (handleMobends() && !Loader.isModLoaded("obfuscate")) if (handleMobends() && !obfuscatePresent)
{ {
EntityPlayer player = event.getEntityPlayer(); EntityPlayer player = event.getEntityPlayer();
EntityPlayerSP clientPlayer = Minecraft.getMinecraft().player; EntityPlayerSP clientPlayer = Minecraft.getMinecraft().player;
@ -547,7 +549,7 @@ public class RenderEvents
if(!CarryOnConfig.settings.renderArms) if(!CarryOnConfig.settings.renderArms)
return; return;
if (handleMobends() && !Loader.isModLoaded("obfuscate")) if (handleMobends() && !obfuscatePresent)
{ {
EntityPlayer player = event.getEntityPlayer(); EntityPlayer player = event.getEntityPlayer();
ItemStack stack = player.getHeldItemMainhand(); ItemStack stack = player.getHeldItemMainhand();
@ -619,16 +621,23 @@ public class RenderEvents
arm.isHidden = true; arm.isHidden = true;
} }
private boolean mobendsPresent = Loader.isModLoaded("mobends");
private boolean mobendsConfigLoaded = false;
private boolean mobendsPlayersAnimated = false;
public boolean handleMobends() public boolean handleMobends()
{ {
if (Loader.isModLoaded("mobends")) if (mobendsPresent && !mobendsConfigLoaded)
{ {
Configuration config = new Configuration(new File(CarryOn.CONFIGURATION_FILE.getPath().substring(0, CarryOn.CONFIGURATION_FILE.getPath().length() - 16), "mobends.cfg")); Configuration config = new Configuration(new File(CarryOn.CONFIGURATION_FILE.getPath().substring(0, CarryOn.CONFIGURATION_FILE.getPath().length() - 16), "mobends.cfg"));
boolean renderPlayer = config.get("animated", "player", true).getBoolean(); mobendsPlayersAnimated = config.get("animated", "player", true).getBoolean();
return !renderPlayer; mobendsConfigLoaded = true;
} }
return true;
return !mobendsPlayersAnimated;
} }
public static boolean isChest(Block block) public static boolean isChest(Block block)