diff --git a/pom.xml b/pom.xml
index 2582d675..efd63146 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,6 +34,12 @@
20230227
+
+ javax.vecmath
+ vecmath
+ 1.5.2
+
+
org.reflections
reflections
diff --git a/src/main/java/assets/minecraft/Athena/font/Arial.ttf b/src/main/java/assets/minecraft/Athena/font/Arial.ttf
deleted file mode 100644
index ab68fb19..00000000
Binary files a/src/main/java/assets/minecraft/Athena/font/Arial.ttf and /dev/null differ
diff --git a/src/main/java/assets/minecraft/Athena/test.txt b/src/main/java/assets/minecraft/Athena/test.txt
deleted file mode 100644
index e69de29b..00000000
diff --git a/src/main/java/net/minecraft/client/Minecraft.java b/src/main/java/net/minecraft/client/Minecraft.java
index e1a1a139..dfda6980 100644
--- a/src/main/java/net/minecraft/client/Minecraft.java
+++ b/src/main/java/net/minecraft/client/Minecraft.java
@@ -187,8 +187,14 @@ import org.lwjgl.util.glu.GLU;
import rip.athena.client.Athena;
import rip.athena.client.events.Event;
import rip.athena.client.events.types.client.ClientTickEvent;
+import rip.athena.client.events.types.entity.PlayerInteractEvent;
import rip.athena.client.events.types.input.KeyDownEvent;
import rip.athena.client.events.types.input.KeyUpEvent;
+import rip.athena.client.events.types.input.MouseDownEvent;
+import rip.athena.client.events.types.input.MouseMoveEvent;
+import rip.athena.client.events.types.render.RenderEvent;
+import rip.athena.client.events.types.render.RenderType;
+import rip.athena.client.gui.menu.AthenaMenu;
public class Minecraft implements IThreadListener, IPlayerUsage
{
@@ -315,7 +321,7 @@ public class Minecraft implements IThreadListener, IPlayerUsage
*/
private long debugCrashKeyPressTime = -1L;
private IReloadableResourceManager mcResourceManager;
- private final IMetadataSerializer metadataSerializer_ = new IMetadataSerializer();
+ public final IMetadataSerializer metadataSerializer_ = new IMetadataSerializer();
private final List defaultResourcePacks = Lists.newArrayList();
private final DefaultResourcePack mcDefaultResourcePack;
private ResourcePackRepository mcResourcePackRepository;
@@ -479,6 +485,8 @@ public class Minecraft implements IThreadListener, IPlayerUsage
this.displayHeight = this.gameSettings.overrideHeight;
}
+ Athena.INSTANCE.initClient();
+
logger.info("LWJGL Version: " + Sys.getVersion());
this.setWindowIcon();
this.setInitialDisplayMode();
@@ -565,15 +573,13 @@ public class Minecraft implements IThreadListener, IPlayerUsage
this.checkGLError("Post startup");
this.ingameGUI = new GuiIngame(this);
- Athena.INSTANCE.initClient();
-
if (this.serverName != null)
{
- this.displayGuiScreen(new GuiConnecting(new GuiMainMenu(), this, this.serverName, this.serverPort));
+ this.displayGuiScreen(new GuiConnecting(new AthenaMenu(), this, this.serverName, this.serverPort));
}
else
{
- this.displayGuiScreen(new GuiMainMenu());
+ this.displayGuiScreen(new AthenaMenu());
}
this.renderEngine.deleteTexture(this.mojangLogo);
@@ -908,6 +914,18 @@ public class Minecraft implements IThreadListener, IPlayerUsage
GlStateManager.enableTexture2D();
InputStream inputstream = null;
+ if(!Athena.INSTANCE.getEventBus().post(new RenderEvent(RenderType.SPLASH_SCREEN))) {
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ int j = 256;
+ int k = 256;
+ framebuffer.unbindFramebuffer();
+ framebuffer.framebufferRender(scaledresolution.getScaledWidth() * i, scaledresolution.getScaledHeight() * i);
+ GlStateManager.enableAlpha();
+ GlStateManager.alphaFunc(516, 0.1F);
+ this.updateDisplay();
+ return;
+ }
+
try
{
inputstream = this.mcDefaultResourcePack.getInputStream(locationMojangPng);
@@ -977,14 +995,14 @@ public class Minecraft implements IThreadListener, IPlayerUsage
if (guiScreenIn == null && this.theWorld == null)
{
- guiScreenIn = new GuiMainMenu();
+ guiScreenIn = new AthenaMenu();
}
else if (guiScreenIn == null && this.thePlayer.getHealth() <= 0.0F)
{
guiScreenIn = new GuiGameOver();
}
- if (guiScreenIn instanceof GuiMainMenu)
+ if (guiScreenIn instanceof AthenaMenu)
{
this.gameSettings.showDebugInfo = false;
this.ingameGUI.getChatGUI().clearChatMessages();
@@ -1532,6 +1550,10 @@ public class Minecraft implements IThreadListener, IPlayerUsage
if (this.theWorld.getBlockState(blockpos).getBlock().getMaterial() != Material.air)
{
+ if(!Athena.INSTANCE.getEventBus().post(new PlayerInteractEvent(PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK, blockpos, this.theWorld))) {
+ return;
+ }
+
this.playerController.clickBlock(blockpos, this.objectMouseOver.sideHit);
break;
}
@@ -1825,11 +1847,19 @@ public class Minecraft implements IThreadListener, IPlayerUsage
while (Mouse.next())
{
+ if(!Athena.INSTANCE.getEventBus().post(new MouseMoveEvent())) {
+ continue;
+ }
+
int i = Mouse.getEventButton();
KeyBinding.setKeyBindState(i - 100, Mouse.getEventButtonState());
if (Mouse.getEventButtonState())
{
+ if(!Athena.INSTANCE.getEventBus().post(new MouseDownEvent(i))) {
+ continue;
+ }
+
if (this.thePlayer.isSpectator() && i == 2)
{
this.ingameGUI.getSpectatorGui().func_175261_b();
diff --git a/src/main/java/net/minecraft/client/entity/AbstractClientPlayer.java b/src/main/java/net/minecraft/client/entity/AbstractClientPlayer.java
index 597bdb55..e6227de6 100644
--- a/src/main/java/net/minecraft/client/entity/AbstractClientPlayer.java
+++ b/src/main/java/net/minecraft/client/entity/AbstractClientPlayer.java
@@ -60,7 +60,7 @@ public abstract class AbstractClientPlayer extends EntityPlayer
return this.getPlayerInfo() != null;
}
- protected NetworkPlayerInfo getPlayerInfo()
+ public NetworkPlayerInfo getPlayerInfo()
{
if (this.playerInfo == null)
{
diff --git a/src/main/java/net/minecraft/client/gui/Gui.java b/src/main/java/net/minecraft/client/gui/Gui.java
index a4b9e613..7bf18b6c 100644
--- a/src/main/java/net/minecraft/client/gui/Gui.java
+++ b/src/main/java/net/minecraft/client/gui/Gui.java
@@ -87,7 +87,7 @@ public class Gui
* Draws a rectangle with a vertical gradient between the specified colors (ARGB format). Args : x1, y1, x2, y2,
* topColor, bottomColor
*/
- protected void drawGradientRect(int left, int top, int right, int bottom, int startColor, int endColor)
+ public void drawGradientRect(int left, int top, int right, int bottom, int startColor, int endColor)
{
float f = (float)(startColor >> 24 & 255) / 255.0F;
float f1 = (float)(startColor >> 16 & 255) / 255.0F;
diff --git a/src/main/java/net/minecraft/client/gui/GuiButton.java b/src/main/java/net/minecraft/client/gui/GuiButton.java
index 86e449dc..11b92f6d 100644
--- a/src/main/java/net/minecraft/client/gui/GuiButton.java
+++ b/src/main/java/net/minecraft/client/gui/GuiButton.java
@@ -5,6 +5,10 @@ import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.audio.SoundHandler;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
public class GuiButton extends Gui
{
@@ -87,11 +91,15 @@ public class GuiButton extends Gui
GlStateManager.enableBlend();
GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
GlStateManager.blendFunc(770, 771);
- this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + i * 20, this.width / 2, this.height);
- this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2, 46 + i * 20, this.width / 2, this.height);
+ //this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + i * 20, this.width / 2, this.height);
+ //this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2, 46 + i * 20, this.width / 2, this.height);
this.mouseDragged(mc, mouseX, mouseY);
int j = 14737632;
+ DrawUtils.drawRoundedRect(this.xPosition, this.yPosition, this.xPosition + this.width, this.yPosition + this.height, 4, hovered ? new Color(200,200,200,100).getRGB() : new Color(100,100,100,100).getRGB());
+ DrawUtils.drawRoundedRect(this.xPosition + 1, this.yPosition + 1, (this.xPosition + this.width) - 1, (this.yPosition + this.height) - 1, 3, new Color(22, 24, 27,100).getRGB());
+
+
if (!this.enabled)
{
j = 10526880;
@@ -101,7 +109,7 @@ public class GuiButton extends Gui
j = 16777120;
}
- this.drawCenteredString(fontrenderer, this.displayString, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, j);
+ FontManager.baloo17.drawCenteredString(this.displayString, this.xPosition + this.width / 2, this.yPosition + (this.height - 12) / 2, -1);
}
}
diff --git a/src/main/java/net/minecraft/client/gui/GuiIngame.java b/src/main/java/net/minecraft/client/gui/GuiIngame.java
index 1c7506e5..08902355 100644
--- a/src/main/java/net/minecraft/client/gui/GuiIngame.java
+++ b/src/main/java/net/minecraft/client/gui/GuiIngame.java
@@ -169,7 +169,8 @@ public class GuiIngame extends Gui
this.mc.getTextureManager().bindTexture(icons);
GlStateManager.enableBlend();
- if (this.showCrosshair() && this.mc.gameSettings.thirdPersonView < 1)
+ //if (this.showCrosshair() && this.mc.gameSettings.thirdPersonView < 1)
+ if (this.showCrosshair() && Athena.INSTANCE.getEventBus().post(new RenderEvent(RenderType.CROSSHAIR, partialTicks)))
{
GlStateManager.tryBlendFuncSeparate(775, 769, 1, 0);
GlStateManager.enableAlpha();
diff --git a/src/main/java/net/minecraft/client/renderer/EntityRenderer.java b/src/main/java/net/minecraft/client/renderer/EntityRenderer.java
index ed752ac9..2fea37e3 100644
--- a/src/main/java/net/minecraft/client/renderer/EntityRenderer.java
+++ b/src/main/java/net/minecraft/client/renderer/EntityRenderer.java
@@ -86,6 +86,8 @@ import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GLContext;
import org.lwjgl.util.glu.GLU;
import org.lwjgl.util.glu.Project;
+import rip.athena.client.Athena;
+import rip.athena.client.modules.impl.mods.Zoom;
import shadersmod.client.Shaders;
import shadersmod.client.ShadersRender;
@@ -318,7 +320,7 @@ public class EntityRenderer implements IResourceManagerReloadListener
}
}
- private void loadShader(ResourceLocation resourceLocationIn)
+ public void loadShader(ResourceLocation resourceLocationIn)
{
if (OpenGlHelper.isFramebufferEnabled())
{
@@ -623,15 +625,26 @@ public class EntityRenderer implements IResourceManagerReloadListener
if (flag)
{
+ Zoom zoom = (Zoom) Athena.INSTANCE.getModuleManager().get(Zoom.class);
+
if (!Config.zoomMode)
{
Config.zoomMode = true;
this.mc.gameSettings.smoothCamera = true;
+ if(zoom.isToggled()) {
+ this.mc.gameSettings.smoothCamera = zoom.smoothZoom;
+ }
+ this.mc.renderGlobal.displayListEntitiesDirty = true;
}
if (Config.zoomMode)
{
f /= 4.0F;
+
+ if(zoom.isToggled()) {
+ f += zoom.scrollAmount;
+ f = MathHelper.clamp_float(f, 2.75F, 110.0F);
+ }
}
}
else if (Config.zoomMode)
diff --git a/src/main/java/net/minecraft/client/renderer/RenderGlobal.java b/src/main/java/net/minecraft/client/renderer/RenderGlobal.java
index 1ac5166f..704e394a 100644
--- a/src/main/java/net/minecraft/client/renderer/RenderGlobal.java
+++ b/src/main/java/net/minecraft/client/renderer/RenderGlobal.java
@@ -184,10 +184,10 @@ public class RenderGlobal implements IWorldAccess, IResourceManagerReloadListene
private int renderEntitiesStartupCounter = 2;
/** Count entities total */
- private int countEntitiesTotal;
+ public int countEntitiesTotal;
/** Count entities rendered */
- private int countEntitiesRendered;
+ public int countEntitiesRendered;
/** Count entities hidden */
private int countEntitiesHidden;
diff --git a/src/main/java/net/minecraft/client/renderer/entity/RenderPlayer.java b/src/main/java/net/minecraft/client/renderer/entity/RenderPlayer.java
index ed3bbfb0..dc43066d 100644
--- a/src/main/java/net/minecraft/client/renderer/entity/RenderPlayer.java
+++ b/src/main/java/net/minecraft/client/renderer/entity/RenderPlayer.java
@@ -18,6 +18,8 @@ import net.minecraft.scoreboard.Score;
import net.minecraft.scoreboard.ScoreObjective;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.util.ResourceLocation;
+import rip.athena.client.Athena;
+import rip.athena.client.events.types.render.RenderPlayerEvent;
public class RenderPlayer extends RendererLivingEntity
{
@@ -54,6 +56,10 @@ public class RenderPlayer extends RendererLivingEntity
*/
public void doRender(AbstractClientPlayer entity, double x, double y, double z, float entityYaw, float partialTicks)
{
+ if(!Athena.INSTANCE.getEventBus().post(new RenderPlayerEvent(entity, x, y, z, partialTicks))) {
+ return;
+ }
+
if (!entity.isUser() || this.renderManager.livingPlayer == entity)
{
double d0 = y;
diff --git a/src/main/java/net/minecraft/client/resources/SimpleReloadableResourceManager.java b/src/main/java/net/minecraft/client/resources/SimpleReloadableResourceManager.java
index c4f92a63..8baf9d2d 100644
--- a/src/main/java/net/minecraft/client/resources/SimpleReloadableResourceManager.java
+++ b/src/main/java/net/minecraft/client/resources/SimpleReloadableResourceManager.java
@@ -20,7 +20,7 @@ public class SimpleReloadableResourceManager implements IReloadableResourceManag
{
private static final Logger logger = LogManager.getLogger();
private static final Joiner joinerResourcePacks = Joiner.on(", ");
- private final Map domainResourceManagers = Maps.newHashMap();
+ public static final Map domainResourceManagers = Maps.newHashMap();
private final List reloadListeners = Lists.newArrayList();
private final Set setResourceDomains = Sets.newLinkedHashSet();
private final IMetadataSerializer rmMetadataSerializer;
diff --git a/src/main/java/net/minecraft/entity/Entity.java b/src/main/java/net/minecraft/entity/Entity.java
index 56265460..8e5b52e9 100644
--- a/src/main/java/net/minecraft/entity/Entity.java
+++ b/src/main/java/net/minecraft/entity/Entity.java
@@ -46,6 +46,7 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
+import net.minecraftforge.common.capabilities.Capability;
public abstract class Entity implements ICommandSender
{
@@ -233,6 +234,8 @@ public abstract class Entity implements ICommandSender
/** The command result statistics for this Entity. */
private final CommandResultStats cmdResultStats;
+ private net.minecraftforge.common.capabilities.CapabilityDispatcher capabilities;
+
public int getEntityId()
{
return this.entityId;
@@ -2792,4 +2795,17 @@ public abstract class Entity implements ICommandSender
EnchantmentHelper.applyArthropodEnchantments(entityLivingBaseIn, entityIn);
}
+
+
+ public boolean hasCapability(Capability> capability, EnumFacing facing)
+ {
+ if (getCapability(capability, facing) != null)
+ return true;
+ return capabilities == null ? false : capabilities.hasCapability(capability, facing);
+ }
+
+ public T getCapability(Capability capability, EnumFacing facing)
+ {
+ return capabilities == null ? null : capabilities.getCapability(capability, facing);
+ }
}
diff --git a/src/main/java/net/minecraft/entity/player/EntityPlayer.java b/src/main/java/net/minecraft/entity/player/EntityPlayer.java
index 7daa691b..72344557 100644
--- a/src/main/java/net/minecraft/entity/player/EntityPlayer.java
+++ b/src/main/java/net/minecraft/entity/player/EntityPlayer.java
@@ -74,6 +74,9 @@ import net.minecraft.world.IInteractionObject;
import net.minecraft.world.LockCode;
import net.minecraft.world.World;
import net.minecraft.world.WorldSettings;
+import rip.athena.client.Athena;
+import rip.athena.client.events.types.entity.PlayerInteractEvent;
+import rip.athena.client.events.types.entity.PlayerTickEvent;
@SuppressWarnings("incomplete-switch")
public abstract class EntityPlayer extends EntityLivingBase
@@ -596,6 +599,8 @@ public abstract class EntityPlayer extends EntityLivingBase
*/
public void onLivingUpdate()
{
+ Athena.INSTANCE.getEventBus().post(new PlayerTickEvent(this));
+
if (this.flyToggleTimer > 0)
{
--this.flyToggleTimer;
@@ -2103,6 +2108,10 @@ public abstract class EntityPlayer extends EntityLivingBase
{
if (stack != this.itemInUse)
{
+ duration = Athena.INSTANCE.getEventBus().post(new PlayerInteractEvent(PlayerInteractEvent.Action.USE_ITEM, getPosition(), worldObj)) ? duration : -1;
+
+ if (duration <= 0) return;
+
this.itemInUse = stack;
this.itemInUseCount = duration;
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
index 9349d373..6a8b096b 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -48,6 +48,8 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.MarkerManager;
+import rip.athena.client.Athena;
+import rip.athena.client.events.types.network.IngoingPacketEvent;
public class NetworkManager extends SimpleChannelInboundHandler
{
@@ -152,6 +154,10 @@ public class NetworkManager extends SimpleChannelInboundHandler
{
try
{
+ if(!Athena.INSTANCE.getEventBus().post(new IngoingPacketEvent(p_channelRead0_2_))) {
+ return;
+ }
+
p_channelRead0_2_.processPacket(this.packetListener);
}
catch (ThreadQuickExitException var4)
diff --git a/src/main/java/net/minecraftforge/client/util/Constants.java b/src/main/java/net/minecraftforge/client/util/Constants.java
new file mode 100644
index 00000000..6c18bfa5
--- /dev/null
+++ b/src/main/java/net/minecraftforge/client/util/Constants.java
@@ -0,0 +1,20 @@
+package net.minecraftforge.client.util;
+
+public final class Constants {
+ public static class NBT
+ {
+ public static final int TAG_END = 0;
+ public static final int TAG_BYTE = 1;
+ public static final int TAG_SHORT = 2;
+ public static final int TAG_INT = 3;
+ public static final int TAG_LONG = 4;
+ public static final int TAG_FLOAT = 5;
+ public static final int TAG_DOUBLE = 6;
+ public static final int TAG_BYTE_ARRAY = 7;
+ public static final int TAG_STRING = 8;
+ public static final int TAG_LIST = 9;
+ public static final int TAG_COMPOUND = 10;
+ public static final int TAG_INT_ARRAY = 11;
+ public static final int TAG_ANY_NUMERIC = 99;
+ }
+}
diff --git a/src/main/java/net/minecraftforge/common/capabilities/Capability.java b/src/main/java/net/minecraftforge/common/capabilities/Capability.java
new file mode 100644
index 00000000..a9b0b1cf
--- /dev/null
+++ b/src/main/java/net/minecraftforge/common/capabilities/Capability.java
@@ -0,0 +1,105 @@
+package net.minecraftforge.common.capabilities;
+
+import com.google.common.base.Throwables;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.util.EnumFacing;
+
+import java.util.concurrent.Callable;
+
+/**
+ * This is the core holder object Capabilities.
+ * Each capability will have ONE instance of this class,
+ * and it will the the one passed into the ICapabilityProvider functions.
+ *
+ * The CapabilityManager is in charge of creating this class.
+ */
+public class Capability
+{
+ public static interface IStorage
+ {
+ /**
+ * Serialize the capability instance to a NBTTag.
+ * This allows for a central implementation of saving the data.
+ *
+ * It is important to note that it is up to the API defining
+ * the capability what requirements the 'instance' value must have.
+ *
+ * Due to the possibility of manipulating internal data, some
+ * implementations MAY require that the 'instance' be an instance
+ * of the 'default' implementation.
+ *
+ * Review the API docs for more info.
+ *
+ * @param capability The Capability being stored.
+ * @param instance An instance of that capabilities interface.
+ * @param side The side of the object the instance is associated with.
+ * @return a NBT holding the data. Null if no data needs to be stored.
+ */
+ NBTBase writeNBT(Capability capability, T instance, EnumFacing side);
+
+ /**
+ * Read the capability instance from a NBT tag.
+ *
+ * This allows for a central implementation of saving the data.
+ *
+ * It is important to note that it is up to the API defining
+ * the capability what requirements the 'instance' value must have.
+ *
+ * Due to the possibility of manipulating internal data, some
+ * implementations MAY require that the 'instance' be an instance
+ * of the 'default' implementation.
+ *
+ * Review the API docs for more info. *
+ *
+ * @param capability The Capability being stored.
+ * @param instance An instance of that capabilities interface.
+ * @param side The side of the object the instance is associated with.
+ * @param A NBT holding the data. Must not be null, as doesn't make sense to call this function with nothing to read...
+ */
+ void readNBT(Capability capability, T instance, EnumFacing side, NBTBase nbt);
+ }
+
+ /**
+ * @return The unique name of this capability, typically this is
+ * the fully qualified class name for the target interface.
+ */
+ public String getName() { return name; }
+ /**
+ * @return An instance of the default storage handler. You can safely use this store your default implementation in NBT.
+ */
+ public IStorage getStorage() { return storage; }
+
+ /**
+ * A NEW instance of the default implementation.
+ *
+ * If it important to note that if you want to use the default storage
+ * you may be required to use this exact implementation.
+ * Refer to the owning API of the Capability in question.
+ *
+ * @return A NEW instance of the default implementation.
+ */
+ public T getDefaultInstance()
+ {
+ try
+ {
+ return this.factory.call();
+ }
+ catch (Exception e)
+ {
+ Throwables.propagate(e);
+ }
+ return null;
+ }
+
+ // INTERNAL
+ private final String name;
+ private final IStorage storage;
+ private final Callable extends T> factory;
+
+ public Capability(String name, IStorage iStorage, Callable extends T> factory)
+ {
+ this.name = name;
+ this.storage = iStorage;
+ this.factory = factory;
+ }
+}
diff --git a/src/main/java/net/minecraftforge/common/capabilities/CapabilityDispatcher.java b/src/main/java/net/minecraftforge/common/capabilities/CapabilityDispatcher.java
new file mode 100644
index 00000000..6063db5e
--- /dev/null
+++ b/src/main/java/net/minecraftforge/common/capabilities/CapabilityDispatcher.java
@@ -0,0 +1,114 @@
+package net.minecraftforge.common.capabilities;
+
+import com.google.common.collect.Lists;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumFacing;
+import net.minecraft.util.ResourceLocation;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * A high-speed implementation of a capability delegator.
+ * This is used to wrap the results of the AttachCapabilitiesEvent.
+ * It is HIGHLY recommended that you DO NOT use this approach unless
+ * you MUST delegate to multiple providers instead just implement y
+ * our handlers using normal if statements.
+ *
+ * Internally the handlers are baked into arrays for fast iteration.
+ * The ResourceLocations will be used for the NBT Key when serializing.
+ */
+public final class CapabilityDispatcher implements INBTSerializable, ICapabilityProvider
+{
+ private ICapabilityProvider[] caps;
+ private INBTSerializable[] writers;
+ private String[] names;
+
+ public CapabilityDispatcher(Map list)
+ {
+ this(list, null);
+ }
+
+ public CapabilityDispatcher(Map list, ICapabilityProvider parent)
+ {
+ List lstCaps = Lists.newArrayList();
+ List> lstWriters = Lists.newArrayList();
+ List lstNames = Lists.newArrayList();
+
+ if (parent != null) // Parents go first!
+ {
+ lstCaps.add(parent);
+ if (parent instanceof INBTSerializable)
+ {
+ lstWriters.add((INBTSerializable)parent);
+ lstNames.add("Parent");
+ }
+ }
+
+ for (Map.Entry entry : list.entrySet())
+ {
+ ICapabilityProvider prov = entry.getValue();
+ lstCaps.add(prov);
+ if (prov instanceof INBTSerializable)
+ {
+ lstWriters.add((INBTSerializable)prov);
+ lstNames.add(entry.getKey().toString());
+ }
+ }
+
+ caps = lstCaps.toArray(new ICapabilityProvider[lstCaps.size()]);
+ writers = lstWriters.toArray(new INBTSerializable[lstWriters.size()]);
+ names = lstNames.toArray(new String[lstNames.size()]);
+ }
+
+ @Override
+ public boolean hasCapability(Capability> capability, EnumFacing facing)
+ {
+ for (ICapabilityProvider cap : caps)
+ {
+ if (cap.hasCapability(capability, facing))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public T getCapability(Capability capability, EnumFacing facing)
+ {
+ for (ICapabilityProvider cap : caps)
+ {
+ T ret = cap.getCapability(capability, facing);
+ if (ret != null)
+ {
+ return ret;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public NBTTagCompound serializeNBT()
+ {
+ NBTTagCompound nbt = new NBTTagCompound();
+ for (int x = 0; x < writers.length; x++)
+ {
+ nbt.setTag(names[x], writers[x].serializeNBT());
+ }
+ return nbt;
+ }
+
+ @Override
+ public void deserializeNBT(NBTTagCompound nbt)
+ {
+ for (int x = 0; x < writers.length; x++)
+ {
+ if (nbt.hasKey(names[x]))
+ {
+ writers[x].deserializeNBT(nbt.getTag(names[x]));
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/minecraftforge/common/capabilities/ICapabilityProvider.java b/src/main/java/net/minecraftforge/common/capabilities/ICapabilityProvider.java
new file mode 100644
index 00000000..13f79d9a
--- /dev/null
+++ b/src/main/java/net/minecraftforge/common/capabilities/ICapabilityProvider.java
@@ -0,0 +1,35 @@
+package net.minecraftforge.common.capabilities;
+
+import net.minecraft.util.EnumFacing;
+
+public interface ICapabilityProvider
+{
+ /**
+ * Determines if this object has support for the capability in question on the specific side.
+ * The return value of this MIGHT change during runtime if this object gains or looses support
+ * for a capability.
+ *
+ * Example:
+ * A Pipe getting a cover placed on one side causing it loose the Inventory attachment function for that side.
+ *
+ * This is a light weight version of getCapability, intended for metadata uses.
+ *
+ * @param capability The capability to check
+ * @param facing The Side to check from:
+ * CAN BE NULL. Null is defined to represent 'internal' or 'self'
+ * @return True if this object supports the capability.
+ */
+ boolean hasCapability(Capability> capability, EnumFacing facing);
+
+ /**
+ * Retrieves the handler for the capability requested on the specific side.
+ * The return value CAN be null if the object does not support the capability.
+ * The return value CAN be the same for multiple faces.
+ *
+ * @param capability The capability to check
+ * @param facing The Side to check from:
+ * CAN BE NULL. Null is defined to represent 'internal' or 'self'
+ * @return True if this object supports the capability.
+ */
+ T getCapability(Capability capability, EnumFacing facing);
+}
diff --git a/src/main/java/net/minecraftforge/common/capabilities/INBTSerializable.java b/src/main/java/net/minecraftforge/common/capabilities/INBTSerializable.java
new file mode 100644
index 00000000..ca659c0a
--- /dev/null
+++ b/src/main/java/net/minecraftforge/common/capabilities/INBTSerializable.java
@@ -0,0 +1,13 @@
+package net.minecraftforge.common.capabilities;
+
+import net.minecraft.nbt.NBTBase;
+
+/**
+ * An interface designed to unify various things in the Minecraft
+ * code base that can be serialized to and from a NBT tag.
+ */
+public interface INBTSerializable
+{
+ T serializeNBT();
+ void deserializeNBT(T nbt);
+}
diff --git a/src/main/java/rip/athena/client/Athena.java b/src/main/java/rip/athena/client/Athena.java
index 83c8e7dd..bef539cf 100644
--- a/src/main/java/rip/athena/client/Athena.java
+++ b/src/main/java/rip/athena/client/Athena.java
@@ -1,13 +1,16 @@
package rip.athena.client;
import lombok.Getter;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
+import net.minecraft.client.Minecraft;
import rip.athena.client.events.EventBus;
+import rip.athena.client.gui.hud.HUDManager;
import rip.athena.client.modules.ModuleManager;
import rip.athena.client.utils.PrefixedLogger;
import rip.athena.client.utils.input.KeybindManager;
+import java.io.File;
+import java.nio.file.Paths;
+
/**
* The Athena class represents the main class of the Athena Client.
* It encapsulates the client's name, version, build, and provides
@@ -40,6 +43,8 @@ public class Athena {
public static final Athena INSTANCE = new Athena();
+ public static final File MAIN_DIR = Paths.get(Minecraft.getMinecraft().mcDataDir.getAbsolutePath(), "Athena").toFile();
+
private final PrefixedLogger log = new PrefixedLogger("Athena");
private final String clientName = "Athena";
@@ -47,6 +52,7 @@ public class Athena {
private final String clientBuild = "230601";
private ModuleManager moduleManager;
+ private HUDManager hudManager;
private EventBus eventBus;
/**
@@ -56,14 +62,22 @@ public class Athena {
* connections with servers or other systems.
*/
public void initClient() {
+ if(!MAIN_DIR.exists()) {
+ MAIN_DIR.mkdir();
+ }
+
this.moduleManager = new ModuleManager();
+ this.hudManager = new HUDManager();
this.eventBus = new EventBus();
registerEvents();
+
}
public void registerEvents() {
eventBus.register(new KeybindManager());
+ eventBus.register(hudManager);
+ eventBus.register(this);
}
/**
diff --git a/src/main/java/rip/athena/client/events/types/entity/AttachCapabilitiesEvent.java b/src/main/java/rip/athena/client/events/types/entity/AttachCapabilitiesEvent.java
new file mode 100644
index 00000000..1c24cb6b
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/entity/AttachCapabilitiesEvent.java
@@ -0,0 +1,34 @@
+package rip.athena.client.events.types.entity;
+
+import com.google.common.collect.Maps;
+import net.minecraftforge.common.capabilities.ICapabilityProvider;
+import rip.athena.client.events.Event;
+import net.minecraft.entity.Entity;
+import net.minecraft.util.ResourceLocation;
+
+import java.util.Collections;
+import java.util.Map;
+
+public class AttachCapabilitiesEvent extends Event {
+ private Entity entity;
+ private Map caps = Maps.newLinkedHashMap();
+ private Map view = Collections.unmodifiableMap(caps);
+
+ public AttachCapabilitiesEvent(Entity entity) {
+ this.entity = entity;
+ }
+
+ public Entity getEntity() {
+ return this.entity;
+ }
+
+ public void addCapability(ResourceLocation key, ICapabilityProvider cap) {
+ if (caps.containsKey(key))
+ throw new IllegalStateException("Duplicate Capability Key: " + key + " " + cap);
+ this.caps.put(key, cap);
+ }
+
+ public Map getCapabilities() {
+ return view;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/entity/AttackEntityEvent.java b/src/main/java/rip/athena/client/events/types/entity/AttackEntityEvent.java
new file mode 100644
index 00000000..0a5bf436
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/entity/AttackEntityEvent.java
@@ -0,0 +1,22 @@
+package rip.athena.client.events.types.entity;
+
+import rip.athena.client.events.Event;
+import net.minecraft.entity.Entity;
+
+public class AttackEntityEvent extends Event {
+ private Entity entity;
+ private Entity target;
+
+ public AttackEntityEvent(Entity entity, Entity target) {
+ this.entity = entity;
+ this.target = target;
+ }
+
+ public Entity getEntity() {
+ return entity;
+ }
+
+ public Entity getTarget() {
+ return target;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/entity/EntityCreateEvent.java b/src/main/java/rip/athena/client/events/types/entity/EntityCreateEvent.java
new file mode 100644
index 00000000..b632bcaa
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/entity/EntityCreateEvent.java
@@ -0,0 +1,23 @@
+package rip.athena.client.events.types.entity;
+
+import rip.athena.client.events.Event;
+import net.minecraft.entity.Entity;
+import net.minecraft.world.World;
+
+public class EntityCreateEvent extends Event {
+ private Entity player;
+ private World world;
+
+ public EntityCreateEvent(Entity player, World world) {
+ this.player = player;
+ this.world = world;
+ }
+
+ public Entity getEntity() {
+ return player;
+ }
+
+ public World getWorld() {
+ return world;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/entity/EntityDeathEvent.java b/src/main/java/rip/athena/client/events/types/entity/EntityDeathEvent.java
new file mode 100644
index 00000000..c9bb759e
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/entity/EntityDeathEvent.java
@@ -0,0 +1,23 @@
+package rip.athena.client.events.types.entity;
+
+import rip.athena.client.events.Event;
+import net.minecraft.entity.Entity;
+import net.minecraft.util.DamageSource;
+
+public class EntityDeathEvent extends Event {
+ private Entity entity;
+ private DamageSource cause;
+
+ public EntityDeathEvent(Entity entity, DamageSource cause) {
+ this.entity = entity;
+ this.cause = cause;
+ }
+
+ public Entity getEntity() {
+ return entity;
+ }
+
+ public DamageSource getCause() {
+ return cause;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/entity/ItemPickupEvent.java b/src/main/java/rip/athena/client/events/types/entity/ItemPickupEvent.java
new file mode 100644
index 00000000..86970ff7
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/entity/ItemPickupEvent.java
@@ -0,0 +1,23 @@
+package rip.athena.client.events.types.entity;
+
+import rip.athena.client.events.Event;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+
+public class ItemPickupEvent extends Event {
+ private EntityLivingBase entity;
+ private Entity item;
+
+ public ItemPickupEvent(EntityLivingBase entity, Entity item) {
+ this.entity = entity;
+ this.item = item;
+ }
+
+ public EntityLivingBase getEntity() {
+ return entity;
+ }
+
+ public Entity getItem() {
+ return item;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/entity/MinecartInteractEvent.java b/src/main/java/rip/athena/client/events/types/entity/MinecartInteractEvent.java
new file mode 100644
index 00000000..97f01493
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/entity/MinecartInteractEvent.java
@@ -0,0 +1,23 @@
+package rip.athena.client.events.types.entity;
+
+import rip.athena.client.events.Event;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityMinecart;
+
+public class MinecartInteractEvent extends Event {
+ private Entity entity;
+ private EntityMinecart minecart;
+
+ public MinecartInteractEvent(Entity entity, EntityMinecart minecart) {
+ this.entity = entity;
+ this.minecart = minecart;
+ }
+
+ public Entity getEntity() {
+ return entity;
+ }
+
+ public EntityMinecart getMinecart() {
+ return minecart;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/entity/PlayerInteractEvent.java b/src/main/java/rip/athena/client/events/types/entity/PlayerInteractEvent.java
new file mode 100644
index 00000000..1814acb4
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/entity/PlayerInteractEvent.java
@@ -0,0 +1,35 @@
+package rip.athena.client.events.types.entity;
+
+import rip.athena.client.events.Event;
+import net.minecraft.util.BlockPos;
+import net.minecraft.world.World;
+
+public class PlayerInteractEvent extends Event {
+ private Action action;
+ private BlockPos pos;
+ private World world;
+
+ public PlayerInteractEvent(Action action, BlockPos pos, World world) {
+ this.action = action;
+ this.pos = pos;
+ this.world = world;
+ }
+
+ public Action getAction() {
+ return action;
+ }
+
+ public BlockPos getPos() {
+ return pos;
+ }
+
+ public World getWorld() {
+ return world;
+ }
+
+ public enum Action {
+ USE_ITEM,
+ LEFT_CLICK_BLOCK,
+ RIGHT_CLICK_BLOCK;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/entity/PlayerTickEvent.java b/src/main/java/rip/athena/client/events/types/entity/PlayerTickEvent.java
new file mode 100644
index 00000000..ad5a68f3
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/entity/PlayerTickEvent.java
@@ -0,0 +1,16 @@
+package rip.athena.client.events.types.entity;
+
+import rip.athena.client.events.Event;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class PlayerTickEvent extends Event {
+ private EntityPlayer player;
+
+ public PlayerTickEvent(EntityPlayer player) {
+ this.player = player;
+ }
+
+ public EntityPlayer getPlayer() {
+ return player;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/input/MouseDownEvent.java b/src/main/java/rip/athena/client/events/types/input/MouseDownEvent.java
new file mode 100644
index 00000000..6d3b65b0
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/input/MouseDownEvent.java
@@ -0,0 +1,20 @@
+package rip.athena.client.events.types.input;
+
+import rip.athena.client.events.Event;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class MouseDownEvent extends Event {
+ private int button;
+
+ public MouseDownEvent(int button) {
+ this.button = button;
+ }
+
+ public int getButton() {
+ return button;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/input/MouseMoveEvent.java b/src/main/java/rip/athena/client/events/types/input/MouseMoveEvent.java
new file mode 100644
index 00000000..9a6bee5f
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/input/MouseMoveEvent.java
@@ -0,0 +1,11 @@
+package rip.athena.client.events.types.input;
+
+import rip.athena.client.events.Event;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class MouseMoveEvent extends Event {
+}
diff --git a/src/main/java/rip/athena/client/events/types/network/IngoingPacketEvent.java b/src/main/java/rip/athena/client/events/types/network/IngoingPacketEvent.java
new file mode 100644
index 00000000..2b8582ed
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/network/IngoingPacketEvent.java
@@ -0,0 +1,21 @@
+package rip.athena.client.events.types.network;
+
+import net.minecraft.network.Packet;
+import rip.athena.client.events.Event;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class IngoingPacketEvent extends Event {
+ private Packet> packet;
+
+ public IngoingPacketEvent(Packet> packet) {
+ this.packet = packet;
+ }
+
+ public Packet> getPacket() {
+ return packet;
+ }
+}
diff --git a/src/main/java/rip/athena/client/events/types/render/RenderPlayerEvent.java b/src/main/java/rip/athena/client/events/types/render/RenderPlayerEvent.java
new file mode 100644
index 00000000..a751e8c9
--- /dev/null
+++ b/src/main/java/rip/athena/client/events/types/render/RenderPlayerEvent.java
@@ -0,0 +1,40 @@
+package rip.athena.client.events.types.render;
+
+import net.minecraft.entity.player.EntityPlayer;
+import rip.athena.client.events.Event;
+
+public class RenderPlayerEvent extends Event {
+ private EntityPlayer player;
+ private double x;
+ private double y;
+ private double z;
+ private float partialTicks;
+
+ public RenderPlayerEvent(EntityPlayer player, double x, double y, double z, float partialTicks) {
+ this.player = player;
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ this.partialTicks = partialTicks;
+ }
+
+ public EntityPlayer getPlayer() {
+ return player;
+ }
+
+ public double getX() {
+ return x;
+ }
+
+ public double getY() {
+ return y;
+ }
+
+ public double getZ() {
+ return z;
+ }
+
+ public float getPartialTicks() {
+ return partialTicks;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/rip/athena/client/font/FontManager.java b/src/main/java/rip/athena/client/font/FontManager.java
index 2199b304..683f0349 100644
--- a/src/main/java/rip/athena/client/font/FontManager.java
+++ b/src/main/java/rip/athena/client/font/FontManager.java
@@ -23,6 +23,7 @@ public class FontManager {
public static FontUtils baloo16 = new FontUtils("Baloo.ttf", Font.PLAIN, 16, 7, false);
public static FontUtils baloo17 = new FontUtils("SFBOLD.ttf", Font.BOLD, 17, 7, false);
+ public static FontUtils baloo30 = new FontUtils("SFBOLD.ttf", Font.PLAIN, 30, 7, false);
public static FontUtils SFBOLD = new FontUtils("SFBOLD.ttf", Font.BOLD, 30, 7, false);
public static FontUtils vision16 = new FontUtils("Vision.otf", Font.BOLD, 26, 7, false, 5);
public static FontUtils vision30 = new FontUtils("Vision.otf", Font.BOLD, 30, 7, false, 5);
diff --git a/src/main/java/rip/athena/client/font/FontUtils.java b/src/main/java/rip/athena/client/font/FontUtils.java
index 1bd1a0c4..054f21b6 100644
--- a/src/main/java/rip/athena/client/font/FontUtils.java
+++ b/src/main/java/rip/athena/client/font/FontUtils.java
@@ -62,7 +62,6 @@ public class FontUtils {
Font font = null;
try {
- Athena.INSTANCE.getLog().warn(Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation("Athena/font/" + fontName)).getInputStream() + "test");
InputStream ex = Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation("Athena/font/" + fontName)).getInputStream();
font = Font.createFont(0, ex);
font = font.deriveFont(fontType, size);
diff --git a/src/main/java/rip/athena/client/gui/clickgui.zip b/src/main/java/rip/athena/client/gui/clickgui.zip
new file mode 100644
index 00000000..73ac888a
Binary files /dev/null and b/src/main/java/rip/athena/client/gui/clickgui.zip differ
diff --git a/src/main/java/rip/athena/client/gui/clickgui/Category.java b/src/main/java/rip/athena/client/gui/clickgui/Category.java
new file mode 100644
index 00000000..bed5281d
--- /dev/null
+++ b/src/main/java/rip/athena/client/gui/clickgui/Category.java
@@ -0,0 +1,21 @@
+package rip.athena.client.gui.clickgui;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public enum Category {
+ MODS("MODS"), SETTINGS("SETTINGS"), MACROS("MACROS"), WAYPOINTS("WAYPOINTS"), PROFILES("PROFILES"), COSMETICS("COSMETICS"), GROUPS("GROUPS");
+
+ private String name;
+
+ Category(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
diff --git a/src/main/java/rip/athena/client/gui/hud/IPage.java b/src/main/java/rip/athena/client/gui/clickgui/IPage.java
similarity index 51%
rename from src/main/java/rip/athena/client/gui/hud/IPage.java
rename to src/main/java/rip/athena/client/gui/clickgui/IPage.java
index c39a2cfc..0f9ae943 100644
--- a/src/main/java/rip/athena/client/gui/hud/IPage.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/IPage.java
@@ -1,4 +1,10 @@
-package rip.athena.client.gui.hud;
+package rip.athena.client.gui.clickgui;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public interface IPage {
void onInit();
diff --git a/src/main/java/rip/athena/client/gui/hud/IngameMenu.java b/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java
similarity index 92%
rename from src/main/java/rip/athena/client/gui/hud/IngameMenu.java
rename to src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java
index bc54423c..3fb6bbe5 100644
--- a/src/main/java/rip/athena/client/gui/hud/IngameMenu.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java
@@ -1,8 +1,9 @@
-package rip.athena.client.gui.hud;
+package rip.athena.client.gui.clickgui;
import net.minecraft.client.Minecraft;
import rip.athena.client.Athena;
import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.clickgui.pages.ModsPage;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MinecraftMenuImpl;
@@ -10,18 +11,24 @@ import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.components.MenuDraggable;
import rip.athena.client.gui.framework.components.MenuScrollPane;
import rip.athena.client.gui.framework.draw.DrawImpl;
-import rip.athena.client.gui.hud.components.mods.CategoryButton;
+import rip.athena.client.gui.clickgui.components.mods.CategoryButton;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
-import rip.athena.client.gui.hud.pages.ModsPage;
import rip.athena.client.modules.Module;
+import rip.athena.client.modules.impl.other.Settings;
import rip.athena.client.utils.render.AssetUtils;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class IngameMenu extends MinecraftMenuImpl implements DrawImpl {
public static int MENU_ALPHA = 255;
public static int MENU_TOP_BG_COLOR = new Color(30, 30, 30, MENU_ALPHA).getRGB();
@@ -88,8 +95,11 @@ public class IngameMenu extends MinecraftMenuImpl implements DrawImpl {
}
menu.addComponent(comp);
-
- x += FontManager.baloo17.getStringWidth(category.getName()) + 20;
+ if(Settings.customGuiFont) {
+ x += FontManager.baloo17.getStringWidth(category.getName()) + 20;
+ } else {
+ x += mc.fontRendererObj.getStringWidth(category.getName()) + 20;
+ }
}
initPage();
@@ -120,6 +130,7 @@ public class IngameMenu extends MinecraftMenuImpl implements DrawImpl {
rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX(), menu.getY(), menu.getWidth(), 58, MENU_TOP_BG_COLOR);
FontManager.font1.drawString(Athena.INSTANCE.getClientName().toUpperCase(), menu.getX() + 70, menu.getY() + 20, MENU_HEADER_TEXT_COLOR);
+
rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX(), menu.getY() + 58, menu.getWidth(), menu.getHeight() - 58, MENU_PANE_BG_COLOR);
drawShadowDown(menu.getX(), menu.getY() + 58, menu.getWidth());
diff --git a/src/main/java/rip/athena/client/gui/hud/Page.java b/src/main/java/rip/athena/client/gui/clickgui/Page.java
similarity index 76%
rename from src/main/java/rip/athena/client/gui/hud/Page.java
rename to src/main/java/rip/athena/client/gui/clickgui/Page.java
index 60944cd0..34887e38 100644
--- a/src/main/java/rip/athena/client/gui/hud/Page.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/Page.java
@@ -1,9 +1,15 @@
-package rip.athena.client.gui.hud;
+package rip.athena.client.gui.clickgui;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.draw.DrawImpl;
import net.minecraft.client.Minecraft;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public abstract class Page implements IPage, DrawImpl {
protected Minecraft mc;
protected Menu menu;
diff --git a/src/main/java/rip/athena/client/gui/hud/PageManager.java b/src/main/java/rip/athena/client/gui/clickgui/PageManager.java
similarity index 82%
rename from src/main/java/rip/athena/client/gui/hud/PageManager.java
rename to src/main/java/rip/athena/client/gui/clickgui/PageManager.java
index c47f3129..ea4fe010 100644
--- a/src/main/java/rip/athena/client/gui/hud/PageManager.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/PageManager.java
@@ -1,12 +1,18 @@
-package rip.athena.client.gui.hud;
+package rip.athena.client.gui.clickgui;
import net.minecraft.client.Minecraft;
+import rip.athena.client.gui.clickgui.pages.*;
import rip.athena.client.gui.framework.Menu;
-import rip.athena.client.gui.hud.pages.*;
import java.util.HashMap;
import java.util.Map;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class PageManager {
private IngameMenu parent;
private Menu menu;
@@ -23,11 +29,11 @@ public class PageManager {
Minecraft mc = Minecraft.getMinecraft();
pages.put(Category.MODS, new ModsPage(mc, menu, parent));
+ pages.put(Category.SETTINGS, new SettingsPage(mc, menu, parent));
pages.put(Category.MACROS, new MacrosPage(mc, menu, parent));
pages.put(Category.WAYPOINTS, new WaypointsPage(mc, menu, parent));
pages.put(Category.PROFILES, new ProfilesPage(mc, menu, parent));
pages.put(Category.COSMETICS, new CosmeticsPage(mc, menu, parent));
- pages.put(Category.FPS, new FPSPage(mc, menu, parent));
pages.put(Category.GROUPS, new GroupsPage(mc, menu, parent));
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticActionButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticActionButton.java
similarity index 95%
rename from src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticActionButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticActionButton.java
index ccfae2b1..3f6e77c6 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticActionButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticActionButton.java
@@ -1,10 +1,16 @@
-package rip.athena.client.gui.hud.components.cosmetics;
+package rip.athena.client.gui.clickgui.components.cosmetics;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class CosmeticActionButton extends CosmeticGenericButton {
private String id;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticBindButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticBindButton.java
similarity index 96%
rename from src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticBindButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticBindButton.java
index 51af5612..9a4b39f4 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticBindButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticBindButton.java
@@ -1,10 +1,16 @@
-package rip.athena.client.gui.hud.components.cosmetics;
+package rip.athena.client.gui.clickgui.components.cosmetics;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class CosmeticBindButton extends CosmeticGenericButton {
private String type;
private boolean binding;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticCapeView.java b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticCapeView.java
similarity index 95%
rename from src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticCapeView.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticCapeView.java
index b639479b..12ee6863 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticCapeView.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticCapeView.java
@@ -1,10 +1,10 @@
-package rip.athena.client.gui.hud.components.cosmetics;
+package rip.athena.client.gui.clickgui.components.cosmetics;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.renderer.GlStateManager;
@@ -15,6 +15,12 @@ import org.lwjgl.opengl.GL11;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class CosmeticCapeView extends MenuComponent {
//private Cape cape;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticGenericButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticGenericButton.java
similarity index 93%
rename from src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticGenericButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticGenericButton.java
index 48667d76..16d1cf92 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticGenericButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticGenericButton.java
@@ -1,11 +1,16 @@
-package rip.athena.client.gui.hud.components.cosmetics;
+package rip.athena.client.gui.clickgui.components.cosmetics;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.components.macros.MacroButton;
+import rip.athena.client.gui.clickgui.components.macros.MacroButton;
import java.awt.*;
-import java.nio.charset.MalformedInputException;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public class CosmeticGenericButton extends MacroButton {
protected boolean filledBackground;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticList.java b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticList.java
similarity index 96%
rename from src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticList.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticList.java
index 44fdcdea..3fd8692f 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticList.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticList.java
@@ -1,5 +1,4 @@
-package rip.athena.client.gui.hud.components.cosmetics;
-
+package rip.athena.client.gui.clickgui.components.cosmetics;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.MenuPriority;
@@ -9,6 +8,12 @@ import rip.athena.client.gui.framework.draw.DrawType;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class CosmeticList extends MenuDropdown {
protected int cursorWidth = 25;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticRainbowButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticRainbowButton.java
similarity index 83%
rename from src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticRainbowButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticRainbowButton.java
index 98bd1e87..a9efbd1f 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticRainbowButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticRainbowButton.java
@@ -1,14 +1,19 @@
-package rip.athena.client.gui.hud.components.cosmetics;
-
+package rip.athena.client.gui.clickgui.components.cosmetics;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.utils.render.DrawUtils;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class CosmeticRainbowButton extends CosmeticGenericButton {
public CosmeticRainbowButton(String text, int x, int y, int width, int height) {
super(text, x, y, width, height, true);
@@ -59,9 +64,12 @@ public class CosmeticRainbowButton extends CosmeticGenericButton {
drawShadowLeft(x, y, height + 1);
drawShadowDown(x, y + height + 1, width + 1);
drawShadowRight(x + width + 1, y, height + 1);
-
- FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + (height / 2 - getStringHeight(text) / 2), -1);
-
+
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + (height / 2 - getStringHeight(text) / 2), -1);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + (height / 2 - getStringHeight(text) / 2), -1);
+ }
mouseDown = false;
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticToggleButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticToggleButton.java
similarity index 86%
rename from src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticToggleButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticToggleButton.java
index 49e4ae68..17ace6d4 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticToggleButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticToggleButton.java
@@ -1,12 +1,18 @@
-package rip.athena.client.gui.hud.components.cosmetics;
+package rip.athena.client.gui.clickgui.components.cosmetics;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.components.macros.MacroButton;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.components.macros.MacroButton;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class CosmeticToggleButton extends MacroButton {
public CosmeticToggleButton(String text, int x, int y, int width, int height, boolean approve) {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticUserPreview.java b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticUserPreview.java
similarity index 95%
rename from src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticUserPreview.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticUserPreview.java
index 944d5321..6c859a1a 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/cosmetics/CosmeticUserPreview.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/cosmetics/CosmeticUserPreview.java
@@ -1,9 +1,9 @@
-package rip.athena.client.gui.hud.components.cosmetics;
+package rip.athena.client.gui.clickgui.components.cosmetics;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.renderer.GlStateManager;
@@ -14,6 +14,12 @@ import org.lwjgl.opengl.GL11;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class CosmeticUserPreview extends MenuComponent {
public CosmeticUserPreview(int x, int y, int width, int height) {
super(x, y, width, height);
diff --git a/src/main/java/rip/athena/client/gui/hud/components/fps/FPSGenericButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/fps/FPSGenericButton.java
similarity index 87%
rename from src/main/java/rip/athena/client/gui/hud/components/fps/FPSGenericButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/fps/FPSGenericButton.java
index 21bf7715..2393ef9d 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/fps/FPSGenericButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/fps/FPSGenericButton.java
@@ -1,11 +1,17 @@
-package rip.athena.client.gui.hud.components.fps;
+package rip.athena.client.gui.clickgui.components.fps;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.components.cosmetics.CosmeticGenericButton;
+import rip.athena.client.gui.clickgui.components.cosmetics.CosmeticGenericButton;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class FPSGenericButton extends CosmeticGenericButton {
public FPSGenericButton(String text, int x, int y, int width, int height, boolean filledBackground) {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/fps/FlipButtonFPS.java b/src/main/java/rip/athena/client/gui/clickgui/components/fps/FlipButtonFPS.java
similarity index 86%
rename from src/main/java/rip/athena/client/gui/hud/components/fps/FlipButtonFPS.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/fps/FlipButtonFPS.java
index f54b0700..ce3b1d05 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/fps/FlipButtonFPS.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/fps/FlipButtonFPS.java
@@ -1,9 +1,15 @@
-package rip.athena.client.gui.hud.components.fps;
+package rip.athena.client.gui.clickgui.components.fps;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.components.macros.FlipButton;
-import rip.athena.client.gui.hud.pages.fps.BlacklistModule;
+import rip.athena.client.gui.clickgui.components.macros.FlipButton;
+import rip.athena.client.gui.clickgui.pages.fps.BlacklistModule;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public class FlipButtonFPS extends FlipButton {
private BlacklistModule module;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/fps/FlipButtonParent.java b/src/main/java/rip/athena/client/gui/clickgui/components/fps/FlipButtonParent.java
similarity index 83%
rename from src/main/java/rip/athena/client/gui/hud/components/fps/FlipButtonParent.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/fps/FlipButtonParent.java
index 01136641..eb37cd65 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/fps/FlipButtonParent.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/fps/FlipButtonParent.java
@@ -1,9 +1,15 @@
-package rip.athena.client.gui.hud.components.fps;
+package rip.athena.client.gui.clickgui.components.fps;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.components.waypoints.WaypointTextBarrier;
+import rip.athena.client.gui.clickgui.components.waypoints.WaypointTextBarrier;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public class FlipButtonParent extends WaypointTextBarrier {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/fps/MainWindowBackgroundPS.java b/src/main/java/rip/athena/client/gui/clickgui/components/fps/MainWindowBackgroundPS.java
similarity index 88%
rename from src/main/java/rip/athena/client/gui/hud/components/fps/MainWindowBackgroundPS.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/fps/MainWindowBackgroundPS.java
index 1ed283eb..dcf54ad0 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/fps/MainWindowBackgroundPS.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/fps/MainWindowBackgroundPS.java
@@ -1,13 +1,19 @@
-package rip.athena.client.gui.hud.components.fps;
+package rip.athena.client.gui.clickgui.components.fps;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MainWindowBackgroundPS extends MenuComponent {
public MainWindowBackgroundPS(int x, int y, int width, int height) {
super(x, y, width, height);
diff --git a/src/main/java/rip/athena/client/gui/hud/components/fps/MenuImageButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/fps/MenuImageButton.java
similarity index 96%
rename from src/main/java/rip/athena/client/gui/hud/components/fps/MenuImageButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/fps/MenuImageButton.java
index def03f8c..7d87b27c 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/fps/MenuImageButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/fps/MenuImageButton.java
@@ -1,4 +1,4 @@
-package rip.athena.client.gui.hud.components.fps;
+package rip.athena.client.gui.clickgui.components.fps;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
@@ -10,6 +10,12 @@ import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.RescaleOp;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuImageButton extends MenuButton {
private static Color DISABLED_COLOR = new Color(255, 255, 255, 200);
private static Color OVER_COLOR = new Color(255, 255, 255, 160);
diff --git a/src/main/java/rip/athena/client/gui/hud/components/fps/OptifineParentBackground.java b/src/main/java/rip/athena/client/gui/clickgui/components/fps/OptifineParentBackground.java
similarity index 72%
rename from src/main/java/rip/athena/client/gui/hud/components/fps/OptifineParentBackground.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/fps/OptifineParentBackground.java
index f6c9fec0..5ae12883 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/fps/OptifineParentBackground.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/fps/OptifineParentBackground.java
@@ -1,16 +1,23 @@
-package rip.athena.client.gui.hud.components.fps;
-
+package rip.athena.client.gui.clickgui.components.fps;
import net.minecraft.client.Minecraft;
+import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import net.minecraft.util.ResourceLocation;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class OptifineParentBackground extends MenuComponent {
protected ResourceLocation image;
protected String topText;
@@ -62,19 +69,31 @@ public class OptifineParentBackground extends MenuComponent {
//drawImage(image, x + 40, y + 60, imgRad, imgRad);
}
-
+
@Override
- public void drawText(String string, int x, int y, int color) {
- Minecraft.getMinecraft().fontRendererObj.drawString(string, x, y, color);
+ public void drawText(String text, int x, int y, int color) {
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x, y, color);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x, y, color);
+ }
}
-
+
@Override
public int getStringWidth(String string) {
- return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
-
+
@Override
public int getStringHeight(String string) {
- return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupBase.java b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupBase.java
similarity index 92%
rename from src/main/java/rip/athena/client/gui/hud/components/groups/GroupBase.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupBase.java
index dbf92844..225ca27f 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupBase.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupBase.java
@@ -1,13 +1,18 @@
-package rip.athena.client.gui.hud.components.groups;
-
+package rip.athena.client.gui.clickgui.components.groups;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.components.profiles.ProfilesBase;
+import rip.athena.client.gui.clickgui.components.profiles.ProfilesBase;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GroupBase extends ProfilesBase {
protected static int GREEN_COLOR = new Color(2, 222, 9, 255).getRGB();
protected static int GRAY_COLOR = new Color(164, 164, 164, 255).getRGB();
diff --git a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupListEntry.java b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupListEntry.java
similarity index 92%
rename from src/main/java/rip/athena/client/gui/hud/components/groups/GroupListEntry.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupListEntry.java
index 8bdc536b..c5e5bc77 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupListEntry.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupListEntry.java
@@ -1,15 +1,20 @@
-package rip.athena.client.gui.hud.components.groups;
-
+package rip.athena.client.gui.clickgui.components.groups;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GroupListEntry extends MenuComponent {
protected String text;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupListMiniEntry.java b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupListMiniEntry.java
similarity index 94%
rename from src/main/java/rip/athena/client/gui/hud/components/groups/GroupListMiniEntry.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupListMiniEntry.java
index 0a3437f5..85532d4b 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupListMiniEntry.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupListMiniEntry.java
@@ -1,15 +1,20 @@
-package rip.athena.client.gui.hud.components.groups;
-
+package rip.athena.client.gui.clickgui.components.groups;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GroupListMiniEntry extends MenuComponent {
protected String name;
protected String value;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupTextButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupTextButton.java
similarity index 89%
rename from src/main/java/rip/athena/client/gui/hud/components/groups/GroupTextButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupTextButton.java
index 1753cc73..83b4b858 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupTextButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupTextButton.java
@@ -1,14 +1,19 @@
-package rip.athena.client.gui.hud.components.groups;
-
+package rip.athena.client.gui.clickgui.components.groups;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.pages.groups.GroupSubTab;
+import rip.athena.client.gui.clickgui.pages.groups.GroupSubTab;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GroupTextButton extends MenuButton {
public GroupTextButton(GroupSubTab category, int x, int y) {
super(category.getText(), x, y);
diff --git a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupUserListHeader.java b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupUserListHeader.java
similarity index 91%
rename from src/main/java/rip/athena/client/gui/hud/components/groups/GroupUserListHeader.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupUserListHeader.java
index d53bdf55..111496f3 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupUserListHeader.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupUserListHeader.java
@@ -1,14 +1,19 @@
-package rip.athena.client.gui.hud.components.groups;
-
+package rip.athena.client.gui.clickgui.components.groups;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GroupUserListHeader extends MenuComponent {
protected String text;
protected int amount;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupUserListUser.java b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupUserListUser.java
similarity index 92%
rename from src/main/java/rip/athena/client/gui/hud/components/groups/GroupUserListUser.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupUserListUser.java
index a593f950..9f598f39 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupUserListUser.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupUserListUser.java
@@ -1,16 +1,21 @@
-package rip.athena.client.gui.hud.components.groups;
-
+package rip.athena.client.gui.clickgui.components.groups;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import rip.athena.client.utils.render.DrawUtils;
import net.minecraft.util.ResourceLocation;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GroupUserListUser extends MenuComponent {
protected ResourceLocation location;
protected String name;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupValueList.java b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupValueList.java
similarity index 97%
rename from src/main/java/rip/athena/client/gui/hud/components/groups/GroupValueList.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupValueList.java
index 27366294..002698d8 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/groups/GroupValueList.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/groups/GroupValueList.java
@@ -1,5 +1,4 @@
-package rip.athena.client.gui.hud.components.groups;
-
+package rip.athena.client.gui.clickgui.components.groups;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.MenuPriority;
@@ -9,6 +8,12 @@ import rip.athena.client.gui.framework.draw.DrawType;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GroupValueList extends MenuDropdown {
protected int cursorWidth = 25;
protected String id;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/macros/FlipButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/macros/FlipButton.java
similarity index 95%
rename from src/main/java/rip/athena/client/gui/hud/components/macros/FlipButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/macros/FlipButton.java
index a948f5db..a856b1ca 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/macros/FlipButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/macros/FlipButton.java
@@ -1,14 +1,19 @@
-package rip.athena.client.gui.hud.components.macros;
-
+package rip.athena.client.gui.clickgui.components.macros;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class FlipButton extends MenuButton {
public static final int NORMAL_ON = new Color(15, 58, 28, IngameMenu.MENU_ALPHA).getRGB();
public static final int NORMAL_OFF = new Color(58, 15, 17, IngameMenu.MENU_ALPHA).getRGB();
diff --git a/src/main/java/rip/athena/client/gui/hud/components/macros/MacroBase.java b/src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroBase.java
similarity index 94%
rename from src/main/java/rip/athena/client/gui/hud/components/macros/MacroBase.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroBase.java
index 5b3ce28a..269614f0 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/macros/MacroBase.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroBase.java
@@ -1,15 +1,20 @@
-package rip.athena.client.gui.hud.components.macros;
-
+package rip.athena.client.gui.clickgui.components.macros;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MacroBase extends MenuComponent {
protected String text;
protected int spacing = 15;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/macros/MacroButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroButton.java
similarity index 79%
rename from src/main/java/rip/athena/client/gui/hud/components/macros/MacroButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroButton.java
index 9e5db1e1..3c036b75 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/macros/MacroButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroButton.java
@@ -1,13 +1,20 @@
-package rip.athena.client.gui.hud.components.macros;
+package rip.athena.client.gui.clickgui.components.macros;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MacroButton extends MenuButton {
private boolean approve;
@@ -64,20 +71,32 @@ public class MacroButton extends MenuButton {
mouseDown = false;
}
-
+
@Override
- public void drawText(String string, int x, int y, int color) {
- FontManager.baloo17.drawString(string, x, y, color);
+ public void drawText(String text, int x, int y, int color) {
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x, y, color);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x, y, color);
+ }
}
-
+
@Override
public int getStringWidth(String string) {
- return (int) FontManager.baloo17.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
-
+
@Override
public int getStringHeight(String string) {
- return (int) FontManager.baloo17.getHeight(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
public void setApprove(boolean approve) {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/macros/MacroSlimTextField.java b/src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroSlimTextField.java
similarity index 95%
rename from src/main/java/rip/athena/client/gui/hud/components/macros/MacroSlimTextField.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroSlimTextField.java
index f22c320e..a389e2cf 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/macros/MacroSlimTextField.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroSlimTextField.java
@@ -1,16 +1,21 @@
-package rip.athena.client.gui.hud.components.macros;
-
+package rip.athena.client.gui.clickgui.components.macros;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.TextPattern;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.components.mods.SearchTextfield;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.components.mods.SearchTextfield;
import org.lwjgl.input.Keyboard;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MacroSlimTextField extends SearchTextfield {
public MacroSlimTextField(TextPattern pattern, int x, int y, int width, int height) {
super(pattern, x, y, width, height);
diff --git a/src/main/java/rip/athena/client/gui/hud/components/macros/MacroTextfield.java b/src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroTextfield.java
similarity index 68%
rename from src/main/java/rip/athena/client/gui/hud/components/macros/MacroTextfield.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroTextfield.java
index 3c526896..fcc494ab 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/macros/MacroTextfield.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/macros/MacroTextfield.java
@@ -1,5 +1,4 @@
-package rip.athena.client.gui.hud.components.macros;
-
+package rip.athena.client.gui.clickgui.components.macros;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
@@ -7,13 +6,20 @@ import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.TextPattern;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.components.mods.SearchTextfield;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.components.mods.SearchTextfield;
+import rip.athena.client.modules.impl.other.Settings;
import rip.athena.client.utils.render.DrawUtils;
import org.lwjgl.input.Keyboard;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MacroTextfield extends SearchTextfield {
protected String placeholderText;
protected int textPadding = 5;
@@ -96,18 +102,33 @@ public class MacroTextfield extends SearchTextfield {
}
}
- int labelWidth = (int)FontManager.baloo17.getStringWidth(textToDraw + 1);
+ int labelWidth;
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = (int) Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
+
int comp = 0;
int toRender = index;
while(labelWidth >= width + textPadding * 2) {
if(comp < index){
textToDraw = textToDraw.substring(1);
- labelWidth = (int)FontManager.baloo17.getStringWidth(textToDraw + 1);
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = (int) Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
toRender--;
} else if(comp > index){
textToDraw = textToDraw.substring(0, textToDraw.length() - 1);
- labelWidth = (int)FontManager.baloo17.getStringWidth(textToDraw + 1);
+
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = (int) Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
}
comp++;
@@ -121,10 +142,21 @@ public class MacroTextfield extends SearchTextfield {
if(toRender < 0) {
toRender = 0;
}
-
- int textHeight = (int)FontManager.baloo17.FONT_HEIGHT;
-
- drawVerticalLine(x + (int)FontManager.baloo17.getStringWidth(textToDraw.substring(0, toRender)) + 4, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
+
+ int textHeight;
+
+ if(Settings.customGuiFont) {
+ textHeight = (int) FontManager.baloo17.FONT_HEIGHT;
+ } else {
+ textHeight = Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+
+ }
+
+ if(Settings.customGuiFont) {
+ drawVerticalLine(x + (int) FontManager.baloo17.getStringWidth(textToDraw.substring(0, toRender)) + 4, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
+ } else {
+ drawVerticalLine(x + (int) Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw.substring(0, toRender)) + 4, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
+ }
}
int renderIndex = comp;
@@ -138,16 +170,22 @@ public class MacroTextfield extends SearchTextfield {
if(textToDraw.isEmpty() && !isFocused()) {
textToDraw = placeholderText;
- xAdd = (int) (width / 2 - FontManager.baloo17.getStringWidth(placeholderText) / 2);
+ if(Settings.customGuiFont) {
+ xAdd = (int) (width / 2 - FontManager.baloo17.getStringWidth(placeholderText) / 2);
+ } else {
+ xAdd = (width / 2 - Minecraft.getMinecraft().fontRendererObj.getStringWidth(placeholderText) / 2);
+ }
textColor = PLACEHOLDER_COLOR.getRGB();
if(textToDraw.length() == 3) {
textColor = textColorDisabled;
}
}
-
- FontManager.baloo17.drawString(textToDraw, x + xAdd, y + height / 2 - (float) (int) FontManager.baloo17.getHeight(textToDraw) / 2, textColor);
-
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(textToDraw, x + xAdd, y + height / 2 - (float) (int) FontManager.baloo17.getHeight(textToDraw) / 2, textColor);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(textToDraw, x + xAdd, (int) (y + height / 2 - (float) Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2), textColor);
+ }
if(lastState == ButtonState.HOVER && mouseDown) {
focused = true;
lineTime = getLinePrediction();
@@ -173,8 +211,12 @@ public class MacroTextfield extends SearchTextfield {
bestDiff = diff;
bestIndex = i;
}
-
- position += (int)FontManager.baloo17.getStringWidth(text.charAt(i) + "");
+
+ if(Settings.customGuiFont) {
+ position += (int) FontManager.baloo17.getStringWidth(text.charAt(i) + "");
+ } else {
+ position += (int) Minecraft.getMinecraft().fontRendererObj.getStringWidth(text.charAt(i) + "");
+ }
}
if(mouseX > position) {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/macros/SimpleTextButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/macros/SimpleTextButton.java
similarity index 94%
rename from src/main/java/rip/athena/client/gui/hud/components/macros/SimpleTextButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/macros/SimpleTextButton.java
index 54b28103..a25cc95c 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/macros/SimpleTextButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/macros/SimpleTextButton.java
@@ -1,14 +1,19 @@
-package rip.athena.client.gui.hud.components.macros;
-
+package rip.athena.client.gui.clickgui.components.macros;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class SimpleTextButton extends MenuButton {
protected boolean leftColorChange;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/CategoryButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java
similarity index 63%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/CategoryButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java
index ef40cc0c..45506d07 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/CategoryButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java
@@ -1,14 +1,21 @@
-package rip.athena.client.gui.hud.components.mods;
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.Category;
+import rip.athena.client.gui.clickgui.Category;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class CategoryButton extends MenuButton {
public CategoryButton(Category category, int x, int y) {
super(category.getName(), x, y);
@@ -35,8 +42,11 @@ public class CategoryButton extends MenuButton {
int backgroundColor = getColor(DrawType.BACKGROUND, lastState);
int textColor = getColor(DrawType.TEXT, lastState);
- FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor);
-
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor);
+ }
if(isActive()) {
drawHorizontalLine(x + (width / 2 - getStringWidth(text) / 2), y + 29, (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(text), 2, textColor);
}
@@ -46,11 +56,19 @@ public class CategoryButton extends MenuButton {
@Override
public int getStringWidth(String string) {
- return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
@Override
public int getStringHeight(String string) {
- return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/FeatureText.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/FeatureText.java
similarity index 65%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/FeatureText.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/FeatureText.java
index 16cc4d05..efb7477a 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/FeatureText.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/FeatureText.java
@@ -1,13 +1,20 @@
-package rip.athena.client.gui.hud.components.mods;
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.components.MenuLabel;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class FeatureText extends MenuLabel {
public FeatureText(String text, String tooltip, int x, int y) {
@@ -29,12 +36,20 @@ public class FeatureText extends MenuLabel {
@Override
public void drawText(String text, int x, int y, int color) {
- FontManager.baloo17.drawString(text, x, y, color);
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x, y, color);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x, y, color);
+ }
}
@Override
public int getStringWidth(String text) {
- return (int) FontManager.baloo17.getStringWidth(text);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(text);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(text);
+ }
}
@Override
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/FeatureValueText.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/FeatureValueText.java
similarity index 83%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/FeatureValueText.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/FeatureValueText.java
index 688528d3..27b5c6d9 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/FeatureValueText.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/FeatureValueText.java
@@ -1,10 +1,16 @@
-package rip.athena.client.gui.hud.components.mods;
+package rip.athena.client.gui.clickgui.components.mods;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class FeatureValueText extends FeatureText {
public FeatureValueText(String text, String tooltip, int x, int y) {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/GoBackButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/GoBackButton.java
similarity index 85%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/GoBackButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/GoBackButton.java
index 2471f489..6c6249cd 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/GoBackButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/GoBackButton.java
@@ -1,16 +1,22 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.modules.impl.other.Settings;
import rip.athena.client.utils.render.DrawUtils;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GoBackButton extends MenuButton {
public GoBackButton(int x, int y) {
super("GO BACK", x, y, 120, 25);
@@ -125,8 +131,11 @@ public class GoBackButton extends MenuButton {
DrawUtils.drawRoundedRect(x, y, x + width + 1, y + height + 1, rounding, lineColor);
DrawUtils.drawRoundedRect(x + 1, y + 1, x + width, y + height, rounding, backgroundColor);
- FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor);
-
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor);
+ }
x -= 20;
width = 30;
@@ -153,11 +162,19 @@ public class GoBackButton extends MenuButton {
@Override
public int getStringWidth(String string) {
- return (int) FontManager.baloo17.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
@Override
public int getStringHeight(String string) {
- return (int) FontManager.baloo17.FONT_HEIGHT;
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModCheckbox.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModCheckbox.java
similarity index 93%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/MenuModCheckbox.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModCheckbox.java
index 238f7916..5cc6806a 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModCheckbox.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModCheckbox.java
@@ -1,4 +1,4 @@
-package rip.athena.client.gui.hud.components.mods;
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.renderer.GlStateManager;
import rip.athena.client.gui.framework.components.MenuCheckbox;
@@ -7,6 +7,12 @@ import rip.athena.client.gui.framework.draw.DrawType;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuModCheckbox extends MenuCheckbox {
public MenuModCheckbox(int x, int y, int width, int height) {
super("", x, y, width, height);
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModColorPicker.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModColorPicker.java
similarity index 93%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/MenuModColorPicker.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModColorPicker.java
index 76d69181..5377bb2a 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModColorPicker.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModColorPicker.java
@@ -1,4 +1,4 @@
-package rip.athena.client.gui.hud.components.mods;
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.renderer.GlStateManager;
import rip.athena.client.gui.framework.components.MenuColorPicker;
@@ -8,6 +8,12 @@ import org.lwjgl.input.Mouse;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuModColorPicker extends MenuColorPicker {
public MenuModColorPicker(int x, int y, int width, int height, int defaultColor) {
super(x, y, width, height, defaultColor);
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModKeybind.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModKeybind.java
similarity index 87%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/MenuModKeybind.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModKeybind.java
index cf953d1c..02be78df 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModKeybind.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModKeybind.java
@@ -1,5 +1,4 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
@@ -8,8 +7,16 @@ import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
import org.lwjgl.input.Keyboard;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+import java.util.Set;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public class MenuModKeybind extends MenuComponent {
public final static int mouseOffset = 500;
@@ -188,17 +195,29 @@ public class MenuModKeybind extends MenuComponent {
@Override
public void drawText(String text, int x, int y, int color) {
- FontManager.baloo17.drawString(text, x, y, color);
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x, y, color);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x, y, color);
+ }
}
-
+
@Override
public int getStringWidth(String string) {
- return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
-
+
@Override
public int getStringHeight(String string) {
- return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
public boolean isBound() {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModList.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModList.java
similarity index 85%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/MenuModList.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModList.java
index f76baf21..b895587b 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModList.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModList.java
@@ -1,15 +1,22 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.GlStateManager;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.components.MenuDropdown;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuModList extends MenuDropdown {
protected int cursorWidth = 25;
@@ -102,7 +109,9 @@ public class MenuModList extends MenuDropdown {
int backgroundColor = getColor(DrawType.BACKGROUND, lastState);
int lineColor = getColor(DrawType.LINE, ButtonState.NORMAL);
int textColor = getColor(DrawType.TEXT, ButtonState.NORMAL);
-
+
+ GlStateManager.color(1,1,1);
+
drawHorizontalLine(x, y, width + 1, 1, lineColor);
drawVerticalLine(x, y + 1, height - 1, 1, lineColor);
drawHorizontalLine(x, y + height, width + 1, 1, lineColor);
@@ -136,19 +145,31 @@ public class MenuModList extends MenuDropdown {
mouseDown = false;
}
-
+
@Override
public void drawText(String text, int x, int y, int color) {
- FontManager.baloo17.drawString(text, x, y, color);
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x, y, color);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x, y, color);
+ }
}
-
+
@Override
public int getStringWidth(String string) {
- return (int) FontManager.baloo17.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
-
+
@Override
public int getStringHeight(String string) {
- return (int) FontManager.baloo17.FONT_HEIGHT;
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModSlider.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModSlider.java
similarity index 82%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/MenuModSlider.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModSlider.java
index 78618dbd..2c8bbf24 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/MenuModSlider.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/MenuModSlider.java
@@ -1,5 +1,4 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
@@ -7,9 +6,16 @@ import rip.athena.client.gui.framework.components.MenuSlider;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
import org.lwjgl.input.Mouse;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuModSlider extends MenuSlider {
public MenuModSlider(double startValue, double minValue, double maxValue, int precision, int x, int y, int width, int height) {
@@ -33,11 +39,12 @@ public class MenuModSlider extends MenuSlider {
setColor(DrawType.TEXT, ButtonState.HOVER, new Color(182, 182, 182, 255));
setColor(DrawType.TEXT, ButtonState.HOVERACTIVE, new Color(182, 182, 182, 255));
setColor(DrawType.TEXT, ButtonState.DISABLED, new Color(100, 100, 100, 255));
-
- setColor(DrawType.BACKGROUND, ButtonState.NORMAL, new Color(21, 67, 34, 255));
- setColor(DrawType.BACKGROUND, ButtonState.ACTIVE, new Color(12, 83, 33, 255));
- setColor(DrawType.BACKGROUND, ButtonState.HOVER, new Color(6, 42, 16, 255));
- setColor(DrawType.BACKGROUND, ButtonState.HOVERACTIVE, new Color(18, 126, 48, 255));
+
+ setColor(DrawType.BACKGROUND, ButtonState.ACTIVE, new Color(231, 27, 44, 255));
+ setColor(DrawType.BACKGROUND, ButtonState.HOVER, new Color(100, 40, 40, 255));
+ setColor(DrawType.BACKGROUND, ButtonState.HOVERACTIVE, new Color(239, 46, 90, 255));
+
+ setColor(DrawType.BACKGROUND, ButtonState.NORMAL, new Color(231, 27, 44, 255));
setColor(DrawType.BACKGROUND, ButtonState.POPUP, new Color(35, 35, 35, 255));
setColor(DrawType.LINE, ButtonState.NORMAL, new Color(62, 62, 62, 255));
@@ -127,19 +134,31 @@ public class MenuModSlider extends MenuSlider {
mouseDragging = false;
mouseDown = false;
}
-
+
@Override
public void drawText(String text, int x, int y, int color) {
- FontManager.baloo17.drawString(text, x, y, color);
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x, y, color);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x, y, color);
+ }
}
-
+
@Override
public int getStringWidth(String string) {
- return (int) FontManager.baloo17.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
-
+
@Override
public int getStringHeight(String string) {
- return (int) FontManager.baloo17.getHeight(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/ModCategoryButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java
similarity index 72%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/ModCategoryButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java
index fd39f221..9c7af288 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/ModCategoryButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java
@@ -1,18 +1,24 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import rip.athena.client.modules.Category;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class ModCategoryButton extends MenuButton {
public static final int MAIN_COLOR = new Color(35, 35, 35, IngameMenu.MENU_ALPHA).getRGB();
@@ -51,25 +57,32 @@ public class ModCategoryButton extends MenuButton {
int textColor = getColor(DrawType.TEXT, lastState);
GlStateManager.color(1, 1, 1);
- rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + 15, y, width - 35, height, backgroundColor);
+ rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x, y, width - 10, height, backgroundColor);
- if(image != null) {
- //drawImage(image, x + 5, y + (height / 2 - IMAGE_SIZE / 2), IMAGE_SIZE, IMAGE_SIZE);
- FontManager.baloo17.drawString(text, x + IMAGE_SIZE + 5 + 5, y + height / 2 - (getStringHeight(text) / 2) - 1, textColor);
- } else {
+ if(Settings.customGuiFont) {
FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor);
}
mouseDown = false;
}
-
+
@Override
public int getStringWidth(String string) {
- return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
-
+
@Override
public int getStringHeight(String string) {
- return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/ModScrollPane.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModScrollPane.java
similarity index 98%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/ModScrollPane.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/ModScrollPane.java
index 84f371cc..3703c58a 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/ModScrollPane.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModScrollPane.java
@@ -1,4 +1,4 @@
-package rip.athena.client.gui.hud.components.mods;
+package rip.athena.client.gui.clickgui.components.mods;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
@@ -13,6 +13,12 @@ import org.lwjgl.opengl.GL11;
import java.awt.*;
import java.util.Collections;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class ModScrollPane extends MenuScrollPane {
private boolean fullHeightScroller;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/ModTextbox.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModTextbox.java
similarity index 65%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/ModTextbox.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/ModTextbox.java
index 4aa80102..be0cd66b 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/ModTextbox.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModTextbox.java
@@ -1,21 +1,26 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.GlStateManager;
+import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.TextPattern;
import rip.athena.client.gui.framework.components.MenuTextField;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
import org.lwjgl.input.Keyboard;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.modules.impl.other.Settings;
import rip.athena.client.utils.render.DrawUtils;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class ModTextbox extends MenuTextField {
- private final static Color PLACEHOLDER_COLOR = new Color(80, 80, 82, IngameMenu.MENU_ALPHA);
-
+
public ModTextbox(TextPattern pattern, int x, int y, int width, int height) {
super(pattern, x, y, width, height);
}
@@ -83,36 +88,59 @@ public class ModTextbox extends MenuTextField {
}
}
- int labelWidth = (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ int labelWidth;
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
int comp = 0;
int toRender = index;
while(labelWidth >= width) {
if(comp < index){
textToDraw = textToDraw.substring(1);
- labelWidth = (int) Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
toRender--;
} else if(comp > index){
textToDraw = textToDraw.substring(0, textToDraw.length() - 1);
- labelWidth = (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
}
comp++;
}
if(drawPointer) {
- if(toRender > textToDraw.length()) {
+ if (toRender > textToDraw.length()) {
toRender = textToDraw.length() - 1;
}
- if(toRender < 0) {
+ if (toRender < 0) {
toRender = 0;
}
- int textHeight = (int)Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ int textHeight;
- drawVerticalLine(x + (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
+ if (Settings.customGuiFont) {
+ textHeight = (int) FontManager.baloo17.getHeight(textToDraw);
+ } else {
+ textHeight = Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
+
+ if (Settings.customGuiFont) {
+ drawVerticalLine(x + (int) FontManager.baloo17.getStringWidth(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
+ } else {
+ drawVerticalLine(x + (int) Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
+ }
}
-
int renderIndex = comp;
int renderStopIndex = comp + textToDraw.length();
@@ -122,8 +150,11 @@ public class ModTextbox extends MenuTextField {
int xAdd = 0;
- Minecraft.getMinecraft().fontRendererObj.drawString(textToDraw, x + minOffset + xAdd, y + height / 2 - (int)Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2, textColor);
-
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(textToDraw, x + minOffset + xAdd, y + height / 2 - (int) FontManager.baloo17.getHeight(textToDraw) / 2, textColor);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(textToDraw, x + minOffset + xAdd, y + height / 2 - (int) Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2, textColor);
+ }
if(lastState == ButtonState.HOVER && mouseDown) {
focused = true;
lineTime = getLinePrediction();
@@ -150,7 +181,11 @@ public class ModTextbox extends MenuTextField {
bestIndex = i;
}
- position += (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(text.charAt(i) + "");
+ if(Settings.customGuiFont) {
+ position += (int) FontManager.baloo17.getStringWidth(text.charAt(i) + "");
+ } else {
+ position += (int) Minecraft.getMinecraft().fontRendererObj.getStringWidth(text.charAt(i) + "");
+ }
}
if(mouseX > position) {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/ModsButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModsButton.java
similarity index 81%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/ModsButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/ModsButton.java
index 85e0e0b6..079ded87 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/ModsButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModsButton.java
@@ -1,14 +1,20 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class ModsButton extends MenuButton {
public ModsButton(String text, int x, int y) {
super(text, x, y, 120, 20);
@@ -111,17 +117,29 @@ public class ModsButton extends MenuButton {
drawHorizontalLine(x, y + height, width + 1, 1, lineColor);
drawVerticalLine(x + width, y + 1, height - 1, 1, lineColor);
- FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor);
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor);
+ }
mouseDown = false;
}
-
+
@Override
public int getStringWidth(String string) {
- return (int) FontManager.baloo17.getStringWidth(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
-
+
@Override
public int getStringHeight(String string) {
- return (int) FontManager.baloo17.getHeight(string);
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/ModuleBox.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModuleBox.java
similarity index 71%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/ModuleBox.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/ModuleBox.java
index 8d679021..58bfa551 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/ModuleBox.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModuleBox.java
@@ -1,21 +1,29 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
+import rip.athena.client.gui.clickgui.IngameMenu;
import rip.athena.client.modules.Module;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class ModuleBox extends MenuComponent {
protected static final int INACTIVE = new Color(10, 90, 32, IngameMenu.MENU_ALPHA).getRGB();
protected static final int ACTIVE = new Color(90, 10, 12, IngameMenu.MENU_ALPHA).getRGB();
@@ -164,7 +172,7 @@ public class ModuleBox extends MenuComponent {
int backgroundColor = getColor(DrawType.BACKGROUND, lastState);
int lineColor = getColor(DrawType.LINE, lastState);
int textColor = getColor(DrawType.TEXT, lastState);
-
+
int x = this.getRenderX();
int y = this.getRenderY();
@@ -183,19 +191,24 @@ public class ModuleBox extends MenuComponent {
drawShadowLeft(x, y, height + 1);
drawShadowDown(x, y + height + 1, width + 1);
drawShadowRight(x + width + 1, y, height + 1);
-
+
int yPos = y + (height / 2) - tHeight / 2 - 5;
- for(String line : lines) {
- FontManager.vision30.drawString(line, x + (float) width / 2 - FontManager.vision30.getStringWidth(line) / 2, yPos, textColor);
- yPos += FontManager.vision30.getHeight(line);
+ for (String line : lines) {
+ if(Settings.customGuiFont) {
+ FontManager.baloo30.drawString(line, x + (float) width / 2 - FontManager.baloo30.getStringWidth(line) / 2, yPos, textColor);
+ yPos += FontManager.baloo30.getHeight(line);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(line, (int) (x + (float) width / 2 - Minecraft.getMinecraft().fontRendererObj.getStringWidth(line) / 2), yPos, textColor);
+ yPos += Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
int mouseX = parent.getMouseX();
int mouseY = parent.getMouseY();
-
- if(mouseX >= x + 10 && mouseX <= x + width - 11) {
- if(mouseY >= y + height - 10 - 20 && mouseY <= y + height - 10) {
+
+ if (mouseX >= x + 10 && mouseX <= x + width - 11) {
+ if (mouseY >= y + height - 10 - 20 && mouseY <= y + height - 10) {
drawColor = backgroundColor;
}
}
@@ -206,35 +219,38 @@ public class ModuleBox extends MenuComponent {
drawShadowRight(x + width - 10, y + height - 30, 20);*/
drawHorizontalLine(x + 10, y + height - 30, width - 20, 1, new Color(43, 43, 43, 225).getRGB());
- drawVerticalLine(x + 10, y + height - 30, 20, 1, new Color(43, 43, 43, 225).getRGB());
+ drawVerticalLine(x + 10, y + height - 30, 20, 1, new Color(43, 43, 43, 225).getRGB());
drawHorizontalLine(x + 10, y + height - 10, width - 20, 1, new Color(43, 43, 43, 225).getRGB());
- drawVerticalLine(x + width - 10, y + height - 30, 20, 1, new Color(43, 43, 43, 225).getRGB());
+ drawVerticalLine(x + width - 10, y + height - 30, 20, 1, new Color(43, 43, 43, 225).getRGB());
- //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + 10, y + height - 10 - 20, width - 20, 20, module.isToggled() ? INACTIVE : ACTIVE);
- //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + 11, y + height - 10 - 19, width - 22, 18, drawColor);
+ rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + 10, y + height - 10 - 20, width - 20, 20, module.isToggled() ? new Color(0, 200, 0, 255).getRGB() : new Color(200, 0, 0, 225).getRGB());
+ rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + 11, y + height - 10 - 19, width - 22, 18, module.isToggled() ? new Color(40, 157, 93, 255).getRGB() : new Color(157, 40, 40, 225).getRGB());
String text = module.isToggled() ? "ENABLED" : "DISABLED";
-
- FontManager.baloo17.drawString(text, x + (float) width / 2 - FontManager.baloo17.getStringWidth(text) / 2, y + height - 10 - 15, module.isToggled() ? new Color(0, 200, 0, 255).getRGB() : new Color(200, 0, 0, 225).getRGB());
- if(!module.getEntries().isEmpty()) {
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x + (float) width / 2 - FontManager.baloo17.getStringWidth(text) / 2, y + height - 10 - 15, -1);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, (int) (x + (float) width / 2 - Minecraft.getMinecraft().fontRendererObj.getStringWidth(text) / 2), y + height - 10 - 15, -1);
+ }
+ if (!module.getEntries().isEmpty()) {
drawColor = defaultColor;
-
- if(mouseX >= x + width - 14 - 17 - 4 && mouseX <= x + width - 14 - 17 - 4 + 24) {
- if(mouseY >= y + 14 - 4 && mouseY <= y + 14 - 3 + 23) {
+
+ if (mouseX >= x + width - 14 - 17 - 4 && mouseX <= x + width - 14 - 17 - 4 + 24) {
+ if (mouseY >= y + 14 - 4 && mouseY <= y + 14 - 3 + 23) {
drawColor = Color.black.getRGB();
}
}
-
- drawShadowUp(x + width - 14 - 17 - 4, y + 14 - 4, 25);
- drawShadowLeft(x + width - 14 - 17 - 4, y + 14 - 4, 25);
- drawShadowDown(x + width - 14 - 17 - 4, y + 14 - 4 + 25, 25);
- drawShadowRight(x + width - 14 - 17 - 4 + 25, y + 14 - 4, 25);
- rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + width - 14 - 17 - 4, y + 14 - 4, 25, 25, COG_BORDER);
+ /*drawShadowUp(x + width - 14 - 17 - 4, y + 14 - 4, 25);
+ drawShadowLeft(x + width - 14 - 17 - 4, y + 14 - 4, 25);
+ drawShadowDown(x + width - 14 - 17 - 4, y + 14 - 4 + 25, 25);
+ drawShadowRight(x + width - 14 - 17 - 4 + 25, y + 14 - 4, 25);*/
+
+ //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + width - 14 - 17 - 4, y + 14 - 4, 25, 25, COG_BORDER);
rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + width - 14 - 17 - 3, y + 14 - 3, 23, 23, drawColor);
-
- //drawImage(COG, x + width - 14 - 17, y + 14, 17, 17);
+
+ drawImage(new ResourceLocation("Athena/images/gear_white.png"), x + width - 14 - 17, y + 14, 17, 17);
}
}
diff --git a/src/main/java/rip/athena/client/gui/hud/components/mods/SearchTextfield.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java
similarity index 70%
rename from src/main/java/rip/athena/client/gui/hud/components/mods/SearchTextfield.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java
index 7a769b87..144ca18a 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/mods/SearchTextfield.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java
@@ -1,18 +1,25 @@
-package rip.athena.client.gui.hud.components.mods;
-
+package rip.athena.client.gui.clickgui.components.mods;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.GlStateManager;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.TextPattern;
import rip.athena.client.gui.framework.components.MenuTextField;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.modules.impl.other.Settings;
import rip.athena.client.utils.render.DrawUtils;
import org.lwjgl.input.Keyboard;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class SearchTextfield extends MenuTextField {
protected final static Color PLACEHOLDER_COLOR = new Color(80, 80, 82, IngameMenu.MENU_ALPHA);
@@ -54,7 +61,9 @@ public class SearchTextfield extends MenuTextField {
int backgroundColor = getColor(DrawType.BACKGROUND, lastState);
int lineColor = getColor(DrawType.LINE, lastState);
int textColor = getColor(DrawType.TEXT, lastState);
-
+
+ GlStateManager.color(1, 1,1,1);
+
DrawUtils.drawRoundedRect(x - 4, y - 4, x + width + 5, y + height + 5, 10, 83886080);
DrawUtils.drawRoundedRect(x - 3, y - 3, x + width + 4, y + height + 4, 10, 369098752);
DrawUtils.drawRoundedRect(x - 2, y - 2, x + width + 3, y + height + 3, 10, 587202560);
@@ -83,17 +92,31 @@ public class SearchTextfield extends MenuTextField {
}
}
- int labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ int labelWidth;
+
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
int comp = 0;
int toRender = index;
while(labelWidth >= width) {
if(comp < index){
textToDraw = textToDraw.substring(1);
- labelWidth = (int)FontManager.baloo17.getStringWidth(textToDraw + 1);
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
toRender--;
} else if(comp > index){
textToDraw = textToDraw.substring(0, textToDraw.length() - 1);
- labelWidth = (int)FontManager.baloo17.getStringWidth(textToDraw + 1);
+ if(Settings.customGuiFont) {
+ labelWidth = (int) FontManager.baloo17.getStringWidth(textToDraw + 1);
+ } else {
+ labelWidth = Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw + 1);
+ }
}
comp++;
@@ -108,9 +131,16 @@ public class SearchTextfield extends MenuTextField {
toRender = 0;
}
- int textHeight = (int)FontManager.baloo17.getHeight(textToDraw);
+ int textHeight;
+
+ if(Settings.customGuiFont) {
+ textHeight = (int) FontManager.baloo17.getHeight(textToDraw);
+ drawVerticalLine(x + 10 + (int)FontManager.baloo17.getStringWidth(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
+ } else {
+ textHeight = Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ drawVerticalLine(x + 10 + (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
+ }
- drawVerticalLine(x + 10 + (int)FontManager.baloo17.getStringWidth(textToDraw.substring(0, toRender)) + 1, y + height / 2 - textHeight / 2, textHeight, 1, textColor);
}
int renderIndex = comp;
@@ -127,9 +157,12 @@ public class SearchTextfield extends MenuTextField {
xAdd = 5;
textColor = PLACEHOLDER_COLOR.getRGB();
}
-
- FontManager.baloo17.drawString(textToDraw, x + 10 + minOffset + xAdd, y + (float) height / 2 - (float) (int) FontManager.baloo17.getHeight(textToDraw) / 2, textColor);
-
+
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(textToDraw, x + 10 + minOffset + xAdd, y + (float) height / 2 - (float) (int) FontManager.baloo17.getHeight(textToDraw) / 2, textColor);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(textToDraw, x + 10 + minOffset + xAdd, (int) (y + (float) height / 2 - (float) (int) Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2), textColor);
+ }
if(lastState == ButtonState.HOVER && mouseDown) {
focused = true;
lineTime = getLinePrediction();
diff --git a/src/main/java/rip/athena/client/gui/hud/components/profiles/ProfilesBase.java b/src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBase.java
similarity index 92%
rename from src/main/java/rip/athena/client/gui/hud/components/profiles/ProfilesBase.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBase.java
index 1f674d00..18e985df 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/profiles/ProfilesBase.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBase.java
@@ -1,15 +1,20 @@
-package rip.athena.client.gui.hud.components.profiles;
-
+package rip.athena.client.gui.clickgui.components.profiles;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class ProfilesBase extends MenuComponent {
protected String text;
diff --git a/src/main/java/rip/athena/client/gui/hud/components/profiles/ProfilesBlueButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBlueButton.java
similarity index 84%
rename from src/main/java/rip/athena/client/gui/hud/components/profiles/ProfilesBlueButton.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBlueButton.java
index 79962e97..85744b61 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/profiles/ProfilesBlueButton.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBlueButton.java
@@ -1,11 +1,17 @@
-package rip.athena.client.gui.hud.components.profiles;
+package rip.athena.client.gui.clickgui.components.profiles;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.components.macros.MacroButton;
+import rip.athena.client.gui.clickgui.components.macros.MacroButton;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class ProfilesBlueButton extends MacroButton {
public ProfilesBlueButton(String text, int x, int y, int width, int height) {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/waypoints/WaypointTextBarrier.java b/src/main/java/rip/athena/client/gui/clickgui/components/waypoints/WaypointTextBarrier.java
similarity index 67%
rename from src/main/java/rip/athena/client/gui/hud/components/waypoints/WaypointTextBarrier.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/waypoints/WaypointTextBarrier.java
index d98915ef..eff98ae9 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/waypoints/WaypointTextBarrier.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/waypoints/WaypointTextBarrier.java
@@ -1,14 +1,21 @@
-package rip.athena.client.gui.hud.components.waypoints;
-
+package rip.athena.client.gui.clickgui.components.waypoints;
import net.minecraft.client.Minecraft;
+import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
+import rip.athena.client.modules.impl.other.Settings;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class WaypointTextBarrier extends MenuComponent {
protected String text;
@@ -45,20 +52,32 @@ public class WaypointTextBarrier extends MenuComponent {
drawText(text + "", x + width / 2 - getStringWidth(text) / 2 + 2, y + height / 2 - getStringHeight(text) / 2, textColor);
}
-
+
@Override
public void drawText(String text, int x, int y, int color) {
- Minecraft.getMinecraft().fontRendererObj.drawString(text, x, y, color);
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, x, y, color);
+ } else {
+ Minecraft.getMinecraft().fontRendererObj.drawString(text, x, y, color);
+ }
}
-
+
@Override
- public int getStringWidth(String text) {
- return Minecraft.getMinecraft().fontRendererObj.getStringWidth(text);
+ public int getStringWidth(String string) {
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
+ }
}
-
+
@Override
- public int getStringHeight(String text) {
- return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ public int getStringHeight(String string) {
+ if(Settings.customGuiFont) {
+ return (int) FontManager.baloo17.getHeight(string);
+ } else {
+ return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
+ }
}
public String getText() {
diff --git a/src/main/java/rip/athena/client/gui/hud/components/waypoints/WaypointsTextfield.java b/src/main/java/rip/athena/client/gui/clickgui/components/waypoints/WaypointsTextfield.java
similarity index 95%
rename from src/main/java/rip/athena/client/gui/hud/components/waypoints/WaypointsTextfield.java
rename to src/main/java/rip/athena/client/gui/clickgui/components/waypoints/WaypointsTextfield.java
index 0b2b7e17..e9b61d10 100644
--- a/src/main/java/rip/athena/client/gui/hud/components/waypoints/WaypointsTextfield.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/components/waypoints/WaypointsTextfield.java
@@ -1,17 +1,22 @@
-package rip.athena.client.gui.hud.components.waypoints;
-
+package rip.athena.client.gui.clickgui.components.waypoints;
import net.minecraft.client.Minecraft;
import rip.athena.client.gui.framework.TextPattern;
import rip.athena.client.gui.framework.draw.ButtonState;
import rip.athena.client.gui.framework.draw.DrawType;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.components.mods.SearchTextfield;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.components.mods.SearchTextfield;
import rip.athena.client.utils.render.DrawUtils;
import org.lwjgl.input.Keyboard;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class WaypointsTextfield extends SearchTextfield {
protected int placeholderText;
protected int textPadding = 5;
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/CosmeticsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/CosmeticsPage.java
similarity index 95%
rename from src/main/java/rip/athena/client/gui/hud/pages/CosmeticsPage.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/CosmeticsPage.java
index 000dcf0d..f4c70ddf 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/CosmeticsPage.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/CosmeticsPage.java
@@ -1,24 +1,26 @@
-package rip.athena.client.gui.hud.pages;
+package rip.athena.client.gui.clickgui.pages;
-import rip.athena.client.Athena;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.MenuComponent;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.resources.I18n;
import org.lwjgl.input.Keyboard;
-import rip.athena.client.gui.hud.Page;
-import rip.athena.client.gui.hud.components.cosmetics.*;
-import rip.athena.client.gui.hud.components.macros.MacroButton;
-import rip.athena.client.gui.hud.components.mods.MenuModKeybind;
-import rip.athena.client.gui.hud.components.mods.ModCategoryButton;
-import rip.athena.client.gui.hud.components.mods.ModScrollPane;
-import rip.athena.client.gui.hud.pages.cosmetics.BandanaSize;
-import rip.athena.client.gui.hud.pages.cosmetics.CapeType;
-import rip.athena.client.gui.hud.pages.cosmetics.CosmeticType;
+import rip.athena.client.gui.clickgui.Page;
+import rip.athena.client.gui.clickgui.components.cosmetics.*;
+import rip.athena.client.gui.clickgui.components.macros.MacroButton;
+import rip.athena.client.gui.clickgui.components.mods.MenuModKeybind;
+import rip.athena.client.gui.clickgui.components.mods.ModCategoryButton;
+import rip.athena.client.gui.clickgui.components.mods.ModScrollPane;
+import rip.athena.client.gui.clickgui.pages.cosmetics.BandanaSize;
+import rip.athena.client.gui.clickgui.pages.cosmetics.CapeType;
+import rip.athena.client.gui.clickgui.pages.cosmetics.CosmeticType;
-import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public class CosmeticsPage extends Page {
private CosmeticType cosmeticType = CosmeticType.CAPES;
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/GroupsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/GroupsPage.java
similarity index 97%
rename from src/main/java/rip/athena/client/gui/hud/pages/GroupsPage.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/GroupsPage.java
index 4e45a7e6..c9eb397d 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/GroupsPage.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/GroupsPage.java
@@ -1,23 +1,19 @@
-package rip.athena.client.gui.hud.pages;
+package rip.athena.client.gui.clickgui.pages;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.TextPattern;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.Page;
-import rip.athena.client.gui.hud.components.cosmetics.CosmeticGenericButton;
-import rip.athena.client.gui.hud.components.groups.*;
-import rip.athena.client.gui.hud.components.macros.MacroButton;
-import rip.athena.client.gui.hud.components.macros.MacroTextfield;
-import rip.athena.client.gui.hud.components.macros.SimpleTextButton;
-import rip.athena.client.gui.hud.components.mods.*;
-import rip.athena.client.gui.hud.components.profiles.ProfilesBase;
-import rip.athena.client.gui.hud.components.profiles.ProfilesBlueButton;
-import rip.athena.client.gui.hud.pages.groups.GroupSubTab;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.Page;
+import rip.athena.client.gui.clickgui.components.cosmetics.CosmeticGenericButton;
+import rip.athena.client.gui.clickgui.components.groups.*;
+import rip.athena.client.gui.clickgui.components.macros.MacroButton;
+import rip.athena.client.gui.clickgui.components.macros.MacroTextfield;
+import rip.athena.client.gui.clickgui.components.mods.*;
+import rip.athena.client.gui.clickgui.pages.groups.GroupSubTab;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
-import org.json.JSONObject;
import rip.athena.client.utils.render.AssetUtils;
import java.awt.*;
@@ -25,6 +21,12 @@ import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class GroupsPage extends Page {
private final static int SUB_TAB_COLOR = new Color(35, 35, 35, 255).getRGB();
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/MacrosPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/MacrosPage.java
similarity index 91%
rename from src/main/java/rip/athena/client/gui/hud/pages/MacrosPage.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/MacrosPage.java
index a92d4a59..e6dcda58 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/MacrosPage.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/MacrosPage.java
@@ -1,19 +1,24 @@
-package rip.athena.client.gui.hud.pages;
+package rip.athena.client.gui.clickgui.pages;
-import rip.athena.client.Athena;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.TextPattern;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.Page;
-import rip.athena.client.gui.hud.components.macros.*;
-import rip.athena.client.gui.hud.components.mods.MenuModKeybind;
-import rip.athena.client.gui.hud.components.mods.ModCategoryButton;
-import rip.athena.client.gui.hud.components.mods.ModScrollPane;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.Page;
+import rip.athena.client.gui.clickgui.components.macros.*;
+import rip.athena.client.gui.clickgui.components.mods.MenuModKeybind;
+import rip.athena.client.gui.clickgui.components.mods.ModCategoryButton;
+import rip.athena.client.gui.clickgui.components.mods.ModScrollPane;
import net.minecraft.client.Minecraft;
import org.lwjgl.input.Keyboard;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MacrosPage extends Page {
public final int MENU_SIDE_HEADER_BG_COLOR = new Color(35, 35, 35, IngameMenu.MENU_ALPHA).getRGB();
public final static int MENU_SIDE_BG_COLOR = new Color(35, 35, 35, IngameMenu.MENU_ALPHA).getRGB();
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/ModsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java
similarity index 72%
rename from src/main/java/rip/athena/client/gui/hud/pages/ModsPage.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java
index 638c7ee8..5a430cf0 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/ModsPage.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java
@@ -1,7 +1,6 @@
-package rip.athena.client.gui.hud.pages;
+package rip.athena.client.gui.clickgui.pages;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigEntry;
@@ -11,46 +10,56 @@ import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.TextPattern;
import rip.athena.client.gui.framework.components.MenuButton;
import rip.athena.client.gui.framework.components.MenuTextField;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.Page;
-import rip.athena.client.gui.hud.components.mods.*;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.Page;
+import rip.athena.client.gui.clickgui.components.mods.*;
+import rip.athena.client.gui.hud.HUDEditor;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
+import rip.athena.client.modules.impl.other.Settings;
+import rip.athena.client.modules.impl.render.Crosshair;
import rip.athena.client.utils.input.BindType;
import rip.athena.client.utils.render.AssetUtils;
import java.awt.*;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class ModsPage extends Page {
public final int MENU_HEADER_TEXT_COLOR_MOD = new Color(129, 129, 129, IngameMenu.MENU_ALPHA).getRGB();
-
+
public final static int MENU_BG_COLOR_MOD = new Color(30, 30, 30, IngameMenu.MENU_ALPHA).getRGB();
public final int MENU_BG_COLOR_MOD_BORDER = new Color(30, 30, 30, IngameMenu.MENU_ALPHA).getRGB();
public final static int MENU_SIDE_BG_COLOR = new Color(30, 30, 30, IngameMenu.MENU_ALPHA).getRGB();
private final ResourceLocation[] MOD_TABS = new ResourceLocation[Category.values().length];
-
+
private Category modCategory = Category.ALL_MODS;
public Module activeModule;
private String search;
-
- //private HUDEditor hudEditor;
-
+
+ private HUDEditor hudEditor;
+
public ModsPage(Minecraft mc, Menu menu, IngameMenu parent) {
super(mc, menu, parent);
-
- //hudEditor = new HUDEditor(parent.getFeature());
+
+ hudEditor = new HUDEditor(parent.getFeature());
}
-
+
@Override
public void onInit() {
- for(Category category : Category.values()) {
+ for (Category category : Category.values()) {
String icon = category.getIcon();
-
- if(icon.trim().length() > 0 && !category.isHidden()) {
+
+ if (icon.trim().length() > 0 && !category.isHidden()) {
MOD_TABS[category.getIndex()] = AssetUtils.getResource(icon);
}
}
@@ -62,32 +71,38 @@ public class ModsPage extends Page {
int y = menu.getY() + 59;
int height = 32;
- drawVerticalLine(menu.getX() + 215, y + height - 30, height + 398, 3, new Color(27, 27, 27, 225).getRGB());
+ drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, new Color(27, 27, 27, 225).getRGB());
y += 50;
-
- for(Category category : Category.values()) {
+
+ for (Category category : Category.values()) {
String icon = category.getIcon();
-
- if(icon.trim().length() > 0 && !category.isHidden()) {
- drawShadowUp(menu.getX() + 15, y, 190);
- drawShadowDown(menu.getX() + 15, y + height, 190);
+
+ if (icon.trim().length() > 0 && !category.isHidden()) {
+ //drawShadowUp(menu.getX() + 15, y, 190);
+ //drawShadowDown(menu.getX() + 15, y + height, 190);
y += height + 2 + 10;
}
}
-
+
y = menu.getY() + menu.getHeight() - height;
- drawShadowUp(menu.getX() + 15, y - 2, 200);
-
- if(modCategory != null) {
- FontManager.baloo17.drawString(activeModule != null ? "SETTINGS | " : modCategory.getText(), menu.getX() + 255, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR);
-
- if(activeModule != null) {
+ drawShadowUp(menu.getX(), y - 2, 215);
+
+ if (modCategory != null) {
+ if (Settings.customGuiFont) {
+ FontManager.baloo17.drawString(activeModule != null ? "SETTINGS | " : modCategory.getText(), menu.getX() + 255, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ } else {
+ mc.fontRendererObj.drawString(activeModule != null ? "SETTINGS | " : modCategory.getText(), menu.getX() + 255, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ }
+ if (activeModule != null) {
int offset = (int) FontManager.baloo17.getStringWidth("SETTINGS | ");
String text = activeModule.getName().toUpperCase().trim();
- FontManager.baloo17.drawString(text, menu.getX() + 255 + offset, menu.getY() + 80, MENU_HEADER_TEXT_COLOR_MOD);
-
+ if (Settings.customGuiFont) {
+ FontManager.baloo17.drawString(text, menu.getX() + 255 + offset, menu.getY() + 80, MENU_HEADER_TEXT_COLOR_MOD);
+ } else {
+ mc.fontRendererObj.drawString(text, menu.getX() + 255 + offset, menu.getY() + 80, MENU_HEADER_TEXT_COLOR_MOD);
+ }
drawShadowUp(menu.getX() + 255, menu.getY() + 110 + 25 + 2, menu.getWidth() - 286);
drawShadowLeft(menu.getX() + 255 + 2, menu.getY() + 110 + 25, menu.getHeight() - 110 - 50 - 5);
drawShadowDown(menu.getX() + 255, menu.getY() + menu.getHeight() - 27 - 5, menu.getWidth() - 286);
@@ -96,15 +111,15 @@ public class ModsPage extends Page {
rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + 255, menu.getY() + 110 + 25, menu.getWidth() - 255 - 31, menu.getHeight() - 110 - 50 - 5, MENU_BG_COLOR_MOD_BORDER);
rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + 255 + 1, menu.getY() + 110 + 25 + 1, menu.getWidth() - 255 - 33, menu.getHeight() - 110 - 52 - 5, MENU_BG_COLOR_MOD);
- /*if(activeModule instanceof Crosshair) {
+ if (activeModule instanceof Crosshair) {
Crosshair crosshair = (Crosshair) activeModule;
int w = 86;
int h = 76;
-
+
crosshair.drawPicker(menu.getX() + 255 + 25, menu.getY() + 290, w, h, menu.getMouseX(), menu.getMouseY());
- }*/
+ }
}
-
+
drawHorizontalLine(menu.getX() + 255, menu.getY() + 110, menu.getWidth() - 255 - 31, 3, IngameMenu.MENU_LINE_COLOR);
}
}
@@ -113,45 +128,45 @@ public class ModsPage extends Page {
public void onLoad() {
int y = 59 + 50;
int height = 32;
-
- for(Category category : Category.values()) {
+
+ for (Category category : Category.values()) {
String icon = category.getIcon();
-
- if(icon.trim().length() > 0 && !category.isHidden()) {
+
+ if (icon.trim().length() > 0 && !category.isHidden()) {
MenuButton comp = new ModCategoryButton(category, MOD_TABS[category.getIndex()], 0, y, 225, height) {
@Override
public void onAction() {
- for(rip.athena.client.gui.framework.MenuComponent component : menu.getComponents()) {
- if(component instanceof ModCategoryButton) {
+ for (rip.athena.client.gui.framework.MenuComponent component : menu.getComponents()) {
+ if (component instanceof ModCategoryButton) {
ModCategoryButton button = (ModCategoryButton) component;
button.setActive(component == this);
}
}
-
+
modCategory = category;
activeModule = null;
ModsPage.this.parent.initPage();
}
};
-
- if(category == modCategory) {
+
+ if (category == modCategory) {
comp.setActive(true);
}
-
+
menu.addComponent(comp);
-
+
y += height + 2 + 10;
}
}
-
- if(activeModule == null) {
+
+ if (activeModule == null) {
MenuTextField searchbar = new SearchTextfield(TextPattern.NONE, menu.getWidth() - 31 - 250 - 5, 110 - 38, 250, 30) {
@Override
public void onAction() {
search = getText();
initModPage();
}
-
+
@Override
public void onClick() {
setText("");
@@ -159,37 +174,37 @@ public class ModsPage extends Page {
initModPage();
}
};
-
+
searchbar.setText(search != null ? search : "");
menu.addComponent(searchbar);
} else {
int w = 150;
int h = 20;
-
+
ModsButton enable = new ModsButton(activeModule.isToggled() ? "DISABLE" : "ENABLE", 255, menu.getHeight() - h - 6) {
@Override
public void onAction() {
activeModule.setEnabled(isActive());
-
+
setText(activeModule.isToggled() ? "DISABLE" : "ENABLE");
}
};
-
+
enable.setActive(activeModule.isToggled());
-
+
menu.addComponent(enable);
-
+
MenuModList list = new MenuModList(BindType.class, menu.getWidth() - 182 - 160, menu.getHeight() - h - 6, 20) {
@Override
public void onAction() {
activeModule.setBindType(BindType.valueOf(getValue().toUpperCase()));
}
};
-
+
list.setValue(activeModule.getBindType().toString());
menu.addComponent(list);
-
+
MenuModKeybind btn = new MenuModKeybind(menu.getWidth() - 182, menu.getHeight() - h - 6, w, h) {
@Override
public void onAction() {
@@ -197,11 +212,11 @@ public class ModsPage extends Page {
setX(menu.getWidth() - 182);
}
};
-
+
btn.setBind(activeModule.getKeyBind());
-
+
menu.addComponent(btn);
-
+
menu.addComponent(new GoBackButton(menu.getWidth() - 154, 110 - 38) {
@Override
public void onAction() {
@@ -210,19 +225,19 @@ public class ModsPage extends Page {
}
});
}
-
+
ModScrollPane pane = new ModScrollPane(255, 140, menu.getWidth() - 255 - 32, menu.getHeight() - 141, false);
menu.addComponent(pane);
-
+
menu.addComponent(new ModCategoryButton("EDIT HUD", 0, menu.getHeight() - height - 2, 225, height) {
@Override
public void onAction() {
setActive(false);
- //mc.displayGuiScreen(hudEditor);
+ mc.displayGuiScreen(hudEditor);
}
});
-
- if(activeModule == null) {
+
+ if (activeModule == null) {
initModPage(pane);
} else {
pane.setX(255 + 1);
@@ -231,28 +246,28 @@ public class ModsPage extends Page {
pane.setHeight(menu.getHeight() - 110 - 52 - 5);
pane.setFullHeightScroller(true);
-
+
pane.getComponents().clear();
-
+
List toAdd = new ArrayList<>();
-
+
int xSpacing = 25;
int ySpacing = 15;
-
+
int sliderWidth = pane.getWidth() - xSpacing * 2;
-
- for(ConfigEntry configEntry : activeModule.getEntries()) {
+
+ for (ConfigEntry configEntry : activeModule.getEntries()) {
final FeatureText label;
-
+
String key = configEntry.getKey().toUpperCase();
-
- if(configEntry.hasDescription()) {
+
+ if (configEntry.hasDescription()) {
toAdd.add(label = new FeatureText(key, 0, 0));
} else {
toAdd.add(label = new FeatureText(key, configEntry.getDescription(), 0, 0));
}
-
- if(configEntry instanceof BooleanEntry) {
+
+ if (configEntry instanceof BooleanEntry) {
BooleanEntry entry = (BooleanEntry) configEntry;
MenuModCheckbox checkbox = new MenuModCheckbox(0, 0, 15, 15) {
@@ -261,172 +276,172 @@ public class ModsPage extends Page {
entry.setValue(activeModule, isChecked());
}
};
-
+
checkbox.setChecked((boolean) entry.getValue(activeModule));
-
+
toAdd.add(checkbox);
- } else if(configEntry instanceof ColorEntry) {
+ } else if (configEntry instanceof ColorEntry) {
ColorEntry entry = (ColorEntry) configEntry;
-
+
toAdd.add(new MenuModColorPicker(0, 0, 15, 15, ((Color) entry.getValue(activeModule)).getRGB()) {
@Override
public void onAction() {
entry.setValue(activeModule, getColor());
}
});
- } else if(configEntry instanceof DoubleEntry) {
+ } else if (configEntry instanceof DoubleEntry) {
DoubleEntry entry = (DoubleEntry) configEntry;
-
+
FeatureValueText valueText = new FeatureValueText("", 0, 0);
-
+
toAdd.add(valueText);
-
- MenuModSlider slider = new MenuModSlider((double)entry.getValue(activeModule), entry.getMin(), entry.getMax(), 2, 0, 0, sliderWidth, 15) {
+
+ MenuModSlider slider = new MenuModSlider((double) entry.getValue(activeModule), entry.getMin(), entry.getMax(), 2, 0, 0, sliderWidth, 15) {
@Override
public void onAction() {
label.setText((entry.getKey() + " | ").toUpperCase());
- entry.setValue(activeModule, (double)getValue());
-
+ entry.setValue(activeModule, (double) getValue());
+
valueText.setText(getValue() + "");
}
};
-
+
slider.onAction();
-
+
toAdd.add(slider);
- } else if(configEntry instanceof FloatEntry) {
+ } else if (configEntry instanceof FloatEntry) {
FloatEntry entry = (FloatEntry) configEntry;
-
+
FeatureValueText valueText = new FeatureValueText("", 0, 0);
-
+
toAdd.add(valueText);
-
- MenuModSlider slider = new MenuModSlider((float)entry.getValue(activeModule), entry.getMin(), entry.getMax(), 2, 0, 0, sliderWidth, 15) {
+
+ MenuModSlider slider = new MenuModSlider((float) entry.getValue(activeModule), entry.getMin(), entry.getMax(), 2, 0, 0, sliderWidth, 15) {
@Override
public void onAction() {
label.setText((entry.getKey() + " | ").toUpperCase());
- entry.setValue(activeModule, (float)getValue());
-
+ entry.setValue(activeModule, (float) getValue());
+
valueText.setText(getValue() + "");
}
};
-
+
slider.onAction();
-
+
toAdd.add(slider);
- } else if(configEntry instanceof IntEntry) {
+ } else if (configEntry instanceof IntEntry) {
IntEntry entry = (IntEntry) configEntry;
-
+
FeatureValueText valueText = new FeatureValueText("", 0, 0);
-
+
toAdd.add(valueText);
-
- if(entry.isKeyBind()) {
+
+ if (entry.isKeyBind()) {
MenuModKeybind bind = new MenuModKeybind(0, 0, 175, 15) {
@Override
public void onAction() {
entry.setValue(activeModule, (int) getBind());
}
};
-
+
bind.setBind((int) entry.getValue(activeModule));
-
+
toAdd.add(bind);
} else {
- MenuModSlider slider = new MenuModSlider((int)entry.getValue(activeModule), entry.getMin(), entry.getMax(), 0, 0, sliderWidth, 15) {
+ MenuModSlider slider = new MenuModSlider((int) entry.getValue(activeModule), entry.getMin(), entry.getMax(), 0, 0, sliderWidth, 15) {
@Override
public void onAction() {
label.setText((entry.getKey() + " | ").toUpperCase());
entry.setValue(activeModule, getIntValue());
-
+
valueText.setText(getIntValue() + "");
}
};
-
+
slider.onAction();
-
+
toAdd.add(slider);
}
- } else if(configEntry instanceof ListEntry) {
+ } else if (configEntry instanceof ListEntry) {
ListEntry entry = (ListEntry) configEntry;
-
+
MenuModList list = new MenuModList(entry.getValues(), 0, 0, 15) {
@Override
public void onAction() {
entry.setValue(activeModule, getValue());
}
};
-
+
list.setValue((String) configEntry.getValue(activeModule));
-
+
toAdd.add(list);
- } else if(configEntry instanceof StringEntry) {
+ } else if (configEntry instanceof StringEntry) {
StringEntry entry = (StringEntry) configEntry;
-
+
ModTextbox box = new ModTextbox(TextPattern.NONE, 0, 0, 175, 15) {
@Override
public void onAction() {
entry.setValue(activeModule, getText());
}
};
-
+
box.setText((String) configEntry.getValue(activeModule));
-
+
toAdd.add(box);
}
}
-
+
int defaultX = 25;
-
+
int xPos = defaultX;
int yPos = 25;
-
+
boolean isText = false;
rip.athena.client.gui.framework.MenuComponent last = null;
-
- for(rip.athena.client.gui.framework.MenuComponent component : toAdd) {
- if(component instanceof FeatureValueText) {
- if(last != null) {
+
+ for (rip.athena.client.gui.framework.MenuComponent component : toAdd) {
+ if (component instanceof FeatureValueText) {
+ if (last != null) {
component.setX(xPos);
component.setY(yPos);
}
- } else if(component instanceof FeatureText) {
+ } else if (component instanceof FeatureText) {
component.setX(xPos);
component.setY(yPos);
-
+
xPos += component.getWidth();
-
+
isText = true;
} else {
xPos = defaultX;
-
- if(isText) {
- if(component instanceof MenuModSlider) {
+
+ if (isText) {
+ if (component instanceof MenuModSlider) {
yPos += ySpacing;
-
+
component.setX(xPos);
component.setY(yPos);
} else {
- if(component instanceof MenuModList) {
+ if (component instanceof MenuModList) {
component.setX(pane.getWidth() - component.getWidth() - xSpacing * 3 + 12);
} else {
component.setX(pane.getWidth() - component.getWidth() - xSpacing);
}
-
+
component.setY(yPos);
}
-
+
isText = false;
} else {
component.setX(xPos);
component.setY(yPos);
}
-
+
yPos += ySpacing + component.getHeight();
}
-
+
pane.addComponent(component);
-
+
last = component;
}
}
@@ -437,7 +452,7 @@ public class ModsPage extends Page {
activeModule = null;
ModsPage.this.parent.initPage();
}
-
+
@Override
public void onOpen() {
updateStates();
@@ -445,50 +460,55 @@ public class ModsPage extends Page {
@Override
public void onClose() {
-
+
}
-
+
private void updateStates() {
- for(rip.athena.client.gui.framework.MenuComponent component : menu.getComponents()) {
- if(component instanceof ModsButton) {
+ for (rip.athena.client.gui.framework.MenuComponent component : menu.getComponents()) {
+ if (component instanceof ModsButton) {
ModsButton button = (ModsButton) component;
-
+
button.setActive(activeModule.isToggled());
button.onAction();
-
+
break;
}
}
}
-
+
private void initModPage() {
- for(rip.athena.client.gui.framework.MenuComponent component : menu.getComponents()) {
- if(component instanceof ModScrollPane) {
+ for (rip.athena.client.gui.framework.MenuComponent component : menu.getComponents()) {
+ if (component instanceof ModScrollPane) {
initModPage((ModScrollPane) component);
return;
}
}
}
-
+
private void initModPage(ModScrollPane pane) {
pane.getComponents().clear();
-
- for(rip.athena.client.gui.framework.MenuComponent c : menu.getComponents()) {
- if(c instanceof ModsButton || c instanceof MenuModList) {
+
+ for (rip.athena.client.gui.framework.MenuComponent c : menu.getComponents()) {
+ if (c instanceof ModsButton || c instanceof MenuModList) {
menu.getComponents().remove(c);
}
}
-
+
int x = 0;
int y = 5;
int width = 170;
int height = 150;
int spacing = 16;
-
- for(Module module : Athena.INSTANCE.getModuleManager().getModules().stream().filter(entry ->
- ((search == null || search.isEmpty()) || entry.getName().toLowerCase().indexOf(search.toLowerCase()) >= 0) &&
- (entry.getCategory() == modCategory || modCategory == Category.ALL_MODS) && !entry.getCategory().isHidden()).collect(Collectors.toList())) {
-
+
+ List modules = Athena.INSTANCE.getModuleManager().getModules().stream()
+ .filter(entry ->
+ ((search == null || search.isEmpty()) || entry.getName().toLowerCase().contains(search.toLowerCase())) &&
+ (entry.getCategory() == modCategory || modCategory == Category.ALL_MODS) && !entry.getCategory().isHidden())
+ .collect(Collectors.toList());
+
+ modules.sort(Comparator.comparing(module -> module.getName().toLowerCase()));
+
+ for (Module module : modules) {
pane.addComponent(new ModuleBox(module, x, y, width, height) {
@Override
public void onOpenSettings() {
@@ -496,13 +516,13 @@ public class ModsPage extends Page {
ModsPage.this.parent.initPage();
}
});
-
+
x += width + spacing;
-
- if(x + width >= pane.getWidth()) {
+
+ if (x + width >= pane.getWidth()) {
x = 0;
y += height + spacing;
}
}
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/ProfilesPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java
similarity index 73%
rename from src/main/java/rip/athena/client/gui/hud/pages/ProfilesPage.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java
index 2ed63aad..86cb5359 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/ProfilesPage.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java
@@ -1,28 +1,23 @@
-package rip.athena.client.gui.hud.pages;
+package rip.athena.client.gui.clickgui.pages;
-import net.minecraft.client.renderer.GlStateManager;
-import rip.athena.client.Athena;
import rip.athena.client.font.FontManager;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.TextPattern;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.Page;
-import rip.athena.client.gui.hud.components.macros.MacroButton;
-import rip.athena.client.gui.hud.components.macros.MacroTextfield;
-import rip.athena.client.gui.hud.components.macros.SimpleTextButton;
-import rip.athena.client.gui.hud.components.mods.ModCategoryButton;
-import rip.athena.client.gui.hud.components.mods.ModScrollPane;
-import rip.athena.client.gui.hud.components.profiles.ProfilesBase;
-import rip.athena.client.gui.hud.components.profiles.ProfilesBlueButton;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.Page;
+import rip.athena.client.gui.clickgui.components.macros.MacroButton;
+import rip.athena.client.gui.clickgui.components.macros.MacroTextfield;
+import rip.athena.client.gui.clickgui.components.mods.ModCategoryButton;
+import rip.athena.client.gui.clickgui.components.mods.ModScrollPane;
+import rip.athena.client.gui.clickgui.components.profiles.ProfilesBlueButton;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiScreen;
-import org.apache.commons.lang3.RandomStringUtils;
-import org.json.JSONException;
+import rip.athena.client.modules.impl.other.Settings;
-import java.awt.*;
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.NoSuchElementException;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public class ProfilesPage extends Page {
private MacroTextfield nameNew;
@@ -75,7 +70,7 @@ public class ProfilesPage extends Page {
}
/*try {
- WebRequest request = new WebRequest(Falcun.PROFILES_URL + "/uploads/" + URLEncoder.encode(nameAdd.getText(), "UTF-8") + "/config.json", "GET", ContentType.FORM, false);
+ WebRequest request = new WebRequest(Athena.PROFILES_URL + "/uploads/" + URLEncoder.encode(nameAdd.getText(), "UTF-8") + "/config.json", "GET", ContentType.FORM, false);
WebRequestResult result = request.connect();
if(result.getResponse() == 200) {
@@ -149,7 +144,7 @@ public class ProfilesPage extends Page {
try {
String code = URLEncoder.encode(RandomStringUtils.randomAlphabetic(12).toLowerCase(), "UTF-8");
- WebRequest request = new WebRequest(Falcun.PROFILES_URL + "/upload.php?id=" + code, "POST", ContentType.MULTIPART_FORM, false);
+ WebRequest request = new WebRequest(Athena.PROFILES_URL + "/upload.php?id=" + code, "POST", ContentType.MULTIPART_FORM, false);
String boundary = "WebKitFormBoundaryYDPG5KWy5y4yolEf";
@@ -216,32 +211,53 @@ public class ProfilesPage extends Page {
int y = menu.getY() + 59;
int height = 32;
- FontManager.baloo17.drawString("PROFILES", menu.getX() + 31, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR);
-
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString("PROFILES", menu.getX() + 31, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ } else {
+ mc.fontRendererObj.drawString("PROFILES", menu.getX() + 31, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ }
drawHorizontalLine(menu.getX() + 31, menu.getY() + 110, menu.getWidth() - width - 31 * 2, 3, IngameMenu.MENU_LINE_COLOR);
rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, menu.getHeight() - 58, MacrosPage.MENU_SIDE_BG_COLOR);
rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, height + 1, ModCategoryButton.MAIN_COLOR);
drawShadowDown(menu.getX() + menu.getWidth() - width, y + height, width);
- FontManager.baloo17.drawString("CREATE NEW PROFILE", menu.getX() + menu.getWidth() - (float) width / 2 - FontManager.baloo17.getStringWidth("CREATE NEW PROFILE") / 2, y + (float) height / 2 - FontManager.baloo17.getHeight("CREATE NEW PROFILE") / 2, IngameMenu.MENU_HEADER_TEXT_COLOR);
-
+
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString("CREATE NEW PROFILE", menu.getX() + menu.getWidth() - (float) width / 2 - FontManager.baloo17.getStringWidth("CREATE NEW PROFILE") / 2, y + (float) height / 2 - FontManager.baloo17.getHeight("CREATE NEW PROFILE") / 2, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ } else {
+ mc.fontRendererObj.drawString("CREATE NEW PROFILE", (int) (menu.getX() + menu.getWidth() - (float) width / 2 - mc.fontRendererObj.getStringWidth("CREATE NEW PROFILE") / 2), (int) (y + (float) height / 2 - mc.fontRendererObj.FONT_HEIGHT / 2), IngameMenu.MENU_HEADER_TEXT_COLOR);
+ }
+
drawShadowDown(menu.getX() + menu.getWidth() - width, y - 1, width);
y += 60;
-
- FontManager.baloo17.drawString("ENTER NAME", x, y, IngameMenu.MENU_HEADER_TEXT_COLOR);
-
+
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString("ENTER NAME", x, y, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ } else {
+ mc.fontRendererObj.drawString("ENTER NAME", x, y, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ }
+
y += 120;
rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, y, width, height + 1, ModCategoryButton.MAIN_COLOR);
drawShadowDown(menu.getX() + menu.getWidth() - width, y + height, width);
drawShadowUp(menu.getX() + menu.getWidth() - width, y, width);
- FontManager.baloo17.drawString("DOWNLOAD PROFILE", menu.getX() + menu.getWidth() - (float) width / 2 - FontManager.baloo17.getStringWidth("DOWNLOAD PROFILE") / 2, y + (float) height / 2 - FontManager.baloo17.getHeight("DOWNLOAD PROFILE") / 2, IngameMenu.MENU_HEADER_TEXT_COLOR);
-
+
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString("DOWNLOAD PROFILE", menu.getX() + menu.getWidth() - (float) width / 2 - FontManager.baloo17.getStringWidth("DOWNLOAD PROFILE") / 2, y + (float) height / 2 - FontManager.baloo17.getHeight("DOWNLOAD PROFILE") / 2, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ } else {
+ mc.fontRendererObj.drawString("DOWNLOAD PROFILE", (int) (menu.getX() + menu.getWidth() - (float) width / 2 - mc.fontRendererObj.getStringWidth("DOWNLOAD PROFILE") / 2), (int) (y + (float) height / 2 - mc.fontRendererObj.FONT_HEIGHT / 2), IngameMenu.MENU_HEADER_TEXT_COLOR);
+ }
+
y += 50;
-
- FontManager.baloo17.drawString("PROFILE CODE", x, y, IngameMenu.MENU_HEADER_TEXT_COLOR);
+
+ if(Settings.customGuiFont) {
+ FontManager.baloo17.drawString("PROFILE CODE", x, y, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ } else {
+ mc.fontRendererObj.drawString("PROFILE CODE", x, y, IngameMenu.MENU_HEADER_TEXT_COLOR);
+ }
}
@Override
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/FPSPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/SettingsPage.java
similarity index 97%
rename from src/main/java/rip/athena/client/gui/hud/pages/FPSPage.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/SettingsPage.java
index 9a1a4bf1..4b101019 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/FPSPage.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/SettingsPage.java
@@ -1,4 +1,4 @@
-package rip.athena.client.gui.hud.pages;
+package rip.athena.client.gui.clickgui.pages;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigEntry;
@@ -6,7 +6,7 @@ import rip.athena.client.config.types.*;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.TextPattern;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import net.minecraft.block.*;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityOtherPlayerMP;
@@ -22,23 +22,30 @@ import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.tileentity.*;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.ResourceLocation;
-import rip.athena.client.gui.hud.Page;
-import rip.athena.client.gui.hud.components.cosmetics.CosmeticGenericButton;
-import rip.athena.client.gui.hud.components.fps.*;
-import rip.athena.client.gui.hud.components.macros.FlipButton;
-import rip.athena.client.gui.hud.components.mods.*;
-import rip.athena.client.gui.hud.pages.fps.BlacklistModule;
-import rip.athena.client.gui.hud.pages.fps.BlacklistType;
-import rip.athena.client.gui.hud.pages.fps.FPSSubTab;
+import rip.athena.client.gui.clickgui.Page;
+import rip.athena.client.gui.clickgui.components.cosmetics.CosmeticGenericButton;
+import rip.athena.client.gui.clickgui.components.fps.*;
+import rip.athena.client.gui.clickgui.components.macros.FlipButton;
+import rip.athena.client.gui.clickgui.components.mods.*;
+import rip.athena.client.gui.clickgui.pages.fps.BlacklistModule;
+import rip.athena.client.gui.clickgui.pages.fps.BlacklistType;
+import rip.athena.client.gui.clickgui.pages.fps.FPSSubTab;
import rip.athena.client.modules.Module;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
+import rip.athena.client.modules.impl.other.Settings;
import rip.athena.client.utils.render.AssetUtils;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
-public class FPSPage extends Page {
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public class SettingsPage extends Page {
private static ResourceLocation OF_LOW;
private static ResourceLocation OF_MEDMED;
private static ResourceLocation OF_HIGH;
@@ -175,7 +182,7 @@ public class FPSPage extends Page {
registerEntity("Player (Other)", EntityOtherPlayerMP.class);
}
- public FPSPage(Minecraft mc, Menu menu, IngameMenu parent) {
+ public SettingsPage(Minecraft mc, Menu menu, IngameMenu parent) {
super(mc, menu, parent);
}
@@ -426,7 +433,7 @@ public class FPSPage extends Page {
}
});
} else if(subTab == FPSSubTab.SETTINGS) {
- initSettings(Athena.INSTANCE.getModuleManager().get(OptimizerMod.class));
+ initSettings(Athena.INSTANCE.getModuleManager().get(Settings.class));
}
}
@@ -539,7 +546,6 @@ public class FPSPage extends Page {
Minecraft.getMinecraft().gameSettings.ofVoidParticles = false;
Minecraft.getMinecraft().gameSettings.ofWaterParticles = false;
Minecraft.getMinecraft().gameSettings.ofPortalParticles = false;
- Minecraft.getMinecraft().gameSettings.ofPortalParticles = false;
Minecraft.getMinecraft().gameSettings.ofFireworkParticles = false;
Minecraft.getMinecraft().gameSettings.ofDrippingWaterLava = false;
Minecraft.getMinecraft().gameSettings.ofAnimatedTerrain = false;
@@ -608,7 +614,6 @@ public class FPSPage extends Page {
Minecraft.getMinecraft().gameSettings.ofVoidParticles = false;
Minecraft.getMinecraft().gameSettings.ofWaterParticles = false;
Minecraft.getMinecraft().gameSettings.ofPortalParticles = false;
- Minecraft.getMinecraft().gameSettings.ofPortalParticles = false;
Minecraft.getMinecraft().gameSettings.ofFireworkParticles = false;
Minecraft.getMinecraft().gameSettings.ofDrippingWaterLava = false;
Minecraft.getMinecraft().gameSettings.ofAnimatedTerrain = true;
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/WaypointsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/WaypointsPage.java
similarity index 92%
rename from src/main/java/rip/athena/client/gui/hud/pages/WaypointsPage.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/WaypointsPage.java
index 329cca30..2cd59351 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/WaypointsPage.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/WaypointsPage.java
@@ -1,19 +1,25 @@
-package rip.athena.client.gui.hud.pages;
+package rip.athena.client.gui.clickgui.pages;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.framework.TextPattern;
-import rip.athena.client.gui.hud.IngameMenu;
-import rip.athena.client.gui.hud.Page;
-import rip.athena.client.gui.hud.components.macros.*;
-import rip.athena.client.gui.hud.components.mods.MenuModColorPicker;
-import rip.athena.client.gui.hud.components.mods.ModCategoryButton;
-import rip.athena.client.gui.hud.components.mods.ModScrollPane;
-import rip.athena.client.gui.hud.components.waypoints.WaypointTextBarrier;
+import rip.athena.client.gui.clickgui.IngameMenu;
+import rip.athena.client.gui.clickgui.Page;
+import rip.athena.client.gui.clickgui.components.macros.*;
+import rip.athena.client.gui.clickgui.components.mods.MenuModColorPicker;
+import rip.athena.client.gui.clickgui.components.mods.ModCategoryButton;
+import rip.athena.client.gui.clickgui.components.mods.ModScrollPane;
+import rip.athena.client.gui.clickgui.components.waypoints.WaypointTextBarrier;
import net.minecraft.client.Minecraft;
import rip.athena.client.utils.StringUtils;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class WaypointsPage extends Page {
private MacroTextfield name;
private MacroTextfield description;
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/cosmetics/BandanaSize.java b/src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/BandanaSize.java
similarity index 59%
rename from src/main/java/rip/athena/client/gui/hud/pages/cosmetics/BandanaSize.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/BandanaSize.java
index e922ef6b..e6e621fc 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/cosmetics/BandanaSize.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/BandanaSize.java
@@ -1,4 +1,10 @@
-package rip.athena.client.gui.hud.pages.cosmetics;
+package rip.athena.client.gui.clickgui.pages.cosmetics;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public enum BandanaSize {
SMALL("SMALL"), MEDIUM("MEDIUM"), LARGE("LARGE");
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/cosmetics/CapeType.java b/src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/CapeType.java
similarity index 62%
rename from src/main/java/rip/athena/client/gui/hud/pages/cosmetics/CapeType.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/CapeType.java
index 00f3f10f..ad44cc25 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/cosmetics/CapeType.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/CapeType.java
@@ -1,4 +1,10 @@
-package rip.athena.client.gui.hud.pages.cosmetics;
+package rip.athena.client.gui.clickgui.pages.cosmetics;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public enum CapeType {
NORMAL("NORMAL"), BEND("BEND"), SHOULDERS("SHOULDERS"), BEND_AND_SHOULDERS("BEND & SHOULDERS");
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/cosmetics/CosmeticType.java b/src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/CosmeticType.java
similarity index 62%
rename from src/main/java/rip/athena/client/gui/hud/pages/cosmetics/CosmeticType.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/CosmeticType.java
index 52e0c7dd..fb2f98ea 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/cosmetics/CosmeticType.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/cosmetics/CosmeticType.java
@@ -1,4 +1,10 @@
-package rip.athena.client.gui.hud.pages.cosmetics;
+package rip.athena.client.gui.clickgui.pages.cosmetics;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public enum CosmeticType {
CAPES("CAPES"), BANDANAS("BANDANAS"), EMOTES("EMOTES"), FLAGS("FLAGS");
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/fps/BlacklistModule.java b/src/main/java/rip/athena/client/gui/clickgui/pages/fps/BlacklistModule.java
similarity index 59%
rename from src/main/java/rip/athena/client/gui/hud/pages/fps/BlacklistModule.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/fps/BlacklistModule.java
index 032ac09b..c277e68d 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/fps/BlacklistModule.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/fps/BlacklistModule.java
@@ -1,11 +1,17 @@
-package rip.athena.client.gui.hud.pages.fps;
+package rip.athena.client.gui.clickgui.pages.fps;
-import rip.athena.client.gui.hud.pages.FPSPage;
+import rip.athena.client.gui.clickgui.pages.SettingsPage;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumParticleTypes;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class BlacklistModule {
private String name;
private BlacklistType type;
@@ -20,15 +26,15 @@ public class BlacklistModule {
switch(type) {
case BLOCK:
- this.enabled = FPSPage.BLOCKS.contains(clazz);
+ this.enabled = SettingsPage.BLOCKS.contains(clazz);
break;
case ENTITY:
- this.enabled = FPSPage.ENTITIES.contains(clazz);
+ this.enabled = SettingsPage.ENTITIES.contains(clazz);
break;
case TILE_ENTITY:
- this.enabled = FPSPage.TILE_ENTITIES.contains(clazz);
+ this.enabled = SettingsPage.TILE_ENTITIES.contains(clazz);
break;
default:
@@ -40,7 +46,7 @@ public class BlacklistModule {
this.name = name;
this.type = BlacklistType.PARTICLE;
this.particle = particle;
- this.enabled = FPSPage.PARTICLES.contains(particle);
+ this.enabled = SettingsPage.PARTICLES.contains(particle);
}
public String getName() {
@@ -72,11 +78,11 @@ public class BlacklistModule {
Class block = (Class) clazz;
if(enabled) {
- if(!FPSPage.BLOCKS.contains(block)) {
- FPSPage.BLOCKS.add(block);
+ if(!SettingsPage.BLOCKS.contains(block)) {
+ SettingsPage.BLOCKS.add(block);
}
- } else if(FPSPage.BLOCKS.contains(block)) {
- FPSPage.BLOCKS.remove(block);
+ } else if(SettingsPage.BLOCKS.contains(block)) {
+ SettingsPage.BLOCKS.remove(block);
}
}
@@ -87,11 +93,11 @@ public class BlacklistModule {
Class entity = (Class) clazz;
if(enabled) {
- if(!FPSPage.ENTITIES.contains(entity)) {
- FPSPage.ENTITIES.add(entity);
+ if(!SettingsPage.ENTITIES.contains(entity)) {
+ SettingsPage.ENTITIES.add(entity);
}
- } else if(FPSPage.ENTITIES.contains(entity)) {
- FPSPage.ENTITIES.remove(entity);
+ } else if(SettingsPage.ENTITIES.contains(entity)) {
+ SettingsPage.ENTITIES.remove(entity);
}
}
break;
@@ -101,11 +107,11 @@ public class BlacklistModule {
Class tileEntity = (Class) clazz;
if(enabled) {
- if(!FPSPage.TILE_ENTITIES.contains(tileEntity)) {
- FPSPage.TILE_ENTITIES.add(tileEntity);
+ if(!SettingsPage.TILE_ENTITIES.contains(tileEntity)) {
+ SettingsPage.TILE_ENTITIES.add(tileEntity);
}
- } else if(FPSPage.TILE_ENTITIES.contains(tileEntity)) {
- FPSPage.TILE_ENTITIES.remove(tileEntity);
+ } else if(SettingsPage.TILE_ENTITIES.contains(tileEntity)) {
+ SettingsPage.TILE_ENTITIES.remove(tileEntity);
}
}
break;
@@ -113,11 +119,11 @@ public class BlacklistModule {
case PARTICLE:
if(particle != null) {
if(enabled) {
- if(!FPSPage.PARTICLES.contains(particle)) {
- FPSPage.PARTICLES.add(particle);
+ if(!SettingsPage.PARTICLES.contains(particle)) {
+ SettingsPage.PARTICLES.add(particle);
}
- } else if(FPSPage.PARTICLES.contains(particle)) {
- FPSPage.PARTICLES.remove(particle);
+ } else if(SettingsPage.PARTICLES.contains(particle)) {
+ SettingsPage.PARTICLES.remove(particle);
}
}
break;
diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/fps/BlacklistType.java b/src/main/java/rip/athena/client/gui/clickgui/pages/fps/BlacklistType.java
new file mode 100644
index 00000000..3dbfc50a
--- /dev/null
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/fps/BlacklistType.java
@@ -0,0 +1,11 @@
+package rip.athena.client.gui.clickgui.pages.fps;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public enum BlacklistType {
+ ENTITY, TILE_ENTITY, BLOCK, PARTICLE;
+}
diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/fps/FPSSubTab.java b/src/main/java/rip/athena/client/gui/clickgui/pages/fps/FPSSubTab.java
new file mode 100644
index 00000000..9a351507
--- /dev/null
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/fps/FPSSubTab.java
@@ -0,0 +1,11 @@
+package rip.athena.client.gui.clickgui.pages.fps;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public enum FPSSubTab {
+ FPS, OPTIFINE, SETTINGS;
+}
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/groups/GroupSubTab.java b/src/main/java/rip/athena/client/gui/clickgui/pages/groups/GroupSubTab.java
similarity index 63%
rename from src/main/java/rip/athena/client/gui/hud/pages/groups/GroupSubTab.java
rename to src/main/java/rip/athena/client/gui/clickgui/pages/groups/GroupSubTab.java
index 23c96eff..f2d7717a 100644
--- a/src/main/java/rip/athena/client/gui/hud/pages/groups/GroupSubTab.java
+++ b/src/main/java/rip/athena/client/gui/clickgui/pages/groups/GroupSubTab.java
@@ -1,4 +1,10 @@
-package rip.athena.client.gui.hud.pages.groups;
+package rip.athena.client.gui.clickgui.pages.groups;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
public enum GroupSubTab {
SETTINGS("SETTINGS"), SCHEMATICS("SCHEMATICS"), WAYPOINTS("WAYPOINTS"), ADMIN("ADMIN");
diff --git a/src/main/java/rip/athena/client/gui/framework/Menu.java b/src/main/java/rip/athena/client/gui/framework/Menu.java
index 3ebb09ff..f3cfa0c8 100644
--- a/src/main/java/rip/athena/client/gui/framework/Menu.java
+++ b/src/main/java/rip/athena/client/gui/framework/Menu.java
@@ -8,6 +8,12 @@ import java.util.Comparator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class Menu {
private String title;
private int x;
@@ -17,7 +23,14 @@ public class Menu {
private int mouseX;
private int mouseY;
private List components;
-
+
+ /**
+ * Constructs a new instance of Menu with the specified title, width, and height.
+ *
+ * @param title The title of the menu.
+ * @param width The width of the menu.
+ * @param height The height of the menu.
+ */
public Menu(String title, int width, int height) {
this.title = title;
this.x = 0;
@@ -26,7 +39,13 @@ public class Menu {
this.height = height;
components = new CopyOnWriteArrayList<>();
}
-
+
+ /**
+ * Renders the menu on the screen, including its components.
+ *
+ * @param mouseX The X position of the mouse.
+ * @param mouseY The Y position of the mouse.
+ */
public void onRender(int mouseX, int mouseY) {
this.mouseX = mouseX;
this.mouseY = mouseY;
@@ -72,7 +91,12 @@ public class Menu {
this.mouseX = mouseX;
this.mouseY = mouseY;
}
-
+
+ /**
+ * Handles mouse click events on the menu and its components.
+ *
+ * @param button The button that was clicked.
+ */
public void onMouseClick(int button) {
Collections.sort(components, (a, b) -> Integer.compare(a.getPriority().getPriority(), b.getPriority().getPriority()));
Collections.reverse(components);
@@ -87,7 +111,12 @@ public class Menu {
}
}
}
-
+
+ /**
+ * Handles mouse click and move events on the menu and its components.
+ *
+ * @param button The button that was clicked.
+ */
public void onMouseClickMove(int button) {
Collections.sort(components, (a, b) -> Integer.compare(a.getPriority().getPriority(), b.getPriority().getPriority()));
Collections.reverse(components);
@@ -103,12 +132,24 @@ public class Menu {
}
}
}
-
+
+ /**
+ * Handles key down events on the menu and its components.
+ *
+ * @param character The character that was typed.
+ * @param key The key code of the pressed key.
+ */
public void onKeyDown(char character, int key) {
for(MenuComponent component : components)
component.onKeyDown(character, key);
}
-
+
+ /**
+ * Handles the menu exit event, triggered when a specific key is pressed.
+ *
+ * @param key The key code of the pressed key.
+ * @return True if the menu exit event should be cancelled, false otherwise.
+ */
public boolean onMenuExit(int key) {
boolean cancel = false;
@@ -121,6 +162,11 @@ public class Menu {
return cancel;
}
+ /**
+ * Handles mouse scroll events on the menu and its components.
+ *
+ * @param scroll The amount of scrolling that occurred.
+ */
public void onScroll(int scroll) {
components.sort(Comparator.comparingInt(a -> a.getPriority().getPriority()));
Collections.reverse(components);
@@ -132,79 +178,170 @@ public class Menu {
break;
}
}
-
+
+ /**
+ * Sets the location of the menu.
+ *
+ * @param x The X position of the menu.
+ * @param y The Y position of the menu.
+ */
public void setLocation(int x, int y) {
this.x = x;
this.y = y;
}
-
+
+ /**
+ * Adds a component to the menu.
+ *
+ * @param component The component to be added.
+ */
public void addComponent(MenuComponent component) {
if(!components.contains(component)) {
component.setParent(this);
components.add(component);
}
}
-
+
+ /**
+ * Retrieves the title of the menu.
+ *
+ * @return The menu title.
+ */
public String getTitle() {
return title;
}
-
+
+ /**
+ * Sets the title of the menu.
+ *
+ * @param title The menu title to be set.
+ */
public void setTitle(String title) {
this.title = title;
}
-
+
+ /**
+ * Retrieves the X position of the menu.
+ *
+ * @return The X position.
+ */
public int getX() {
return x;
}
-
+
+ /**
+ * Sets the X position of the menu.
+ *
+ * @param x The X position to be set.
+ */
public void setX(int x) {
this.x = x;
}
-
+
+ /**
+ * Retrieves the Y position of the menu.
+ *
+ * @return The Y position.
+ */
public int getY() {
return y;
}
-
+
+ /**
+ * Sets the Y position of the menu.
+ *
+ * @param y The Y position to be set.
+ */
public void setY(int y) {
this.y = y;
}
-
+
+ /**
+ * Retrieves the width of the menu.
+ *
+ * @return The menu width.
+ */
public int getWidth() {
return width;
}
-
+
+ /**
+ * Sets the width of the menu.
+ *
+ * @param width The menu width to be set.
+ */
public void setWidth(int width) {
this.width = width;
}
-
+
+ /**
+ * Retrieves the height of the menu.
+ *
+ * @return The menu height.
+ */
public int getHeight() {
return height;
}
-
+
+ /**
+ * Sets the height of the menu.
+ *
+ * @param height The menu height to be set.
+ */
public void setHeight(int height) {
this.height = height;
}
-
+
+ /**
+ * Retrieves the X position of the mouse.
+ *
+ * @return The X position of the mouse.
+ */
public int getMouseX() {
return mouseX;
}
-
+
+ /**
+ * Sets the X position of the mouse.
+ *
+ * @param mouseX The X position of the mouse to be set.
+ */
public void setMouseX(int mouseX) {
this.mouseX = mouseX;
}
-
+
+ /**
+ * Retrieves the Y position of the mouse.
+ *
+ * @return The Y position of the mouse.
+ */
public int getMouseY() {
return mouseY;
}
-
+
+ /**
+ * Sets the Y position of the mouse.
+ *
+ * @param mouseY The Y position of the mouse to be set.
+ */
public void setMouseY(int mouseY) {
this.mouseY = mouseY;
}
-
+
+ /**
+ * Retrieves the list of components in the menu.
+ *
+ * @return The list of components.
+ */
public List getComponents() {
return components;
}
-
+
+ /**
+ * Sets the list of components in the menu.
+ *
+ * @param components The list of components to be set.
+ */
public void setComponents(List components) {
this.components = components;
}
diff --git a/src/main/java/rip/athena/client/gui/framework/MenuComponent.java b/src/main/java/rip/athena/client/gui/framework/MenuComponent.java
index a9c5bad4..3c1223ea 100644
--- a/src/main/java/rip/athena/client/gui/framework/MenuComponent.java
+++ b/src/main/java/rip/athena/client/gui/framework/MenuComponent.java
@@ -3,6 +3,12 @@ package rip.athena.client.gui.framework;
import rip.athena.client.gui.framework.draw.DrawImpl;
import rip.athena.client.gui.framework.draw.MenuColorType;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuComponent extends MenuColorType implements DrawImpl, MenuComponentImpl {
protected int x;
protected int y;
diff --git a/src/main/java/rip/athena/client/gui/framework/MenuComponentImpl.java b/src/main/java/rip/athena/client/gui/framework/MenuComponentImpl.java
index e1123dd5..195e83d7 100644
--- a/src/main/java/rip/athena/client/gui/framework/MenuComponentImpl.java
+++ b/src/main/java/rip/athena/client/gui/framework/MenuComponentImpl.java
@@ -1,5 +1,11 @@
package rip.athena.client.gui.framework;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public interface MenuComponentImpl {
default void onPreSort() {}
default void onRender() {}
diff --git a/src/main/java/rip/athena/client/gui/framework/MenuPriority.java b/src/main/java/rip/athena/client/gui/framework/MenuPriority.java
index 2b75657f..cde2328b 100644
--- a/src/main/java/rip/athena/client/gui/framework/MenuPriority.java
+++ b/src/main/java/rip/athena/client/gui/framework/MenuPriority.java
@@ -1,5 +1,11 @@
package rip.athena.client.gui.framework;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public enum MenuPriority {
LOWEST(0), LOW(1), MEDIUM(2), HIGH(3), HIGHEST(4), SCROLLPANE(5);
diff --git a/src/main/java/rip/athena/client/gui/framework/MinecraftMenuImpl.java b/src/main/java/rip/athena/client/gui/framework/MinecraftMenuImpl.java
index d253cee0..fd389e8e 100644
--- a/src/main/java/rip/athena/client/gui/framework/MinecraftMenuImpl.java
+++ b/src/main/java/rip/athena/client/gui/framework/MinecraftMenuImpl.java
@@ -10,22 +10,44 @@ import rip.athena.client.utils.input.BindType;
import java.io.IOException;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MinecraftMenuImpl extends GuiScreen {
protected Module feature;
protected Menu menu;
protected boolean ready = false;
- protected float guiScale = 1;
-
+ protected float guiScale = 1;
+
+ /**
+ * Constructs a new instance of MinecraftMenuImpl.
+ *
+ * @param feature The module associated with the menu.
+ * @param menu The menu to be displayed.
+ */
public MinecraftMenuImpl(Module feature, Menu menu) {
this.feature = feature;
this.menu = menu;
}
-
+
+ /**
+ * Initializes the GUI, enabling repeat events for keyboard input.
+ */
@Override
public void initGui() {
Keyboard.enableRepeatEvents(true);
}
-
+
+ /**
+ * Renders the screen, scaling and rendering the menu, and handling feature binds.
+ *
+ * @param mouseX The X position of the mouse.
+ * @param mouseY The Y position of the mouse.
+ * @param partialTicks The partial ticks for animation.
+ */
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
GlStateManager.pushMatrix();
@@ -46,21 +68,49 @@ public class MinecraftMenuImpl extends GuiScreen {
}
}
}
-
+
+ /**
+ * Handles mouse click events on the screen.
+ *
+ * @param mouseX The X position of the mouse.
+ * @param mouseY The Y position of the mouse.
+ * @param mouseButton The button that was clicked.
+ * @throws IOException If an I/O exception occurs.
+ */
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
menu.onMouseClick(mouseButton);
}
-
+
+ /**
+ * Handles mouse click and move events on the screen.
+ *
+ * @param mouseX The X position of the mouse.
+ * @param mouseY The Y position of the mouse.
+ * @param clickedMouseButton The button that was clicked.
+ * @param timeSinceLastClick The time since the last click event.
+ */
@Override
protected void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) {
menu.onMouseClickMove(clickedMouseButton);
}
-
+
+ /**
+ * Handles mouse scroll events.
+ *
+ * @param scroll The scroll value.
+ */
public void onMouseScroll(int scroll) {
menu.onScroll(scroll);
}
-
+
+ /**
+ * Handles key press events.
+ *
+ * @param typedChar The character that was typed.
+ * @param keyCode The key code of the pressed key.
+ * @throws IOException If an I/O exception occurs.
+ */
@Override
protected void keyTyped(char typedChar, int keyCode) throws IOException {
if (keyCode == Keyboard.KEY_ESCAPE) {
@@ -73,12 +123,20 @@ public class MinecraftMenuImpl extends GuiScreen {
menu.onKeyDown(typedChar, keyCode);
}
}
-
+
+ /**
+ * Indicates whether the game should be paused when the menu is displayed.
+ *
+ * @return False, as the game should not be paused.
+ */
@Override
public boolean doesGuiPauseGame() {
return false;
}
-
+
+ /**
+ * Called when the GUI is closed, disabling the associated feature and resetting the state.
+ */
@Override
public void onGuiClosed() {
if(feature != null) {
@@ -88,7 +146,12 @@ public class MinecraftMenuImpl extends GuiScreen {
ready = false;
super.onGuiClosed();
}
-
+
+ /**
+ * Retrieves the module associated with the menu.
+ *
+ * @return The associated module.
+ */
public Module getFeature() {
return feature;
}
diff --git a/src/main/java/rip/athena/client/gui/framework/TextPattern.java b/src/main/java/rip/athena/client/gui/framework/TextPattern.java
index 836e4b3a..d5c25ed2 100644
--- a/src/main/java/rip/athena/client/gui/framework/TextPattern.java
+++ b/src/main/java/rip/athena/client/gui/framework/TextPattern.java
@@ -1,5 +1,11 @@
package rip.athena.client.gui.framework;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public enum TextPattern {
TEXT_ONLY, NUMBERS_ONLY, TEXT_AND_NUMBERS, NONE;
}
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuButton.java b/src/main/java/rip/athena/client/gui/framework/components/MenuButton.java
index a05fa70b..97c8ddf6 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuButton.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuButton.java
@@ -6,6 +6,12 @@ import rip.athena.client.gui.framework.draw.DrawType;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuButton extends MenuComponent {
protected String text;
protected int minOffset = 2;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuCheckbox.java b/src/main/java/rip/athena/client/gui/framework/components/MenuCheckbox.java
index 1c0cc7fa..c100abc7 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuCheckbox.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuCheckbox.java
@@ -9,6 +9,12 @@ import rip.athena.client.gui.framework.MenuComponent;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuCheckbox extends MenuComponent {
protected String text;
protected String tooltip;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuColorPicker.java b/src/main/java/rip/athena/client/gui/framework/components/MenuColorPicker.java
index e526ecf1..402c0e39 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuColorPicker.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuColorPicker.java
@@ -13,6 +13,12 @@ import org.lwjgl.input.Mouse;
import java.awt.*;
import java.awt.image.BufferedImage;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuColorPicker extends MenuComponent {
protected Color color;
protected Color temp;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuColumn.java b/src/main/java/rip/athena/client/gui/framework/components/MenuColumn.java
index 3a10bf9d..e041c91e 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuColumn.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuColumn.java
@@ -2,6 +2,12 @@ package rip.athena.client.gui.framework.components;
import rip.athena.client.gui.framework.MenuComponent;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuColumn extends MenuComponent {
protected int column = 0;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuComboBox.java b/src/main/java/rip/athena/client/gui/framework/components/MenuComboBox.java
index 71eb92df..4d192238 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuComboBox.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuComboBox.java
@@ -9,6 +9,12 @@ import java.awt.*;
import java.util.ArrayList;
import java.util.List;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuComboBox extends MenuComponent {
protected String[] values;
protected String lastValueString = "";
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuDraggable.java b/src/main/java/rip/athena/client/gui/framework/components/MenuDraggable.java
index 6ef59563..cdf3f48b 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuDraggable.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuDraggable.java
@@ -4,6 +4,12 @@ import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
import org.lwjgl.input.Mouse;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuDraggable extends MenuComponent {
protected boolean mouseDown = false;
protected boolean dragging = false;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuDropdown.java b/src/main/java/rip/athena/client/gui/framework/components/MenuDropdown.java
index 6b55f42c..0199fd58 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuDropdown.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuDropdown.java
@@ -9,6 +9,12 @@ import java.awt.*;
import java.util.ArrayList;
import java.util.List;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuDropdown extends MenuComponent {
protected String[] values;
protected boolean open = false;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuLabel.java b/src/main/java/rip/athena/client/gui/framework/components/MenuLabel.java
index 01febdd0..e199b934 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuLabel.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuLabel.java
@@ -9,6 +9,12 @@ import net.minecraft.client.gui.ScaledResolution;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuLabel extends MenuComponent {
protected String text;
protected String tooltip;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuNoDrag.java b/src/main/java/rip/athena/client/gui/framework/components/MenuNoDrag.java
index 7772c746..33854dc6 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuNoDrag.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuNoDrag.java
@@ -3,6 +3,12 @@ package rip.athena.client.gui.framework.components;
import rip.athena.client.gui.framework.MenuComponent;
import rip.athena.client.gui.framework.MenuPriority;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuNoDrag extends MenuComponent {
protected boolean mouseDown = false;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuPage.java b/src/main/java/rip/athena/client/gui/framework/components/MenuPage.java
index 18fbbe6d..75b8592f 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuPage.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuPage.java
@@ -2,6 +2,12 @@ package rip.athena.client.gui.framework.components;
import rip.athena.client.gui.framework.MenuComponent;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuPage extends MenuComponent {
protected int page = 0;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuScrollPane.java b/src/main/java/rip/athena/client/gui/framework/components/MenuScrollPane.java
index d190f9bb..5a6d076a 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuScrollPane.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuScrollPane.java
@@ -11,6 +11,12 @@ import java.util.Collections;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuScrollPane extends MenuComponent {
protected List components;
protected String text;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuSlider.java b/src/main/java/rip/athena/client/gui/framework/components/MenuSlider.java
index fdc6eb86..38ba4008 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuSlider.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuSlider.java
@@ -10,6 +10,12 @@ import java.awt.*;
import java.math.RoundingMode;
import java.text.DecimalFormat;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuSlider extends MenuComponent {
protected boolean isFloat = false;
protected float value;
diff --git a/src/main/java/rip/athena/client/gui/framework/components/MenuTextField.java b/src/main/java/rip/athena/client/gui/framework/components/MenuTextField.java
index bf79921a..f9096298 100644
--- a/src/main/java/rip/athena/client/gui/framework/components/MenuTextField.java
+++ b/src/main/java/rip/athena/client/gui/framework/components/MenuTextField.java
@@ -13,6 +13,12 @@ import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuTextField extends MenuComponent {
protected String text;
protected int minOffset = 2;
diff --git a/src/main/java/rip/athena/client/gui/framework/draw/ButtonState.java b/src/main/java/rip/athena/client/gui/framework/draw/ButtonState.java
index 6d0e2d7e..f337ae1d 100644
--- a/src/main/java/rip/athena/client/gui/framework/draw/ButtonState.java
+++ b/src/main/java/rip/athena/client/gui/framework/draw/ButtonState.java
@@ -1,5 +1,11 @@
package rip.athena.client.gui.framework.draw;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public enum ButtonState {
NORMAL(""), HOVER("Hover"), ACTIVE("Active"), POPUP("Popup"), DISABLED("Disabled"), HOVERACTIVE("HoverActive");
diff --git a/src/main/java/rip/athena/client/gui/framework/draw/DrawImpl.java b/src/main/java/rip/athena/client/gui/framework/draw/DrawImpl.java
index fd147a53..da037ec9 100644
--- a/src/main/java/rip/athena/client/gui/framework/draw/DrawImpl.java
+++ b/src/main/java/rip/athena/client/gui/framework/draw/DrawImpl.java
@@ -14,6 +14,12 @@ import rip.athena.client.font.FontManager;
import java.awt.*;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public interface DrawImpl {
static final int SHADOW_SIZE = 5;
static final int SHADOW_AMOUNT = 3;
diff --git a/src/main/java/rip/athena/client/gui/framework/draw/DrawType.java b/src/main/java/rip/athena/client/gui/framework/draw/DrawType.java
index 8cdec04e..bbdffba1 100644
--- a/src/main/java/rip/athena/client/gui/framework/draw/DrawType.java
+++ b/src/main/java/rip/athena/client/gui/framework/draw/DrawType.java
@@ -1,5 +1,11 @@
package rip.athena.client.gui.framework.draw;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public enum DrawType {
LINE("line"), BACKGROUND("background"), TEXT("text");
diff --git a/src/main/java/rip/athena/client/gui/framework/draw/MenuColorType.java b/src/main/java/rip/athena/client/gui/framework/draw/MenuColorType.java
index ba2b0b42..27027073 100644
--- a/src/main/java/rip/athena/client/gui/framework/draw/MenuColorType.java
+++ b/src/main/java/rip/athena/client/gui/framework/draw/MenuColorType.java
@@ -4,6 +4,12 @@ import java.awt.*;
import java.util.HashMap;
import java.util.Map;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class MenuColorType {
Map colors;
diff --git a/src/main/java/rip/athena/client/gui/hud/Category.java b/src/main/java/rip/athena/client/gui/hud/Category.java
deleted file mode 100644
index 84e9f7c9..00000000
--- a/src/main/java/rip/athena/client/gui/hud/Category.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package rip.athena.client.gui.hud;
-
-public enum Category {
- MODS("MODS"), MACROS("MACROS"), WAYPOINTS("WAYPOINTS"), PROFILES("PROFILES"), COSMETICS("COSMETICS"), FPS("FPS"), GROUPS("GROUPS");
-
- private String name;
-
- Category(String name) {
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-}
diff --git a/src/main/java/rip/athena/client/gui/hud/HUDEditor.java b/src/main/java/rip/athena/client/gui/hud/HUDEditor.java
new file mode 100644
index 00000000..c8654cdb
--- /dev/null
+++ b/src/main/java/rip/athena/client/gui/hud/HUDEditor.java
@@ -0,0 +1,372 @@
+package rip.athena.client.gui.hud;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.ScaledResolution;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.input.Mouse;
+import rip.athena.client.Athena;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.framework.MinecraftMenuImpl;
+import rip.athena.client.gui.framework.draw.DrawImpl;
+import rip.athena.client.modules.Module;
+import rip.athena.client.modules.impl.other.Settings;
+import rip.athena.client.modules.impl.render.GUIMod;
+import rip.athena.client.utils.render.AssetUtils;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
+import java.io.IOException;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public class HUDEditor extends MinecraftMenuImpl implements DrawImpl {
+ private final static rip.athena.client.gui.framework.Menu menu = new rip.athena.client.gui.framework.Menu("", Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight);
+ private final static ResourceLocation SETTINGS = AssetUtils.getResource("/gui/settings.png");
+
+ private final static int HELPER = new Color(200, 200, 200, 150).getRGB();
+
+ private final static int BACKGROUND = new Color(200, 200, 200, 100).getRGB();
+ private final static int BORDER = new Color(40, 40, 40, 200).getRGB();
+ private final static int RESIZE = new Color(50, 50, 50, 200).getRGB();
+ private final static int TEXT_COLOR = new Color(255, 255, 255, 255).getRGB();
+
+ private final static int BACKGROUND_HIDDEN = new Color(200, 0, 0, 50).getRGB();
+ private final static int BORDER_HIDDEN = new Color(225, 0, 0, 100).getRGB();
+
+ private final static int HOVER_TEXT = new Color(200, 200, 200, 255).getRGB();
+ private final static int HOVER_BACKGROUND = new Color(75, 75, 75, 255).getRGB();
+ private final static int HOVER_BORDER = new Color(0, 0, 0, 255).getRGB();
+
+ private final static int SCALE = 2;
+ private final static int HELPER_THICKNESS = 2;
+ private final static int RESIZE_SIZE = 10;
+ private final static int SETTINGS_SIZE = 16;
+ private final static int SNAP_SENS = 3;
+
+ private HUDElement selected;
+ private boolean resizing;
+ private boolean moving;
+ private boolean mouseDown;
+ private boolean mouseDownCache;
+ private boolean rightMouseDown;
+ private boolean mouseDownRightCache;
+ private int cachedX;
+ private int cachedY;
+ private double originalScale;
+
+ public HUDEditor(Module feature) {
+ super(feature, menu);
+ }
+
+ @Override
+ public void initGui() {
+ menu.setLocation(0, 0);
+ menu.setWidth(mc.displayWidth);
+ menu.setHeight(mc.displayHeight);
+
+ super.initGui();
+ }
+
+ @Override
+ protected void mouseClicked(int mX, int mY, int mouseButton) throws IOException {
+ if(mouseButton == 0) {
+ mouseDown = true;
+ } else if(mouseButton == 1) {
+ rightMouseDown = true;
+ }
+
+ super.mouseClicked(mX, mY, mouseButton);
+ }
+
+ @Override
+ public void drawScreen(int mX, int mY, float partialTicks) {
+ GlStateManager.pushMatrix();
+ float value = guiScale / new ScaledResolution(mc).getScaleFactor();
+ GlStateManager.scale(value, value, value);
+
+ DrawImpl.drawRect(menu.getX() + menu.getWidth() / 2 - HELPER_THICKNESS / 2, 0, HELPER_THICKNESS, menu.getHeight(), HELPER);
+ DrawImpl.drawRect(0, menu.getHeight() / 2 - HELPER_THICKNESS / 2, menu.getWidth(), HELPER_THICKNESS, HELPER);
+
+ String line1 = "Left click to control components.".toUpperCase();
+ String line2 = "Right click a component to toggle visibility.".toUpperCase();
+ int line1Width = getStringWidth(line1);
+ int line2Width = getStringWidth(line2);
+ int line1Height = getStringHeight(line1);
+ int line2Height = getStringHeight(line2);
+
+ int boxWidth = Math.max(line1Width, line2Width) + 20;
+ int boxHeight = line1Height + line2Height + 4;
+
+ int heightOffset = 10;
+
+ int boxX = menu.getX() + menu.getWidth() / 2 - boxWidth / 2;
+ int boxY = heightOffset;
+
+ drawHorizontalLine(boxX, boxY, boxWidth + 1, 1, HOVER_BORDER);
+ drawVerticalLine(boxX, boxY + 1, boxHeight - 1, 1, HOVER_BORDER);
+ drawHorizontalLine(boxX, boxY + boxHeight, boxWidth + 1, 1, HOVER_BORDER);
+ drawVerticalLine(boxX + boxWidth, boxY + 1, boxHeight - 1, 1, HOVER_BORDER);
+
+ DrawImpl.drawRect(boxX + 1, boxY + 1, boxWidth - 1, boxHeight - 1, HOVER_BACKGROUND);
+
+ drawText(line1, boxX + boxWidth / 2 - line1Width / 2, boxY + 2, HOVER_TEXT);
+ drawText(line2, boxX + boxWidth / 2 - line2Width / 2, boxY + line1Height + 2, HOVER_TEXT);
+
+ int mouseX = Math.round((float)mX / value);
+ int mouseY = Math.round((float)mY / value);
+
+
+ if(selected != null || !mouseDownCache) {
+ for(HUDElement element : Athena.INSTANCE.getHudManager().getElements()) {
+ if(!element.getParent().isToggled()) {
+ continue;
+ }
+
+ int x = Math.round(element.getX() * SCALE);
+ int y = Math.round(element.getY() * SCALE);
+ int width = Math.round(element.getWidth() * SCALE * (float)(element.getScale()));
+ int height = Math.round(element.getHeight() * SCALE * (float)(element.getScale()));
+
+ int border = element.isVisible() ? BORDER : BORDER_HIDDEN;
+ int background = element.isVisible() ? BACKGROUND : BACKGROUND_HIDDEN;
+
+ drawText("X", x + 1, y + height - 10, TEXT_COLOR);
+
+ drawHorizontalLine(x, y, width + 1, 1, border);
+ drawVerticalLine(x, y + 1, height - 1, 1, border);
+ drawHorizontalLine(x, y + height, width + 1, 1, border);
+ drawVerticalLine(x + width, y + 1, height - 1, 1, border);
+
+ DrawImpl.drawRect(x, y, width, height, background);
+
+ boolean b = mouseX < x || mouseX > x + width || mouseY < y || mouseY > y + height;
+
+ if(b) {
+ if(selected != element) {
+ continue;
+ }
+ }
+
+ if(selected != null && (selected != element)) {
+ continue;
+ }
+
+ if(height > SETTINGS_SIZE) {
+ //drawImage(SETTINGS, x + 1, y + height - SETTINGS_SIZE, SETTINGS_SIZE, SETTINGS_SIZE);
+ }
+
+ int resizeSize = RESIZE_SIZE;
+ if(height < 10) {
+ resizeSize = height - 1;
+ }
+
+ drawBottomRect(x + width - resizeSize, y + height - resizeSize, resizeSize, resizeSize, RESIZE);
+
+ double dScale = element.getScale() * 100;
+
+ String scale = ((Math.round(dScale) / 100F) + "x").replace(".0x", "x");
+ String text = element.getParent().getName().toUpperCase() + "(" + scale + ")";
+
+ int tHeight = Math.round(getStringHeight(text) * SCALE);
+ int tWidth = Math.round(getStringWidth(text) * SCALE);
+ int tX = x + width / 2 - getStringWidth(text) / 2;
+ int tY = y;
+
+ if(tY - tHeight >= 0) {
+ tY -= tHeight - 5;
+ } else if(tY + height + tHeight < menu.getHeight()) {
+ tY += height + 5;
+ }
+
+ drawText(text, tX, tY, TEXT_COLOR);
+
+ for(HUDElement e : Athena.INSTANCE.getHudManager().getElements()) {
+ if(!e.getParent().isToggled()) {
+ continue;
+ }
+
+ if(e == element) {
+ continue;
+ }
+
+ int sX = Math.round(e.getX() * SCALE);
+ int sY = Math.round(e.getY() * SCALE);
+ int sWidth = Math.round(e.getWidth() * SCALE * (float)(e.getScale()));
+ int sHeight = Math.round(e.getHeight() * SCALE * (float)(e.getScale()));
+
+ if(moving) {
+ if(Math.abs(sX - x) <= SNAP_SENS || Math.abs(sX - (x + width)) <= SNAP_SENS) {
+ DrawImpl.drawRect(sX - HELPER_THICKNESS / 2, 0, HELPER_THICKNESS, menu.getHeight(), HELPER);
+ } else if(Math.abs(x - (sX + sWidth)) <= SNAP_SENS || Math.abs((sX + sWidth) - (x + width)) <= SNAP_SENS) {
+ DrawImpl.drawRect(sX + sWidth - HELPER_THICKNESS / 2, 0, HELPER_THICKNESS, menu.getHeight(), HELPER);
+ }
+
+ if(sY == y || Math.abs(sY - (y + height)) <= SNAP_SENS) {
+ DrawImpl.drawRect(0, sY - HELPER_THICKNESS / 2, menu.getWidth(), HELPER_THICKNESS, HELPER);
+ } else if(Math.abs(y - (sY + sHeight)) <= SNAP_SENS || Math.abs((sY + sHeight) - (y + height)) <= SNAP_SENS) {
+ DrawImpl.drawRect(0, sY + sHeight - HELPER_THICKNESS / 2, menu.getWidth(), HELPER_THICKNESS, HELPER);
+ }
+ }
+ }
+
+ if(rightMouseDown && !mouseDownRightCache) {
+ element.setVisible(!element.isVisible());
+ } else if(mouseDown && !mouseDownCache) {
+ selected = element;
+
+ if (mouseX < x + SETTINGS_SIZE && mouseY > y + height - SETTINGS_SIZE) {
+ if (height > SETTINGS_SIZE) {
+ GUIMod gui = (GUIMod) Athena.INSTANCE.getModuleManager().get(GUIMod.class);
+ gui.menuImpl.openSettings(element.getParent());
+ gui.setEnabled(true);
+ }
+
+
+ } else if(mouseX > x + width - RESIZE_SIZE && mouseY > y + height - RESIZE_SIZE) {
+ cachedX = mouseX / SCALE;
+ cachedY = mouseY / SCALE;
+ originalScale = selected.getScale();
+
+ resizing = true;
+ } else {
+ cachedX = (selected.getX() - mouseX / SCALE);
+ cachedY = (selected.getY() - mouseY / SCALE);
+
+ moving = true;
+ }
+ }
+ }
+ }
+
+ GlStateManager.popMatrix();
+
+ super.drawScreen(mouseX, mouseY, partialTicks);
+
+ mouseDownCache = mouseDown;
+ mouseDownRightCache = rightMouseDown;
+
+ if(mouseDown) {
+ mouseDown = Mouse.isButtonDown(0);
+ }
+
+ if(rightMouseDown) {
+ rightMouseDown = Mouse.isButtonDown(1);
+ }
+
+
+ if(mouseDown) {
+ if(selected != null) {
+ if(resizing) {
+ int xDelta = mouseX / SCALE - cachedX;
+ int yDelta = mouseY / SCALE - cachedY;
+
+ double maxDelta = 1 + Math.max(xDelta, yDelta) / 30D;
+ double delta = maxDelta * originalScale;
+
+ if(delta > 3) {
+ delta = 3;
+ } else if(delta < 0.5) {
+ delta = 0.5;
+ }
+
+ selected.setScale(delta);
+ } else if(moving) {
+ int xDelta = mouseX / SCALE + cachedX;
+ int yDelta = mouseY / SCALE + cachedY;
+
+ int x = xDelta;
+ int y = yDelta;
+ int width = Math.round(selected.getWidth() * (float)(selected.getScale()));
+ int height = Math.round(selected.getHeight() * (float)(selected.getScale()));
+
+ for(HUDElement e : Athena.INSTANCE.getHudManager().getElements()) {
+ if(!e.getParent().isToggled()) {
+ continue;
+ }
+
+ if(e == selected) {
+ continue;
+ }
+
+ int sX = Math.round(e.getX());
+ int sY = Math.round(e.getY());
+ int sWidth = Math.round(e.getWidth() * (float)(e.getScale()));
+ int sHeight = Math.round(e.getHeight() * (float)(e.getScale()));
+
+ if(Math.abs(sX - x) <= SNAP_SENS) {
+ xDelta = sX;
+ } else if(Math.abs(sX - (x + width)) <= SNAP_SENS) {
+ xDelta = sX - width;
+ } else if(Math.abs(x - (sX + sWidth)) <= SNAP_SENS) {
+ xDelta = sX + sWidth;
+ } else if(Math.abs((sX + sWidth) - (x + width)) <= SNAP_SENS) {
+ xDelta = sX + sWidth - width;
+ }
+
+ if(Math.abs(sY - y) <= SNAP_SENS) {
+ yDelta = sY;
+ } else if(Math.abs(sY - (y + height)) <= SNAP_SENS) {
+ yDelta = sY - height;
+ } else if(Math.abs(y - (sY + sHeight)) <= SNAP_SENS) {
+ yDelta = sY + sHeight;
+ } else if(Math.abs((sY + sHeight) - (y + height)) <= SNAP_SENS) {
+ yDelta = sY + sHeight - height;
+ }
+ }
+
+ if(xDelta < 0) {
+ xDelta = 0;
+ } else if(xDelta + selected.getWidth() * selected.getScale() > menu.getWidth() / SCALE) {
+ xDelta = Math.round(menu.getWidth() / SCALE - selected.getWidth() * (float)selected.getScale());
+ }
+
+ if(yDelta < 0) {
+ yDelta = 0;
+ } else if(yDelta + selected.getHeight() * selected.getScale() > menu.getHeight() / SCALE) {
+ yDelta = Math.round(menu.getHeight() / SCALE - selected.getHeight() * (float)selected.getScale());
+ }
+
+ selected.setX(xDelta);
+ selected.setY(yDelta);
+ }
+ }
+ } else {
+ selected = null;
+ resizing = false;
+ moving = false;
+ }
+ }
+
+ @Override
+ public void drawText(String text, int x, int y, int color) {
+ FontManager.baloo17.drawString(text, x, y, color);
+ }
+
+ @Override
+ public int getStringWidth(String string) {
+ return (int) FontManager.baloo17.getStringWidth(string);
+ }
+
+ @Override
+ public int getStringHeight(String string) {
+ return (int) FontManager.baloo17.getHeight(string);
+ }
+
+ @Override
+ public void onGuiClosed() {
+ super.onGuiClosed();
+
+ /*new Thread(() -> {
+ Config config = Athena.INSTANCE.configManager.getLoadedConfig();
+
+ if(config != null) {
+ config.save();
+ }
+ }).start();*/
+ }
+}
diff --git a/src/main/java/rip/athena/client/gui/hud/HUDElement.java b/src/main/java/rip/athena/client/gui/hud/HUDElement.java
new file mode 100644
index 00000000..fbea23f2
--- /dev/null
+++ b/src/main/java/rip/athena/client/gui/hud/HUDElement.java
@@ -0,0 +1,92 @@
+package rip.athena.client.gui.hud;
+
+import rip.athena.client.modules.Module;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public abstract class HUDElement implements IHUD {
+ private Module parent;
+ private String identifier;
+ private int x;
+ private int y;
+ private int width;
+ private int height;
+ private double scale;
+ private boolean visible;
+
+ public HUDElement(String identifier, int width, int height) {
+ this.identifier = identifier;
+ this.width = width;
+ this.height = height;
+ this.scale = 1;
+ this.visible = true;
+ }
+
+ public Module getParent() {
+ return parent;
+ }
+
+ public void setParent(Module parent) {
+ this.parent = parent;
+ }
+
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ public void setIdentifier(String identifier) {
+ this.identifier = identifier;
+ }
+
+ public int getX() {
+ return x;
+ }
+
+ public void setX(int x) {
+ this.x = x;
+ }
+
+ public int getY() {
+ return y;
+ }
+
+ public void setY(int y) {
+ this.y = y;
+ }
+
+ public int getWidth() {
+ return width;
+ }
+
+ public void setWidth(int width) {
+ this.width = width;
+ }
+
+ public int getHeight() {
+ return height;
+ }
+
+ public void setHeight(int height) {
+ this.height = height;
+ }
+
+ public double getScale() {
+ return scale;
+ }
+
+ public void setScale(double scale) {
+ this.scale = scale;
+ }
+
+ public boolean isVisible() {
+ return visible;
+ }
+
+ public void setVisible(boolean visible) {
+ this.visible = visible;
+ }
+}
diff --git a/src/main/java/rip/athena/client/gui/hud/HUDManager.java b/src/main/java/rip/athena/client/gui/hud/HUDManager.java
new file mode 100644
index 00000000..5c2a0054
--- /dev/null
+++ b/src/main/java/rip/athena/client/gui/hud/HUDManager.java
@@ -0,0 +1,65 @@
+package rip.athena.client.gui.hud;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.ScaledResolution;
+import net.minecraft.client.renderer.GlStateManager;
+import rip.athena.client.Athena;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.render.RenderEvent;
+import rip.athena.client.events.types.render.RenderType;
+import rip.athena.client.modules.Module;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public class HUDManager {
+ private List elements;
+
+ public HUDManager() {
+ elements = new ArrayList<>();
+
+ for(Module mod : Athena.INSTANCE.getModuleManager().getModules()) {
+ elements.addAll(mod.getHUDElements());
+ }
+ }
+
+ @SubscribeEvent
+ public void onRender(RenderEvent event) {
+ if(event.getRenderType() != RenderType.INGAME_OVERLAY) {
+ return;
+ }
+
+ GlStateManager.pushMatrix();
+ float value = 2F / new ScaledResolution(Minecraft.getMinecraft()).getScaleFactor();
+ GlStateManager.scale(value, value, value);
+
+ for(HUDElement element : elements) {
+ if(!element.isVisible()) {
+ continue;
+ }
+
+ if(element.getParent().isToggled()) {
+ GlStateManager.pushMatrix();
+ GlStateManager.translate(element.getX(), element.getY(), 0);
+ GlStateManager.scale(element.getScale(), element.getScale(), element.getScale());
+ GlStateManager.translate(-element.getX(), -element.getY(), 0);
+
+ element.onRender();
+
+ GlStateManager.popMatrix();
+ }
+ }
+
+ GlStateManager.popMatrix();
+ }
+
+ public List getElements() {
+ return elements;
+ }
+}
diff --git a/src/main/java/rip/athena/client/gui/hud/IHUD.java b/src/main/java/rip/athena/client/gui/hud/IHUD.java
new file mode 100644
index 00000000..f83f1c32
--- /dev/null
+++ b/src/main/java/rip/athena/client/gui/hud/IHUD.java
@@ -0,0 +1,11 @@
+package rip.athena.client.gui.hud;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public interface IHUD {
+ void onRender();
+}
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/fps/BlacklistType.java b/src/main/java/rip/athena/client/gui/hud/pages/fps/BlacklistType.java
deleted file mode 100644
index be5e4370..00000000
--- a/src/main/java/rip/athena/client/gui/hud/pages/fps/BlacklistType.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package rip.athena.client.gui.hud.pages.fps;
-
-public enum BlacklistType {
- ENTITY, TILE_ENTITY, BLOCK, PARTICLE;
-}
diff --git a/src/main/java/rip/athena/client/gui/hud/pages/fps/FPSSubTab.java b/src/main/java/rip/athena/client/gui/hud/pages/fps/FPSSubTab.java
deleted file mode 100644
index 7b6f46e4..00000000
--- a/src/main/java/rip/athena/client/gui/hud/pages/fps/FPSSubTab.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package rip.athena.client.gui.hud.pages.fps;
-
-public enum FPSSubTab {
- FPS, OPTIFINE, SETTINGS;
-}
diff --git a/src/main/java/rip/athena/client/gui/menu/AthenaMenu.java b/src/main/java/rip/athena/client/gui/menu/AthenaMenu.java
index 90871212..48bf0384 100644
--- a/src/main/java/rip/athena/client/gui/menu/AthenaMenu.java
+++ b/src/main/java/rip/athena/client/gui/menu/AthenaMenu.java
@@ -2,5 +2,548 @@ package rip.athena.client.gui.menu;
import net.minecraft.client.gui.GuiScreen;
-public class AthenaMenu extends GuiScreen {
-}
+import java.awt.Color;
+import java.awt.Desktop;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URI;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.commons.io.Charsets;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GLContext;
+import org.lwjgl.util.glu.Project;
+
+import com.google.common.collect.Lists;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.gui.GuiButtonLanguage;
+import net.minecraft.client.gui.GuiConfirmOpenLink;
+import net.minecraft.client.gui.GuiLanguage;
+import net.minecraft.client.gui.GuiMultiplayer;
+import net.minecraft.client.gui.GuiOptions;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.gui.GuiSelectWorld;
+import net.minecraft.client.gui.GuiYesNo;
+import net.minecraft.client.gui.GuiYesNoCallback;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.WorldRenderer;
+import net.minecraft.client.renderer.texture.DynamicTexture;
+import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.client.settings.GameSettings;
+import net.minecraft.realms.RealmsBridge;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.demo.DemoWorldServer;
+import net.minecraft.world.storage.ISaveFormat;
+import net.minecraft.world.storage.WorldInfo;
+import rip.athena.client.Athena;
+import rip.athena.client.utils.input.InputUtils;
+import rip.athena.client.utils.render.DrawUtils;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public class AthenaMenu extends GuiScreen implements GuiYesNoCallback
+{
+ private static final AtomicInteger field_175373_f = new AtomicInteger(0);
+ private static final Logger logger = LogManager.getLogger();
+ private static final Random RANDOM = new Random();
+ private float updateCounter;
+ private String splashText;
+ private GuiButton buttonResetDemo;
+ private int panoramaTimer;
+ private DynamicTexture viewportTexture;
+ private boolean field_175375_v = true;
+ private final Object threadLock = new Object();
+ private String openGLWarning1;
+ private String openGLWarning2;
+ private String openGLWarningLink;
+ private static final ResourceLocation splashTexts = new ResourceLocation("texts/splashes.txt");
+ private static final ResourceLocation minecraftTitleTextures = new ResourceLocation("textures/gui/title/minecraft.png");
+ private static final ResourceLocation[] titlePanoramaPaths = new ResourceLocation[] {new ResourceLocation("Athena/menu/panorama_0.png"), new ResourceLocation("Athena/menu/panorama_1.png"), new ResourceLocation("Athena/menu/panorama_2.png"), new ResourceLocation("Athena/menu/panorama_3.png"), new ResourceLocation("Athena/menu/panorama_4.png"), new ResourceLocation("Athena/menu/panorama_5.png")};
+ public static final String field_96138_a = "Please click " + EnumChatFormatting.UNDERLINE + "here" + EnumChatFormatting.RESET + " for more information.";
+ private int field_92024_r;
+ private int field_92023_s;
+ private int field_92022_t;
+ private int field_92021_u;
+ private int field_92020_v;
+ private int field_92019_w;
+ private ResourceLocation backgroundTexture;
+ private GuiButton realmsButton;
+ private boolean field_183502_L;
+ private GuiScreen field_183503_M;
+
+ public AthenaMenu()
+ {
+ this.openGLWarning2 = field_96138_a;
+ this.field_183502_L = false;
+ this.splashText = "missingno";
+ BufferedReader bufferedreader = null;
+
+ try
+ {
+ List list = Lists.newArrayList();
+ bufferedreader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(splashTexts).getInputStream(), Charsets.UTF_8));
+ String s;
+
+ while ((s = bufferedreader.readLine()) != null)
+ {
+ s = s.trim();
+
+ if (!s.isEmpty())
+ {
+ list.add(s);
+ }
+ }
+
+ if (!list.isEmpty())
+ {
+ while (true)
+ {
+ this.splashText = (String)list.get(RANDOM.nextInt(list.size()));
+
+ if (this.splashText.hashCode() != 125780783)
+ {
+ break;
+ }
+ }
+ }
+ }
+ catch (IOException var12)
+ {
+ ;
+ }
+ finally
+ {
+ if (bufferedreader != null)
+ {
+ try
+ {
+ bufferedreader.close();
+ }
+ catch (IOException var11)
+ {
+ ;
+ }
+ }
+ }
+
+ this.updateCounter = RANDOM.nextFloat();
+ this.openGLWarning1 = "";
+
+ if (!GLContext.getCapabilities().OpenGL20 && !OpenGlHelper.areShadersSupported())
+ {
+ this.openGLWarning1 = I18n.format("title.oldgl1", new Object[0]);
+ this.openGLWarning2 = I18n.format("title.oldgl2", new Object[0]);
+ this.openGLWarningLink = "https://help.mojang.com/customer/portal/articles/325948?ref=game";
+ }
+
+ }
+
+ public void updateScreen()
+ {
+ ++this.panoramaTimer;
+
+ // Wrapper.getInstance().getGuiAccountManager().updateScreen();
+ }
+
+ public boolean doesGuiPauseGame()
+ {
+ return false;
+ }
+
+ protected void keyTyped(char typedChar, int keyCode) throws IOException
+ {
+ }
+
+ public void initGui()
+ {
+ this.viewportTexture = new DynamicTexture(256, 256);
+ this.backgroundTexture = this.mc.getTextureManager().getDynamicTextureLocation("background", this.viewportTexture);
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+
+ if (calendar.get(2) + 1 == 12 && calendar.get(5) == 24)
+ {
+ this.splashText = "Merry X-mas!";
+ }
+ else if (calendar.get(2) + 1 == 1 && calendar.get(5) == 1)
+ {
+ this.splashText = "Happy new year!";
+ }
+ else if (calendar.get(2) + 1 == 10 && calendar.get(5) == 31)
+ {
+ this.splashText = "OOoooOOOoooo! Spooky!";
+ }
+
+ int i = 24;
+ int j = this.height / 4 + 48;
+
+ if (this.mc.isDemo())
+ {
+ this.addDemoButtons(j, 24);
+ }
+ else
+ {
+ this.addSingleplayerMultiplayerButtons(j, 24);
+ }
+
+ this.buttonList.add(new GuiButton(0, this.width / 2 - 100, j + 72 + 12, 98, 20, I18n.format("menu.options", new Object[0])));
+ this.buttonList.add(new GuiButton(4, this.width / 2 + 2, j + 72 + 12, 98, 20, "Store"));
+
+ }
+
+ private void addSingleplayerMultiplayerButtons(int p_73969_1_, int p_73969_2_)
+ {
+ this.buttonList.add(new GuiButton(1, this.width / 2 - 100, p_73969_1_, I18n.format("menu.singleplayer", new Object[0])));
+ this.buttonList.add(new GuiButton(2, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.format("menu.multiplayer", new Object[0])));
+ this.buttonList.add(this.realmsButton = new GuiButton(14, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.format("menu.online", new Object[0]).replace("Minecraft", "").trim()));
+ }
+
+ private void addDemoButtons(int p_73972_1_, int p_73972_2_)
+ {
+ this.buttonList.add(new GuiButton(11, this.width / 2 - 100, p_73972_1_, I18n.format("menu.playdemo", new Object[0])));
+ this.buttonList.add(this.buttonResetDemo = new GuiButton(12, this.width / 2 - 100, p_73972_1_ + p_73972_2_ * 1, I18n.format("menu.resetdemo", new Object[0])));
+ ISaveFormat isaveformat = this.mc.getSaveLoader();
+ WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
+
+ if (worldinfo == null)
+ {
+ this.buttonResetDemo.enabled = false;
+ }
+ }
+
+ protected void actionPerformed(GuiButton button) throws IOException
+ {
+ if (button.id == 0)
+ {
+ this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
+ }
+
+ if (button.id == 5)
+ {
+ this.mc.displayGuiScreen(new GuiLanguage(this, this.mc.gameSettings, this.mc.getLanguageManager()));
+ }
+
+ if (button.id == 1)
+ {
+ this.mc.displayGuiScreen(new GuiSelectWorld(this));
+ }
+
+ if (button.id == 2)
+ {
+ this.mc.displayGuiScreen(new GuiMultiplayer(this));
+ }
+
+ if (button.id == 14 && this.realmsButton.visible)
+ {
+ this.switchToRealms();
+ }
+
+ if(button.id == 4) {
+ try {
+ if (Desktop.isDesktopSupported()) {
+ Desktop.getDesktop().browse(new URI("http://store.athena.rip"));
+ }
+ } catch (Exception e){}
+ }
+
+ if (button.id == 11)
+ {
+ this.mc.launchIntegratedServer("Demo_World", "Demo_World", DemoWorldServer.demoWorldSettings);
+ }
+
+ if (button.id == 12)
+ {
+ ISaveFormat isaveformat = this.mc.getSaveLoader();
+ WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
+
+ if (worldinfo != null)
+ {
+ GuiYesNo guiyesno = GuiSelectWorld.func_152129_a(this, worldinfo.getWorldName(), 12);
+ this.mc.displayGuiScreen(guiyesno);
+ }
+ }
+ }
+
+ private void switchToRealms()
+ {
+ RealmsBridge realmsbridge = new RealmsBridge();
+ realmsbridge.switchToRealms(this);
+ }
+
+ public void confirmClicked(boolean result, int id)
+ {
+ if (result && id == 12)
+ {
+ ISaveFormat isaveformat = this.mc.getSaveLoader();
+ isaveformat.flushCache();
+ isaveformat.deleteWorldDirectory("Demo_World");
+ this.mc.displayGuiScreen(this);
+ }
+ else if (id == 13)
+ {
+ if (result)
+ {
+ try
+ {
+ Class> oclass = Class.forName("java.awt.Desktop");
+ Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
+ oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI(this.openGLWarningLink)});
+ }
+ catch (Throwable throwable)
+ {
+ logger.error("Couldn\'t open link", throwable);
+ }
+ }
+
+ this.mc.displayGuiScreen(this);
+ }
+ }
+
+ private void drawPanorama(int p_73970_1_, int p_73970_2_, float p_73970_3_)
+ {
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldrenderer = tessellator.getWorldRenderer();
+ GlStateManager.matrixMode(5889);
+ GlStateManager.pushMatrix();
+ GlStateManager.loadIdentity();
+ Project.gluPerspective(120.0F, 1.0F, 0.05F, 10.0F);
+ GlStateManager.matrixMode(5888);
+ GlStateManager.pushMatrix();
+ GlStateManager.loadIdentity();
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F);
+ GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F);
+ GlStateManager.enableBlend();
+ GlStateManager.disableAlpha();
+ GlStateManager.disableCull();
+ GlStateManager.depthMask(false);
+ GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
+ int i = 8;
+
+ for (int j = 0; j < i * i; ++j)
+ {
+ GlStateManager.pushMatrix();
+ float f = ((float)(j % i) / (float)i - 0.5F) / 64.0F;
+ float f1 = ((float)(j / i) / (float)i - 0.5F) / 64.0F;
+ float f2 = 0.0F;
+ GlStateManager.translate(f, f1, f2);
+ GlStateManager.rotate(MathHelper.sin(((float)this.panoramaTimer + p_73970_3_) / 400.0F) * 25.0F + 20.0F, 1.0F, 0.0F, 0.0F);
+ GlStateManager.rotate(-((float)this.panoramaTimer + p_73970_3_) * 0.1F, 0.0F, 1.0F, 0.0F);
+
+ for (int k = 0; k < 6; ++k)
+ {
+ GlStateManager.pushMatrix();
+
+ if (k == 1)
+ {
+ GlStateManager.rotate(90.0F, 0.0F, 1.0F, 0.0F);
+ }
+
+ if (k == 2)
+ {
+ GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F);
+ }
+
+ if (k == 3)
+ {
+ GlStateManager.rotate(-90.0F, 0.0F, 1.0F, 0.0F);
+ }
+
+ if (k == 4)
+ {
+ GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
+ }
+
+ if (k == 5)
+ {
+ GlStateManager.rotate(-90.0F, 1.0F, 0.0F, 0.0F);
+ }
+
+ this.mc.getTextureManager().bindTexture(titlePanoramaPaths[k]);
+ worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
+ int l = 255 / (j + 1);
+ float f3 = 0.0F;
+ worldrenderer.pos(-1.0D, -1.0D, 1.0D).tex(0.0D, 0.0D).color(255, 255, 255, l).endVertex();
+ worldrenderer.pos(1.0D, -1.0D, 1.0D).tex(1.0D, 0.0D).color(255, 255, 255, l).endVertex();
+ worldrenderer.pos(1.0D, 1.0D, 1.0D).tex(1.0D, 1.0D).color(255, 255, 255, l).endVertex();
+ worldrenderer.pos(-1.0D, 1.0D, 1.0D).tex(0.0D, 1.0D).color(255, 255, 255, l).endVertex();
+ tessellator.draw();
+ GlStateManager.popMatrix();
+ }
+
+ GlStateManager.popMatrix();
+ GlStateManager.colorMask(true, true, true, false);
+ }
+
+ worldrenderer.setTranslation(0.0D, 0.0D, 0.0D);
+ GlStateManager.colorMask(true, true, true, true);
+ GlStateManager.matrixMode(5889);
+ GlStateManager.popMatrix();
+ GlStateManager.matrixMode(5888);
+ GlStateManager.popMatrix();
+ GlStateManager.depthMask(true);
+ GlStateManager.enableCull();
+ GlStateManager.enableDepth();
+ }
+
+ private void rotateAndBlurSkybox(float p_73968_1_)
+ {
+ this.mc.getTextureManager().bindTexture(this.backgroundTexture);
+ GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
+ GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
+ GL11.glCopyTexSubImage2D(GL11.GL_TEXTURE_2D, 0, 0, 0, 0, 0, 256, 256);
+ GlStateManager.enableBlend();
+ GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
+ GlStateManager.colorMask(true, true, true, false);
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldrenderer = tessellator.getWorldRenderer();
+ worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
+ GlStateManager.disableAlpha();
+ int i = 3;
+
+ for (int j = 0; j < i; ++j)
+ {
+ float f = 1.0F / (float)(j + 1);
+ int k = this.width;
+ int l = this.height;
+ float f1 = (float)(j - i / 2) / 256.0F;
+
+ worldrenderer.pos((double)k, (double)l, (double)this.zLevel).tex((double)(0.0F + f1), 1.0D).color(1.0F, 1.0F, 1.0F, f).endVertex();
+ worldrenderer.pos((double)k, 0.0D, (double)this.zLevel).tex((double)(1.0F + f1), 1.0D).color(1.0F, 1.0F, 1.0F, f).endVertex();
+ worldrenderer.pos(0.0D, 0.0D, (double)this.zLevel).tex((double)(1.0F + f1), 0.0D).color(1.0F, 1.0F, 1.0F, f).endVertex();
+ worldrenderer.pos(0.0D, (double)l, (double)this.zLevel).tex((double)(0.0F + f1), 0.0D).color(1.0F, 1.0F, 1.0F, f).endVertex();
+ }
+
+ tessellator.draw();
+ GlStateManager.enableAlpha();
+ GlStateManager.colorMask(true, true, true, true);
+ }
+
+ public void renderSkybox(int p_73971_1_, int p_73971_2_, float p_73971_3_)
+ {
+ this.mc.getFramebuffer().unbindFramebuffer();
+ GlStateManager.viewport(0, 0, 256, 256);
+ this.drawPanorama(p_73971_1_, p_73971_2_, p_73971_3_);
+ this.rotateAndBlurSkybox(p_73971_3_);
+ this.rotateAndBlurSkybox(p_73971_3_);
+ this.rotateAndBlurSkybox(p_73971_3_);
+ this.rotateAndBlurSkybox(p_73971_3_);
+ this.rotateAndBlurSkybox(p_73971_3_);
+ this.rotateAndBlurSkybox(p_73971_3_);
+ this.rotateAndBlurSkybox(p_73971_3_);
+ this.mc.getFramebuffer().bindFramebuffer(true);
+ GlStateManager.viewport(0, 0, this.mc.displayWidth, this.mc.displayHeight);
+ float f = this.width > this.height ? 120.0F / (float)this.width : 120.0F / (float)this.height;
+ float f1 = (float)this.height * f / 256.0F;
+ float f2 = (float)this.width * f / 256.0F;
+ int i = this.width;
+ int j = this.height;
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldrenderer = tessellator.getWorldRenderer();
+ worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
+ worldrenderer.pos(0.0D, (double)j, (double)this.zLevel).tex((double)(0.5F - f1), (double)(0.5F + f2)).color(1.0F, 1.0F, 1.0F, 1.0F).endVertex();
+ worldrenderer.pos((double)i, (double)j, (double)this.zLevel).tex((double)(0.5F - f1), (double)(0.5F - f2)).color(1.0F, 1.0F, 1.0F, 1.0F).endVertex();
+ worldrenderer.pos((double)i, 0.0D, (double)this.zLevel).tex((double)(0.5F + f1), (double)(0.5F - f2)).color(1.0F, 1.0F, 1.0F, 1.0F).endVertex();
+ worldrenderer.pos(0.0D, 0.0D, (double)this.zLevel).tex((double)(0.5F + f1), (double)(0.5F + f2)).color(1.0F, 1.0F, 1.0F, 1.0F).endVertex();
+ tessellator.draw();
+ }
+
+ public void drawScreen(int mouseX, int mouseY, float partialTicks)
+ {
+ GlStateManager.disableAlpha();
+ this.renderSkybox(mouseX, mouseY, partialTicks);
+ GlStateManager.enableAlpha();
+
+ this.drawGradientRect(0, 0, this.width, this.height, -2130706433, 16777215);
+ this.drawGradientRect(0, 0, this.width, this.height, 0, Integer.MIN_VALUE);
+
+ String s = "Athena Client v" + Athena.INSTANCE.getClientVersion();
+
+ this.drawString(this.fontRendererObj, s, 2, this.height - 10, -1);
+
+ int[] size = InputUtils.getWindowsSize();
+ int startX = size[0] / 2;
+ int startY = size[1] / 2;
+
+ int x = startX - 75;
+ int y = this.height / 4 - 49;
+ int width = 150;
+ int height = 100;
+
+ GlStateManager.pushMatrix();
+ boolean isOverAccountManager = mouseX >= startX+startX-50 && mouseX <= startX+startX-30 && mouseY >= startY - startY + 5 && mouseY <= startY - startY + 25;
+ DrawUtils.drawRoundedRect(startX+startX - 50, startY - startY + 5, startX+startX - 30, startY - startY + 25, 4, isOverAccountManager ? new Color(200,200,200,100).getRGB() : new Color(100,100,100,100).getRGB());
+ DrawUtils.drawRoundedRect(startX+startX - 50 + 1, startY - startY + 5 + 1, startX+startX - 30 - 1, startY - startY + 25 - 1, 3, new Color(22, 24, 27,80).getRGB());
+
+ boolean isOverExit = mouseX >= startX+startX-25 && mouseX <= startX+startX - 5 && mouseY >= startY - startY + 5 && mouseY <= startY - startY + 25;
+ DrawUtils.drawRoundedRect(startX+startX - 25, startY - startY + 5, startX+startX - 5, startY - startY + 25, 4, isOverExit ? new Color(200,200,200,100).getRGB() : new Color(100,100,100,100).getRGB());
+ DrawUtils.drawRoundedRect(startX+startX - 25 + 1, startY - startY + 5 + 1, startX+startX - 5 - 1, startY - startY + 25 - 1, 3, new Color(22, 24, 27,80).getRGB());
+ GlStateManager.popMatrix();
+
+
+ GlStateManager.pushMatrix();
+ DrawUtils.drawImage(new ResourceLocation("Athena/menu/exit.png"),startX + startX - 20, 10, 10, 10);
+ DrawUtils.drawImage(new ResourceLocation("Athena/menu/usericon.png"), startX + startX - 45, 10, 10, 10);
+ GlStateManager.popMatrix();
+
+ super.drawScreen(mouseX, mouseY, partialTicks);
+ }
+
+
+ protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException
+ {
+ super.mouseClicked(mouseX, mouseY, mouseButton);
+ int[] size = InputUtils.getWindowsSize();
+ int startX = size[0] / 2;
+ int startY = size[1] / 2;
+
+ boolean isOverExit = mouseX >= startX+startX-25 && mouseX <= startX+startX - 5 && mouseY >= startY - startY + 5 && mouseY <= startY - startY + 25;
+ boolean isOverAccountManager = mouseX >= startX+startX-50 && mouseX <= startX+startX-30 && mouseY >= startY - startY + 5 && mouseY <= startY - startY + 25;
+ boolean isOverReplay = mouseX >= startX+startX-75 && mouseX <= startX+startX-55 && mouseY >= startY - startY + 5 && mouseY <= startY - startY + 25;
+
+ if(isOverExit) {
+ this.mc.shutdown();
+ }
+
+ if(isOverAccountManager) {
+ //this.mc.displayGuiScreen(new GuiAccountManager());
+ }
+
+
+ synchronized (this.threadLock)
+ {
+ if (this.openGLWarning1.length() > 0 && mouseX >= this.field_92022_t && mouseX <= this.field_92020_v && mouseY >= this.field_92021_u && mouseY <= this.field_92019_w)
+ {
+ GuiConfirmOpenLink guiconfirmopenlink = new GuiConfirmOpenLink(this, this.openGLWarningLink, 13, true);
+ guiconfirmopenlink.disableSecurityWarning();
+ this.mc.displayGuiScreen(guiconfirmopenlink);
+ }
+ }
+ }
+
+ public void onGuiClosed()
+ {
+ if (this.field_183503_M != null)
+ {
+ this.field_183503_M.onGuiClosed();
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/rip/athena/client/modules/Module.java b/src/main/java/rip/athena/client/modules/Module.java
index ef087adc..bfb68f0d 100644
--- a/src/main/java/rip/athena/client/modules/Module.java
+++ b/src/main/java/rip/athena/client/modules/Module.java
@@ -8,6 +8,7 @@ import rip.athena.client.Athena;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.config.types.*;
+import rip.athena.client.gui.hud.HUDElement;
import rip.athena.client.utils.input.BindType;
import java.lang.annotation.Annotation;
@@ -38,6 +39,7 @@ public class Module {
private boolean toggled;
private List configEntries;
+ private List hudElements;
private int keyBind = Keyboard.CHAR_NONE;
private BindType bindType = BindType.TOGGLE;
@@ -53,6 +55,7 @@ public class Module {
this.category = category;
configEntries = new ArrayList<>();
+ hudElements = new ArrayList<>();
processFields();
}
@@ -212,6 +215,21 @@ public class Module {
return null;
}
+ public void addHUD(HUDElement element) {
+ element.setParent(this);
+ getHUDElements().add(element);
+ }
+
+ public void addHUDDirectly(HUDElement element) {
+ element.setParent(this);
+ Athena.INSTANCE.getHudManager().getElements().add(element);
+ }
+
+
+ public List getHUDElements() {
+ return hudElements;
+ }
+
/**
* Checks if the module is bound to a key.
*
diff --git a/src/main/java/rip/athena/client/modules/impl/mods/MotionBlur.java b/src/main/java/rip/athena/client/modules/impl/mods/MotionBlur.java
new file mode 100644
index 00000000..fa617de5
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/mods/MotionBlur.java
@@ -0,0 +1,137 @@
+package rip.athena.client.modules.impl.mods;
+
+import net.minecraft.client.resources.FallbackResourceManager;
+import net.minecraft.client.resources.IResource;
+import net.minecraft.client.resources.IResourceManager;
+import net.minecraft.client.resources.SimpleReloadableResourceManager;
+import net.minecraft.client.resources.data.IMetadataSection;
+import net.minecraft.client.resources.data.IMetadataSerializer;
+import net.minecraft.client.settings.GameSettings;
+import net.minecraft.util.ResourceLocation;
+import org.apache.commons.io.IOUtils;
+import rip.athena.client.Athena;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.client.ClientTickEvent;
+import rip.athena.client.events.types.input.KeyDownEvent;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.nio.charset.Charset;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
+import static net.minecraft.client.resources.SimpleReloadableResourceManager.domainResourceManagers;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class MotionBlur extends Module {
+
+ @ConfigValue.Double(name = "Blur Amount", min = 1.0, max = 10)
+ private double amount = 2.0D;
+
+ //private final Map domainResourceManagers = ((SimpleReloadableResourceManager) mc.getResourceManager()).domainResourceManagers;
+ private Field cachedFastRender;
+ private int ticks;
+
+ public MotionBlur() {
+ super("Motionblur", Category.RENDER);
+
+ try {
+ cachedFastRender = GameSettings.class.getDeclaredField("ofFastRender");
+ } catch (NoSuchFieldException | SecurityException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @SubscribeEvent
+ public void tick(ClientTickEvent event) {
+ if (!domainResourceManagers.containsKey("motionblur")) {
+ domainResourceManagers.put("motionblur", new MotionBlurResourceManager(mc.metadataSerializer_));
+ }
+
+ ++ticks;
+ if (ticks % 5000 == 0) {
+ if (isFastRenderEnabled()) {
+ if (mc.thePlayer != null && mc.theWorld != null) {
+ Athena.INSTANCE.getLog().warn("Fast render is not compatible with motion blur.");
+ }
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onKey(KeyDownEvent event) {
+ if (mc.thePlayer != null) {
+ mc.entityRenderer.loadShader(new ResourceLocation("motionblur", "motionblur"));
+ }
+ }
+
+ public boolean isFastRenderEnabled() {
+ try {
+ return cachedFastRender.getBoolean(mc.gameSettings);
+ } catch (Exception ignored) {
+ return false;
+ }
+ }
+
+ public class MotionBlurResourceManager extends FallbackResourceManager implements IResourceManager {
+ public MotionBlurResourceManager(IMetadataSerializer frmMetadataSerializerIn) {
+ super(frmMetadataSerializerIn);
+ }
+
+ @Override
+ public Set getResourceDomains() {
+ return null;
+ }
+
+ @Override
+ public IResource getResource(ResourceLocation location) {
+ return new MotionBlurResource();
+ }
+
+ @Override
+ public List getAllResources(ResourceLocation location) {
+ return null;
+ }
+ }
+
+ public class MotionBlurResource implements IResource {
+
+ private static final String JSON = "{\"targets\":[\"swap\",\"previous\"],\"passes\":[{\"name\":\"phosphor\",\"intarget\":\"minecraft:main\",\"outtarget\":\"swap\",\"auxtargets\":[{\"name\":\"PrevSampler\",\"id\":\"previous\"}],\"uniforms\":[{\"name\":\"Phosphor\",\"values\":[0.5, 0.5, 0.5]}]},{\"name\":\"blit\",\"intarget\":\"swap\",\"outtarget\":\"previous\"},{\"name\":\"blit\",\"intarget\":\"swap\",\"outtarget\":\"minecraft:main\"}]}";
+
+ @Override
+ public ResourceLocation getResourceLocation() {
+ return null;
+ }
+
+ @Override
+ public InputStream getInputStream() {
+ double amountX = 0.7 + amount / 100.0 * 3.0 - 0.01;
+ return IOUtils.toInputStream(String.format(Locale.ENGLISH, JSON, amountX, amountX, amountX),
+ Charset.defaultCharset());
+ }
+
+ @Override
+ public boolean hasMetadata() {
+ return false;
+ }
+
+ @Override
+ public T getMetadata(String p_110526_1_) {
+ return null;
+ }
+
+ @Override
+ public String getResourcePackName() {
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/rip/athena/client/modules/impl/mods/Zoom.java b/src/main/java/rip/athena/client/modules/impl/mods/Zoom.java
new file mode 100644
index 00000000..754c3dcd
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/mods/Zoom.java
@@ -0,0 +1,63 @@
+package rip.athena.client.modules.impl.mods;
+
+import optifine.Config;
+import org.lwjgl.input.Mouse;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.client.ClientTickEvent;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class Zoom extends Module {
+ @ConfigValue.Boolean(name = "Smooth Zoom")
+ public boolean smoothZoom = false;
+
+ @ConfigValue.Boolean(name = "Scroll Zoom")
+ public boolean scrollZoom = false;
+
+ @ConfigValue.Boolean(name = "Inverted")
+ private boolean inverted = false;
+
+ @ConfigValue.Float(name = "Zoom Factor", min = 0.1F, max = 10F)
+ private float zoomFactor = 1;
+
+ public float scrollAmount = 0;
+
+ public Zoom() {
+ super("Zoom", Category.MODS);
+ }
+
+ @SubscribeEvent
+ public void onTick(ClientTickEvent event) {
+ if (Config.zoomMode) {
+ if(scrollZoom) {
+ while (Mouse.next()) {
+ if (Mouse.getEventDWheel() != 0.0) {
+ float scroll = Mouse.getEventDWheel();
+ if (this.inverted) {
+ if (scroll > 0.0) {
+ scrollAmount += (1 * zoomFactor);
+ } else {
+ scrollAmount -= (1 * zoomFactor);
+ }
+ } else {
+ if (scroll > 0.0) {
+ scrollAmount -= (1 * zoomFactor);
+ } else {
+ scrollAmount += (1 * zoomFactor);
+ }
+ }
+ }
+ }
+ } else {
+ scrollAmount = 10 - (zoomFactor * 1);
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/other/Settings.java b/src/main/java/rip/athena/client/modules/impl/other/Settings.java
new file mode 100644
index 00000000..c1db4f79
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/other/Settings.java
@@ -0,0 +1,32 @@
+package rip.athena.client.modules.impl.other;
+
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+
+public class Settings extends Module {
+
+ @ConfigValue.Boolean(name = "F5 Nametags", description = "Shows your own nametags in f5 mode")
+ public boolean F5Nametags = true;
+
+ @ConfigValue.Boolean(name = "Show Logo On Tab")
+ public boolean showLogoOnTab = true;
+
+ @ConfigValue.Boolean(name = "Custom GUI Font")
+ public static boolean customGuiFont = true;
+
+ public Settings() {
+ super("General Settings", Category.HIDDEN);
+ }
+
+
+ @Override
+ public void onEnable() {
+ super.onEnable();
+ }
+
+ @Override
+ public void onDisable() {
+ super.onDisable();
+ }
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/render/CPS.java b/src/main/java/rip/athena/client/modules/impl/render/CPS.java
new file mode 100644
index 00000000..023e589e
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/CPS.java
@@ -0,0 +1,130 @@
+package rip.athena.client.modules.impl.render;
+
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.input.MouseDownEvent;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.hud.HUDElement;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+import rip.athena.client.utils.ClickCounter;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class CPS extends Module {
+
+ private final ClickCounter leftClickCounter = new ClickCounter();
+ private final ClickCounter rightClickCounter = new ClickCounter();
+
+ @ConfigValue.Boolean(name = "Right Click Counter")
+ private boolean rightClick = false;
+
+ @ConfigValue.Color(name = "Color")
+ private Color color = Color.WHITE;
+
+ @ConfigValue.Boolean(name = "Background")
+ private boolean backGround = true;
+
+ @ConfigValue.Color(name = "Background Color")
+ private Color background = new Color(0, 0, 0, 150);
+
+ @ConfigValue.Boolean(name = "Custom Font")
+ private boolean customFont = false;
+
+ @ConfigValue.Boolean(name = "Static Chroma")
+ private boolean isUsingStaticChroma = false;
+
+ @ConfigValue.Boolean(name = "Wave Chroma")
+ private boolean isUsingWaveChroma = false;
+
+ private HUDElement hud;
+
+ private int width = 56;
+ private int height = 18;
+
+ public CPS() {
+ super("CPS", Category.RENDER);
+
+ hud = new HUDElement("cps", width, height) {
+ @Override
+ public void onRender() { render(); }
+ };
+
+ hud.setX(1);
+ hud.setY(175);
+
+ addHUD(hud);
+ }
+
+
+ public void render() {
+ if (mc.gameSettings.showDebugInfo) {
+ return;
+ }
+
+ GL11.glPushMatrix();
+
+ String string = leftClickCounter.getCps() + (rightClick ? " | " + this.rightClickCounter.getCps() : "") + " CPS";
+ int width = hud.getWidth();
+ int height = hud.getHeight();
+
+ if(backGround) {
+ DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB());
+ }
+
+ float posY = hud.getY() + 2;
+ float posX = hud.getX() + 9;
+
+ if(customFont) {
+ hud.setWidth((int) FontManager.baloo17.getStringWidth(string) + 16);
+ hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7);
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY + 1, true, true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY + 1, false, true);
+ } else {
+ FontManager.baloo17.drawString(string,(int) (posX), (int)posY + 1, color.getRGB());
+ }
+ } else {
+ hud.setWidth(mc.fontRendererObj.getStringWidth(string) + 16);
+ hud.setHeight(mc.fontRendererObj.FONT_HEIGHT + 9);
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawChromaString(string, posX, posY + 3, true ,true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawChromaString(string, posX, posY + 3, false ,true);
+ } else {
+ mc.fontRendererObj.drawStringWithShadow(string, (float) (posX), (float) posY+ 3, color.getRGB());
+ }
+ }
+ GL11.glColor3f(1, 1, 1);
+ GL11.glPopMatrix();
+ }
+
+ @SubscribeEvent
+ public void onClick(MouseDownEvent e) {
+ if(e.getButton() == 0) {
+ leftClickCounter.onClick();
+ } else if(e.getButton() == 1) {
+ rightClickCounter.onClick();
+ }
+ }
+
+ @Override
+ public void onEnable() {
+ super.onEnable();
+ }
+
+ @Override
+ public void onDisable() {
+ super.onDisable();
+ }
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/render/Clock.java b/src/main/java/rip/athena/client/modules/impl/render/Clock.java
new file mode 100644
index 00000000..87026535
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/Clock.java
@@ -0,0 +1,115 @@
+package rip.athena.client.modules.impl.render;
+
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.hud.HUDElement;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class Clock extends Module {
+ @ConfigValue.Color(name = "Color")
+ private Color color = Color.WHITE;
+
+ @ConfigValue.List(name = "Clock Format", values = {"yyyy/MM/dd HH:mm:ss","MM/dd/yyyy", "dd/MM/yyyy", "dd/MM/yyyy hh:mm a" , "MM/dd/yyyy hh:mm a" ,"E, MMM dd yyyy","hh:mm a", "hh:mm:ss a", "yyyy-MM-dd"})
+ private String format = "yyyy/MM/dd HH:mm:ss";
+
+ @ConfigValue.Boolean(name = "Background")
+ private boolean backGround = true;
+
+ @ConfigValue.Color(name = "Background Color")
+ private Color background = new Color(0, 0, 0, 150);
+
+ @ConfigValue.Boolean(name = "Custom Font")
+ private boolean customFont = false;
+
+ @ConfigValue.Boolean(name = "Static Chroma")
+ private boolean isUsingStaticChroma = false;
+
+ @ConfigValue.Boolean(name = "Wave Chroma")
+ private boolean isUsingWaveChroma = false;
+
+ private HUDElement hud;
+ private int width = 56;
+ private int height = 18;
+
+ public Clock() {
+ super("Clock", Category.RENDER);
+
+ hud = new HUDElement("time", width, height) {
+ @Override
+ public void onRender() {
+ render();
+ }
+ };
+
+ hud.setX(1);
+ hud.setY(190);
+
+ addHUD(hud);
+ }
+
+ public void render() {
+ if (mc.gameSettings.showDebugInfo) {
+ return;
+ }
+
+ DateTimeFormatter dtf = DateTimeFormatter.ofPattern(format);
+ LocalDateTime now = LocalDateTime.now();
+ String string = dtf.format(now);
+ GL11.glPushMatrix();
+ int stringWidth = 0;
+ if(customFont) {
+ stringWidth = (int) FontManager.baloo17.getStringWidth(string);
+ } else {
+ stringWidth = mc.fontRendererObj.getStringWidth(string);
+ }
+
+ int width = hud.getWidth();
+ int height = hud.getHeight();
+
+ if(backGround) {
+ DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB());
+ }
+
+ float posY = hud.getY() + 2;
+ float posX = hud.getX() + 9;
+
+ if(customFont) {
+ hud.setWidth((int)FontManager.baloo17.getStringWidth(string) + 16);
+ hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7);
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, true, true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, false, true);
+ } else {
+ FontManager.baloo17.drawString(string,(int) (posX), (int)posY, color.getRGB());
+ }
+ } else {
+ hud.setWidth(mc.fontRendererObj.getStringWidth(string) + 16);
+ hud.setHeight(mc.fontRendererObj.FONT_HEIGHT + 9);
+
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawChromaString(string, posX, posY + 3, true ,true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawChromaString(string, posX, posY + 3, false ,true);
+ } else {
+ mc.fontRendererObj.drawStringWithShadow(string, (float) (posX), (float) posY+ 3, color.getRGB());
+ }
+ }
+ GL11.glColor3f(1, 1, 1);
+ GL11.glPopMatrix();
+ }
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java b/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java
new file mode 100644
index 00000000..90e2a1bf
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java
@@ -0,0 +1,441 @@
+package rip.athena.client.modules.impl.render;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.FontRenderer;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.WorldRenderer;
+import net.minecraft.client.renderer.entity.RenderItem;
+import net.minecraft.client.renderer.texture.TextureAtlasSprite;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
+import net.minecraft.client.resources.model.IBakedModel;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.input.KeyDownEvent;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.hud.HUDElement;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class Coordinates extends Module {
+ @ConfigValue.Boolean(name = "Show Compass")
+ private boolean showCompass = true;
+
+ @ConfigValue.Boolean(name = "Show Label", description = "Show the X, Y, Z labels")
+ private boolean showLabel = true;
+
+ @ConfigValue.Boolean(name = "Show Direction", description = "Show the +- direction your going")
+ private boolean showDirection = true;
+
+ @ConfigValue.Boolean(name = "Show Biome")
+ private boolean showBiome = true;
+
+ @ConfigValue.Boolean(name = "Biome Preset Color", description = "Use the minecraft color for that biome")
+ private boolean biomePresetColor = true;
+
+ @ConfigValue.Boolean(name = "Background")
+ private boolean shadedCoords = true;
+
+ @ConfigValue.Boolean(name = "Custom Font")
+ private boolean customFont = false;
+
+ @ConfigValue.Boolean(name = "Show Avatar", description = "Shows your player head on the hud")
+ private boolean showAvatar = false;
+
+ @ConfigValue.Keybind(name = "Shout Coordinates Key", description = "Sends coordinates in chat")
+ private int keyBind = 0;
+
+ @ConfigValue.Text(name = "Chat Format", description = "How the coordinates should be sent {x}, {y}, {z} are place holders")
+ private String chatFormat = "X: {x}, Y: {y}, Z: {z}";
+
+ @ConfigValue.List(name = "Display Mode", values = {"Horizontal", "Vertical"}, description = "How the hud should be displayed")
+ private String displayMode = "Vertical";
+
+ @ConfigValue.Color(name = "Background Color")
+ private Color backgroundColor = new Color(0, 0, 0, 150);
+
+ @ConfigValue.Color(name = "Label Color", description = "Color of the X, Y, Z labels")
+ private Color color = Color.WHITE;
+
+ @ConfigValue.Color(name = "Value Color", description = "Color of the X, Y, Z coordinates")
+ private Color vColor = Color.WHITE;
+
+ @ConfigValue.Color(name = "Compass Color")
+ private Color tColor = Color.WHITE;
+
+ @ConfigValue.Color(name = "Biome Color")
+ private Color bColor = Color.WHITE;
+
+ int myPosX;
+ int myPosY;
+ int myPosZ;
+ int myAngle;
+ int myDir;
+ int myMoveX;
+ int myMoveZ;
+ int myFind;
+
+ int coordLocation;
+ int myXLine, myYLine, myZLine, myBiomeLine;
+ int myBaseOffset;
+ int myCoord1Offset, myCoord2Offset;
+ int myRHSlocation;
+ int coordBoxW, coordBoxH;
+ int coordBoxL, coordBoxR, coordBoxTop, coordBoxBase;
+
+ private static final String[] myCardinalPoint = new String[] {"N", "NE", "E", "SE", "S", "SW", "W", "NW"};
+
+ private HUDElement hud;
+
+ public Coordinates() {
+ super("Coordinates", Category.RENDER);
+
+ hud = new HUDElement("coordinates", 70, 30) {
+ @Override
+ public void onRender() {
+ render();
+ }
+ };
+
+ hud.setX(0);
+ hud.setY(150);
+
+ addHUD(hud);
+ }
+
+ private int getCardinalPoint(float par0) {
+ double myPoint;
+ myPoint = MathHelper.wrapAngleTo180_float(par0) + 180D;
+ myPoint += 22.5D;
+ myPoint %= 360D;
+ myPoint /= 45D;
+ return MathHelper.floor_double(myPoint);
+ }
+
+ @SubscribeEvent
+ public void onKeyPress(KeyDownEvent event) {
+ if (keyBind == 0)
+ return;
+ if (event.getKey() == keyBind) {
+ String toSend = chatFormat.replace("{x}", myPosX + "").replace("{y}", myPosY + "").replace("{z}",
+ myPosZ + "");
+ mc.thePlayer.sendChatMessage(toSend);
+ }
+ }
+
+ /**
+ * Writes the player's Coordinates and Compass Bearing onto the game screen
+ *
+ */
+ private void renderPlayerCoords() {
+ Color color1 = color;
+ Color color2 = vColor;
+ Color color3 = tColor;
+
+ float posX = hud.getX();
+ float posY = hud.getY();
+
+ if (this.displayMode.equalsIgnoreCase("Horizontal")) {
+ GL11.glPushMatrix();
+ if (mc.thePlayer.posX > 0) {
+ myPosX = (int) MathHelper.floor_double(mc.thePlayer.posX);
+ } else {
+ myPosX = (int) MathHelper.ceiling_double_int(mc.thePlayer.posX);
+ }
+ myPosY = (int) MathHelper.floor_double(mc.thePlayer.getEntityBoundingBox().minY);
+ if (mc.thePlayer.posZ > 0) {
+ myPosZ = (int) MathHelper.floor_double(mc.thePlayer.posZ);
+ } else {
+ myPosZ = (int) MathHelper.ceiling_double_int(mc.thePlayer.posZ);
+ }
+ myAngle = getCardinalPoint(mc.thePlayer.rotationYaw);
+ myDir = MathHelper.floor_double((double) (mc.thePlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
+
+ String med = "X: " + myPosX + ", Y: " + myPosY + ", Z: " + myPosZ;
+
+ if (this.showDirection) {
+ med = "";
+ if (!getDirectionX(myAngle).isEmpty()) {
+ med += "X: " + myPosX + " (" + getDirectionX(myAngle) + "), ";
+ } else {
+ med += "X: " + myPosX + ", ";
+ }
+ med += "Y: " + myPosY + ", ";
+ if (!getDirectionZ(myAngle).isEmpty()) {
+ med += "Z: " + myPosZ + " (" + getDirectionZ(myAngle) + ")";
+ } else {
+ med += "Z: " + myPosZ;
+ }
+ }
+
+ if (this.showCompass) {
+ med += " " + getDirectionY(myAngle);
+ }
+
+ if (!this.showLabel) {
+ med = med.replace("X:", "").replace("Y:", "").replace("Z:", "");
+ }
+ med = med.trim();
+
+ int width = getStringWidth(med) + 12;
+ int height = 21;
+
+ if (this.shadedCoords) {
+ DrawUtils.drawGradientRect(posX, posY, posX + width, posY + height, backgroundColor.getRGB(),
+ backgroundColor.getRGB());
+ }
+
+ drawString(med, (float) (posX - 2 + (width / 2 - (getStringWidth(med) / 2))), (float) posY + 5, vColor);
+
+ hud.setWidth(width);
+ hud.setHeight(height);
+
+ GL11.glScaled(1, 1, 1);
+ GL11.glColor3f(1, 1, 1);
+ GL11.glPopMatrix();
+ }
+
+ if (this.displayMode.equalsIgnoreCase("Vertical")) {
+ GL11.glPushMatrix();
+ GL11.glEnable(GL11.GL_ALPHA_TEST);
+ FontRenderer var8 = mc.fontRendererObj;
+ if (mc.thePlayer.posX > 0) {
+ myPosX = (int) MathHelper.floor_double(mc.thePlayer.posX);
+ } else {
+ myPosX = (int) MathHelper.ceiling_double_int(mc.thePlayer.posX);
+ }
+ myPosY = (int) MathHelper.floor_double(mc.thePlayer.getEntityBoundingBox().minY);
+ if (mc.thePlayer.posZ > 0) {
+ myPosZ = (int) MathHelper.floor_double(mc.thePlayer.posZ);
+ } else {
+ myPosZ = (int) MathHelper.ceiling_double_int(mc.thePlayer.posZ);
+ }
+
+ myAngle = getCardinalPoint(mc.thePlayer.rotationYaw);
+ myDir = MathHelper.floor_double((double) (mc.thePlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
+
+ int stringWidth = 0;
+ if (Math.abs(myPosX) > Math.abs(myPosZ) && Math.abs(myPosX) > Math.abs(myPosY)) {
+ stringWidth = getStringWidth(myPosX + "");
+ } else if (Math.abs(myPosZ) > Math.abs(myPosX) && Math.abs(myPosZ) > Math.abs(myPosY)) {
+ stringWidth = getStringWidth(myPosZ + "");
+ } else {
+ stringWidth = getStringWidth(myPosY + "");
+ }
+
+ int width = 50;
+ int height = 42;
+ if (this.showAvatar) {
+ width += 5;
+ }
+ int shift = 0;
+ if (this.showBiome) {
+ if (stringWidth < getStringWidth(
+ "Biome: " + mc.thePlayer.worldObj.getBiomeGenForCoords(mc.thePlayer.getPosition()).biomeName)) {
+ stringWidth = getStringWidth("Biome: "
+ + mc.thePlayer.worldObj.getBiomeGenForCoords(mc.thePlayer.getPosition()).biomeName);
+ }
+ height = 54;
+ }
+
+ width += stringWidth;
+ if (this.shadedCoords) {
+ DrawUtils.drawGradientRect(posX, posY, posX + width, posY + height, backgroundColor.getRGB(),
+ backgroundColor.getRGB());
+ }
+
+ drawString("X: ", posX + 3, posY + 3 + shift, color);
+ drawString(myPosX + "", posX + 16, posY + 3 + shift, vColor);
+ drawString(getDirectionX(myAngle), posX + width - 8 - getStringWidth(getDirectionX(myAngle)),
+ posY + 3 + shift, tColor);
+ shift += 12;
+ drawString("Y: ", posX + 3, posY + 3 + shift, color);
+ drawString(myPosY + "", posX + 16, posY + 3 + shift, vColor);
+ if (this.showAvatar) {
+ mc.getTextureManager().bindTexture(mc.thePlayer.getLocationSkin());
+ GuiScreen.drawScaledCustomSizeModalRect(
+ (int) (posX + width - 20 - getStringWidth(getDirectionY(myAngle))), (int) (posY + 5 + shift),
+ 8.0F, 8, 8, 8, 8, 8, 64.0F, 64.0F);
+ }
+ drawString(getDirectionY(myAngle), posX + width - 8 - getStringWidth(getDirectionY(myAngle)),
+ posY + 3 + shift, tColor);
+ shift += 12;
+ drawString("Z: ", posX + 3, posY + 3 + shift, color);
+ drawString(myPosZ + "", posX + 16, posY + 3 + shift, vColor);
+ drawString(getDirectionZ(myAngle), posX + width - 8 - getStringWidth(getDirectionZ(myAngle)),
+ posY + 3 + shift, tColor);
+
+ if (this.showBiome) {
+ shift += 12;
+ drawString("Biome: ", posX + 3, posY + 3 + shift, color);
+ drawString(mc.thePlayer.worldObj.getBiomeGenForCoords(mc.thePlayer.getPosition()).biomeName,
+ posX + 3 + getStringWidth("Biome: "), posY + 3 + shift,
+ biomePresetColor
+ ? new Color(
+ mc.thePlayer.worldObj.getBiomeGenForCoords(mc.thePlayer.getPosition()).color)
+ : bColor);
+
+ }
+
+ hud.setWidth(width);
+ hud.setHeight(height);
+
+ GL11.glScaled(1, 1, 1);
+ GL11.glColor3f(1, 1, 1);
+ GL11.glPopMatrix();
+ }
+
+ }
+
+ public int getStringWidth(String text) {
+ if (this.customFont) {
+ return (int) FontManager.baloo17.getStringWidth(text);
+ } else {
+ return mc.fontRendererObj.getStringWidth(text);
+ }
+ }
+
+ public int getStringHeight(String text) {
+ if (this.customFont) {
+ return (int) FontManager.baloo17.getHeight(text);
+ } else {
+ return mc.fontRendererObj.FONT_HEIGHT;
+ }
+ }
+
+ public String getDirectionX(int myAngle) {
+ String toReturn = "";
+ if (!this.showDirection) {
+ return "";
+ }
+ switch (this.myAngle) {
+ case 1:
+ toReturn = "+";
+ break;
+ case 2:
+ toReturn = "+";
+ break;
+ case 3:
+ toReturn = "+";
+ break;
+ case 5:
+ toReturn = "-";
+ break;
+ case 6:
+ toReturn = "-";
+ break;
+ case 7:
+ toReturn = "-";
+ break;
+ default:
+ toReturn = "";
+ break;
+ }
+ return toReturn;
+ }
+
+ public String getDirectionY(int myAngle) {
+ if (!this.showCompass) {
+ return "";
+ }
+ return myCardinalPoint[myAngle];
+ }
+
+ public String getDirectionZ(int myAngle) {
+ String toReturn = "";
+ if (!this.showDirection) {
+ return "";
+ }
+ switch (this.myAngle) {
+ case 0:
+ toReturn = "-";
+ break;
+ case 1:
+ toReturn = "-";
+ break;
+ case 3:
+ toReturn = "+";
+ break;
+ case 4:
+ toReturn = "+";
+ break;
+ case 5:
+ toReturn = "+";
+ break;
+ case 7:
+ toReturn = "-";
+ break;
+ default:
+ toReturn = "";
+ break;
+ }
+ return toReturn;
+ }
+
+ public void drawString(String text, double posX, double posY, Color color) {
+ if (this.customFont) {
+ if (color.getBlue() == 5 && color.getRed() == 5 && color.getGreen() == 5) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, text, (int) posX, (int) posY - 2, true, true);
+ } else if (color.getBlue() == 6 && color.getRed() == 6 && color.getGreen() == 6) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, text, (int) posX, (int) posY - 2, false, true);
+ } else {
+ FontManager.baloo17.drawString(text, (int) posX, (int) posY - 2, color.getRGB());
+ }
+ } else {
+ if (color.getBlue() == 5 && color.getRed() == 5 && color.getGreen() == 5) {
+ DrawUtils.drawChromaString(text, (int) posX + 2, (int) posY + 2, true, true);
+ } else if (color.getBlue() == 6 && color.getRed() == 6 && color.getGreen() == 6) {
+ DrawUtils.drawChromaString(text, (int) posX + 2, (int) posY + 2, false, true);
+ } else {
+ mc.fontRendererObj.drawStringWithShadow(text, (int) posX + 2, (int) posY + 2, color.getRGB());
+ }
+ }
+ }
+
+ public void renderItemStack(ItemStack stack, int x, int y) {
+ RenderItem itemRender = Minecraft.getMinecraft().getRenderItem();
+ itemRender.zLevel = (float) (-50.0F);
+ renderIcon(stack, x, y, 8, 8);
+
+ }
+
+ private void renderIcon(ItemStack stack, int vertexX, int vertexY, int intU, int intV) {
+ try {
+ IBakedModel iBakedModel = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(stack);
+ TextureAtlasSprite textureAtlasSprite = Minecraft.getMinecraft().getTextureMapBlocks()
+ .getAtlasSprite(iBakedModel.getParticleTexture().getIconName());
+ Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldRenderer = tessellator.getWorldRenderer();
+ worldRenderer.begin(7, DefaultVertexFormats.POSITION_TEX);
+ worldRenderer.pos((double) (vertexX), (double) (vertexY + intV), 0.0D)
+ .tex((double) textureAtlasSprite.getMinU(), (double) textureAtlasSprite.getMaxV()).endVertex();
+ worldRenderer.pos((double) (vertexX + intU), (double) (vertexY + intV), 0.0D)
+ .tex((double) textureAtlasSprite.getMaxU(), (double) textureAtlasSprite.getMaxV()).endVertex();
+ worldRenderer.pos((double) (vertexX + intU), (double) (vertexY), 0.0D)
+ .tex((double) textureAtlasSprite.getMaxU(), (double) textureAtlasSprite.getMinV()).endVertex();
+ worldRenderer.pos((double) (vertexX), (double) (vertexY), 0.0D)
+ .tex((double) textureAtlasSprite.getMinU(), (double) textureAtlasSprite.getMinV()).endVertex();
+ tessellator.draw();
+ } catch (Exception e) {
+ }
+ }
+
+ public void render() {
+ if (!mc.gameSettings.showDebugInfo) {
+ this.renderPlayerCoords();
+ }
+ }
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/render/Crosshair.java b/src/main/java/rip/athena/client/modules/impl/render/Crosshair.java
new file mode 100644
index 00000000..6e5100f4
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/Crosshair.java
@@ -0,0 +1,281 @@
+package rip.athena.client.modules.impl.render;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.Gui;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.gui.ScaledResolution;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.client.renderer.texture.DynamicTexture;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.input.Mouse;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.client.ClientTickEvent;
+import rip.athena.client.events.types.render.RenderEvent;
+import rip.athena.client.events.types.render.RenderType;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+
+import java.awt.*;
+import java.awt.image.BufferedImage;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public class Crosshair extends Module {
+ @ConfigValue.Color(name = "Draw color")
+ private Color color = Color.RED;
+
+ @ConfigValue.Integer(name = "Brush size", min = 2, max = 10)
+ private int brushSize = 2;
+
+ @ConfigValue.Boolean(name = "Rainbow color")
+ private boolean rainbow;
+
+ @ConfigValue.Boolean(name = "Delete mode")
+ private boolean deleteMode;
+
+ public boolean stoppedMouse1;
+
+ public static int rainbowSpeedNerf = 0;
+ public static int rainbowSpeedNerfProg = 0;
+
+ public static Color rainbowColor = new Color(0, 0, 0, 0);
+ public static int rainbowR = 255;
+ public static int rainbowG = 0;
+ public static int rainbowB = 0;
+
+ public static int[][] crosshair;
+ public ResourceLocation crosshairResource;
+ public boolean shouldUpdateCrosshair = false;
+
+ int containerColor = new Color(50, 50, 50, 255).getRGB();
+ int parentContainerColor = new Color(0, 0, 0, 255).getRGB();
+ int innerContainerColor = new Color(25, 25, 25, 255).getRGB();
+ int groupHeaderColor = new Color(20, 20, 20, 255).getRGB();
+ int textColor = new Color(255, 255, 255, 255).getRGB();
+ int groupContainerColor = new Color(35, 35, 35, 255).getRGB();
+
+ public Crosshair() {
+ super("Crosshair", Category.RENDER);
+ crosshair = new int[84][74];
+ }
+
+ /**
+ * Event handler for the ClientTickEvent.
+ *
+ * @param event The ClientTickEvent instance.
+ */
+ @SubscribeEvent
+ public void onTick(ClientTickEvent event) {
+ if(rainbowSpeedNerfProg >= rainbowSpeedNerf) {
+ if(rainbowR == 255 && rainbowG != 255 && rainbowB == 0)
+ rainbowG++;
+ else if(rainbowR != 0 && rainbowG == 255 && rainbowB == 0)
+ rainbowR--;
+ else if(rainbowR == 0 && rainbowG == 255 && rainbowB != 255)
+ rainbowB++;
+ else if(rainbowR == 0 && rainbowG != 0 && rainbowB == 255)
+ rainbowG--;
+ else if(rainbowR != 255 && rainbowG == 0 && rainbowB == 255)
+ rainbowR++;
+ else if(rainbowR == 255 && rainbowG == 0 && rainbowB != 0)
+ rainbowB--;
+ rainbowColor = new Color(rainbowR, rainbowG, rainbowB);
+ rainbowSpeedNerfProg = 0;
+ } else {
+ rainbowSpeedNerfProg++;
+ }
+ }
+
+ /**
+ * Event handler for the RenderEvent.
+ *
+ * @param event The RenderEvent instance.
+ */
+ @SubscribeEvent
+ public void onRender(RenderEvent event) {
+ if(event.getRenderType() != RenderType.CROSSHAIR) {
+ return;
+ }
+
+ event.setCancelled(true);
+ drawCrosshair();
+ }
+
+ /**
+ * Draws the crosshair on the screen.
+ */
+ public void drawCrosshair() {
+ if(!isToggled()) {
+ return;
+ }
+
+ int width = crosshair.length;
+ int height = crosshair[0].length;
+
+ if(crosshairResource == null || shouldUpdateCrosshair) {
+ if(crosshairResource != null) {
+ mc.getTextureManager().deleteTexture(crosshairResource);
+ crosshairResource = null;
+ }
+
+ BufferedImage bufferedCrosshair = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
+
+ for(int x = 0; x < crosshair.length; x++) {
+ for(int y = 0; y < crosshair[x].length; y++) {
+ int color = crosshair[x][y];
+
+ if(color != 0 && rainbow) {
+ color = rainbowColor.getRGB();
+ }
+
+ bufferedCrosshair.setRGB(x, y, color);
+ }
+ }
+
+ DynamicTexture texture = new DynamicTexture(bufferedCrosshair);
+ bufferedCrosshair.getRGB(0, 0, bufferedCrosshair.getWidth(), bufferedCrosshair.getHeight(), texture.getTextureData(), 0, bufferedCrosshair.getWidth());
+ final ResourceLocation resource = mc.getTextureManager().getDynamicTextureLocation("custom-crosshair", texture);
+ crosshairResource = resource;
+
+ shouldUpdateCrosshair = false;
+ }
+
+ if(crosshairResource != null) {
+ ScaledResolution sr = new ScaledResolution(mc);
+ int drawX = sr.getScaledWidth() / 2 - width / 2;
+ int drawY = sr.getScaledHeight() / 2 - height / 2;
+
+ drawImage(crosshairResource, drawX, drawY, width, height);
+
+ if(crosshairResource != null) {
+ if(rainbow) {
+ shouldUpdateCrosshair = true;
+ }
+ }
+ }
+ }
+
+ /**
+ * Draws a color picker on the screen.
+ *
+ * @param drawX The x-coordinate of the picker.
+ * @param drawY The y-coordinate of the picker.
+ * @param drawWidth The width of the picker.
+ * @param drawHeight The height of the picker.
+ * @param mouseX The x-coordinate of the mouse.
+ * @param mouseY The y-coordinate of the mouse.
+ */
+ public void drawPicker(int drawX, int drawY, int drawWidth, int drawHeight, int mouseX, int mouseY) {
+ // Draw the outer rectangle
+ GuiScreen.drawRectangle(drawX, drawY, drawX + drawWidth, drawY + drawHeight, parentContainerColor);
+
+ // Draw the horizontal line in the center
+ GuiScreen.drawRectangle(drawX + drawWidth / 2 - 1, drawY + 1, drawX + drawWidth / 2 + 1, drawY + drawHeight - 1, containerColor);
+
+ // Draw the vertical line in the center
+ GuiScreen.drawRectangle(drawX + 1, drawY + drawHeight / 2 - 1, drawX + drawWidth - 1, drawY + drawHeight / 2 + 1, containerColor);
+
+ boolean hovering = true;
+ boolean mouseDown = Mouse.isButtonDown(0) && hovering;
+
+ if(!mouseDown && hovering) {
+ stoppedMouse1 = true;
+ } else if(!hovering) {
+ stoppedMouse1 = false;
+ }
+
+ if(mouseDown && !stoppedMouse1) {
+ mouseDown = false;
+ }
+
+ int mX = Math.round(mouseX);
+ int mY = Math.round(mouseY);
+ int theColor = deleteMode ? Color.white.getRGB() : color.getRGB();
+
+ drawX = (drawX + 1);
+ drawY = (drawY + 1);
+ boolean edited = false;
+
+ for(int x = 0; x < crosshair.length; x++) {
+ for(int y = 0; y < crosshair[x].length; y++) {
+ int color = crosshair[x][y];
+ int theX = drawX + x;
+ int theY = drawY + y;
+
+ if(mX == theX && mY == theY && mouseDown && hovering) {
+ for(int xx = -(brushSize / 2) + x; xx < x + brushSize / 2; xx++) {
+ for(int yy = -(brushSize / 2) + y; yy < y + brushSize / 2; yy++) {
+ crosshair[xx < crosshair.length && xx >= 0 ? xx : x][yy < crosshair[x].length && yy >= 0 ? yy : y] = deleteMode ? 0 : theColor;
+ edited = true;
+ }
+ }
+ }
+
+ if(color == 0) {
+ continue;
+ }
+
+ drawPixel(theX, theY, rainbow ? rainbowColor.getRGB() : color);
+ }
+ }
+
+ if(edited) {
+ shouldUpdateCrosshair = true;
+ }
+
+ if(hovering) {
+ for(int xx = -(brushSize / 2) + mX; xx < mX + brushSize / 2; xx++) {
+ for(int yy = -(brushSize / 2) + mY; yy < mY + brushSize / 2; yy++) {
+ if(xx < crosshair.length + drawX && xx >= drawX && yy < crosshair[0].length + drawY && yy >= drawY)
+ drawPixel(xx, yy, theColor);
+ }
+ }
+ }
+ }
+
+ /**
+ * Draws a background container on the screen.
+ *
+ * @param x The x-coordinate of the background container.
+ * @param y The y-coordinate of the background container.
+ * @param width The width of the background container.
+ * @param height The height of the background container.
+ */
+ public void drawBackground(int x, int y, int width, int height) {
+ GuiScreen.drawRectangle(x, y, x + width, y + height, parentContainerColor);
+ GuiScreen.drawRectangle(x + 1, y + 1, x + width - 1, y + height - 1, containerColor);
+ GuiScreen.drawRectangle(x + 2, y + 2, x + width - 2, y + height - 2, innerContainerColor);
+ }
+
+ /**
+ * Draws a pixel on the screen.
+ *
+ * @param x The x-coordinate of the pixel.
+ * @param y The y-coordinate of the pixel.
+ * @param color The color of the pixel.
+ */
+ public void drawPixel(int x, int y, int color) {
+ GuiScreen.drawRectangle(x, y, x + 1, y + 1, color);
+ }
+
+ /**
+ * Draws an image on the screen.
+ *
+ * @param image The image to draw.
+ * @param x The x-coordinate of the image.
+ * @param y The y-coordinate of the image.
+ * @param width The width of the image.
+ * @param height The height of the image.
+ */
+ public void drawImage(ResourceLocation image, int x, int y, int width, int height) {
+ GlStateManager.blendFunc(770, 771);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(image);
+ GuiScreen.drawModalRectWithCustomSizedTexture(x, y, 0.0F, 0.0F, width, height, width, height);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(Gui.icons);
+ }
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/render/EntityHUD.java b/src/main/java/rip/athena/client/modules/impl/render/EntityHUD.java
new file mode 100644
index 00000000..f90559f5
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/EntityHUD.java
@@ -0,0 +1,102 @@
+package rip.athena.client.modules.impl.render;
+
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.hud.HUDElement;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class EntityHUD extends Module {
+ @ConfigValue.Boolean(name = "Background")
+ private boolean backGround = true;
+
+ @ConfigValue.Color(name = "Color")
+ private Color color = Color.WHITE;
+
+ @ConfigValue.Color(name = "Background Color")
+ private Color background = new Color(0, 0, 0, 150);
+
+ @ConfigValue.Boolean(name = "Custom Font")
+ private boolean customFont = false;
+
+ @ConfigValue.Boolean(name = "Static Chroma")
+ private boolean isUsingStaticChroma = false;
+
+ @ConfigValue.Boolean(name = "Wave Chroma")
+ private boolean isUsingWaveChroma = false;
+
+ private HUDElement hud;
+ private int width = 56;
+ private int height = 18;
+
+ public EntityHUD() {
+ super("Entity HUD", Category.RENDER);
+
+ hud = new HUDElement("entityhud", width, height) {
+ @Override
+ public void onRender() {
+ render();
+ }
+ };
+
+ hud.setX(1);
+ hud.setY(175);
+
+ addHUD(hud);
+ }
+
+ public void render() {
+ if (mc.gameSettings.showDebugInfo) {
+ return;
+ }
+
+ GL11.glPushMatrix();
+
+ String string = "(" + mc.renderGlobal.countEntitiesRendered + "/" + mc.renderGlobal.countEntitiesTotal + ")";
+ int width = hud.getWidth();
+ int height = hud.getHeight();
+
+ if(backGround) {
+ DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB());
+ }
+
+ float posY = hud.getY() + 2;
+ float posX = hud.getX() + 9;
+
+ if(customFont) {
+ hud.setWidth((int) FontManager.baloo17.getStringWidth(string) + 16);
+ hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7);
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, true, true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, false, true);
+ } else {
+ FontManager.baloo17.drawString(string,(int) (posX), (int)posY, color.getRGB());
+ }
+ } else {
+ hud.setWidth(mc.fontRendererObj.getStringWidth(string) + 16);
+ hud.setHeight(mc.fontRendererObj.FONT_HEIGHT + 9);
+
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawChromaString(string, posX, posY + 3, true ,true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawChromaString(string, posX, posY+ 3, false ,true);
+ } else {
+ mc.fontRendererObj.drawStringWithShadow(string, (float) (posX), (float) posY+ 3, color.getRGB());
+ }
+ }
+ GL11.glColor3f(1, 1, 1);
+ GL11.glPopMatrix();
+ }
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS2Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS2Mod.java
index 36879387..12d6c59b 100644
--- a/src/main/java/rip/athena/client/modules/impl/render/FPS2Mod.java
+++ b/src/main/java/rip/athena/client/modules/impl/render/FPS2Mod.java
@@ -19,7 +19,43 @@ import java.awt.*;
public class FPS2Mod extends Module {
@ConfigValue.Boolean(name = "Background")
- private boolean backGround = true;
+ private boolean backGround1 = true;
+
+ @ConfigValue.Boolean(name = "Background2")
+ private boolean backGround2 = true;
+
+ @ConfigValue.Boolean(name = "Background3")
+ private boolean backGround3 = true;
+
+ @ConfigValue.Boolean(name = "Background4")
+ private boolean backGround4 = true;
+
+ @ConfigValue.Boolean(name = "Background5")
+ private boolean backGround5 = true;
+
+ @ConfigValue.Boolean(name = "Background6")
+ private boolean backGround6 = true;
+
+ @ConfigValue.Boolean(name = "Background7")
+ private boolean backGround7 = true;
+
+ @ConfigValue.Boolean(name = "Background8")
+ private boolean backGround8 = true;
+
+ @ConfigValue.Boolean(name = "Background9")
+ private boolean backGround9 = true;
+
+ @ConfigValue.Boolean(name = "Background10")
+ private boolean backGround10 = true;
+
+ @ConfigValue.Boolean(name = "Background11")
+ private boolean backGround11 = true;
+
+ @ConfigValue.Boolean(name = "Background12")
+ private boolean backGround12 = true;
+
+ @ConfigValue.Boolean(name = "Background13")
+ private boolean backGround13 = true;
@ConfigValue.Color(name = "Color")
private Color color = Color.WHITE;
diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java b/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java
index c7b33570..88378b5c 100644
--- a/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java
+++ b/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java
@@ -1,14 +1,18 @@
package rip.athena.client.modules.impl.render;
import org.lwjgl.input.Keyboard;
+import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.render.RenderEvent;
import rip.athena.client.events.types.render.RenderType;
import rip.athena.client.font.FontManager;
+import rip.athena.client.font.FontUtils;
+import rip.athena.client.gui.hud.HUDElement;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
+import rip.athena.client.utils.render.DrawUtils;
import java.awt.*;
@@ -37,26 +41,72 @@ public class FPSMod extends Module {
@ConfigValue.Boolean(name = "Wave Chroma")
private boolean isUsingWaveChroma = false;
+ private HUDElement hud;
+ private int width = 56;
+ private int height = 18;
+
public FPSMod() {
super("FPS", Category.RENDER);
- setKeyBind(Keyboard.KEY_F);
+ hud = new HUDElement("fps", width, height) {
+ @Override
+ public void onRender() {
+ render();
+ }
+ };
+
+ hud.setX(1);
+ hud.setY(175);
+
+ addHUD(hud);
}
- @SubscribeEvent
- public void onRender(RenderEvent event) {
- if (event.getRenderType() != RenderType.INGAME_OVERLAY) {
+ public void render() {
+ if (this.mc.gameSettings.showDebugInfo) {
return;
}
- if (mc.gameSettings.showDebugInfo) {
- return;
- }
+ GL11.glPushMatrix();
String string = mc.debug.split(" fps")[0] + " FPS";
- FontManager.baloo17.drawString(string, 200, 50, -1);
+ int width = hud.getWidth();
+ int height = hud.getHeight();
+
+ if(backGround) {
+ DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB());
+ }
+
+ float posY = hud.getY() + 2;
+ float posX = hud.getX() + 9;
+
+ if(customFont) {
+ hud.setWidth((int)FontManager.baloo17.getStringWidth(string) + 16);
+ hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7);
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY + 1, true, true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY + 1, false, true);
+ } else {
+ FontManager.baloo17.drawString(string,(int) (posX), (int)posY + 1, color.getRGB());
+ }
+ } else {
+ hud.setWidth(mc.fontRendererObj.getStringWidth(string) + 16);
+ hud.setHeight(mc.fontRendererObj.FONT_HEIGHT + 9);
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawChromaString(string, posX, posY + 3, true ,true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawChromaString(string, posX, posY+ 3, false ,true);
+ } else {
+ mc.fontRendererObj.drawStringWithShadow(string, (float) (posX), (float) posY+ 3, color.getRGB());
+ }
+ }
+ GL11.glColor3f(1, 1, 1);
+ GL11.glPopMatrix();
}
+
@Override
public void onEnable() {
super.onEnable();
diff --git a/src/main/java/rip/athena/client/modules/impl/render/GUIMod.java b/src/main/java/rip/athena/client/modules/impl/render/GUIMod.java
index da2e8134..aef80640 100644
--- a/src/main/java/rip/athena/client/modules/impl/render/GUIMod.java
+++ b/src/main/java/rip/athena/client/modules/impl/render/GUIMod.java
@@ -2,7 +2,7 @@ package rip.athena.client.modules.impl.render;
import org.lwjgl.input.Keyboard;
import rip.athena.client.gui.framework.Menu;
-import rip.athena.client.gui.hud.IngameMenu;
+import rip.athena.client.gui.clickgui.IngameMenu;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
@@ -20,7 +20,7 @@ public class GUIMod extends Module {
private Menu menu;
public GUIMod() {
- super("GUI", Category.RENDER);
+ super("GUI", Category.HIDDEN);
setKeyBind(Keyboard.KEY_RSHIFT);
menu = new Menu("", width, height);
diff --git a/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java b/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java
new file mode 100644
index 00000000..3a70618a
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java
@@ -0,0 +1,399 @@
+package rip.athena.client.modules.impl.render;
+
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.input.MouseDownEvent;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.hud.HUDElement;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+import rip.athena.client.utils.ClickCounter;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class Keystrokes extends Module {
+ @ConfigValue.Boolean(name = "Show CPS")
+ private boolean keystrokescps = true;
+
+ @ConfigValue.Boolean(name = "Show Mouse Buttons")
+ private boolean keystrokesmouse = true;
+
+ @ConfigValue.Boolean(name = "Show Spacebar")
+ private boolean spacebar = true;
+
+ @ConfigValue.Boolean(name = "Custom Font")
+ private boolean isCustomFont = false;
+
+ @ConfigValue.Color(name = "Background Color")
+ private Color backgroundColor = new Color(0, 0, 0, 150);
+
+ @ConfigValue.Color(name = "Key Unpressed Color")
+ private Color color = Color.WHITE;
+
+ @ConfigValue.Color(name = "Key Pressed Color")
+ private Color color2 = Color.BLACK;
+
+ @ConfigValue.Boolean(name = "Static Chroma")
+ private boolean isUsingStaticChroma = false;
+
+ @ConfigValue.Boolean(name = "Wave Chroma")
+ private boolean isUsingWaveChroma = false;
+
+ private HUDElement hud;
+ private int width = 78;
+ private int height = 52;
+
+ private final ClickCounter leftClickCounter = new ClickCounter();
+ private final ClickCounter rightClickCounter = new ClickCounter();
+
+ public Keystrokes() {
+ super("Key Strokes", Category.RENDER);
+
+ hud = new HUDElement("keystrokes", width, height) {
+ @Override
+ public void onRender() {
+ render();
+ }
+ };
+
+ hud.setX(0);
+ hud.setY(120);
+
+ addHUD(hud);
+ }
+
+ public void render() {
+ if (mc.gameSettings.showDebugInfo) {
+ return;
+ }
+
+ GL11.glPushMatrix();
+
+ int posX = hud.getX();
+ int posY = hud.getY();
+
+ int shiftY = 0;
+ int shiftX = 26;
+ int shiftXFont = 0;
+
+ if (this.isCustomFont) {
+ shiftXFont += 2;
+ }
+ if (mc.gameSettings.keyBindForward.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 25 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.00F, 1.0F, 1.0F);
+ drawString("W", (posX + shiftX + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color2);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ } else {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 25 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.00F, 1.0F, 1.0F);
+ drawString("W", (posX + shiftX + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ }
+
+ shiftX = 0;
+ shiftY += 26;
+ if (mc.gameSettings.keyBindLeft.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 25 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("A", (posX + shiftX + shiftXFont + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color2);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ } else {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 25 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("A", (posX + shiftX + shiftXFont + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ }
+ shiftX += 26;
+ if (mc.gameSettings.keyBindBack.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 25 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("S", (posX + shiftX + shiftXFont + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color2);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ } else {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 25 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("S", (posX + shiftX + shiftXFont + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ }
+ shiftX += 26;
+ if (mc.gameSettings.keyBindRight.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 25 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("D", (posX + shiftX + shiftXFont + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color2);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ } else {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 25 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("D", (posX + shiftX + shiftXFont + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ }
+ shiftY += 26;
+
+ int mShift = 0;
+ int shift = 3;
+
+ if(isCustomFont) {
+ shift = 6;
+ mShift = 1;
+ }
+
+ if (this.keystrokesmouse) {
+ shiftX = 0;
+ if (this.keystrokescps) {
+ if (mc.gameSettings.keyBindAttack.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 38 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ GL11.glPushMatrix();
+
+ if(isCustomFont) {
+ drawString("LMB", (posX + mShift + shiftX + 34 / 2 - getStringWidth("LMB") / 2), (posY + shiftY + 3), color2);
+ } else {
+ drawString("LMB", (posX + mShift + shiftX + 38 / 2 - getStringWidth("LMB") / 2), (posY + shiftY + 3), color2);
+ }
+ GL11.glScalef(0.75F, 0.75F, 0.75F);
+ if(isCustomFont) {
+ drawString(leftClickCounter.getCps() + " CPS",
+ (posX + shift + shiftX + 34 / 2 - (getStringWidth(leftClickCounter.getCps() + " CPS") / 2)) / 0.75F,
+ (posY + shiftY + 15) / 0.75F, color2);
+ } else {
+ drawString(leftClickCounter.getCps() + " CPS",
+ (posX + shift + shiftX + 38 / 2 - (getStringWidth(leftClickCounter.getCps() + " CPS") / 2)) / 0.75F,
+ (posY + shiftY + 15) / 0.75F, color2);
+ }
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ } else {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 38 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+ GL11.glPushMatrix();
+
+ if(isCustomFont) {
+ drawString("LMB", (posX + mShift + shiftX + 34 / 2 - getStringWidth("LMB") / 2), (posY + shiftY + 3), color);
+ } else {
+ drawString("LMB", (posX + mShift + shiftX + 38 / 2 - getStringWidth("LMB") / 2), (posY + shiftY + 3), color);
+ }
+
+ GL11.glScalef(0.75F, 0.75F, 0.75F);
+ if(isCustomFont) {
+ drawString(leftClickCounter.getCps() + " CPS",
+ (posX + shift + shiftX + 34 / 2 - (getStringWidth(leftClickCounter.getCps() + " CPS") / 2)) / 0.75F,
+ (posY + shiftY + 15) / 0.75F, color);
+ } else {
+ drawString(leftClickCounter.getCps() + " CPS",
+ (posX + shift + shiftX + 38 / 2 - (getStringWidth(leftClickCounter.getCps() + " CPS") / 2)) / 0.75F,
+ (posY + shiftY + 15) / 0.75F, color);
+ }
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ }
+
+ shiftX += 39;
+
+ if (mc.gameSettings.keyBindUseItem.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 38 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ GL11.glPushMatrix();
+
+ if(isCustomFont) {
+ drawString("RMB", (posX + mShift + shiftX + 34 / 2 - getStringWidth("RMB") / 2), (posY + shiftY + 3), color2);
+ } else {
+ drawString("RMB", (posX + mShift + shiftX + 38 / 2 - getStringWidth("RMB") / 2), (posY + shiftY + 3), color2);
+ }
+
+ GL11.glScalef(0.75F, 0.75F, 0.75F);
+
+ if(isCustomFont) {
+ drawString(rightClickCounter.getCps() + " CPS",
+ ((posX + shift + shiftX + 34 / 2 - getStringWidth(rightClickCounter.getCps() + " CPS") / 2)) / 0.75F,
+ (posY + shiftY + 15) / 0.75F, color2);
+ } else {
+ drawString(rightClickCounter.getCps() + " CPS",
+ ((posX + shift + shiftX + 38 / 2 - getStringWidth(rightClickCounter.getCps() + " CPS") / 2)) / 0.75F,
+ (posY + shiftY + 15) / 0.75F, color2);
+ }
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+
+ GL11.glPopMatrix();
+ } else {
+ GL11.glPushMatrix();
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 38 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+
+ if(isCustomFont) {
+ drawString("RMB", (posX + mShift + shiftX + 34 / 2 - getStringWidth("RMB") / 2), (posY + shiftY + 3), color);
+ } else {
+ drawString("RMB", (posX + mShift + shiftX + 38 / 2 - getStringWidth("RMB") / 2), (posY + shiftY + 3), color);
+ }
+ GL11.glScalef(0.75F, 0.75F, 0.75F);
+
+ if(isCustomFont) {
+ drawString(rightClickCounter.getCps() + " CPS",
+ ((posX + shift + shiftX + 34 / 2 - getStringWidth(rightClickCounter.getCps() + " CPS") / 2)) / 0.75F,
+ (posY + shiftY + 15) / 0.75F, color);
+ } else {
+ drawString(rightClickCounter.getCps() + " CPS",
+ ((posX + shift + shiftX + 38 / 2 - getStringWidth(rightClickCounter.getCps() + " CPS") / 2)) / 0.75F,
+ (posY + shiftY + 15) / 0.75F, color);
+ }
+
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+
+ GL11.glPopMatrix();
+ }
+ shiftY += 26;
+ } else {
+ if (mc.gameSettings.keyBindAttack.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 38 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("LMB", (posX + shiftX + 7), (posY + shiftY + 7), color2);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ } else {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 38 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("LMB", (posX + shiftX + 7), (posY + shiftY + 7), color);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ }
+ shiftX += 39;
+ if (mc.gameSettings.keyBindUseItem.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 38 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("RMB", (posX + shiftX + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color2);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ } else {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 38 + shiftX, posY + 25 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+ GL11.glPushMatrix();
+ GL11.glScalef(1.005F, 1.0F, 1.0F);
+ drawString("RMB", (posX + shiftX + 7) / 1.005F, (posY + shiftY + 7) / 1.005F, color);
+ GL11.glScalef(1.0F, 1.0F, 1.0F);
+ GL11.glPopMatrix();
+ }
+ shiftY += 26;
+ }
+ }
+
+ if (this.spacebar) {
+ shiftX = 0;
+ if (mc.gameSettings.keyBindJump.isKeyDown()) {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 77 + shiftX, posY + 13 + shiftY,
+ getBackGroundColor(true), getBackGroundColor(true));
+ DrawUtils.drawGradientRect((float) posX + shiftX + 23, (float) posY + shiftY + 4,
+ (float) posX + shiftX + 55, (float) posY + shiftY + 5, color2.getRGB(), color2.getRGB());
+ } else {
+ DrawUtils.drawGradientRect(posX + shiftX, posY + shiftY, posX + 77 + shiftX, posY + 13 + shiftY,
+ getBackGroundColor(false), getBackGroundColor(false));
+ DrawUtils.drawGradientRect((float) posX + shiftX + 23, (float) posY + shiftY + 4,
+ (float) posX + shiftX + 55, (float) posY + shiftY + 5, color.getRGB(), color.getRGB());
+ }
+ shiftY += 14;
+ }
+
+ hud.setHeight(shiftY);
+
+ GL11.glColor3f(1, 1, 1);
+ GL11.glScalef(1, 1, 1);
+ GL11.glPopMatrix();
+ }
+
+ public int getStringWidth(String text) {
+ if (this.isCustomFont) {
+ return (int) FontManager.baloo17.getStringWidth(text);
+ } else {
+ return (int) mc.fontRendererObj.getStringWidth(text);
+ }
+ }
+
+ public int getStringHeight(String text) {
+ if (this.isCustomFont) {
+ return (int) FontManager.baloo17.getStringWidth(text);
+ } else {
+ return mc.fontRendererObj.getStringWidth(text);
+ }
+ }
+
+ public void drawString(String text, float posX, float posY, Color color) {
+ if (this.isCustomFont) {
+ if (isUsingStaticChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, text, (int)posX + 1, (int)posY, true, true);
+ } else if (isUsingWaveChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, text, (int)posX + 1, (int)posY, false, true);
+ } else {
+ FontManager.baloo17.drawString(text, (int)posX + 1, (int)posY, color.getRGB());
+ }
+ } else {
+ if (isUsingStaticChroma) {
+ DrawUtils.drawChromaString(text, (int)posX + 2, (int)posY + 2, true, true);
+ } else if (isUsingWaveChroma) {
+ DrawUtils.drawChromaString(text, (int)posX + 2, (int)posY + 2, false, true);
+ } else {
+ mc.fontRendererObj.drawString(text, (float) posX + 2, (float) posY + 2, color.getRGB(), false);
+ }
+ }
+ }
+
+ public int getBackGroundColor(boolean pressed) {
+ return backgroundColor.getRGB();
+ }
+
+ @SubscribeEvent
+ public void onClick(MouseDownEvent e) {
+ if (e.getButton() == 0) {
+ leftClickCounter.onClick();
+ }
+ if (e.getButton() == 1) {
+ rightClickCounter.onClick();
+ }
+ }
+
+ @Override
+ public void onEnable() {
+ super.onEnable();
+ }
+
+ @Override
+ public void onDisable() {
+ super.onDisable();
+ }
+}
+
diff --git a/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java b/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java
new file mode 100644
index 00000000..c78c639c
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java
@@ -0,0 +1,124 @@
+package rip.athena.client.modules.impl.render;
+
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.hud.HUDElement;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class MemoryUsage extends Module {
+ @ConfigValue.Boolean(name = "Percentage", description = "Show memory usage in percentage.")
+ private boolean percentage = false;
+
+ @ConfigValue.Boolean(name = "Background")
+ private boolean backGround = true;
+
+ @ConfigValue.Color(name = "Color")
+ private Color color = Color.WHITE;
+
+ @ConfigValue.Color(name = "Background Color")
+ private Color background = new Color(0, 0, 0, 150);
+
+ @ConfigValue.Boolean(name = "Custom Font")
+ private boolean customFont = false;
+
+ @ConfigValue.Boolean(name = "Static Chroma")
+ private boolean isUsingStaticChroma = false;
+
+ @ConfigValue.Boolean(name = "Wave Chroma")
+ private boolean isUsingWaveChroma = false;
+
+ private HUDElement hud;
+ private int width = 56;
+ private int height = 18;
+
+ public MemoryUsage() {
+ super("Memory usage", Category.RENDER);
+
+ hud = new HUDElement("memory usage", width, height) {
+ @Override
+ public void onRender() {
+ render();
+ }
+ };
+
+ hud.setX(1);
+ hud.setY(175);
+
+ addHUD(hud);
+ }
+
+ public void render() {
+ if (this.mc.gameSettings.showDebugInfo) {
+ return;
+ }
+
+ GL11.glPushMatrix();
+
+ long i = Runtime.getRuntime().maxMemory();
+ long j = Runtime.getRuntime().totalMemory();
+ long k = Runtime.getRuntime().freeMemory();
+ long l = j - k;
+
+ long usedMemory = Long.valueOf(bytesToMb(l));
+ long unusedMemory = Long.valueOf(bytesToMb(i));
+ long percentage = Long.valueOf(l * 100L / i);
+
+ String string = String.format("Memory: %2d%% %03d/%03dMB", new Object[]{percentage, usedMemory, unusedMemory});
+
+ if(this.percentage) {
+ string = "Memory: " + percentage + "%";
+ }
+
+
+ int width = hud.getWidth();
+ int height = hud.getHeight();
+
+ if(backGround) {
+ DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB(), background.getRGB());
+ }
+
+ float posY = hud.getY() + 2;
+ float posX = hud.getX() + 9;
+
+ if(customFont) {
+ hud.setWidth((int)FontManager.baloo17.getStringWidth(string) + 16);
+ hud.setHeight((int)FontManager.baloo17.getHeight(string) + 7);
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, true, true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawCustomFontChromaString(FontManager.baloo17, string, (int) (posX), (int) posY, false, true);
+ } else {
+ FontManager.baloo17.drawString(string,(int) (posX), (int)posY, color.getRGB());
+ }
+ } else {
+ hud.setWidth(mc.fontRendererObj.getStringWidth(string) + 16);
+ hud.setHeight(mc.fontRendererObj.FONT_HEIGHT + 9);
+
+
+ if(isUsingStaticChroma) {
+ DrawUtils.drawChromaString(string, posX, posY + 3, true, true);
+ } else if(isUsingWaveChroma) {
+ DrawUtils.drawChromaString(string, posX, posY+ 3, false, true);
+ } else {
+ mc.fontRendererObj.drawStringWithShadow(string, (float) (posX), (float) posY+ 3, color.getRGB());
+ }
+ }
+ GL11.glColor3f(1, 1, 1);
+ GL11.glPopMatrix();
+ }
+
+ private static long bytesToMb(long bytes) {
+ return bytes / 1024L / 1024L;
+ }
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/render/MouseHUD.java b/src/main/java/rip/athena/client/modules/impl/render/MouseHUD.java
new file mode 100644
index 00000000..bfa3b37a
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/MouseHUD.java
@@ -0,0 +1,246 @@
+package rip.athena.client.modules.impl.render;
+
+import net.minecraft.util.MathHelper;
+import org.lwjgl.input.Mouse;
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.client.ClientTickEvent;
+import rip.athena.client.events.types.input.MouseDownEvent;
+import rip.athena.client.events.types.input.MouseMoveEvent;
+import rip.athena.client.font.FontManager;
+import rip.athena.client.gui.hud.HUDElement;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+import rip.athena.client.utils.ClickCounter;
+import rip.athena.client.utils.render.DrawUtils;
+
+import java.awt.*;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/1/2023
+ */
+public class MouseHUD extends Module {
+ private final ClickCounter leftClickCounter = new ClickCounter();
+
+ private static long lastEvent;
+ public static float dx;
+ public static float dy;
+ public static float mX = 0;
+ public static float mY = 0;
+
+ float mouseMultiH = 4.0f;
+ float mouseMultiV = 2.5f;
+ float smoothX = 0.7F;
+ float smoothY = 0.4F;
+
+ @ConfigValue.Color(name = "Background Color")
+ private Color background = new Color(0, 0, 0, 150);
+
+ @ConfigValue.Color(name = "Mouse Color")
+ private Color mouseColor = Color.BLACK;
+
+ @ConfigValue.Color(name = "Center Color")
+ private Color centerColor = Color.WHITE;
+
+ @ConfigValue.Color(name = "Sidebar Color")
+ private Color sideBarColor = Color.BLACK;
+
+ @ConfigValue.Color(name = "Font Color")
+ private Color fontColor = Color.WHITE;
+
+ @ConfigValue.Boolean(name = "Custom Font")
+ private boolean customFont = false;
+
+ @ConfigValue.List(name = "Mode", values = {"Left", "Right"})
+ private String Mode = "Right";
+
+ private HUDElement hud;
+ private int width = 114;
+ private int height = 41;
+
+ public MouseHUD() {
+ super("Mouse HUD", Category.RENDER);
+
+ hud = new HUDElement("hud", width, height) {
+ @Override
+ public void onRender() {
+ render();
+ }
+ };
+
+ hud.setX(1);
+ hud.setY(190);
+
+ addHUD(hud);
+ }
+
+ public void render() {
+ if (mc.gameSettings.showDebugInfo) {
+ return;
+ }
+
+ GL11.glPushMatrix();
+ float posY = hud.getY();
+ float posX = hud.getX();
+
+ if(this.Mode.equalsIgnoreCase("Right")) {
+ /*
+ * Background
+ */
+ DrawUtils.drawGradientRect(posX, posY, posX + 70, posY + 21, background.getRGB(), background.getRGB());
+ DrawUtils.drawGradientRect(posX+70, posY, posX + 114, posY + 40.8,background.getRGB(), background.getRGB());
+ drawSlant((int)posX - 1, (int)posY-9,(int) 45, background.getRGB());
+ /*
+ * Font
+ */
+ if(fontColor.getBlue() == 5 && fontColor.getRed() == 5 && fontColor.getGreen() == 5) {
+ DrawUtils.drawChromaString(leftClickCounter.getCps() + " CPS", posX + 15, posY + 7, true, true);
+ } else if(fontColor.getBlue() == 6 && fontColor.getRed() == 6 && fontColor.getGreen() == 6) {
+ DrawUtils.drawChromaString(leftClickCounter.getCps() + " CPS", posX + 15, posY + 7, false, true);
+ } else {
+ if(customFont) {
+ FontManager.baloo17.drawStringWithShadow(leftClickCounter.getCps() + " CPS", (float) posX + 15, (float) posY + 5, fontColor.getRGB());
+ } else {
+ mc.fontRendererObj.drawStringWithShadow(leftClickCounter.getCps() + " CPS", (float) posX + 15, (float) posY + 7, fontColor.getRGB());
+ }
+ }
+ /*
+ * Sidebar
+ */
+ DrawUtils.drawGradientRect(posX, posY, posX + 5, posY + 21, sideBarColor.getRGB(), sideBarColor.getRGB());
+
+
+ DrawUtils.drawCircle((float)posX+90.0F, (float) posY+20.0F, 1, centerColor.getRGB(), 1, true);
+ DrawUtils.drawCircle((float)posX+90+mX, (float)posY+20+mY, 5, mouseColor.getRGB(), 1, false);
+ } else {
+ /*
+ * Background
+ */
+ DrawUtils.drawGradientRect(posX, posY, posX + 44, posY + 40.8, background.getRGB(), background.getRGB());
+ DrawUtils.drawGradientRect(posX+44, posY, posX + 114, posY + 21,background.getRGB(), background.getRGB());
+ drawSlant((int)posX-7,(int) posY-9, 315, background.getRGB());
+ /*
+ * Font
+ */
+ if(fontColor.getBlue() == 5 && fontColor.getRed() == 5 && fontColor.getGreen() == 5) {
+ DrawUtils.drawChromaString(leftClickCounter.getCps() + " CPS", posX + 75, posY + 7, true, true);
+ } else if(fontColor.getBlue() == 6 && fontColor.getRed() == 6 && fontColor.getGreen() == 6) {
+ DrawUtils.drawChromaString(leftClickCounter.getCps() + " CPS", posX + 75, posY + 7, false, true);
+ } else {
+ mc.fontRendererObj.drawStringWithShadow(leftClickCounter.getCps() + " CPS", (float) posX + 75, (float) posY + 7, fontColor.getRGB());
+ }
+ /*
+ * Sidebar
+ */
+ DrawUtils.drawGradientRect(posX + 109, posY, posX + 114,posY + 21, sideBarColor.getRGB(), sideBarColor.getRGB());
+
+ DrawUtils.drawCircle((float) posX+24, (float) posY+20.0F, 1, centerColor.getRGB(), 1, true);
+ DrawUtils.drawCircle((float) posX+24+mX, (float) posY+20+mY, 5, mouseColor.getRGB(), 1, false);
+ }
+ GL11.glColor3f(1, 1, 1);
+ GL11.glScaled(1, 1, 1);
+ GL11.glPopMatrix();
+ }
+
+ public void drawSlant(int x, int y, double rotation, int paramColor) {
+ float alpha = (float)(paramColor >> 24 & 0xFF) / 255F;
+ float red = (float)(paramColor >> 16 & 0xFF) / 255F;
+ float green = (float)(paramColor >> 8 & 0xFF) / 255F;
+ float blue = (float)(paramColor & 0xFF) / 255F;
+ GL11.glPushMatrix();
+ GL11.glClear(256);
+ //GL11.glEnable(GL11.GL_BLEND);
+ GL11.glDisable(GL11.GL_TEXTURE_2D);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ GL11.glEnable(GL11.GL_LINE_SMOOTH);
+
+ GL11.glColor4f(red, green, blue, alpha);
+ GL11.glScaled(1, 1, 1);
+ GL11.glTranslated(x+61, y+40, 0);
+ GL11.glRotated(rotation, 0F, 0F, 1.0F);
+
+ GL11.glPushMatrix();
+
+ GL11.glBegin(GL11.GL_TRIANGLES);
+ GL11.glVertex2d(0, -13.9);
+ GL11.glVertex2d(-13.9, 0);
+ GL11.glVertex2d(13.9, 0);
+ GL11.glEnd();
+ GL11.glPopMatrix();
+
+ GL11.glRotated(-rotation, 0F, 0F, 1.0F);
+ GL11.glTranslated(-x - 61, -y - 40, 0);
+
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ //GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDisable(GL11.GL_LINE_SMOOTH);
+ GL11.glPopMatrix();
+ }
+
+ @SubscribeEvent
+ public void onClick(MouseDownEvent e) {
+ if(e.getButton() == 0) {
+ leftClickCounter.onClick();
+ }
+ }
+
+ @SubscribeEvent
+ public void onClick(MouseMoveEvent e) {
+ dx = Mouse.getEventDX();
+ dy = Mouse.getEventDY();
+ lastEvent = System.currentTimeMillis();
+ }
+
+ @SubscribeEvent
+ public void update(ClientTickEvent event) {
+ float circleX = MathHelper.clamp_float(dx * mouseMultiH, -12.0f, 20.0f);
+ float circleY = MathHelper.clamp_float(-dy * mouseMultiV, -10.0f, 10.0f);
+
+ if (mX < circleX) {
+ if (mX + smoothX > circleX) {
+ mX = circleX;
+ }
+ else {
+ mX += smoothX;
+ }
+ }
+ else if (mX > circleX) {
+ if (mX - smoothX < circleX) {
+ mX = circleX;
+ }
+ else {
+ mX -= smoothX;
+ }
+ }
+ if (mY < circleY) {
+ if (mY + smoothY > circleY) {
+ mY = circleY;
+ }
+ else {
+ mY += smoothY;
+ }
+ }
+ else if (mY > circleY) {
+ if (mY - smoothY < circleY) {
+ mY = circleY;
+ }
+ else {
+ mY -= smoothY;
+ }
+ }
+ final boolean timeUp = timeSinceLastEvent() >= 45L;
+ if (timeUp) {
+ dx = 0;
+ }
+ if (timeUp) {
+ dy = 0;
+ }
+ }
+
+ public static long timeSinceLastEvent() {
+ return System.currentTimeMillis() - lastEvent;
+ }
+}
diff --git a/src/main/java/rip/athena/client/modules/impl/render/TPS.java b/src/main/java/rip/athena/client/modules/impl/render/TPS.java
new file mode 100644
index 00000000..4aae730b
--- /dev/null
+++ b/src/main/java/rip/athena/client/modules/impl/render/TPS.java
@@ -0,0 +1,210 @@
+package rip.athena.client.modules.impl.render;
+
+import net.minecraft.network.play.server.S03PacketTimeUpdate;
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.config.ConfigValue;
+import rip.athena.client.events.SubscribeEvent;
+import rip.athena.client.events.types.network.IngoingPacketEvent;
+import rip.athena.client.gui.hud.HUDElement;
+import rip.athena.client.modules.Category;
+import rip.athena.client.modules.Module;
+import rip.athena.client.utils.render.HUDUtil;
+
+import java.awt.*;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class TPS extends Module {
+ @ConfigValue.Boolean(name = "Preset Color")
+ private boolean presetColor = true;
+
+ @ConfigValue.Color(name = "TPS Color")
+ private Color tpsColor = Color.WHITE;
+
+ @ConfigValue.List(name = "Mode", values = {"Simple", "Number", "Graph", "Both"})
+ private String mode = "Number";
+
+ @ConfigValue.Boolean(name = "Custom Font")
+ private boolean customFont = false;
+
+ @ConfigValue.Boolean(name = "Background")
+ private boolean backGround = true;
+
+ @ConfigValue.Color(name = "Background Color")
+ private Color bColor = new Color(0, 0, 0, 90);
+
+ private List lastMeasurements = new CopyOnWriteArrayList<>();
+ private long lastTime = 0;
+ private boolean first = true;
+ private float tps;
+ private Color color;
+ private int count;
+
+ private HUDElement hud;
+ private int width = 56;
+ private int height = 18;
+
+ public TPS() {
+ super("TPS", Category.RENDER);
+
+ hud = new HUDElement("tps", width, height) {
+ @Override
+ public void onRender() {
+ render();
+ }
+ };
+
+ addHUD(hud);
+ }
+
+ @SubscribeEvent
+ public void onPacket(IngoingPacketEvent event) {
+ if (event.getPacket() instanceof S03PacketTimeUpdate) {
+ if(lastTime != 0) {
+ if(first) {
+ first = false;
+ return;
+ }
+ float tps = 20 * (1000F / (System.currentTimeMillis() - lastTime));
+ if(tps > 20) {
+ tps = 20;
+ }
+ if(lastMeasurements.isEmpty()) {
+ for(int i =0; i < 49; i++) {
+ lastMeasurements.add((float) 20);
+ }
+ }
+ if(lastMeasurements.size() > 56)
+ lastMeasurements.remove(0);
+ lastMeasurements.add(tps);
+ }
+ lastTime = System.currentTimeMillis();
+ }
+ }
+
+ public void render() {
+ GL11.glPushMatrix();
+
+ int posX = hud.getX();
+ int posY = hud.getY();
+
+ try {
+ if (lastMeasurements.size() > 0) {
+ Float value = lastMeasurements.get(lastMeasurements.size() - 1);
+ if(value != null) {
+ if (value < 17 && value >= 15)
+ color = Color.YELLOW;
+ else if (value < 15 && value >= 12)
+ color = Color.ORANGE;
+ else if (value < 12)
+ color = Color.RED;
+ else
+ color = Color.GREEN;
+ tps = value;
+ } else {
+ color = Color.GREEN;
+ tps = 20;
+ }
+ } else {
+ color = Color.GREEN;
+ tps = 20;
+ }
+ } catch (Exception e) {
+
+ }
+
+ String string = (int) tps + " TPS";
+ if(mode.equalsIgnoreCase("Number")) {
+ HUDUtil.drawHUD(string, posX, posY, width, height, bColor, backGround, presetColor ? color : tpsColor, customFont);
+ }
+ if(mode.equalsIgnoreCase("Graph")) {
+ HUDUtil.drawHUD("", posX, posY, width, height, bColor, backGround, presetColor ? color : tpsColor, customFont);
+ }
+ if(mode.equalsIgnoreCase("Both")) {
+ HUDUtil.drawHUD(string, posX, posY, width, height, bColor, backGround, presetColor ? color : tpsColor, customFont);
+ HUDUtil.drawHUD("", posX, posY+height, width, 10, bColor, backGround, presetColor ? color : tpsColor, customFont);
+ }
+
+ if(mode.equalsIgnoreCase("Both")) {
+ hud.setHeight((int) ( 10 + height));
+ } else {
+ hud.setHeight(height);
+ }
+ hud.setWidth(width);
+
+ if(mode.equalsIgnoreCase("Simple")) {
+ HUDUtil.drawString("[" + string + "]", posX, posY, presetColor ? color : tpsColor, customFont);
+ hud.setHeight((int)mc.fontRendererObj.FONT_HEIGHT);
+ hud.setWidth(mc.fontRendererObj.getStringWidth("[" + string + "]"));
+ }
+ GL11.glColor4f(1F, 1F, 1F, 1F);
+ GL11.glPopMatrix();
+
+
+ float x = 14;
+
+ float lastValue = 0;
+ int i = 0;
+
+
+ if(mode.equalsIgnoreCase("Graph") ||mode.equalsIgnoreCase("Both")) {
+ GL11.glPushMatrix();
+
+ GL11.glDisable(GL11.GL_CULL_FACE);
+ GL11.glDisable(GL11.GL_TEXTURE_2D);
+
+ GL11.glLineWidth(1F);
+ for(float value : lastMeasurements) {
+ GL11.glBegin(GL11.GL_LINES);
+ {
+ Color color;
+ if (value < 17 && value >= 15)
+ color = Color.YELLOW;
+ else if (value < 15 && value >= 12)
+ color = Color.ORANGE;
+ else if (value < 12)
+ color = Color.RED;
+ else
+ color = Color.GREEN;
+
+ GL11.glColor3f(color.getRed(), color.getGreen(),
+ color.getBlue());
+
+ if(mode.equalsIgnoreCase("Graph")) {
+ if (i > 0) {
+ GL11.glVertex2f((float) (70+posX) - (x - 1), (float)(posY + 20 + (height/2)) - lastValue);
+ GL11.glVertex2f((float)(70+posX) - x, (float)(posY + 20 + (height/2)) - value);
+ } else {
+ GL11.glVertex2f((float)(70+posX) - x, (float)(posY + 20 + (height/2)) - value);
+ GL11.glVertex2f((float)(70+posX) - x, (float)(posY + 20 + (height/2)) - value);
+ }
+ } else {
+ if (i > 0) {
+ GL11.glVertex2f((float)(70+posX) - (x - 1), (float)(posY + 20 + height) - lastValue);
+ GL11.glVertex2f((float)(70+posX) - x, (float)(posY + 20 + height) - value);
+ } else {
+ GL11.glVertex2f((float)(70+posX) - x, (float)(posY + 20 + height) - value);
+ GL11.glVertex2f((float)(70+posX) - x, (float)(posY + 20 + height) - value);
+ }
+ }
+
+ }
+ GL11.glEnd();
+ lastValue = value;
+ x += 1;
+ i++;
+ }
+
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ GL11.glEnable(GL11.GL_CULL_FACE);
+ GL11.glColor4f(1F, 1F, 1F, 1F);
+ GL11.glPopMatrix();
+ }
+
+ }
+}
diff --git a/src/main/java/rip/athena/client/utils/ClickCounter.java b/src/main/java/rip/athena/client/utils/ClickCounter.java
new file mode 100644
index 00000000..8d402431
--- /dev/null
+++ b/src/main/java/rip/athena/client/utils/ClickCounter.java
@@ -0,0 +1,28 @@
+package rip.athena.client.utils;
+
+import java.util.LinkedList;
+import java.util.Queue;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+public class ClickCounter {
+ private final Queue clicks = new LinkedList();
+
+ public void onClick() {
+ clicks.add(System.currentTimeMillis() + 1000L);
+ }
+
+ public int getCps() {
+ long time = System.currentTimeMillis();
+
+ while (!clicks.isEmpty() && clicks.peek() < time) {
+ clicks.remove();
+ }
+
+ return clicks.size();
+ }
+
+}
diff --git a/src/main/java/rip/athena/client/utils/PrefixedLogger.java b/src/main/java/rip/athena/client/utils/PrefixedLogger.java
index b8095321..c8b0efb3 100644
--- a/src/main/java/rip/athena/client/utils/PrefixedLogger.java
+++ b/src/main/java/rip/athena/client/utils/PrefixedLogger.java
@@ -5,6 +5,12 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.ThreadContext;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class PrefixedLogger {
private final Logger logger;
diff --git a/src/main/java/rip/athena/client/utils/StringUtils.java b/src/main/java/rip/athena/client/utils/StringUtils.java
index 78b62106..c309e1db 100644
--- a/src/main/java/rip/athena/client/utils/StringUtils.java
+++ b/src/main/java/rip/athena/client/utils/StringUtils.java
@@ -5,9 +5,20 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.UUID;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class StringUtils {
- public StringUtils() {}
-
+
+ /**
+ * Checks if the given string can be parsed as an integer.
+ *
+ * @param content The string to be checked.
+ * @return True if the string can be parsed as an integer, false otherwise.
+ */
public static boolean isInteger(String content) {
try {
Integer.valueOf(content);
@@ -16,7 +27,13 @@ public class StringUtils {
return false;
}
}
-
+
+ /**
+ * Checks if the given string can be parsed as a double.
+ *
+ * @param content The string to be checked.
+ * @return True if the string can be parsed as a double, false otherwise.
+ */
public static boolean isDouble(String content) {
try {
Double.valueOf(content);
@@ -25,7 +42,13 @@ public class StringUtils {
return false;
}
}
-
+
+ /**
+ * Checks if the given string can be parsed as a long.
+ *
+ * @param content The string to be checked.
+ * @return True if the string can be parsed as a long, false otherwise.
+ */
public static boolean isLong(String content) {
try {
Long.valueOf(content);
@@ -34,11 +57,23 @@ public class StringUtils {
return false;
}
}
-
+
+ /**
+ * Sanitizes the given string by replacing newline and carriage return characters with their escape sequences.
+ *
+ * @param content The string to be sanitized.
+ * @return The sanitized string.
+ */
public static String sanitize(String content) {
return content.replace("\n", "\\n").replace("\r", "\\r");
}
-
+
+ /**
+ * Parses a UUID from the given string.
+ *
+ * @param string The string to be parsed.
+ * @return The UUID parsed from the string, or null if the string is not a valid UUID.
+ */
public static UUID getUUID(String string) {
try {
return UUID.fromString(string);
@@ -46,7 +81,14 @@ public class StringUtils {
return null;
}
}
-
+
+ /**
+ * Generates a unique identifier based on system properties and environment variables.
+ *
+ * @return The generated unique identifier.
+ * @throws NoSuchAlgorithmException If the MD5 algorithm is not available.
+ * @throws IOException If an I/O error occurs while reading system properties or environment variables.
+ */
public static String ii() throws NoSuchAlgorithmException, IOException {
String s = "";
diff --git a/src/main/java/rip/athena/client/utils/input/InputUtils.java b/src/main/java/rip/athena/client/utils/input/InputUtils.java
new file mode 100644
index 00000000..f4397749
--- /dev/null
+++ b/src/main/java/rip/athena/client/utils/input/InputUtils.java
@@ -0,0 +1,32 @@
+package rip.athena.client.utils.input;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.ScaledResolution;
+import org.lwjgl.input.Mouse;
+
+import java.awt.*;
+
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
+public class InputUtils {
+
+ public static Point getMousePos() {
+ Minecraft mc = Minecraft.getMinecraft();
+ ScaledResolution sr = new ScaledResolution(mc);
+ int[] sizes = getWindowsSize();
+
+ int x = Mouse.getX() * sizes[0] / mc.displayWidth;
+ int y = sizes[1] - Mouse.getY() * sizes[1] / mc.displayHeight - 1;
+
+ return new Point(x, y);
+ }
+
+ public static int[] getWindowsSize() {
+ ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft());
+ return new int[] { sr.getScaledWidth(), sr.getScaledHeight() };
+ }
+}
diff --git a/src/main/java/rip/athena/client/utils/render/AssetUtils.java b/src/main/java/rip/athena/client/utils/render/AssetUtils.java
index b83a1c40..50c1fc17 100644
--- a/src/main/java/rip/athena/client/utils/render/AssetUtils.java
+++ b/src/main/java/rip/athena/client/utils/render/AssetUtils.java
@@ -10,6 +10,12 @@ import java.awt.image.BufferedImage;
import java.io.*;
import java.nio.file.Paths;
+/**
+ * @author Athena Development
+ * @project Athena-Client
+ * @date 6/2/2023
+ */
+
public class AssetUtils {
public AssetUtils() {}
diff --git a/src/main/java/rip/athena/client/utils/render/DrawUtils.java b/src/main/java/rip/athena/client/utils/render/DrawUtils.java
index 371ee228..88ea0ad5 100644
--- a/src/main/java/rip/athena/client/utils/render/DrawUtils.java
+++ b/src/main/java/rip/athena/client/utils/render/DrawUtils.java
@@ -1,7 +1,17 @@
package rip.athena.client.utils.render;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.Gui;
+import net.minecraft.client.gui.ScaledResolution;
+import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.WorldRenderer;
+import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
+import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL13;
+import rip.athena.client.font.FontUtils;
import java.awt.*;
@@ -10,6 +20,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/1/2023
*/
+
public enum DrawUtils {
BLACK(-16711423),
BLUE(-12028161),
@@ -32,10 +43,68 @@ public enum DrawUtils {
public int c;
- private DrawUtils(int co) {
+ DrawUtils(int co) {
this.c = co;
}
+ public static void displayFilledRectangle(int x1, int y1, int x2, int y2, Color color) {
+ GL11.glPushMatrix();
+
+ if (x1 < x2) {
+ int i = x1;
+ x1 = x2;
+ x2 = i;
+ }
+
+ if (y1 < y2) {
+ int j = y1;
+ y1 = y2;
+ y2 = j;
+ }
+
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glDisable(GL11.GL_TEXTURE_2D);
+ OpenGlHelper.glBlendFunc(770, 771, 1, 0);
+ GL11.glColor4f((float) color.getRed() / 255.0F, (float) color.getGreen() / 255.0F,
+ (float) color.getBlue() / 255.0F, (float) color.getAlpha() / 255.0F);
+ GL11.glBegin(GL11.GL_QUADS);
+ GL11.glVertex2f((float) x1, (float) y2);
+ GL11.glVertex2f((float) x2, (float) y2);
+ GL11.glVertex2f((float) x2, (float) y1);
+ GL11.glVertex2f((float) x1, (float) y1);
+ GL11.glEnd();
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glPopMatrix();
+ }
+
+ public static void drawCircle(float x, float y, double r, int c, float width, boolean filled)
+ {
+ float red = (float)(c >> 16 & 0xff) / 255F;
+ float green = (float)(c >> 8 & 0xff) / 255F;
+ float blue = (float)(c & 0xff) / 255F;
+ float alpha = (float)(c >> 24 & 0xff) / 255F;
+ GL11.glPushMatrix();
+ //GL11.glEnable(GL11.GL_BLEND);
+ GL11.glDisable(GL11.GL_TEXTURE_2D);
+ GL11.glEnable(GL11.GL_LINE_SMOOTH);
+ GL11.glBlendFunc(770, 771);
+ GL11.glLineWidth(width);
+ GL11.glColor4f(red, green, blue, alpha);
+ GL11.glBegin(filled?GL11.GL_TRIANGLE_FAN:GL11.GL_LINE_LOOP);
+ for(int i = 0; i <= 360; i++)
+ {
+ double x2 = Math.sin((i * 3.141526D / 180)) * r;
+ double y2 = Math.cos((i * 3.141526D / 180)) * r;
+ GL11.glVertex2d(x + x2, y + y2);
+ }
+ GL11.glEnd();
+ GL11.glDisable(GL11.GL_LINE_SMOOTH);
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ //GL11.glDisable(GL11.GL_BLEND);
+ GL11.glPopMatrix();
+ }
+
public static void color(int color) {
float f = (float) (color >> 24 & 255) / 255.0f;
float f1 = (float) (color >> 16 & 255) / 255.0f;
@@ -44,6 +113,17 @@ public enum DrawUtils {
GL11.glColor4f((float) f1, (float) f2, (float) f3, (float) f);
}
+ public static void drawImage(ResourceLocation image, int x, int y, int width, int height) {
+ GlStateManager.enableAlpha();
+ GlStateManager.enableBlend();
+ GlStateManager.blendFunc(770, 771);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(image);
+ GlStateManager.color(1, 1, 1);
+ Gui.drawModalRectWithCustomSizedTexture(x, y, 0.0F, 0.0F, width, height, width, height);
+ GlStateManager.disableBlend();
+ GlStateManager.disableAlpha();
+ }
+
public static int reAlpha(int color, float alpha) {
try {
Color c = new Color(color);
@@ -57,6 +137,161 @@ public enum DrawUtils {
return color;
}
+ public static void drawChromaString(String string, double x, double y, boolean static_chroma, boolean shadow) {
+ Minecraft mc = Minecraft.getMinecraft();
+
+ if (static_chroma) {
+ int i = Color.HSBtoRGB((float) (System.currentTimeMillis() % 5000L) / 5000.0F, 0.8F, 0.8F);
+ mc.fontRendererObj.drawString(string, (float) x, (float) y, i, shadow);
+ } else {
+ double xTmp = x;
+ for (char textChar : string.toCharArray()) {
+ long l = (long) (System.currentTimeMillis() - (xTmp * 10 - y * 10));
+ int i = Color.HSBtoRGB(l % (int) 2000.0F / 2000.0F, .8F, .8F);
+ String tmp = String.valueOf(textChar);
+ mc.fontRendererObj.drawString(tmp, (float) xTmp, (float) y, i, shadow);
+ xTmp += mc.fontRendererObj.getCharWidth(textChar);
+ }
+ }
+ }
+
+ public static void drawSquareTexture(ResourceLocation resourceLocation, float size, float x, float y) {
+ GL11.glPushMatrix();
+ float width = size * 2;
+ float height = size * 2;
+ float u = 0, v = 0;
+ float uWidth = size, vHeight = size;
+ float textureWidth = size, textureHeight = size;
+ GL11.glEnable(3042);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation);
+ GL11.glBegin(7);
+ GL11.glTexCoord2d(u / textureWidth, v / textureHeight);
+ GL11.glVertex2d(x, y);
+ GL11.glTexCoord2d(u / textureWidth, (v + vHeight) / textureHeight);
+ GL11.glVertex2d(x, y + height);
+ GL11.glTexCoord2d((u + uWidth) / textureWidth, (v + vHeight) / textureHeight);
+ GL11.glVertex2d(x + width, y + height);
+ GL11.glTexCoord2d((u + uWidth) / textureWidth, v / textureHeight);
+ GL11.glVertex2d(x + width, y);
+ GL11.glEnd();
+ GL11.glDisable(3042);
+ GL11.glPopMatrix();
+ }
+
+ public static void drawStrip(int x, int y, float width, double angle, float points, float radius, int color) {
+ GL11.glPushMatrix();
+ float f1 = (float) (color >> 24 & 255) / 255.0F;
+ float f2 = (float) (color >> 16 & 255) / 255.0F;
+ float f3 = (float) (color >> 8 & 255) / 255.0F;
+ float f4 = (float) (color & 255) / 255.0F;
+ GL11.glTranslatef(x, y, 0);
+ GL11.glColor4f(f2, f3, f4, f1);
+ GL11.glLineWidth(width);
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glDisable(GL11.GL_DEPTH_TEST);
+ GL11.glEnable(GL11.GL_LINE_SMOOTH);
+ GL11.glDisable(GL11.GL_TEXTURE_2D);
+ GL11.glDisable(GL11.GL_ALPHA_TEST);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_NICEST);
+ GL11.glEnable(GL13.GL_MULTISAMPLE);
+
+ if (angle > 0) {
+ GL11.glBegin(GL11.GL_LINE_STRIP);
+
+ for (int i = 0; i < angle; i++) {
+ float a = (float) (i * (angle * Math.PI / points));
+ float xc = (float) (Math.cos(a) * radius);
+ float yc = (float) (Math.sin(a) * radius);
+ GL11.glVertex2f(xc, yc);
+ }
+
+ GL11.glEnd();
+ }
+
+ if (angle < 0) {
+ GL11.glBegin(GL11.GL_LINE_STRIP);
+
+ for (int i = 0; i > angle; i--) {
+ float a = (float) (i * (angle * Math.PI / points));
+ float xc = (float) (Math.cos(a) * -radius);
+ float yc = (float) (Math.sin(a) * -radius);
+ GL11.glVertex2f(xc, yc);
+ }
+
+ GL11.glEnd();
+ }
+
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ GL11.glDisable(GL11.GL_LINE_SMOOTH);
+ GL11.glEnable(GL11.GL_ALPHA_TEST);
+ GL11.glEnable(GL11.GL_DEPTH_TEST);
+ GL11.glDisable(GL13.GL_MULTISAMPLE);
+ GL11.glDisable(GL11.GL_MAP1_VERTEX_3);
+ GL11.glPopMatrix();
+ }
+
+ public static void drawCustomFontChromaString(FontUtils font, String string, int x, int y, boolean static_chroma, boolean shadow) {
+ Minecraft mc = Minecraft.getMinecraft();
+ if (static_chroma) {
+
+ int i = Color.HSBtoRGB((float) (System.currentTimeMillis() % 5000L) / 5000.0F, 0.8F, 0.8F);
+ font.drawString(string, x, y, i);
+ } else {
+ int xTmp = x;
+ for (char textChar : string.toCharArray()) {
+ long l = (long) (System.currentTimeMillis() - (xTmp * 10 - y * 10));
+ int i = Color.HSBtoRGB(l % (int) 2000.0F / 2000.0F, 0.8F, 0.8F);
+ String tmp = String.valueOf(textChar);
+ font.drawString(tmp, xTmp, y, i);
+ xTmp += font.getStringWidth(tmp);
+ }
+ }
+ }
+
+ public static int getCenterX() {
+ Minecraft minecraft = Minecraft.getMinecraft();
+ ScaledResolution scaledresolution = new ScaledResolution(minecraft);
+ return minecraft.displayWidth / (2 * scaledresolution.getScaleFactor());
+ }
+
+ public static int getCenterY() {
+ Minecraft minecraft = Minecraft.getMinecraft();
+ ScaledResolution scaledresolution = new ScaledResolution(minecraft);
+ return minecraft.displayHeight / (2 * scaledresolution.getScaleFactor());
+ }
+
+ public static void drawGradientRect(double minX, double minY, double maxX, double maxY, int par5, int par6) {
+ int zLevel = 0;
+
+ GL11.glPushMatrix();
+ final float f = (par5 >> 24 & 255) / 255.0F;
+ final float f1 = (par5 >> 16 & 255) / 255.0F;
+ final float f2 = (par5 >> 8 & 255) / 255.0F;
+ final float f3 = (par5 & 255) / 255.0F;
+ final float f4 = (par6 >> 24 & 255) / 255.0F;
+ final float f5 = (par6 >> 16 & 255) / 255.0F;
+ final float f6 = (par6 >> 8 & 255) / 255.0F;
+ final float f7 = (par6 & 255) / 255.0F;
+ GL11.glDisable(GL11.GL_TEXTURE_2D);
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glDisable(GL11.GL_ALPHA_TEST);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ GL11.glShadeModel(GL11.GL_SMOOTH);
+ final WorldRenderer tessellator = Tessellator.getInstance().getWorldRenderer();
+ tessellator.begin(7, DefaultVertexFormats.POSITION_COLOR);
+ tessellator.pos(maxX, minY, zLevel).color(f1, f2, f3, f).endVertex();
+ tessellator.pos(minX, minY, zLevel).color(f1, f2, f3, f).endVertex();
+ tessellator.pos(minX, maxY, zLevel).color(f5, f6, f7, f4).endVertex();
+ tessellator.pos(maxX, maxY, zLevel).color(f5, f6, f7, f4).endVertex();
+ Tessellator.getInstance().draw();
+ GL11.glShadeModel(GL11.GL_FLAT);
+ GL11.glEnable(GL11.GL_ALPHA_TEST);
+ GL11.glEnable(GL11.GL_TEXTURE_2D);
+ GL11.glPopMatrix();
+ }
+
public static void drawRoundedRect(int x0, int y0, int x1, int y1, float radius, int color) {
int i = 18;
float f = 90.0F / (float) i;
diff --git a/src/main/java/rip/athena/client/utils/render/HUDUtil.java b/src/main/java/rip/athena/client/utils/render/HUDUtil.java
new file mode 100644
index 00000000..7685f2f6
--- /dev/null
+++ b/src/main/java/rip/athena/client/utils/render/HUDUtil.java
@@ -0,0 +1,227 @@
+package rip.athena.client.utils.render;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.WorldRenderer;
+import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.BlockPos;
+import org.lwjgl.opengl.GL11;
+import rip.athena.client.font.FontManager;
+
+import java.awt.*;
+
+public class HUDUtil {
+
+ private static Minecraft mc = Minecraft.getMinecraft();
+
+ public static void drawHUD(String message, int x, int y, int width, int height, Color bColor, boolean bG, Color sColor, boolean customFont) {
+ if (mc.gameSettings.showDebugInfo) {
+ return;
+ }
+
+ if(bG) {
+ DrawUtils.displayFilledRectangle(x, y, x+width, y+height, bColor);
+ }
+
+ int stringWidth = getStringWidth(message);
+ if(customFont) {
+ drawString(message, x + (width/2) - (stringWidth/2) , y + (height/2) - (getStringHeight()/2), sColor, true);
+ } else {
+ drawString(message, x + (width/2) - (stringWidth/2) , y + (height/2) - (getStringHeight()/2), sColor, false);
+ }
+
+ }
+
+ public static void drawString(String message, int x, int y, Color color, boolean customFont) {
+ int c = color.getRGB();
+ if(color.getRed() == 5 && color.getGreen() == 5 && color.getBlue() == 5) {
+ c = Color.HSBtoRGB((float) (System.currentTimeMillis() % 50000L) / 5000.0F, 1F, 1F);
+ }
+ else if(color.getRed() == 6 && color.getGreen() == 6 && color.getBlue() == 6) {
+ double xTmp = x;
+ for(char letter : message.toCharArray()) {
+ long l = (long) (System.currentTimeMillis() - (xTmp * 10 - y * 10));
+ int i = Color.HSBtoRGB(l % (int) 10000.0F / 10000.0F, 1F, 1F);
+ String tmp = String.valueOf(letter);
+
+ if(customFont) {
+ FontManager.baloo17.drawString(tmp, (int) xTmp, (int) y, i);
+ xTmp += FontManager.baloo17.getCharWidth(letter);
+ } else {
+ mc.fontRendererObj.drawString(tmp, (int) xTmp, (int) y, i);
+ xTmp += mc.fontRendererObj.getCharWidth(letter);
+ }
+ }
+ return;
+ }
+
+ if(customFont) {
+ FontManager.baloo17.drawString(message, x, y, c);
+ } else {
+ mc.fontRendererObj.drawString(message, x, y, c, false);
+ }
+ }
+
+ public static void drawString(String message, float x, float y, Color color, boolean shadow) {
+ drawString(message, (int) x, (int) y, color, shadow);
+ }
+
+ public static void drawString(String message, double x, double y, Color color, boolean shadow) {
+ drawString(message, (int) x, (int) y, color, shadow);
+ }
+
+ public static void drawHUD(String message, int x, int y, int width, int height, Color bColor, Color sColor) {
+ drawHUD(message, x, y, width, height, bColor, true, sColor, true);
+ }
+
+ public static void drawHUD(String message, float x, float y, int width, int height, Color bColor, boolean bG, Color sColor, boolean shadow) {
+ drawHUD(message, (int)x,(int) y, width, height, bColor, bG, sColor, shadow);
+ }
+
+ public static void drawHUD(String message, float x, float y, int width, int height, Color bColor, boolean bG, Color sColor, boolean shadow, boolean simple) {
+ if(simple) {
+ drawString(message, (int) x, (int) y, sColor, shadow);
+ } else {
+ drawHUD(message, (int)x,(int) y, width, height, bColor, bG, sColor, shadow);
+ }
+ }
+
+ public static void highlight(Block block, BlockPos pos, Color hColor)
+ {
+
+ float red = hColor.getRed()/ 255.0f;
+ float green = hColor.getGreen()/ 255.0f;
+ float blue = hColor.getBlue()/ 255.0f;
+ float alpha = hColor.getAlpha()/ 255.0f;
+
+
+ float bx, by, bz;
+
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer vertexBuffer = tessellator.getWorldRenderer();
+
+
+
+ double renderPosX = mc.getRenderManager().viewerPosX;
+ double renderPosY = mc.getRenderManager().viewerPosY;
+ double renderPosZ = mc.getRenderManager().viewerPosZ;
+
+ GlStateManager.pushMatrix();
+ GlStateManager.enableBlend();
+ GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0);
+ GlStateManager.disableTexture2D();
+ GlStateManager.depthMask(false);
+
+ GL11.glLineWidth(1);
+ GL11.glColor4f(red, green, blue, 0.5F);
+
+
+ AxisAlignedBB bb = block.getSelectedBoundingBox(mc.theWorld, pos).expand(0.0020000000949949026D, -0.000000000949949026D, 0.0020000000949949026D).offset(-renderPosX, -renderPosY, -renderPosZ);
+
+ drawFilledBoundingBox(bb);
+ GL11.glLineWidth(1F);
+ GlStateManager.depthMask(true);
+ GlStateManager.enableTexture2D();
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ GlStateManager.disableBlend();
+ GlStateManager.popMatrix();
+
+ }
+
+ public static void drawFilledBoundingBox(AxisAlignedBB box) {
+
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldRenderer = tessellator.getWorldRenderer();
+
+ worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION);
+ worldRenderer.pos(box.minX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.maxZ).endVertex();
+ tessellator.draw();
+
+ worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION);
+ worldRenderer.pos(box.maxX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.maxZ).endVertex();
+ tessellator.draw();
+
+ worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION);
+ worldRenderer.pos(box.minX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.minZ).endVertex();
+ tessellator.draw();
+
+ worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION);
+ worldRenderer.pos(box.minX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.minZ).endVertex();
+ tessellator.draw();
+
+ worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION);
+ worldRenderer.pos(box.minX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.minZ).endVertex();
+ tessellator.draw();
+
+ worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION);
+ worldRenderer.pos(box.minX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.maxZ).endVertex();
+ worldRenderer.pos(box.minX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.minX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.minZ).endVertex();
+ worldRenderer.pos(box.maxX, box.maxY, box.maxZ).endVertex();
+ worldRenderer.pos(box.maxX, box.minY, box.maxZ).endVertex();
+ tessellator.draw();
+ }
+
+ public static void drawTexturedModalRect(int x, int y, int u, int v, int width, int height, float zLevel)
+ {
+ float var7 = 0.00390625F;
+ float var8 = 0.00390625F;
+ WorldRenderer tessellator = Tessellator.getInstance().getWorldRenderer();
+ tessellator.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
+ tessellator.pos((x + 0),(y + height),zLevel).tex(((u + 0) * var7), ((v + height) * var8)).endVertex();
+ tessellator.pos((x + width), (y + height), zLevel).tex(((u + width) * var7), ((v + height) * var8)).endVertex();
+ tessellator.pos((x + width), (y + 0), zLevel).tex(((u + width) * var7), ((v + 0) * var8)).endVertex();
+ tessellator.pos((x + 0), (y + 0), zLevel).tex(((u + 0) * var7), ((v + 0) * var8)).endVertex();
+ Tessellator.getInstance().draw();
+ }
+
+ public static int getStringWidth(String string) {
+ return mc.fontRendererObj.getStringWidth(string);
+ }
+
+ public static int getStringHeight() {
+ return mc.fontRendererObj.FONT_HEIGHT;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/minecraft/Athena/images/gear.png b/src/main/resources/assets/minecraft/Athena/images/gear.png
new file mode 100644
index 00000000..7ee1d09c
Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/images/gear.png differ
diff --git a/src/main/resources/assets/minecraft/Athena/images/gear_white.png b/src/main/resources/assets/minecraft/Athena/images/gear_white.png
new file mode 100644
index 00000000..c29cba4a
Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/images/gear_white.png differ
diff --git a/src/main/resources/assets/minecraft/Athena/menu/exit.png b/src/main/resources/assets/minecraft/Athena/menu/exit.png
new file mode 100644
index 00000000..c1be7711
Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/menu/exit.png differ
diff --git a/src/main/resources/assets/minecraft/Athena/menu/usericon.png b/src/main/resources/assets/minecraft/Athena/menu/usericon.png
new file mode 100644
index 00000000..5d752807
Binary files /dev/null and b/src/main/resources/assets/minecraft/Athena/menu/usericon.png differ
diff --git a/src/main/resources/assets/minecraft/optifine/lang/cs_CZ.lang b/src/main/resources/assets/minecraft/optifine/lang/cs_CZ.lang
new file mode 100644
index 00000000..369693ed
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/cs_CZ.lang
@@ -0,0 +1,586 @@
+# HlavnÃ
+of.general.ambiguous=dvojznaÄný
+of.general.custom=VlastnÃ
+of.general.from=Z
+of.general.id=Id
+of.general.restart=restart
+of.general.smart=Chytrá
+
+# Klávesy
+of.key.zoom=PÅ™iblÞenÃ
+
+# Zprávy
+of.message.aa.shaders1=Antialiasing nenà kompatibilnà se StÃny.
+of.message.aa.shaders2=ProsÃm vypni StÃny pro použità téhle možnosti.
+
+of.message.af.shaders1=Anizotropnà Filtrovánà nenà kompatibilnà se StÃny.
+of.message.af.shaders2=ProsÃm vypni StÃny pro použità téhle možnosti.
+
+of.message.fr.shaders1=Rychlý Render nenà kompatibilnà se StÃny.
+of.message.fr.shaders2=ProsÃm vypni StÃny pro použità téhle možnosti
+
+of.message.an.shaders1=3D zobrazenà nenà kompatibilnà se StÃny.
+of.message.an.shaders2=ProsÃm vypni StÃny pro použità téhle možnosti.
+
+of.message.shaders.aa1=StÃny nejsou kompatibilnà s Antialiasingem.
+of.message.shaders.aa2=Jdi do nastavenà Kvality -> Antialiasing na VYPNUTO.
+
+of.message.shaders.af1=StÃny nejsou kompatibilnà s AnizotropnÃm FiltrovánÃm.
+of.message.shaders.af2=Jdi do nastavenà Kvality -> Anizotropnà Filtrovánà na VYPNUTO.
+
+of.message.shaders.fr1=StÃny nejsou komoatibilnà s Rychlým Renderem.
+of.message.shaders.fr2=Jdi do nastavenà Výkonu -> Rychlý Render na VYPNUTO.
+
+of.message.shaders.an1=StÃny nejsou kompatibilnà se 3D zobrazenÃm.
+of.message.shaders.an2=Jdi do nastavenà OstatnÃho -> 3D zobrazenà na VYPNUTO.
+
+of.message.newVersion=Nová verze §eOptiFinu§f je k dispozici: §e%s§f
+of.message.java64Bit=Můžeš si nainstalovat §e64-bitovou Javu§f pro zvýšenà výkonu.
+of.message.openglError=§eChyba OpenGL§f: %s (%s)
+
+of.message.shaders.loading=NaÄÃtám stÃny: %s
+
+of.message.other.reset=Vyresetovat všechno nastavenà videa (grafiky) na výchozà hodnoty?
+
+of.message.loadingVisibleChunks=NaÄÃtám vididetlné chunky
+
+# Nastavenà Grafiky
+
+options.graphics.tooltip.1=Vizuálnà kvality
+options.graphics.tooltip.2= Rychlá - nižšà kvalita, rychlejÅ¡Ã
+options.graphics.tooltip.3= PÄ›kná - vyÅ¡Å¡Ã kvalita, pomalejÅ¡Ã
+options.graphics.tooltip.4=MÄ›nà vzhled mraků, listÃ, vody,
+options.graphics.tooltip.5=stÃnů a stran trávnÃků.
+
+of.options.renderDistance.tiny=MaliÄký
+of.options.renderDistance.short=Malý
+of.options.renderDistance.normal=NormálnÃ
+of.options.renderDistance.far=Velký
+of.options.renderDistance.extreme=ExtrémnÃ
+
+options.renderDistance.tooltip.1=Dohled
+options.renderDistance.tooltip.2= 2 MaliÄký - 32m (nejrychlejÅ¡Ã)
+options.renderDistance.tooltip.3= 4 Malý - 64m (rychlejÅ¡Ã)
+options.renderDistance.tooltip.4= 8 Normálnà - 128m
+options.renderDistance.tooltip.5= 16 Velký - 256m (pomalejÅ¡Ã)
+options.renderDistance.tooltip.6= 32 Extrémnà - 512m (nejpomalejÅ¡Ã!)
+options.renderDistance.tooltip.7=Extrémnà Viditelná vzdálenost je velmi výkonovÄ› nároÄná!
+options.renderDistance.tooltip.8=Hodnoty nad 16 Velká jsou pouze pro lokálnà světy.
+
+options.ao.tooltip.1=Vyhlazené osvÄ›tlenÃ.
+options.ao.tooltip.2= VYPNUTO - žádné vyhlazené osvětlenà (rychlé)
+options.ao.tooltip.3= Minimálnà - jednoduché vyhlazené osvÄ›tlenà (pomalejÅ¡Ã)
+options.ao.tooltip.4= Maximálnà - kompletnÄ› vyhlazené osvÄ›tlenà (nejpomalejÅ¡Ã)
+
+options.framerateLimit.tooltip.1=Maximálnà FPS
+options.framerateLimit.tooltip.2= VSync - limitované pro max poÄet FPS pro monitor (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - nastavitelné
+options.framerateLimit.tooltip.4= Neomezené - bez limitu (nejrychlejÅ¡Ã)
+options.framerateLimit.tooltip.5=FPS nepÅ™ekroÄÃ
+options.framerateLimit.tooltip.6=stanovenou hondotu.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Úroveň Vyhlazeného OsvÄ›tlenÃ
+of.options.AO_LEVEL.tooltip.1=Úroveň vyhlazeného osvÄ›tlenÃ
+of.options.AO_LEVEL.tooltip.2= VYPNUTO - žádné stÃny
+of.options.AO_LEVEL.tooltip.3= 50%% - svÄ›tlé stÃny
+of.options.AO_LEVEL.tooltip.4= 100%% - tmavé stÃny
+
+options.viewBobbing.tooltip.1=VÃce realistický pohyb
+options.viewBobbing.tooltip.2=Pokud použÃváš mipmaping, nastav na VYPNUTO pro nejlepÅ¡Ã výsledky.
+
+options.guiScale.tooltip.1=Velikost GUI
+options.guiScale.tooltip.2= Automatická - maximálnà velikost
+options.guiScale.tooltip.3= Malá, NormálnÃ, Velká - 1x až 3x
+options.guiScale.tooltip.4= 4x do 10x - dostupné na 4K obrazovkách
+options.guiScale.tooltip.5=Liché hodnoty (1x, 3x, 5x ...) nejsou kompatibilnà s pÃsmem Unicode.
+options.guiScale.tooltip.6=MenÅ¡Ã GUI mohou být rychlejÅ¡Ã.
+
+options.vbo.tooltip.1=VertexovÄ› VyrovnávajÃcà objekty
+options.vbo.tooltip.2=PoužÃvá alternativnà model renderovánÃ, který je
+options.vbo.tooltip.3=rychlejÅ¡Ã (5-10%%) oproti výchozÃmu renderovánÃ.
+
+options.gamma.tooltip.1=Zvýšà jas tmavých objektů.
+options.gamma.tooltip.2= Tmavý - standardnà jas
+options.gamma.tooltip.3= 1-99%% - nastavitelné
+options.gamma.tooltip.4= Jasný - maximálnà jas tmavých objektů
+options.gamma.tooltip.5=Tato možnost nezměnà jas
+options.gamma.tooltip.6=úplně tmavých objektů.
+
+options.anaglyph.tooltip.1=3D ZobrazenÃ
+options.anaglyph.tooltip.2=Zapne stereoskopické 3D, které použÃvá dané barvy
+options.anaglyph.tooltip.3=pro dané oko.
+options.anaglyph.tooltip.4=Vyžaduje Äerveno-modré brýle pro lepÅ¡Ã vidÄ›nÃ.
+
+of.options.ALTERNATE_BLOCKS=Alternativnà Bloky
+options.blockAlternatives.tooltip.1=Alternativnà Bloky
+options.blockAlternatives.tooltip.2=PoužÃvá alternativnà model bloku pro nÄ›které modely.
+options.blockAlternatives.tooltip.3=Záležà na vybraném balÃÄku zdrojů.
+
+of.options.FOG_FANCY=Mlha
+of.options.FOG_FANCY.tooltip.1=Typ mlhy
+of.options.FOG_FANCY.tooltip.2= Rychlá - rychlejšà mlha
+of.options.FOG_FANCY.tooltip.3= Pěkná - pomalejšà mlha, vypadá pěkněji
+of.options.FOG_FANCY.tooltip.4= VYPNUTO - žádná mlha, rychlejÅ¡Ã
+of.options.FOG_FANCY.tooltip.5=Pěkná mlha se aktivuje jen když je podporována
+of.options.FOG_FANCY.tooltip.6=grafickou kartou.
+
+of.options.FOG_START=ZaÄátek Mlhy
+of.options.FOG_START.tooltip.1=Start Mlhy
+of.options.FOG_START.tooltip.2= 0.2 - mlha zaÄne pÅ™Ãmo u hráÄe
+of.options.FOG_START.tooltip.3= 0.8 - mlha zaÄne daleko od hráÄe
+of.options.FOG_START.tooltip.4=Tato možnost většinou neovlivňuje výkon.
+
+of.options.CHUNK_LOADING=NaÄÃtanà Chunků
+of.options.CHUNK_LOADING.tooltip.1= NaÄÃtanà Chunků
+of.options.CHUNK_LOADING.tooltip.2= Výchozà - nestabilnà FPS pÅ™i naÄÃtánà chunků
+of.options.CHUNK_LOADING.tooltip.3= Plynulé - stabilnà FPS
+of.options.CHUNK_LOADING.tooltip.4= Multi-Jádra - stabilnà FPS, 3x rychlejÅ¡Ã naÄÃtánà svÄ›ta
+of.options.CHUNK_LOADING.tooltip.5=Plynulé a Multi-Jádra - odstranà sekánà a
+of.options.CHUNK_LOADING.tooltip.6=zmrazovánà způsobené naÄÃtánÃm chunků.
+of.options.CHUNK_LOADING.tooltip.7=Multi-Jádro může 3x zrychlit naÄÃtánà svÄ›ta a
+of.options.CHUNK_LOADING.tooltip.8=zvýšit FPS použÃvánÃm druhého jádra.
+of.options.chunkLoading.smooth=Plynulé
+of.options.chunkLoading.multiCore=Multi-Jádro
+
+of.options.shaders=StÃny...
+of.options.shadersTitle=StÃny
+
+of.options.shaders.packNone=VYPNUTO
+of.options.shaders.packDefault=(vložené)
+
+of.options.shaders.ANTIALIASING=Antialiasing
+of.options.shaders.NORMAL_MAP=Normálnà Mapa
+of.options.shaders.SPECULAR_MAP=Zrcadlová Mapa
+of.options.shaders.RENDER_RES_MUL=Kvalita Renderu
+of.options.shaders.SHADOW_RES_MUL=Kvalita OsvÄ›tlenÃ
+of.options.shaders.HAND_DEPTH_MUL=RuÄnà Hloubka
+of.options.shaders.CLOUD_SHADOW=StÃny mraků
+of.options.shaders.OLD_HAND_LIGHT=Staré PÅ™ednà OsvÄ›tlenÃ
+of.options.shaders.OLD_LIGHTING=Staré OsvÄ›tlenÃ
+of.options.shaders.SHADER_PACK=BalÃÄek StÃnů
+
+of.options.shaders.shadersFolder=Složka StÃnů
+of.options.shaders.shaderOptions=Možnosti StÃnů...
+
+of.options.shaderOptionsTitle=Možnosti StÃnů
+
+of.options.quality=Kvalita...
+of.options.qualityTitle=Nastavenà Kvality
+
+of.options.details=Detaily...
+of.options.detailsTitle=Nastavenà Detailů
+
+of.options.performance=Výkon...
+of.options.performanceTitle=Nastavenà Výkonu
+
+of.options.animations=Animace...
+of.options.animationsTitle=Nastavenà AnimacÃ
+
+of.options.other=OstatnÃ...
+of.options.otherTitle=DalÅ¡Ã NastavenÃ
+
+of.options.other.reset=Vyresetovat Nastavenà Videa/Grafiky ...
+
+of.shaders.profile=Profil
+
+# Kvalita
+
+of.options.mipmap.bilinear=BilineánÃ
+of.options.mipmap.linear=LineárnÃ
+of.options.mipmap.nearest=NejbližšÃ
+of.options.mipmap.trilinear=TrilineárnÃ
+
+options.mipmapLevels.tooltip.1=Vizuálnà efekty mohou udÄ›lat vzdálenÄ›jÅ¡Ã objekty pÄ›knÄ›jÅ¡Ã
+options.mipmapLevels.tooltip.2=vyhlazovánÃm a detailnÃmi texturami.
+options.mipmapLevels.tooltip.3= VYPNUTO - žádné vyhlazovánÃ
+options.mipmapLevels.tooltip.4= 1 - minimálnà vyhlazovánÃ
+options.mipmapLevels.tooltip.5= 4 - maximálnà vyhlazovánÃ
+options.mipmapLevels.tooltip.6=Tato možnost většinou neovlivňuje výkon.
+
+of.options.MIPMAP_TYPE=Typ Mipmapy
+of.options.MIPMAP_TYPE.tooltip.1=Vizuálnà efekty mohou udÄ›lat vzdálenÄ›jÅ¡Ã objekty pÄ›knÄ›jÅ¡Ã
+of.options.MIPMAP_TYPE.tooltip.2=vyhlazovánÃm a detailnÃmi texturami.
+of.options.MIPMAP_TYPE.tooltip.3= Nejbližšà - hrubé vyhlazovánà (nejrychlejÅ¡Ã)
+of.options.MIPMAP_TYPE.tooltip.4= Lineárnà - normálnà vyhlazovánÃ
+of.options.MIPMAP_TYPE.tooltip.5= Bilineárnà - dobré vyhlazovánÃ
+of.options.MIPMAP_TYPE.tooltip.6= Trilineárnà - nejlepÅ¡Ã vyhlazovánà (nejpomalejÅ¡Ã)
+
+
+of.options.AA_LEVEL=Antialiasing
+of.options.AA_LEVEL.tooltip.1=Antialiasing
+of.options.AA_LEVEL.tooltip.2= VYPNUTO - (výchozÃ) žádný Antialiasing (rychlé)
+of.options.AA_LEVEL.tooltip.3= 2-16 - vyhlazované hrany a lajny (pomalé)
+of.options.AA_LEVEL.tooltip.4=Antialiasing vyhlazuje rozviklané hrany a
+of.options.AA_LEVEL.tooltip.5=přechody ostrých barev.
+of.options.AA_LEVEL.tooltip.6=Pokud je zapnuto, výrazně zmenšà FPS.
+of.options.AA_LEVEL.tooltip.7=Ne všechny úrovně jsou podporované všemi grafickými kartami.
+of.options.AA_LEVEL.tooltip.8=Efektivnà po RESTARTU!
+
+of.options.AF_LEVEL=Antizotropnà FiltrovánÃ
+of.options.AF_LEVEL.tooltip.1= Antizotropnà FiltrovánÃ
+of.options.AF_LEVEL.tooltip.2= VYPNUTO - (výchozÃ) standartnà detaily textur (rychlé)
+of.options.AF_LEVEL.tooltip.3= 2-16 - lepšà detaily v mipmapovaných texturách (pomalé)
+of.options.AF_LEVEL.tooltip.4= Antizotropnà Filtrovánà zachová všechny detaily v
+of.options.AF_LEVEL.tooltip.5=mipmapovaných texturách.
+of.options.AF_LEVEL.tooltip.6=Pokud je zapnuto, výraznÄ› snÞà FPS.
+
+of.options.CLEAR_WATER=Čistá Voda
+of.options.CLEAR_WATER.tooltip.1= Čistá Voda
+of.options.CLEAR_WATER.tooltip.2= ZAPNUTO - Äistá, průhledná voda
+of.options.CLEAR_WATER.tooltip.3= VYPNUTO - výchozà voda
+
+of.options.RANDOM_MOBS=Náhodnà Mobové
+of.options.RANDOM_MOBS.tooltip.1= Náhodnà Mobové
+of.options.RANDOM_MOBS.tooltip.2= VYPNUTO - žádnà náhodnà mobové, rychlejÅ¡Ã
+of.options.RANDOM_MOBS.tooltip.3= ZAPNUTO - náhodnà mobové, pomalejÅ¡Ã
+of.options.RANDOM_MOBS.tooltip.4=Funkce náhodnà mobové použÃvá náhodnÄ› textury pro moby ve hÅ™e.
+of.options.RANDOM_MOBS.tooltip.5=Vyžaduje balÃÄek textur, který má vÃce textur mobů.
+
+of.options.BETTER_GRASS=LepÅ¡Ã TrávnÃk
+of.options.BETTER_GRASS.tooltip.1=LepÅ¡Ã TrávnÃk
+of.options.BETTER_GRASS.tooltip.2= VYPNUTO - výchozà strana trávnÃku, rychlejÅ¡Ã
+of.options.BETTER_GRASS.tooltip.3= Rychlá - plná strana trávnÃku, pomalejÅ¡Ã
+of.options.BETTER_GRASS.tooltip.4= PÄ›kná - dynamická strana trávnÃku, nepomalejÅ¡Ã
+
+of.options.BETTER_SNOW=LepÅ¡Ã SnÃh
+of.options.BETTER_SNOW.tooltip.1=LepÅ¡Ã snÃh
+of.options.BETTER_SNOW.tooltip.2= VYPNUTO - výchozà snÃh, rychlejÅ¡Ã
+of.options.BETTER_SNOW.tooltip.3= ZAPNUTO - lepÅ¡Ã snÃh, pomalejÅ¡Ã
+of.options.BETTER_SNOW.tooltip.4=Zobrazuje snÃh pod průhlednými bloky (plot, vysoká tráva)
+of.options.BETTER_SNOW.tooltip.5=když sousedà se sněhovými bloky.
+
+of.options.CUSTOM_FONTS=Vlastnà PÃsmo
+of.options.CUSTOM_FONTS.tooltip.1= Vlastnà PÃsmo
+of.options.CUSTOM_FONTS.tooltip.2= ZAPNUTO - použÃvá vlastnà pÃsmo (výchozÃ), pomalejÅ¡Ã
+of.options.CUSTOM_FONTS.tooltip.3= VYPNUTO - použÃvá výchozà pÃsmo, rychlejÅ¡Ã
+of.options.CUSTOM_FONTS.tooltip.4=Vlastnà pÃsmo záležà na vybraném
+of.options.CUSTOM_FONTS.tooltip.5=balÃÄku zdrojů.
+
+of.options.CUSTOM_COLORS=Vlastnà Barvy
+of.options.CUSTOM_COLORS.tooltip.1= Vlastnà Barvy
+of.options.CUSTOM_COLORS.tooltip.2= ZAPNUTO - použÃvá vlastnà barvy (výchozÃ), pomalejÅ¡Ã
+of.options.CUSTOM_COLORS.tooltip.3= VYPNUTO - použÃvá výchozà barvy, rychlejÅ¡Ã
+of.options.CUSTOM_COLORS.tooltip.4=Vlastnà barvy záležà na vybraném
+of.options.CUSTOM_COLORS.tooltip.5=balÃÄku zdrojů.
+
+of.options.SWAMP_COLORS=Barvy v Bažinách
+of.options.SWAMP_COLORS.tooltip.1= Barvy v Bažinách
+of.options.SWAMP_COLORS.tooltip.2= ZAPNUTO - použÃvá barvy v bažinách (výchozÃ), pomalejÅ¡Ã
+of.options.SWAMP_COLORS.tooltip.3= VYPNUTO - nepoužÃvá barvy v bažinách, rychlejÅ¡Ã
+of.options.SWAMP_COLORS.tooltip.4=Barvy v bažinách ovlivňujà trávnÃk, listy, lijány a vodu.
+
+of.options.SMOOTH_BIOMES=Vyhlazené Biomy
+of.options.SMOOTH_BIOMES.tooltip.1=Vyhlazené Biomy
+of.options.SMOOTH_BIOMES.tooltip.2= ZAPNUTO - vyhlazovánà hranic biomů (výchozÃ), pomalejÅ¡Ã
+of.options.SMOOTH_BIOMES.tooltip.3= VYPNUTO - žádné vyhlazovánà hranic biomů, rychlejÅ¡Ã.
+of.options.SMOOTH_BIOMES.tooltip.4=Vyhlazovánà hranic biomů je dáno změnou a
+of.options.SMOOTH_BIOMES.tooltip.5=průmÄ›ru vÅ¡ech sousedÃcÃch bloků.
+of.options.SMOOTH_BIOMES.tooltip.6=Ovlivňuje trávnÃk, listÃ, lijány a vodu.
+
+of.options.CONNECTED_TEXTURES=Spojené Textury
+of.options.CONNECTED_TEXTURES.tooltip.1=Spojené Textury
+of.options.CONNECTED_TEXTURES.tooltip.2= VYPNUTO - žádné spojené textury (výchozÃ), rychlejÅ¡Ã
+of.options.CONNECTED_TEXTURES.tooltip.3= Rychlá - rychle spojené textury
+of.options.CONNECTED_TEXTURES.tooltip.4= Pěkná - pěkně spojené textury
+of.options.CONNECTED_TEXTURES.tooltip.5=Spojené textury spojujà textury skla,
+of.options.CONNECTED_TEXTURES.tooltip.6=pÃskovce a knihoven když jsou
+of.options.CONNECTED_TEXTURES.tooltip.7=vedle sebe. Spojené textury záležÃ
+of.options.CONNECTED_TEXTURES.tooltip.8=na vybraném balÃÄku zdrojů.
+
+of.options.NATURAL_TEXTURES=Naturálnà Textury
+of.options.NATURAL_TEXTURES.tooltip.1=Naturálnà Textury
+of.options.NATURAL_TEXTURES.tooltip.2= VYPNUTO - žádné naturálnà textury, rychlejÅ¡Ã
+of.options.NATURAL_TEXTURES.tooltip.3= ZAPNUTO - použÃvá naturálnà textury
+of.options.NATURAL_TEXTURES.tooltip.4=Naturálnà textury odstraňujà vzor
+of.options.NATURAL_TEXTURES.tooltip.5=vytvoÅ™ený opakovánÃm bloků stejných typů.
+of.options.NATURAL_TEXTURES.tooltip.6=PoužÃvá otoÄené a pÅ™evrácené základy
+of.options.NATURAL_TEXTURES.tooltip.7=textury bloků. Nastavenà pro naturálnà textury
+of.options.NATURAL_TEXTURES.tooltip.8=je ovlivňováno vybraným balÃÄkem zdrojů.
+
+of.options.CUSTOM_SKY=Vlastnà Obloha
+of.options.CUSTOM_SKY.tooltip.1=Vlastnà Obloha
+of.options.CUSTOM_SKY.tooltip.2= ZAPNUTO - použÃvá vlastnà textury oblohy (výchozÃ), pomalejÅ¡Ã
+of.options.CUSTOM_SKY.tooltip.3= VYPNUTO - výchozà obloha, rychlejÅ¡Ã
+of.options.CUSTOM_SKY.tooltip.4=Vlastnà textura oblohy je ovlivňována vybraným
+of.options.CUSTOM_SKY.tooltip.5=balÃÄkem zdrojů.
+
+of.options.CUSTOM_ITEMS=Vlastnà Itemy
+of.options.CUSTOM_ITEMS.tooltip.1=Vlastnà Itemy
+of.options.CUSTOM_ITEMS.tooltip.2= ZAPNUTO - vlastnà textury itemů (výchozÃ), pomalejÅ¡Ã
+of.options.CUSTOM_ITEMS.tooltip.3= VYPNUTO - výchozà textury itemů, rychlejÅ¡Ã
+of.options.CUSTOM_ITEMS.tooltip.4=Vlastnà itemy záležà na vybraném
+of.options.CUSTOM_ITEMS.tooltip.5=balÃÄku zdrojů.
+
+of.options.CUSTOM_ENTITY_MODELS=Vlastnà modely entit
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=Vlastnà modely entit
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= ZAPNUTO - vlastnà modely entit (výchozÃ), pomalé
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= VYPNUTO - výchozà modely entit, rychlejÅ¡Ã
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=Vlastnà modely entit záležà na vybraném
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=balÃÄku zdrojů.
+
+# Detaily
+
+of.options.CLOUDS=Mraky
+of.options.CLOUDS.tooltip.1=Mraky
+of.options.CLOUDS.tooltip.2= Výchozà - z nastavenà Grafiky
+of.options.CLOUDS.tooltip.3= Rychlá - nižšà kvalita, rychlejÅ¡Ã
+of.options.CLOUDS.tooltip.4= PÄ›kná - vyÅ¡Å¡Ã kvalita, pÄ›knÄ›jÅ¡Ã
+of.options.CLOUDS.tooltip.5= VYPNUTO - žádné mraky, nejrychlejÅ¡Ã
+of.options.CLOUDS.tooltip.6=Rychlé mraky jsou 2D.
+of.options.CLOUDS.tooltip.7=Pěkné mraky jsou 3D.
+
+of.options.CLOUD_HEIGHT=Výška Mraků
+of.options.CLOUD_HEIGHT.tooltip.1=Výška Mraků
+of.options.CLOUD_HEIGHT.tooltip.2= VYPNUTO - výchozà výška
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - nad limitem stavÄ›nÃ
+
+of.options.TREES=Stromy
+of.options.TREES.tooltip.1=Stromy
+of.options.TREES.tooltip.2= Výchozà - z nastavenà Grafiky
+of.options.TREES.tooltip.3= Rychlá - nejnižšà kvalita, nejrychlejÅ¡Ã
+of.options.TREES.tooltip.4= Chytrá - vyššà kvalita, rychlé
+of.options.TREES.tooltip.5= PÄ›kná - nejvyÅ¡Å¡Ã kvalita, nejpomalejÅ¡Ã
+of.options.TREES.tooltip.6=Rychlé stromy nemajà průhledné listÃ.
+of.options.TREES.tooltip.7=PÄ›kné a Chytré stromy majà průhledné listÃ.
+
+of.options.RAIN=SnÃh a Déšť
+of.options.RAIN.tooltip.1=SnÃh a Déšť
+of.options.RAIN.tooltip.2= Výchozà - z nastavenà Grafiky
+of.options.RAIN.tooltip.3= Rychlá - lehký snÃh/déšť, rychlejÅ¡Ã
+of.options.RAIN.tooltip.4= PÄ›kná - velký snÃh/déšť, pomalejÅ¡Ã
+of.options.RAIN.tooltip.5= VYPNUTO - žádný snÃh/déšť, nejrychlejÅ¡Ã
+of.options.RAIN.tooltip.6=Pokud je déšť vypnutý, jeho zvuky stále
+of.options.RAIN.tooltip.7=hrajÃ.
+
+of.options.SKY=Obloha
+of.options.SKY.tooltip.1=Obloha
+of.options.SKY.tooltip.2= ZAPNUTO - obloha je viditelná, pomalejÅ¡Ã
+of.options.SKY.tooltip.3= VYPNUTO - obloha nejde vidÄ›t, rychlejÅ¡Ã
+of.options.SKY.tooltip.4=Pokud je obloha vypnutá, mÄ›sÃc a slunce půjdou stále vidÄ›t.
+
+of.options.STARS=Hvězdy
+of.options.STARS.tooltip.1=Hvězdy
+of.options.STARS.tooltip.2= ZAPNUTO - hvÄ›zdy jsou viditelné, pomalejÅ¡Ã
+of.options.STARS.tooltip.3= VYPNUTO - hvÄ›zdy nejdou vidÄ›t, rychlejÅ¡Ã
+
+of.options.SUN_MOON=Slunce a MÄ›sÃc
+of.options.SUN_MOON.tooltip.1=Slunce a MÄ›sÃc
+of.options.SUN_MOON.tooltip.2= ZAPNUTO - slunce a mÄ›sÃc lze vidÄ›t (výchozÃ)
+of.options.SUN_MOON.tooltip.3= VYPNUTO - slunce a mÄ›sÃc nelze vidÄ›t, rychlejÅ¡Ã
+
+of.options.SHOW_CAPES=Zobrazovat Kápě
+of.options.SHOW_CAPES.tooltip.1=Zobrazovat Kápě
+of.options.SHOW_CAPES.tooltip.2= ZAPNUTO - zobrazovat kápÄ› hráÄů (výchozÃ)
+of.options.SHOW_CAPES.tooltip.3= VYPNUTO - nezobrazovat kápÄ› hráÄů
+
+of.options.TRANSLUCENT_BLOCKS=Průsvitné Bloky
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Průsvitné Bloky
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= PÄ›kná - správné mÃchánà barev (výchozÃ)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Rychlá - rychlé mÃchánà barev (rychlejÅ¡Ã)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Ovládá mÃchánà barev průhledných bloků
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=s rozdÃlnou barvou (barevné sklo, voda, led)
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=když jsou položeny za sebou s mezerou mezi nimi.
+
+of.options.HELD_ITEM_TOOLTIPS=Popisek k Drženému Itemu
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Popisek k Drženému Itemu
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= ZAPNUTO - zobrazovat popisky (výchozÃ)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= VYPNUTO - nezobrazovat popisky
+
+of.options.ADVANCED_TOOLTIPS=PokroÄilé Popisky
+of.options.ADVANCED_TOOLTIPS.tooltip.1=PokroÄilé Popisky
+of.options.ADVANCED_TOOLTIPS.tooltip.2= ZAPNUTO - zobrazit pokroÄilé popisky
+of.options.ADVANCED_TOOLTIPS.tooltip.3= VYPNUTO - nezobrazovat pokroÄilé popisky (výchozÃ)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=PokroÄilé popisky zobrazà pokroÄilé informace pro
+of.options.ADVANCED_TOOLTIPS.tooltip.5=itemy (id, durabilita) a pro možnosti stÃnů
+of.options.ADVANCED_TOOLTIPS.tooltip.6=(id, zdroj, výchozà hodnota).
+
+of.options.DROPPED_ITEMS=Vyhozené Itemy
+of.options.DROPPED_ITEMS.tooltip.1=Vyhozené Itemy
+of.options.DROPPED_ITEMS.tooltip.2= Výchozà - podle nastavenà Grafiky
+of.options.DROPPED_ITEMS.tooltip.3= Rychlá - vyhozené itemy ve 2D, rychlejÅ¡Ã
+of.options.DROPPED_ITEMS.tooltip.4= PÄ›kná - vyhozené itemy ve 3D, pomalejÅ¡Ã
+
+options.entityShadows.tooltip.1=StÃny Entit
+options.entityShadows.tooltip.2= ZAPNUTO - zobrazovat stÃny entit
+options.entityShadows.tooltip.3= VYPNUTO - nezobrazovat stÃny entit
+
+of.options.VIGNETTE=ZtmavenÃ
+of.options.VIGNETTE.tooltip.1=Vizuálnà efekt, který ztmavà okraje obrazovky.
+of.options.VIGNETTE.tooltip.2= Výchozà - záležà na nastavenà Grafiky (výchozÃ)
+of.options.VIGNETTE.tooltip.3= Rychlá - ztmavenà vypnuto (rychlejÅ¡Ã)
+of.options.VIGNETTE.tooltip.4= PÄ›kná - ztmavenà zapnuto (pomalejÅ¡Ã)
+of.options.VIGNETTE.tooltip.5=Ztmavenà může mÃt veliký vliv na FPS,
+of.options.VIGNETTE.tooltip.6=speciálně při hranà ve fullscreenu.
+of.options.VIGNETTE.tooltip.7=Efekt ztmavenà je velmi jemný a dá se bezpeÄnÄ›
+of.options.VIGNETTE.tooltip.8=vypnout.
+
+of.options.DYNAMIC_FOV=Dynamické FOV
+of.options.DYNAMIC_FOV.tooltip.1=Dynamické FOV
+of.options.DYNAMIC_FOV.tooltip.2= ZAPNUTO - zapne dynamické FOV (výchozÃ)
+of.options.DYNAMIC_FOV.tooltip.3= VYPNUTO - vypne dynamické FOV
+of.options.DYNAMIC_FOV.tooltip.4=MÄ›nà pole pohledu (FOV) pÅ™i létánÃ, sprintovánÃ
+of.options.DYNAMIC_FOV.tooltip.5=nebo při natahovánà luku.
+
+of.options.DYNAMIC_LIGHTS=Dynamické Světla
+of.options.DYNAMIC_LIGHTS.tooltip.1=Dynamické Světla
+of.options.DYNAMIC_LIGHTS.tooltip.2= VYPNUTO - žádná dynamÃcká svÄ›tla (výchozÃ)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Rychlá - rychlá dynamická světla (aktualizace každých 500ms)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Pěkná - pěkná dynamická světla (aktualizováno vždy)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Pokud je zapnuto a v ruce, na zemi nebo v ruce
+of.options.DYNAMIC_LIGHTS.tooltip.6=jiného hráÄe je držen svÃtÃcà item (louÄ, svÄ›tlit, atd.)
+of.options.DYNAMIC_LIGHTS.tooltip.7=tak se osvětlà vše kolem.
+
+# Výkon
+
+of.options.SMOOTH_FPS=Vyhlazené FPS
+of.options.SMOOTH_FPS.tooltip.1=Stabilizuje FPS velikým nátlakem na grafický adaptér.
+of.options.SMOOTH_FPS.tooltip.2= VYPNUTO - žádná stabilizace, FPS mohou kolÃsat
+of.options.SMOOTH_FPS.tooltip.3= ZAPNUTO - stabilizace FPS
+of.options.SMOOTH_FPS.tooltip.4=Tato možnost záležà na grafickém adaptéru a jeho efekt
+of.options.SMOOTH_FPS.tooltip.5=nenà vždy vidět.
+
+of.options.SMOOTH_WORLD=Vyhlazený Svět
+of.options.SMOOTH_WORLD.tooltip.1=Odstranà lagy způsobené internÃm serverem.
+of.options.SMOOTH_WORLD.tooltip.2= VYPNUTO - žádná stabilizace, FPS mohou kolÃsat
+of.options.SMOOTH_WORLD.tooltip.3= ZAPNUTO - stabilizace FPS
+of.options.SMOOTH_WORLD.tooltip.4=Stabilizuje FPS rozdÄ›lenÃm naÄÃtánà svÄ›ta.
+of.options.SMOOTH_WORLD.tooltip.5=Funguje jen na lokálnÃch svÄ›tech (hra pro jednoho hráÄe).
+
+of.options.FAST_RENDER=Rychlý Render
+of.options.FAST_RENDER.tooltip.1=Rychlý Render
+of.options.FAST_RENDER.tooltip.2= VYPNUTO - standardnà render
+of.options.FAST_RENDER.tooltip.3= ZAPNUTO - vyvážený render (rychlejÅ¡Ã)
+of.options.FAST_RENDER.tooltip.4=PoužÃvánÃm vyváženÄ›ho renderovacÃho algoritmu se může snÞÃt
+of.options.FAST_RENDER.tooltip.5=využità GPU, což může zvýšit FPS.
+
+of.options.FAST_MATH=Rychlá Matematika
+of.options.FAST_MATH.tooltip.1=Rychlá Matematika
+of.options.FAST_MATH.tooltip.2= VYPNUTO - standardnà matematika
+of.options.FAST_MATH.tooltip.3= ZAPNUTO - rychlá matematika
+of.options.FAST_MATH.tooltip.4=PoužÃvá vyvážené sin() a cos() funkce, což může
+of.options.FAST_MATH.tooltip.5=lépe šetřit CPU a zvýšit FPS.
+
+of.options.CHUNK_UPDATES=NaÄÃtánà Chunků
+of.options.CHUNK_UPDATES.tooltip.1=NaÄÃtánà Chunků
+of.options.CHUNK_UPDATES.tooltip.2= 1 - pomalejÅ¡Ã naÄÃtánà svÄ›ta, vyÅ¡Å¡Ã FPS (výchozÃ)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - rychlejÅ¡Ã naÄÃtánà svÄ›ta, nižšà FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - nejrychlejÅ¡Ã naÄÃtánà svÄ›ta, nejnižšà FPS
+of.options.CHUNK_UPDATES.tooltip.5=ÄŒÃslo chunků naÄtených za 1 FPS,
+of.options.CHUNK_UPDATES.tooltip.6=Vyššà hodnoty mohou FPS snÞit.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Dynamické NaÄÃtánÃ
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Dynamické naÄÃtánà chunků
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= VYPNUTO - (výchozÃ) standardnà poÄet chunků na FPS
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= ZAPNUTO - vÃce chunků, když se hrÃ¡Ä nehýbe
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Dynamické naÄÃtánà naÄte vÃce chunků
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=když se hrÃ¡Ä nehýbe, svÄ›t se naÄte rychleji.
+
+of.options.LAZY_CHUNK_LOADING=LÃné NaÄÃtánà Chunků
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Pomalé naÄÃtánà chunků
+of.options.LAZY_CHUNK_LOADING.tooltip.2= VYPNUTO - výchozà naÄÃtánà serverových chunků
+of.options.LAZY_CHUNK_LOADING.tooltip.3= ZAPNUTO - pomalé naÄÃtánà serverových chunků (plynulejÅ¡Ã)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=UdÄ›lá plynulejÅ¡Ã naÄÃtánà chunků na integrovaném serveru
+of.options.LAZY_CHUNK_LOADING.tooltip.5=jejich rozdÄ›lovánÃm na nÄ›kolik tiků.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Pokud je VYPNUTO, nÄ›které Äásti svÄ›ta se nenaÄtou správnÄ›.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Efektivnà pouze pro lokálnà světy a 1-jádrové CPU.
+
+# Animace
+
+of.options.animation.allOn=VÅ¡e ZAPNUTO
+of.options.animation.allOff=VÅ¡e VYPNUTO
+of.options.animation.dynamic=Dynamické
+
+of.options.ANIMATED_WATER=Animovaná Voda
+of.options.ANIMATED_LAVA=Animovaná Láva
+of.options.ANIMATED_FIRE=Animovaný Oheň
+of.options.ANIMATED_PORTAL=Animovaný Portál
+of.options.ANIMATED_REDSTONE=Animovaný Redstone
+of.options.ANIMATED_EXPLOSION=Animované Exploze
+of.options.ANIMATED_FLAME=Animovaný Požár
+of.options.ANIMATED_SMOKE=Animovaný Kouř
+of.options.VOID_PARTICLES=Částice Voidu
+of.options.WATER_PARTICLES=Částice Vody
+of.options.RAIN_SPLASH=Částice Deště
+of.options.PORTAL_PARTICLES=Částice Portálu
+of.options.POTION_PARTICLES=Částice Lektvarů
+of.options.DRIPPING_WATER_LAVA=Tekoucà Voda/Láva
+of.options.ANIMATED_TERRAIN=Animovaný Terén
+of.options.ANIMATED_TEXTURES=Animované Textury
+of.options.FIREWORK_PARTICLES=Částice Rachejtle
+
+# OstatnÃ
+
+of.options.LAGOMETER=Lagometer
+of.options.LAGOMETER.tooltip.1=Zobrazà lagometer na ladÃcà obrazovce (F3).
+of.options.LAGOMETER.tooltip.2=* Oranžová - SbÃrka zbyteÄné pamÄ›ti
+of.options.LAGOMETER.tooltip.3=* Světle Modrá - Tik
+of.options.LAGOMETER.tooltip.4=* Modrá - Plánované soubory
+of.options.LAGOMETER.tooltip.5=* Fialová - NaÄÃtánà chunků
+of.options.LAGOMETER.tooltip.6=* ÄŒervená - PÅ™ednaÄtené chunky
+of.options.LAGOMETER.tooltip.7=* Žlutá - Kontrola viditelnosti
+of.options.LAGOMETER.tooltip.8=* Zelená - NaÄÃtánà terénu
+
+of.options.PROFILER=LadÃcà Profil
+of.options.PROFILER.tooltip.1=LadÃcà Profil
+of.options.PROFILER.tooltip.2= ZAPNUTO - ladÃcà profil je aktivnÃ, pomalejÅ¡Ã
+of.options.PROFILER.tooltip.3= VYPNUTO - ladÃcà profil je neaktivnÃ, rychlejÅ¡Ã
+of.options.PROFILER.tooltip.4=LadÃcà profil sbÃrá a zobrazuje informace když
+of.options.PROFILER.tooltip.5=je otevÅ™ena ladÃcà obrazovka (F3).
+
+of.options.WEATHER=PoÄasÃ
+of.options.WEATHER.tooltip.1=PoÄasÃ
+of.options.WEATHER.tooltip.2= ZAPNUTO - poÄasà je aktivnÃ, pomalejÅ¡Ã
+of.options.WEATHER.tooltip.3= VYPNUTO - poÄasà je neaktivnÃ, rychlejÅ¡Ã
+of.options.WEATHER.tooltip.4=PoÄasà ovládá deÅ¡tÄ›, sněženà a bouÅ™ky.
+of.options.WEATHER.tooltip.5=Ovládánà poÄasà je možné pouze pro lokálnà svÄ›ty.
+
+of.options.time.dayOnly=Pouze Den
+of.options.time.nightOnly=Pouze Noc
+
+of.options.TIME=ÄŒas
+of.options.TIME.tooltip.1=ÄŒas
+of.options.TIME.tooltip.2= Výchozà - normálnà dennÃ/noÄnà cyklus
+of.options.TIME.tooltip.3= Pouze Den - pouze den
+of.options.TIME.tooltip.4= Pouze Noc - pouze noc
+of.options.TIME.tooltip.5=Nastavenà Äasu je efektivnà jen v KREATIVNÃM módu
+of.options.TIME.tooltip.6=a pro lokálnà světy.
+
+options.fullscreen.tooltip.1=Fullscreen
+options.fullscreen.tooltip.2= ZAPNUTO - použÃt celoobrázkový mód
+options.fullscreen.tooltip.3= VYPNUTO - použÃt mód v oknÄ›
+options.fullscreen.tooltip.4=Fullscreen mód může být rychlejšà než
+options.fullscreen.tooltip.5=mód v okně, záležà na GPU.
+
+of.options.FULLSCREEN_MODE=Fullscreen Mód
+of.options.FULLSCREEN_MODE.tooltip.1=Celoobrázkový mód
+of.options.FULLSCREEN_MODE.tooltip.2= Výchozà - použÃvá hlavnà rozliÅ¡enÃ, pomalejÅ¡Ã
+of.options.FULLSCREEN_MODE.tooltip.3= Å xV - použÃvá vlastnà rozliÅ¡enÃ, může být rychlejÅ¡Ã
+of.options.FULLSCREEN_MODE.tooltip.4=Vybrané rozliÅ¡enà je použÃváno ve fullscreenu (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Nižšà rozliÅ¡enà mohou být rychlejÅ¡Ã.
+
+of.options.SHOW_FPS=Zobrazit FPS
+of.options.SHOW_FPS.tooltip.1=Kompaktně zobrazà informace o FPS a renderu.
+of.options.SHOW_FPS.tooltip.2= C: - naÄÃtánà chunků
+of.options.SHOW_FPS.tooltip.3= E: - naÄtené entity + blokové entity
+of.options.SHOW_FPS.tooltip.4= U: - pÅ™ednaÄtené chunky
+of.options.SHOW_FPS.tooltip.5=Informace o FPS se zobrazà jen,
+of.options.SHOW_FPS.tooltip.6=když je ladÃcà obrazovka (F3) zneviditelnÄ›ná.
+
+of.options.save.default=Výchozà (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Auto-ukládánÃ
+of.options.AUTOSAVE_TICKS.tooltip.1=Interval auto-ukládánÃ
+of.options.AUTOSAVE_TICKS.tooltip.2=Výchozà interval auto-ukládánà (2s) se NEDOPORUÄUJE
+of.options.AUTOSAVE_TICKS.tooltip.3=Auto-ukládánà způsobuje slavné sekacà Smrti (Lag Spikes of Death).
+
+of.options.SCREENSHOT_SIZE=Velikost Screenshotu
+of.options.SCREENSHOT_SIZE.tooltip.1=Velikost SnÃmku Obrazovky
+of.options.SCREENSHOT_SIZE.tooltip.2= Výchozà - výchozà velikost screenshotu
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - vlastnÃm velikost screenshotu
+of.options.SCREENSHOT_SIZE.tooltip.4=Focenà vÄ›tÅ¡Ãch screenshotů může vyžadovat vÃce pamÄ›ti.
+of.options.SCREENSHOT_SIZE.tooltip.5=Nenà kompatinilnàs Rychlým Renderem a Antialiasingem.
+of.options.SCREENSHOT_SIZE.tooltip.6=Vyžaduje podporu GPU framebufferu.
diff --git a/src/main/resources/assets/minecraft/optifine/lang/de_DE.lang b/src/main/resources/assets/minecraft/optifine/lang/de_DE.lang
new file mode 100644
index 00000000..b367588a
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/de_DE.lang
@@ -0,0 +1,611 @@
+# Contributors of German localization #
+# ThexXTURBOXx (Collaborator of Reforged) 2016-2-29 ---- 2016-3-3
+# RoiEXLab 2016-3-8
+# violine1101 (German Minecraft Wiki admin) 2016-4-4 ---- 2016-10-12
+# TheHADILP 2016-5-20 ---- 2017-01-27
+
+# General
+of.general.ambiguous=Unklar
+of.general.custom=Anderes
+of.general.from=Von
+of.general.id=ID
+of.general.restart=Neustart
+of.general.smart=Fein
+
+# Keys
+of.key.zoom=Zoom
+
+# Message
+of.message.aa.shaders1=Antialiasing ist nicht mit Shader-Effekten kompatibel.
+of.message.aa.shaders2=Bitte deaktiviere Shader-Effekte, um diese Einstellung zu aktivieren.
+
+of.message.af.shaders1=Anistropische Filterung ist nicht mit Shader-Effekten kompatibel.
+of.message.af.shaders2=Bitte deaktiviere Shader-Effekte, um diese Einstellung zu aktivieren.
+
+of.message.fr.shaders1=Schnelles Rendern ist nicht mit Shader-Effekten kompatibel.
+of.message.fr.shaders2=Bitte deaktiviere Shader-Effekte, um diese Einstellung zu aktivieren.
+
+of.message.an.shaders1=3D-Effekt ist nicht mit Shader-Effekten kompatibel.
+of.message.an.shaders2=Bitte deaktiviere Shader-Effekte, um diese Einstellung zu aktivieren.
+
+of.message.shaders.aa1=Antialiasing ist nicht mit Shader-Effekten kompatibel.
+of.message.shaders.aa2=Bitte deaktiviere Qualität -> Antialiasing und starte das Spiel neu.
+
+of.message.shaders.af1=Anistropische Filterung ist nicht mit Shader-Effekten kompatibel.
+of.message.shaders.af2=Bitte deaktiviere Qualität -> Anistropische Filterung.
+
+of.message.shaders.fr1=Schnelles Rendern ist nicht mit Shader-Effekten kompatibel.
+of.message.shaders.fr2=Bitte deaktiviere Leistung -> Schnelles Rendern.
+
+of.message.shaders.an1=Shader-Effekte sind nicht mit dem 3D-Effekt kompatibel.
+of.message.shaders.an2=Bitte deaktiviere Sonstiges -> 3D-Effekt.
+
+of.message.newVersion=Eine neue Version von §eOptiFine§f ist verfügbar: §e%s§f
+of.message.java64Bit=Du kannst die §e64-bit-Version von Java§f installieren, um die Leistung zu verbessern
+of.message.openglError=§eOpenGL-Fehler§f: %s (%s)
+
+of.message.shaders.loading=Lade Shader-Effekte: %s
+
+of.message.other.reset=Alle Grafikeinstellungen auf die Standardwerte zurücksetzen?
+
+of.message.loadingVisibleChunks=Lade sichtbare Chunks
+
+# Video settings
+
+options.graphics.tooltip.1=Grafikmodus
+options.graphics.tooltip.2= Schnell - Schlechtere Qualität, schneller
+options.graphics.tooltip.3= Schön - Höhere Qualität, langsamer
+options.graphics.tooltip.4=Verändert das Aussehen von Wolken, Blättern, Wasser,
+options.graphics.tooltip.5=Schatten und Grasblöcken.
+
+of.options.renderDistance.tiny=Mini
+of.options.renderDistance.short=Klein
+of.options.renderDistance.normal=Normal
+of.options.renderDistance.far=Weit
+of.options.renderDistance.extreme=Extrem
+
+options.renderDistance.tooltip.1=Sichtweite
+options.renderDistance.tooltip.2= 2 Mini - 32m (am schnellsten)
+options.renderDistance.tooltip.3= 4 Klein - 64m (schnell)
+options.renderDistance.tooltip.4= 8 Normal - 128m
+options.renderDistance.tooltip.5= 16 Weit - 256m (langsam)
+options.renderDistance.tooltip.6= 32 Extrem - 512m (am langsamsten!)
+options.renderDistance.tooltip.7=Die extreme Sichtweite ist sehr ressourcenaufwendig!
+options.renderDistance.tooltip.8=Werte über 16 funktionieren nur im Einzelspielermodus.
+
+options.ao.tooltip.1=Weiche Beleuchtung
+options.ao.tooltip.2= Aus - Keine weiche Beleuchtung (schnell)
+options.ao.tooltip.3= Minimum - Einfache weiche Beleuchtung (langsam)
+options.ao.tooltip.4= Maximum - Komplexe weiche Beleuchtung (am langsamsten)
+
+options.framerateLimit.tooltip.1=Maximale Bildrate
+options.framerateLimit.tooltip.2= V-Sync - Auf Monitor-Bildrate begrenzen (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - Auf eingestellte Bildrate begrenzen
+options.framerateLimit.tooltip.4= Unendlich - Keine Begrenzung (am schnellsten)
+options.framerateLimit.tooltip.5=Die Bildrate grenzt die FPS ein, sogar wenn
+options.framerateLimit.tooltip.6=die Begrenzung nicht erreicht ist.
+of.options.framerateLimit.vsync=V-Sync
+
+of.options.AO_LEVEL=Schattenhelligkeit
+of.options.AO_LEVEL.tooltip.1=Schattenhelligkeit
+of.options.AO_LEVEL.tooltip.2= Aus - Keine Schatten
+of.options.AO_LEVEL.tooltip.3= 50%% - Helle Schatten
+of.options.AO_LEVEL.tooltip.4= 100%% - Dunkle Schatten
+
+options.viewBobbing.tooltip.1=Gehbewegung
+options.viewBobbing.tooltip.2=Wenn Mipmaps verwendet werden, deaktiviere diese
+options.viewBobbing.tooltip.3=Einstellung für bessere Leitung.
+
+options.guiScale.tooltip.1=GUI-Größe
+options.guiScale.tooltip.2= Auto - Maximale Größe
+options.guiScale.tooltip.3= Klein, Normal, Groß - 1x-3x
+options.guiScale.tooltip.4= 4x-10x - Verfügbar auf 4K Monitoren
+options.guiScale.tooltip.5=Ungerade Werte (1x, 3x ...) sind nicht mit Unicode kompatibel.
+options.guiScale.tooltip.6=Ein kleineres GUI ist eventuell schneller.
+
+options.vbo.tooltip.1=Vertexbufferobjekte
+options.vbo.tooltip.2=Benutzt ein alternatives Rendermodell, das normalerweise
+options.vbo.tooltip.3=schneller (5-10%%) als das Standard-Rendermodell ist.
+
+options.gamma.tooltip.1=Ändert die Helligkeit dunkler Objekte
+options.gamma.tooltip.2= Düster - Standardhelligkeit
+options.gamma.tooltip.3= 1-99%% - veränderlich
+options.gamma.tooltip.4= Hell - Maximale Helligkeit für dunkle Objekte
+options.gamma.tooltip.5=Diese Einstellungen ändern nicht die Helligkeit von ganz
+options.gamma.tooltip.6=schwarzen Objekten.
+
+options.anaglyph.tooltip.1=3D-Effekt
+options.anaglyph.tooltip.2=Aktiviert einen stereoskopischen 3D-Effekt durch
+options.anaglyph.tooltip.3=Verwenden unterschiedlicher Farben für jedes Auge.
+options.anaglyph.tooltip.4=Kann nur mit einer Rot-Cyan-Brille benutzt werden.
+
+options.blockAlternatives.tooltip.1=Blockvarianten
+options.blockAlternatives.tooltip.2=Benutzt alternative Blockmodelle für einige Blöcke.
+options.blockAlternatives.tooltip.3=Hängt vom ausgewählten Ressourcenpaket ab.
+
+of.options.ALTERNATE_BLOCKS=Blockvarianten
+of.options.ALTERNATE_BLOCKS.tooltip.1=Blockvarianten
+of.options.ALTERNATE_BLOCKS.tooltip.2=Benutzt alternative Blockmodelle für einige Blöcke.
+of.options.ALTERNATE_BLOCKS.tooltip.3=Abhängig vom ausgewählten Ressourcenpaket.
+
+of.options.FOG_FANCY=Nebel
+of.options.FOG_FANCY.tooltip.1=Nebel
+of.options.FOG_FANCY.tooltip.2= Schnell - Schneller Nebel
+of.options.FOG_FANCY.tooltip.3= Schön - Langsamer Nebel, sieht besser aus
+of.options.FOG_FANCY.tooltip.4= Aus - Kein Nebel, am schnellsten
+of.options.FOG_FANCY.tooltip.5=Der schöne Nebel ist nur verfügbar, wenn er von der
+of.options.FOG_FANCY.tooltip.6=Grafikkarte unterstützt wird.
+
+of.options.FOG_START=Nebelstart
+of.options.FOG_START.tooltip.1=Nebelstart
+of.options.FOG_START.tooltip.2= 0.2 - Der Nebel startet nahe beim Spieler
+of.options.FOG_START.tooltip.3= 0.8 - Der Nebel startet weit weg vom Spieler
+of.options.FOG_START.tooltip.4=Diese Einstellung beeinflusst normalerweise nicht die
+of.options.FOG_START.tooltip.5=Leistung.
+
+of.options.CHUNK_LOADING=Chunkladen
+of.options.CHUNK_LOADING.tooltip.1=Chunkladen
+of.options.CHUNK_LOADING.tooltip.2= Standard - Instabile FPS, wenn Chunks geladen werden
+of.options.CHUNK_LOADING.tooltip.3= Weich - Stabile FPS
+of.options.CHUNK_LOADING.tooltip.4= Multi-Core - Stabile FPS, 3x schnelleres Weltladen
+of.options.CHUNK_LOADING.tooltip.5=Weich und Multi-Core entfernen Ruckler und
+of.options.CHUNK_LOADING.tooltip.6=Standbilder, welche durch Chunkladen verursacht werden.
+of.options.CHUNK_LOADING.tooltip.7=Multi-Core kann das Weltladen 3x schneller machen und
+of.options.CHUNK_LOADING.tooltip.8=die FPS erhöhen, indem es einen zweiten CPU-Kern benutzt.
+of.options.chunkLoading.smooth=Weich
+of.options.chunkLoading.multiCore=Multi-Core
+
+of.options.shaders=Shader-Effekte ...
+of.options.shadersTitle=Shader-Effekte
+
+of.options.shaders.packNone=Aus
+of.options.shaders.packDefault=(Interner Shader-Effekt)
+
+of.options.shaders.ANTIALIASING=Antialiasing
+of.options.shaders.NORMAL_MAP=Normale Karte
+of.options.shaders.SPECULAR_MAP=Spiegelnde Karte
+of.options.shaders.RENDER_RES_MUL=Renderqualität
+of.options.shaders.SHADOW_RES_MUL=Schattenqualität
+of.options.shaders.HAND_DEPTH_MUL=Handtiefe
+of.options.shaders.CLOUD_SHADOW=Wolkenschatten
+of.options.shaders.OLD_HAND_LIGHT=Alte Handbel.
+of.options.shaders.OLD_LIGHTING=Alte Beleuchtung
+of.options.shaders.SHADER_PACK=Shaderpaket
+
+of.options.shaders.shadersFolder=Shader-Effekt-Ordner
+of.options.shaders.shaderOptions=Shadereinstellung ...
+
+of.options.shaderOptionsTitle=Shader-Effekte
+
+of.options.quality=Qualität ...
+of.options.qualityTitle=Qualitätseinstellungen
+
+of.options.details=Details ...
+of.options.detailsTitle=Detaileinstellungen
+
+of.options.performance=Leistung ...
+of.options.performanceTitle=Leistungseinstellungen
+
+of.options.animations=Animationen ...
+of.options.animationsTitle=Animationseinstellungen
+
+of.options.other=Sonstiges ...
+of.options.otherTitle=Andere Einstellungen
+
+of.options.other.reset=Grafikeinstellungen zurücksetzen ...
+
+of.shaders.profile=Profil
+
+# Quality
+
+of.options.mipmap.bilinear=Bilinear
+of.options.mipmap.linear=Linear
+of.options.mipmap.nearest=Am nächsten
+of.options.mipmap.trilinear=Trilinear
+
+options.mipmapLevels.tooltip.1=Visueller Effekt, der weit entfernte Objekte besser aus-
+options.mipmapLevels.tooltip.2=sehen lässt, indem Texturdetails verringert werden
+options.mipmapLevels.tooltip.3= Aus - Keine Verringerung von Details
+options.mipmapLevels.tooltip.4= 1 - Minimale Verringerung von Details
+options.mipmapLevels.tooltip.5= 4 - Maximale Verringerung von Details
+options.mipmapLevels.tooltip.6=Diese Einstellung beeinflusst normalerweise nicht die
+options.mipmapLevels.tooltip.7=Leistung.
+
+of.options.MIPMAP_TYPE=Mipmap-Typ
+of.options.MIPMAP_TYPE.tooltip.1=Visueller Effekt, der weit entfernte Objekte besser aus-
+of.options.MIPMAP_TYPE.tooltip.2=sehen lässt, indem Texturdetails verringert werden
+of.options.MIPMAP_TYPE.tooltip.3= Am nächsten - Grobe Verringerung (am schnellsten)
+of.options.MIPMAP_TYPE.tooltip.4= Linear - Normale Verringerung
+of.options.MIPMAP_TYPE.tooltip.5= Bilinear - Feine Verringerung
+of.options.MIPMAP_TYPE.tooltip.6= Trilinear - Feinste Verringerung (am langsamsten)
+
+
+of.options.AA_LEVEL=Antialiasing
+of.options.AA_LEVEL.tooltip.1=Antialiasing
+of.options.AA_LEVEL.tooltip.2= Aus - (Standard) Kein Antialiasing (schneller)
+of.options.AA_LEVEL.tooltip.3= 2-16 - Antialiasierte Linien und Ecken (langsamer)
+of.options.AA_LEVEL.tooltip.4=Das Antialiasing weicht gezackte Linien ab und schärft
+of.options.AA_LEVEL.tooltip.5=Farbübergänge. Wenn aktiviert, kann es die Bildrate
+of.options.AA_LEVEL.tooltip.6=erheblich beeinträchtigen.
+of.options.AA_LEVEL.tooltip.7=Nicht alle Stufen werden von allen Grafikkarten unterstützt.
+of.options.AA_LEVEL.tooltip.8=Änderung wird erst nach einem Neustart effektiv!
+
+of.options.AF_LEVEL=Anisotropische Filterung
+of.options.AF_LEVEL.tooltip.1=Anisotropische Filterung
+of.options.AF_LEVEL.tooltip.2= Aus - (Standard) Standard-Texturdetails (schneller)
+of.options.AF_LEVEL.tooltip.3= 2-16 - Feinere Details in Texturen (langsamer)
+of.options.AF_LEVEL.tooltip.4=Die anisotropische Filterung stellt Details in Texturen,
+of.options.AF_LEVEL.tooltip.5=die durch Mipmap ihre Details verloren haben, wieder her.
+of.options.AF_LEVEL.tooltip.6=Wenn aktiviert, kann es die FPS erheblich verringern.
+
+of.options.CLEAR_WATER=Klares Wasser
+of.options.CLEAR_WATER.tooltip.1=Klares Wasser
+of.options.CLEAR_WATER.tooltip.2= An - Klares, transparentes Wasser
+of.options.CLEAR_WATER.tooltip.3= Aus - Normales Wasser
+
+of.options.RANDOM_MOBS=Kreaturvarianten
+of.options.RANDOM_MOBS.tooltip.1=Kreaturvarianten
+of.options.RANDOM_MOBS.tooltip.2= Aus - Keine Kreaturvarianten, schneller
+of.options.RANDOM_MOBS.tooltip.3= An - Keine Kreaturvarianten, langsamer
+of.options.RANDOM_MOBS.tooltip.4=Die gleichen Kreaturen können unterschiedliche Texturen
+of.options.RANDOM_MOBS.tooltip.5=haben. Dies benötigt ein Ressourcenpaket mit entspre-
+of.options.RANDOM_MOBS.tooltip.6=chenden Texturen.
+
+of.options.BETTER_GRASS=Besseres Gras
+of.options.BETTER_GRASS.tooltip.1=Besseres Gras
+of.options.BETTER_GRASS.tooltip.2= Aus - Standard-Grasseitentextur, am schnellsten
+of.options.BETTER_GRASS.tooltip.3= Schnell - Volle Grasseitentextur, langsamer
+of.options.BETTER_GRASS.tooltip.4= Schön - Dynamische Grasseitentextur, am langsamsten
+
+of.options.BETTER_SNOW=Besserer Schnee
+of.options.BETTER_SNOW.tooltip.1=Besserer Schnee
+of.options.BETTER_SNOW.tooltip.2= Aus - Normaler Schnee, schneller
+of.options.BETTER_SNOW.tooltip.3= An - Besserer Schnee, langsamer
+of.options.BETTER_SNOW.tooltip.4=Setzt Schnee unter transparente Blöcke (wie Zäune
+of.options.BETTER_SNOW.tooltip.5=oder hohes Gras), wenn sie an Schneeblöcke grenzen.
+
+of.options.CUSTOM_FONTS=Schriftartressourcen
+of.options.CUSTOM_FONTS.tooltip.1=Schriftartressourcen
+of.options.CUSTOM_FONTS.tooltip.2= An - Ressourcenpaket-Schriftart (Standard), langsamer
+of.options.CUSTOM_FONTS.tooltip.3= Aus - Standardschriftart, schneller
+of.options.CUSTOM_FONTS.tooltip.4=Die Schriftart wird aus den aktivierten Ressourcenpaketen
+of.options.CUSTOM_FONTS.tooltip.5=geladen
+
+of.options.CUSTOM_COLORS=Farbressourcen
+of.options.CUSTOM_COLORS.tooltip.1=Farbressourcen
+of.options.CUSTOM_COLORS.tooltip.2= An - Ressourcenpaket-Farben (Standard), langsamer
+of.options.CUSTOM_COLORS.tooltip.3= Aus - Standardfarben, schneller
+of.options.CUSTOM_COLORS.tooltip.4=Die Farben werden aus den aktivierten Ressourcenpaketen
+of.options.CUSTOM_COLORS.tooltip.5=geladen.
+
+of.options.SWAMP_COLORS=Sumpffarben
+of.options.SWAMP_COLORS.tooltip.1=Sumpffarben
+of.options.SWAMP_COLORS.tooltip.2= An - Färbt den Sumpf dunkler (Standard), langsamer
+of.options.SWAMP_COLORS.tooltip.3= Aus - Färbt den Sumpf in normalen Farben, schneller
+of.options.SWAMP_COLORS.tooltip.4=Die Sumpffarben betreffen Gras, Laub, Ranken und
+of.options.SWAMP_COLORS.tooltip.5=Wasser.
+
+of.options.SMOOTH_BIOMES=Biomübergänge
+of.options.SMOOTH_BIOMES.tooltip.1=Biomübergänge
+of.options.SMOOTH_BIOMES.tooltip.2= An - Flüssige Biomübergänge (Standard), langsamer
+of.options.SMOOTH_BIOMES.tooltip.3= Aus - Keine flüssigen Biomübergänge, schneller
+of.options.SMOOTH_BIOMES.tooltip.4=Die Farbübergänge werden durch Probennahme und
+of.options.SMOOTH_BIOMES.tooltip.5=Durchschnittsberechnung der Farben der umliegenden
+of.options.SMOOTH_BIOMES.tooltip.6=Blöcke berechnet. Betroffen sind Gras, Laub, Ranken und
+of.options.SMOOTH_BIOMES.tooltip.7=Wasser.
+
+of.options.CONNECTED_TEXTURES=Verbundene Texturen
+of.options.CONNECTED_TEXTURES.tooltip.1=Verbundene Texturen
+of.options.CONNECTED_TEXTURES.tooltip.2= Aus - Keine verbundenen Texturen (Standard)
+of.options.CONNECTED_TEXTURES.tooltip.3= Schnell - Schnelle verbundene Texturen
+of.options.CONNECTED_TEXTURES.tooltip.4= Schöne - Schöne verbundene Texturen
+of.options.CONNECTED_TEXTURES.tooltip.5=Verbundene Texturen verbinden die Texturen von Glas,
+of.options.CONNECTED_TEXTURES.tooltip.6=Sandstein und Bücherregalen, wenn sie nebeneinander
+of.options.CONNECTED_TEXTURES.tooltip.7=platziert werden. Die verbundenen Texturen werden aus
+of.options.CONNECTED_TEXTURES.tooltip.8=den aktivierten Ressourcenpaketen geladen.
+
+of.options.NATURAL_TEXTURES=Natürliche Texturen
+of.options.NATURAL_TEXTURES.tooltip.1=Natürliche Texturen
+of.options.NATURAL_TEXTURES.tooltip.2= Aus - Keine natürlichen Texturen (Standard)
+of.options.NATURAL_TEXTURES.tooltip.3= An - Benutzt natürliche Texturen
+of.options.NATURAL_TEXTURES.tooltip.4=Natürliche Texturen entfernen die rasterartige Anordnung,
+of.options.NATURAL_TEXTURES.tooltip.5=erzeugt durch Platzieren gleicher Blöcke. Dies benutzt
+of.options.NATURAL_TEXTURES.tooltip.6=gedrehte und umgekehrte Varianten der Standard-
+of.options.NATURAL_TEXTURES.tooltip.7=Blocktextur. Die Einstellungen für die natürlichen Texturen
+of.options.NATURAL_TEXTURES.tooltip.8=werden aus den aktivierten Ressourcenpaketen geladen.
+
+of.options.CUSTOM_SKY=Himmelstexturen
+of.options.CUSTOM_SKY.tooltip.1=Himmelstexturen
+of.options.CUSTOM_SKY.tooltip.2= An - Ressourcenpaket-Himmel (Standard), langsam
+of.options.CUSTOM_SKY.tooltip.3= Aus - Standardhimmel, schneller
+of.options.CUSTOM_SKY.tooltip.4=Die Himmelstexturen werden aus den aktivierten
+of.options.CUSTOM_SKY.tooltip.5=Ressourcenpaketen geladen.
+
+of.options.CUSTOM_ITEMS=Gegenstandstexturen
+of.options.CUSTOM_ITEMS.tooltip.1=Gegenstandstexturen
+of.options.CUSTOM_ITEMS.tooltip.2= An - Ressourcenpaket-G.texturen (Standard), langsam
+of.options.CUSTOM_ITEMS.tooltip.3= Aus - Standard-Gegenstandstexturen, schneller
+of.options.CUSTOM_ITEMS.tooltip.4=Die Gegenstandstexturen werden aus den aktivierten
+of.options.CUSTOM_ITEMS.tooltip.5=Ressourcenpaketen geladen.
+
+of.options.CUSTOM_ENTITY_MODELS=Wesens- & Objektmodelle
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=Wesens- und Objektmodelle
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= An - Ressourcenpaketmodelle (Standard), langsam
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= Aus - Standardmodelle, schneller
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=Die Wesens- und Objektmodelle werden aus den
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=aktivierten Ressourcenpaketen geladen.
+
+# Details
+
+of.options.CLOUDS=Wolken
+of.options.CLOUDS.tooltip.1=Wolken
+of.options.CLOUDS.tooltip.2= Standard - Wie Grafikmodus
+of.options.CLOUDS.tooltip.3= Schnell - Schlechtere Qualität, schneller
+of.options.CLOUDS.tooltip.4= Schön - Höhere Qualität, langsamer
+of.options.CLOUDS.tooltip.5= Aus - Keine Wolken, am schnellsten
+of.options.CLOUDS.tooltip.6=Schnelle Wolken werden zweidimensional dargestellt.
+of.options.CLOUDS.tooltip.7=Schöne Wolken werden dreidimensional dargestellt.
+
+of.options.CLOUD_HEIGHT=Wolkenhöhe
+of.options.CLOUD_HEIGHT.tooltip.1=Wolkenhöhe
+of.options.CLOUD_HEIGHT.tooltip.2= Aus - Standardhöhe
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - Über der maximalen Welthöhe
+
+of.options.TREES=Bäume
+of.options.TREES.tooltip.1=Bäume
+of.options.TREES.tooltip.2= Standard - Wie Grafikmodus
+of.options.TREES.tooltip.3= Schnell - Schlechtere Qualität, schneller
+of.options.TREES.tooltip.4= Fein - Hohe Qualität, schnell
+of.options.TREES.tooltip.5= Schön - Höchste Qualität, langsamer
+of.options.TREES.tooltip.6=Schnelle Bäume haben solide Blätter.
+of.options.TREES.tooltip.7=Schöne Bäume haben teilweise transparente Blätter.
+
+of.options.RAIN=Regen & Schnee
+of.options.RAIN.tooltip.1=Regen & Schnee
+of.options.RAIN.tooltip.2= Standard - Wie Grafikmodus
+of.options.RAIN.tooltip.3= Schnell - Leichter Regen/Schnee, schneller
+of.options.RAIN.tooltip.4= Schön - Starker Regen/Schnee, langsamer
+of.options.RAIN.tooltip.5= Aus - Kein Regen/Schnee, am schnellsten
+of.options.RAIN.tooltip.6=Wenn diese Einstellung deaktiviert ist, sind die Regen-
+of.options.RAIN.tooltip.7=geräusche und -partikel dennoch zu hören bzw. zu sehen.
+
+of.options.SKY=Himmel
+of.options.SKY.tooltip.1=Himmel
+of.options.SKY.tooltip.2= An - Himmel ist sichtbar, langsamer
+of.options.SKY.tooltip.3= Aus - Himmel ist nicht sichtbar, schneller
+of.options.SKY.tooltip.4=Wenn dies deaktiviert ist, sind Mond und Sonne dennoch
+of.options.SKY.tooltip.5=sichtbar.
+
+of.options.STARS=Sterne
+of.options.STARS.tooltip.1=Sterne
+of.options.STARS.tooltip.2= An - Sterne sind sichtbar, langsamer
+of.options.STARS.tooltip.3= Aus - Sterne ist nicht sichtbar, schneller
+
+of.options.SUN_MOON=Sonne & Mond
+of.options.SUN_MOON.tooltip.1=Sonne & Mond
+of.options.SUN_MOON.tooltip.2= An - Sonne und Mond sind sichtbar (Standard)
+of.options.SUN_MOON.tooltip.3= Aus - Sonne und Mond sind nicht sichtbar (schneller)
+
+of.options.SHOW_CAPES=Umhänge
+of.options.SHOW_CAPES.tooltip.1=Umhänge
+of.options.SHOW_CAPES.tooltip.2= An - Umhänge werden dargestellt (Standard)
+of.options.SHOW_CAPES.tooltip.3= Aus - Umhänge werden nicht dargestellt
+
+of.options.TRANSLUCENT_BLOCKS=Blocktransparenz
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Blocktransparenz
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Schön - Korrekte Farbmischung (Standard)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Schnell - Schnelle Farbmischung (schnell)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Kontrolliert die Farbmischung von transparenten Blöcken
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=mit verschiedenen Farben (Gefärbtes Glas, Wasser, Eis),
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=wenn sie hintereinander mit Luft dazwischen platziert
+of.options.TRANSLUCENT_BLOCKS.tooltip.7=werden.
+
+of.options.HELD_ITEM_TOOLTIPS=Gegenstandsbeschr.
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Gegenstandsbeschreibung
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= An - Zeige Gegenstandsbeschreibung (Standard)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= Aus - Zeige keine Gegenstandsbeschreibung
+of.options.HELD_ITEM_TOOLTIPS.tooltip.4=Wird über der Schnellzugriffsleiste angezeigt.
+
+of.options.ADVANCED_TOOLTIPS=Erweiterte Schnellinfo
+of.options.ADVANCED_TOOLTIPS.tooltip.1=Erweiterte Schnellinfo
+of.options.ADVANCED_TOOLTIPS.tooltip.2= An - Zeige erweiterte Schnellinfo
+of.options.ADVANCED_TOOLTIPS.tooltip.3= Aus - Keine erweiterte Schnellinfo (Standard)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Zeigt ausführliche Informationen über Gegenstände
+of.options.ADVANCED_TOOLTIPS.tooltip.5=(ID, Haltbarkeit) und Shader Einstellungen (ID, Quelle,
+of.options.ADVANCED_TOOLTIPS.tooltip.6=Standardwert) an.
+
+of.options.DROPPED_ITEMS=Gegenstände
+of.options.DROPPED_ITEMS.tooltip.1=Liegende Gegenstände
+of.options.DROPPED_ITEMS.tooltip.2= Standard - Wie Grafikmodus
+of.options.DROPPED_ITEMS.tooltip.3= Schnell - Zweidimensionale Animation, schneller
+of.options.DROPPED_ITEMS.tooltip.4= Schön - Dreidimensionale Animation, langsamer
+
+options.entityShadows.tooltip.1=Objektschatten
+options.entityShadows.tooltip.2= An - Zeige Objektschatten
+options.entityShadows.tooltip.3= Aus - Zeige keine Objektschatten
+
+of.options.VIGNETTE=Vignette
+of.options.VIGNETTE.tooltip.1=Visueller Effekt, der die Bildschirmecken abdunkelt
+of.options.VIGNETTE.tooltip.2= Standard - Wie Grafikmodus (Standard)
+of.options.VIGNETTE.tooltip.3= Schnell - Vignette deaktiviert (schneller)
+of.options.VIGNETTE.tooltip.4= Schön - Vignette aktiviert (langsamer)
+of.options.VIGNETTE.tooltip.5=Die Vignette kann sich extrem auf die Leistung auswirken,
+of.options.VIGNETTE.tooltip.6=besonders im Vollbildschirmmodus.
+of.options.VIGNETTE.tooltip.7=Der Vignetteneffekt ist fast unmerklich und kann sicher
+of.options.VIGNETTE.tooltip.8=deaktiviert werden.
+
+of.options.DYNAMIC_FOV=Dynamisches Sichtfeld
+of.options.DYNAMIC_FOV.tooltip.1=Dynamisches Sichtfeld
+of.options.DYNAMIC_FOV.tooltip.2= An - Dynamisches Sichtfeld aktivieren (Standard)
+of.options.DYNAMIC_FOV.tooltip.3= Aus - Dynamisches Sichtfeld ausschalten
+of.options.DYNAMIC_FOV.tooltip.4=Ändert das Sichtfeld beim Fliegen, Sprinten oder beim
+of.options.DYNAMIC_FOV.tooltip.5=Spannen eines Bogens.
+
+of.options.DYNAMIC_LIGHTS=Dyn. Beleuchtung
+of.options.DYNAMIC_LIGHTS.tooltip.1=Dynamische Beleuchtung
+of.options.DYNAMIC_LIGHTS.tooltip.2= Aus - Keine dynamische Beleuchtung (Standard)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Schnell - Schnelle dyn. Beleuchtung (alle 500ms aktual.)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Schön - Schöne dyn. Beleuchtung (Echtzeitaktual.)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Leuchtende Gegenstände (Fackel, Glowstone, etc.)
+of.options.DYNAMIC_LIGHTS.tooltip.6=beleuchten die Umgebung, wenn sie in der Hand gehalten,
+of.options.DYNAMIC_LIGHTS.tooltip.7=von anderen Spielern ausgerüstet oder gedroppt werden.
+
+# Performance
+
+of.options.SMOOTH_FPS=Stabile Bildrate
+of.options.SMOOTH_FPS.tooltip.1=Stabilisiert Bildrate durch Grafiktreiberpuffer
+of.options.SMOOTH_FPS.tooltip.2= Aus - Keine Stabilisierung, Bildrate könnte schwanken
+of.options.SMOOTH_FPS.tooltip.3= An - Stabilisierung der Bildrate
+of.options.SMOOTH_FPS.tooltip.4=Diese Einstellung ist abhängig vom Grafikkartentreiber.
+of.options.SMOOTH_FPS.tooltip.5=Eine Wirkung ist nicht immer spürbar.
+
+of.options.SMOOTH_WORLD=Weltstabilisierung
+of.options.SMOOTH_WORLD.tooltip.1=Entfernt vom internen Server verursachte starke Lags
+of.options.SMOOTH_WORLD.tooltip.2= Aus - Keine Stabilisierung, Bildrate könnte schwanken
+of.options.SMOOTH_WORLD.tooltip.3= An - Weltstabilisierung aktiviert
+of.options.SMOOTH_WORLD.tooltip.4=Stabilisiert die Bildrate, indem die interne Server-
+of.options.SMOOTH_WORLD.tooltip.5=auslastung aufgeteilt wird.
+of.options.SMOOTH_WORLD.tooltip=6=Funktioniert nur im Einzelspielermodus.
+
+of.options.FAST_RENDER=Schnelles Rendern
+of.options.FAST_RENDER.tooltip.1=Schnelles Rendern
+of.options.FAST_RENDER.tooltip.2= Aus - Standard-Rendern (Standard)
+of.options.FAST_RENDER.tooltip.3= An - Optimiertes Rendern (schneller)
+of.options.FAST_RENDER.tooltip.4=Benutzt optimierte Renderalgorithmen, die die GPU-Aus-
+of.options.FAST_RENDER.tooltip.5=lastung verringern und die Leistung erheblich steigern.
+
+of.options.FAST_MATH=Schnelle Mathematik
+of.options.FAST_MATH.tooltip.1=Schnelle Mathematik
+of.options.FAST_MATH.tooltip.2= Aus - Standard-Mathematik (Standard)
+of.options.FAST_MATH.tooltip.3= An - Schnellere Mathematik
+of.options.FAST_MATH.tooltip.4=Benutzt optimierte Sinus- und Kosinusfunktionen, die den
+of.options.FAST_MATH.tooltip.5=CPU-Zwischenspeicher besser nutzen und die Leistung
+of.options.FAST_MATH.tooltip.6=steigern.
+
+of.options.CHUNK_UPDATES=Chunk-Aktualisierungen
+of.options.CHUNK_UPDATES.tooltip.1=Chunk-Aktualisierungen
+of.options.CHUNK_UPDATES.tooltip.2= 1 - Langsameres Weltladen, höhere Bildrate (Standard)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - Schnelleres Weltladen, niedrigere Bildrate
+of.options.CHUNK_UPDATES.tooltip.4= 5 - Schnellstes Weltladen, niedrigste Bildrate
+of.options.CHUNK_UPDATES.tooltip.5=Zahl an Chunk-Aktualisierungen pro gerendertem Bild.
+of.options.CHUNK_UPDATES.tooltip.6=Höhere Werte könnten die Bildrate destabilisieren.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Dyn. Aktualisierungen
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Dynamische Chunk-Aktualisierungen
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= Aus - (Standard) Normale Chunk-Aktualisierungen
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= An - Mehr Chunk-Aktualisierungen
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Wenn diese Einstellung aktiviert ist, werden mehr Chunk-
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=Aktualisierungen ausgeführt, während der Spieler still
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.6=steht, um die Welt schneller zu laden.
+
+of.options.LAZY_CHUNK_LOADING=Träges Chunkladen
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Träges Chunkladen
+of.options.LAZY_CHUNK_LOADING.tooltip.2= Aus - Standard-Server-Chunkladen
+of.options.LAZY_CHUNK_LOADING.tooltip.3= An - Träges Server-Chunkladen (flüssiger)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Server-Chunkladen wird flüssiger, indem die Chunks über
+of.options.LAZY_CHUNK_LOADING.tooltip.5=ein paar Ticks hinweg geladen werden. Deaktiviere dies,
+of.options.LAZY_CHUNK_LOADING.tooltip.6=wenn Teile der Welt nicht korrekt geladen werden.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Nur für Einzelspielermodus und Ein-Kern-CPUs effektiv.
+
+# Animations
+
+of.options.animation.allOn=Alle an
+of.options.animation.allOff=Alle aus
+of.options.animation.dynamic=Dynamisch
+
+of.options.ANIMATED_WATER=Animiertes Wasser
+of.options.ANIMATED_LAVA=Animierte Lava
+of.options.ANIMATED_FIRE=Animiertes Feuer
+of.options.ANIMATED_PORTAL=Animierte Portale
+of.options.ANIMATED_REDSTONE=Animiertes Redstone
+of.options.ANIMATED_EXPLOSION=Animierte Explosion
+of.options.ANIMATED_FLAME=Animierte Flammen
+of.options.ANIMATED_SMOKE=Animierter Rauch
+of.options.VOID_PARTICLES=Leerepartikel
+of.options.WATER_PARTICLES=Wasserpartikel
+of.options.RAIN_SPLASH=Regengeplätscher
+of.options.PORTAL_PARTICLES=Portalpartikel
+of.options.POTION_PARTICLES=Trankpartikel
+of.options.DRIPPING_WATER_LAVA=Wasser- & Lavatropfen
+of.options.ANIMATED_TERRAIN=Animiertes Gelände
+of.options.ANIMATED_TEXTURES=Animierte Texturen
+of.options.FIREWORK_PARTICLES=Feuerwerkspartikel
+
+# Other
+
+of.options.LAGOMETER=Lagometer
+of.options.LAGOMETER.tooltip.1=Zeigt das Lagometer auf dem Debugbildschirm (F3).
+of.options.LAGOMETER.tooltip.2=* Orange - Speichermüllsammlung
+of.options.LAGOMETER.tooltip.3=* Cyan - Tick
+of.options.LAGOMETER.tooltip.4=* Blau - Geplante Ausführungen
+of.options.LAGOMETER.tooltip.5=* Lila - Chunks hochladen
+of.options.LAGOMETER.tooltip.6=* Rot - Chunkaktualisierungen
+of.options.LAGOMETER.tooltip.7=* Gelb - Sichtbarkeitstest
+of.options.LAGOMETER.tooltip.8=* Grün - Gelände rendern
+
+of.options.PROFILER=Debug-Diagramm
+of.options.PROFILER.tooltip.1=Debug-Diagramm
+of.options.PROFILER.tooltip.2= An - Debug-Diagramm ist aktiviert, langsamer
+of.options.PROFILER.tooltip.3= Aus - Debug-Diagramm ist nicht aktiviert, schneller
+of.options.PROFILER.tooltip.4=Das Debug-Diagramm sammelt und stellt Debuginforma-
+of.options.PROFILER.tooltip.5=tionen dar, wenn der Debugbildschirm geöffnet ist (F3).
+
+of.options.WEATHER=Wetter
+of.options.WEATHER.tooltip.1=Wetter
+of.options.WEATHER.tooltip.2= An - Wetter ist aktiv, langsamer
+of.options.WEATHER.tooltip.3= Aus - Wetter ist nicht aktiv, schneller
+of.options.WEATHER.tooltip.4=Das Wetter kontrolliert Regen, Schnee und Gewitter.
+of.options.WEATHER.tooltip.5=Wetterkontrolle ist nur im Einzelspielermodus möglich.
+
+of.options.time.dayOnly=Nur Tag
+of.options.time.nightOnly=Nur Nacht
+
+of.options.TIME=Zeit
+of.options.TIME.tooltip.1=Zeit
+of.options.TIME.tooltip.2= Standard - Normaler Tag-Nacht-Zyklus
+of.options.TIME.tooltip.3= Nur Tag - Nur Tag
+of.options.TIME.tooltip.4= Nur Nacht - Nur Nacht
+of.options.TIME.tooltip.5=Diese Einstellung ist nur im Kreativmodus und
+of.options.TIME.tooltip.6=im Einzelspielermodus wirksam.
+
+options.fullscreen.tooltip.1=Vollbildschirm
+options.fullscreen.tooltip.2= An - Benutze Vollbildschirmmodus
+options.fullscreen.tooltip.3= Aus - Benutze Fenstermodus
+options.fullscreen.tooltip.4=Der Vollbildschirmmodus könnte schneller oder langsamer
+options.fullscreen.tooltip.5=als der Fenstermodus sein, das kommt auf die Grafik-
+options.fullscreen.tooltip.6=karte an.
+
+of.options.FULLSCREEN_MODE=Vollbild-Auflösung
+of.options.FULLSCREEN_MODE.tooltip.1=Vollbild-Auflösung
+of.options.FULLSCREEN_MODE.tooltip.2= Standard - Benutze Bildschirmauflösung, langsamer
+of.options.FULLSCREEN_MODE.tooltip.3= BxH - Benutze andere Auflösung, könnte schneller sein
+of.options.FULLSCREEN_MODE.tooltip.4=Die ausgewählte Auflösung wird im Vollbildschirmmodus
+of.options.FULLSCREEN_MODE.tooltip.5=verwendet (F11). Kleinere Auflösungen sollten generell
+of.options.FULLSCREEN_MODE.tooltip.6=schneller sein.
+
+of.options.SHOW_FPS=Bildrate anzeigen
+of.options.SHOW_FPS.tooltip.1=Zeige kurze Bildrate- und Render-Informationen
+of.options.SHOW_FPS.tooltip.2= C: - Chunkrenderer
+of.options.SHOW_FPS.tooltip.3= E: - Objektrenderer + Blockrenderer
+of.options.SHOW_FPS.tooltip.4= U: - Chunk-Aktualisierungen
+of.options.SHOW_FPS.tooltip.5=Die Bildrate-Informationen werden nur gezeigt, wenn der
+of.options.SHOW_FPS.tooltip.6=Debugbildschirm (F3) sichtbar ist.
+
+of.options.save.default=Standard (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Autospeichern
+of.options.AUTOSAVE_TICKS.tooltip.1=Autospeicherintervall
+of.options.AUTOSAVE_TICKS.tooltip.2=Normales Autospeicherintervall (2s) ist NICHT EMPFOHLEN.
+of.options.AUTOSAVE_TICKS.tooltip.3=Autospeichern verursacht den berühmten Lag des Todes.
+
+of.options.SCREENSHOT_SIZE=Screenshot Größe
+of.options.SCREENSHOT_SIZE.tooltip.1=Screenshot Auflösung
+of.options.SCREENSHOT_SIZE.tooltip.2= Standard - Standard Screenshot Auflösung
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - Benutzerdefinierte Screenshot Auflösung
+of.options.SCREENSHOT_SIZE.tooltip.4=Das Aufnehmen größerer Screenshots kann mehr
+of.options.SCREENSHOT_SIZE.tooltip.5=Speicher benötigen.
+of.options.SCREENSHOT_SIZE.tooltip.6=Nicht kompatibel mit Schnellem Rendern und Antialiasing.
+of.options.SCREENSHOT_SIZE.tooltip.7=Erfordert Grafiktreiberpuffer Unterstützung.
diff --git a/src/main/resources/assets/minecraft/optifine/lang/en_GB.lang b/src/main/resources/assets/minecraft/optifine/lang/en_GB.lang
new file mode 100644
index 00000000..c506e51e
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/en_GB.lang
@@ -0,0 +1,36 @@
+# Video Settings
+
+options.anaglyph.tooltip.2=Enables a stereoscopic 3D effect using different colours
+
+# Quality
+
+of.options.AA_LEVEL.tooltip.5=sharp colour transitions.
+
+of.options.CUSTOM_COLORS=Custom Colours
+of.options.CUSTOM_COLORS.tooltip.1=Custom Colours
+of.options.CUSTOM_COLORS.tooltip.2= ON - uses custom colours (default), slower
+of.options.CUSTOM_COLORS.tooltip.3= OFF - uses default colours, faster
+of.options.CUSTOM_COLORS.tooltip.4=The custom colours are supplied by the current
+of.options.CUSTOM_COLORS.tooltip.5=resource pack
+
+of.options.SWAMP_COLORS=Swamp Colours
+of.options.SWAMP_COLORS.tooltip.1=Swamp Colours
+of.options.SWAMP_COLORS.tooltip.2= ON - use swamp colours (default), slower
+of.options.SWAMP_COLORS.tooltip.3= OFF - do not use swamp colours, faster
+of.options.SWAMP_COLORS.tooltip.4=The swamp colours affect grass, leaves, vines and water.
+
+of.options.SMOOTH_BIOMES.tooltip.5=averaging the colour of all surrounding blocks.
+
+# Details
+
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Fancy - correct colour blending (default)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Fast - fast colour blending (faster)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Controls the colour blending of translucent blocks
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=with different colour (stained glass, water, ice)
+
+# Performance
+
+of.options.FAST_MATH=Fast Maths
+of.options.FAST_MATH.tooltip.1=Fast Maths
+of.options.FAST_MATH.tooltip.2= OFF - standard maths (default)
+of.options.FAST_MATH.tooltip.3= ON - faster maths
\ No newline at end of file
diff --git a/src/main/resources/assets/minecraft/optifine/lang/en_US.lang b/src/main/resources/assets/minecraft/optifine/lang/en_US.lang
new file mode 100644
index 00000000..41e87c8a
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/en_US.lang
@@ -0,0 +1,586 @@
+# General
+of.general.ambiguous=ambiguous
+of.general.custom=Custom
+of.general.from=From
+of.general.id=Id
+of.general.restart=restart
+of.general.smart=Smart
+
+# Keys
+of.key.zoom=Zoom
+
+# Message
+of.message.aa.shaders1=Antialiasing is not compatible with Shaders.
+of.message.aa.shaders2=Please disable Shaders to enable this option.
+
+of.message.af.shaders1=Anisotropic Filtering is not compatible with Shaders.
+of.message.af.shaders2=Please disable Shaders to enable this option.
+
+of.message.fr.shaders1=Fast Render is not compatible with Shaders.
+of.message.fr.shaders2=Please disable Shaders to enable this option.
+
+of.message.an.shaders1=3D Anaglyph is not compatible with Shaders.
+of.message.an.shaders2=Please disable Shaders to enable this option.
+
+of.message.shaders.aa1=Shaders are not compatible with Antialiasing.
+of.message.shaders.aa2=Please set Quality -> Antialiasing to OFF and restart the game.
+
+of.message.shaders.af1=Shaders are not compatible with Anisotropic Filtering.
+of.message.shaders.af2=Please set Quality -> Anisotropic Filtering to OFF.
+
+of.message.shaders.fr1=Shaders are not compatible with Fast Render.
+of.message.shaders.fr2=Please set Performance -> Fast Render to OFF.
+
+of.message.shaders.an1=Shaders are not compatible with 3D Anaglyph.
+of.message.shaders.an2=Please set Other -> 3D Anaglyph to OFF.
+
+of.message.newVersion=A new §eOptiFine§f version is available: §e%s§f
+of.message.java64Bit=You can install §e64-bit Java§f to increase performance.
+of.message.openglError=§eOpenGL Error§f: %s (%s)
+
+of.message.shaders.loading=Loading shaders: %s
+
+of.message.other.reset=Reset all video settings to their default values?
+
+of.message.loadingVisibleChunks=Loading visible chunks
+
+# Video settings
+
+options.graphics.tooltip.1=Visual quality
+options.graphics.tooltip.2= Fast - lower quality, faster
+options.graphics.tooltip.3= Fancy - higher quality, slower
+options.graphics.tooltip.4=Changes the appearance of clouds, leaves, water,
+options.graphics.tooltip.5=shadows and grass sides.
+
+of.options.renderDistance.extreme=Extreme
+
+options.renderDistance.tooltip.1=Visible distance
+options.renderDistance.tooltip.2= 2 Tiny - 32m (fastest)
+options.renderDistance.tooltip.3= 4 Short - 64m (faster)
+options.renderDistance.tooltip.4= 8 Normal - 128m
+options.renderDistance.tooltip.5= 16 Far - 256m (slower)
+options.renderDistance.tooltip.6= 32 Extreme - 512m (slowest!)
+options.renderDistance.tooltip.7=The Extreme view distance is very resource demanding!
+options.renderDistance.tooltip.8=Values over 16 Far are only effective in local worlds.
+
+options.ao.tooltip.1=Smooth lighting
+options.ao.tooltip.2= OFF - no smooth lighting (faster)
+options.ao.tooltip.3= Minimum - simple smooth lighting (slower)
+options.ao.tooltip.4= Maximum - complex smooth lighting (slowest)
+
+options.framerateLimit.tooltip.1=Max framerate
+options.framerateLimit.tooltip.2= VSync - limit to monitor framerate (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - variable
+options.framerateLimit.tooltip.4= Unlimited - no limit (fastest)
+options.framerateLimit.tooltip.5=The framerate limit decreases the FPS even if
+options.framerateLimit.tooltip.6=the limit value is not reached.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Smooth Lighting Level
+of.options.AO_LEVEL.tooltip.1=Smooth lighting level
+of.options.AO_LEVEL.tooltip.2= OFF - no shadows
+of.options.AO_LEVEL.tooltip.3= 50%% - light shadows
+of.options.AO_LEVEL.tooltip.4= 100%% - dark shadows
+
+options.viewBobbing.tooltip.1=More realistic movement.
+options.viewBobbing.tooltip.2=When using mipmaps set it to OFF for best results.
+
+options.guiScale.tooltip.1=GUI Scale
+options.guiScale.tooltip.2= Auto - maximal size
+options.guiScale.tooltip.3= Small, Normal, Large - 1x to 3x
+options.guiScale.tooltip.4= 4x to 10x - available on 4K displays
+options.guiScale.tooltip.5=Odd values (1x, 3x, 5x ...) are not compatible with Unicode.
+options.guiScale.tooltip.6=A smaller GUI may be faster.
+
+options.vbo.tooltip.1=Vertex Buffer Objects
+options.vbo.tooltip.2=Uses an alternative rendering model which is usually
+options.vbo.tooltip.3=faster (5-10%%) than the default rendering.
+
+options.gamma.tooltip.1=Changes the brightness of darker objects.
+options.gamma.tooltip.2= Moody - standard brightness
+options.gamma.tooltip.3= 1-99%% - variable
+options.gamma.tooltip.4= Bright - maximum brightness for darker objects
+options.gamma.tooltip.5=This option does not change the brightness of
+options.gamma.tooltip.6=fully black objects.
+
+options.anaglyph.tooltip.1=3D Anaglyph
+options.anaglyph.tooltip.2=Enables a stereoscopic 3D effect using different colors
+options.anaglyph.tooltip.3=for each eye.
+options.anaglyph.tooltip.4=Requires red-cyan glasses for proper viewing.
+
+options.blockAlternatives.tooltip.1=Alternate Blocks
+options.blockAlternatives.tooltip.2=Uses alternative block models for some blocks.
+options.blockAlternatives.tooltip.3=Depends on the selected resource pack.
+
+of.options.ALTERNATE_BLOCKS=Alternate Blocks
+of.options.ALTERNATE_BLOCKS.tooltip.1=Alternate Blocks
+of.options.ALTERNATE_BLOCKS.tooltip.2=Uses alternative block models for some blocks.
+of.options.ALTERNATE_BLOCKS.tooltip.3=Depends on the selected resource pack.
+
+of.options.FOG_FANCY=Fog
+of.options.FOG_FANCY.tooltip.1=Fog type
+of.options.FOG_FANCY.tooltip.2= Fast - faster fog
+of.options.FOG_FANCY.tooltip.3= Fancy - slower fog, looks better
+of.options.FOG_FANCY.tooltip.4= OFF - no fog, fastest
+of.options.FOG_FANCY.tooltip.5=The fancy fog is available only if it is supported by the
+of.options.FOG_FANCY.tooltip.6=graphic card.
+
+of.options.FOG_START=Fog Start
+of.options.FOG_START.tooltip.1=Fog start
+of.options.FOG_START.tooltip.2= 0.2 - the fog starts near the player
+of.options.FOG_START.tooltip.3= 0.8 - the fog starts far from the player
+of.options.FOG_START.tooltip.4=This option usually does not affect the performance.
+
+of.options.CHUNK_LOADING=Chunk Loading
+of.options.CHUNK_LOADING.tooltip.1=Chunk Loading
+of.options.CHUNK_LOADING.tooltip.2= Default - unstable FPS when loading chunks
+of.options.CHUNK_LOADING.tooltip.3= Smooth - stable FPS
+of.options.CHUNK_LOADING.tooltip.4= Multi-Core - stable FPS, 3x faster world loading
+of.options.CHUNK_LOADING.tooltip.5=Smooth and Multi-Core remove the stuttering and
+of.options.CHUNK_LOADING.tooltip.6=freezes caused by chunk loading.
+of.options.CHUNK_LOADING.tooltip.7=Multi-Core can speed up 3x the world loading and
+of.options.CHUNK_LOADING.tooltip.8=increase FPS by using a second CPU core.
+of.options.chunkLoading.smooth=Smooth
+of.options.chunkLoading.multiCore=Multi-Core
+
+of.options.shaders=Shaders...
+of.options.shadersTitle=Shaders
+
+of.options.shaders.packNone=OFF
+of.options.shaders.packDefault=(internal)
+
+of.options.shaders.ANTIALIASING=Antialiasing
+of.options.shaders.NORMAL_MAP=Normal Map
+of.options.shaders.SPECULAR_MAP=Specular Map
+of.options.shaders.RENDER_RES_MUL=Render Quality
+of.options.shaders.SHADOW_RES_MUL=Shadow Quality
+of.options.shaders.HAND_DEPTH_MUL=Hand Depth
+of.options.shaders.CLOUD_SHADOW=Cloud Shadow
+of.options.shaders.OLD_HAND_LIGHT=Old Hand Light
+of.options.shaders.OLD_LIGHTING=Old Lighting
+of.options.shaders.SHADER_PACK=Shader Pack
+
+of.options.shaders.shadersFolder=Shaders Folder
+of.options.shaders.shaderOptions=Shader Options...
+
+of.options.shaderOptionsTitle=Shader Options
+
+of.options.quality=Quality...
+of.options.qualityTitle=Quality Settings
+
+of.options.details=Details...
+of.options.detailsTitle=Detail Settings
+
+of.options.performance=Performance...
+of.options.performanceTitle=Performance Settings
+
+of.options.animations=Animations...
+of.options.animationsTitle=Animation Settings
+
+of.options.other=Other...
+of.options.otherTitle=Other Settings
+
+of.options.other.reset=Reset Video Settings...
+
+of.shaders.profile=Profile
+
+# Quality
+
+of.options.mipmap.bilinear=Bilinear
+of.options.mipmap.linear=Linear
+of.options.mipmap.nearest=Nearest
+of.options.mipmap.trilinear=Trilinear
+
+options.mipmapLevels.tooltip.1=Visual effect which makes distant objects look better
+options.mipmapLevels.tooltip.2=by smoothing the texture details
+options.mipmapLevels.tooltip.3= OFF - no smoothing
+options.mipmapLevels.tooltip.4= 1 - minimum smoothing
+options.mipmapLevels.tooltip.5= 4 - maximum smoothing
+options.mipmapLevels.tooltip.6=This option usually does not affect the performance.
+
+of.options.MIPMAP_TYPE=Mipmap Type
+of.options.MIPMAP_TYPE.tooltip.1=Visual effect which makes distant objects look better
+of.options.MIPMAP_TYPE.tooltip.2=by smoothing the texture details
+of.options.MIPMAP_TYPE.tooltip.3= Nearest - rough smoothing (fastest)
+of.options.MIPMAP_TYPE.tooltip.4= Linear - normal smoothing
+of.options.MIPMAP_TYPE.tooltip.5= Bilinear - fine smoothing
+of.options.MIPMAP_TYPE.tooltip.6= Trilinear - finest smoothing (slowest)
+
+
+of.options.AA_LEVEL=Antialiasing
+of.options.AA_LEVEL.tooltip.1=Antialiasing
+of.options.AA_LEVEL.tooltip.2= OFF - (default) no antialiasing (faster)
+of.options.AA_LEVEL.tooltip.3= 2-16 - antialiased lines and edges (slower)
+of.options.AA_LEVEL.tooltip.4=The Antialiasing smooths jagged lines and
+of.options.AA_LEVEL.tooltip.5=sharp color transitions.
+of.options.AA_LEVEL.tooltip.6=When enabled it may substantially decrease the FPS.
+of.options.AA_LEVEL.tooltip.7=Not all levels are supported by all graphics cards.
+of.options.AA_LEVEL.tooltip.8=Effective after a RESTART!
+
+of.options.AF_LEVEL=Anisotropic Filtering
+of.options.AF_LEVEL.tooltip.1=Anisotropic Filtering
+of.options.AF_LEVEL.tooltip.2= OFF - (default) standard texture detail (faster)
+of.options.AF_LEVEL.tooltip.3= 2-16 - finer details in mipmapped textures (slower)
+of.options.AF_LEVEL.tooltip.4=The Anisotropic Filtering restores details in
+of.options.AF_LEVEL.tooltip.5=mipmapped textures.
+of.options.AF_LEVEL.tooltip.6=When enabled it may substantially decrease the FPS.
+
+of.options.CLEAR_WATER=Clear Water
+of.options.CLEAR_WATER.tooltip.1=Clear Water
+of.options.CLEAR_WATER.tooltip.2= ON - clear, transparent water
+of.options.CLEAR_WATER.tooltip.3= OFF - default water
+
+of.options.RANDOM_MOBS=Random Mobs
+of.options.RANDOM_MOBS.tooltip.1=Random Mobs
+of.options.RANDOM_MOBS.tooltip.2= OFF - no random mobs, faster
+of.options.RANDOM_MOBS.tooltip.3= ON - random mobs, slower
+of.options.RANDOM_MOBS.tooltip.4=Random mobs uses random textures for the game creatures.
+of.options.RANDOM_MOBS.tooltip.5=It needs a resource pack which has multiple mob textures.
+
+of.options.BETTER_GRASS=Better Grass
+of.options.BETTER_GRASS.tooltip.1=Better Grass
+of.options.BETTER_GRASS.tooltip.2= OFF - default side grass texture, fastest
+of.options.BETTER_GRASS.tooltip.3= Fast - full side grass texture, slower
+of.options.BETTER_GRASS.tooltip.4= Fancy - dynamic side grass texture, slowest
+
+of.options.BETTER_SNOW=Better Snow
+of.options.BETTER_SNOW.tooltip.1=Better Snow
+of.options.BETTER_SNOW.tooltip.2= OFF - default snow, faster
+of.options.BETTER_SNOW.tooltip.3= ON - better snow, slower
+of.options.BETTER_SNOW.tooltip.4=Shows snow under transparent blocks (fence, tall grass)
+of.options.BETTER_SNOW.tooltip.5=when bordering with snow blocks.
+
+of.options.CUSTOM_FONTS=Custom Fonts
+of.options.CUSTOM_FONTS.tooltip.1=Custom Fonts
+of.options.CUSTOM_FONTS.tooltip.2= ON - uses custom fonts (default), slower
+of.options.CUSTOM_FONTS.tooltip.3= OFF - uses default font, faster
+of.options.CUSTOM_FONTS.tooltip.4=The custom fonts are supplied by the current
+of.options.CUSTOM_FONTS.tooltip.5=resource pack.
+
+of.options.CUSTOM_COLORS=Custom Colors
+of.options.CUSTOM_COLORS.tooltip.1=Custom Colors
+of.options.CUSTOM_COLORS.tooltip.2= ON - uses custom colors (default), slower
+of.options.CUSTOM_COLORS.tooltip.3= OFF - uses default colors, faster
+of.options.CUSTOM_COLORS.tooltip.4=The custom colors are supplied by the current
+of.options.CUSTOM_COLORS.tooltip.5=resource pack.
+
+of.options.SWAMP_COLORS=Swamp Colors
+of.options.SWAMP_COLORS.tooltip.1=Swamp Colors
+of.options.SWAMP_COLORS.tooltip.2= ON - use swamp colors (default), slower
+of.options.SWAMP_COLORS.tooltip.3= OFF - do not use swamp colors, faster
+of.options.SWAMP_COLORS.tooltip.4=The swamp colors affect grass, leaves, vines and water.
+
+of.options.SMOOTH_BIOMES=Smooth Biomes
+of.options.SMOOTH_BIOMES.tooltip.1=Smooth Biomes
+of.options.SMOOTH_BIOMES.tooltip.2= ON - smoothing of biome borders (default), slower
+of.options.SMOOTH_BIOMES.tooltip.3= OFF - no smoothing of biome borders, faster
+of.options.SMOOTH_BIOMES.tooltip.4=The smoothing of biome borders is done by sampling and
+of.options.SMOOTH_BIOMES.tooltip.5=averaging the color of all surrounding blocks.
+of.options.SMOOTH_BIOMES.tooltip.6=Affected are grass, leaves, vines and water.
+
+of.options.CONNECTED_TEXTURES=Connected Textures
+of.options.CONNECTED_TEXTURES.tooltip.1=Connected Textures
+of.options.CONNECTED_TEXTURES.tooltip.2= OFF - no connected textures (default)
+of.options.CONNECTED_TEXTURES.tooltip.3= Fast - fast connected textures
+of.options.CONNECTED_TEXTURES.tooltip.4= Fancy - fancy connected textures
+of.options.CONNECTED_TEXTURES.tooltip.5=Connected textures joins the textures of glass,
+of.options.CONNECTED_TEXTURES.tooltip.6=sandstone and bookshelves when placed next to
+of.options.CONNECTED_TEXTURES.tooltip.7=each other. The connected textures are supplied
+of.options.CONNECTED_TEXTURES.tooltip.8=by the current resource pack.
+
+of.options.NATURAL_TEXTURES=Natural Textures
+of.options.NATURAL_TEXTURES.tooltip.1=Natural Textures
+of.options.NATURAL_TEXTURES.tooltip.2= OFF - no natural textures (default)
+of.options.NATURAL_TEXTURES.tooltip.3= ON - use natural textures
+of.options.NATURAL_TEXTURES.tooltip.4=Natural textures remove the gridlike pattern
+of.options.NATURAL_TEXTURES.tooltip.5=created by repeating blocks of the same type.
+of.options.NATURAL_TEXTURES.tooltip.6=It uses rotated and flipped variants of the base
+of.options.NATURAL_TEXTURES.tooltip.7=block texture. The configuration for the natural
+of.options.NATURAL_TEXTURES.tooltip.8=textures is supplied by the current resource pack.
+
+of.options.CUSTOM_SKY=Custom Sky
+of.options.CUSTOM_SKY.tooltip.1=Custom Sky
+of.options.CUSTOM_SKY.tooltip.2= ON - custom sky textures (default), slow
+of.options.CUSTOM_SKY.tooltip.3= OFF - default sky, faster
+of.options.CUSTOM_SKY.tooltip.4=The custom sky textures are supplied by the current
+of.options.CUSTOM_SKY.tooltip.5=resource pack.
+
+of.options.CUSTOM_ITEMS=Custom Items
+of.options.CUSTOM_ITEMS.tooltip.1=Custom Items
+of.options.CUSTOM_ITEMS.tooltip.2= ON - custom item textures (default), slow
+of.options.CUSTOM_ITEMS.tooltip.3= OFF - default item textures, faster
+of.options.CUSTOM_ITEMS.tooltip.4=The custom item textures are supplied by the current
+of.options.CUSTOM_ITEMS.tooltip.5=resource pack.
+
+of.options.CUSTOM_ENTITY_MODELS=Custom Entity Models
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=Custom Entity Models
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= ON - custom entity models (default), slow
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= OFF - default entity models, faster
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=The custom entity models are supplied by the current
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=resource pack.
+
+# Details
+
+of.options.CLOUDS=Clouds
+of.options.CLOUDS.tooltip.1=Clouds
+of.options.CLOUDS.tooltip.2= Default - as set by setting Graphics
+of.options.CLOUDS.tooltip.3= Fast - lower quality, faster
+of.options.CLOUDS.tooltip.4= Fancy - higher quality, slower
+of.options.CLOUDS.tooltip.5= OFF - no clouds, fastest
+of.options.CLOUDS.tooltip.6=Fast clouds are rendered 2D.
+of.options.CLOUDS.tooltip.7=Fancy clouds are rendered 3D.
+
+of.options.CLOUD_HEIGHT=Cloud Height
+of.options.CLOUD_HEIGHT.tooltip.1=Cloud Height
+of.options.CLOUD_HEIGHT.tooltip.2= OFF - default height
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - above world height limit
+
+of.options.TREES=Trees
+of.options.TREES.tooltip.1=Trees
+of.options.TREES.tooltip.2= Default - as set by setting Graphics
+of.options.TREES.tooltip.3= Fast - lower quality, faster
+of.options.TREES.tooltip.4= Smart - higher quality, fast
+of.options.TREES.tooltip.5= Fancy - highest quality, slower
+of.options.TREES.tooltip.6=Fast trees have opaque leaves.
+of.options.TREES.tooltip.7=Fancy and smart trees have transparent leaves.
+
+of.options.RAIN=Rain & Snow
+of.options.RAIN.tooltip.1=Rain & Snow
+of.options.RAIN.tooltip.2= Default - as set by setting Graphics
+of.options.RAIN.tooltip.3= Fast - light rain/snow, faster
+of.options.RAIN.tooltip.4= Fancy - heavy rain/snow, slower
+of.options.RAIN.tooltip.5= OFF - no rain/snow, fastest
+of.options.RAIN.tooltip.6=When rain is OFF the splashes and rain sounds
+of.options.RAIN.tooltip.7=are still active.
+
+of.options.SKY=Sky
+of.options.SKY.tooltip.1=Sky
+of.options.SKY.tooltip.2= ON - sky is visible, slower
+of.options.SKY.tooltip.3= OFF - sky is not visible, faster
+of.options.SKY.tooltip.4=When sky is OFF the moon and sun are still visible.
+
+of.options.STARS=Stars
+of.options.STARS.tooltip.1=Stars
+of.options.STARS.tooltip.2= ON - stars are visible, slower
+of.options.STARS.tooltip.3= OFF - stars are not visible, faster
+
+of.options.SUN_MOON=Sun & Moon
+of.options.SUN_MOON.tooltip.1=Sun & Moon
+of.options.SUN_MOON.tooltip.2= ON - sun and moon are visible (default)
+of.options.SUN_MOON.tooltip.3= OFF - sun and moon are not visible (faster)
+
+of.options.SHOW_CAPES=Show Capes
+of.options.SHOW_CAPES.tooltip.1=Show Capes
+of.options.SHOW_CAPES.tooltip.2= ON - show player capes (default)
+of.options.SHOW_CAPES.tooltip.3= OFF - do not show player capes
+
+of.options.TRANSLUCENT_BLOCKS=Translucent Blocks
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Translucent Blocks
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Fancy - correct color blending (default)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Fast - fast color blending (faster)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Controls the color blending of translucent blocks
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=with different color (stained glass, water, ice)
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=when placed behind each other with air between them.
+
+of.options.HELD_ITEM_TOOLTIPS=Held Item Tooltips
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Held item tooltips
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= ON - show tooltips for held items (default)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= OFF - do not show tooltips for held items
+
+of.options.ADVANCED_TOOLTIPS=Advanced Tooltips
+of.options.ADVANCED_TOOLTIPS.tooltip.1=Advanced tooltips
+of.options.ADVANCED_TOOLTIPS.tooltip.2= ON - show advanced tooltips
+of.options.ADVANCED_TOOLTIPS.tooltip.3= OFF - do not show advanced tooltips (default)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Advanced tooltips show extended information for
+of.options.ADVANCED_TOOLTIPS.tooltip.5=items (id, durability) and for shader options
+of.options.ADVANCED_TOOLTIPS.tooltip.6=(id, source, default value).
+
+of.options.DROPPED_ITEMS=Dropped Items
+of.options.DROPPED_ITEMS.tooltip.1=Dropped Items
+of.options.DROPPED_ITEMS.tooltip.2= Default - as set by setting Graphics
+of.options.DROPPED_ITEMS.tooltip.3= Fast - 2D dropped items, faster
+of.options.DROPPED_ITEMS.tooltip.4= Fancy - 3D dropped items, slower
+
+options.entityShadows.tooltip.1=Entity Shadows
+options.entityShadows.tooltip.2= ON - show entity shadows
+options.entityShadows.tooltip.3= OFF - do not show entity shadows
+
+of.options.VIGNETTE=Vignette
+of.options.VIGNETTE.tooltip.1=Visual effect which slightly darkens the screen corners
+of.options.VIGNETTE.tooltip.2= Default - as set by the setting Graphics (default)
+of.options.VIGNETTE.tooltip.3= Fast - vignette disabled (faster)
+of.options.VIGNETTE.tooltip.4= Fancy - vignette enabled (slower)
+of.options.VIGNETTE.tooltip.5=The vignette may have a significant effect on the FPS,
+of.options.VIGNETTE.tooltip.6=especially when playing fullscreen.
+of.options.VIGNETTE.tooltip.7=The vignette effect is very subtle and can safely
+of.options.VIGNETTE.tooltip.8=be disabled.
+
+of.options.DYNAMIC_FOV=Dynamic FOV
+of.options.DYNAMIC_FOV.tooltip.1=Dynamic FOV
+of.options.DYNAMIC_FOV.tooltip.2= ON - enable dynamic FOV (default)
+of.options.DYNAMIC_FOV.tooltip.3= OFF - disable dynamic FOV
+of.options.DYNAMIC_FOV.tooltip.4=Changes the field of view (FOV) when flying, sprinting
+of.options.DYNAMIC_FOV.tooltip.5=or pulling a bow.
+
+of.options.DYNAMIC_LIGHTS=Dynamic Lights
+of.options.DYNAMIC_LIGHTS.tooltip.1=Dynamic Lights
+of.options.DYNAMIC_LIGHTS.tooltip.2= OFF - no dynamic lights (default)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Fast - fast dynamic lights (updated every 500ms)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Fancy - fancy dynamic lights (updated in real-time)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Enables light emitting items (torch, glowstone, etc.)
+of.options.DYNAMIC_LIGHTS.tooltip.6=to illuminate everything around them when held in hand,
+of.options.DYNAMIC_LIGHTS.tooltip.7=equipped by other player or dropped on the ground.
+
+# Performance
+
+of.options.SMOOTH_FPS=Smooth FPS
+of.options.SMOOTH_FPS.tooltip.1=Stabilizes FPS by flushing the graphic driver buffers.
+of.options.SMOOTH_FPS.tooltip.2= OFF - no stabilization, FPS may fluctuate
+of.options.SMOOTH_FPS.tooltip.3= ON - FPS stabilization
+of.options.SMOOTH_FPS.tooltip.4=This option is graphics driver dependant and its effect
+of.options.SMOOTH_FPS.tooltip.5=is not always visible.
+
+of.options.SMOOTH_WORLD=Smooth World
+of.options.SMOOTH_WORLD.tooltip.1=Removes lag spikes caused by the internal server.
+of.options.SMOOTH_WORLD.tooltip.2= OFF - no stabilization, FPS may fluctuate
+of.options.SMOOTH_WORLD.tooltip.3= ON - FPS stabilization
+of.options.SMOOTH_WORLD.tooltip.4=Stabilizes FPS by distributing the internal server load.
+of.options.SMOOTH_WORLD.tooltip.5=Effective only for local worlds (single player).
+
+of.options.FAST_RENDER=Fast Render
+of.options.FAST_RENDER.tooltip.1=Fast Render
+of.options.FAST_RENDER.tooltip.2= OFF - standard rendering (default)
+of.options.FAST_RENDER.tooltip.3= ON - optimized rendering (faster)
+of.options.FAST_RENDER.tooltip.4=Uses optimized rendering algorithm which decreases
+of.options.FAST_RENDER.tooltip.5=the GPU load and may substantially increase the FPS.
+
+of.options.FAST_MATH=Fast Math
+of.options.FAST_MATH.tooltip.1=Fast Math
+of.options.FAST_MATH.tooltip.2= OFF - standard math (default)
+of.options.FAST_MATH.tooltip.3= ON - faster math
+of.options.FAST_MATH.tooltip.4=Uses optimized sin() and cos() functions which can
+of.options.FAST_MATH.tooltip.5=better utilize the CPU cache and increase the FPS.
+
+of.options.CHUNK_UPDATES=Chunk Updates
+of.options.CHUNK_UPDATES.tooltip.1=Chunk updates
+of.options.CHUNK_UPDATES.tooltip.2= 1 - slower world loading, higher FPS (default)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - faster world loading, lower FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - fastest world loading, lowest FPS
+of.options.CHUNK_UPDATES.tooltip.5=Number of chunk updates per rendered frame,
+of.options.CHUNK_UPDATES.tooltip.6=higher values may destabilize the framerate.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Dynamic Updates
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Dynamic chunk updates
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= OFF - (default) standard chunk updates per frame
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= ON - more updates while the player is standing still
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Dynamic updates force more chunk updates while
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=the player is standing still to load the world faster.
+
+of.options.LAZY_CHUNK_LOADING=Lazy Chunk Loading
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Lazy Chunk Loading
+of.options.LAZY_CHUNK_LOADING.tooltip.2= OFF - default server chunk loading
+of.options.LAZY_CHUNK_LOADING.tooltip.3= ON - lazy server chunk loading (smoother)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Smooths the integrated server chunk loading by
+of.options.LAZY_CHUNK_LOADING.tooltip.5=distributing the chunks over several ticks.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Turn it OFF if parts of the world do not load correctly.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Effective only for local worlds and single-core CPU.
+
+# Animations
+
+of.options.animation.allOn=All ON
+of.options.animation.allOff=All OFF
+of.options.animation.dynamic=Dynamic
+
+of.options.ANIMATED_WATER=Water Animated
+of.options.ANIMATED_LAVA=Lava Animated
+of.options.ANIMATED_FIRE=Fire Animated
+of.options.ANIMATED_PORTAL=Portal Animated
+of.options.ANIMATED_REDSTONE=Redstone Animated
+of.options.ANIMATED_EXPLOSION=Explosion Animated
+of.options.ANIMATED_FLAME=Flame Animated
+of.options.ANIMATED_SMOKE=Smoke Animated
+of.options.VOID_PARTICLES=Void Particles
+of.options.WATER_PARTICLES=Water Particles
+of.options.RAIN_SPLASH=Rain Splash
+of.options.PORTAL_PARTICLES=Portal Particles
+of.options.POTION_PARTICLES=Potion Particles
+of.options.DRIPPING_WATER_LAVA=Dripping Water/Lava
+of.options.ANIMATED_TERRAIN=Terrain Animated
+of.options.ANIMATED_TEXTURES=Textures Animated
+of.options.FIREWORK_PARTICLES=Firework Particles
+
+# Other
+
+of.options.LAGOMETER=Lagometer
+of.options.LAGOMETER.tooltip.1=Shows the lagometer on the debug screen (F3).
+of.options.LAGOMETER.tooltip.2=* Orange - Memory garbage collection
+of.options.LAGOMETER.tooltip.3=* Cyan - Tick
+of.options.LAGOMETER.tooltip.4=* Blue - Scheduled executables
+of.options.LAGOMETER.tooltip.5=* Purple - Chunk upload
+of.options.LAGOMETER.tooltip.6=* Red - Chunk updates
+of.options.LAGOMETER.tooltip.7=* Yellow - Visibility check
+of.options.LAGOMETER.tooltip.8=* Green - Render terrain
+
+of.options.PROFILER=Debug Profiler
+of.options.PROFILER.tooltip.1=Debug Profiler
+of.options.PROFILER.tooltip.2= ON - debug profiler is active, slower
+of.options.PROFILER.tooltip.3= OFF - debug profiler is not active, faster
+of.options.PROFILER.tooltip.4=The debug profiler collects and shows debug information
+of.options.PROFILER.tooltip.5=when the debug screen is open (F3).
+
+of.options.WEATHER=Weather
+of.options.WEATHER.tooltip.1=Weather
+of.options.WEATHER.tooltip.2= ON - weather is active, slower
+of.options.WEATHER.tooltip.3= OFF - weather is not active, faster
+of.options.WEATHER.tooltip.4=The weather controls rain, snow and thunderstorms.
+of.options.WEATHER.tooltip.5=Weather control is only possible for local worlds.
+
+of.options.time.dayOnly=Day Only
+of.options.time.nightOnly=Night Only
+
+of.options.TIME=Time
+of.options.TIME.tooltip.1=Time
+of.options.TIME.tooltip.2= Default - normal day/night cycles
+of.options.TIME.tooltip.3= Day Only - day only
+of.options.TIME.tooltip.4= Night Only - night only
+of.options.TIME.tooltip.5=The time setting is only effective in CREATIVE mode
+of.options.TIME.tooltip.6=and for local worlds.
+
+options.fullscreen.tooltip.1=Fullscreen
+options.fullscreen.tooltip.2= ON - use fullscreen mode
+options.fullscreen.tooltip.3= OFF - use window mode
+options.fullscreen.tooltip.4=Fullscreen mode may be faster or slower than
+options.fullscreen.tooltip.5=window mode, depending on the graphics card.
+
+of.options.FULLSCREEN_MODE=Fullscreen Mode
+of.options.FULLSCREEN_MODE.tooltip.1=Fullscreen mode
+of.options.FULLSCREEN_MODE.tooltip.2= Default - use desktop screen resolution, slower
+of.options.FULLSCREEN_MODE.tooltip.3= WxH - use custom screen resolution, may be faster
+of.options.FULLSCREEN_MODE.tooltip.4=The selected resolution is used in fullscreen mode (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Lower resolutions should generally be faster.
+
+of.options.SHOW_FPS=Show FPS
+of.options.SHOW_FPS.tooltip.1=Shows compact FPS and render information.
+of.options.SHOW_FPS.tooltip.2= C: - chunk renderers
+of.options.SHOW_FPS.tooltip.3= E: - rendered entities + block entities
+of.options.SHOW_FPS.tooltip.4= U: - chunk updates
+of.options.SHOW_FPS.tooltip.5=The compact FPS information is only shown when the
+of.options.SHOW_FPS.tooltip.6=debug screen is not visible.
+
+of.options.save.default=Default (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Autosave
+of.options.AUTOSAVE_TICKS.tooltip.1=Autosave interval
+of.options.AUTOSAVE_TICKS.tooltip.2=Default autosave interval (2s) is NOT RECOMMENDED.
+of.options.AUTOSAVE_TICKS.tooltip.3=Autosave causes the famous Lag Spike of Death.
+
+of.options.SCREENSHOT_SIZE=Screenshot Size
+of.options.SCREENSHOT_SIZE.tooltip.1=Screenshot Size
+of.options.SCREENSHOT_SIZE.tooltip.2= Default - default screenshot size
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - custom screenshot size
+of.options.SCREENSHOT_SIZE.tooltip.4=Capturing bigger screenshots may need more memory.
+of.options.SCREENSHOT_SIZE.tooltip.5=Not compatible with Fast Render and Antialiasing.
+of.options.SCREENSHOT_SIZE.tooltip.6=Requires GPU framebuffer support.
\ No newline at end of file
diff --git a/src/main/resources/assets/minecraft/optifine/lang/es_ES.lang b/src/main/resources/assets/minecraft/optifine/lang/es_ES.lang
new file mode 100644
index 00000000..adb45cee
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/es_ES.lang
@@ -0,0 +1,580 @@
+# General
+of.general.ambiguous=ambiguo
+of.general.custom=Personalizado
+of.general.from=De
+of.general.id=ID
+of.general.restart=Reiniciar
+of.general.smart=Inteligente
+
+# Keys
+of.key.zoom=Hacer zoom
+
+# Message
+of.message.aa.shaders1=Antialiasing no es compatible con shaders.
+of.message.aa.shaders2=DesactÃvalas para usar esta función.
+
+of.message.af.shaders1=Anisotrópico no es compatible con shaders.
+of.message.af.shaders2=DesactÃvalas para usar esta función.
+
+of.message.fr.shaders1=Renderizado rápido no es compatible con shaders.
+of.message.fr.shaders2=DesactÃvalas para usar esta función.
+
+of.message.shaders.aa1=Las shaders no son compatibles con antialiasing.
+of.message.shaders.aa2=Para desactivarlo, haz clic en Calidad -> Antialiasing.
+
+of.message.shaders.af1=Las shaders no son compatibles con anisotrópico.
+of.message.shaders.af2=Para desactivarlo, haz clic en Calidad -> Anisotrópico.
+
+of.message.shaders.fr1=Las shaders no son compatibles con el renderizado rápido.
+of.message.shaders.fr2=Para desactivarlo, haz clic en Rendimiento -> Renderizado rápido.
+
+of.message.newVersion=Hay una nueva versión de §eOptiFine§f disponible: §e%s§f
+of.message.java64Bit=Instala §eJava de 64-bits§f para mejorar el rendimiento
+of.message.openglError=§eError de OpenGL§f: %s (%s)
+
+of.message.shaders.loading=Cargando shader: %s
+
+of.message.other.reset=¿Restablecer toda la configuración gráfica?
+
+# Video settings
+
+options.graphics.tooltip.1=Calidad gráfica
+options.graphics.tooltip.2= Rápida - peor calidad, mejor rendimiento
+options.graphics.tooltip.3= Detallada - mejor calidad, peor rendimiento
+options.graphics.tooltip.4=
+options.graphics.tooltip.5=Los cambios se aprecian en las nubes, en las hojas,
+options.graphics.tooltip.6=en la lluvia, en los objetos sueltos y en las esquinas
+options.graphics.tooltip.7=de la pantalla del juego.
+
+of.options.renderDistance.extreme=Extremo
+
+options.renderDistance.tooltip.1=Distancia de chunks renderizada
+options.renderDistance.tooltip.2= 2 MÃnimo - 32m (increÃblemente rápido)
+options.renderDistance.tooltip.3= 4 Corto - 64m (rápido)
+options.renderDistance.tooltip.4= 8 Normal - 128m
+options.renderDistance.tooltip.5= 16 Lejano - 256m (lento)
+options.renderDistance.tooltip.6= 32 Extremo - 512m (¡extremadamente lento!)
+options.renderDistance.tooltip.7=¡El renderizado extremo necesita un buen equipo!
+options.renderDistance.tooltip.8=Los valores mayores de 16 no funcionan en multijugador.
+
+options.ao.tooltip.1=Iluminación suave
+options.ao.tooltip.2= NO - sin iluminación suave (rápido)
+options.ao.tooltip.3= MÃnimo - iluminación suave simple (lento)
+options.ao.tooltip.4= Máximo - iluminación suave avanzada (más lento)
+
+options.framerateLimit.tooltip.1=LÃmite de FPS
+options.framerateLimit.tooltip.2= VSync - limita los FPS según el monitor (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - lÃmite personalizado
+options.framerateLimit.tooltip.4= Sin lÃmite - todos los FPS posibles (rápido)
+options.framerateLimit.tooltip.5=
+options.framerateLimit.tooltip.6=Al establecer un lÃmite, los FPS pueden disminuir llegar
+options.framerateLimit.tooltip.7=a este.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Nivel de suavidad
+of.options.AO_LEVEL.tooltip.1=Nivel de la iluminación suave
+of.options.AO_LEVEL.tooltip.2= NO - sin sombras
+of.options.AO_LEVEL.tooltip.3= 50%% - pocas sombras
+of.options.AO_LEVEL.tooltip.4= 100%% - sombras oscuras
+
+options.viewBobbing.tooltip.1=Movimiento más realista.
+options.viewBobbing.tooltip.2=Desactivar al usar mipmap para obtener mejor resultado.
+
+options.guiScale.tooltip.1=Escala de la interfaz (GUI)
+options.guiScale.tooltip.2=Una interfaz más pequeña puede mejorar el rendimiento.
+
+options.vbo.tooltip.1=Vertex Buffer Objects (abreviado como VBO)
+options.vbo.tooltip.2=Forma alternativa de renderizado que suele ser más
+options.vbo.tooltip.3=rápida (5-10%%) que la predeterminada.
+
+options.gamma.tooltip.1=Modificar el brillo
+options.gamma.tooltip.2= Oscuro - brillo por defecto
+options.gamma.tooltip.3= 1-99%% - brillo personalizado
+options.gamma.tooltip.4= Claro - brillo al máximo
+options.gamma.tooltip.5=
+options.gamma.tooltip.6=Esta opción no cambia completamente el brillo de los
+options.gamma.tooltip.7=objetos más oscuros.
+
+options.anaglyph.tooltip.1=Visión en 3D
+options.anaglyph.tooltip.2=Activar un efecto estereoscópico usando un color
+options.anaglyph.tooltip.3=diferente para cada ojo.
+options.anaglyph.tooltip.4=NOTA: Requiere gafas anaglÃficas (rojas y azules).
+
+of.options.ALTERNATE_BLOCKS=Bloques alternos
+of.options.ALTERNATE_BLOCKS.tooltip.1=Bloques con texturas alternas
+of.options.ALTERNATE_BLOCKS.tooltip.2=Usar texturas alternativas para un mismo bloque.
+of.options.ALTERNATE_BLOCKS.tooltip.3=Depende del paquete de recursos usado.
+
+of.options.FOG_FANCY=Niebla
+of.options.FOG_FANCY.tooltip.1=Tipo de niebla
+of.options.FOG_FANCY.tooltip.2= Rápida - niebla más rápida, luce cutre
+of.options.FOG_FANCY.tooltip.3= Detallada - niebla más lenta, luce mejor
+of.options.FOG_FANCY.tooltip.4= NO - sin niebla, superrápido
+of.options.FOG_FANCY.tooltip.5=La niebla detallada sólo está disponible si la tarjeta
+of.options.FOG_FANCY.tooltip.6=gráfica lo permite.
+
+of.options.FOG_START=Distancia de niebla
+of.options.FOG_START.tooltip.1=Distancia a la que empieza la niebla
+of.options.FOG_START.tooltip.2= 0.2 - la niebla empieza cerca del jugador
+of.options.FOG_START.tooltip.3= 0.8 - la niebla empieza lejos del jugador
+of.options.FOG_START.tooltip.4=Normalmente esta opción no afecta al rendimiento.
+
+of.options.CHUNK_LOADING=Carga de chunks
+of.options.CHUNK_LOADING.tooltip.1=Velocidad de carga de chunks
+of.options.CHUNK_LOADING.tooltip.2= Por defecto - FPS inestables al cargar chunks
+of.options.CHUNK_LOADING.tooltip.3= Suave - FPS estables
+of.options.CHUNK_LOADING.tooltip.4= Multinúcleo - FPS estables y una velocidad 3 veces superior
+of.options.CHUNK_LOADING.tooltip.5=Las opciones "Suave" y "Multinúcleo" eliminan los tirones y la
+of.options.CHUNK_LOADING.tooltip.6=lentitud causada por la carga de chunks.
+of.options.CHUNK_LOADING.tooltip.7=Multinúcleo puede acelerar la carga hasta 3 veces más y mejorar
+of.options.CHUNK_LOADING.tooltip.8=los FPS al usar un segundo núcleo del CPU.
+of.options.chunkLoading.smooth=Suave
+of.options.chunkLoading.multiCore=Multinúcleo
+
+of.options.shaders=Shaders...
+of.options.shadersTitle=Shaders
+
+of.options.shaders.packNone=(ninguna shader)
+of.options.shaders.packDefault=(shader interna)
+
+of.options.shaders.ANTIALIASING=Antialiasing
+of.options.shaders.NORMAL_MAP=Normal mapping
+of.options.shaders.SPECULAR_MAP=Specular mapping
+of.options.shaders.RENDER_RES_MUL=Calidad render.
+of.options.shaders.SHADOW_RES_MUL=Calidad sombras
+of.options.shaders.HAND_DEPTH_MUL=Prof. de campo
+of.options.shaders.CLOUD_SHADOW=Sombras de nubes
+of.options.shaders.OLD_HAND_LIGHT=Lclás. en mano
+of.options.shaders.OLD_LIGHTING=Luz clásica
+of.options.shaders.SHADER_PACK=Paquete de shader
+
+of.options.shaders.shadersFolder=Carpeta de shaders
+of.options.shaders.shaderOptions=Opciones de shader...
+
+of.options.shaderOptionsTitle=Opciones de shader
+
+of.options.quality=Calidad...
+of.options.qualityTitle=Opciones de la calidad gráfica
+
+of.options.details=Detalles...
+of.options.detailsTitle=Opciones de la calidad gráfica
+
+of.options.performance=Rendimiento...
+of.options.performanceTitle=Opciones de rendimiento
+
+of.options.animations=Animaciones...
+of.options.animationsTitle=Activar o desactivar animaciones
+
+of.options.other=Opciones varias...
+of.options.otherTitle=Opciones varias
+
+of.options.other.reset=Restablecer toda la configuración...
+
+of.shaders.profile=Perfil
+
+# Quality
+
+of.options.mipmap.bilinear=Bilineal
+of.options.mipmap.linear=Lineal
+of.options.mipmap.nearest=Cercano
+of.options.mipmap.trilinear=Trilineal
+
+options.mipmapLevels.tooltip.1=Efecto visual que hace que los objetos lejanos luzcan
+options.mipmapLevels.tooltip.2=mejor gracias a que suaviza los detalles de su textura
+options.mipmapLevels.tooltip.3=
+options.mipmapLevels.tooltip.4= NO - sin suavizado
+options.mipmapLevels.tooltip.5= 1 - suavizado mÃnimo
+options.mipmapLevels.tooltip.6= 4 - suavizado máximo
+options.mipmapLevels.tooltip.7=
+options.mipmapLevels.tooltip.8=Normalmente esta opción no afecta al rendimiento.
+
+of.options.MIPMAP_TYPE=Tipo de mipmap
+of.options.MIPMAP_TYPE.tooltip.1=Efecto visual que hace que los objetos lejanos luzcan
+of.options.MIPMAP_TYPE.tooltip.2=mejor gracias a que suaviza los detalles de su textura
+of.options.MIPMAP_TYPE.tooltip.3=
+of.options.MIPMAP_TYPE.tooltip.4= Cercano - suavizado bruto (más rápido)
+of.options.MIPMAP_TYPE.tooltip.5= Lineal - suavizado normal
+of.options.MIPMAP_TYPE.tooltip.6= Bilineal - suavizado fino
+of.options.MIPMAP_TYPE.tooltip.7= Trilineal - suavizado muy fino (más lento)
+
+
+of.options.AA_LEVEL=Antialiasing
+of.options.AA_LEVEL.tooltip.1=Antialiasing suaviza lÃneas y bordes de los bloques
+of.options.AA_LEVEL.tooltip.2= NO - (por defecto) sin antialiasing (más rápido)
+of.options.AA_LEVEL.tooltip.3= 2-16 - nivel de suavizado del antialiasing (más lento)
+of.options.AA_LEVEL.tooltip.4=
+of.options.AA_LEVEL.tooltip.5= Suaviza los dientes de sierra y mejora la nitidez.
+of.options.AA_LEVEL.tooltip.6=Los FPS pueden disminuir considerablemente al activarse.
+of.options.AA_LEVEL.tooltip.7=Algunas tarjetas gráficas no soportan todos los niveles.
+of.options.AA_LEVEL.tooltip.8= ¡El cambio será aplicado al REINICIAR el juego!
+
+of.options.AF_LEVEL=Anisotrópico
+of.options.AF_LEVEL.tooltip.1=Filtrado anisotrópico
+of.options.AF_LEVEL.tooltip.2= NO - (por defecto) detalle normal de texturas (rápido)
+of.options.AF_LEVEL.tooltip.3= 2-16 - refinar texturas al usar mipmap (más lento)
+of.options.AF_LEVEL.tooltip.4=
+of.options.AF_LEVEL.tooltip.6=Este filtro recupera detalles al usar mipmap.
+of.options.AF_LEVEL.tooltip.7=Los FPS pueden disminuir considerablemente al activarse.
+
+of.options.CLEAR_WATER=Aguas cristalinas
+of.options.CLEAR_WATER.tooltip.1=Aguas cristalinas
+of.options.CLEAR_WATER.tooltip.2= SÃ - agua limpia y transparente
+of.options.CLEAR_WATER.tooltip.3= NO - agua predeterminada del juego
+
+of.options.RANDOM_MOBS=Criaturas aleatorias
+of.options.RANDOM_MOBS.tooltip.1=Aleatorizar las texturas de las criaturas
+of.options.RANDOM_MOBS.tooltip.2= NO - sin aleatorizar, más rápido
+of.options.RANDOM_MOBS.tooltip.3= Sà - con aleatorización, más lento
+of.options.RANDOM_MOBS.tooltip.4=
+of.options.RANDOM_MOBS.tooltip.5=Esta opción permite que las criaturas cambien de textura.
+of.options.RANDOM_MOBS.tooltip.6=Requiere un paquete de recursos que tenga varias texturas
+of.options.RANDOM_MOBS.tooltip.7=para una misma criatura.
+
+of.options.BETTER_GRASS=Césped mejorado
+of.options.BETTER_GRASS.tooltip.1=Textura de los lados del césped mejorada
+of.options.BETTER_GRASS.tooltip.2= NO - césped normal (por defecto), más rápido
+of.options.BETTER_GRASS.tooltip.3= Rápida - todo el bloque lleno de césped, más lento
+of.options.BETTER_GRASS.tooltip.4= Detallada - textura dinámica, mucho más lento
+
+of.options.BETTER_SNOW=Nieve mejorada
+of.options.BETTER_SNOW.tooltip.1=Nieve mejorada
+of.options.BETTER_SNOW.tooltip.2= NO - nieve predeterminada, más rápido
+of.options.BETTER_SNOW.tooltip.3= Sà - nieve mejorada, más lento
+of.options.BETTER_SNOW.tooltip.4=
+of.options.BETTER_SNOW.tooltip.5=Mostrar nieve debajo de los bloques transparantes
+of.options.BETTER_SNOW.tooltip.6=(vallas, hierbas) al bordearlos con nieve.
+
+of.options.CUSTOM_FONTS=Fuentes personalizadas
+of.options.CUSTOM_FONTS.tooltip.1=Fuentes personalizadas
+of.options.CUSTOM_FONTS.tooltip.2= Sà - usar personalizadas (por defecto), más lento
+of.options.CUSTOM_FONTS.tooltip.3= NO - usar la predeterminada, más rápido
+of.options.CUSTOM_FONTS.tooltip.4=
+of.options.CUSTOM_FONTS.tooltip.5=Algunos paquetes de recursos tienen fuentes
+of.options.CUSTOM_FONTS.tooltip.6=personalizadas.
+
+of.options.CUSTOM_COLORS=Colores personalizados
+of.options.CUSTOM_COLORS.tooltip.1=Colores personalizados
+of.options.CUSTOM_COLORS.tooltip.2= Sà - usar colores personalizados (por defecto), más lento
+of.options.CUSTOM_COLORS.tooltip.3= NO - usar colores predeterminados, más rápido
+of.options.CUSTOM_COLORS.tooltip.4=
+of.options.CUSTOM_COLORS.tooltip.5=Algunos paquetes de recursos tienen colores
+of.options.CUSTOM_COLORS.tooltip.6=personalizados.
+
+of.options.SWAMP_COLORS=Color de pantanos
+of.options.SWAMP_COLORS.tooltip.1=Color de pantanos
+of.options.SWAMP_COLORS.tooltip.2= Sà - color en pantanos (por defecto), más lento
+of.options.SWAMP_COLORS.tooltip.3= NO - sin color en los pantanos, más rápido
+of.options.SWAMP_COLORS.tooltip.4=Afecta a: césped, agua, hojas y enredaderas.
+
+of.options.SMOOTH_BIOMES=Suavizar biomas
+of.options.SMOOTH_BIOMES.tooltip.1=Suavizar bordes de biomas
+of.options.SMOOTH_BIOMES.tooltip.2= Sà - suavizar bordes de biomas (por defecto), más lento
+of.options.SMOOTH_BIOMES.tooltip.3= NO - no suavizar bordes de biomas, más rápido
+of.options.SMOOTH_BIOMES.tooltip.4=
+of.options.SMOOTH_BIOMES.tooltip.5=El suavizado se realiza mediante el degradado del color de
+of.options.SMOOTH_BIOMES.tooltip.6=los bloques cercanos al borde.
+of.options.SMOOTH_BIOMES.tooltip.7=Afecta a: césped, agua, hojas y enredaderas.
+
+of.options.CONNECTED_TEXTURES=Unir texturas
+of.options.CONNECTED_TEXTURES.tooltip.1=Unir algunas texturas (Connected Textures)
+of.options.CONNECTED_TEXTURES.tooltip.2= NO - no unirlas (por defecto)
+of.options.CONNECTED_TEXTURES.tooltip.3= Rápida - unirlas de forma rápida
+of.options.CONNECTED_TEXTURES.tooltip.4= Detallada - unirlas de forma mejorada
+of.options.CONNECTED_TEXTURES.tooltip.5=
+of.options.CONNECTED_TEXTURES.tooltip.6=Unir las texturas de los cristales, de la arenisca y de
+of.options.CONNECTED_TEXTURES.tooltip.7=las librerÃas al juntar los bloques.
+of.options.CONNECTED_TEXTURES.tooltip.8=No todos los paquetes de recursos soportan esta opción.
+
+of.options.NATURAL_TEXTURES=Texturas naturales
+of.options.NATURAL_TEXTURES.tooltip.1=Texturas naturales
+of.options.NATURAL_TEXTURES.tooltip.2= NO - sin texturas naturales (por defecto)
+of.options.NATURAL_TEXTURES.tooltip.3= SÃ - con texturas naturales
+of.options.NATURAL_TEXTURES.tooltip.4=Esta opción elimina el patrón de los bloques
+of.options.NATURAL_TEXTURES.tooltip.5=que se crea al poner bloques del mismo tipo.
+of.options.NATURAL_TEXTURES.tooltip.6=Se usan variantes rotadas y voleteadas de la textura
+of.options.NATURAL_TEXTURES.tooltip.7=base del bloque.
+of.options.NATURAL_TEXTURES.tooltip.8=No todos los paquetes de recursos soportan esta opción.
+
+of.options.CUSTOM_SKY=Cielo personalizado
+of.options.CUSTOM_SKY.tooltip.1=Textura personalizada del cielo
+of.options.CUSTOM_SKY.tooltip.2= Sà - cielo personalizado (por defecto), más lento
+of.options.CUSTOM_SKY.tooltip.3= NO - cielo predeterminado, más rápido
+of.options.CUSTOM_SKY.tooltip.4=
+of.options.CUSTOM_SKY.tooltip.5=No todos los paquetes de recursos soportan esta opción.
+
+of.options.CUSTOM_ITEMS=Objetos personalizados
+of.options.CUSTOM_ITEMS.tooltip.1=Textura personalizada de objetos (Ãtems)
+of.options.CUSTOM_ITEMS.tooltip.2= Sà - objetos personalizadas (por defecto), más lento
+of.options.CUSTOM_ITEMS.tooltip.3= NO - objetos predeterminados, más rápido
+of.options.CUSTOM_ITEMS.tooltip.4=
+of.options.CUSTOM_ITEMS.tooltip.5=No todos los paquetes de recursos soportan esta opción.
+
+# Details
+
+of.options.CLOUDS=Capa de nubes
+of.options.CLOUDS.tooltip.1=Capa de nubes
+of.options.CLOUDS.tooltip.2= Por defecto - depende del ajuste de la calidad gráfica
+of.options.CLOUDS.tooltip.3= Rápida - peor calidad, rápido
+of.options.CLOUDS.tooltip.4= Detallada - mayor calidad, lento
+of.options.CLOUDS.tooltip.5= NO - sin nubes, superrápido
+of.options.CLOUDS.tooltip.6=
+of.options.CLOUDS.tooltip.7=Las nubes rápidas se renderizan en 2D.
+of.options.CLOUDS.tooltip.8=Las nubes detalladas se renderizan en 3D.
+
+of.options.CLOUD_HEIGHT=Elevación de nubes
+of.options.CLOUD_HEIGHT.tooltip.1=Aumento en la altura de la capa de nubes
+of.options.CLOUD_HEIGHT.tooltip.2= NO - altura por defecto
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - encima del lÃmite del mundo
+
+of.options.TREES=Arboleda
+of.options.TREES.tooltip.1=Calidad de hojas de árboles
+of.options.TREES.tooltip.2= Por defecto - depende del ajuste de la calidad gráfica
+of.options.TREES.tooltip.3= Rápida - baja calidad, muy rápido
+of.options.TREES.tooltip.4= Inteligente - más calidad, rápido
+of.options.TREES.tooltip.5= Detallada - máxima calidad, más lento
+of.options.TREES.tooltip.6=
+of.options.TREES.tooltip.7=La arboleda rápida dejará las hojas sin transparencia.
+of.options.TREES.tooltip.8="Detallada" e "Inteligente" sà mantienen la transparencia.
+
+of.options.RAIN=Lluvia/Nieve
+of.options.RAIN.tooltip.1=Lluvia y nieve
+of.options.RAIN.tooltip.2= Por defecto - depende del ajuste de la calidad gráfica
+of.options.RAIN.tooltip.3= Rápida - lluvia/nieve ligera, más rápido
+of.options.RAIN.tooltip.4= Detallada - lluvia/nieve intensa, más lento
+of.options.RAIN.tooltip.5= NO - sin lluvia/nieve, fastest
+of.options.RAIN.tooltip.6=
+of.options.RAIN.tooltip.7=Aunque se desactive la lluvia, el sonido sigue estando
+of.options.RAIN.tooltip.8=activado.
+
+of.options.SKY=Cielo
+of.options.SKY.tooltip.1=Cielo
+of.options.SKY.tooltip.2= Sà - cielo visible, más lento
+of.options.SKY.tooltip.3= NO - cielo no visible, más lento
+of.options.SKY.tooltip.4=
+of.options.SKY.tooltip.5=Aunque se desactive, la Luna y el Sol se podrán seguir
+of.options.SKY.tooltip.6=viendo.
+
+of.options.STARS=Cielo estrellado
+of.options.STARS.tooltip.1=Visibilidad de estrellas en el cielo nocturno
+of.options.STARS.tooltip.2= Sà - estrellas, más lento
+of.options.STARS.tooltip.3= NO - sin estrellas, más rápido
+
+of.options.SUN_MOON=Sol/Luna
+of.options.SUN_MOON.tooltip.1=Visibilidad del Sol y la Luna
+of.options.SUN_MOON.tooltip.2= SÃ - el Sol y la Luna SÃ son visibles (por defecto)
+of.options.SUN_MOON.tooltip.3= NO - el Sol y la Luna NO son visibles (rápido)
+
+of.options.SHOW_CAPES=Capas
+of.options.SHOW_CAPES.tooltip.1=Capas de jugadores
+of.options.SHOW_CAPES.tooltip.2= SÃ - mostrar las capas de los jugadores (por defecto)
+of.options.SHOW_CAPES.tooltip.3= NO - ocultar las capas de los jugadores
+
+of.options.TRANSLUCENT_BLOCKS=Translucidez
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Calidad de los bloques translúcidos
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Detallada - mezcla de colores perfecta (por defecto)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Rápida - mezcla de colores cutre (más rápido)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=Esta opción afecta a los bloques translúcidos que tienen
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=color pero sólo cuando se colocan uno detrás del otro con
+of.options.TRANSLUCENT_BLOCKS.tooltip.7=un bloque vacÃo entre ambos.
+of.options.TRANSLUCENT_BLOCKS.tooltip.8=Afecta a: cristal tintado, agua, hielo...
+
+of.options.HELD_ITEM_TOOLTIPS=Texto en barra inferior
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Nombre de objetos en la barra inferior
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= SÃ - mostrar nombres (por defecto)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= NO - no mostrar nombres (como antiguamente)
+
+of.options.DROPPED_ITEMS=Cosas tiradas
+of.options.DROPPED_ITEMS.tooltip.1=Calidad de los objetos en el suelo sin recoger
+of.options.DROPPED_ITEMS.tooltip.2= Por defecto - depende del ajuste de la calidad gráfica
+of.options.DROPPED_ITEMS.tooltip.3= Rápida - objetos en 2D, más rápido
+of.options.DROPPED_ITEMS.tooltip.4= Detallada - objetos en 3D, más lento pero más bonito
+
+options.entityShadows.tooltip.1=Sombras de entidades
+options.entityShadows.tooltip.2= SÃ - mostrar sombras en las entidades
+options.entityShadows.tooltip.3= NO - no mostrar sombras en las entidades
+
+of.options.VIGNETTE=Esquinas
+of.options.VIGNETTE.tooltip.1=(Efecto viñeta) oscurece las esquinas de la pantalla
+of.options.VIGNETTE.tooltip.2= Por defecto - depende del ajuste de la calidad gráfica
+of.options.VIGNETTE.tooltip.3= Rápida - efecto viñeta desactivado (más rápido)
+of.options.VIGNETTE.tooltip.4= Detallada - efecto viñeta activado (más lento)
+of.options.VIGNETTE.tooltip.5=
+of.options.VIGNETTE.tooltip.6=Los FPS pueden disminuir considerablemente al activarse,
+of.options.VIGNETTE.tooltip.7=sobretodo en pantalla completa.
+of.options.VIGNETTE.tooltip.8=El efecto viñeta se puede deshabilitar sin ningún problema.
+
+of.options.DYNAMIC_FOV=Campo de visión dinámico
+of.options.DYNAMIC_FOV.tooltip.1=Campo de visión dinámico
+of.options.DYNAMIC_FOV.tooltip.2= SÃ - activarlo (por defecto)
+of.options.DYNAMIC_FOV.tooltip.3= NO - desactivarlo
+of.options.DYNAMIC_FOV.tooltip.4=Cambiar el campo de visión (FOV) al volar, correr o apuntar
+of.options.DYNAMIC_FOV.tooltip.5=con un arco.
+
+of.options.DYNAMIC_LIGHTS=Iluminación dinámica
+of.options.DYNAMIC_LIGHTS.tooltip.1=Iluminación dinámica
+of.options.DYNAMIC_LIGHTS.tooltip.2= NO - sin i. dinámica (por defecto)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Rápida - i. dinámica rápida (se actualiza cada 500ms)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Detallada - i. dinámica detallada (se actualiza en tiempo real)
+of.options.DYNAMIC_LIGHTS.tooltip.5=
+of.options.DYNAMIC_LIGHTS.tooltip.6=Esta opción permite a algunos objetos emitir luz sin estar colocados.
+of.options.DYNAMIC_LIGHTS.tooltip.7=Al equipar uno de esos objetos en la mano, o al tirarlos al suelo
+of.options.DYNAMIC_LIGHTS.tooltip.8=el entorno se iluminará (afecta a: antorchas, piedra luminosa...).
+
+# Performance
+
+of.options.SMOOTH_FPS=Estabilizar FPS
+of.options.SMOOTH_FPS.tooltip.1=Establizar FPS nivelando el búfer del controlador gráfico
+of.options.SMOOTH_FPS.tooltip.2= NO - sin estabilización
+of.options.SMOOTH_FPS.tooltip.3= Sà - con estabilización
+of.options.SMOOTH_FPS.tooltip.4=
+of.options.SMOOTH_FPS.tooltip.5=Esta opción depende del controlador gráfico y su efecto
+of.options.SMOOTH_FPS.tooltip.6=no siempre es notorio.
+
+of.options.SMOOTH_WORLD=Estabilizar mundos
+of.options.SMOOTH_WORLD.tooltip.1=Eliminar los picos de lag causados por el servidor interno
+of.options.SMOOTH_WORLD.tooltip.2= NO - sin estabilización
+of.options.SMOOTH_WORLD.tooltip.3= Sà - con estabilización
+of.options.SMOOTH_WORLD.tooltip.4=
+of.options.SMOOTH_WORLD.tooltip.5=Esta opción estabiliza los FPS distribuyendo la carga del
+of.options.SMOOTH_WORLD.tooltip.6=servidor interno.
+of.options.SMOOTH_WORLD.tooltip.7=No funciona en multijugador.
+
+of.options.FAST_RENDER=Renderizado rápido
+of.options.FAST_RENDER.tooltip.1=Renderizar rápidamente
+of.options.FAST_RENDER.tooltip.2= NO - renderizado estandar (por defecto)
+of.options.FAST_RENDER.tooltip.3= Sà - renderizado optimizado (rápido)
+of.options.FAST_RENDER.tooltip.4=
+of.options.FAST_RENDER.tooltip.5=Usa un algoritmo de renderizado mejorado que reduce el
+of.options.FAST_RENDER.tooltip.6=consumo de GPU y aumenta los FPS.
+
+of.options.FAST_MATH=Matemática rápida
+of.options.FAST_MATH.tooltip.1=Matemática rápida
+of.options.FAST_MATH.tooltip.2= NO - estandar (por defecto)
+of.options.FAST_MATH.tooltip.3= Sà - sistema rápido
+of.options.FAST_MATH.tooltip.4=
+of.options.FAST_MATH.tooltip.5=Usar las funciones sin() y cos() de Java de forma
+of.options.FAST_MATH.tooltip.6=optimizada para mejorar el uso de caché del CPU y mejorar
+of.options.FAST_MATH.tooltip.7=los FPS.
+
+of.options.CHUNK_UPDATES=Actualizaciones de chunks
+of.options.CHUNK_UPDATES.tooltip.1=Actualizaciones de chunks
+of.options.CHUNK_UPDATES.tooltip.2= 1 - carga lenta, más FPS (por defecto)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - carga rápida, menos FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - carga superrápida, muchos menos FPS
+of.options.CHUNK_UPDATES.tooltip.5=
+of.options.CHUNK_UPDATES.tooltip.6=Número de chunks renderizados por cada fotograma.
+of.options.CHUNK_UPDATES.tooltip.7=Los valores más altos pueden desestabilizar los FPS.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Actualización dinámica
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Actualizaciones de chunks dinámicas
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= NO - (por defecto) carga normal por fotograma
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= Sà - más actualizaciones mientras estés quieto
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=Esta opción fuerza la actualización de chunks mientras
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.6=estás quieto para cargar el mundo más rápidamente.
+
+of.options.LAZY_CHUNK_LOADING=Carga de chunks vaga
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Carga de chunks vaga
+of.options.LAZY_CHUNK_LOADING.tooltip.2= NO - carga de chunks predeterminada
+of.options.LAZY_CHUNK_LOADING.tooltip.3= SÃ - carga de chunks vaga (estabiliza la carga)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=
+of.options.LAZY_CHUNK_LOADING.tooltip.5=Suaviza la carga interna de chunks distribuyéndola durante
+of.options.LAZY_CHUNK_LOADING.tooltip.6=varios ticks. DesactÃvala si algunas partes del mundo no se
+of.options.LAZY_CHUNK_LOADING.tooltip.7=cargan correctamente.
+of.options.LAZY_CHUNK_LOADING.tooltip.8=Sólo funciona en mundos locales con CPUs de un núcleo.
+
+# Animations
+
+of.options.animation.allOn=TODAS
+of.options.animation.allOff=NINGUNA
+of.options.animation.dynamic=Dinámicas
+
+of.options.ANIMATED_WATER=Agua
+of.options.ANIMATED_LAVA=Lava
+of.options.ANIMATED_FIRE=Fuego
+of.options.ANIMATED_PORTAL=Portales
+of.options.ANIMATED_REDSTONE=Redstone
+of.options.ANIMATED_EXPLOSION=Explosiones
+of.options.ANIMATED_FLAME=Llamaradas
+of.options.ANIMATED_SMOKE=Humo
+of.options.VOID_PARTICLES=PartÃculas del vacÃo
+of.options.WATER_PARTICLES=PartÃculas del agua
+of.options.RAIN_SPLASH=Salpicaduras de lluvia
+of.options.PORTAL_PARTICLES=PartÃculas de portales
+of.options.POTION_PARTICLES=PartÃculas de pociones
+of.options.DRIPPING_WATER_LAVA=Goteo de agua/lava
+of.options.ANIMATED_TERRAIN=Terreno animado
+of.options.ANIMATED_TEXTURES=Texturas animadas
+of.options.FIREWORK_PARTICLES=PartÃculas de cohetes
+
+# Other
+
+of.options.LAGOMETER=Medidor de lag
+of.options.LAGOMETER.tooltip.1=Muestra el medidor de lag al usar F3.
+of.options.LAGOMETER.tooltip.2=* Naranja - Basura en la memoria
+of.options.LAGOMETER.tooltip.3=* Cian - Ticks
+of.options.LAGOMETER.tooltip.4=* Azul - Ejecutables programados
+of.options.LAGOMETER.tooltip.5=* Morado - Carga de chunks
+of.options.LAGOMETER.tooltip.6=* Rojo - Actualizaciones de chunks
+of.options.LAGOMETER.tooltip.7=* Amarillo - Chequeo de visibilidad
+of.options.LAGOMETER.tooltip.8=* Verde - Terreno renderizado
+
+of.options.PROFILER=Perfil debug
+of.options.PROFILER.tooltip.1=Debug (también llamado depuración)
+of.options.PROFILER.tooltip.2= Sà - perfil debug activado, más lento
+of.options.PROFILER.tooltip.3= NO - perfil debug desactivado, más rápido
+of.options.PROFILER.tooltip.4=El perfil debug reúne y muestra más datos cuando se
+of.options.PROFILER.tooltip.5=usa F3.
+
+of.options.WEATHER=Clima
+of.options.WEATHER.tooltip.1=Clima (tiempo atmosférico)
+of.options.WEATHER.tooltip.2= Sà - clima activado, más lento
+of.options.WEATHER.tooltip.3= NO - clima desactivado, más rápido
+of.options.WEATHER.tooltip.4=El clima controla la lluvia, la nieve y las tormentas.
+of.options.WEATHER.tooltip.5=Esta opción no funciona en multijugador.
+
+of.options.time.dayOnly=Sólo dÃa
+of.options.time.nightOnly=Sólo noche
+
+of.options.TIME=Reloj
+of.options.TIME.tooltip.1=Reloj (tiempo)
+of.options.TIME.tooltip.2= Por defecto - ciclos normales de dÃa/noche
+of.options.TIME.tooltip.3= Sólo dÃa - sólo es de dÃa
+of.options.TIME.tooltip.4= Sólo noche - sólo es de noche
+of.options.TIME.tooltip.5=Esta opción sólo funciona en modo creativo y solamente
+of.options.TIME.tooltip.6=en mundos locales (en multijugador NO).
+
+options.fullscreen.tooltip.1=Pantalla completa
+options.fullscreen.tooltip.2= SÃ - jugar en pantalla completa
+options.fullscreen.tooltip.3= NO - jugar en una ventana
+options.fullscreen.tooltip.4=Al jugar en pantalla completa el juego puede funcionar
+options.fullscreen.tooltip.5=mejor o peor, depende de la tarjeta gráfica.
+
+of.options.FULLSCREEN_MODE=Resolución
+of.options.FULLSCREEN_MODE.tooltip.1=Resolución de la pantalla completa
+of.options.FULLSCREEN_MODE.tooltip.2= Por defecto - resolución del monitor, más lento
+of.options.FULLSCREEN_MODE.tooltip.3= Ancho x alto - otra resolución, puede ir más rápido
+of.options.FULLSCREEN_MODE.tooltip.4=La resolución cambiará en la pantalla completa (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Normalmente las más bajas aumentan el rendimiento.
+
+of.options.SHOW_FPS=Mostrar FPS
+of.options.SHOW_FPS.tooltip.1=Mostrar FPS y datos de renderizado
+of.options.SHOW_FPS.tooltip.2= C: - chunks renderizados
+of.options.SHOW_FPS.tooltip.3= E: - entidades renderizadas + "block entities"
+of.options.SHOW_FPS.tooltip.4= U: - actualizaciones de chunks
+of.options.SHOW_FPS.tooltip.5=
+of.options.SHOW_FPS.tooltip.6=Estos reducidos datos sólo se muestran cuando no se
+of.options.SHOW_FPS.tooltip.7=usa F3.
+
+of.options.save.default=Original (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Autoguardado
+of.options.AUTOSAVE_TICKS.tooltip.1=Intervalo del autoguardado
+of.options.AUTOSAVE_TICKS.tooltip.2=El intervalo original del juego (2s) NO SE RECOMIENDA.
+of.options.AUTOSAVE_TICKS.tooltip.3=Un intervalo corto puede causar mal rendimiento.
+
+options.anaglyph.tooltip.1=Visión en 3D
diff --git a/src/main/resources/assets/minecraft/optifine/lang/es_MX.lang b/src/main/resources/assets/minecraft/optifine/lang/es_MX.lang
new file mode 100644
index 00000000..a4f419dc
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/es_MX.lang
@@ -0,0 +1,527 @@
+# General
+of.general.ambiguous=ambiguo
+of.general.custom=Personalizado
+of.general.from=De
+of.general.id=ID
+of.general.restart=reiniciar
+of.general.smart=Dinámico
+
+# Message
+of.message.aa.shaders1=El anti-aliasing no es compatible con Shaders.
+of.message.aa.shaders2=Desactiva Shaders para habilitar esta opción.
+
+of.message.af.shaders1=El filtrado anisotrópico no es compatible con Shaders.
+of.message.af.shaders2=Desactiva Shaders para habilitar esta opción.
+
+of.message.fr.shaders1=El renderizado rápido no es compatible con Shaders.
+of.message.fr.shaders2=Desactiva Shaders para habilitar esta opción.
+
+of.message.shaders.aa1=Shaders no es compatible con el anti-aliasing activo.
+of.message.shaders.aa2=Desactiva la opción ‘anti-aliasing’ en el menú ‘calidad’ y reinicia el juego.
+
+of.message.shaders.af1=Shaders no es compatible con el filtrado anisótropico activo.
+of.message.shaders.af2=Desactiva la opción ‘filtrado antisotrópico’ en el menú ‘calidad’.
+
+of.message.shaders.fr1=Shaders no es compatible con el renderizado rapido activo.
+of.message.shaders.fr2=Desactiva la opción ‘renderizado rapido' en el menú ‘rendimiento’.
+
+of.message.newVersion=§fUna nueva versión de §eOptiFine §festá disponible: §e%s§f
+of.message.java64Bit=§fPrueba instalar §eJava versión de 64bits §fpara incrementar el rendimiento.
+of.message.openglError=§eError de OpenGL§f: %s (%s)
+
+of.message.shaders.loading=Cargando shaders: %s
+
+of.message.other.reset=¿Quieres reiniciar la configuración de video a los valores de inicio?
+
+# Video settings
+
+options.graphics.tooltip.1=Calidad visual.
+options.graphics.tooltip.2= Rápida - Mayor velocidad.
+options.graphics.tooltip.3= Detallada - Mejor apariencia.
+options.graphics.tooltip.4=Cambia la apariencia de nubes, hojas, agua,
+options.graphics.tooltip.5=sombras y bloques con pasto.
+
+of.options.renderDistance.extreme=Extremo
+
+options.renderDistance.tooltip.1=Distancia de renderizado.
+options.renderDistance.tooltip.2= 2 MÃnimo - 32 bloques. (más rápido)
+options.renderDistance.tooltip.3= 4 Corto - 64 bloques.
+options.renderDistance.tooltip.4= 8 Normal - 128 bloques.
+options.renderDistance.tooltip.5= 16 Lejano - 256 bloques.
+options.renderDistance.tooltip.6= 32 Extremo - 512 bloques. (más lento)
+options.renderDistance.tooltip.7=La distancia de renderizado extrema demanda más recursos.
+options.renderDistance.tooltip.8=Valores sobre de 16 solo son efectivos en mundos locales.
+
+options.ao.tooltip.1=Iluminación suave.
+options.ao.tooltip.2= NO - Sin suavizado de iluminación. (rápido)
+options.ao.tooltip.3= MÃnima - Simple, rudo, inceirto. (lento)
+options.ao.tooltip.4= Máxima - Agradable, uniforme, neto. (más lento)
+
+options.framerateLimit.tooltip.1=Restricción de FPS.
+options.framerateLimit.tooltip.2= VSync - Reduce los FPS a 60, 30 o 20.
+options.framerateLimit.tooltip.3= 5-255 - Cambiante.
+options.framerateLimit.tooltip.4= Ilimitados - Excento, sin lÃmites.
+options.framerateLimit.tooltip.5=Los cuadros por segundo son reducidos aun si el
+options.framerateLimit.tooltip.6=lÃmite no es alcanzado.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Suavizado de iluminación
+of.options.AO_LEVEL.tooltip.1=Nivel de iluminación suave.
+of.options.AO_LEVEL.tooltip.2= NO - Sin sombras.
+of.options.AO_LEVEL.tooltip.3= 50%% - Sombras claras.
+of.options.AO_LEVEL.tooltip.4= 100%% - Sombras oscuras.
+
+options.viewBobbing.tooltip.1=Movimiento de la cámara al caminar. Más realista.
+options.viewBobbing.tooltip.2=Para mejores resultados, desactivar cundo utilice mipmaps.
+
+options.guiScale.tooltip.1=Escala de interfaz.
+options.guiScale.tooltip.2=Entre más pequeño podrÃa ser más rápido.
+
+options.vbo.tooltip.1=Vertex Buffer Objects (OpenGL).
+options.vbo.tooltip.2=Utiliza un modelo alternativo de renderizado que incrementa
+options.vbo.tooltip.3=la velocidad de 5 a 10%% que el renderizado habitual.
+
+options.gamma.tooltip.1=Incrementa el brillo en objetos oscuros.
+options.gamma.tooltip.2= Moderado - Brillo por defecto.
+options.gamma.tooltip.3= Claro - Máximo brillo.
+options.gamma.tooltip.4=Esta opción no afecta el brillo de objetos
+options.gamma.tooltip.5=completamente oscurecidos.
+
+options.anaglyph.tooltip.1=Anaglifo 3D.
+options.anaglyph.tooltip.2=Habilita un efecto estereoscópico 3D con diferente color
+options.anaglyph.tooltip.3=para cada ojo.
+options.anaglyph.tooltip.4=Requiere de lentes 3D rojo-azul para una vista apropiada.
+
+options.blockAlternatives.tooltip.1=Bloques alternativos.
+options.blockAlternatives.tooltip.2=Usa modelos alternativos en algunos bloques.
+options.blockAlternatives.tooltip.3=Depende del paquete de texturas seleccionado.
+
+of.options.FOG_FANCY=Neblina
+of.options.FOG_FANCY.tooltip.1=Tipo de neblina.
+of.options.FOG_FANCY.tooltip.2= NO - Sin neblina, rápido.
+of.options.FOG_FANCY.tooltip.3= Rápida - Neblina ligera.
+of.options.FOG_FANCY.tooltip.4= Detallada - Neblina lenta, se ve mejor.
+of.options.FOG_FANCY.tooltip.5=La neblina detallada solo está disponible si su tarjeta
+of.options.FOG_FANCY.tooltip.6=de video lo soporta.
+
+of.options.FOG_START=Distancia de neblina
+of.options.FOG_START.tooltip.1=Donde empieza a verse la neblina.
+of.options.FOG_START.tooltip.2= 0.2 - Desde cerca del jugador.
+of.options.FOG_START.tooltip.3= 0.8 - Desde lejos del jugador.
+of.options.FOG_START.tooltip.4=Esta opción normalmente no afecta el rendimiento.
+
+of.options.CHUNK_LOADING=Carga de Chunks
+of.options.CHUNK_LOADING.tooltip.1=Opción de carga de los pedazos del mapa (chunks).
+of.options.CHUNK_LOADING.tooltip.2= Normal - Cuadros por segundo (FPS) inestables al cargar chunks.
+of.options.CHUNK_LOADING.tooltip.3= Agradable - FPS constantes.
+of.options.CHUNK_LOADING.tooltip.4= Multi-Core - FPS invariables y acelera la carga de los mapas.
+of.options.CHUNK_LOADING.tooltip.5=Las opciónes de Agradable y Multi-Core estabilizan y evitan que el juego
+of.options.CHUNK_LOADING.tooltip.6=se trabe al cargar chunks.
+of.options.CHUNK_LOADING.tooltip.7=Multi-Core aumenta hasta tres veces la velocidad de carga de los mapas
+of.options.CHUNK_LOADING.tooltip.8=y también aumenta los FPS ocupando un segundo núcleo del procesador.
+of.options.chunkLoading.smooth=Agradable
+of.options.chunkLoading.multiCore=Multi-Core
+
+of.options.shaders=Shaders...
+of.options.shadersTitle=Shaders
+
+of.options.shaders.packNone=NINGUNO
+of.options.shaders.packDefault=(interno)
+
+of.options.shaders.ANTIALIASING=Anti-aliasing
+of.options.shaders.NORMAL_MAP=Mapa normal
+of.options.shaders.SPECULAR_MAP=Mapa espectacular
+of.options.shaders.RENDER_RES_MUL=Rendimiento
+of.options.shaders.SHADOW_RES_MUL=Sombras
+of.options.shaders.HAND_DEPTH_MUL=Profundidad
+of.options.shaders.CLOUD_SHADOW=Sombra de nubes
+of.options.shaders.OLD_LIGHTING=Iluminación vieja
+of.options.shaders.SHADER_PACK=Paquete de shader
+
+of.options.shaders.shadersFolder=Folder de Shaders
+of.options.shaders.shaderOptions=Opciones del Shader...
+
+of.options.shaderOptionsTitle=Opciones del Shader
+
+of.options.quality=Calidad...
+of.options.qualityTitle=Configurar calidad.
+
+of.options.details=Detalles...
+of.options.detailsTitle=Configurar detalles.
+
+of.options.performance=Rendimiento...
+of.options.performanceTitle=Configuración del rendimiento.
+
+of.options.animations=Animaciones...
+of.options.animationsTitle=Configuraciones de animaciones.
+
+of.options.other=Otro...
+of.options.otherTitle=Otras configuraciones
+
+of.options.other.reset=Reiniciar la configuracion de video...
+
+of.shaders.profile=Perfil
+
+# Quality
+
+of.options.mipmap.bilinear=Bilinial
+of.options.mipmap.linear=Lineal
+of.options.mipmap.nearest=Más cercano
+of.options.mipmap.trilinear=Trilineal
+
+options.mipmapLevels.tooltip.1=Efecto visual que mejora la apariencia de objetos lejanos
+options.mipmapLevels.tooltip.2=suavizando los detalles de la textura al redimensionarla.
+options.mipmapLevels.tooltip.3= NO - Sin suavizar.
+options.mipmapLevels.tooltip.4= 1 – Suavizado mÃnimo.
+options.mipmapLevels.tooltip.5= 4 – Suavizado máximo.
+options.mipmapLevels.tooltip.6=Esta opción no suele afectar el rendimiento.
+
+of.options.MIPMAP_TYPE=Tipo de mipmap
+of.options.MIPMAP_TYPE.tooltip.1=Efecto visual que mejora la apariencia de objetos lejanos
+of.options.MIPMAP_TYPE.tooltip.2=suavizando los detalles de la textura.
+of.options.MIPMAP_TYPE.tooltip.3= Más cercano - Suavizado mÃnimo. (más rápido)
+of.options.MIPMAP_TYPE.tooltip.4= Lineal – Suavizado bajo.
+of.options.MIPMAP_TYPE.tooltip.5= Bilineal – Suavizado alto.
+of.options.MIPMAP_TYPE.tooltip.6= Trilineal – Suavizado máximo. (más lento)
+
+
+of.options.AA_LEVEL=Anti-aliasing
+of.options.AA_LEVEL.tooltip.1=Anti-aliasing.
+of.options.AA_LEVEL.tooltip.2= NO - Por defecto. (rápido)
+of.options.AA_LEVEL.tooltip.3= 2-16 – LÃneas y esquinas más definidas. (lento)
+of.options.AA_LEVEL.tooltip.4=El antialiasing mejora y define los bordes de las lÃneas
+of.options.AA_LEVEL.tooltip.5=y las profundas trancisiones de color.
+of.options.AA_LEVEL.tooltip.6=Esta opción puede sustancialemnte disminuir los FPS.
+of.options.AA_LEVEL.tooltip.7=No todos los niveles son soportados por todas las tarjetas de video.
+of.options.AA_LEVEL.tooltip.8=Los cambios serán efectivos al reinicio.
+
+of.options.AF_LEVEL=Filtro anisotrópico
+of.options.AF_LEVEL.tooltip.1=Filtrado anisotrópico.
+of.options.AF_LEVEL.tooltip.2= NO - Por defecto. Sin efectos. (rápido)
+of.options.AF_LEVEL.tooltip.3= 2-16 – Detalles más finos en texturas con mipmap. (lento)
+of.options.AF_LEVEL.tooltip.4=El filtro anisotrópico reafirma detalles en texturas
+of.options.AF_LEVEL.tooltip.5=que usan mipmap.
+of.options.AF_LEVEL.tooltip.6=Esta opción puede disminuir los FPS.
+
+of.options.CLEAR_WATER=Claridad del agua
+of.options.CLEAR_WATER.tooltip.1=Al sumergirse en ella.
+of.options.CLEAR_WATER.tooltip.2= NO – Agua normal.
+of.options.CLEAR_WATER.tooltip.3= Sà – Agua más transparente.
+
+of.options.RANDOM_MOBS=Mobs aleatorios
+of.options.RANDOM_MOBS.tooltip.1=Mobs aleaotrios.
+of.options.RANDOM_MOBS.tooltip.2= NO – Sin skins aleatorios de mobs. (rápido)
+of.options.RANDOM_MOBS.tooltip.3= Sà – Skins de mobs aleatorios. (lento)
+of.options.RANDOM_MOBS.tooltip.4=Esta opción habilita el uso de skins aleatorias para mobs por
+of.options.RANDOM_MOBS.tooltip.5=lo que requiere de un paquete de texturas que los contenga.
+
+of.options.BETTER_GRASS=Pasto bonito
+of.options.BETTER_GRASS.tooltip.1=Modifica como se ven los lados de los bloques de tierra con pasto.
+of.options.BETTER_GRASS.tooltip.2= NO – Predeterminada. (rápido)
+of.options.BETTER_GRASS.tooltip.3= Rápida – Todos los lados se ven de pasto.
+of.options.BETTER_GRASS.tooltip.4= Detallada – Textura dinámica de pasto en los lados. (lento)
+
+of.options.BETTER_SNOW=Mejora de nieve
+of.options.BETTER_SNOW.tooltip.1=Nieve especial.
+of.options.BETTER_SNOW.tooltip.2= NO – Nieve por defecto. (rápido)
+of.options.BETTER_SNOW.tooltip.3= Sà – Mejora la nieve. (lento)
+of.options.BETTER_SNOW.tooltip.4=Muestra nieve debajo de los bloques transparentes como vallas,
+of.options.BETTER_SNOW.tooltip.5=pasto alto, cuando su base está rodeada por bloques de nieve.
+
+of.options.CUSTOM_FONTS=Fuentes personalizadas
+of.options.CUSTOM_FONTS.tooltip.1=Cambia la tipografÃa del texto.
+of.options.CUSTOM_FONTS.tooltip.2= NO – Utiliza la fuente de letra por defecto. (rápido)
+of.options.CUSTOM_FONTS.tooltip.3= Sà – Usar fuentes de letra personalizadas. (lento)
+of.options.CUSTOM_FONTS.tooltip.4=Esta opción utiliza la fuente de letra que contenga el
+of.options.CUSTOM_FONTS.tooltip.5=paquete de texturas seleccionado.
+
+of.options.CUSTOM_COLORS=Colores personalizadas
+of.options.CUSTOM_COLORS.tooltip.1=Cambia los colores.
+of.options.CUSTOM_COLORS.tooltip.2= NO - Por defecto. (rápido)
+of.options.CUSTOM_COLORS.tooltip.3= Sà – Utiliza otros colores. (lento)
+of.options.CUSTOM_COLORS.tooltip.4=Esta opción emplea los colores que disponga del
+of.options.CUSTOM_COLORS.tooltip.5=paquete de texturas seleccionado.
+
+of.options.SWAMP_COLORS=Colores pantanosos
+of.options.SWAMP_COLORS.tooltip.1=Colores pantanosos.
+of.options.SWAMP_COLORS.tooltip.2= NO – No usa colores pantanosos. (rápido)
+of.options.SWAMP_COLORS.tooltip.3= SÃ - Usa colores pantanosos. (lento)
+of.options.SWAMP_COLORS.tooltip.4=Esta opción afecta los colores del pasto, lianas, hojas y agua.
+
+of.options.SMOOTH_BIOMES=Biomas suavizados
+of.options.SMOOTH_BIOMES.tooltip.1=Cambio entre biomas moderado y suavizado.
+of.options.SMOOTH_BIOMES.tooltip.2= NO – Sin suavizado. (rápido)
+of.options.SMOOTH_BIOMES.tooltip.3= Sà – Suavizado. (lento)
+of.options.SMOOTH_BIOMES.tooltip.4=El suavizado de las fronteras de los biomas colindantes se realiza
+of.options.SMOOTH_BIOMES.tooltip.5=combinando y contemplando el color de los bloques de alrededor.
+of.options.SMOOTH_BIOMES.tooltip.6=Solo afecta a hojas, pastos, lianas y agua.
+
+of.options.CONNECTED_TEXTURES=Texturas conectadas
+of.options.CONNECTED_TEXTURES.tooltip.1=Textruas conectadas.
+of.options.CONNECTED_TEXTURES.tooltip.2= NO – Sin texturas conectadas. Por defecto.
+of.options.CONNECTED_TEXTURES.tooltip.3= Rápido – Texturas conectadas rápidas.
+of.options.CONNECTED_TEXTURES.tooltip.4= Detallada – Texturas conectadas finas.
+of.options.CONNECTED_TEXTURES.tooltip.5=Es la forma en la que la textura de los bloques de cristal,
+of.options.CONNECTED_TEXTURES.tooltip.6=arena, librerÃas, se conectan entre sà cuando son puestas
+of.options.CONNECTED_TEXTURES.tooltip.7=junto a otras del mismo. Las texturas como se unen
+of.options.CONNECTED_TEXTURES.tooltip.8=depende del paquete de texturas seleccionado.
+
+of.options.NATURAL_TEXTURES=Texturas naturales
+of.options.NATURAL_TEXTURES.tooltip.1=Apariencia normal y natural de la textura.
+of.options.NATURAL_TEXTURES.tooltip.2= NO – Sin texturas mejoradas. Por defecto.
+of.options.NATURAL_TEXTURES.tooltip.3= Sà – Mejora la textura.
+of.options.NATURAL_TEXTURES.tooltip.4=Esta opción evita que se tenga una visión repetitiva
+of.options.NATURAL_TEXTURES.tooltip.5=de los bloques al juntar bloques del mismo tipo.
+of.options.NATURAL_TEXTURES.tooltip.6=Usa variantes en el giro y la rotacón de la textura del
+of.options.NATURAL_TEXTURES.tooltip.7=bloque. La configuración del ajuste depende del paquete
+of.options.NATURAL_TEXTURES.tooltip.8=de texturas seleccionado.
+
+of.options.CUSTOM_SKY=Cielo personalizado
+of.options.CUSTOM_SKY.tooltip.1=Cielo personalizado.
+of.options.CUSTOM_SKY.tooltip.2= NO – Cielo predeterminado. (rápido)
+of.options.CUSTOM_SKY.tooltip.3= Sà – Texturas del cielo personalizadas. Por defecto. (lento)
+of.options.CUSTOM_SKY.tooltip.4=La textura para el cielo personalizado es obtenida del
+of.options.CUSTOM_SKY.tooltip.5=paquete de texturas seleccionado.
+
+of.options.CUSTOM_ITEMS=Obejetos personalizados
+of.options.CUSTOM_ITEMS.tooltip.1=Usa texturas para los objetos.
+of.options.CUSTOM_ITEMS.tooltip.2= NO – Texturas de objetos predeterminadas. (rápido)
+of.options.CUSTOM_ITEMS.tooltip.3= Sà – Texturas de objetos personalizadas. Por defecto. (lento)
+of.options.CUSTOM_ITEMS.tooltip.4=Las texturas de los objetos personalizados se obtienen del
+of.options.CUSTOM_ITEMS.tooltip.5=paquete de texturas seleccionado.
+
+# Details
+
+of.options.CLOUDS=Nube
+of.options.CLOUDS.tooltip.1=Como se ven las nubes.
+of.options.CLOUDS.tooltip.2= NO - Sin nubes. (más rápido)
+of.options.CLOUDS.tooltip.3= Normal - Establecido en la configuración de calidad visual.
+of.options.CLOUDS.tooltip.4= Rápida - Menor calidad. (rápido)
+of.options.CLOUDS.tooltip.5= Detallada - Alta calidad. (lento)
+of.options.CLOUDS.tooltip.6=Las nubes con menor calidad son renderizadas en 2D.
+of.options.CLOUDS.tooltip.7=Las nubes con calidad alta son renderizadas en 3D.
+
+of.options.CLOUD_HEIGHT=Altitud de nube
+of.options.CLOUD_HEIGHT.tooltip.1=Que tan arriba se muestran las nubes.
+of.options.CLOUD_HEIGHT.tooltip.2= NO - Altitud por defecto.
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - Por encima del lÃmite de altitud.
+
+of.options.TREES=Ãrboles
+of.options.TREES.tooltip.1=Como se ven las hojas de los árboles.
+of.options.TREES.tooltip.2= Normal - Establecido en la configuración de calidad visual.
+of.options.TREES.tooltip.3= Rápida - Menor calidad. (más rápido)
+of.options.TREES.tooltip.4= Dinámico - Mayor calidad.
+of.options.TREES.tooltip.5= Detallada - Calidad alta. (más lento)
+of.options.TREES.tooltip.6=Los árboles con menor calidad tienen las hojas opacas.
+of.options.TREES.tooltip.7=Los árboles con mayor calidad o dinámicos tienen hojas transparentes.
+
+of.options.RAIN=Nieve y lluvia
+of.options.RAIN.tooltip.1=Lluvia y nieve.
+of.options.RAIN.tooltip.2= NO - Sin nieve o lluvia. (más rápido)
+of.options.RAIN.tooltip.3= Normal - Establecido en la configuración de calidad visual.
+of.options.RAIN.tooltip.4= Rápida - Lluvia y nive ligera. (rápido)
+of.options.RAIN.tooltip.5= Detallada - Lluvia y nieve pesada. (lento)
+of.options.RAIN.tooltip.6=Esta opción no afecta a las salpicaduras o al ruido de la
+of.options.RAIN.tooltip.7=lluvia que se siguen mostrando.
+
+of.options.SKY=Cielo
+of.options.SKY.tooltip.1=Cielo.
+of.options.SKY.tooltip.2= NO - No se ve el cielo. (rápido)
+of.options.SKY.tooltip.3= SÃ - Se ve el cielo. (lento)
+of.options.SKY.tooltip.4=Si se desactiva, el sol y la luna aun pueden estar visibles.
+
+of.options.STARS=Estrellas
+of.options.STARS.tooltip.1=Visibilidad de estrellas del cielo nocturno.
+of.options.STARS.tooltip.2= NO - Las estrellas no son visibles. (rápido)
+of.options.STARS.tooltip.3= SÃ - Las estrellas son visibles. (lento)
+
+of.options.SUN_MOON=Sol y luna
+of.options.SUN_MOON.tooltip.1=Visibilidad de la luna y del sol.
+of.options.SUN_MOON.tooltip.2= NO - El sol y la luna no son visibles. (más rápido)
+of.options.SUN_MOON.tooltip.3= SÃ - El sol y la luna son visibles. Por defecto.
+
+of.options.SHOW_CAPES=Mostrar capas
+of.options.SHOW_CAPES.tooltip.1=Muestra las capas en los jugadores.
+of.options.SHOW_CAPES.tooltip.2= NO - No mostrar la capa de los jugadores.
+of.options.SHOW_CAPES.tooltip.3= SÃ - Mostrar la capa de los jugadores. Por defecto.
+
+of.options.TRANSLUCENT_BLOCKS=Bloque translúcido
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Bloques con transparencia.
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Normal - Establecido en la configuración de calidad visual.
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Rápida - Mezcla de colores ligera. (rápido)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4= Detallada - Corrección definida de colores. (lento)
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=Controla el cambio de color entre bloques translúcidos (cristal
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=teñido, agua, hielo) cuando son puestos separados por aire.
+
+of.options.HELD_ITEM_TOOLTIPS=Item en mano
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Muestra información encima del hotbar al cambiar de item en mano.
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= NO - No muestra información.
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= Sà - Muestra información. Por defecto.
+
+of.options.DROPPED_ITEMS=Items caÃdos
+of.options.DROPPED_ITEMS.tooltip.1=Afecta como se ven los items.
+of.options.DROPPED_ITEMS.tooltip.2= Normal - Establecido en la configuración de calidad visual.
+of.options.DROPPED_ITEMS.tooltip.3= Rápida - Los items caÃdos se ven en 2D. (rápido)
+of.options.DROPPED_ITEMS.tooltip.4= Detallada - Los items caÃdos se ven en 3D. (lento)
+
+options.entityShadows.tooltip.1=Sombra de entidades (mobs, jugadores, etcétera).
+options.entityShadows.tooltip.2= NO - No muestra sombras de entidades.
+options.entityShadows.tooltip.3= SÃ - Muestra sombras de entidades.
+
+of.options.VIGNETTE=Viñeta
+of.options.VIGNETTE.tooltip.1=Efecto visual, ligeramente oscurece las esquinas en la pantalla.
+of.options.VIGNETTE.tooltip.2= Normal - Establecido en la configuración de calidad visual.
+of.options.VIGNETTE.tooltip.3= Rápida - Efecto desactivado. (rápido)
+of.options.VIGNETTE.tooltip.4= Detallda - Efecto activado. (lento)
+of.options.VIGNETTE.tooltip.5=Esta opción puede tener un impacto significativo en los FPS,
+of.options.VIGNETTE.tooltip.6=especialmente cuando juega en pantalla completa.
+of.options.VIGNETTE.tooltip.7=Este efecto es liviano por lo que puede ser desactivado
+of.options.VIGNETTE.tooltip.8=con seguridad en cualquier momento.
+
+# Performance
+
+of.options.SMOOTH_FPS=Estabilizar FPS
+of.options.SMOOTH_FPS.tooltip.1=Fija los FPS nivelando el buffer del driver de video.
+of.options.SMOOTH_FPS.tooltip.2= NO - Sin estabilización. FPS cambiantes.
+of.options.SMOOTH_FPS.tooltip.3= Sà - Estabilización de FPS.
+of.options.SMOOTH_FPS.tooltip.4=Esta opción depende del controlador de la tarjeta de gráficos.
+of.options.SMOOTH_FPS.tooltip.5=Su efecto podrÃa no siempre ser notorio.
+
+of.options.SMOOTH_WORLD=Carga ágil
+of.options.SMOOTH_WORLD.tooltip.1=Disminuye el lag repentino causado por el servidor interno.
+of.options.SMOOTH_WORLD.tooltip.2= NO - Sin estabilización. FPS variantes.
+of.options.SMOOTH_WORLD.tooltip.3= SÃ - Estabiliza los FPS.
+of.options.SMOOTH_WORLD.tooltip.4=Estabiliza los FPS, dividiendo la carga del servidor interno.
+of.options.SMOOTH_WORLD.tooltip.5=Efectivo solo en mundos locales.
+
+of.options.FAST_RENDER=Renderizado rápido
+of.options.FAST_RENDER.tooltip.1=Renderizado rápido.
+of.options.FAST_RENDER.tooltip.2= NO - Renderizado estandard. Por defecto.
+of.options.FAST_RENDER.tooltip.3= Sà - Renderizado optimizado. (rápido)
+of.options.FAST_RENDER.tooltip.4=Utiliza un algoritmo de renderizado optimizado que reduce
+of.options.FAST_RENDER.tooltip.5=la carga del GPU, aumentando sustancialmente los FPS.
+
+of.options.FAST_MATH=Matemática avanzada
+of.options.FAST_MATH.tooltip.1=Matemática avanzada.
+of.options.FAST_MATH.tooltip.2= NO - Matemática estandard. Por defecto.
+of.options.FAST_MATH.tooltip.3= Sà - Matemática rápida.
+of.options.FAST_MATH.tooltip.4=Utiliza funciones sin() y cos() optimizadas usando
+of.options.FAST_MATH.tooltip.5=el cache del CPU e incrementa los FPS.
+
+of.options.CHUNK_UPDATES=Actualizaciones de chunks
+of.options.CHUNK_UPDATES.tooltip.1=Carga de chunks del mapa por FPS (cuadros por segundo).
+of.options.CHUNK_UPDATES.tooltip.2= 1 - Carga del mundo lenta. Más FPS. Por defecto.
+of.options.CHUNK_UPDATES.tooltip.3= 3 - Carga del mundo rápida. Menos FPS.
+of.options.CHUNK_UPDATES.tooltip.4= 5 - Carga del mundo más rápida. Menos FPS.
+of.options.CHUNK_UPDATES.tooltip.5=Es el número de actualizaciones de los pedazos del mapa renderizados
+of.options.CHUNK_UPDATES.tooltip.6=por FPS, valores muy altos pueden desestabilizar los FPS.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Actualizaciones dinámicas
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Actualizaciones dinámicas de chunks.
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= NO - Actualizaciones de chunks por FPS estandar. Por defecto.
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= SÃ - Actualizaciones incluso cuando el jugador no se mueve.
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Esta opción facilita actualizaciones de chunks incluso mientras el
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=jugador no se mueve, para cargar el mundo mucho más rápido.
+
+of.options.LAZY_CHUNK_LOADING=Carga retardada
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Carga de los pedazos del mapa con retardo.
+of.options.LAZY_CHUNK_LOADING.tooltip.2= NO - Carga de chunks determinada por el servidor.
+of.options.LAZY_CHUNK_LOADING.tooltip.3= Sà - Carga de chunks lenta. Más atractiva.
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Retraza en varios ticks la carga de chunks integrada por el
+of.options.LAZY_CHUNK_LOADING.tooltip.5=servidor.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Desactiva esta opción si el mapa no se carga correctamente.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Efectivo solo en mundos locales y con procesadores de 1 solo núcleo.
+
+# Animations
+
+of.options.animation.allOn=Activar todo
+of.options.animation.allOff=Desactivar todo
+of.options.animation.dynamic=Dinámico
+
+of.options.ANIMATED_WATER=Animación de agua
+of.options.ANIMATED_LAVA=Animación de lava
+of.options.ANIMATED_FIRE=Animación de fuego
+of.options.ANIMATED_PORTAL=Animación del portal
+of.options.ANIMATED_REDSTONE=Animación del redstone
+of.options.ANIMATED_EXPLOSION=Animación de explosiones
+of.options.ANIMATED_FLAME=Animación de fuego
+of.options.ANIMATED_SMOKE=Animación de humo
+of.options.VOID_PARTICLES=PartÃculas del Fin
+of.options.WATER_PARTICLES=PartÃculas de agua
+of.options.RAIN_SPLASH=Salpicadura de lluvia
+of.options.PORTAL_PARTICLES=PartÃculas de portal
+of.options.POTION_PARTICLES=PartÃculas de pociones
+of.options.DRIPPING_WATER_LAVA=Goteo de agua y lava
+of.options.ANIMATED_TERRAIN=Animación del terreno
+of.options.ANIMATED_TEXTURES=Animación de texturas
+of.options.FIREWORK_PARTICLES=PartÃculas de cohetes
+
+# Other
+
+of.options.LAGOMETER=Medidor de lag
+of.options.LAGOMETER.tooltip.1=Muestra una gráfica en la pantalla de depuración (F3).
+of.options.LAGOMETER.tooltip.2=* Naranja - Memoria desperdiciada.
+of.options.LAGOMETER.tooltip.3=* Cian - Tick.
+of.options.LAGOMETER.tooltip.4=* Azul - Tareas programadas.
+of.options.LAGOMETER.tooltip.5=* Purpura - Carga de chunks.
+of.options.LAGOMETER.tooltip.6=* Rojo - Actualizaciones de chunks.
+of.options.LAGOMETER.tooltip.7=* Amarillo - Visibilidad.
+of.options.LAGOMETER.tooltip.8=* Verde - Terreno de renderizado.
+
+of.options.PROFILER=Debug
+of.options.PROFILER.tooltip.1=Perfil de debug.
+of.options.PROFILER.tooltip.2= NO - Debug desactivado. (rápido)
+of.options.PROFILER.tooltip.3= SÃ - Debug activado. (lento)
+of.options.PROFILER.tooltip.4=Recopila información de debug y la muestra en
+of.options.PROFILER.tooltip.5=la pantalla de dupuración (F3).
+
+of.options.WEATHER=Clima
+of.options.WEATHER.tooltip.1=Clima.
+of.options.WEATHER.tooltip.2= NO - Desactiva el clima. (rápido)
+of.options.WEATHER.tooltip.3= SÃ - Activa el clima. (lento)
+of.options.WEATHER.tooltip.4=Esta opción afecta a las lluvias, la nieve y las tormentas.
+of.options.WEATHER.tooltip.5=Solo funciona en mundos locales.
+
+of.options.time.dayOnly=DÃa
+of.options.time.nightOnly=Noche
+
+of.options.TIME=Tiempo
+of.options.TIME.tooltip.1=Establece el momento del dÃa.
+of.options.TIME.tooltip.2= Normal - Ciclo de dia y noche normal.
+of.options.TIME.tooltip.3= DÃa - Siempre es de dÃa.
+of.options.TIME.tooltip.4= Noche - Siempre es de noche.
+of.options.TIME.tooltip.5=Esta opción solo es efectiva estando en modo creativo
+of.options.TIME.tooltip.6=y en mundos locales.
+
+options.fullscreen.tooltip.1=Pantalla completa.
+options.fullscreen.tooltip.2= NO - Modo de ventana.
+options.fullscreen.tooltip.3= SÃ - Modo de pantalla completa.
+options.fullscreen.tooltip.4=En pantalla completa funciona más rapido que en modo
+options.fullscreen.tooltip.5=de ventana, dependiendo de la tarjeta de video.
+
+of.options.FULLSCREEN_MODE=Resolución
+of.options.FULLSCREEN_MODE.tooltip.1=Dimensiones al entrar en modo pantalla completa.
+of.options.FULLSCREEN_MODE.tooltip.2= Default - Se ajusta a la pantalla. (lento)
+of.options.FULLSCREEN_MODE.tooltip.3= Ancho por Altura - Utiliza la resolución personalizada.
+of.options.FULLSCREEN_MODE.tooltip.4=La resoulución de pantalla seleccionada es usada al entrar en pantalla
+of.options.FULLSCREEN_MODE.tooltip.5=completa. Resouluciónes pequeñas generalmente son más rápidas.
+
+of.options.SHOW_FPS=Medidor de FPS
+of.options.SHOW_FPS.tooltip.1=Despliega los FPS, además de otra información, resumida.
+of.options.SHOW_FPS.tooltip.2= C: - Renderizado de chunks.
+of.options.SHOW_FPS.tooltip.3= E: - Entidades y de bloques renderizadas.
+of.options.SHOW_FPS.tooltip.4= U: - Actualizaciones de chunks.
+of.options.SHOW_FPS.tooltip.5=La información solo se muestra cuando la pantalla
+of.options.SHOW_FPS.tooltip.6=de depuración (F3) no es visible.
+
+of.options.save.default=Predeterminado (2s)
+of.options.save.20s=20 s
+of.options.save.3min=3 min
+of.options.save.30min=30 min
+
+of.options.AUTOSAVE_TICKS=Autoguardado
+of.options.AUTOSAVE_TICKS.tooltip.1=Intervalo de autoguardado de mundos locales.
+of.options.AUTOSAVE_TICKS.tooltip.2= Predeterminado - Intervalo por defecto. NO RECOMENDADO.
+of.options.AUTOSAVE_TICKS.tooltip.3=Esta función causa el famoso lag de la muerte.
+
+options.anaglyph.tooltip.1=La función de anaglifo 3D requiere de lentes 3D rojo-azul.
diff --git a/src/main/resources/assets/minecraft/optifine/lang/et_EE.lang b/src/main/resources/assets/minecraft/optifine/lang/et_EE.lang
new file mode 100644
index 00000000..4b02dfb9
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/et_EE.lang
@@ -0,0 +1,590 @@
+# General
+of.general.ambiguous=ebamäärane
+of.general.custom=Kohandatud
+of.general.from=Kohast
+of.general.id=ID
+of.general.restart=taaskäivita
+of.general.smart=tark
+
+# Keys
+of.key.zoom=Suum
+
+# Message
+of.message.aa.shaders1=Anti-aliasing ei ühildu varjutajatega.
+of.message.aa.shaders2=Palun keela varjutajad selle valiku lubamiseks.
+
+of.message.af.shaders1=Anisotroopiline filtreerimine ei ühildu varjutajatega.
+of.message.af.shaders2=Palun keela varjutajad selle valiku lubamiseks.
+
+of.message.fr.shaders1=Kiire renderdus ei ühildu varjutajatega.
+of.message.fr.shaders2=Palun keela varjutajad selle valiku lubamiseks.
+
+of.message.an.shaders1=3D-anaglüüf ei ühildu varjutajatega.
+of.message.an.shaders2=Palun keela varjutajad selle valiku lubamiseks.
+
+of.message.shaders.aa1=Varjutajad ei ühildu anti-aliasing'uga.
+of.message.shaders.aa2=Palun lülita Kvaliteet -> Anti-aliasing VÄLJA ja taaskäivita mäng.
+
+of.message.shaders.af1=Varjutajad ei ühildu anisotroopilise filtreerimisega.
+of.message.shaders.af2=Palun lülita Kvaliteet -> Anisotroopiline filtr. VÄLJA.
+
+of.message.shaders.fr1=Varjutajad ei ühildu kiire renderdusega.
+of.message.shaders.fr2=Palun lülita Jõudlus -> Kiire renderdus VÄLJA.
+
+of.message.shaders.an1=Varjutajad ei ühildu 3D-anaglüüfiga.
+of.message.shaders.an2=Palun lülita Muu -> 3D-anaglüüf VÄLJA.
+
+of.message.newVersion=Uus §eOptiFine§f'i versioon on saadaval: §e%s§f
+of.message.java64Bit=Sa võid jõudluse parandamiseks installida §e64-bitise Java§f.
+of.message.openglError=§eOpenGL'i viga§f: %s (%s)
+
+of.message.shaders.loading=Varjutajate laadimine: %s
+
+of.message.other.reset=Lähtestad kõik graafikaseaded vaikimisi väärtustele?
+
+of.message.loadingVisibleChunks=Laadin nähtavaid kamakaid
+
+# Video settings
+
+options.graphics.tooltip.1=Visuaalne kvaliteet
+options.graphics.tooltip.2= Kiire - madalam kvaliteet, kiirem
+options.graphics.tooltip.3= Uhke - kõrgem kvaliteet, aeglasem
+options.graphics.tooltip.4=Muudab pilvede, lehtede, vee, varjude ja muru külgede
+options.graphics.tooltip.5=välimust.
+
+of.options.renderDistance.tiny=pisike
+of.options.renderDistance.short=lühike
+of.options.renderDistance.normal=tavaline
+of.options.renderDistance.far=kauge
+of.options.renderDistance.extreme=ekstreemne
+
+options.renderDistance.tooltip.1=Nähtav kaugus
+options.renderDistance.tooltip.2= 2 pisike - 32m (kiireim)
+options.renderDistance.tooltip.3= 4 lühike - 64m (kiirem)
+options.renderDistance.tooltip.4= 8 tavaline - 128m
+options.renderDistance.tooltip.5= 16 kauge - 256m (aeglasem)
+options.renderDistance.tooltip.6= 32 ekstreemne - 512m (aeglaseim!)
+options.renderDistance.tooltip.7=Ekstreemne nähtavuskaugus on väga ressursinõudlik!
+options.renderDistance.tooltip.8=Väärtused üle "16 kauge" toimivad ainult kohalikes maailmades.
+
+options.ao.tooltip.1=Sujuv valgustus
+options.ao.tooltip.2= VÄLJAS - sujuv valgustus puudub (kiirem)
+options.ao.tooltip.3= Minimaalne - lihtne sujuv valgustus (aeglasem)
+options.ao.tooltip.4= Maksimaalne - keeruline sujuv valgustus (aeglaseim)
+
+options.framerateLimit.tooltip.1=Maksimaalne kaadrisagedus
+options.framerateLimit.tooltip.2= VSync - piira kuvari kaadrisagedusele (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - muutuja
+options.framerateLimit.tooltip.4= Piiramatu - piirang puudub (kiireim)
+options.framerateLimit.tooltip.5=Kaadrisageduse piirang alandab kaadrisagedust ka siis,
+options.framerateLimit.tooltip.6=kui piirväärtuseni pole jõutud.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Sujuva valgustuse tase
+of.options.AO_LEVEL.tooltip.1=Sujuva valgustuse tase
+of.options.AO_LEVEL.tooltip.2= VÄLJAS - varjud puuduvad
+of.options.AO_LEVEL.tooltip.3= 50%% - heledad varjud
+of.options.AO_LEVEL.tooltip.4= 100%% - tumedad varjud
+
+options.viewBobbing.tooltip.1=Realistlikum liikumine.
+options.viewBobbing.tooltip.2=Mipmappimist kasutades lülita see VÄLJA parimate tulemuste
+options.viewBobbing.tooltip.3=saavutamiseks.
+# Added extra row to tooltip
+
+options.guiScale.tooltip.1=Kasutajaliidese suurus
+options.guiScale.tooltip.2= automaatne - maksimaalsuurus
+options.guiScale.tooltip.3= väike, keskmine, suur - 1x kuni 3x
+options.guiScale.tooltip.4= 4x kuni 10x - saadaval 4K ekraanidel
+options.guiScale.tooltip.5=Paaritud arvud (1x, 3x, 5x, ...) ei ühildu Unicode'ga.
+options.guiScale.tooltip.6=Väiksem kasutajaliides võib olla kiirem.
+
+options.vbo.tooltip.1=Vertex Buffer Objects
+options.vbo.tooltip.2=Kasutab alternatiivset renderdusmudelit, mis on tavaliselt
+options.vbo.tooltip.3=vaikimisi renderdusest kiirem (5-10%%).
+
+options.gamma.tooltip.1=Muudab tumedamate objektide heledust.
+options.gamma.tooltip.2= Tujukas - standardne heledus
+options.gamma.tooltip.3= 1-99%% - muutuja
+options.gamma.tooltip.4= Hele - maksimaalne heledus tumedamatele objektidele
+options.gamma.tooltip.5=See valik ei muuda täiesti mustade objektide heledust.
+options.gamma.tooltip.6=
+
+options.anaglyph.tooltip.1=3D-anaglüüf
+options.anaglyph.tooltip.2=Lubab stereoskoopilise 3D-efekti, kasutades erinevaid
+options.anaglyph.tooltip.3=värve eri silmadel.
+options.anaglyph.tooltip.4=Vajab punasiniseid prille korralikuks vaatamiseks.
+
+of.options.ALTERNATE_BLOCKS=Alternatiivsed plokid
+of.options.ALTERNATE_BLOCKS.tooltip.1=Alternatiivsed plokid
+of.options.ALTERNATE_BLOCKS.tooltip.2=Kasutab alternatiivseid plokimudeleid teatud plokkidel.
+of.options.ALTERNATE_BLOCKS.tooltip.3=Sõltub valitud ressursipakist.
+
+of.options.FOG_FANCY=Udu
+of.options.FOG_FANCY.tooltip.1=Udu tüüp
+of.options.FOG_FANCY.tooltip.2= Kiire - kiirem udu
+of.options.FOG_FANCY.tooltip.3= Uhke - aeglasem udu, näeb parem välja
+of.options.FOG_FANCY.tooltip.4= VÄLJAS - udu puudub, kiireim
+of.options.FOG_FANCY.tooltip.5=Uhke udu on saadaval vaid siis, kui see on toetatud
+of.options.FOG_FANCY.tooltip.6=graafikakaardi poolt.
+
+of.options.FOG_START=Udu algus
+of.options.FOG_START.tooltip.1=Udu algus
+of.options.FOG_START.tooltip.2= 0.2 - udu algab mängija lähedalt
+of.options.FOG_START.tooltip.3= 0.8 - udu algab mängijast kaugel
+of.options.FOG_START.tooltip.4=See valik ei mõjuta tavaliselt jõudlust.
+
+of.options.CHUNK_LOADING=Kamakate laadimine
+of.options.CHUNK_LOADING.tooltip.1=Kamakate laadimine
+of.options.CHUNK_LOADING.tooltip.2= Vaikimisi - ebastabiilne kaadrisagedus kamakate laadimisel
+of.options.CHUNK_LOADING.tooltip.3= Sujuv - stabiilne kaadrisagedus
+of.options.CHUNK_LOADING.tooltip.4= Mitme tuumaga - stabiilne kaadrisagedus, 3x kiirem maailma laadimine
+of.options.CHUNK_LOADING.tooltip.5=Sujuv ja mitme tuumaga eemaldavad kamakate laadimiselt
+of.options.CHUNK_LOADING.tooltip.6=hakkimise ja külmumise.
+of.options.CHUNK_LOADING.tooltip.7=Mitme tuuma režiim võib kiirendada maailma laadimist kuni 3x
+of.options.CHUNK_LOADING.tooltip.8=ja suurendada kaadrisagedust, kasutades teist protsessori tuuma.
+of.options.chunkLoading.smooth=sujuv
+of.options.chunkLoading.multiCore=mitme tuumaga
+
+of.options.shaders=Varjutajad...
+of.options.shadersTitle=Varjutajad
+
+of.options.shaders.packNone=VÄLJAS
+of.options.shaders.packDefault=(sisemised)
+
+of.options.shaders.ANTIALIASING=Anti-aliasing
+of.options.shaders.NORMAL_MAP=Tavaline kaart
+of.options.shaders.SPECULAR_MAP=Peegelduv kaart
+of.options.shaders.RENDER_RES_MUL=Renderduskvaliteet
+of.options.shaders.SHADOW_RES_MUL=Varjukvaliteet
+of.options.shaders.HAND_DEPTH_MUL=Käesügavus
+of.options.shaders.CLOUD_SHADOW=Pilvevari
+of.options.shaders.OLD_HAND_LIGHT=Vana käevalgustus
+of.options.shaders.OLD_LIGHTING=Vana valgustus
+of.options.shaders.SHADER_PACK=Varjutajapakk
+
+of.options.shaders.shadersFolder=Varjutajate kaust
+of.options.shaders.shaderOptions=Varjutajate valikud...
+
+of.options.shaderOptionsTitle=Varjutajate valikud
+
+of.options.quality=Kvaliteet...
+of.options.qualityTitle=Kvaliteedi seaded
+
+of.options.details=Detailid...
+of.options.detailsTitle=Detailiseaded
+
+of.options.performance=Jõudlus...
+of.options.performanceTitle=Jõudluse seaded
+
+of.options.animations=Animatsioonid...
+of.options.animationsTitle=Animatiooniseaded
+
+of.options.other=Muu...
+of.options.otherTitle=Muud seaded
+
+of.options.other.reset=Lähtesta graafikaseaded...
+
+of.shaders.profile=Profiil
+
+# Quality
+
+of.options.mipmap.bilinear=bilineaarne
+of.options.mipmap.linear=lineaarne
+of.options.mipmap.nearest=lähim
+of.options.mipmap.trilinear=trilineaarne
+
+options.mipmapLevels.tooltip.1=Visuaalne efekt, mis muudab kauged objektid ilusamaks,
+options.mipmapLevels.tooltip.2=siludes tekstuuridetaile.
+options.mipmapLevels.tooltip.3= VÄLJAS - silumine puudub
+options.mipmapLevels.tooltip.4= 1 - minimaalne silumine
+options.mipmapLevels.tooltip.5= 4 - maksimaalne silumine
+options.mipmapLevels.tooltip.6=See valik ei mõjuta tavaliselt jõudlust.
+
+of.options.MIPMAP_TYPE=Mipmappimistüüp
+of.options.MIPMAP_TYPE.tooltip.1=Visuaalne efekt, mis muudab kauged objektid ilusamaks,
+of.options.MIPMAP_TYPE.tooltip.2=siludes tekstuuridetaile.
+of.options.MIPMAP_TYPE.tooltip.3= Lähim - jäme silumine (kiireim)
+of.options.MIPMAP_TYPE.tooltip.4= Lineaarne - tavaline silumine
+of.options.MIPMAP_TYPE.tooltip.5= Bilineaarne - peen silumine
+of.options.MIPMAP_TYPE.tooltip.6= Trilineaarne - peeneim silumine (aeglaseim)
+
+
+of.options.AA_LEVEL=Anti-aliasing
+of.options.AA_LEVEL.tooltip.1=Anti-aliasing filter
+of.options.AA_LEVEL.tooltip.2= VÄLJAS - (vaikimisi) anti-aliasing puudub (kiirem)
+of.options.AA_LEVEL.tooltip.3= 2-16 - anti-aliasetud jooned ja servad (aeglasem)
+of.options.AA_LEVEL.tooltip.4=Anti-aliasing silub sakilisi jooni ja teravaid värviüleminekuid.
+of.options.AA_LEVEL.tooltip.5=Lubamisel võib see oluliselt alandada kaadrisagedust.
+of.options.AA_LEVEL.tooltip.6=Kõik tasemed pole toetatud kõikidel graafikakaartidel.
+of.options.AA_LEVEL.tooltip.7=
+of.options.AA_LEVEL.tooltip.8=Jõustub pärast TAASKÄIVITUST!
+
+of.options.AF_LEVEL=Anisotroopiline filtr.
+of.options.AF_LEVEL.tooltip.1=Anisotroopiline filtreerimine
+of.options.AF_LEVEL.tooltip.2= VÄLJAS - (vaikimisi) standardsed tekstuuridetailid (kiirem)
+of.options.AF_LEVEL.tooltip.3= 2-16 - peenemad detailid mipmapitud tekstuurides (aeglasem)
+of.options.AF_LEVEL.tooltip.4=Anisotroopiline filtreerimine taastab detailid mipmapitud
+of.options.AF_LEVEL.tooltip.5=tekstuurides.
+of.options.AF_LEVEL.tooltip.6=Lubamisel võib see oluliselt alandada kaadrisagedust.
+
+of.options.CLEAR_WATER=Selge vesi
+of.options.CLEAR_WATER.tooltip.1=Selge vesi
+of.options.CLEAR_WATER.tooltip.2= SEES - selge, läbipaistev vesi
+of.options.CLEAR_WATER.tooltip.3= VÄLJAS - vaikimisi vesi
+
+of.options.RANDOM_MOBS=Juhuslikud elukad
+of.options.RANDOM_MOBS.tooltip.1=Juhuslikud elukad
+of.options.RANDOM_MOBS.tooltip.2= VÄLJAS - juhuslikud elukad puuduvad, kiirem
+of.options.RANDOM_MOBS.tooltip.3= SEES - juhuslikud elukad, aeglasem
+of.options.RANDOM_MOBS.tooltip.4=Juhuslikud elukad kasutab suvalisi tekstuure mängu olemitel.
+of.options.RANDOM_MOBS.tooltip.5=Vajab ressursipakki, millel on mitu elukatekstuuri.
+
+of.options.BETTER_GRASS=Parem muru
+of.options.BETTER_GRASS.tooltip.1=Parem muru
+of.options.BETTER_GRASS.tooltip.2= VÄLJAS - vaikimisi muru küljetekstuur, kiireim
+of.options.BETTER_GRASS.tooltip.3= Kiire - täielik muru küljetekstuur, aeglasem
+of.options.BETTER_GRASS.tooltip.4= Uhke - dünaamiline muru küljetekstuur, aeglaseim
+
+of.options.BETTER_SNOW=Parem lumi
+of.options.BETTER_SNOW.tooltip.1=Parem lumi
+of.options.BETTER_SNOW.tooltip.2= VÄLJAS - vaikimisi lumi, kiirem
+of.options.BETTER_SNOW.tooltip.3= SEES - parem lumi, aeglasem
+of.options.BETTER_SNOW.tooltip.4=Näitab lund läbipaistvate plokkide all (aed, kõrge muru),
+of.options.BETTER_SNOW.tooltip.5=kui ääristada lumeplokkidega.
+
+of.options.CUSTOM_FONTS=Kohandatud fondid
+of.options.CUSTOM_FONTS.tooltip.1=Kohandatud fondid
+of.options.CUSTOM_FONTS.tooltip.2= SEES - kasutab kohandatud fonte (vaikimisi), aeglasem
+of.options.CUSTOM_FONTS.tooltip.3= VÄLJAS - kasutab vaikimisi fonte, kiirem
+of.options.CUSTOM_FONTS.tooltip.4=Kohandatud fonte pakub kasutatav ressursipakk.
+of.options.CUSTOM_FONTS.tooltip.5=
+
+of.options.CUSTOM_COLORS=Kohandatud värvid
+of.options.CUSTOM_COLORS.tooltip.1=Kohandatud värvid
+of.options.CUSTOM_COLORS.tooltip.2= SEES - kasutab kohandatud värve (vaikimisi), aeglasem
+of.options.CUSTOM_COLORS.tooltip.3= VÄLJAS - kasutab vaikimisi värve, kiirem
+of.options.CUSTOM_COLORS.tooltip.4=Kohandatud värve pakub kasutatav ressursipakk.
+of.options.CUSTOM_COLORS.tooltip.5=
+
+of.options.SWAMP_COLORS=Soo värvid
+of.options.SWAMP_COLORS.tooltip.1=Soo värvid
+of.options.SWAMP_COLORS.tooltip.2= SEES - kasuta soo värve (vaikimisi), aeglasem
+of.options.SWAMP_COLORS.tooltip.3= VÄLJAS - ära kasuta soo värve, kiirem
+of.options.SWAMP_COLORS.tooltip.4=Soo värvid mõjutavad muru, lehti, vääte ja vett.
+
+of.options.SMOOTH_BIOMES=Sujuvad bioomid
+of.options.SMOOTH_BIOMES.tooltip.1=Sujuvad bioomid
+of.options.SMOOTH_BIOMES.tooltip.2= SEES - bioomide äärte silumine (vaikimisi), aeglasem
+of.options.SMOOTH_BIOMES.tooltip.3= VÄLJAS - bioomide äärte silumine puudub, kiirem
+of.options.SMOOTH_BIOMES.tooltip.4=Bioomide äärte silumine toimub kõikide ümbritsevate plokkide
+of.options.SMOOTH_BIOMES.tooltip.5=juhuslike värvide ja värvide keskmise leidmisega.
+of.options.SMOOTH_BIOMES.tooltip.6=Mõjutab muru, lehti, vääte ja vett.
+
+of.options.CONNECTED_TEXTURES=Ãœhendatud tekstuurid
+of.options.CONNECTED_TEXTURES.tooltip.1=Ãœhendatud tekstuurid
+of.options.CONNECTED_TEXTURES.tooltip.2= VÄLJAS - ühendatud tekstuurid puuduvad (vaikimisi)
+of.options.CONNECTED_TEXTURES.tooltip.3= Kiire - kiired ühendatud tekstuurid
+of.options.CONNECTED_TEXTURES.tooltip.4= Uhke - uhked ühendatud tekstuurid
+of.options.CONNECTED_TEXTURES.tooltip.5=Ühendatud tekstuurid ühendab klaasi, liivakivi ja
+of.options.CONNECTED_TEXTURES.tooltip.6=raamaturiiulid, kui need on asetatud kõrvuti.
+of.options.CONNECTED_TEXTURES.tooltip.7=Ãœhendatud tekstuure pakub kasutatav ressursipakk.
+of.options.CONNECTED_TEXTURES.tooltip.8=
+
+of.options.NATURAL_TEXTURES=Naturaalsed tekstuurid
+of.options.NATURAL_TEXTURES.tooltip.1=Naturaalsed tekstuurid
+of.options.NATURAL_TEXTURES.tooltip.2= VÄLJAS - naturaalsed tekstuurid puuduvad (vaikimisi)
+of.options.NATURAL_TEXTURES.tooltip.3= SEES - kasuta naturaalseid tekstuure
+of.options.NATURAL_TEXTURES.tooltip.4=Naturaalsed tekstuurid eemaldavad võretaolise mustri,
+of.options.NATURAL_TEXTURES.tooltip.5=mille loovad sama tüüpi korduvad plokid. See kasutab
+of.options.NATURAL_TEXTURES.tooltip.6=pööratud ja peegeldatud variante põhiploki tekstuurist.
+of.options.NATURAL_TEXTURES.tooltip.7=Naturaalsete tekstuuride konfiguratsiooni pakub
+of.options.NATURAL_TEXTURES.tooltip.8=kasutatav ressursipakk.
+
+of.options.CUSTOM_SKY=Kohandatud taevas
+of.options.CUSTOM_SKY.tooltip.1=Kohandatud taevas
+of.options.CUSTOM_SKY.tooltip.2= SEES - kohandatud taevatekstuurid (vaikimisi), aeglane
+of.options.CUSTOM_SKY.tooltip.3= VÄLJAS - vaikimisi taevas, kiirem
+of.options.CUSTOM_SKY.tooltip.4=Kohandatud taevatekstuure pakub kasutatav ressursipakk.
+of.options.CUSTOM_SKY.tooltip.5=
+
+of.options.CUSTOM_ITEMS=Kohandatud esemed
+of.options.CUSTOM_ITEMS.tooltip.1=Kohandatud esemed
+of.options.CUSTOM_ITEMS.tooltip.2= SEES - kohandatud esemetekstuurid (vaikimisi), aeglane
+of.options.CUSTOM_ITEMS.tooltip.3= VÄLJAS - vaikimisi esemetekstuurid, kiirem
+of.options.CUSTOM_ITEMS.tooltip.4=Kohandatud esemetekstuure pakub kasutatav ressursipakk.
+of.options.CUSTOM_ITEMS.tooltip.5=
+
+of.options.CUSTOM_ENTITY_MODELS=Kohandatud olemimudelid
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=Kohandatud olemimudelid
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= ON - kohandatud olemimudelid (vaikimisi), aeglane
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= OFF - vaikimisi olemimudelid, kiirem
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=Kohandatud olemimudeleid pakub kasutatav ressursipakk.
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=
+
+# Details
+
+of.options.CLOUDS=Pilved
+of.options.CLOUDS.tooltip.1=Pilved
+of.options.CLOUDS.tooltip.2= Vaikimisi - nagu määrab seade Graafika
+of.options.CLOUDS.tooltip.3= Kiire - madalam kvaliteet, kiirem
+of.options.CLOUDS.tooltip.4= Uhke - kõrgem kvaliteet, aeglasem
+of.options.CLOUDS.tooltip.5= VÄLJAS - pilved puuduvad, kiireim
+of.options.CLOUDS.tooltip.6=Kiired pilved renderdatakse 2Dna.
+of.options.CLOUDS.tooltip.7=Uhked pilved renderdatakse 3Dna.
+
+of.options.CLOUD_HEIGHT=Pilvekõrgus
+of.options.CLOUD_HEIGHT.tooltip.1=Pilvekõrgus
+of.options.CLOUD_HEIGHT.tooltip.2= VÄLJAS - vaikimisi kõrgus
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - maailma kõrguspiirangust kõrgemal
+
+of.options.TREES=Puud
+of.options.TREES.tooltip.1=Puud
+of.options.TREES.tooltip.2= Vaikimisi - nagu määrab seade Graafika
+of.options.TREES.tooltip.3= Kiire - madalam kvaliteet, kiirem
+of.options.TREES.tooltip.4= Tark - kõrgem kvaliteet, kiire
+of.options.TREES.tooltip.5= Uhke - kõrgeim kvaliteet, aeglasem
+of.options.TREES.tooltip.6=Kiiretel puudel on läbipaistmatud lehed.
+of.options.TREES.tooltip.7=Uhketel ja tarkadel puudel on läbipaistvad lehed.
+
+of.options.RAIN=Vihm ja lumi
+of.options.RAIN.tooltip.1=Vihm ja lumi
+of.options.RAIN.tooltip.2= Vaikimisi - nagu määrab seade Graafika
+of.options.RAIN.tooltip.3= Kiire - kerge vihm/lumi, kiirem
+of.options.RAIN.tooltip.4= Uhke - tugev vihm/lumi, aeglasem
+of.options.RAIN.tooltip.5= VÄLJAS - vihm/lumi puuduvad, kiireim
+of.options.RAIN.tooltip.6=Kui vihm on VÄLJAS, on vihma helid ja plärtsatused siiski
+of.options.RAIN.tooltip.7=toimivad.
+
+of.options.SKY=Taevas
+of.options.SKY.tooltip.1=Taevas
+of.options.SKY.tooltip.2= SEES - taevas on nähtav, aeglasem
+of.options.SKY.tooltip.3= VÄLJAS - taevas pole nähtav, kiirem
+of.options.SKY.tooltip.4=Kui taevas on VÄLJAS, on kuu ja päike siiski nähtavad.
+
+of.options.STARS=Tähed
+of.options.STARS.tooltip.1=Tähed
+of.options.STARS.tooltip.2= SEES - tähed on nähtavad, aeglasem
+of.options.STARS.tooltip.3= VÄLJAS - tähed pole nähtavad, kiirem
+
+of.options.SUN_MOON=Päike ja kuu
+of.options.SUN_MOON.tooltip.1=Päike ja kuu
+of.options.SUN_MOON.tooltip.2= SEES - päike ja kuu on nähtavad (vaikimisi)
+of.options.SUN_MOON.tooltip.3= VÄLJAS - päike ja kuu pole nähtavad (kiirem)
+
+of.options.SHOW_CAPES=Keebid
+of.options.SHOW_CAPES.tooltip.1=Keebid
+of.options.SHOW_CAPES.tooltip.2= SEES - kuva mängijate keebid (vaikimisi)
+of.options.SHOW_CAPES.tooltip.3= VÄLJAS - ära kuva mängijate keepe
+
+of.options.TRANSLUCENT_BLOCKS=Läbikumavad plokid
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Läbikumavad plokid
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Uhke - korrektne värvide üleminek (vaikimisi)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Kiire - kiire värvide üleminek (kiirem)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Juhib erinevate värvidega poolläbipaistvate plokkide
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=(toonitud klaas, vesi, jää) värvide üleminekut,
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=kui need on asetatud õhuvahega üksteise taha.
+
+of.options.HELD_ITEM_TOOLTIPS=Esemete näpunäited
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Käeshoitavate esemete näpunäited
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= SEES - kuva näpunäiteid käeshoitavatel esemetel (vaikimisi)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= VÄLJAS - ära kuva näpunäiteid käeshoitavatel esemetel
+
+of.options.ADVANCED_TOOLTIPS=Täpsemad näpunäited
+of.options.ADVANCED_TOOLTIPS.tooltip.1=Täpsemad näpunäited
+of.options.ADVANCED_TOOLTIPS.tooltip.2= SEES - kuva täpsemad näpunäited
+of.options.ADVANCED_TOOLTIPS.tooltip.3= VÄLJAS - peida täpsemad näpunäited (vaikimisi)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Täpsemad näpunäited kuvavad laiendatud infot
+of.options.ADVANCED_TOOLTIPS.tooltip.5=esemete kohta (ID, vastupidavus) ja varjutajate
+of.options.ADVANCED_TOOLTIPS.tooltip.6=valikute kohta (ID, allikas, vaikeväärtus).
+
+of.options.DROPPED_ITEMS=Visatud esemed
+of.options.DROPPED_ITEMS.tooltip.1=Maha visatud esemed
+of.options.DROPPED_ITEMS.tooltip.2= Vaikimisi - nagu määrab seade Graafika
+of.options.DROPPED_ITEMS.tooltip.3= Kiire - visatud esemed 2Dna, kiirem
+of.options.DROPPED_ITEMS.tooltip.4= Uhke - visatud esemed 3Dna, aeglasem
+
+options.entityShadows.tooltip.1=Olemite varjud
+options.entityShadows.tooltip.2= SEES - kuva olemite varje
+options.entityShadows.tooltip.3= VÄLJAS - ära kuva olemite varje
+
+of.options.VIGNETTE=Vinjett
+of.options.VIGNETTE.tooltip.1=Visuaalne efekt, mis tumendab kergelt ekraani nurki.
+of.options.VIGNETTE.tooltip.2= Vaikimisi - nagu määrab seade Graafika (vaikimisi)
+of.options.VIGNETTE.tooltip.3= Kiire - vinjett keelatud (kiirem)
+of.options.VIGNETTE.tooltip.4= Uhke - vinjett lubatud (aeglasem)
+of.options.VIGNETTE.tooltip.5=Vinjett võib oluliselt mõjutada kaadrisagedust,
+of.options.VIGNETTE.tooltip.6=eriti kui mängida täisekraanil.
+of.options.VIGNETTE.tooltip.7=Vinjetiefekt on vaevu hoomatav, seda võib ohutult keelata.
+of.options.VIGNETTE.tooltip.8=
+
+of.options.DYNAMIC_FOV=Dünaamiline vaateväli
+of.options.DYNAMIC_FOV.tooltip.1=Dünaamiline vaateväli
+of.options.DYNAMIC_FOV.tooltip.2= SEES - luba dünaamiline vaateväli (vaikimisi)
+of.options.DYNAMIC_FOV.tooltip.3= VÄLJAS - keela dünaamiline vaateväli
+of.options.DYNAMIC_FOV.tooltip.4=Muudab vaatevälja lennates, joostes või vibu tõmmates.
+of.options.DYNAMIC_FOV.tooltip.5=
+
+of.options.DYNAMIC_LIGHTS=Dünaamiline valgustus
+of.options.DYNAMIC_LIGHTS.tooltip.1=Dünaamiline valgustus
+of.options.DYNAMIC_LIGHTS.tooltip.2= VÄLJAS - dünaamiline valgustus puudub (vaikimisi)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Kiire - kiire dünaamiline valgustus (uuendatud 500 ms järel)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Uhke - uhke dünaamiline valgustus (uuendatud reaalajas)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Lubab valgust kiirgavatel esemetel (tõrvik, hõõgkivi jne)
+of.options.DYNAMIC_LIGHTS.tooltip.6=käes hoides või maha visates valgustada ümbritsevat ala.
+of.options.DYNAMIC_LIGHTS.tooltip.7=
+
+# Performance
+
+of.options.SMOOTH_FPS=Sujuv kaadrisagedus
+of.options.SMOOTH_FPS.tooltip.1=Stabiliseerib ks, tühjendades graafikadraiveri puhvrit.
+of.options.SMOOTH_FPS.tooltip.2= VÄLJAS - stabiliseerimine puudub, ks võib kõikuda
+of.options.SMOOTH_FPS.tooltip.3= SEES - kaadrisageduse stabiliseerimine
+of.options.SMOOTH_FPS.tooltip.4=See valik sõltub graafikadraiveritest ning selle efekt
+of.options.SMOOTH_FPS.tooltip.5=ei pruugi alati nähtav olla.
+
+of.options.SMOOTH_WORLD=Sujuv maailm
+of.options.SMOOTH_WORLD.tooltip.1=Eemaldab siseserveri poolt põhjustatud "latentsusokkaid".
+of.options.SMOOTH_WORLD.tooltip.2= VÄLJAS - stabiliseerimine puudub, ks võib kõikuda
+of.options.SMOOTH_WORLD.tooltip.3= SEES - kaadrisageduse stabiliseerimine
+of.options.SMOOTH_WORLD.tooltip.4=Stabiliseerib kaadrisagedust, jaotades sisemise serveri
+of.options.SMOOTH_WORLD.tooltip.5=koormust. Toimib ainult kohalikes maailmades (üksikmäng).
+
+of.options.FAST_RENDER=Kiire renderdus
+of.options.FAST_RENDER.tooltip.1=Kiire renderdus
+of.options.FAST_RENDER.tooltip.2= VÄLJAS - standardne renderdus (vaikimisi)
+of.options.FAST_RENDER.tooltip.3= SEES - optimeeritud renderdus (kiirem)
+of.options.FAST_RENDER.tooltip.4=Kasutab optimeeritud renderduse algoritmi, mis vähendab
+of.options.FAST_RENDER.tooltip.5=graafikaprotsessori koormust ja võib oluliselt tõsta ks.
+
+of.options.FAST_MATH=Kiire matemaatika
+of.options.FAST_MATH.tooltip.1=Kiire matemaatika
+of.options.FAST_MATH.tooltip.2= VÄLJAS - standardne matemaatika (vaikimisi)
+of.options.FAST_MATH.tooltip.3= SEES - kiirem matemaatika
+of.options.FAST_MATH.tooltip.4=Kasutab optimeeritud sin() ja cos() funktsioone, mis võivad
+of.options.FAST_MATH.tooltip.5=paremini rakendada protsessori vahemälu ja tõsta ks.
+
+of.options.CHUNK_UPDATES=Kamakauuendused
+of.options.CHUNK_UPDATES.tooltip.1=Kamakate uuendused
+of.options.CHUNK_UPDATES.tooltip.2= 1 - aeglasem maailma laadimine, kõrgem ks (vaikimisi)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - kiirem maailma laadimine, madalam ks
+of.options.CHUNK_UPDATES.tooltip.4= 5 - kiireim maailma laadimine, madalaim ks
+of.options.CHUNK_UPDATES.tooltip.5=Kamakate uuenduste arv renderdatud kaadri kohta,
+of.options.CHUNK_UPDATES.tooltip.6=kõrgemad väärtused võivad ks destabiliseerida.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Dünaamilised uuendused
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Dünaamilised kamakauuendused
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= VÄLJAS - (vaikimisi) standardsed uuendused kaadri kohta
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= SEES - rohkem uuendusi, kuni mängija seisab paigal
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Dünaamilised uuendused sunnivad rohkem kamakauuendusi,
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=kuni mängija seisab paigal, et laadida maailma kiiremini.
+
+of.options.LAZY_CHUNK_LOADING=Laisk kamakalaadimine
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Laisk kamakate laadimine
+of.options.LAZY_CHUNK_LOADING.tooltip.2= VÄLJAS - vaikimisi serveri kamakalaadimine
+of.options.LAZY_CHUNK_LOADING.tooltip.3= SEES - laisk serveri kamakalaadimine (sujuvam)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Silub integreeritud serveri kamakalaadimist, jaotades
+of.options.LAZY_CHUNK_LOADING.tooltip.5=kamakaid mitmete tick'ide vahel.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Lülita VÄLJA, kui osa maailmast ei laadi korralikult. Töötab
+of.options.LAZY_CHUNK_LOADING.tooltip.7=ainult kohalikes maailmades ühetuumalise protsessoriga.
+
+# Animations
+
+of.options.animation.allOn=Kõik SISSE
+of.options.animation.allOff=Kõik VÄLJA
+of.options.animation.dynamic=Dünaamiline
+
+of.options.ANIMATED_WATER=Veeanimatsioon
+of.options.ANIMATED_LAVA=Laavaanimatsioon
+of.options.ANIMATED_FIRE=Tuleanimatsioon
+of.options.ANIMATED_PORTAL=Portaalianimatsioon
+of.options.ANIMATED_REDSTONE=Redstone-animatsioon
+of.options.ANIMATED_EXPLOSION=Plahvatuse animatsioon
+of.options.ANIMATED_FLAME=Leegi animatsioon
+of.options.ANIMATED_SMOKE=Suitsuanimatsioon
+of.options.VOID_PARTICLES=Tühjuse osakesed
+of.options.WATER_PARTICLES=Veeosakesed
+of.options.RAIN_SPLASH=Vihmaplärtsatused
+of.options.PORTAL_PARTICLES=Portaaliosakesed
+of.options.POTION_PARTICLES=Võlujoogiosakesed
+of.options.DRIPPING_WATER_LAVA=Tilkuv vesi/laava
+of.options.ANIMATED_TERRAIN=Maastikuanimatsioon
+of.options.ANIMATED_TEXTURES=Tekstuurianimatsioon
+of.options.FIREWORK_PARTICLES=Ilutulestiku osakesed
+
+# Other
+
+of.options.LAGOMETER=Latentsusmõõdik
+of.options.LAGOMETER.tooltip.1=Kuvab latentsusmõõdikut silumisvaatel (F3).
+of.options.LAGOMETER.tooltip.2=* Oranž - mälu prahikogumine
+of.options.LAGOMETER.tooltip.3=* Tsüaansinine - tick'id
+of.options.LAGOMETER.tooltip.4=* Sinine - ajastatud käivitatavad
+of.options.LAGOMETER.tooltip.5=* Lilla - kamaka üleslaadimine
+of.options.LAGOMETER.tooltip.6=* Punane - kamakauuendused
+of.options.LAGOMETER.tooltip.7=* Kollane - nähtavuskontroll
+of.options.LAGOMETER.tooltip.8=* Roheline - maastiku renderdus
+
+of.options.PROFILER=Silumisprofiilija
+of.options.PROFILER.tooltip.1=Silumisprofiilija
+of.options.PROFILER.tooltip.2= SEES - silumisprofiilija on aktiivne, aeglasem
+of.options.PROFILER.tooltip.3= VÄLJAS - silumisprofiilija pole aktiivne, kiirem
+of.options.PROFILER.tooltip.4=Silumisprofiilija kogub ja kuvab silumisinfot, kui
+of.options.PROFILER.tooltip.5=silumisvaade on avatud (F3).
+
+of.options.WEATHER=Ilm
+of.options.WEATHER.tooltip.1=Ilm
+of.options.WEATHER.tooltip.2= SEES - ilm on aktiivne, aeglasem
+of.options.WEATHER.tooltip.3= VÄLJAS - ilm pole aktiivne, kiirem
+of.options.WEATHER.tooltip.4=Ilm juhib vihma, lund ja äikest.
+of.options.WEATHER.tooltip.5=Ilma juhtimine on võimalik ainult kohalikes maailmades.
+
+of.options.time.dayOnly=ainult päev
+of.options.time.nightOnly=ainult öö
+
+of.options.TIME=Aeg
+of.options.TIME.tooltip.1=Aeg
+of.options.TIME.tooltip.2= Vaikimisi - tavaline ööpäevatsükkel
+of.options.TIME.tooltip.3= Ainult päev - ainult päev
+of.options.TIME.tooltip.4= Ainult öö - ainult öö
+of.options.TIME.tooltip.5=Aja seadistus töötab ainult kohalikes maailmades LOOMINGU-
+of.options.TIME.tooltip.6=režiimis.
+
+options.fullscreen.tooltip.1=Täisekraan
+options.fullscreen.tooltip.2= SEES - kasuta täisekraanirežiimi
+options.fullscreen.tooltip.3= VÄLJAS - kasuta aknarežiimi
+options.fullscreen.tooltip.4=Täisekraanirežiim võib olla kiirem või aeglasem
+options.fullscreen.tooltip.5=aknarežiimist, olenevalt graafikakaardist.
+
+of.options.FULLSCREEN_MODE=Täisekraanirežiim
+of.options.FULLSCREEN_MODE.tooltip.1=Täisekraanirežiim
+of.options.FULLSCREEN_MODE.tooltip.2= Vaikimisi - kasuta töölaua ekraaniresolutsiooni, aeglasem
+of.options.FULLSCREEN_MODE.tooltip.3= L x K - kasuta kohandatud ekraaniresolutsiooni, võib olla kiirem
+of.options.FULLSCREEN_MODE.tooltip.4=Valitud resolutsiooni kasutatakse täisekraanirežiimis (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Madalamad resolutsioonid peaksid tavaliselt olema kiiremad.
+
+of.options.SHOW_FPS=Kaadrisageduse kuva
+of.options.SHOW_FPS.tooltip.1=Kuvab kompaktselt kaadrisageduse ja renderduse infot.
+of.options.SHOW_FPS.tooltip.2= C: - kamaka renderdajaid
+of.options.SHOW_FPS.tooltip.3= E: - renderdatud olemeid + plokiolemeid
+of.options.SHOW_FPS.tooltip.4= U: - kamakauuendusi
+of.options.SHOW_FPS.tooltip.5=Kompaktset kaadrisageduse infot kuvatakse vaid siis,
+of.options.SHOW_FPS.tooltip.6=kui silumisvaade pole nähtav.
+
+of.options.save.default=vaik. (2 s)
+of.options.save.20s=20 s
+of.options.save.3min=3 min
+of.options.save.30min=30 min
+
+of.options.AUTOSAVE_TICKS=Automaatne salvestus
+of.options.AUTOSAVE_TICKS.tooltip.1=Automaatse salvestuse intervall
+of.options.AUTOSAVE_TICKS.tooltip.2=Vaikimisi automaatse salvestuse intervall (2 s) POLE
+of.options.AUTOSAVE_TICKS.tooltip.3=SOOVITATAV. Automaatne salvestus põhjustab kurikuulsa
+of.options.AUTOSAVE_TICKS.tooltip.4="surmava latentsusokka".
+# Added extra row to tooltip
+
+of.options.SCREENSHOT_SIZE=Kuvatõmmise suurus
+of.options.SCREENSHOT_SIZE.tooltip.1=Kuvatõmmise suurus
+of.options.SCREENSHOT_SIZE.tooltip.2= Vaikimisi - vaikimisi kuvatõmmise suurus
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - kohandatud kuvatõmmise suurus
+of.options.SCREENSHOT_SIZE.tooltip.4=Suurema kuvatõmmise loomine võib vajada rohkem mälu.
+of.options.SCREENSHOT_SIZE.tooltip.5=Ei ühildu kiire renderduse ega anti-aliasing'uga.
+of.options.SCREENSHOT_SIZE.tooltip.6=Vajab graafikakaardi framebuffer'i tuge.
\ No newline at end of file
diff --git a/src/main/resources/assets/minecraft/optifine/lang/fr_CA.lang b/src/main/resources/assets/minecraft/optifine/lang/fr_CA.lang
new file mode 100644
index 00000000..d2affc82
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/fr_CA.lang
@@ -0,0 +1,592 @@
+#Traduit en français par Z0ul0u25
+
+# General
+of.general.ambiguous=Ambigue
+of.general.custom=Personnalisé
+of.general.from=De
+of.general.id=ID
+of.general.restart=Redémarer
+of.general.smart=Intelligent
+
+# Keys
+of.key.zoom=Zoom
+
+# Message
+of.message.aa.shaders1=L'Anticrénelage n'est pas compatible avec les Shaders.
+of.message.aa.shaders2=Veuillez désactivez les Shaders pour activer cette option.
+
+of.message.af.shaders1=Le Filtrage Anisotropique n'est pas compatible avec les Shaders.
+of.message.af.shaders2=Veuillez désactivez les Shaders pour activer cette option.
+
+of.message.fr.shaders1=Le Rendu Rapide n'est pas compatible avec les Shaders.
+of.message.fr.shaders2=Veuillez désactivez les Shaders pour activer cette option.
+
+of.message.an.shaders1=L'Anaglyphe 3D n'est pas compatible avec les Shaders.
+of.message.an.shaders2=Veuillez désactivez les Shaders pour activer cette option.
+
+of.message.shaders.aa1=Les Shaders ne sont pas compatible avec l'Anticrénelage.
+of.message.shaders.aa2=Veuillez fixé Qualité -> Anticrénelage à OFF puis redémarrer le jeu.
+
+of.message.shaders.af1=Les Shaders ne sont pas compatible avec le Filtrage Anisotropique.
+of.message.shaders.af2=Veuillez fixé Qualité -> Filtrage Anisotropique à OFF.
+
+of.message.shaders.fr1=Les Shaders ne sont pas compatible avec le Rendu Rapide.
+of.message.shaders.fr2=Veuillez fixé Performance -> Rendu Rapide à OFF.
+
+of.message.shaders.an1=Les Shaders ne sont pas compatible avec l'Anaglyphe 3D.
+of.message.shaders.an2=Veuillez configurer Autre -> Anaglyphe 3D Ã OFF.
+
+of.message.newVersion=Une nouvelle version d'§eOptiFine§f est disponible: §e%s§f
+of.message.java64Bit=Pour de meilleure performance, installer une version §e64-bit de Java§f
+of.message.openglError=§eErreur OpenGL§f: %s (%s)
+
+of.message.shaders.loading=Chargement des Shaders: %s
+
+of.message.other.reset=Réinitialiser tous les réglages vidéos à leurs valeurs par défaut?
+
+of.message.loadingVisibleChunks=Chargement des Chunks visible
+
+# Video settings
+
+options.graphics.tooltip.1=Qualité visuel
+options.graphics.tooltip.2= Rapide - Basse qualité (Rapide)
+options.graphics.tooltip.3= Détaillée - Haute qualité (Lent)
+options.graphics.tooltip.4=Change l'apparence des nuages, des feuilles,
+options.graphics.tooltip.5=de l'eau, des ombres et du côté de l'herbe.
+
+of.options.renderDistance.tiny=Mini
+of.options.renderDistance.short=Courte
+of.options.renderDistance.normal=Normale
+of.options.renderDistance.far=Loin
+of.options.renderDistance.extreme=Extrême
+
+options.renderDistance.tooltip.1=Distance de Rendu
+options.renderDistance.tooltip.2= 2 Mini - 32m (Très rapide)
+options.renderDistance.tooltip.3= 4 courte - 64m (Rapide)
+options.renderDistance.tooltip.4= 8 Normale - 128m
+options.renderDistance.tooltip.5= 16 Loin - 256m (Lent)
+options.renderDistance.tooltip.6= 32 Extrême - 512m (Très lent)
+options.renderDistance.tooltip.7=La distance de rendu Extrême est très gourmande en ressources!
+options.renderDistance.tooltip.8=Les valeurs au-dessus de 16 n'ont effet qu'en solo.
+
+options.ao.tooltip.1=Luminosité adoucie
+options.ao.tooltip.2= OFF - aucun adoucissement (rapide)
+options.ao.tooltip.3= Minimum - Adoucissement simple (Lent)
+options.ao.tooltip.4= Maximum - Adoucissement complexe (Très lent)
+
+options.framerateLimit.tooltip.1=FPS Max
+options.framerateLimit.tooltip.2= VSync - limite du moniteur (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - variable
+options.framerateLimit.tooltip.4= Illimitée - sans limite (Très rapide)
+options.framerateLimit.tooltip.5=La limite de FPS diminue le taux d'image par seconde
+options.framerateLimit.tooltip.6=même si la valeur limite n'est pas atteinte.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Ombres adoucies
+of.options.AO_LEVEL.tooltip.1=Ombres adoucies
+of.options.AO_LEVEL.tooltip.2= OFF - aucune ombre
+of.options.AO_LEVEL.tooltip.3= 50%% - légères ombres
+of.options.AO_LEVEL.tooltip.4= 100%% - fortes ombres
+
+options.viewBobbing.tooltip.1=Mouvements plus réalistes.
+options.viewBobbing.tooltip.2=Lors de l'utilisation du mipmaps, configurer à OFF pour de meilleurs résultats.
+
+options.guiScale.tooltip.1=Taille du GUI
+options.guiScale.tooltip.2= Auto - taille maximale
+options.guiScale.tooltip.3= Petite, Normale, Grande - 1x à 3x
+options.guiScale.tooltip.4= 4x à 10x - Disponible pour moniteur 4K
+options.guiScale.tooltip.5=Les valeurs impaires (1x, 3x, 5x ...) ne sont pas compatible avec l'Unicode.
+options.guiScale.tooltip.2=Un GUI petit serai plus rapide
+
+options.vbo.tooltip.1=Objets de Mémoire Tampon
+options.vbo.tooltip.2=Utilises des modèles de rendu qui sont habituellement
+options.vbo.tooltip.3=plus rapides (5-10%%) que le rendu par défaut.
+
+options.gamma.tooltip.1=Change la luminosité des endroits sombres
+options.gamma.tooltip.2= Sombre - luminosité standard
+options.gamma.tooltip.3= 1-99%% - variable
+options.gamma.tooltip.4= Lumineux - luminosité maximale pour les objets sombres
+options.gamma.tooltip.5=Cette option ne change pas la luminosité des
+options.gamma.tooltip.6=objets complètement noirs
+
+options.anaglyph.tooltip.1=Anaglyphe 3D
+options.anaglyph.tooltip.2=Active un effet stéréoscopique 3D utilisant différentes couleurs
+options.anaglyph.tooltip.3=pour chaque Å“il.
+options.anaglyph.tooltip.4=Nécessite des lunettes rouge-cyan pour une vue adéquate.
+
+of.options.ALTERNATE_BLOCKS=Blocs Alternatif
+of.options.ALTERNATE_BLOCKS.tooltip.1=Alterne les Blocs
+of.options.ALTERNATE_BLOCKS.tooltip.2=Utilises des modèles alternatifs pour certains blocs.
+of.options.ALTERNATE_BLOCKS.tooltip.3=Dépend du pack de ressources sélectionné.
+
+of.options.FOG_FANCY=Brouillard
+of.options.FOG_FANCY.tooltip.1=Type de Brouillard
+of.options.FOG_FANCY.tooltip.2= Rapide - brouillard rapide
+of.options.FOG_FANCY.tooltip.3= Détaillé - meilleure apparence (Plus lent)
+of.options.FOG_FANCY.tooltip.4= OFF - Aucun Brouillard (très rapide)
+of.options.FOG_FANCY.tooltip.5=Le brouillard détaillé n'est disponible que
+of.options.FOG_FANCY.tooltip.6=si la carte graphique peut le supporter.
+
+of.options.FOG_START=Commencement de Brouillard
+of.options.FOG_START.tooltip.1=Commencement de Brouillard
+of.options.FOG_START.tooltip.2= 0.2 - commence proche du joueur
+of.options.FOG_START.tooltip.3= 0.8 - commence loin du joueur
+of.options.FOG_START.tooltip.4=Cette option n'affecte généralement pas les performances.
+
+of.options.CHUNK_LOADING=Chargement des Chunks
+of.options.CHUNK_LOADING.tooltip.1=Chargement des Chunks
+of.options.CHUNK_LOADING.tooltip.2= Défaut - FPS instable lors du chargement des chunks
+of.options.CHUNK_LOADING.tooltip.3= Adoucie - FPS stable
+of.options.CHUNK_LOADING.tooltip.4= Multi-Coeur - FPS stable, Chargement 3x plus rapide
+of.options.CHUNK_LOADING.tooltip.5=Adoucie et Multi-Coeur évite le bégaiement et
+of.options.CHUNK_LOADING.tooltip.6=les lags causés par le chargement des chunks.
+of.options.CHUNK_LOADING.tooltip.7=Multi-Coeur peut augmenter de 3x la vitesse de chargement
+of.options.CHUNK_LOADING.tooltip.8=et augmenter les FPS en utilisant un deuxième Coeur du CPU.
+of.options.chunkLoading.smooth=Adoucie
+of.options.chunkLoading.multiCore=Multi-Core
+
+of.options.shaders=Shaders...
+of.options.shadersTitle=Shaders
+
+of.options.shaders.packNone=OFF
+of.options.shaders.packDefault=(interne)
+
+of.options.shaders.ANTIALIASING=Anticrénelage
+of.options.shaders.NORMAL_MAP=Map Normale
+of.options.shaders.SPECULAR_MAP=Map Spectaculaire
+of.options.shaders.RENDER_RES_MUL=Qualité du Rendu
+of.options.shaders.SHADOW_RES_MUL=Qualité des Ombres
+of.options.shaders.HAND_DEPTH_MUL=Profondeur de la Main
+of.options.shaders.CLOUD_SHADOW=Ombres des nuages
+of.options.shaders.OLD_HAND_LIGHT=Ancien Éclairage de la Main
+of.options.shaders.OLD_LIGHTING=Ancien Éclairage
+of.options.shaders.SHADER_PACK=Pack de Shader
+
+of.options.shaders.shadersFolder=Dossier des Shaders
+of.options.shaders.shaderOptions=Options du Shader...
+
+of.options.shaderOptionsTitle=Options du Shader
+
+of.options.quality=Qualité...
+of.options.qualityTitle=Paramètre de la Qualité
+
+of.options.details=Détails...
+of.options.detailsTitle=Paramètre des Détails
+
+of.options.performance=Performance...
+of.options.performanceTitle=Paramètre des Performances
+
+of.options.animations=Animations...
+of.options.animationsTitle=Paramètre des Animations
+
+of.options.other=Autre...
+of.options.otherTitle=Autre Paramètre
+
+of.options.other.reset=Réinitialiser les réglages vidéos...
+
+of.shaders.profile=Profil
+
+# Quality
+
+of.options.mipmap.bilinear=Bilinéaire
+of.options.mipmap.linear=Linéaire
+of.options.mipmap.nearest=Rapproché
+of.options.mipmap.trilinear=Trilinéaire
+
+options.mipmapLevels.tooltip.1=Effet visuelle qui rend les objets lointains plus beau
+options.mipmapLevels.tooltip.2=en adoucissent les détails
+options.mipmapLevels.tooltip.3= OFF - Aucun adoucissement
+options.mipmapLevels.tooltip.4= 1 - adoucissement minimum
+options.mipmapLevels.tooltip.5= 4 - adoucissement maximum
+options.mipmapLevels.tooltip.6=Cette option n'affecte généralement pas les performances.
+
+of.options.MIPMAP_TYPE=Type de Mipmap
+of.options.MIPMAP_TYPE.tooltip.1=Effet visuel qui rend les objets lointains plus beau
+of.options.MIPMAP_TYPE.tooltip.2=en adoucissent les détails
+of.options.MIPMAP_TYPE.tooltip.3= Rapproché - adoucissement esquissé (rapide)
+of.options.MIPMAP_TYPE.tooltip.4= Linéaire - adoucissement normal
+of.options.MIPMAP_TYPE.tooltip.5= Bilinéaire - adoucissement travaillé
+of.options.MIPMAP_TYPE.tooltip.6= Trilinéaire - adoucissement magnifique (lent)
+
+of.options.AA_LEVEL=Anticrénelage
+of.options.AA_LEVEL.tooltip.1=Anticrénelage
+of.options.AA_LEVEL.tooltip.2= OFF - (défaut) sans anticrénelage (rapide)
+of.options.AA_LEVEL.tooltip.3= 2-16 - anticrénelage les lignes et cotés (lent)
+of.options.AA_LEVEL.tooltip.4=L'Anticrénelage adouci l'effet rugueux et
+of.options.AA_LEVEL.tooltip.5=les transitions rapides de couleurs.
+of.options.AA_LEVEL.tooltip.6=Lorsque activer, les FPS peuvent ralentir.
+of.options.AA_LEVEL.tooltip.7=Tous les niveaux ne sont pas supportés par toutes les cartes graphiques.
+of.options.AA_LEVEL.tooltip.8=N'a d'effets qu'après un REDÉMARRAGE!
+
+of.options.AF_LEVEL=Filtrage Anisotropique
+of.options.AF_LEVEL.tooltip.1=Filtrage Anisotropique
+of.options.AF_LEVEL.tooltip.2= OFF - (défaut) détail de texture standard (rapide)
+of.options.AF_LEVEL.tooltip.3= 2-16 - détails plus fins dans les textures mipmappées (lent)
+of.options.AF_LEVEL.tooltip.4=Le Filtrage Anisotropique rétablie les détails dans
+of.options.AF_LEVEL.tooltip.5=les textures mipmappé.
+of.options.AF_LEVEL.tooltip.6=Lorsque activer, les FPS peuvent ralentir.
+
+of.options.CLEAR_WATER=Eau Claire
+of.options.CLEAR_WATER.tooltip.1=Eau Claire
+of.options.CLEAR_WATER.tooltip.2= ON - claire, eau transparente
+of.options.CLEAR_WATER.tooltip.3= OFF - eau par défaut
+
+of.options.RANDOM_MOBS=Mobs Aléatoires
+of.options.RANDOM_MOBS.tooltip.1=Mobs Aléatoires
+of.options.RANDOM_MOBS.tooltip.2= OFF - aucun mob aléatoire (rapide)
+of.options.RANDOM_MOBS.tooltip.3= ON - avec mob aléatoire (lent)
+of.options.RANDOM_MOBS.tooltip.4=Les Mobs utilisent des textures aléatoires
+of.options.RANDOM_MOBS.tooltip.5=A besoin d'un pack de ressources avec plusieurs textures de mob
+
+of.options.BETTER_GRASS=Meilleur Gazon
+of.options.BETTER_GRASS.tooltip.1=Meilleur Gazon
+of.options.BETTER_GRASS.tooltip.2= OFF - texture par défaut (rapide)
+of.options.BETTER_GRASS.tooltip.3= Rapide - bord de gazon complet (lent)
+of.options.BETTER_GRASS.tooltip.4= Détaillé - bord de gazon détaillé (très lent)
+
+of.options.BETTER_SNOW=Meilleur Neige
+of.options.BETTER_SNOW.tooltip.1=Meilleur Neige
+of.options.BETTER_SNOW.tooltip.2= OFF - Neige par défaut (rapide)
+of.options.BETTER_SNOW.tooltip.3= ON - Meilleure Neige (lent)
+of.options.BETTER_SNOW.tooltip.4=Apparait en dessous des blocs transparents (clôture, haute herbe)
+of.options.BETTER_SNOW.tooltip.5=lorsque qu'entouré de neige.
+
+of.options.CUSTOM_FONTS=Police Personnalisé
+of.options.CUSTOM_FONTS.tooltip.1=Police Personnalisé
+of.options.CUSTOM_FONTS.tooltip.2= ON - utilise la police personnalisée (défaut, lent)
+of.options.CUSTOM_FONTS.tooltip.3= OFF - utilise la police par défaut (rapide)
+of.options.CUSTOM_FONTS.tooltip.4=La Police Personnalisée est fournis par
+of.options.CUSTOM_FONTS.tooltip.5=le pack de ressources utilisé.
+
+of.options.CUSTOM_COLORS=Couleurs Personnalisés
+of.options.CUSTOM_COLORS.tooltip.1=Couleurs Personnalisés
+of.options.CUSTOM_COLORS.tooltip.2= ON - utilise des couleurs personnalisées (défaut, lent)
+of.options.CUSTOM_COLORS.tooltip.3= OFF - utilise les couleurs par défaut (rapide)
+of.options.CUSTOM_COLORS.tooltip.4=Les Couleurs Personnalisées sont fournis par
+of.options.CUSTOM_COLORS.tooltip.5=le pack de ressources utilisé.
+
+of.options.SWAMP_COLORS=Couleurs Marécageuses
+of.options.SWAMP_COLORS.tooltip.1=Couleurs Marécageuses
+of.options.SWAMP_COLORS.tooltip.2= ON - utilise les couleurs marécageuses (défaut, lent)
+of.options.SWAMP_COLORS.tooltip.3= OFF - n'utilise pas les couleurs marécageuses (rapide)
+of.options.SWAMP_COLORS.tooltip.4=La couleur marécageuse modifie le gazon, les feuilles,
+of.options.SWAMP_COLORS.tooltip.5=les lianes et l'eau.
+
+of.options.SMOOTH_BIOMES=Biomes Adoucis
+of.options.SMOOTH_BIOMES.tooltip.1=Biomes Adoucis
+of.options.SMOOTH_BIOMES.tooltip.2= ON - adoucie la bordure des biomes (défaut, lent)
+of.options.SMOOTH_BIOMES.tooltip.3= OFF - aucun adoucissement de bordure des biomes (rapide)
+of.options.SMOOTH_BIOMES.tooltip.4=L'adoucissement des bordures de biomes est fait en échantillonnant et
+of.options.SMOOTH_BIOMES.tooltip.5=moyenant la couleur des blocs aux frontières entre deux biomes.
+of.options.SMOOTH_BIOMES.tooltip.6=N'affecte que le gazon, les feuilles, les lianes et l'eau.
+
+of.options.CONNECTED_TEXTURES=Textures Connectés
+of.options.CONNECTED_TEXTURES.tooltip.1=Textures Connectés
+of.options.CONNECTED_TEXTURES.tooltip.2= OFF - aucune connexion (défaut)
+of.options.CONNECTED_TEXTURES.tooltip.3= Rapide - connexion rapide
+of.options.CONNECTED_TEXTURES.tooltip.4= Fancy - connexion détaillée
+of.options.CONNECTED_TEXTURES.tooltip.5=Les Textures Connectés connecte les textures de
+of.options.CONNECTED_TEXTURES.tooltip.6=la vitre, le grès et les bibliothèques placés une
+of.options.CONNECTED_TEXTURES.tooltip.7=à coté de l'autre. Les Textures Connectés sont
+of.options.CONNECTED_TEXTURES.tooltip.8=fournis par le pack de ressources utilisé.
+
+of.options.NATURAL_TEXTURES=Textures Naturelles
+of.options.NATURAL_TEXTURES.tooltip.1=Textures Naturelles
+of.options.NATURAL_TEXTURES.tooltip.2= OFF - sans textures naturelles (défaut)
+of.options.NATURAL_TEXTURES.tooltip.3= ON - avec textures naturelles
+of.options.NATURAL_TEXTURES.tooltip.4=Les textures naturelles enlèvent le pattern grillagé
+of.options.NATURAL_TEXTURES.tooltip.5=créé par la répétition de bloc identique.
+of.options.NATURAL_TEXTURES.tooltip.6=L'utilisation de textures retournées et renversées
+of.options.NATURAL_TEXTURES.tooltip.7=est utilisé. La configuration pour les textures naturelles
+of.options.NATURAL_TEXTURES.tooltip.8=sont fournies par le pack de ressources utilisé.
+
+of.options.CUSTOM_SKY=Ciel Personnalisé
+of.options.CUSTOM_SKY.tooltip.1=Ciel Personnalisé
+of.options.CUSTOM_SKY.tooltip.2= ON - Texture personnalisée (défaut, lent)
+of.options.CUSTOM_SKY.tooltip.3= OFF - ciel par défaut (rapide)
+of.options.CUSTOM_SKY.tooltip.4=La texture du ciel personnalisé est
+of.options.CUSTOM_SKY.tooltip.5=fourni par le pack de ressources utilisé.
+
+of.options.CUSTOM_ITEMS=Items Personnalisés
+of.options.CUSTOM_ITEMS.tooltip.1=Items Personnalisés
+of.options.CUSTOM_ITEMS.tooltip.2= ON - textures d'items personnalisés (défaut, lent)
+of.options.CUSTOM_ITEMS.tooltip.3= OFF - textures d'items par défaut (rapide)
+of.options.CUSTOM_ITEMS.tooltip.4=Les textures d'items personnalisés sont
+of.options.CUSTOM_ITEMS.tooltip.5=fournis par le pack de ressources utilisé.
+
+of.options.CUSTOM_ENTITY_MODELS=Modèles d'Entités Personnalisées
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=Modèles d'Entités Personnalisées
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= ON - modèles d'entités personnalisées (défaut, lent)
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= OFF - modèles d'entités par défaut (rapide)
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=Les modèles d'entités personnalisées sont
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=fournis par le pack de ressources utilisé.
+
+# Details
+
+of.options.CLOUDS=Nuages
+of.options.CLOUDS.tooltip.1=Nuages
+of.options.CLOUDS.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.CLOUDS.tooltip.3= Rapides - basse qualité (rapde)
+of.options.CLOUDS.tooltip.4= Détaillés - haute qualité (lent)
+of.options.CLOUDS.tooltip.5= OFF - sans nuages (plus rapide)
+of.options.CLOUDS.tooltip.6=Les nuages rapides sont rendus en 2D.
+of.options.CLOUDS.tooltip.7=Les nuages détaillés sont rendus en 3D.
+
+of.options.CLOUD_HEIGHT=Hauteur des Nuages
+of.options.CLOUD_HEIGHT.tooltip.1=Hauteur des Nuages
+of.options.CLOUD_HEIGHT.tooltip.2= OFF - hauteur par défaut
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - au-dessus de la hauteur limite du monde
+
+of.options.TREES=Arbres
+of.options.TREES.tooltip.1=Arbres
+of.options.TREES.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.TREES.tooltip.3= Rapides - basse qualité (plus rapide)
+of.options.TREES.tooltip.4= Intelligents - haute qualité (rapide)
+of.options.TREES.tooltip.5= Détaillés - très haute qualité (lent)
+of.options.TREES.tooltip.6=Les arbres rapides ont des feuilles opaques.
+of.options.TREES.tooltip.7=Les arbres intelligents et détaillés
+of.options.TREES.tooltip.8=ont des feuilles transparentes.
+
+of.options.RAIN=Pluie & Neige
+of.options.RAIN.tooltip.1=Pluie & Neige
+of.options.RAIN.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.RAIN.tooltip.3= Rapide - légère pluie/neige (rapide)
+of.options.RAIN.tooltip.4= Détaillé - grosse pluie/neige (lent)
+of.options.RAIN.tooltip.5= OFF - sans pluie/neige (plus rapide)
+of.options.RAIN.tooltip.6=Même si la pluie & la neige est à OFF,
+of.options.RAIN.tooltip.7=les éclaboussures et le son sont toujours actifs.
+
+of.options.SKY=Ciel
+of.options.SKY.tooltip.1=Ciel
+of.options.SKY.tooltip.2= ON - Le ciel est visible (lent)
+of.options.SKY.tooltip.3= OFF - Le ciel n'est pas visible (rapide)
+of.options.SKY.tooltip.4=Quand le ciel est à OFF,
+of.options.SKY.tooltip.5=le soleil et la lune sont toujours visibles.
+
+of.options.STARS=Étoiles
+of.options.STARS.tooltip.1=Étoiles
+of.options.STARS.tooltip.2= ON - Les étoiles sont visible (lent)
+of.options.STARS.tooltip.3= OFF - Les étoiles ne sont pas visibles (rapide)
+
+of.options.SUN_MOON=Soleil & lune
+of.options.SUN_MOON.tooltip.1=Soleil & lune
+of.options.SUN_MOON.tooltip.2= ON - le soleil et la lune sont visibles (défaut)
+of.options.SUN_MOON.tooltip.3= OFF - le soleil et la lune ne sont pas visibles (rapide)
+
+of.options.SHOW_CAPES=Capes Visibles
+of.options.SHOW_CAPES.tooltip.1=Capes visibles
+of.options.SHOW_CAPES.tooltip.2= ON - voir la cape de joueurs (défaut)
+of.options.SHOW_CAPES.tooltip.3= OFF - ne pas voir la cape des joueurs
+
+of.options.TRANSLUCENT_BLOCKS=Blocs Translucides
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Blocs Translucides
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Détaillés - mélange correct des couleurs (défaut)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Rapides - mélange rapide ds couleurs (rapide)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Controle le mélange des couleurs des blocs translucides
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=avec différentes couleurs (verre teindu, eau, glace)
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=lorsque placé un à côté de l'autre avec de l'air entre eux.
+
+of.options.HELD_ITEM_TOOLTIPS=Info-bulles d'Item
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Info-bulles d'Item
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= ON - affiche des infos sur l'item en main (défaut)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= OFF - n'affiche pas d'info sur l'item en main
+
+of.options.ADVANCED_TOOLTIPS=Info-bulles Avancé
+of.options.ADVANCED_TOOLTIPS.tooltip.1=Info-bulles Avancé
+of.options.ADVANCED_TOOLTIPS.tooltip.2= ON - affiche les infobulles avancées
+of.options.ADVANCED_TOOLTIPS.tooltip.3= OFF - n'affiche pas les infobulles avancées (défaut)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Les infobulles avancées affiche des informations détaillées
+of.options.ADVANCED_TOOLTIPS.tooltip.5=sur l'item (id, durabilité) et les options des shaders
+of.options.ADVANCED_TOOLTIPS.tooltip.6=(id, source, valeurs par défaut).
+
+of.options.DROPPED_ITEMS=Items Droppés
+of.options.DROPPED_ITEMS.tooltip.1=Dropped Items
+of.options.DROPPED_ITEMS.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.DROPPED_ITEMS.tooltip.3= Rapides - items 2D (rapide)
+of.options.DROPPED_ITEMS.tooltip.4= Détaillés - items 3D (lent)
+
+options.entityShadows.tooltip.1=Ombres des Entités
+options.entityShadows.tooltip.2= ON - affiche l'ombre des entités
+options.entityShadows.tooltip.3= OFF - n'affiche pas l'ombre des entités
+
+of.options.VIGNETTE=Vignette
+of.options.VIGNETTE.tooltip.1=Effet visuel qui assombrie les coins de l'écran
+of.options.VIGNETTE.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.VIGNETTE.tooltip.3= Rapide - vignette désactivée (rapide)
+of.options.VIGNETTE.tooltip.4= Détaillée - vignette activée (lent)
+of.options.VIGNETTE.tooltip.5=La vignette à un effet significatif sur les FPS,
+of.options.VIGNETTE.tooltip.6=surtout lorsque le jeu est en plein écran.
+of.options.VIGNETTE.tooltip.7=L'effet de vignette est très subtile et
+of.options.VIGNETTE.tooltip.8=peut être désactivé en toute sécurité.
+
+of.options.DYNAMIC_FOV=CV Dynamique
+of.options.DYNAMIC_FOV.tooltip.1=CV Dynamique
+of.options.DYNAMIC_FOV.tooltip.2= ON - activer le CV dynamique (défaut)
+of.options.DYNAMIC_FOV.tooltip.3= OFF - désactiver le CV dynamique
+of.options.DYNAMIC_FOV.tooltip.4=Changer le champ visuel (CV) lors du vol, du sprint
+of.options.DYNAMIC_FOV.tooltip.5=de la nage et du bandage d'un arc.
+
+of.options.DYNAMIC_LIGHTS=Lumières Dynamiques
+of.options.DYNAMIC_LIGHTS.tooltip.1=Lumières Dynamiques
+of.options.DYNAMIC_LIGHTS.tooltip.2= OFF - aucune lumière dynamique (défaut)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Rapides - lumières dynamiques rapides (rafraichi à tous les 500ms)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Détaillées - Lumières dynamiques détaillées (rafraichi en temps réel)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Active la lumière des items (torche, pierre lumineuse, etc.)
+of.options.DYNAMIC_LIGHTS.tooltip.6=pour illuminer tout autour quand l'item et en main,
+of.options.DYNAMIC_LIGHTS.tooltip.7=equipper par d'autres joueurs ou jeter au sol.
+
+# Performance
+
+of.options.SMOOTH_FPS=FPS Atténué
+of.options.SMOOTH_FPS.tooltip.1=Stabilise les FPS en supprimant les tampons de mémoires graphiques.
+of.options.SMOOTH_FPS.tooltip.2= OFF - aucune stabilisation, Les FPS peuvent varier
+of.options.SMOOTH_FPS.tooltip.3= ON - stabilisation des FPS
+of.options.SMOOTH_FPS.tooltip.4=Cette option dépend du gestionnaire graphique, les
+of.options.SMOOTH_FPS.tooltip.5=effets ne sont pas toujours visibles.
+
+of.options.SMOOTH_WORLD=Monde Atténué
+of.options.SMOOTH_WORLD.tooltip.1=Élimine les piques de lag causé par le serveur interne.
+of.options.SMOOTH_WORLD.tooltip.2= OFF - aucune stabilisation, Les FPS peuvent varier
+of.options.SMOOTH_WORLD.tooltip.3= ON - stabilisation des FPS
+of.options.SMOOTH_WORLD.tooltip.4=Stabilises les FPS en distribuent les charges du serveur interne.
+of.options.SMOOTH_WORLD.tooltip.5=Fonctionne seulement en local (monde solo).
+
+of.options.FAST_RENDER=Rendu Rapide
+of.options.FAST_RENDER.tooltip.1=Rendu Rapide
+of.options.FAST_RENDER.tooltip.2= OFF - rendu standard (défaut)
+of.options.FAST_RENDER.tooltip.3= ON - rendu optimisé (rapide)
+of.options.FAST_RENDER.tooltip.4=Utilise des algorithmes de rendu optimisé pour diminuer
+of.options.FAST_RENDER.tooltip.5=la charge du GPU et peut augmenter les FPS.
+
+of.options.FAST_MATH=Maths Rapides
+of.options.FAST_MATH.tooltip.1=Mats Rapides
+of.options.FAST_MATH.tooltip.2= OFF - math standard (défaut)
+of.options.FAST_MATH.tooltip.3= ON - math optimisé
+of.options.FAST_MATH.tooltip.4=Utilise des fonctions optimisées de sin() et cos() qui peuvent
+of.options.FAST_MATH.tooltip.5=mieu utilisé la cache du CPU et augmenter les FPS.
+
+of.options.CHUNK_UPDATES=Mise à Jour des Chunks
+of.options.CHUNK_UPDATES.tooltip.1=Mise à Jour des Chunks
+of.options.CHUNK_UPDATES.tooltip.2= 1 - chargement lent du monde, meilleur FPS (défaut)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - chargement rapide du monde, bas FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - chargement très rapide du monde, très bas FPS
+of.options.CHUNK_UPDATES.tooltip.5=Nombre de Mise à jour par image de rendu (tick),
+of.options.CHUNK_UPDATES.tooltip.6=Les valeurs élevées peut déstabilisé les FPS.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Mises à Jour Dynamiques
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Mises à Jours Dynamiques
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= OFF - mise à jour standard (défaut)
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= ON - plus de mise à jour lorsque le joueur ne bouge pas
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Les mises à jour dynamiques force plus de
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=chunks à ce mettre à jour quand le joueur
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.6=est inactif pour charger le monde plus vite.
+
+of.options.LAZY_CHUNK_LOADING=Chargement des Chunks Lâches
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Chargement Lâche des Chunks
+of.options.LAZY_CHUNK_LOADING.tooltip.2= OFF - chargement des chunks serveurs par défaut
+of.options.LAZY_CHUNK_LOADING.tooltip.3= ON - chargement des chunks serveur lâche (plus doux)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Adoucie le chargement des chunks serveurs intégrés
+of.options.LAZY_CHUNK_LOADING.tooltip.5=en distribuant les chunks sur plusieurs ticks.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Tourné à OFF si des parties du monde ne se charge pas correctement.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Fonctionne seulement en local (monde solo) et les CPU Ã un coeur.
+
+# Animations
+
+of.options.animation.allOn=Tous à ON
+of.options.animation.allOff=Tous à OFF
+of.options.animation.dynamic=Dynamique
+
+of.options.ANIMATED_WATER=Eau Animée
+of.options.ANIMATED_LAVA=Lave Animée
+of.options.ANIMATED_FIRE=Feux Animé
+of.options.ANIMATED_PORTAL=Portail Animé
+of.options.ANIMATED_REDSTONE=Redstone Animé
+of.options.ANIMATED_EXPLOSION=Explosion Animée
+of.options.ANIMATED_FLAME=Flamme Animé
+of.options.ANIMATED_SMOKE=Fumée Animée
+of.options.VOID_PARTICLES=Particules de Vide
+of.options.WATER_PARTICLES=Particules d'Eau
+of.options.RAIN_SPLASH=Particules de Pluie
+of.options.PORTAL_PARTICLES=Particules de Portail
+of.options.POTION_PARTICLES=Particules de Potion
+of.options.DRIPPING_WATER_LAVA=Eau/Lave qui Coule
+of.options.ANIMATED_TERRAIN=Terrain Animé
+of.options.ANIMATED_TEXTURES=Textures Animées
+of.options.FIREWORK_PARTICLES=Particules de Feux d'Artifice
+
+# Other
+
+of.options.LAGOMETER=Lagomèter
+of.options.LAGOMETER.tooltip.1=Affiche le Lagomètre sur l'écran de débogage (F3).
+of.options.LAGOMETER.tooltip.2=* Orange - Récupérateur de mémoire
+of.options.LAGOMETER.tooltip.3=* Cyan - Tick
+of.options.LAGOMETER.tooltip.4=* Blue - Executables programmés
+of.options.LAGOMETER.tooltip.5=* Purple - Chunk téléchargé
+of.options.LAGOMETER.tooltip.6=* Red - Mises à jour de chunk
+of.options.LAGOMETER.tooltip.7=* Yellow - Contrôle de visibilité
+of.options.LAGOMETER.tooltip.8=* Green - Terrain rendu
+
+of.options.PROFILER=Profileur de Débogage
+of.options.PROFILER.tooltip.1=Profileur de Débogage
+of.options.PROFILER.tooltip.2= ON - profileur actif (lent)
+of.options.PROFILER.tooltip.3= OFF - profileur non actif (rapide)
+of.options.PROFILER.tooltip.4=Le profileur de débogage collecte et affiche des informations de
+of.options.PROFILER.tooltip.5=débogage lorsque l'écran de débogage (F3) est ouvert.
+
+of.options.WEATHER=Météo
+of.options.WEATHER.tooltip.1=Météo
+of.options.WEATHER.tooltip.2= ON - Météo active (lent)
+of.options.WEATHER.tooltip.3= OFF - Météo non active (rapide)
+of.options.WEATHER.tooltip.4=La météo contrôle la pluie, la neige et l'orage.
+of.options.WEATHER.tooltip.5=Le contrôle de la météo n'est possible qu'en local.
+
+of.options.time.dayOnly=Jour Seulement
+of.options.time.nightOnly=Nuit Seulement
+
+of.options.TIME=temps
+of.options.TIME.tooltip.1=Temps
+of.options.TIME.tooltip.2= Défaut - Cycle jour/nuit normal
+of.options.TIME.tooltip.3= Jour Seulement - jour seulement
+of.options.TIME.tooltip.4= Nuit Seulement - nuit seulement
+of.options.TIME.tooltip.5=La séléction du temps n'est possible qu'en CRÉATIF
+of.options.TIME.tooltip.6=dans un monde local.
+
+options.fullscreen.tooltip.1=Plein Écran
+options.fullscreen.tooltip.2= ON - jeu en plein écran
+options.fullscreen.tooltip.3= OFF - jeu fenêtré
+options.fullscreen.tooltip.4=Le mode plein écran peut être plus rapide ou plus lent
+options.fullscreen.tooltip.5=que le mode fenêtré, cela dépend de la carte graphique.
+
+of.options.FULLSCREEN_MODE=Option Plein Écran
+of.options.FULLSCREEN_MODE.tooltip.1=Option Plein Écran
+of.options.FULLSCREEN_MODE.tooltip.2= Défaut - utilise la résolution du moniteur (lent)
+of.options.FULLSCREEN_MODE.tooltip.3= LxH - utilise une résolution personnalisée (rapide)
+of.options.FULLSCREEN_MODE.tooltip.4=La résolution sélectionnée est utilisé en mode plein écran (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Une résolution plus basse devrait être plus rapide.
+
+of.options.SHOW_FPS=Afficher les FPS
+of.options.SHOW_FPS.tooltip.1=Affiche les FPS et informations de rendu.
+of.options.SHOW_FPS.tooltip.2= C: - chunk rendu
+of.options.SHOW_FPS.tooltip.3= E: - entités rendu + bloc entités
+of.options.SHOW_FPS.tooltip.4= U: - mises à jour de chunk
+of.options.SHOW_FPS.tooltip.5=Les informations sont présenté de manière compacte dans le coin
+of.options.SHOW_FPS.tooltip.6=supérieur gauche lorsque l'écran de débogage n'est pas visible
+
+of.options.save.default=Défaut (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Sauvegarde Automatique
+of.options.AUTOSAVE_TICKS.tooltip.1=Intervale entre les sauvegardes
+of.options.AUTOSAVE_TICKS.tooltip.2=L'intervalle par défaut (2s) n'est PAS RECOMMENDER.
+of.options.AUTOSAVE_TICKS.tooltip.3=Les sauvegardes automatiques sont la cause
+of.options.AUTOSAVE_TICKS.tooltip.4=du Pique de Lag de la Mort qui Tue.
+
+of.options.SCREENSHOT_SIZE=Taille des Captures d'Écrans
+of.options.SCREENSHOT_SIZE.tooltip.1=Taille des Captures d'Écrans
+of.options.SCREENSHOT_SIZE.tooltip.2= Défaut - taille de la fenêtre
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - taille personnalisée
+of.options.SCREENSHOT_SIZE.tooltip.4=Prendre une capture d'écran plus grande utilise plus de mémoire.
+of.options.SCREENSHOT_SIZE.tooltip.5=Incompatible avec le Rendu Rapide et l'Anticrénelage.
+of.options.SCREENSHOT_SIZE.tooltip.6=Nécessite un GPU avec un tampon d'image.
\ No newline at end of file
diff --git a/src/main/resources/assets/minecraft/optifine/lang/fr_FR.lang b/src/main/resources/assets/minecraft/optifine/lang/fr_FR.lang
new file mode 100644
index 00000000..af156049
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/fr_FR.lang
@@ -0,0 +1,592 @@
+#Traduit en français par Z0ul0u25
+
+# General
+of.general.ambiguous=Ambigue
+of.general.custom=Personnalisé
+of.general.from=De
+of.general.id=ID
+of.general.restart=Redémarer
+of.general.smart=Intelligent
+
+# Keys
+of.key.zoom=Zoom
+
+# Message
+of.message.aa.shaders1=L'Anticrénelage n'est pas compatible avec les Shaders.
+of.message.aa.shaders2=Veuillez désactivez les Shaders pour activer cette option.
+
+of.message.af.shaders1=Le Filtrage Anisotropique n'est pas compatible avec les Shaders.
+of.message.af.shaders2=Veuillez désactivez les Shaders pour activer cette option.
+
+of.message.fr.shaders1=Le Rendu Rapide n'est pas compatible avec les Shaders.
+of.message.fr.shaders2=Veuillez désactivez les Shaders pour activer cette option.
+
+of.message.an.shaders1=L'Anaglyphe 3D n'est pas compatible avec les Shaders.
+of.message.an.shaders2=Veuillez désactivez les Shaders pour activer cette option.
+
+of.message.shaders.aa1=Les Shaders ne sont pas compatible avec l'Anticrénelage.
+of.message.shaders.aa2=Veuillez fixé Qualité -> Anticrénelage à OFF puis redémarrer le jeu.
+
+of.message.shaders.af1=Les Shaders ne sont pas compatible avec le Filtrage Anisotropique.
+of.message.shaders.af2=Veuillez fixé Qualité -> Filtrage Anisotropique à OFF.
+
+of.message.shaders.fr1=Les Shaders ne sont pas compatible avec le Rendu Rapide.
+of.message.shaders.fr2=Veuillez fixé Performance -> Rendu Rapide à OFF.
+
+of.message.shaders.an1=Les Shaders ne sont pas compatible avec l'Anaglyphe 3D.
+of.message.shaders.an2=Veuillez configurer Autre -> Anaglyphe 3D Ã OFF.
+
+of.message.newVersion=Une nouvelle version d'§eOptiFine§f est disponible: §e%s§f
+of.message.java64Bit=Pour de meilleure performance, installer une version §e64-bit de Java§f
+of.message.openglError=§eErreur OpenGL§f: %s (%s)
+
+of.message.shaders.loading=Chargement des Shaders: %s
+
+of.message.other.reset=Réinitialiser tous les réglages vidéos à leurs valeurs par défaut?
+
+of.message.loadingVisibleChunks=Chargement des Chunks visible
+
+# Video settings
+
+options.graphics.tooltip.1=Qualité visuel
+options.graphics.tooltip.2= Rapide - Basse qualité (Rapide)
+options.graphics.tooltip.3= Détaillée - Haute qualité (Lent)
+options.graphics.tooltip.4=Change l'apparence des nuages, des feuilles,
+options.graphics.tooltip.5=de l'eau, des ombres et du côté de l'herbe.
+
+of.options.renderDistance.tiny=Mini
+of.options.renderDistance.short=Courte
+of.options.renderDistance.normal=Normale
+of.options.renderDistance.far=Loin
+of.options.renderDistance.extreme=Extrême
+
+options.renderDistance.tooltip.1=Distance de Rendu
+options.renderDistance.tooltip.2= 2 Mini - 32m (Très rapide)
+options.renderDistance.tooltip.3= 4 courte - 64m (Rapide)
+options.renderDistance.tooltip.4= 8 Normale - 128m
+options.renderDistance.tooltip.5= 16 Loin - 256m (Lent)
+options.renderDistance.tooltip.6= 32 Extrême - 512m (Très lent)
+options.renderDistance.tooltip.7=La distance de rendu Extrême est très gourmande en ressources!
+options.renderDistance.tooltip.8=Les valeurs au-dessus de 16 n'ont effet qu'en solo.
+
+options.ao.tooltip.1=Luminosité adoucie
+options.ao.tooltip.2= OFF - aucun adoucissement (rapide)
+options.ao.tooltip.3= Minimum - Adoucissement simple (Lent)
+options.ao.tooltip.4= Maximum - Adoucissement complexe (Très lent)
+
+options.framerateLimit.tooltip.1=FPS Max
+options.framerateLimit.tooltip.2= VSync - limite du moniteur (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - variable
+options.framerateLimit.tooltip.4= Illimitée - sans limite (Très rapide)
+options.framerateLimit.tooltip.5=La limite de FPS diminue le taux d'image par seconde
+options.framerateLimit.tooltip.6=même si la valeur limite n'est pas atteinte.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Ombres adoucies
+of.options.AO_LEVEL.tooltip.1=Ombres adoucies
+of.options.AO_LEVEL.tooltip.2= OFF - aucune ombre
+of.options.AO_LEVEL.tooltip.3= 50%% - légères ombres
+of.options.AO_LEVEL.tooltip.4= 100%% - fortes ombres
+
+options.viewBobbing.tooltip.1=Mouvements plus réalistes.
+options.viewBobbing.tooltip.2=Lors de l'utilisation du mipmaps, configurer à OFF pour de meilleurs résultats.
+
+options.guiScale.tooltip.1=Taille du GUI
+options.guiScale.tooltip.2= Auto - taille maximale
+options.guiScale.tooltip.3= Petite, Normale, Grande - 1x à 3x
+options.guiScale.tooltip.4= 4x à 10x - Disponible pour moniteur 4K
+options.guiScale.tooltip.5=Les valeurs impaires (1x, 3x, 5x ...) ne sont pas compatible avec l'Unicode.
+options.guiScale.tooltip.2=Un GUI petit serai plus rapide
+
+options.vbo.tooltip.1=Objets de Mémoire Tampon
+options.vbo.tooltip.2=Utilises des modèles de rendu qui sont habituellement
+options.vbo.tooltip.3=plus rapides (5-10%%) que le rendu par défaut.
+
+options.gamma.tooltip.1=Change la luminosité des endroits sombres
+options.gamma.tooltip.2= Sombre - luminosité standard
+options.gamma.tooltip.3= 1-99%% - variable
+options.gamma.tooltip.4= Lumineux - luminosité maximale pour les objets sombres
+options.gamma.tooltip.5=Cette option ne change pas la luminosité des
+options.gamma.tooltip.6=objets complètement noirs
+
+options.anaglyph.tooltip.1=Anaglyphe 3D
+options.anaglyph.tooltip.2=Active un effet stéréoscopique 3D utilisant différentes couleurs
+options.anaglyph.tooltip.3=pour chaque Å“il.
+options.anaglyph.tooltip.4=Nécessite des lunettes rouge-cyan pour une vue adéquate.
+
+of.options.ALTERNATE_BLOCKS=Blocs Alternatif
+of.options.ALTERNATE_BLOCKS.tooltip.1=Alterne les Blocs
+of.options.ALTERNATE_BLOCKS.tooltip.2=Utilises des modèles alternatifs pour certains blocs.
+of.options.ALTERNATE_BLOCKS.tooltip.3=Dépend du pack de ressources sélectionné.
+
+of.options.FOG_FANCY=Brouillard
+of.options.FOG_FANCY.tooltip.1=Type de Brouillard
+of.options.FOG_FANCY.tooltip.2= Rapide - brouillard rapide
+of.options.FOG_FANCY.tooltip.3= Détaillé - meilleure apparence (Plus lent)
+of.options.FOG_FANCY.tooltip.4= OFF - Aucun Brouillard (très rapide)
+of.options.FOG_FANCY.tooltip.5=Le brouillard détaillé n'est disponible que
+of.options.FOG_FANCY.tooltip.6=si la carte graphique peut le supporter.
+
+of.options.FOG_START=Commencement de Brouillard
+of.options.FOG_START.tooltip.1=Commencement de Brouillard
+of.options.FOG_START.tooltip.2= 0.2 - commence proche du joueur
+of.options.FOG_START.tooltip.3= 0.8 - commence loin du joueur
+of.options.FOG_START.tooltip.4=Cette option n'affecte généralement pas les performances.
+
+of.options.CHUNK_LOADING=Chargement des Chunks
+of.options.CHUNK_LOADING.tooltip.1=Chargement des Chunks
+of.options.CHUNK_LOADING.tooltip.2= Défaut - FPS instable lors du chargement des chunks
+of.options.CHUNK_LOADING.tooltip.3= Adoucie - FPS stable
+of.options.CHUNK_LOADING.tooltip.4= Multi-Coeur - FPS stable, Chargement 3x plus rapide
+of.options.CHUNK_LOADING.tooltip.5=Adoucie et Multi-Coeur évite le bégaiement et
+of.options.CHUNK_LOADING.tooltip.6=les lags causés par le chargement des chunks.
+of.options.CHUNK_LOADING.tooltip.7=Multi-Coeur peut augmenter de 3x la vitesse de chargement
+of.options.CHUNK_LOADING.tooltip.8=et augmenter les FPS en utilisant un deuxième Coeur du CPU.
+of.options.chunkLoading.smooth=Adoucie
+of.options.chunkLoading.multiCore=Multi-Core
+
+of.options.shaders=Shaders...
+of.options.shadersTitle=Shaders
+
+of.options.shaders.packNone=OFF
+of.options.shaders.packDefault=(interne)
+
+of.options.shaders.ANTIALIASING=Anticrénelage
+of.options.shaders.NORMAL_MAP=Map Normale
+of.options.shaders.SPECULAR_MAP=Map Spectaculaire
+of.options.shaders.RENDER_RES_MUL=Qualité du Rendu
+of.options.shaders.SHADOW_RES_MUL=Qualité des Ombres
+of.options.shaders.HAND_DEPTH_MUL=Profondeur de la Main
+of.options.shaders.CLOUD_SHADOW=Ombres des nuages
+of.options.shaders.OLD_HAND_LIGHT=Ancien Éclairage de la Main
+of.options.shaders.OLD_LIGHTING=Ancien Éclairage
+of.options.shaders.SHADER_PACK=Pack de Shader
+
+of.options.shaders.shadersFolder=Dossier des Shaders
+of.options.shaders.shaderOptions=Options du Shader...
+
+of.options.shaderOptionsTitle=Options du Shader
+
+of.options.quality=Qualité...
+of.options.qualityTitle=Paramètre de la Qualité
+
+of.options.details=Détails...
+of.options.detailsTitle=Paramètre des Détails
+
+of.options.performance=Performance...
+of.options.performanceTitle=Paramètre des Performances
+
+of.options.animations=Animations...
+of.options.animationsTitle=Paramètre des Animations
+
+of.options.other=Autre...
+of.options.otherTitle=Autre Paramètre
+
+of.options.other.reset=Réinitialiser les réglages vidéos...
+
+of.shaders.profile=Profil
+
+# Quality
+
+of.options.mipmap.bilinear=Bilinéaire
+of.options.mipmap.linear=Linéaire
+of.options.mipmap.nearest=Rapproché
+of.options.mipmap.trilinear=Trilinéaire
+
+options.mipmapLevels.tooltip.1=Effet visuelle qui rend les objets lointains plus beau
+options.mipmapLevels.tooltip.2=en adoucissent les détails
+options.mipmapLevels.tooltip.3= OFF - Aucun adoucissement
+options.mipmapLevels.tooltip.4= 1 - adoucissement minimum
+options.mipmapLevels.tooltip.5= 4 - adoucissement maximum
+options.mipmapLevels.tooltip.6=Cette option n'affecte généralement pas les performances.
+
+of.options.MIPMAP_TYPE=Type de Mipmap
+of.options.MIPMAP_TYPE.tooltip.1=Effet visuel qui rend les objets lointains plus beau
+of.options.MIPMAP_TYPE.tooltip.2=en adoucissent les détails
+of.options.MIPMAP_TYPE.tooltip.3= Rapproché - adoucissement esquissé (rapide)
+of.options.MIPMAP_TYPE.tooltip.4= Linéaire - adoucissement normal
+of.options.MIPMAP_TYPE.tooltip.5= Bilinéaire - adoucissement travaillé
+of.options.MIPMAP_TYPE.tooltip.6= Trilinéaire - adoucissement magnifique (lent)
+
+of.options.AA_LEVEL=Anticrénelage
+of.options.AA_LEVEL.tooltip.1=Anticrénelage
+of.options.AA_LEVEL.tooltip.2= OFF - (défaut) sans anticrénelage (rapide)
+of.options.AA_LEVEL.tooltip.3= 2-16 - anticrénelage les lignes et cotés (lent)
+of.options.AA_LEVEL.tooltip.4=L'Anticrénelage adouci l'effet rugueux et
+of.options.AA_LEVEL.tooltip.5=les transitions rapides de couleurs.
+of.options.AA_LEVEL.tooltip.6=Lorsque activer, les FPS peuvent ralentir.
+of.options.AA_LEVEL.tooltip.7=Tous les niveaux ne sont pas supportés par toutes les cartes graphiques.
+of.options.AA_LEVEL.tooltip.8=N'a d'effets qu'après un REDÉMARRAGE!
+
+of.options.AF_LEVEL=Filtrage Anisotropique
+of.options.AF_LEVEL.tooltip.1=Filtrage Anisotropique
+of.options.AF_LEVEL.tooltip.2= OFF - (défaut) détail de texture standard (rapide)
+of.options.AF_LEVEL.tooltip.3= 2-16 - détails plus fins dans les textures mipmappées (lent)
+of.options.AF_LEVEL.tooltip.4=Le Filtrage Anisotropique rétablie les détails dans
+of.options.AF_LEVEL.tooltip.5=les textures mipmappé.
+of.options.AF_LEVEL.tooltip.6=Lorsque activer, les FPS peuvent ralentir.
+
+of.options.CLEAR_WATER=Eau Claire
+of.options.CLEAR_WATER.tooltip.1=Eau Claire
+of.options.CLEAR_WATER.tooltip.2= ON - claire, eau transparente
+of.options.CLEAR_WATER.tooltip.3= OFF - eau par défaut
+
+of.options.RANDOM_MOBS=Mobs Aléatoires
+of.options.RANDOM_MOBS.tooltip.1=Mobs Aléatoires
+of.options.RANDOM_MOBS.tooltip.2= OFF - aucun mob aléatoire (rapide)
+of.options.RANDOM_MOBS.tooltip.3= ON - avec mob aléatoire (lent)
+of.options.RANDOM_MOBS.tooltip.4=Les Mobs utilisent des textures aléatoires
+of.options.RANDOM_MOBS.tooltip.5=A besoin d'un pack de ressources avec plusieurs textures de mob
+
+of.options.BETTER_GRASS=Meilleur Gazon
+of.options.BETTER_GRASS.tooltip.1=Meilleur Gazon
+of.options.BETTER_GRASS.tooltip.2= OFF - texture par défaut (rapide)
+of.options.BETTER_GRASS.tooltip.3= Rapide - bord de pelouse complet (lent)
+of.options.BETTER_GRASS.tooltip.4= Détaillé - bord de pelouse détaillé (très lent)
+
+of.options.BETTER_SNOW=Meilleur Neige
+of.options.BETTER_SNOW.tooltip.1=Meilleur Neige
+of.options.BETTER_SNOW.tooltip.2= OFF - Neige par défaut (rapide)
+of.options.BETTER_SNOW.tooltip.3= ON - Meilleure Neige (lent)
+of.options.BETTER_SNOW.tooltip.4=Apparait en dessous des blocs transparents (clôture, haute herbe)
+of.options.BETTER_SNOW.tooltip.5=lorsque qu'entouré de neige.
+
+of.options.CUSTOM_FONTS=Police Personnalisé
+of.options.CUSTOM_FONTS.tooltip.1=Police Personnalisé
+of.options.CUSTOM_FONTS.tooltip.2= ON - utilise la police personnalisée (défaut, lent)
+of.options.CUSTOM_FONTS.tooltip.3= OFF - utilise la police par défaut (rapide)
+of.options.CUSTOM_FONTS.tooltip.4=La Police Personnalisée est fournis par
+of.options.CUSTOM_FONTS.tooltip.5=le pack de ressources utilisé.
+
+of.options.CUSTOM_COLORS=Couleurs Personnalisés
+of.options.CUSTOM_COLORS.tooltip.1=Couleurs Personnalisés
+of.options.CUSTOM_COLORS.tooltip.2= ON - utilise des couleurs personnalisées (défaut, lent)
+of.options.CUSTOM_COLORS.tooltip.3= OFF - utilise les couleurs par défaut (rapide)
+of.options.CUSTOM_COLORS.tooltip.4=Les Couleurs Personnalisées sont fournis par
+of.options.CUSTOM_COLORS.tooltip.5=le pack de ressources utilisé.
+
+of.options.SWAMP_COLORS=Couleurs Marécageuses
+of.options.SWAMP_COLORS.tooltip.1=Couleurs Marécageuses
+of.options.SWAMP_COLORS.tooltip.2= ON - utilise les couleurs marécageuses (défaut, lent)
+of.options.SWAMP_COLORS.tooltip.3= OFF - n'utilise pas les couleurs marécageuses (rapide)
+of.options.SWAMP_COLORS.tooltip.4=La couleur marécageuse modifie la pelouse, les feuilles,
+of.options.SWAMP_COLORS.tooltip.5=les lianes et l'eau.
+
+of.options.SMOOTH_BIOMES=Biomes Adoucis
+of.options.SMOOTH_BIOMES.tooltip.1=Biomes Adoucis
+of.options.SMOOTH_BIOMES.tooltip.2= ON - adoucie la bordure des biomes (défaut, lent)
+of.options.SMOOTH_BIOMES.tooltip.3= OFF - aucun adoucissement de bordure des biomes (rapide)
+of.options.SMOOTH_BIOMES.tooltip.4=L'adoucissement des bordures de biomes est fait en échantillonnant et
+of.options.SMOOTH_BIOMES.tooltip.5=moyenant la couleur des blocs aux frontières entre deux biomes.
+of.options.SMOOTH_BIOMES.tooltip.6=N'affecte que la pelouse, les feuilles, les lianes et l'eau.
+
+of.options.CONNECTED_TEXTURES=Textures Connectés
+of.options.CONNECTED_TEXTURES.tooltip.1=Textures Connectés
+of.options.CONNECTED_TEXTURES.tooltip.2= OFF - aucune connexion (défaut)
+of.options.CONNECTED_TEXTURES.tooltip.3= Rapide - connexion rapide
+of.options.CONNECTED_TEXTURES.tooltip.4= Fancy - connexion détaillée
+of.options.CONNECTED_TEXTURES.tooltip.5=Les Textures Connectés connecte les textures de
+of.options.CONNECTED_TEXTURES.tooltip.6=la vitre, le grès et les bibliothèques placés une
+of.options.CONNECTED_TEXTURES.tooltip.7=à coté de l'autre. Les Textures Connectés sont
+of.options.CONNECTED_TEXTURES.tooltip.8=fournis par le pack de ressources utilisé.
+
+of.options.NATURAL_TEXTURES=Textures Naturelles
+of.options.NATURAL_TEXTURES.tooltip.1=Textures Naturelles
+of.options.NATURAL_TEXTURES.tooltip.2= OFF - sans textures naturelles (défaut)
+of.options.NATURAL_TEXTURES.tooltip.3= ON - avec textures naturelles
+of.options.NATURAL_TEXTURES.tooltip.4=Les textures naturelles enlèvent le motif grillagé
+of.options.NATURAL_TEXTURES.tooltip.5=créé par la répétition de bloc identique.
+of.options.NATURAL_TEXTURES.tooltip.6=L'utilisation de textures retournées et renversées
+of.options.NATURAL_TEXTURES.tooltip.7=est utilisé. La configuration pour les textures naturelles
+of.options.NATURAL_TEXTURES.tooltip.8=sont fournies par le pack de ressources utilisé.
+
+of.options.CUSTOM_SKY=Ciel Personnalisé
+of.options.CUSTOM_SKY.tooltip.1=Ciel Personnalisé
+of.options.CUSTOM_SKY.tooltip.2= ON - Texture personnalisée (défaut, lent)
+of.options.CUSTOM_SKY.tooltip.3= OFF - ciel par défaut (rapide)
+of.options.CUSTOM_SKY.tooltip.4=La texture du ciel personnalisé est
+of.options.CUSTOM_SKY.tooltip.5=fourni par le pack de ressources utilisé.
+
+of.options.CUSTOM_ITEMS=Items Personnalisés
+of.options.CUSTOM_ITEMS.tooltip.1=Items Personnalisés
+of.options.CUSTOM_ITEMS.tooltip.2= ON - textures d'items personnalisés (défaut, lent)
+of.options.CUSTOM_ITEMS.tooltip.3= OFF - textures d'items par défaut (rapide)
+of.options.CUSTOM_ITEMS.tooltip.4=Les textures d'items personnalisés sont
+of.options.CUSTOM_ITEMS.tooltip.5=fournis par le pack de ressources utilisé.
+
+of.options.CUSTOM_ENTITY_MODELS=Modèles d'Entités Personnalisées
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=Modèles d'Entités Personnalisées
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= ON - modèles d'entités personnalisées (défaut, lent)
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= OFF - modèles d'entités par défaut (rapide)
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=Les modèles d'entités personnalisées sont
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=fournis par le pack de ressources utilisé.
+
+# Details
+
+of.options.CLOUDS=Nuages
+of.options.CLOUDS.tooltip.1=Nuages
+of.options.CLOUDS.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.CLOUDS.tooltip.3= Rapides - basse qualité (rapde)
+of.options.CLOUDS.tooltip.4= Détaillés - haute qualité (lent)
+of.options.CLOUDS.tooltip.5= OFF - sans nuages (plus rapide)
+of.options.CLOUDS.tooltip.6=Les nuages rapides sont rendus en 2D.
+of.options.CLOUDS.tooltip.7=Les nuages détaillés sont rendus en 3D.
+
+of.options.CLOUD_HEIGHT=Hauteur des Nuages
+of.options.CLOUD_HEIGHT.tooltip.1=Hauteur des Nuages
+of.options.CLOUD_HEIGHT.tooltip.2= OFF - hauteur par défaut
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - au-dessus de la hauteur limite du monde
+
+of.options.TREES=Arbres
+of.options.TREES.tooltip.1=Arbres
+of.options.TREES.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.TREES.tooltip.3= Rapides - basse qualité (plus rapide)
+of.options.TREES.tooltip.4= Intelligents - haute qualité (rapide)
+of.options.TREES.tooltip.5= Détaillés - très haute qualité (lent)
+of.options.TREES.tooltip.6=Les arbres rapides ont des feuilles opaques.
+of.options.TREES.tooltip.7=Les arbres intelligents et détaillés
+of.options.TREES.tooltip.8=ont des feuilles transparentes.
+
+of.options.RAIN=Pluie & Neige
+of.options.RAIN.tooltip.1=Pluie & Neige
+of.options.RAIN.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.RAIN.tooltip.3= Rapide - légère pluie/neige (rapide)
+of.options.RAIN.tooltip.4= Détaillé - grosse pluie/neige (lent)
+of.options.RAIN.tooltip.5= OFF - sans pluie/neige (plus rapide)
+of.options.RAIN.tooltip.6=Même si la pluie & la neige est à OFF,
+of.options.RAIN.tooltip.7=les éclaboussures et le son sont toujours actifs.
+
+of.options.SKY=Ciel
+of.options.SKY.tooltip.1=Ciel
+of.options.SKY.tooltip.2= ON - Le ciel est visible (lent)
+of.options.SKY.tooltip.3= OFF - Le ciel n'est pas visible (rapide)
+of.options.SKY.tooltip.4=Quand le ciel est à OFF,
+of.options.SKY.tooltip.5=le soleil et la lune sont toujours visibles.
+
+of.options.STARS=Étoiles
+of.options.STARS.tooltip.1=Étoiles
+of.options.STARS.tooltip.2= ON - Les étoiles sont visible (lent)
+of.options.STARS.tooltip.3= OFF - Les étoiles ne sont pas visibles (rapide)
+
+of.options.SUN_MOON=Soleil & lune
+of.options.SUN_MOON.tooltip.1=Soleil & lune
+of.options.SUN_MOON.tooltip.2= ON - le soleil et la lune sont visibles (défaut)
+of.options.SUN_MOON.tooltip.3= OFF - le soleil et la lune ne sont pas visibles (rapide)
+
+of.options.SHOW_CAPES=Capes Visibles
+of.options.SHOW_CAPES.tooltip.1=Capes visibles
+of.options.SHOW_CAPES.tooltip.2= ON - voir la cape de joueurs (défaut)
+of.options.SHOW_CAPES.tooltip.3= OFF - ne pas voir la cape des joueurs
+
+of.options.TRANSLUCENT_BLOCKS=Blocs Translucides
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Blocs Translucides
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Détaillés - mélange correct des couleurs (défaut)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Rapides - mélange rapide ds couleurs (rapide)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Controle le mélange des couleurs des blocs translucides
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=avec différentes couleurs (verre teindu, eau, glace)
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=lorsque placé un à côté de l'autre avec de l'air entre eux.
+
+of.options.HELD_ITEM_TOOLTIPS=Info-bulles d'Item
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Info-bulles d'Item
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= ON - affiche des infos sur l'item en main (défaut)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= OFF - n'affiche pas d'info sur l'item en main
+
+of.options.ADVANCED_TOOLTIPS=Info-bulles Avancé
+of.options.ADVANCED_TOOLTIPS.tooltip.1=Info-bulles Avancé
+of.options.ADVANCED_TOOLTIPS.tooltip.2= ON - affiche les infobulles avancées
+of.options.ADVANCED_TOOLTIPS.tooltip.3= OFF - n'affiche pas les infobulles avancées (défaut)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Les infobulles avancées affiche des informations détaillées
+of.options.ADVANCED_TOOLTIPS.tooltip.5=sur l'item (id, durabilité) et les options des shaders
+of.options.ADVANCED_TOOLTIPS.tooltip.6=(id, source, valeurs par défaut).
+
+of.options.DROPPED_ITEMS=Items Droppés
+of.options.DROPPED_ITEMS.tooltip.1=Dropped Items
+of.options.DROPPED_ITEMS.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.DROPPED_ITEMS.tooltip.3= Rapides - items 2D (rapide)
+of.options.DROPPED_ITEMS.tooltip.4= Détaillés - items 3D (lent)
+
+options.entityShadows.tooltip.1=Ombres des Entités
+options.entityShadows.tooltip.2= ON - affiche l'ombre des entités
+options.entityShadows.tooltip.3= OFF - n'affiche pas l'ombre des entités
+
+of.options.VIGNETTE=Vignette
+of.options.VIGNETTE.tooltip.1=Effet visuel qui assombrie les coins de l'écran
+of.options.VIGNETTE.tooltip.2= Défaut - comme dans les configurations Graphiques
+of.options.VIGNETTE.tooltip.3= Rapide - vignette désactivée (rapide)
+of.options.VIGNETTE.tooltip.4= Détaillée - vignette activée (lent)
+of.options.VIGNETTE.tooltip.5=La vignette à un effet significatif sur les FPS,
+of.options.VIGNETTE.tooltip.6=surtout lorsque le jeu est en plein écran.
+of.options.VIGNETTE.tooltip.7=L'effet de vignette est très subtile et
+of.options.VIGNETTE.tooltip.8=peut être désactivé en toute sécurité.
+
+of.options.DYNAMIC_FOV=CV Dynamique
+of.options.DYNAMIC_FOV.tooltip.1=CV Dynamique
+of.options.DYNAMIC_FOV.tooltip.2= ON - activer le CV dynamique (défaut)
+of.options.DYNAMIC_FOV.tooltip.3= OFF - désactiver le CV dynamique
+of.options.DYNAMIC_FOV.tooltip.4=Changer le champ visuel (CV) lors du vol, du sprint
+of.options.DYNAMIC_FOV.tooltip.5=de la nage et du bandage d'un arc.
+
+of.options.DYNAMIC_LIGHTS=Lumières Dynamiques
+of.options.DYNAMIC_LIGHTS.tooltip.1=Lumières Dynamiques
+of.options.DYNAMIC_LIGHTS.tooltip.2= OFF - aucune lumière dynamique (défaut)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Rapides - lumières dynamiques rapides (rafraichi à tous les 500ms)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Détaillées - Lumières dynamiques détaillées (rafraichi en temps réel)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Active la lumière des items (torche, pierre lumineuse, etc.)
+of.options.DYNAMIC_LIGHTS.tooltip.6=pour illuminer tout autour quand l'item et en main,
+of.options.DYNAMIC_LIGHTS.tooltip.7=equipper par d'autres joueurs ou jeter au sol.
+
+# Performance
+
+of.options.SMOOTH_FPS=FPS Atténué
+of.options.SMOOTH_FPS.tooltip.1=Stabilise les FPS en supprimant les tampons de mémoires graphiques.
+of.options.SMOOTH_FPS.tooltip.2= OFF - aucune stabilisation, Les FPS peuvent varier
+of.options.SMOOTH_FPS.tooltip.3= ON - stabilisation des FPS
+of.options.SMOOTH_FPS.tooltip.4=Cette option dépend du gestionnaire graphique, les
+of.options.SMOOTH_FPS.tooltip.5=effets ne sont pas toujours visibles.
+
+of.options.SMOOTH_WORLD=Monde Atténué
+of.options.SMOOTH_WORLD.tooltip.1=Élimine les piques de lag causé par le serveur interne.
+of.options.SMOOTH_WORLD.tooltip.2= OFF - aucune stabilisation, Les FPS peuvent varier
+of.options.SMOOTH_WORLD.tooltip.3= ON - stabilisation des FPS
+of.options.SMOOTH_WORLD.tooltip.4=Stabilises les FPS en distribuent les charges du serveur interne.
+of.options.SMOOTH_WORLD.tooltip.5=Fonctionne seulement en local (monde solo).
+
+of.options.FAST_RENDER=Rendu Rapide
+of.options.FAST_RENDER.tooltip.1=Rendu Rapide
+of.options.FAST_RENDER.tooltip.2= OFF - rendu standard (défaut)
+of.options.FAST_RENDER.tooltip.3= ON - rendu optimisé (rapide)
+of.options.FAST_RENDER.tooltip.4=Utilise des algorithmes de rendu optimisé pour diminuer
+of.options.FAST_RENDER.tooltip.5=la charge du GPU et peut augmenter les FPS.
+
+of.options.FAST_MATH=Maths Rapides
+of.options.FAST_MATH.tooltip.1=Mats Rapides
+of.options.FAST_MATH.tooltip.2= OFF - math standard (défaut)
+of.options.FAST_MATH.tooltip.3= ON - math optimisé
+of.options.FAST_MATH.tooltip.4=Utilise des fonctions optimisées de sin() et cos() qui peuvent
+of.options.FAST_MATH.tooltip.5=mieu utilisé la cache du CPU et augmenter les FPS.
+
+of.options.CHUNK_UPDATES=Mise à Jour des Chunks
+of.options.CHUNK_UPDATES.tooltip.1=Mise à Jour des Chunks
+of.options.CHUNK_UPDATES.tooltip.2= 1 - chargement lent du monde, meilleur FPS (défaut)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - chargement rapide du monde, bas FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - chargement très rapide du monde, très bas FPS
+of.options.CHUNK_UPDATES.tooltip.5=Nombre de Mise à jour par image de rendu (tick),
+of.options.CHUNK_UPDATES.tooltip.6=Les valeurs élevées peut déstabilisé les FPS.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Mises à Jour Dynamiques
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Mises à Jours Dynamiques
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= OFF - mise à jour standard (défaut)
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= ON - plus de mise à jour lorsque le joueur ne bouge pas
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Les mises à jour dynamiques force plus de
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=chunks à ce mettre à jour quand le joueur
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.6=est inactif pour charger le monde plus vite.
+
+of.options.LAZY_CHUNK_LOADING=Chargement des Chunks Lâches
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Chargement Lâche des Chunks
+of.options.LAZY_CHUNK_LOADING.tooltip.2= OFF - chargement des chunks serveurs par défaut
+of.options.LAZY_CHUNK_LOADING.tooltip.3= ON - chargement des chunks serveur lâche (plus doux)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Adoucie le chargement des chunks serveurs intégrés
+of.options.LAZY_CHUNK_LOADING.tooltip.5=en distribuant les chunks sur plusieurs ticks.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Tourné à OFF si des parties du monde ne se charge pas correctement.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Fonctionne seulement en local (monde solo) et les CPU Ã un coeur.
+
+# Animations
+
+of.options.animation.allOn=Tous à ON
+of.options.animation.allOff=Tous à OFF
+of.options.animation.dynamic=Dynamique
+
+of.options.ANIMATED_WATER=Eau Animée
+of.options.ANIMATED_LAVA=Lave Animée
+of.options.ANIMATED_FIRE=Feux Animé
+of.options.ANIMATED_PORTAL=Portail Animé
+of.options.ANIMATED_REDSTONE=Redstone Animé
+of.options.ANIMATED_EXPLOSION=Explosion Animée
+of.options.ANIMATED_FLAME=Flamme Animé
+of.options.ANIMATED_SMOKE=Fumée Animée
+of.options.VOID_PARTICLES=Particules de Vide
+of.options.WATER_PARTICLES=Particules d'Eau
+of.options.RAIN_SPLASH=Particules de Pluie
+of.options.PORTAL_PARTICLES=Particules de Portail
+of.options.POTION_PARTICLES=Particules de Potion
+of.options.DRIPPING_WATER_LAVA=Eau/Lave qui Coule
+of.options.ANIMATED_TERRAIN=Terrain Animé
+of.options.ANIMATED_TEXTURES=Textures Animées
+of.options.FIREWORK_PARTICLES=Particules de Feux d'Artifice
+
+# Other
+
+of.options.LAGOMETER=Lagomèter
+of.options.LAGOMETER.tooltip.1=Affiche le Lagomètre sur l'écran de débogage (F3).
+of.options.LAGOMETER.tooltip.2=* Orange - Récupérateur de mémoire
+of.options.LAGOMETER.tooltip.3=* Cyan - Tick
+of.options.LAGOMETER.tooltip.4=* Blue - Executables programmés
+of.options.LAGOMETER.tooltip.5=* Purple - Chunk téléchargé
+of.options.LAGOMETER.tooltip.6=* Red - Mises à jour de chunk
+of.options.LAGOMETER.tooltip.7=* Yellow - Contrôle de visibilité
+of.options.LAGOMETER.tooltip.8=* Green - Terrain rendu
+
+of.options.PROFILER=Profileur de Débogage
+of.options.PROFILER.tooltip.1=Profileur de Débogage
+of.options.PROFILER.tooltip.2= ON - profileur actif (lent)
+of.options.PROFILER.tooltip.3= OFF - profileur non actif (rapide)
+of.options.PROFILER.tooltip.4=Le profileur de débogage collecte et affiche des informations de
+of.options.PROFILER.tooltip.5=débogage lorsque l'écran de débogage (F3) est ouvert.
+
+of.options.WEATHER=Météo
+of.options.WEATHER.tooltip.1=Météo
+of.options.WEATHER.tooltip.2= ON - Météo active (lent)
+of.options.WEATHER.tooltip.3= OFF - Météo non active (rapide)
+of.options.WEATHER.tooltip.4=La météo contrôle la pluie, la neige et l'orage.
+of.options.WEATHER.tooltip.5=Le contrôle de la météo n'est possible qu'en local.
+
+of.options.time.dayOnly=Jour Seulement
+of.options.time.nightOnly=Nuit Seulement
+
+of.options.TIME=temps
+of.options.TIME.tooltip.1=Temps
+of.options.TIME.tooltip.2= Défaut - Cycle jour/nuit normal
+of.options.TIME.tooltip.3= Jour Seulement - jour seulement
+of.options.TIME.tooltip.4= Nuit Seulement - nuit seulement
+of.options.TIME.tooltip.5=La séléction du temps n'est possible qu'en CRÉATIF
+of.options.TIME.tooltip.6=dans un monde local.
+
+options.fullscreen.tooltip.1=Plein Écran
+options.fullscreen.tooltip.2= ON - jeu en plein écran
+options.fullscreen.tooltip.3= OFF - jeu fenêtré
+options.fullscreen.tooltip.4=Le mode plein écran peut être plus rapide ou plus lent
+options.fullscreen.tooltip.5=que le mode fenêtré, cela dépend de la carte graphique.
+
+of.options.FULLSCREEN_MODE=Option Plein Écran
+of.options.FULLSCREEN_MODE.tooltip.1=Option Plein Écran
+of.options.FULLSCREEN_MODE.tooltip.2= Défaut - utilise la résolution du moniteur (lent)
+of.options.FULLSCREEN_MODE.tooltip.3= LxH - utilise une résolution personnalisée (rapide)
+of.options.FULLSCREEN_MODE.tooltip.4=La résolution sélectionnée est utilisé en mode plein écran (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Une résolution plus basse devrait être plus rapide.
+
+of.options.SHOW_FPS=Afficher les FPS
+of.options.SHOW_FPS.tooltip.1=Affiche les FPS et informations de rendu.
+of.options.SHOW_FPS.tooltip.2= C: - chunk rendu
+of.options.SHOW_FPS.tooltip.3= E: - entités rendu + bloc entités
+of.options.SHOW_FPS.tooltip.4= U: - mises à jour de chunk
+of.options.SHOW_FPS.tooltip.5=Les informations sont présenté de manière compacte dans le coin
+of.options.SHOW_FPS.tooltip.6=supérieur gauche lorsque l'écran de débogage n'est pas visible
+
+of.options.save.default=Défaut (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Sauvegarde Automatique
+of.options.AUTOSAVE_TICKS.tooltip.1=Intervale entre les sauvegardes
+of.options.AUTOSAVE_TICKS.tooltip.2=L'intervalle par défaut (2s) n'est PAS RECOMMENDER.
+of.options.AUTOSAVE_TICKS.tooltip.3=Les sauvegardes automatiques sont la cause
+of.options.AUTOSAVE_TICKS.tooltip.4=du Pique de Lag de la Mort qui Tue.
+
+of.options.SCREENSHOT_SIZE=Taille des Captures d'Écrans
+of.options.SCREENSHOT_SIZE.tooltip.1=Taille des Captures d'Écrans
+of.options.SCREENSHOT_SIZE.tooltip.2= Défaut - taille de la fenêtre
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - taille personnalisée
+of.options.SCREENSHOT_SIZE.tooltip.4=Prendre une capture d'écran plus grande utilise plus de mémoire.
+of.options.SCREENSHOT_SIZE.tooltip.5=Incompatible avec le Rendu Rapide et l'Anticrénelage.
+of.options.SCREENSHOT_SIZE.tooltip.6=Nécessite un GPU avec un tampon d'image.
\ No newline at end of file
diff --git a/src/main/resources/assets/minecraft/optifine/lang/hu_HU.lang b/src/main/resources/assets/minecraft/optifine/lang/hu_HU.lang
new file mode 100644
index 00000000..b181ae57
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/hu_HU.lang
@@ -0,0 +1,559 @@
+# General
+of.general.ambiguous=zavaros
+of.general.custom=Egyéni
+of.general.from=-ból
+of.general.id=Id
+of.general.restart=újraindÃtás
+of.general.smart=Okos
+
+# Keys
+of.key.zoom=Zoom
+
+# Message
+of.message.aa.shaders1=Az ÉlsimÃtás nem kompatibilis a shaderekkel.
+of.message.aa.shaders2=Kérlek kapcsold ki a shadereket a beállÃtás bekapcsolásához.
+
+of.message.af.shaders1=Az Anizotróp Szűrés nem kompatibilis a shaderekkel.
+of.message.af.shaders2=Kérlek kapcsold ki a shadereket a beállÃtás bekapcsolásához.
+
+of.message.fr.shaders1=A Gyors Renderelés nem kompatibilis a shaderekkel.
+of.message.fr.shaders2=Kérlek kapcsold ki a shadereket a beállÃtás bekapcsolásához.
+
+of.message.an.shaders1=A Sztereoszkopikus 3D nem kompatibilis a shaderekkel.
+of.message.an.shaders2=Kérlek kapcsold ki a shadereket a beállÃtás bekapcsolásához.
+
+of.message.shaders.aa1=A shaderek nem kompatibilisek az ÉlsimÃtással.
+of.message.shaders.aa2=Kérlek kapcsold MinÅ‘ség -> ÉlsimÃtás-t ki és indÃsd újra a játékot.
+
+of.message.shaders.af1=A shaderek nem kompatibilisek az Anizotróp Szűréssel.
+of.message.shaders.af2=Kérlek kapcsold Minőség -> Anizotróp Szűrés-t ki.
+
+of.message.shaders.fr1=A shaderek nem kompatibilisek a Gyors Rendereléssel.
+of.message.shaders.fr2=Kérlek kapcsold TeljesÃtmény -> Gyors Renderelés-t ki.
+
+of.message.shaders.an1=A shaderek nem kompatibilisek a sztereoszkopikus 3D-vel.
+of.message.shaders.an2=Kérlek kapcsold Egyéb -> Sztereoszkopikus 3D-t ki.
+
+of.message.newVersion=Egy új §eOptiFine§f verzió elérhető: §e%s§f
+of.message.java64Bit=Tudsz telepÃteni §e64-bit Java§f -t a teljesÃtmény növeléséhez.
+of.message.openglError=§eOpenGL Error§f: %s (%s)
+
+of.message.shaders.loading=Shader betöltése: %s
+
+of.message.other.reset=Törli az összes videóbeállÃtást az alapértelmezett értékekre?
+
+# Video settings
+
+options.graphics.tooltip.1=Vizuális minőség
+options.graphics.tooltip.2= Gyors - alacsonyabb minőség, gyorsabb
+options.graphics.tooltip.3= Szép - magasabb minőség, lassabb
+options.graphics.tooltip.4=Megváltoztatja a megjelenését a felhÅ‘knek, leveleknek, vÃznek,
+options.graphics.tooltip.5=árnyékoknak és a fű oldalainak.
+
+of.options.renderDistance.tiny=Apró
+of.options.renderDistance.short=Rövid
+of.options.renderDistance.normal=Normál
+of.options.renderDistance.far=Messzi
+of.options.renderDistance.extreme=Extrém
+
+options.renderDistance.tooltip.1=Látótávolság
+options.renderDistance.tooltip.2= 2 Apró - 32m (leggyorsabb)
+options.renderDistance.tooltip.3= 4 Rövid - 64m (gyorsabb)
+options.renderDistance.tooltip.4= 8 Normál - 128m
+options.renderDistance.tooltip.5= 16 Messzi - 256m (lassabb)
+options.renderDistance.tooltip.6= 32 Extrém - 512m (leglassab!)
+options.renderDistance.tooltip.7=Az Extrém látótávolság nagyon erőforrás igényes!
+options.renderDistance.tooltip.8=Értékek 16 Messzi fölött csak helyi világokban effektÃv.
+
+options.ao.tooltip.1=SimÃtott megvilágÃtás
+options.ao.tooltip.2= KI - Nincs simÃtott megvilágÃtás (gyorsabb)
+options.ao.tooltip.3= Minimum - Egyszerű simÃtott megvilágÃtás (lassabb)
+options.ao.tooltip.4= Maximum - Bonyolult simÃtott megvilágÃtás (leglassab)
+
+options.framerateLimit.tooltip.1=Maximum FPS
+options.framerateLimit.tooltip.2= VSync - A monitor képkocka frissÃtéséhez szabott (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - változó
+options.framerateLimit.tooltip.4= Korlátlan - nincs határ (leggyorsabb)
+options.framerateLimit.tooltip.5=Az FPS korlátozás csökkenti az FPS-t akkor is, ha
+options.framerateLimit.tooltip.6=a korlát érték nincs elérve.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=SimÃtott MegvilágÃtás Szintje
+of.options.AO_LEVEL.tooltip.1=SimÃtott megvilágÃtás szintje
+of.options.AO_LEVEL.tooltip.2= KI - nincsenek árnyékok
+of.options.AO_LEVEL.tooltip.3= 50%% - halvány árnyékok
+of.options.AO_LEVEL.tooltip.4= 100%% - sötét árnyékok
+
+options.viewBobbing.tooltip.1=Valósághűbb mozgás.
+options.viewBobbing.tooltip.2=Amikor MIP-leképzést használsz, kapcsold ki a legjobb eredményekért.
+
+options.guiScale.tooltip.1=GUI Mérete
+options.guiScale.tooltip.2=Kisebb GUI gyorsabb lehet.
+
+options.vbo.tooltip.1=Vertex Buffer Objects
+options.vbo.tooltip.2=Egy alternatÃv renderelési mintát használ, ami általában
+options.vbo.tooltip.3=gyorsabb (5-10%%) az alapértelmezett renderelésnél.
+
+options.gamma.tooltip.1=A sötétebb objektumok fényerejét változtatja
+options.gamma.tooltip.2= Borongós - normál fényerő
+options.gamma.tooltip.3= 1-99%% - változó
+options.gamma.tooltip.4= Fényes - maximum fényerő a sötétebb objektumoknak
+options.gamma.tooltip.5=Ez a beállÃtás nem változtatja a fényerejét a
+options.gamma.tooltip.6=teljesen fekete objektumoknak.
+
+options.anaglyph.tooltip.1=Sztereoszkopikus 3D
+options.anaglyph.tooltip.2=Bekapcsolja a sztereoszopikus 3D effektet különbözÅ‘ szÃnek használatával
+options.anaglyph.tooltip.3=szemenként.
+options.anaglyph.tooltip.4=Vörös-cián szemüveget igényel a megfelelő látásért.
+
+of.options.ALTERNATE_BLOCKS=Váltakozó Blokkok
+of.options.ALTERNATE_BLOCKS.tooltip.1=Váltakozó Blokkok
+of.options.ALTERNATE_BLOCKS.tooltip.2=AlernatÃv blokk mintákat használ egyes blokkokhoz.
+of.options.ALTERNATE_BLOCKS.tooltip.3=A kiválasztott forráscsomagtól függ.
+
+of.options.FOG_FANCY=Köd
+of.options.FOG_FANCY.tooltip.1=Köd tÃpusa
+of.options.FOG_FANCY.tooltip.2= Gyors - gyorsabb köd
+of.options.FOG_FANCY.tooltip.3= Szép - lassabb köd, jobban mutat
+of.options.FOG_FANCY.tooltip.4= KI - nincs köd, leggyorsabb
+of.options.FOG_FANCY.tooltip.5=A szép köd csak akkor elérhető, ha támogatja a
+of.options.FOG_FANCY.tooltip.6=videókártya.
+
+of.options.FOG_START=Köd Kezdete
+of.options.FOG_START.tooltip.1=Köd kezdete
+of.options.FOG_START.tooltip.2= 0.2 - a köd a játékostól közel kezdődik
+of.options.FOG_START.tooltip.3= 0.8 - a köd a játékostól messze kezdődik
+of.options.FOG_START.tooltip.4=Ez a beállÃtás általában nem gyakorol hatást a teljesÃtményre.
+
+of.options.CHUNK_LOADING=Terület Betöltése
+of.options.CHUNK_LOADING.tooltip.1=Terület Betöltése
+of.options.CHUNK_LOADING.tooltip.2= Alapértelmezett - instabil FPS területek betöltésekor
+of.options.CHUNK_LOADING.tooltip.3= Lágy - stabil FPS
+of.options.CHUNK_LOADING.tooltip.4= Kétmagos - stabil FPS, 3x gyorsabb világbetöltés
+of.options.CHUNK_LOADING.tooltip.5=A Lágy és Kétmagos eltávolÃtja az akadozásokat, és
+of.options.CHUNK_LOADING.tooltip.6=a befagyásokat, amit a területbetöltés okoz.
+of.options.CHUNK_LOADING.tooltip.7=A Kétmagos fel tudja gyorsÃtani a világbetöltést a 3x-osára, és
+of.options.CHUNK_LOADING.tooltip.8=képes az FPS növelésére a 2. processzormag használatával.
+of.options.chunkLoading.smooth=Lágy
+of.options.chunkLoading.multiCore=Kétmagos
+
+of.options.shaders=Shaderek...
+of.options.shadersTitle=Ãrnyékok és egyéb finomságok
+
+of.options.shaders.packNone=KI
+of.options.shaders.packDefault=(belső)
+
+of.options.shaders.ANTIALIASING=ÉlsimÃtás
+of.options.shaders.NORMAL_MAP=Normal Map
+of.options.shaders.SPECULAR_MAP=Specular Map
+of.options.shaders.RENDER_RES_MUL=Render Minőség
+of.options.shaders.SHADOW_RES_MUL=Ãrnyék MinÅ‘ség
+of.options.shaders.HAND_DEPTH_MUL=Kézmélység
+of.options.shaders.CLOUD_SHADOW=Felhőárnyék
+of.options.shaders.OLD_HAND_LIGHT=Régi KézmegvilágÃtás
+of.options.shaders.OLD_LIGHTING=Régi MegvilágÃtás
+of.options.shaders.SHADER_PACK=Shader Csomag
+
+of.options.shaders.shadersFolder=Shaderek mappája
+of.options.shaders.shaderOptions=Shader BeállÃtások...
+
+of.options.shaderOptionsTitle=Shader BeállÃtások
+
+of.options.quality=Minőség...
+of.options.qualityTitle=MinÅ‘ségi BeállÃtások
+
+of.options.details=Részletek...
+of.options.detailsTitle=RészletbeállÃtások
+
+of.options.performance=TeljesÃtmény...
+of.options.performanceTitle=TeljesÃtmény BeállÃtások
+
+of.options.animations=Animációk...
+of.options.animationsTitle=Animáció BeállÃtások
+
+of.options.other=Egyéb...
+of.options.otherTitle=Egyéb BeállÃtások
+
+of.options.other.reset=VideóbeállÃtások Törlése...
+
+of.shaders.profile=Profil
+
+# Quality
+
+of.options.mipmap.bilinear=Bilineáris
+of.options.mipmap.linear=Lineáris
+of.options.mipmap.nearest=Legközelebbi
+of.options.mipmap.trilinear=Trilineáris
+
+options.mipmapLevels.tooltip.1=Vizuális effekt, ami a távolabbi dolgokat szebbé teszi
+options.mipmapLevels.tooltip.2=a textúrák részletességének simÃtásával.
+options.mipmapLevels.tooltip.3= KI - nincs simÃtás
+options.mipmapLevels.tooltip.4= 1 - minimum simÃtás
+options.mipmapLevels.tooltip.5= 4 - maximum simÃtás
+options.mipmapLevels.tooltip.6=Ez a beállÃtás általában nem gyakorol hatást a teljesÃtményre.
+
+of.options.MIPMAP_TYPE=MIP-leképzés tÃpusa
+of.options.MIPMAP_TYPE.tooltip.1=Vizuális effekt, ami a távolabbi dolgokat szebbé teszi
+of.options.MIPMAP_TYPE.tooltip.2=a textúrák részletességének simÃtásával.
+of.options.MIPMAP_TYPE.tooltip.3= Legközelebbi - durva simÃtás (leggyorsabb)
+of.options.MIPMAP_TYPE.tooltip.4= Lineáris - normál simÃtás
+of.options.MIPMAP_TYPE.tooltip.5= Bilineáris - finom simÃtás
+of.options.MIPMAP_TYPE.tooltip.6= Trilineáris - legfinomabb simÃtás (leglassabb)
+
+
+of.options.AA_LEVEL=ÉlsimÃtás
+of.options.AA_LEVEL.tooltip.1=ÉlsimÃtás
+of.options.AA_LEVEL.tooltip.2= KI - (alapértelmezett) nincs élsimÃtás (gyorsabb)
+of.options.AA_LEVEL.tooltip.3= 2-16 - élsimÃtott vonalak és élek (lassabb)
+of.options.AA_LEVEL.tooltip.4=Az ÉlsimÃtás kisimÃtja az egyenletlen vonalakat, és
+of.options.AA_LEVEL.tooltip.5=az éles szÃnátmeneteket.
+of.options.AA_LEVEL.tooltip.6=Bekapcsolás esetén lényegesen csökkentheti az FPS-t.
+of.options.AA_LEVEL.tooltip.7=Nem minden szint támogatott egyes videókártyákon.
+of.options.AA_LEVEL.tooltip.8=ÚJRAINDÃTÃS után effektÃv!
+
+of.options.AF_LEVEL=Aniszotróp Szűrés
+of.options.AF_LEVEL.tooltip.1=Anizotróp Szűrés
+of.options.AF_LEVEL.tooltip.2= KI - (alapértelmezett) alap textúra részletesség (gyorsabb)
+of.options.AF_LEVEL.tooltip.3= 2-16 - finomabb részletek a MIP-leképzett textúrákon (lassabb)
+of.options.AF_LEVEL.tooltip.4=Az Anizotróp Szűrés helyreállÃtja a részleteket a
+of.options.AF_LEVEL.tooltip.5=MIP-leképzett textúrákon.
+of.options.AF_LEVEL.tooltip.6=Bekapcsolás esetén lényegesen csökkentheti az FPS-t.
+
+of.options.CLEAR_WATER=Tiszta VÃz
+of.options.CLEAR_WATER.tooltip.1=Tiszta VÃz
+of.options.CLEAR_WATER.tooltip.2= BE - tiszta, átlátszó vÃz
+of.options.CLEAR_WATER.tooltip.3= KI - alapértelmezett vÃz
+
+of.options.RANDOM_MOBS=Véletlenszerű Mobok
+of.options.RANDOM_MOBS.tooltip.1=Véletlenszerű Mobok
+of.options.RANDOM_MOBS.tooltip.2= KI - nincsenek véletlenszerű mobok, gyorsabb
+of.options.RANDOM_MOBS.tooltip.3= BE - véletlenszerű mobok, lassabb
+of.options.RANDOM_MOBS.tooltip.4=A véletlenszerű mobok véletlenszerű textúrákat használ a játék lényeinek.
+of.options.RANDOM_MOBS.tooltip.5=Olyan erőforráscsomagot igényel, amiben vannak dupla mob textúrák .
+
+of.options.BETTER_GRASS=Jobb Fű
+of.options.BETTER_GRASS.tooltip.1=Jobb Fű
+of.options.BETTER_GRASS.tooltip.2= KI - alapértelmezett fű oldaltextúra, leggyorsabb
+of.options.BETTER_GRASS.tooltip.3= Gyors - teljes fű oldaltextúra, lassabb
+of.options.BETTER_GRASS.tooltip.4= Szép - dinamikus fű oldaltextúra, leglassabb
+
+of.options.BETTER_SNOW=Jobb Hó
+of.options.BETTER_SNOW.tooltip.1=Jobb Hó
+of.options.BETTER_SNOW.tooltip.2= KI - alapértelmezett hó, gyorsabb
+of.options.BETTER_SNOW.tooltip.3= BE - jobb hó, lassabb
+of.options.BETTER_SNOW.tooltip.4=Mutatja a havat az átlátszó blokkok alatt (kerÃtés, magas fú),
+of.options.BETTER_SNOW.tooltip.5=amikor hóval van körülvéve.
+
+of.options.CUSTOM_FONTS=Egyéni BetűtÃpus
+of.options.CUSTOM_FONTS.tooltip.1=Egyéni BetűtÃpus
+of.options.CUSTOM_FONTS.tooltip.2= BE - egyéni betűtÃpust használ (alapértelmezett), lassabb
+of.options.CUSTOM_FONTS.tooltip.3= KI - alapértelmezett betűtÃpust használ, gyorsabb
+of.options.CUSTOM_FONTS.tooltip.4=Az egyéni betűtÃpust a jelenlegi forráscsomag
+of.options.CUSTOM_FONTS.tooltip.5=biztosÃtja.
+
+of.options.CUSTOM_COLORS=Egyéni SzÃnek
+of.options.CUSTOM_COLORS.tooltip.1=Egyéni SzÃnek
+of.options.CUSTOM_COLORS.tooltip.2= BE - egyéni szÃneket használ (default), lassabb
+of.options.CUSTOM_COLORS.tooltip.3= KI - alapértelmezett szÃneket használ, gyorsabb
+of.options.CUSTOM_COLORS.tooltip.4=Az egyéni szÃneket a jelenlegi forráscsomag
+of.options.CUSTOM_COLORS.tooltip.5=biztosÃtja.
+
+of.options.SWAMP_COLORS=Mocsár SzÃnek
+of.options.SWAMP_COLORS.tooltip.1=Mocsár SzÃnek
+of.options.SWAMP_COLORS.tooltip.2= BE - mocsárszÃneket használ (alapértelmezett), lassabb
+of.options.SWAMP_COLORS.tooltip.3= KI - nem használ mocsárszÃneket, gyorsabb
+of.options.SWAMP_COLORS.tooltip.4=A mocsár szÃnek a füvet, leveleket, indákat és a vizet érintik.
+
+of.options.SMOOTH_BIOMES=SimÃtott Biomok
+of.options.SMOOTH_BIOMES.tooltip.1=SimÃtott Biomok
+of.options.SMOOTH_BIOMES.tooltip.2= BE - a biome szélek simÃtása (default), lassabb
+of.options.SMOOTH_BIOMES.tooltip.3= KI - nincs simÃtás a biomok szélénél, gyorsabb
+of.options.SMOOTH_BIOMES.tooltip.4=A simÃtás a biomok szélénél mintavétellel, és
+of.options.SMOOTH_BIOMES.tooltip.5=a szÃnek átlagosÃtásával történik a környezÅ‘ blokkokon.
+of.options.SMOOTH_BIOMES.tooltip.6=Érintettek: fű, levelek, indák és a vÃz.
+
+of.options.CONNECTED_TEXTURES=Csatlakozó Textúrák
+of.options.CONNECTED_TEXTURES.tooltip.1=Csatlakozó Textúrák
+of.options.CONNECTED_TEXTURES.tooltip.2= KI - nincsenek csatlakozó textúrák (alapértelmezett)
+of.options.CONNECTED_TEXTURES.tooltip.3= Gyors - gyors csatlakozó textúrák
+of.options.CONNECTED_TEXTURES.tooltip.4= Szép - szép csatlakozó textúrák
+of.options.CONNECTED_TEXTURES.tooltip.5=A csatlakozó textúrák egybeköti az üveget,
+of.options.CONNECTED_TEXTURES.tooltip.6=homokkövet és a könyvespolcokat, ha egymás mellet
+of.options.CONNECTED_TEXTURES.tooltip.7=vannak. Acsatlakozó textúrákat a jelenlegi
+of.options.CONNECTED_TEXTURES.tooltip.8=forráscsomag biztosÃtja.
+
+of.options.NATURAL_TEXTURES=Természetes Textúrák
+of.options.NATURAL_TEXTURES.tooltip.1=Természetes Textúrák
+of.options.NATURAL_TEXTURES.tooltip.2= KI - nincsenek természetes textúrák (alapértelmezett)
+of.options.NATURAL_TEXTURES.tooltip.3= BE - természetes textúrákat használ
+of.options.NATURAL_TEXTURES.tooltip.4=A természetes textúrák eltüntetik a rácsszerű mintázatot,
+of.options.NATURAL_TEXTURES.tooltip.5=amit az azonos tÃpusú irmétlÅ‘dÅ‘ blokkok okoznak.
+of.options.NATURAL_TEXTURES.tooltip.6=A blokkok alaptextúráinak forgatott változatát
+of.options.NATURAL_TEXTURES.tooltip.7=használja. A konfigurációját a természetes textúráknak
+of.options.NATURAL_TEXTURES.tooltip.8=a jelenlegi forráscsomag biztosÃtja.
+
+of.options.CUSTOM_SKY=Egyéni Ég
+of.options.CUSTOM_SKY.tooltip.1=Egyéni Ég
+of.options.CUSTOM_SKY.tooltip.2= BE - egyéni ég textúrák (alapértelmezett), lassú
+of.options.CUSTOM_SKY.tooltip.3= KI - alapértelmezett ég textúrák, gyorsabb
+of.options.CUSTOM_SKY.tooltip.4=Az egyéni ég textúrákat a jelenlegi
+of.options.CUSTOM_SKY.tooltip.5=erÅ‘forráscsomag biztosÃtja.
+
+of.options.CUSTOM_ITEMS=Egyéni Tárgyak
+of.options.CUSTOM_ITEMS.tooltip.1=Egyéni Tárgyak
+of.options.CUSTOM_ITEMS.tooltip.2= BE - egyéni tárgy textúrák (alapértelmezett), lassú
+of.options.CUSTOM_ITEMS.tooltip.3= KI - alapértelmezett tárgy textúrák, gyorsabb
+of.options.CUSTOM_ITEMS.tooltip.4=Az egyéni tárgy textúrákat a jelenlegi
+of.options.CUSTOM_ITEMS.tooltip.5=erÅ‘forráscsomag biztosÃtja.
+
+# Details
+
+of.options.CLOUDS=Felhők
+of.options.CLOUDS.tooltip.1=Felhők
+of.options.CLOUDS.tooltip.2= Alapértelmezett - ahogy az be van állÃtva a Grafikában
+of.options.CLOUDS.tooltip.3= Gyors - alacsonyabb minőség, gyorsabb
+of.options.CLOUDS.tooltip.4= Szép - magasabb minőség, lassabb
+of.options.CLOUDS.tooltip.5= KI - nincsenek felhők, leggyorsabb
+of.options.CLOUDS.tooltip.6=A gyors felhők 2D-sek.
+of.options.CLOUDS.tooltip.7=A szép felhők 3D-sek.
+
+of.options.CLOUD_HEIGHT=Felhőmagasság
+of.options.CLOUD_HEIGHT.tooltip.1=Felhőmagasság
+of.options.CLOUD_HEIGHT.tooltip.2= KI - alapértelmezett magasság
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - a limitált világmagasság felett van
+
+of.options.TREES=Fák
+of.options.TREES.tooltip.1=Fák
+of.options.TREES.tooltip.2= Alapértelmezett - ahogy az be van állÃtva a Grafikában
+of.options.TREES.tooltip.3= Gyors - alacsonyabb minőség, gyorsabb
+of.options.TREES.tooltip.4= Okos - magasabb minőség, gyors
+of.options.TREES.tooltip.5= Szép - legmagasabb minőség, lassabb
+of.options.TREES.tooltip.6=A gyors fáknak átlátszatlan levelei vannak.
+of.options.TREES.tooltip.7=A szép és az okos fáknak átlátszó levelei vannak.
+
+of.options.RAIN=Eső & Hó
+of.options.RAIN.tooltip.1=Eső & Hó
+of.options.RAIN.tooltip.2= Alapértelmezett - ahogy az be van állÃtva a Grafikában
+of.options.RAIN.tooltip.3= Gyors - ritka eső/hó, gyorsabb
+of.options.RAIN.tooltip.4= Szép - sűrű eső/hó, lassabb
+of.options.RAIN.tooltip.5= KI - nincs eső/hó, leggyorsabb
+of.options.RAIN.tooltip.6=Amikor az eső ki van kapcsolva, atól még a fröccsenések
+of.options.RAIN.tooltip.7=és a hangok aktÃvak.
+
+of.options.SKY=Ég
+of.options.SKY.tooltip.1=Ég
+of.options.SKY.tooltip.2= BE - az ég látszik, lassabb
+of.options.SKY.tooltip.3= KI - az ég nem látszik, gyorsabb
+of.options.SKY.tooltip.4=Ha az ég ki van kapcsolva, attól még a nap és a hold látszik.
+
+of.options.STARS=Csillagok
+of.options.STARS.tooltip.1=Csillagok
+of.options.STARS.tooltip.2= BE - a csillagok látszódnak, lassabb
+of.options.STARS.tooltip.3= KI - a csillagok nem látszódnak, gyorsabb
+
+of.options.SUN_MOON=Nap & Hold
+of.options.SUN_MOON.tooltip.1=Nap & Hold
+of.options.SUN_MOON.tooltip.2= BE - a hold és a nap látszik (alapértelmezett)
+of.options.SUN_MOON.tooltip.3= KI - a hold és a nap nem látszik (gyorsabb)
+
+of.options.SHOW_CAPES=Köpeny Mutatása
+of.options.SHOW_CAPES.tooltip.1=Köpeny Mutatása
+of.options.SHOW_CAPES.tooltip.2= BE - mutatja ajátékosok köpenyeit (alapértelmezett)
+of.options.SHOW_CAPES.tooltip.3= KI - nem mutatja ajátékosok köpenyeit
+
+of.options.TRANSLUCENT_BLOCKS=ÃttetszÅ‘ Blokkok
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=ÃttetszÅ‘ Blokkok
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Szép - korrekt szÃnhajlÃtás (alapértelmezett)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Gyors - gyors szÃnhajlÃtás (gyorsabb)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Irányitja a szÃnhajlását az áttetszÅ‘ blokkoknak
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=különbözÅ‘ szÃnekkel (szÃnezett üveg, vÃz, jég),
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=amikor egymás mögé helyezzük őket levegővel közöttük.
+
+of.options.HELD_ITEM_TOOLTIPS=Fogott Tárgytippek
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Fogott Tárgytippek
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= BE - tippet mutat a tartott tárgynál (alapértelmezett)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= KI - nem mutat tippet mutat a tartott tárgynál
+
+of.options.DROPPED_ITEMS=Eldobott Tárgyak
+of.options.DROPPED_ITEMS.tooltip.1=Eldobott Tárgyak
+of.options.DROPPED_ITEMS.tooltip.2= Alapértelmezett - ahogy az be van állÃtva a Grafikában
+of.options.DROPPED_ITEMS.tooltip.3= Gyors - 2D-s eldobott tárgyak, gyorsabb
+of.options.DROPPED_ITEMS.tooltip.4= Szép - 3D-s eldobott tárgyak, lassabb
+
+options.entityShadows.tooltip.1=Entitás Ãrnyékok
+options.entityShadows.tooltip.2= BE - entitás árnyékok mutatása
+options.entityShadows.tooltip.3= KI - entitás árnyékok nem mutatása
+
+of.options.VIGNETTE=Vignette
+of.options.VIGNETTE.tooltip.1=Vizuális effekt, ami kissé elsötétÃti a képernyÅ‘ sarkait
+of.options.VIGNETTE.tooltip.2= Alapértelmezett - ahogy az be van állÃtva a Grafikában (alapértelmezett)
+of.options.VIGNETTE.tooltip.3= Fast - vignette kikapcsolva (gyorsabb)
+of.options.VIGNETTE.tooltip.4= Fancy - vignette bekapcsolva (lassabb)
+of.options.VIGNETTE.tooltip.5=A vignette-nek jelentős nyoma lehet az FPS-en,
+of.options.VIGNETTE.tooltip.6=főleg teljes képernyős módon játszva.
+of.options.VIGNETTE.tooltip.7=A vignette effekt teljesen apró, és nyugodtan
+of.options.VIGNETTE.tooltip.8=kikapcsolható
+
+of.options.DYNAMIC_FOV=Dinamikus FOV
+of.options.DYNAMIC_FOV.tooltip.1=Dinamikus FOV
+of.options.DYNAMIC_FOV.tooltip.2= BE - bekapcsolja a dinamikus FOV-t (alapértelmezett)
+of.options.DYNAMIC_FOV.tooltip.3= KI - kikapcsolja a dinamikus FOV-t
+of.options.DYNAMIC_FOV.tooltip.4=Megváltoztatja a látómezőt (FOV) repülés, futás
+of.options.DYNAMIC_FOV.tooltip.5=vagy Ãjászkodás közben.
+
+of.options.DYNAMIC_LIGHTS=Dinamikus Fények
+of.options.DYNAMIC_LIGHTS.tooltip.1=Dinamikus Fények
+of.options.DYNAMIC_LIGHTS.tooltip.2= KI - nincs dinamikus fény (alapértelmezett)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Gyors - gyors dinamikus fény (frissÃtve minden 500ms-ként)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Szép - szép dinamikus fény (valós idÅ‘ben frissÃtve)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Engedélyezi a fénykibocsájtó tárgyaknak (fáklya, izzókő, stb.),
+of.options.DYNAMIC_LIGHTS.tooltip.6=hogy fényt bocsássanak ki, mikor kézben cipelik,
+of.options.DYNAMIC_LIGHTS.tooltip.7=másik karakter használja, vagy a füldre van dobva.
+
+# Performance
+
+of.options.SMOOTH_FPS=Sima FPS
+of.options.SMOOTH_FPS.tooltip.1=Stabilizálja az FPS-t a grafikus beghajtÅ‘ buffereinek öblÃtésével.
+of.options.SMOOTH_FPS.tooltip.2= KI - nincs stabilizálás, FPS inoghat
+of.options.SMOOTH_FPS.tooltip.3= BE - FPS stabilizáció
+of.options.SMOOTH_FPS.tooltip.4=Ez a beállÃtás grafikus meghajtó függÅ‘, és a hatása
+of.options.SMOOTH_FPS.tooltip.5=nem mindÃg látható.
+
+of.options.SMOOTH_WORLD=Sima Világ
+of.options.SMOOTH_WORLD.tooltip.1=EltávolÃtja a "lagtüskéket", amit a helyi szerver okoz.
+of.options.SMOOTH_WORLD.tooltip.2= OFF - nincs stabilizáció, FPS inoghat
+of.options.SMOOTH_WORLD.tooltip.3= ON - FPS stabilizáció
+of.options.SMOOTH_WORLD.tooltip.4=Stabilizálja az FPS-t, amit a helyi szerver okoz.
+of.options.SMOOTH_WORLD.tooltip.5=Csak helyi világokban effektÃv (egyjátékos mód).
+
+of.options.FAST_RENDER=Gyors Renderelés
+of.options.FAST_RENDER.tooltip.1=Gyors Renderelés
+of.options.FAST_RENDER.tooltip.2= KI - alap renderelés (alapértelmezett)
+of.options.FAST_RENDER.tooltip.3= BE - optimalizált renderelés (gyorsabb)
+of.options.FAST_RENDER.tooltip.4=Optimalizált renderelési algoritmust használ, ami csökkenti
+of.options.FAST_RENDER.tooltip.5=a GPU töltési időt, és lényegesen növelheti az FPS-t.
+
+of.options.FAST_MATH=Gyors Matek
+of.options.FAST_MATH.tooltip.1=Gyors Matek
+of.options.FAST_MATH.tooltip.2= KI - alap matek (alapértelmezett)
+of.options.FAST_MATH.tooltip.3= BE - gyorsabb matek
+of.options.FAST_MATH.tooltip.4=Optimalizált sin() és cos() függvényeket használ, ami jobban
+of.options.FAST_MATH.tooltip.5=hasznosÃtja a CPU gyorsÃtótárat, és növelheti az FPS-t.
+
+of.options.CHUNK_UPDATES=Terület FrissÃtések
+of.options.CHUNK_UPDATES.tooltip.1=Terület FrissÃtések
+of.options.CHUNK_UPDATES.tooltip.2= 1 - lassabb világbetöltés, magasabb FPS (alapértelmezett)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - gyorsabb világbetöltés, alacsonyabb FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - leggyorsabb világbetöltés, legalacsonyabb FPS
+of.options.CHUNK_UPDATES.tooltip.5=Terület frissÃtések száma lerenderelt képkockánként;
+of.options.CHUNK_UPDATES.tooltip.6=magasabb értékek instabilizálhatja az FPS-t.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Dinamikus FrissÃtések
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Dinamikus terület frissÃtések
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= KI - (alapértelmezett) alap területfrissÃtések képkockánként
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= BE - több frissÃtés, amÃg a játékos egy helyben áll
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=A Dinamikus FrissÃtések több területfrissÃtést eröltet, amÃg
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=a játékos egy helyben áll, hogy a világ gyorsabban betöltsön.
+
+of.options.LAZY_CHUNK_LOADING="Lusta Területek" Betöltése
+of.options.LAZY_CHUNK_LOADING.tooltip.1="Lusta Területek" betöltése
+of.options.LAZY_CHUNK_LOADING.tooltip.2= KI - alapértelmezett szerver terület betöltés
+of.options.LAZY_CHUNK_LOADING.tooltip.3= BE - "lusta" szerver terület betöltés (simább)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=SimÃtja az inegrált szerver területbetöltését
+of.options.LAZY_CHUNK_LOADING.tooltip.5=a területek idönközötti "kattogásának" lekötésével.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Kapcsold ki, ha a világ bizonyos részei nem töltenek be megfelelően.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Csak helyi világokban és egymagos CPU esetén effektÃv.
+
+# Animations
+
+of.options.animation.allOn=Mind BE
+of.options.animation.allOff=Mind KI
+of.options.animation.dynamic=Dinamikus
+
+of.options.ANIMATED_WATER=Animált VÃz
+of.options.ANIMATED_LAVA=Animált Láva
+of.options.ANIMATED_FIRE=Animált Tűz
+of.options.ANIMATED_PORTAL=Animált Portál
+of.options.ANIMATED_REDSTONE=Animált Vöröskő
+of.options.ANIMATED_EXPLOSION=Animált Robbanás
+of.options.ANIMATED_FLAME=Animált Lángok
+of.options.ANIMATED_SMOKE=Animált Füst
+of.options.VOID_PARTICLES=Űr Részecskék
+of.options.WATER_PARTICLES=VÃz Részecskék
+of.options.RAIN_SPLASH=Eső Felcsapódás
+of.options.PORTAL_PARTICLES=Portál Részecskék
+of.options.POTION_PARTICLES=Bájital Részecskék
+of.options.DRIPPING_WATER_LAVA=Kicsapó VÃz/Láva
+of.options.ANIMATED_TERRAIN=Animált Terep
+of.options.ANIMATED_TEXTURES=Animált Textúrák
+of.options.FIREWORK_PARTICLES=Tüzijáték Részecskék
+
+# Other
+
+of.options.LAGOMETER=Lagmérő
+of.options.LAGOMETER.tooltip.1=Mutatja a lagmérőt a hibakereső képernyőn (F3).
+of.options.LAGOMETER.tooltip.2=* Orange - Memóriaszemét gyűjtemény
+of.options.LAGOMETER.tooltip.3=* Cyan - "kegyegés"
+of.options.LAGOMETER.tooltip.4=* Blue - Ütemezett végrehajthatók
+of.options.LAGOMETER.tooltip.5=* Purple - Területfeltöltés
+of.options.LAGOMETER.tooltip.6=* Red - Terület frissÃtés
+of.options.LAGOMETER.tooltip.7=* Yellow - Láthatóságfigyelő
+of.options.LAGOMETER.tooltip.8=* Green - Terep renderelése
+
+of.options.PROFILER=Hibakereső Profil
+of.options.PROFILER.tooltip.1=Hibakereső Profil
+of.options.PROFILER.tooltip.2= BE - hibakeresÅ‘ profil aktÃv, lassabb
+of.options.PROFILER.tooltip.3= KI - hibakeresÅ‘ profil nem aktÃv, gyorsabb
+of.options.PROFILER.tooltip.4=A hibakereső profil hibakereső információkat gyűjt, és mutat,
+of.options.PROFILER.tooltip.5=amikor a hibakeresÅ‘ képernyÅ‘ aktÃv (F3)
+
+of.options.WEATHER=Időjárás
+of.options.WEATHER.tooltip.1=Időjárás
+of.options.WEATHER.tooltip.2= BE - az idÅ‘járás aktÃv, lassabb
+of.options.WEATHER.tooltip.3= KI - az idÅ‘járás nem aktÃv, gyorsabb
+of.options.WEATHER.tooltip.4=Az idÅ‘járás irányÃtja az esÅ‘ket, havazásokat, és a viharokat.
+of.options.WEATHER.tooltip.5=Az idÅ‘járás irányÃtása csak helyi világokban lehetséges.
+
+of.options.time.dayOnly=Csak Nappal
+of.options.time.nightOnly=Csak Éjszaka
+
+of.options.TIME=Idő
+of.options.TIME.tooltip.1=Idő
+of.options.TIME.tooltip.2= Alapértelmezett - normális éjjel-nappal körforgás
+of.options.TIME.tooltip.3= Csak Nappal - csak nappal
+of.options.TIME.tooltip.4= Csak Éjszaka - csak éjszaka
+of.options.TIME.tooltip.5=Az IdÅ‘ beállÃtás csak KREATÃV módban,
+of.options.TIME.tooltip.6=és helyi világokban effektÃv.
+
+options.fullscreen.tooltip.1=Teljes Képernyő
+options.fullscreen.tooltip.2= BE - teljes képernyős mód használata
+options.fullscreen.tooltip.3= KI - ablakos mód használata
+options.fullscreen.tooltip.4=A teljes képergyős mód gyorsabb, vagy lassabb lehet, mint
+options.fullscreen.tooltip.5=az ablakos mód a videókártyától függően.
+
+of.options.FULLSCREEN_MODE=Teljes Képernyős Mód
+of.options.FULLSCREEN_MODE.tooltip.1=Teljes Képernyős mód
+of.options.FULLSCREEN_MODE.tooltip.2= Alapértelmezett - asztal méretének használata, lassabb
+of.options.FULLSCREEN_MODE.tooltip.3= WxH - egyéni felbontás használata, lehet gyorsabb
+of.options.FULLSCREEN_MODE.tooltip.4=A kiválasztott felbontás a teljes képernyős módban használatos (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Kisebb felbontások általában gyorsabbak.
+
+of.options.SHOW_FPS=FPS Mutatása
+of.options.SHOW_FPS.tooltip.1=Mutatja a jelenlegi FPS számot, és renderelési információkat
+of.options.SHOW_FPS.tooltip.2= C: - területek renderelése
+of.options.SHOW_FPS.tooltip.3= E: - lerenderelt entitások + blokk entitások
+of.options.SHOW_FPS.tooltip.4= U: - terület frissÃtések
+of.options.SHOW_FPS.tooltip.5=A jeéenlegi FPS információ csak akkor mutatkozik, ha a
+of.options.SHOW_FPS.tooltip.6=a hibakeresési képernyő nem látszik.
+
+of.options.save.default=Alapértelmezett (2mp)
+of.options.save.20s=20mp
+of.options.save.3min=3p
+of.options.save.30min=30p
+
+of.options.AUTOSAVE_TICKS=Auto mentés
+of.options.AUTOSAVE_TICKS.tooltip.1=Az auto mentés intervalluma
+of.options.AUTOSAVE_TICKS.tooltip.2=Az alapértelmezett auto mentés intervallum (2mp) NEM JAVASOLT.
+of.options.AUTOSAVE_TICKS.tooltip.3=Az auto mentés okozza a hÃres "Halál lagtüskéjét" famous Lag Spike of Death.
+
+options.anaglyph.tooltip.1=A 3D mód piros-cián szemüveggel használatos.
diff --git a/src/main/resources/assets/minecraft/optifine/lang/ja_JP.lang b/src/main/resources/assets/minecraft/optifine/lang/ja_JP.lang
new file mode 100644
index 00000000..ae1bba52
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/ja_JP.lang
@@ -0,0 +1,591 @@
+# Contributors of Japanese localization #
+# takanasayo 2012-12-01 ---- 2013-07-15
+# CrafterKina 2014-01-04 ---- 2017-01-28
+
+# General
+of.general.ambiguous=ä¸æ˜Žç¢º
+of.general.custom=カスタãƒ
+of.general.from=ã‹ã‚‰
+of.general.id=ID
+of.general.restart=å†èµ·å‹•
+of.general.smart=スマート
+
+# Keys
+of.key.zoom=ズーãƒ
+
+# Message
+of.message.aa.shaders1=アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã¯ã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã¨å…±å˜ã§ãã¾ã›ã‚“。
+of.message.aa.shaders2=ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã«ã¯ã€ã‚·ã‚§ãƒ¼ãƒ€ã‚’無効ã«ã—ã¦ãã ã•ã„。
+
+of.message.af.shaders1=異方性フィルタリングã¯ã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã¨å…±å˜ã§ãã¾ã›ã‚“。
+of.message.af.shaders2=ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã«ã¯ã€ã‚·ã‚§ãƒ¼ãƒ€ã‚’無効ã«ã—ã¦ãã ã•ã„。
+
+of.message.fr.shaders1=æç”»ã®æœ€é©åŒ–ã¯ã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã¨å…±å˜ã§ãã¾ã›ã‚“。
+of.message.fr.shaders1=ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã«ã¯ã€ã‚·ã‚§ãƒ¼ãƒ€ã‚’無効ã«ã—ã¦ãã ã•ã„。
+
+of.message.an.shaders1=3Dアナグリフã¯ã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã¨å…±å˜ã§ãã¾ã›ã‚“。
+of.message.an.shaders2=ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã«ã¯ã€ã‚·ã‚§ãƒ¼ãƒ€ã‚’無効ã«ã—ã¦ãã ã•ã„。
+
+of.message.shaders.aa1=シェーダーã¯ã‚¢ãƒ³ãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã¨å…±å˜ã§ãã¾ã›ã‚“。
+of.message.shaders.aa2=å“質ã®è¨å®š → アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹ をオフã«ã—ã€ã‚²ãƒ¼ãƒ ã‚’å†èµ·å‹•ã—ã¦ãã ã•ã„。
+
+of.message.shaders.af1=シェーダーã¯ç•°æ–¹æ€§ãƒ•ã‚£ãƒ«ã‚¿ãƒªãƒ³ã‚°ã¨å…±å˜ã§ãã¾ã›ã‚“。
+of.message.shaders.af2=å“質ã®è¨å®š → 異方性フィルタリング をオフã«ã—ã¦ãã ã•ã„。
+
+of.message.shaders.fr1=シェーダーã¯æç”»ã®æœ€é©åŒ–ã¨å…±å˜ã§ãã¾ã›ã‚“。
+of.message.shaders.fr2=演出ã®è¨å®š → æç”»ã®æœ€é©åŒ– をオフã«ã—ã¦ãã ã•ã„。
+
+of.message.shaders.an1=シェーダーã¯3Dアナグリフã¨å…±å˜ã§ãã¾ã›ã‚“。
+of.message.shaders.an2=ãã®ä»–ã®è¨å®š → 3Dアナグリフ をオフã«ã—ã¦ãã ã•ã„。
+
+of.message.newVersion=æ–°ã—ㄧeOptiFine§fãŒå…¬é–‹ã•ã‚Œã¾ã—ãŸï¼šÂ§e%s§f
+of.message.java64Bit=パフォーマンスを高ã‚ã‚‹ãŸã‚ã«Â§e64-bit Java§fãŒåˆ©ç”¨ã§ãã¾ã™ã€‚
+of.message.openglError=§eOpenGLエラー§f:%s(%s)
+
+of.message.shaders.loading=シェーダーをãƒãƒ¼ãƒ‰ä¸ï¼š%s
+
+of.message.other.reset=å…¨ã¦ã®è¨å®šã‚’å…ƒã®çŠ¶æ…‹ã«æˆ»ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ
+
+of.message.loadingVisibleChunks=å¯è¦–ãƒãƒ£ãƒ³ã‚¯ã‚’èªã¿è¾¼ã¿ä¸
+
+# Video settings
+
+options.graphics.tooltip.1=グラフィックス
+options.graphics.tooltip.2= 処ç†å„ªå…ˆ - 低å“è³ªã€ ä½Žè² è·
+options.graphics.tooltip.3= æ画優先 - 高å“è³ªã€ é«˜è² è·
+options.graphics.tooltip.4=葉ã®é€éŽã€ã‚¢ã‚¤ãƒ†ãƒ ã‚„Mobã®å½±ã€ãƒ‰ãƒãƒƒãƒ—アイテムã®3Dæ写ã€
+options.graphics.tooltip.5=厚ã¿ã®ã‚る雲ã€æ°´ã®2パスレンダリングã€ã¨ã„ã£ãŸã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯åŠ¹æžœã‚’変更ã—ã¾ã™ã€‚
+
+of.options.renderDistance.tiny=最çŸ
+of.options.renderDistance.short=çŸã„
+of.options.renderDistance.normal=普通
+of.options.renderDistance.far=é ã„
+of.options.renderDistance.extreme=最é
+
+options.renderDistance.tooltip.1=æç”»è·é›¢
+options.renderDistance.tooltip.2= 2 æœ€çŸ - 32mï¼ˆã‚ˆã‚Šä½Žè² è·ï¼‰
+options.renderDistance.tooltip.3= 4 çŸã„ - 64mï¼ˆä½Žè² è·ï¼‰
+options.renderDistance.tooltip.4= 8 普通 - 128m
+options.renderDistance.tooltip.5= 16 é ã„ - 256mï¼ˆé«˜è² è·ï¼‰
+options.renderDistance.tooltip.6= 32 最é - 512mï¼ˆè¶…é«˜è² è·ï¼ï¼‰
+options.renderDistance.tooltip.7=最é è¨å®šã¯éžå¸¸ã«é«˜ã„グラフィックス性能をè¦æ±‚ã—ã¾ã™ï¼
+options.renderDistance.tooltip.8=é ã„を超ãˆã‚‹æç”»è·é›¢ã¯ã‚·ãƒ³ã‚°ãƒ«ã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã§ã®ã¿åŠ¹æžœãŒã‚ã‚Šã¾ã™ã€‚
+
+options.ao.tooltip.1=スムースライティング
+options.ao.tooltip.2= オフ - スムースライティングを使用ã—ãªã„ï¼ˆä½Žè² è·ï¼‰
+options.ao.tooltip.3= æœ€å° - å˜ç´”ãªã‚¹ãƒ ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ†ã‚£ãƒ³ã‚°ï¼ˆé«˜è² è·ï¼‰
+options.ao.tooltip.4= 最大 - 複雑ãªã‚¹ãƒ ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ†ã‚£ãƒ³ã‚°ï¼ˆæœ€é«˜è² è·ï¼‰
+
+options.framerateLimit.tooltip.1=最大ã®ãƒ•ãƒ¬ãƒ¼ãƒ レート
+options.framerateLimit.tooltip.2= åž‚ç›´åŒæœŸ - モニターã®ãƒ•ãƒ¬ãƒ¼ãƒ レートã«åˆã‚ã›ã‚‹ï¼ˆ60, 30, 20)
+options.framerateLimit.tooltip.3= 5~255 - フレームレートをè¨å®šã—ãŸå€¤ã¾ã§ã«åˆ¶é™ã™ã‚‹
+options.framerateLimit.tooltip.4= ç„¡åˆ¶é™ - フレームレートを制é™ã—ãªã„ï¼ˆæœ€ä½Žè² è·ï¼‰
+options.framerateLimit.tooltip.5=ãŸã¨ãˆåˆ¶é™ã«é”ã—ã¦ã„ãªãã¨ã‚‚ã€
+options.framerateLimit.tooltip.6=フレームレートを抑制ã—ã¾ã™ã€‚
+of.options.framerateLimit.vsync=åž‚ç›´åŒæœŸ
+
+of.options.AO_LEVEL=スムースライティングã®ç¨‹åº¦
+of.options.AO_LEVEL.tooltip.1=スムースライティングã®ç¨‹åº¦
+of.options.AO_LEVEL.tooltip.2= オフ - å½±ãªã—
+of.options.AO_LEVEL.tooltip.3= 50%% - 明るã„å½±
+of.options.AO_LEVEL.tooltip.4= 100%% - æš—ã„å½±
+
+options.viewBobbing.tooltip.1=よりç¾å®Ÿçš„ãªå‹•ã
+options.viewBobbing.tooltip.2=ミップマップをオフã«ã—ãŸæ™‚ã«æœ€ã‚‚よã„çµæžœãŒå‡ºã¾ã™ã€‚
+
+options.guiScale.tooltip.1=GUIã®å¤§ãã•
+options.guiScale.tooltip.2= 自動 - 最大サイズ
+options.guiScale.tooltip.3= å°ã•ã„,普通,大ãã„ - 一å€ã‹ã‚‰ä¸‰å€
+options.guiScale.tooltip.4= 4x ã‹ã‚‰ 10x - 4kç”»é¢ã§æœ‰åŠ¹
+options.guiScale.tooltip.5=å¥‡æ•°å€ (1x, 3x, 5x ...) ã¯Unicodeã¨äº’æ›ãŒã‚ã‚Šã¾ã›ã‚“。
+options.guiScale.tooltip.6=GUIã¯å°ã•ã„ã»ã†ãŒå‡¦ç†ãŒé€Ÿããªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+
+options.vbo.tooltip.1=é ‚ç‚¹ãƒãƒƒãƒ•ã‚¡ã‚ªãƒ–ジェクト
+options.vbo.tooltip.2=æ画方å¼ã‚’æ–°ã—ã„ã‚‚ã®ã«å¤‰æ›´ã—ã€
+options.vbo.tooltip.3=5~10%%処ç†ã‚’軽ãã§ãã¾ã™ã€‚
+
+options.gamma.tooltip.1=æš—ã„物体ã®æ˜Žã‚‹ã•ã®å¤‰æ›´
+options.gamma.tooltip.2= æš—ã„ - 通常ã®æ˜Žã‚‹ã•
+options.gamma.tooltip.3= 1~99%% - 明るã•ã‚’調整ã™ã‚‹
+options.gamma.tooltip.4= 明るㄠ- 最大ã®æ˜Žã‚‹ã•
+options.gamma.tooltip.5=完全ã«çœŸã£æš—ãªç‰©ä½“ã®æ˜Žã‚‹ã•ã¯ã€
+options.gamma.tooltip.6=変更ã§ãã¾ã›ã‚“。
+
+options.anaglyph.tooltip.1=3Dアナグリフ
+options.anaglyph.tooltip.2=ãã‚Œãžã‚Œã®ç›®ã«åˆ¥ã€…ã®è‰²ã‚’使ã†ã“ã¨ã§
+options.anaglyph.tooltip.3=立体視をå¯èƒ½ã«ã™ã‚‹æ©Ÿèƒ½ã‚’有効ã«ã—ã¾ã™ã€‚
+options.anaglyph.tooltip.4=赤é’3DメガãƒãŒå¿…è¦ã§ã™ã€‚
+
+options.blockAlternatives.tooltip.1=代替ブãƒãƒƒã‚¯
+options.blockAlternatives.tooltip.2=å¹¾ã¤ã‹ã®ãƒ–ãƒãƒƒã‚¯ã§ä»£æ›¿ãƒ¢ãƒ‡ãƒ«ã‚’使用ã—ã¾ã™ã€‚
+options.blockAlternatives.tooltip.3=é¸æŠžã•ã‚ŒãŸãƒªã‚½ãƒ¼ã‚¹ãƒ‘ックã«ä¾å˜ã—ã¾ã™ã€‚
+
+of.options.ALTERNATE_BLOCKS=代替ブãƒãƒƒã‚¯
+of.options.ALTERNATE_BLOCKS.tooltip.1=代替ブãƒãƒƒã‚¯ã®è¨å®š
+of.options.ALTERNATE_BLOCKS.tooltip.2=å¹¾ã¤ã‹ã®ãƒ–ãƒãƒƒã‚¯ã§ä»£æ›¿ãƒ¢ãƒ‡ãƒ«ã‚’使用ã—ã¾ã™ã€‚
+of.options.ALTERNATE_BLOCKS.tooltip.3=é¸æŠžã•ã‚ŒãŸãƒªã‚½ãƒ¼ã‚¹ãƒ‘ックã«ä¾å˜ã—ã¾ã™ã€‚
+
+of.options.FOG_FANCY=霧ã®ç¨®é¡ž
+of.options.FOG_FANCY.tooltip.1=霧ã®ç¨®é¡žã®è¨å®š
+of.options.FOG_FANCY.tooltip.2= 処ç†å„ªå…ˆ - ä½Žè² è·ãªéœ§
+of.options.FOG_FANCY.tooltip.3= æ画優先 - é«˜è² è·ãªéœ§ より良ã見ãˆã‚‹
+of.options.FOG_FANCY.tooltip.4= オフ - 霧ãªã— æœ€ä½Žè² è·
+of.options.FOG_FANCY.tooltip.5=グラフィックカードãŒå¯¾å¿œã—ã¦ã„ã‚‹å ´åˆã®ã¿
+of.options.FOG_FANCY.tooltip.6=美麗ãªéœ§ã‚’使用ã§ãã¾ã™ã€‚
+
+of.options.FOG_START=霧ã®è·é›¢
+of.options.FOG_START.tooltip.1=プレイヤーã¨éœ§ã®è·é›¢ã®è¨å®š
+of.options.FOG_START.tooltip.2= 0.2 - プレイヤーã¨éœ§ã®è·é›¢ã‚’最も近ãã™ã‚‹
+of.options.FOG_START.tooltip.3= 0.8 - プレイヤーã¨éœ§ã®è·é›¢ã‚’最もé ãã™ã‚‹
+of.options.FOG_START.tooltip.4=ã“ã®è¨å®šã¯å¤§æŠµã®å ´åˆãƒ‘フォーマンスã«å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。
+
+of.options.CHUNK_LOADING=ãƒãƒ£ãƒ³ã‚¯èªè¾¼æ–¹æ³•
+of.options.CHUNK_LOADING.tooltip.1=ãƒãƒ£ãƒ³ã‚¯ã®èªã¿è¾¼ã¿æ–¹æ³•
+of.options.CHUNK_LOADING.tooltip.2= デフォルト - ãƒãƒ£ãƒ³ã‚¯ãƒãƒ¼ãƒ‰æ™‚ã€FPSã¯å®‰å®šã—ãªã„。
+of.options.CHUNK_LOADING.tooltip.3= 滑ら㋠- フレームレート低下を抑制。
+of.options.CHUNK_LOADING.tooltip.4= マルãƒã‚³ã‚¢ - フレームレートã®ã•ã‚‰ãªã‚‹å®‰å®šåŒ– ワールドã®ãƒãƒ¼ãƒ‰å‡¦ç†ãŒä¸‰å€ã»ã©é€Ÿããªã‚‹ã€‚
+of.options.CHUNK_LOADING.tooltip.5=滑らã‹ã‚„マルãƒã‚³ã‚¢ã§ã‚ã‚Œã°ã€ãƒãƒ£ãƒ³ã‚¯ãƒãƒ¼ãƒ‰ã«èµ·å› ã™ã‚‹
+of.options.CHUNK_LOADING.tooltip.6=カクã¤ãã¨ãƒ•ãƒªãƒ¼ã‚ºã‚’除ã‘ã¾ã™ã€‚
+of.options.CHUNK_LOADING.tooltip.7=マルãƒã‚³ã‚¢ã§ã¯äºŒç•ªç›®ã®CPUを用ã„ã‚‹ã“ã¨ã§ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ãƒãƒ¼ãƒ‰å‡¦ç†ãŒ
+of.options.CHUNK_LOADING.tooltip.8=三å€ã»ã©é€Ÿãã§ãã€FPSも改善ã§ãã¾ã™ã€‚
+of.options.chunkLoading.smooth=滑らã‹
+of.options.chunkLoading.multiCore=マルãƒã‚³ã‚¢
+
+of.options.shaders=シェーダーã®è©³ç´°è¨å®š...
+of.options.shadersTitle=シェーダーã®è©³ç´°è¨å®š
+
+of.options.shaders.packNone=ãªã—
+of.options.shaders.packDefault=(内部シェーダー)
+
+of.options.shaders.ANTIALIASING=アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹å‡¦ç†
+of.options.shaders.NORMAL_MAP=法線マッピング
+of.options.shaders.SPECULAR_MAP=é¡é¢å射マッピング
+of.options.shaders.RENDER_RES_MUL=æç”»ã®å“質
+of.options.shaders.SHADOW_RES_MUL=é™°å½±ã®å“質
+of.options.shaders.HAND_DEPTH_MUL=手部被写界深度
+of.options.shaders.CLOUD_SHADOW=雲ã®å½±
+of.options.shaders.OLD_HAND_LIGHT=å¤ã„手æŒã¡å…‰æº
+of.options.shaders.OLD_LIGHTING=å¤ã„ライティング
+of.options.shaders.SHADER_PACK=シェーダーパック
+
+of.options.shaders.shadersFolder=シェーダーã®ãƒ•ã‚©ãƒ«ãƒ€ãƒ¼
+of.options.shaders.shaderOptions=シェーダーã®ã‚ªãƒ—ションè¨å®š...
+
+of.options.shaderOptionsTitle=シェーダーã®ã‚ªãƒ—ションè¨å®š
+
+of.options.quality=å“質ã®è¨å®š...
+of.options.qualityTitle=å“質
+
+of.options.details=細部ã®è¨å®š...
+of.options.detailsTitle=細部
+
+of.options.performance=演出ã®è¨å®š...
+of.options.performanceTitle=演出
+
+of.options.animations=アニメーションã®è¨å®š...
+of.options.animationsTitle=アニメーション
+
+of.options.other=ãã®ä»–ã®è¨å®š...
+of.options.otherTitle=ãã®ä»–
+
+of.options.other.reset=ビデオè¨å®šã‚’åˆæœŸåŒ–ã™ã‚‹...
+
+of.shaders.profile=プãƒãƒ•ã‚¡ã‚¤ãƒ«
+
+# Quality
+
+of.options.mipmap.bilinear=ãƒã‚¤ãƒªãƒ‹ã‚¢è£œé–“
+of.options.mipmap.linear=線形補間
+of.options.mipmap.nearest=ニアレストãƒã‚¤ãƒãƒ¼è£œé–“
+of.options.mipmap.trilinear=トライリニア補間
+
+options.mipmapLevels.tooltip.1=é ãã®ç‰©ä½“ã«ãŠã‘る視覚効果を
+options.mipmapLevels.tooltip.2=テクスãƒãƒ£ã®ã‚¹ãƒ ージングã«ã‚ˆã£ã¦æ”¹å–„ã—ã¾ã™ã€‚
+options.mipmapLevels.tooltip.3= オフ - スムージングを行ã‚ãªã„
+options.mipmapLevels.tooltip.4= 1 - 最å°é™ã®ã‚¹ãƒ ージング
+options.mipmapLevels.tooltip.5= 4 - 最大é™ã®ã‚¹ãƒ ージング
+options.mipmapLevels.tooltip.6=ã“ã®è¨å®šã¯å¤§æŠµã®å ´åˆãƒ‘フォーマンスã«å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。
+
+of.options.MIPMAP_TYPE=ミップマップã®ç¨®é¡ž
+of.options.MIPMAP_TYPE.tooltip.1=é ãã®ç‰©ä½“ã«ãŠã‘る視覚効果を
+of.options.MIPMAP_TYPE.tooltip.2=テクスãƒãƒ£ã®ã‚¹ãƒ ージングã«ã‚ˆã£ã¦æ”¹å–„ã—ã¾ã™ã€‚
+of.options.MIPMAP_TYPE.tooltip.3= ニアレストãƒã‚¤ãƒãƒ¼è£œé–“ - ãŠãŠã¾ã‹ãªã‚¹ãƒ ãƒ¼ã‚¸ãƒ³ã‚°ï¼ˆä½Žè² è·ï¼‰
+of.options.MIPMAP_TYPE.tooltip.4= 線形補間 - 通常ã®ã‚¹ãƒ ージング
+of.options.MIPMAP_TYPE.tooltip.5= ãƒã‚¤ãƒªãƒ‹ã‚¢è£œé–“ - 繊細ãªã‚¹ãƒ ージング
+of.options.MIPMAP_TYPE.tooltip.6= トライリニア補間 - 最高級ã®ã‚¹ãƒ ãƒ¼ã‚¸ãƒ³ã‚°ï¼ˆé«˜è² è·ï¼‰
+
+of.options.AA_LEVEL=アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹
+of.options.AA_LEVEL.tooltip.1=アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹
+of.options.AA_LEVEL.tooltip.2= オフ - (通常) 輪éƒã®ã‚®ã‚¶ã‚®ã‚¶è»½æ¸›ã‚’è¡Œã‚ãªã„ï¼ˆä½Žè² è·ï¼‰
+of.options.AA_LEVEL.tooltip.3= 2~16 - 輪éƒã®ã‚®ã‚¶ã‚®ã‚¶è»½æ¸›ã‚’è¡Œã†ï¼ˆé«˜è² è·ï¼‰
+of.options.AA_LEVEL.tooltip.4=輪éƒã®ã‚®ã‚¶ã‚®ã‚¶ã‚„シャープãªè‰²ã®å¤‰åŒ–ã«
+of.options.AA_LEVEL.tooltip.5=アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’è¡Œã„ã¾ã™ã€‚
+of.options.AA_LEVEL.tooltip.6=有効化ã™ã‚‹ã¨å®Ÿè³ªçš„ãªFPSã¯ä¸‹ãŒã‚Šã¾ã™ã€‚
+of.options.AA_LEVEL.tooltip.7=ã™ã¹ã¦ã®ãƒ¬ãƒ™ãƒ«ãŒã™ã¹ã¦ã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+of.options.AA_LEVEL.tooltip.8=å†èµ·å‹•å¾Œã«æœ‰åŠ¹åŒ–ã•ã‚Œã¾ã™ï¼
+
+of.options.AF_LEVEL=異方性フィルタリング
+of.options.AF_LEVEL.tooltip.1=異方性フィルタリング
+of.options.AF_LEVEL.tooltip.2= オフ - 通常ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£æç”»ï¼ˆä½Žè² è·ï¼‰
+of.options.AF_LEVEL.tooltip.3= 2~16 - 滑らã‹ãªãƒ†ã‚¯ã‚¹ãƒãƒ£æç”»ï¼ˆé«˜è² è·ï¼‰
+of.options.AF_LEVEL.tooltip.4=ミップマップã•ã‚ŒãŸãƒ†ã‚¯ã‚¹ãƒãƒ£ã«ãŠã„ã¦ã€
+of.options.AF_LEVEL.tooltip.5=ã¡ã‚‰ã¤ãを抑ãˆã¾ã™ã€‚
+of.options.AF_LEVEL.tooltip.6=有効化ã™ã‚‹ã¨å®Ÿè³ªçš„ã«FPSã¯ä¸‹ãŒã‚Šã¾ã™ã€‚
+
+of.options.CLEAR_WATER=æ°´ã®é€éŽ
+of.options.CLEAR_WATER.tooltip.1=æ°´ã®é€éŽ
+of.options.CLEAR_WATER.tooltip.2= オン - ã™ã£ãã‚Šã¨ã—ãŸé€æ˜Žãªæ°´
+of.options.CLEAR_WATER.tooltip.3= オフ - 普通ã®æ°´
+
+of.options.RANDOM_MOBS=Random Mobs
+of.options.RANDOM_MOBS.tooltip.1=Random Mobs
+of.options.RANDOM_MOBS.tooltip.2= オフ - Mobã«ãƒ©ãƒ³ãƒ€ãƒ ãªãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’é©å¿œã—ãªã„ ä½Žè² è·
+of.options.RANDOM_MOBS.tooltip.3= オン - Mobã«ãƒ©ãƒ³ãƒ€ãƒ ãªãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’é©å¿œã™ã‚‹ é«˜è² è·
+of.options.RANDOM_MOBS.tooltip.4=Random mobsã¯ãƒ©ãƒ³ãƒ€ãƒ ãªãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’生物ã«é©ç”¨ã—ã¾ã™ã€‚
+of.options.RANDOM_MOBS.tooltip.5=複数ã®Mobテクスãƒãƒ£ã‚’å«ã‚€ãƒªã‚½ãƒ¼ã‚¹ãƒ‘ックãŒå¿…è¦ã§ã™ã€‚
+
+of.options.BETTER_GRASS=より良ã„èŠç”Ÿ
+of.options.BETTER_GRASS.tooltip.1=より良ã„èŠç”Ÿ
+of.options.BETTER_GRASS.tooltip.2= オフ - 通常ã®å´é¢ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’使用ã™ã‚‹ ä½Žè² è·
+of.options.BETTER_GRASS.tooltip.3= 処ç†å„ªå…ˆ - å´é¢ã‚‚è‰ã§è¦†ã† é«˜è² è·
+of.options.BETTER_GRASS.tooltip.4= æ画優先 - è‰ãƒ–ãƒãƒƒã‚¯ã¨ç¹‹ãŒã‚‹ã‚ˆã†ã«å´é¢ã‚’è‰ã§è¦†ã† æœ€é«˜è² è·
+
+of.options.BETTER_SNOW=より良ã„雪
+of.options.BETTER_SNOW.tooltip.1=より良ã„雪
+of.options.BETTER_SNOW.tooltip.2= オフ - 通常ã®é›ª ä½Žè² è·
+of.options.BETTER_SNOW.tooltip.3= オン - より良ã„雪 é«˜è² è·
+of.options.BETTER_SNOW.tooltip.4=隣接ã—ãŸãƒ–ãƒãƒƒã‚¯ã«é›ªãŒç©ã‚‚ã£ã¦ã„ã‚‹ã‚‚ã®ãŒã‚ã£ãŸæ™‚ã«
+of.options.BETTER_SNOW.tooltip.5=é€éŽæ€§ã®ã‚るブãƒãƒƒã‚¯ï¼ˆãƒ•ã‚§ãƒ³ã‚¹ï¼Œ 背ã®é«˜ã„è‰ï¼‰ã®ä¸‹ã§ã‚‚雪をæç”»ã—ã¾ã™ã€‚
+
+of.options.CUSTOM_FONTS=カスタムフォント
+of.options.CUSTOM_FONTS.tooltip.1=カスタムフォント
+of.options.CUSTOM_FONTS.tooltip.2= オン - カスタムフォントを使ã†ï¼ˆé€šå¸¸ï¼‰ é«˜è² è·
+of.options.CUSTOM_FONTS.tooltip.3= オフ - デフォルトã®ãƒ•ã‚©ãƒ³ãƒˆã‚’ä½¿ã† ä½Žè² è·
+of.options.CUSTOM_FONTS.tooltip.4=カスタムフォントã¯ç¾åœ¨ä½¿ç”¨ä¸ã®
+of.options.CUSTOM_FONTS.tooltip.5=リソースパックã«ä¾å˜ã—ã¾ã™ã€‚
+
+of.options.CUSTOM_COLORS=カスタムカラー
+of.options.CUSTOM_COLORS.tooltip.1=カスタムカラー
+of.options.CUSTOM_COLORS.tooltip.2= オン - カスタムカラーを使ã†ï¼ˆé€šå¸¸ï¼‰ é«˜è² è·
+of.options.CUSTOM_COLORS.tooltip.3= オフ - デフォルトã®è‰²ã‚’ä½¿ã† ä½Žè² è·
+of.options.CUSTOM_COLORS.tooltip.4=カスタムカラーã¯ç¾åœ¨ä½¿ç”¨ä¸ã®
+of.options.CUSTOM_COLORS.tooltip.5=リソースパックã«ä¾å˜ã—ã¾ã™ã€‚
+
+of.options.SWAMP_COLORS=湿地帯色
+of.options.SWAMP_COLORS.tooltip.1=湿地帯色
+of.options.SWAMP_COLORS.tooltip.2= オン - æ¹¿åœ°å¸¯è‰²ã‚’ä½¿ã† é«˜è² è·
+of.options.SWAMP_COLORS.tooltip.3= オフ - 湿地帯色を使ã‚ãªã„ ä½Žè² è·
+of.options.SWAMP_COLORS.tooltip.4=湿地帯色ã¯è‰ï¼Œè‘‰ï¼Œè”¦ï¼Œæ°´ã«å½±éŸ¿ã‚’与ãˆã¾ã™ã€‚
+
+of.options.SMOOTH_BIOMES=ãƒã‚¤ã‚ªãƒ¼ãƒ を滑らã‹ã«è¡¨ç¤º
+of.options.SMOOTH_BIOMES.tooltip.1=ãƒã‚¤ã‚ªãƒ¼ãƒ を滑らã‹ã«è¡¨ç¤º
+of.options.SMOOTH_BIOMES.tooltip.2= オン - ãƒã‚¤ã‚ªãƒ¼ãƒ ã®å¢ƒç•Œã‚’滑らã‹ã«ã™ã‚‹ï¼ˆé€šå¸¸ï¼‰ é«˜è² è·
+of.options.SMOOTH_BIOMES.tooltip.3= オフ - ãƒã‚¤ã‚ªãƒ¼ãƒ ã®å¢ƒç•Œã‚’滑らã‹ã«ã—ãªã„ ä½Žè² è·
+of.options.SMOOTH_BIOMES.tooltip.4=周囲ã®è‰²ã®å¹³å‡ã‚’ã¨ã£ã¦
+of.options.SMOOTH_BIOMES.tooltip.5=ãƒã‚¤ã‚ªãƒ¼ãƒ é–“ã®å¢ƒç•Œã‚’滑らã‹ã«ã—ã¾ã™ã€‚
+of.options.SMOOTH_BIOMES.tooltip.6=è‰ï¼Œè‘‰ï¼Œè”¦ï¼Œæ°´ã«å½±éŸ¿ã‚’与ãˆã¾ã™ã€‚
+
+of.options.CONNECTED_TEXTURES=継ãŽç›®ãªã„テクスãƒãƒ£
+of.options.CONNECTED_TEXTURES.tooltip.1=継ãŽç›®ãªã„テクスãƒãƒ£
+of.options.CONNECTED_TEXTURES.tooltip.2= オフ - テクスãƒãƒ£ã®ç¶™ãŽç›®ã‚’ãªãã•ãªã„(通常)
+of.options.CONNECTED_TEXTURES.tooltip.3= 処ç†å„ªå…ˆ - 処ç†å„ªå…ˆã§ãƒ†ã‚¯ã‚¹ãƒãƒ£ã®ç¶™ãŽç›®ã‚’ãªãã™
+of.options.CONNECTED_TEXTURES.tooltip.4= æ画優先 - æ画優先ã§ãƒ†ã‚¯ã‚¹ãƒãƒ£ã®ç¶™ãŽç›®ã‚’ãªãã™
+of.options.CONNECTED_TEXTURES.tooltip.5=è‰ã€ç ‚岩ã€æœ¬æ£šã§éš£ã‚Šåˆã£ãŸã‚‚ã®ã‚’
+of.options.CONNECTED_TEXTURES.tooltip.6=ã¤ãªãŽã‚ã‚ã›ã¦è¡¨ç¤ºã—ã¾ã™ã€‚
+of.options.CONNECTED_TEXTURES.tooltip.7=ã¤ãªãŒã£ãŸçŠ¶æ…‹ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯ç¾åœ¨ä½¿ç”¨ä¸ã®
+of.options.CONNECTED_TEXTURES.tooltip.8=リソースパックã«ä¾å˜ã—ã¾ã™ã€‚
+
+of.options.NATURAL_TEXTURES=自然ãªãƒ†ã‚¯ã‚¹ãƒãƒ£
+of.options.NATURAL_TEXTURES.tooltip.1=自然ãªãƒ†ã‚¯ã‚¹ãƒãƒ£
+of.options.NATURAL_TEXTURES.tooltip.2= オフ - 自然ãªãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’使用ã—ãªã„(通常)
+of.options.NATURAL_TEXTURES.tooltip.3= オン - 自然ãªãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’使用ã™ã‚‹
+of.options.NATURAL_TEXTURES.tooltip.4=ブãƒãƒƒã‚¯ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ãŒåŒã˜å½¢ã‚’ç¹°ã‚Šè¿”ã—ã€
+of.options.NATURAL_TEXTURES.tooltip.5=æ ¼å状ã®æ¨¡æ§˜ãŒå½¢æˆã•ã‚Œã‚‹ç¾è±¡ã‚’除去ã—ã¾ã™ã€‚
+of.options.NATURAL_TEXTURES.tooltip.6=基ã¨ãªã‚‹ãƒ–ãƒãƒƒã‚¯ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’回転ã—ãŸã‚Šè£è¿”ã—ãŸã‚Š
+of.options.NATURAL_TEXTURES.tooltip.7=ã™ã‚‹ã®ã«ç”¨ã„られã¾ã™ã€‚自然ãªãƒ†ã‚¯ã‚¹ãƒãƒ£ã®è¨å®šã¯
+of.options.NATURAL_TEXTURES.tooltip.8=ç¾åœ¨ä½¿ç”¨ä¸ã®ãƒªã‚½ãƒ¼ã‚¹ãƒ‘ックã«ä¾å˜ã—ã¾ã™ã€‚
+
+of.options.CUSTOM_SKY=カスタムスカイ
+of.options.CUSTOM_SKY.tooltip.1=カスタムスカイ
+of.options.CUSTOM_SKY.tooltip.2= オン - カスタムスカイを使用ã™ã‚‹ï¼ˆé€šå¸¸ï¼‰ é«˜è² è·
+of.options.CUSTOM_SKY.tooltip.3= オフ - 通常ã®ç©º ä½Žè² è·
+of.options.CUSTOM_SKY.tooltip.4=カスタムスカイ用ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯ç¾åœ¨ä½¿ç”¨ä¸ã®
+of.options.CUSTOM_SKY.tooltip.5=リソースパックã«ä¾å˜ã—ã¾ã™ã€‚
+
+of.options.CUSTOM_ITEMS=カスタムアイテãƒ
+of.options.CUSTOM_ITEMS.tooltip.1=カスタムアイテãƒ
+of.options.CUSTOM_ITEMS.tooltip.2= オン - カスタムアイテムを使用ã™ã‚‹ï¼ˆé€šå¸¸ï¼‰ é«˜è² è·
+of.options.CUSTOM_ITEMS.tooltip.3= オフ - 通常ã®ã‚¢ã‚¤ãƒ†ãƒ テクスãƒãƒ£ã‚’使用ã™ã‚‹ ä½Žè² è·
+of.options.CUSTOM_ITEMS.tooltip.4=カスタムアイテム用ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯ç¾åœ¨ä½¿ç”¨ä¸ã®
+of.options.CUSTOM_ITEMS.tooltip.5=リソースパックã«ä¾å˜ã—ã¾ã™ã€‚
+
+of.options.CUSTOM_ENTITY_MODELS=カスタムエンティティモデル
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=カスタムエンティティモデル
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= オン - カスタムエンティティモデルを使用ã™ã‚‹ï¼ˆé€šå¸¸ï¼‰ï¼Œ é«˜è² è·
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= オフ - 通常ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒ¢ãƒ‡ãƒ«ï¼Œ ä½Žè² è·
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=カスタムエンティティモデルã¯ç¾åœ¨ä½¿ç”¨ä¸ã®
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=リソースパックã«ä¾å˜ã—ã¾ã™ã€‚
+
+# Details
+
+of.options.CLOUDS=雲
+of.options.CLOUDS.tooltip.1=雲
+of.options.CLOUDS.tooltip.2= デフォルト - グラフィックスã®è¨å®šã«åˆã‚ã›ã‚‹
+of.options.CLOUDS.tooltip.3= 処ç†å„ªå…ˆ - 低å“質 ä½Žè² è·
+of.options.CLOUDS.tooltip.4= æ画優先 - 高å“質 é«˜è² è·
+of.options.CLOUDS.tooltip.5= オフ - 雲ãªã— æœ€ä½Žè² è·
+of.options.CLOUDS.tooltip.6=処ç†å„ªå…ˆã®é›²ã¯å¹³é¢çš„ã«æç”»ã•ã‚Œã¾ã™ã€‚
+of.options.CLOUDS.tooltip.7=æ画優先ã®é›²ã¯ç«‹ä½“çš„ã«æç”»ã•ã‚Œã¾ã™ã€‚
+
+of.options.CLOUD_HEIGHT=雲ã®é«˜ã•
+of.options.CLOUD_HEIGHT.tooltip.1=雲ã®é«˜ã•ã®è¨å®š
+of.options.CLOUD_HEIGHT.tooltip.2= オフ - 通常ã®é«˜ã•
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - ワールドã®é«˜ã•ä¸Šé™
+
+of.options.TREES=樹
+of.options.TREES.tooltip.1=樹
+of.options.TREES.tooltip.2= デフォルト - グラフィックスã®è¨å®šã«åˆã‚ã›ã‚‹
+of.options.TREES.tooltip.3= 処ç†å„ªå…ˆ - 低å“質 æœ€ä½Žè² è·
+of.options.TREES.tooltip.4= スマート - 高å“質 ä½Žè² è·
+of.options.TREES.tooltip.5= æ画優先 - 高å“質 é«˜è² è·
+of.options.TREES.tooltip.6=処ç†å„ªå…ˆã®æœ¨ã®è‘‰ã¯é€éŽã—ã¾ã›ã‚“。
+of.options.TREES.tooltip.7=æ画優先や賢ãæç”»ã•ã‚ŒãŸæœ¨ã®è‘‰ã¯é€éŽã—ã¾ã™ã€‚
+
+of.options.RAIN=雨ã¨é›ª
+of.options.RAIN.tooltip.1=雨ã¨é›ª
+of.options.RAIN.tooltip.2= デフォルト - グラフィックスã®è¨å®šã«åˆã‚ã›ã‚‹
+of.options.RAIN.tooltip.3= 処ç†å„ªå…ˆ - å°é›¨/å°é›ª ä½Žè² è·
+of.options.RAIN.tooltip.4= æ画優先 - 大雨/大雪 é«˜è² è·
+of.options.RAIN.tooltip.5= オフ - 雨や雪をæç”»ã—ãªã„ æœ€ä½Žè² è·
+of.options.RAIN.tooltip.6=オフã«ã—ã¦ã‚‚地é¢ã§ã®é›¨ã®é£›ã³æ•£ã‚Šã‚„雨音
+of.options.RAIN.tooltip.7=ã¯æœ‰åŠ¹ã®ã¾ã¾ã§ã™ã€‚
+
+of.options.SKY=空
+of.options.SKY.tooltip.1=空
+of.options.SKY.tooltip.2= オン - 空をæç”»ã™ã‚‹ é«˜è² è·
+of.options.SKY.tooltip.3= オフ - 空をæç”»ã—ãªã„ ä½Žè² è·
+of.options.SKY.tooltip.4=オフã«ã—ã¦ã‚‚太陽や月ã¯ãã®ã¾ã¾ã§ã™ã€‚
+
+of.options.STARS=星
+of.options.STARS.tooltip.1=星
+of.options.STARS.tooltip.2= オン - 星をæç”»ã™ã‚‹ï¼ˆé€šå¸¸ï¼‰
+of.options.STARS.tooltip.3= オフ - 星をæç”»ã—ãªã„ï¼ˆä½Žè² è·ï¼‰
+of.options.SUN_MOON=太陽ã¨æœˆ
+of.options.SUN_MOON.tooltip.1=太陽ã¨æœˆ
+of.options.SUN_MOON.tooltip.2= オン - 太陽ã¨æœˆã‚’æç”»ã™ã‚‹ï¼ˆé€šå¸¸ï¼‰
+of.options.SUN_MOON.tooltip.3= オフ - 太陽ã¨æœˆã‚’æç”»ã—ãªã„ï¼ˆä½Žè² è·ï¼‰
+of.options.SHOW_CAPES=Optifineマントã®è¡¨ç¤º
+of.options.SHOW_CAPES.tooltip.1=Optifineマントã®è¡¨ç¤º
+of.options.SHOW_CAPES.tooltip.2= オン - Optifineマントを表示ã™ã‚‹ï¼ˆé€šå¸¸ï¼‰
+of.options.SHOW_CAPES.tooltip.3= オフ - Optifineマントを表示ã—ãªã„
+
+of.options.TRANSLUCENT_BLOCKS=åŠé€æ˜Žã®ãƒ–ãƒãƒƒã‚¯
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=åŠé€æ˜Žã®ãƒ–ãƒãƒƒã‚¯
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= æ画優先 - 完全ãªã‚«ãƒ©ãƒ¼ãƒ–レンド(通常)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= 処ç†å„ªå…ˆ - 速ã•é‡è¦–ã®ã‚«ãƒ©ãƒ¼ãƒ–ãƒ¬ãƒ³ãƒ‰ï¼ˆä½Žè² è·ï¼‰
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=é•ã†è‰²ã‚’æŒã£ãŸåŠé€æ˜Žãƒ–ãƒãƒƒã‚¯ï¼ˆè‰²ä»˜ãガラス,水,氷)
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=ãŒç©ºæ°—を挟んã§éš£æŽ¥ã—ãŸéš›ã®
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=カラーブレンドã®è¨å®šã§ã™ã€‚
+
+of.options.HELD_ITEM_TOOLTIPS=æŒã¡æ›¿ãˆæ™‚アイテムå表示
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=æŒã¡æ›¿ãˆæ™‚アイテムå表示
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= オン - æŒã¡æ›¿ãˆæ™‚ã«ã‚¢ã‚¤ãƒ†ãƒ åを表示ã™ã‚‹ï¼ˆé€šå¸¸ï¼‰
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= オフ - æŒã¡æ›¿ãˆæ™‚ã«ã‚¢ã‚¤ãƒ†ãƒ åを表示ã—ãªã„
+
+of.options.ADVANCED_TOOLTIPS=高度ãªãƒ„ールãƒãƒƒãƒ—
+of.options.ADVANCED_TOOLTIPS.tooltip.1=高度ãªãƒ„ールãƒãƒƒãƒ—
+of.options.ADVANCED_TOOLTIPS.tooltip.2= オン - 高度ãªãƒ„ールãƒãƒƒãƒ—を表示
+of.options.ADVANCED_TOOLTIPS.tooltip.3= オフ - 高度ãªãƒ„ールãƒãƒƒãƒ—ã‚’éžè¡¨ç¤ºï¼ˆé€šå¸¸ï¼‰
+of.options.ADVANCED_TOOLTIPS.tooltip.4=高度ãªãƒ„ールãƒãƒƒãƒ—ã¯ã‚¢ã‚¤ãƒ†ãƒ (ID,è€ä¹…値)ã¨
+of.options.ADVANCED_TOOLTIPS.tooltip.5=シェーダーã®ã‚ªãƒ—ション(ID,source,default value)ã«ãŠã„ã¦
+of.options.ADVANCED_TOOLTIPS.tooltip.6=æ‹¡å¼µã•ã‚ŒãŸæƒ…å ±ã‚’è¡¨ç¤ºã—ã¾ã™ã€‚
+
+of.options.DROPPED_ITEMS=è½ã¡ã¦ã„るアイテムã®è¡¨ç¤º
+of.options.DROPPED_ITEMS.tooltip.1=è½ã¡ã¦ã„るアイテムã®è¡¨ç¤º
+of.options.DROPPED_ITEMS.tooltip.2= デフォルト - グラフィックスã®è¨å®šã«åˆã‚ã›ã‚‹
+of.options.DROPPED_ITEMS.tooltip.3= 処ç†å„ªå…ˆ - è½ã¡ã¦ã„るアイテムを2Dã§è¡¨ç¤ºã™ã‚‹ ä½Žè² è·
+of.options.DROPPED_ITEMS.tooltip.4= æ画優先 - è½ã¡ã¦ã„るアイテムを3Dã§è¡¨ç¤ºã™ã‚‹ é«˜è² è·
+
+options.entityShadows.tooltip.1=Entityã®å½±
+options.entityShadows.tooltip.2= オン - Entityã®å½±ã‚’表示ã™ã‚‹
+options.entityShadows.tooltip.3= オフ - Entityã®å½±ã‚’表示ã—ãªã„
+
+of.options.VIGNETTE=視界端ã®å½±
+of.options.VIGNETTE.tooltip.1=スクリーンã®è§’ã‚’å°‘ã—æš—ãã•ã›ã‚‹è¦–覚効果
+of.options.VIGNETTE.tooltip.2= デフォルト - グラフィックスã®è¨å®šã«åˆã‚ã›ã‚‹ï¼ˆé€šå¸¸ï¼‰
+of.options.VIGNETTE.tooltip.3= 処ç†å„ªå…ˆ - 視界端ã®å½±ã‚’表示ã—ãªã„ï¼ˆä½Žè² è·ï¼‰
+of.options.VIGNETTE.tooltip.4= æ画優先 - 視界端ã®å½±ã‚’表示ã™ã‚‹ï¼ˆé«˜è² è·ï¼‰
+of.options.VIGNETTE.tooltip.5=視界端ã®å½±ã¯FPSã«ã¨ã£ã¦é‡è¦ãªè¦–覚効果ã§ã™ã€‚
+of.options.VIGNETTE.tooltip.6=例外ã¨ã—ã¦ãƒ•ãƒ«ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã§éŠã¶éš›ã«ã¯ã€
+of.options.VIGNETTE.tooltip.7=視界端ã®å½±ã¯éžå¸¸ã«å¾®ã‹ã§ã‚ã‚‹ãŸã‚ã€
+of.options.VIGNETTE.tooltip.8=無効ã«ã—ã¦ã‚‚無害ã§ã™ã€‚
+
+of.options.DYNAMIC_FOV=è‡¨å ´æ„Ÿã‚る視野角
+of.options.DYNAMIC_FOV.tooltip.1=è‡¨å ´æ„Ÿã‚る視野角
+of.options.DYNAMIC_FOV.tooltip.2= オン - è‡¨å ´æ„Ÿã‚る視野角を有効化(通常)
+of.options.DYNAMIC_FOV.tooltip.3= オフ - è‡¨å ´æ„Ÿã‚る視野角を無効化
+of.options.DYNAMIC_FOV.tooltip.4=飛翔時やã€ãƒ€ãƒƒã‚·ãƒ¥æ™‚ã€å¼“ã®å¼•ã絞り時ã«ã€
+of.options.DYNAMIC_FOV.tooltip.5=視野角(FOV)を変ãˆã¾ã™ã€‚
+
+of.options.DYNAMIC_LIGHTS=è‡¨å ´æ„Ÿã‚ã‚‹å…‰æº
+of.options.DYNAMIC_LIGHTS.tooltip.1=è‡¨å ´æ„Ÿã‚ã‚‹å…‰æº
+of.options.DYNAMIC_LIGHTS.tooltip.2= オフ - æŒã£ã¦ã„ã‚‹å…‰æºã‚’光らã›ãªã„(通常)
+of.options.DYNAMIC_LIGHTS.tooltip.3= 処ç†å„ªå…ˆ - 500ミリ秒ã”ã¨ã«ä½ç½®ã‚’æ›´æ–°ã™ã‚‹
+of.options.DYNAMIC_LIGHTS.tooltip.4= æ画優先 - リアルタイムã«ä½ç½®ã‚’æ›´æ–°ã™ã‚‹
+of.options.DYNAMIC_LIGHTS.tooltip.5=å…‰æºã¨ãªã‚‹ã‚¢ã‚¤ãƒ†ãƒ (æ¾æ˜Žã€ã‚°ãƒãƒ¼ã‚¹ãƒˆãƒ¼ãƒ³ãªã©ï¼‰ã«ã¤ã„ã¦ã€
+of.options.DYNAMIC_LIGHTS.tooltip.6=手ã«æŒã£ã¦ã„ã‚‹ã‹ã€ä»–ã®ãƒ—レイヤーãŒè£…å‚™ã—ã¦ã„ã‚‹ã‹ã€
+of.options.DYNAMIC_LIGHTS.tooltip.7=地上ã«æŠ•ã’出ã•ã‚Œã¦ã„る時ã«ã€å‘¨å›²ã‚’照らã—ã¾ã™ã€‚
+
+# Performance
+
+of.options.SMOOTH_FPS=FPS安定化処ç†
+of.options.SMOOTH_FPS.tooltip.1=ãƒãƒƒãƒ•ã‚¡ã‚’使ã£ã¦FPSを安定化ã™ã‚‹ã€‚
+of.options.SMOOTH_FPS.tooltip.2= オフ - 安定化ã—ãªã„。FPSã¯å¤‰å‹•çš„ã«ãªã‚‹ã§ã—ょã†ã€‚
+of.options.SMOOTH_FPS.tooltip.3= オン - 安定化ã™ã‚‹ã€‚
+of.options.SMOOTH_FPS.tooltip.4=ã“ã®è¨å®šã¯ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ãƒ‰ãƒ©ã‚¤ãƒãƒ¼ã«ä¾å˜ã—ã€
+of.options.SMOOTH_FPS.tooltip.5=常ã«ã¯æœ‰åŠ¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+
+of.options.SMOOTH_WORLD=サーãƒãƒ¼è² è·ã‚’分散
+of.options.SMOOTH_WORLD.tooltip.1=内部サーãƒãƒ¼ã«ã‚ˆã‚‹ãƒ©ã‚°ã®é™¤åŽ»ã€‚
+of.options.SMOOTH_WORLD.tooltip.2= オフ - 安定化ã—ãªã„。FPSã¯å¤‰å‹•çš„ã«ãªã‚‹ã§ã—ょã†ã€‚
+of.options.SMOOTH_WORLD.tooltip.3= オン - 安定化ã™ã‚‹ã€‚
+of.options.SMOOTH_WORLD.tooltip.4=内部サーãƒãƒ¼ãƒãƒ¼ãƒ‰ã‚’安定化。
+of.options.SMOOTH_WORLD.tooltip.5=シングルプレイã®æ™‚ã®ã¿åŠ¹æžœãŒã‚ã‚Šã¾ã™ã€‚
+
+of.options.FAST_RENDER=æç”»ã®æœ€é©åŒ–
+of.options.FAST_RENDER.tooltip.1=æç”»ã®æœ€é©åŒ–
+of.options.FAST_RENDER.tooltip.2= オフ - 通常ã®æ画(通常)
+of.options.FAST_RENDER.tooltip.3= オン - 最é©åŒ–ã•ã‚ŒãŸæç”»ï¼ˆä½Žè² è·ï¼‰
+of.options.FAST_RENDER.tooltip.4=GPUã®ãƒãƒ¼ãƒ‰å›žæ•°ã‚’減らã—ãŸæ–¹å¼ã«ã‚ˆã£ã¦
+of.options.FAST_RENDER.tooltip.5=実質的ãªFPSã‚’å‘上ã—ã¾ã™ã€‚
+
+of.options.FAST_MATH=計算ã®æœ€é©åŒ–
+of.options.FAST_MATH.tooltip.1=計算ã®æœ€é©åŒ–
+of.options.FAST_MATH.tooltip.2= オフ - 通常ã®å‡¦ç†ï¼ˆé€šå¸¸ï¼‰
+of.options.FAST_MATH.tooltip.3= オン - 最é©åŒ–ã•ã‚ŒãŸè¨ˆç®—æ–¹å¼
+of.options.FAST_MATH.tooltip.4=CPUã®ã‚ャッシュをã†ã¾ã使ã£ãŸ
+of.options.FAST_MATH.tooltip.5=FPSã‚’å‘上ã•ã›ã‚‹è¨ˆç®—処ç†ã‚’使用ã—ã¾ã™ã€‚
+
+of.options.CHUNK_UPDATES=ãƒãƒ£ãƒ³ã‚¯èªè¾¼æ–¹æ³•
+of.options.CHUNK_UPDATES.tooltip.1=ãƒãƒ£ãƒ³ã‚¯èªè¾¼æ–¹æ³•
+of.options.CHUNK_UPDATES.tooltip.2= 1 - é«˜è² è·ãªãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿ 高ã„FPS(通常)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - ä½Žè² è·ã‚ãªãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿ 低ã‚ã®FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - ä½Žè² è·ãªãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿ 低ã„FPS
+of.options.CHUNK_UPDATES.tooltip.5=1フレームã”ã¨ã«è¡Œã‚れるãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿å›žæ•°ã‚’指定ã—ã¾ã™ã€‚
+of.options.CHUNK_UPDATES.tooltip.6=高ã„値ã¯ãƒ•ãƒ¬ãƒ¼ãƒ レートã®éžå®‰å®šåŒ–ã‚’æ‹›ãã¾ã™ã€‚
+
+of.options.CHUNK_UPDATES_DYNAMIC=å‹•çš„ãªèªã¿è¾¼ã¿
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=å‹•çš„ãªèªã¿è¾¼ã¿
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= オフ - (通常) 1フレームã«é€šå¸¸ã®å›žæ•°ã®ãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿å‡¦ç†
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= オン - é™æ¢ä¸ã«ã‚ˆã‚Šå¤šãã®ã‚¢ãƒƒãƒ—デート処ç†ã‚’è¡Œã†ã€‚
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=プレイヤーãŒé™æ¢ã—ã¦ã„る時ã«
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=ç´ æ—©ããƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã‚€ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
+
+of.options.LAZY_CHUNK_LOADING=ãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿ã®é…延
+of.options.LAZY_CHUNK_LOADING.tooltip.1=ãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿ã®é…延
+of.options.LAZY_CHUNK_LOADING.tooltip.2= オフ - 通常ã®ã‚µãƒ¼ãƒãƒ¼ãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿
+of.options.LAZY_CHUNK_LOADING.tooltip.3= オン - é…延サーãƒãƒ¼ãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿ï¼ˆæ»‘らã‹ï¼‰
+of.options.LAZY_CHUNK_LOADING.tooltip.4=ãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿å‡¦ç†ã‚’æ•°Tickã«åˆ†æ•£ã•ã›ã‚‹ã“ã¨ã§
+of.options.LAZY_CHUNK_LOADING.tooltip.5=ç·åˆçš„ã«ã‚µãƒ¼ãƒãƒ¼ã®ãƒãƒ£ãƒ³ã‚¯èªã¿è¾¼ã¿å‡¦ç†ã‚’滑らã‹ã«ã—ã¾ã™ã€‚
+of.options.LAZY_CHUNK_LOADING.tooltip.6=ワールドã®ä¸€éƒ¨ã«æ¬ ã‘ãŒç™ºç”Ÿã™ã‚‹ã‚ˆã†ãªã‚‰OFFã«ã—ã¦ãã ã•ã„。
+of.options.LAZY_CHUNK_LOADING.tooltip.7=シングルプレイヤーã§ã‚·ãƒ³ã‚°ãƒ«ã‚³ã‚¢CPUã®æ™‚ã®ã¿æœ‰åŠ¹ã§ã™ã€‚
+
+# Animations
+
+of.options.animation.allOn=å…¨ã¦ã‚ªãƒ³
+of.options.animation.allOff=å…¨ã¦ã‚ªãƒ•
+of.options.animation.dynamic=å‹•çš„
+
+of.options.ANIMATED_WATER=æ°´
+of.options.ANIMATED_LAVA=溶岩
+of.options.ANIMATED_FIRE=ç‚Ž
+of.options.ANIMATED_PORTAL=ãƒã‚¶ãƒ¼ã‚²ãƒ¼ãƒˆ
+of.options.ANIMATED_REDSTONE=レッドストーン
+of.options.ANIMATED_EXPLOSION=爆発
+of.options.ANIMATED_FLAME=æ¾æ˜Žã‚„ã‹ã¾ã©
+of.options.ANIMATED_SMOKE=ç…™
+of.options.VOID_PARTICLES=奈è½ã®ãƒ‘ーティクル
+of.options.WATER_PARTICLES=æ°´ä¸ã®ãƒ‘ーティクル
+of.options.RAIN_SPLASH=雨ã®æ°´ã—ã¶ã
+of.options.PORTAL_PARTICLES=ãƒãƒ¼ã‚¿ãƒ«ã®ãƒ‘ーティクル
+of.options.POTION_PARTICLES=ãƒãƒ¼ã‚·ãƒ§ãƒ³ã®ãƒ‘ーティクル
+of.options.DRIPPING_WATER_LAVA=æ°´/溶岩ã®æ»´ã‚Š
+of.options.ANIMATED_TERRAIN=地形アニメーション
+of.options.ANIMATED_TEXTURES=テクスãƒãƒ£ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³
+of.options.FIREWORK_PARTICLES=花ç«ã®ãƒ‘ーティクル
+
+# Other
+
+of.options.LAGOMETER=ラグメーター
+of.options.LAGOMETER.tooltip.1=デãƒãƒƒã‚°ç”»é¢ï¼ˆF3)ã«ãƒ©ã‚°ãƒ¡ãƒ¼ã‚¿ãƒ¼ã‚’表示ã™ã‚‹ã€‚
+of.options.LAGOMETER.tooltip.2=* 橙 - ガベージコレクション
+of.options.LAGOMETER.tooltip.3=* è— - Tick処ç†
+of.options.LAGOMETER.tooltip.4=* é’ - スケジューリングã•ã‚ŒãŸå‡¦ç†
+of.options.LAGOMETER.tooltip.5=* ç´« - ãƒãƒ£ãƒ³ã‚¯ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°
+of.options.LAGOMETER.tooltip.6=* 赤 - ãƒãƒ£ãƒ³ã‚¯ã‚¢ãƒƒãƒ—デート
+of.options.LAGOMETER.tooltip.7=* 黄 - æ画確èª
+of.options.LAGOMETER.tooltip.8=* ç·‘ - 地形æç”»
+
+of.options.PROFILER=デãƒãƒƒã‚°ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ©
+of.options.PROFILER.tooltip.1=デãƒãƒƒã‚°ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ©
+of.options.PROFILER.tooltip.2= オン - デãƒãƒƒã‚°ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ©ã¯æœ‰åŠ¹ é«˜è² è·
+of.options.PROFILER.tooltip.3= オフ - デãƒãƒƒã‚°ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ©ã¯ç„¡åŠ¹ ä½Žè² è·
+of.options.PROFILER.tooltip.4=デãƒãƒƒã‚°ç”»é¢ï¼ˆF3)ãŒé–‹ã‹ã‚Œã¦ã„る時ã«
+of.options.PROFILER.tooltip.5=デãƒãƒƒã‚°æƒ…å ±ã‚’åŽé›†ã—円グラフ上ã«è¡¨ç¤ºã—ã¾ã™ã€‚
+
+of.options.WEATHER=天候
+of.options.WEATHER.tooltip.1=天候
+of.options.WEATHER.tooltip.2= オン - 天候ã‚ã‚Š é«˜è² è·
+of.options.WEATHER.tooltip.3= オフ - 天候ãªã— ä½Žè² è·
+of.options.WEATHER.tooltip.4=天候コントãƒãƒ¼ãƒ«æ©Ÿèƒ½ã®æœ‰åŠ¹/無効。
+of.options.WEATHER.tooltip.5=シングルプレイã§ã®ã¿æœ‰åŠ¹ã€‚
+
+of.options.time.dayOnly=昼ã®ã¿
+of.options.time.nightOnly=夜ã®ã¿
+
+of.options.TIME=クリエイティブã®æ™‚刻
+of.options.TIME.tooltip.1=クリエイティブã®æ™‚刻
+of.options.TIME.tooltip.2= デフォルト - 通常ã®æ˜¼å¤œã‚µã‚¤ã‚¯ãƒ«
+of.options.TIME.tooltip.3= 昼ã®ã¿ - 昼ã®ã¿
+of.options.TIME.tooltip.4= 夜ã®ã¿ - 夜ã®ã¿
+of.options.TIME.tooltip.5=クリエイティブモードã§
+of.options.TIME.tooltip.6=シングルプレイã®æ™‚ã®ã¿æœ‰åŠ¹ã€‚
+
+options.fullscreen.tooltip.1=フルスクリーン
+options.fullscreen.tooltip.2= オン - フルスクリーンモード
+options.fullscreen.tooltip.3= オフ - ウィンドウモード
+options.fullscreen.tooltip.4=フルスクリーンã§ã¯ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ã«ã‚ˆã£ã¦
+options.fullscreen.tooltip.5=処ç†ã®é€Ÿã„é…ã„ãŒå¤‰ã‚ã‚Šã¾ã™ã€‚
+
+of.options.FULLSCREEN_MODE=フルスクリーンã®ç¨®é¡ž
+of.options.FULLSCREEN_MODE.tooltip.1=フルスクリーンã®ç¨®é¡ž
+of.options.FULLSCREEN_MODE.tooltip.2= デフォルト - デスクトップスクリーンã®è§£åƒåº¦ é«˜è² è·
+of.options.FULLSCREEN_MODE.tooltip.3= WxH - カスタム解åƒåº¦ ãŠãらãä½Žè² è·
+of.options.FULLSCREEN_MODE.tooltip.4=フルスクリーンモードã«ã¦ä½¿ç”¨ã•ã‚Œã‚‹è§£åƒåº¦ã§ã™ã€‚
+of.options.FULLSCREEN_MODE.tooltip.5=一般的ã«ã€ä½Žã„解åƒåº¦ã¯é€Ÿã„処ç†ã«ç¹‹ãŒã‚Šã¾ã™ã€‚
+
+of.options.SHOW_FPS=FPSを表示
+of.options.SHOW_FPS.tooltip.1=コンパクトãªFPSã¨æç”»æƒ…å ±ã‚’è¡¨ç¤º
+of.options.SHOW_FPS.tooltip.2= C: - ãƒãƒ£ãƒ³ã‚¯æç”»
+of.options.SHOW_FPS.tooltip.3= E: - エンティティæç”»
+of.options.SHOW_FPS.tooltip.4= U: - ãƒãƒ£ãƒ³ã‚¯ã‚¢ãƒƒãƒ—デート
+of.options.SHOW_FPS.tooltip.5=コンパクトãªFPSæƒ…å ±ã¯
+of.options.SHOW_FPS.tooltip.6=デãƒãƒƒã‚°ç”»é¢ãŒéžè¡¨ç¤ºã®æ™‚ã®ã¿è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
+
+of.options.save.default=デフォルト(2秒)
+of.options.save.20s=20秒
+of.options.save.3min=3分
+of.options.save.30min=30分
+
+of.options.AUTOSAVE_TICKS=オートセーブ
+of.options.AUTOSAVE_TICKS.tooltip.1=セーブ間隔
+of.options.AUTOSAVE_TICKS.tooltip.2=2秒ã”ã¨ã®ã‚»ãƒ¼ãƒ–ã¯æŽ¨å¥¨ã•ã‚Œã¾ã›ã‚“。
+of.options.AUTOSAVE_TICKS.tooltip.3=オートセーブã¯ãƒ©ã‚°ã‚’引ãèµ·ã“ã—ã¾ã™ã€‚
+
+of.options.SCREENSHOT_SIZE=スクリーンショットã®ã‚µã‚¤ã‚º
+of.options.SCREENSHOT_SIZE.tooltip.1=スクリーンショットã®ã‚µã‚¤ã‚º
+of.options.SCREENSHOT_SIZE.tooltip.2= デフォルト - 通常ã®å¤§ãã•
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x~4x - ä»»æ„ã®å¤§ãã•
+of.options.SCREENSHOT_SIZE.tooltip.4=より大ããªã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã®æ’®å½±ã«ã¯ã€ã‚ˆã‚Šå¤šãã®ãƒ¡ãƒ¢ãƒªãŒå¿…è¦ã§ã™ã€‚
+of.options.SCREENSHOT_SIZE.tooltip.5=æç”»ã®æœ€é©åŒ–ã€ã‚¢ãƒ³ãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã¨ã¯ç«¶åˆã—ã¾ã™ã€‚
+of.options.SCREENSHOT_SIZE.tooltip.6=GPUãŒãƒ•ãƒ¬ãƒ¼ãƒ ãƒãƒƒãƒ•ã‚¡ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
diff --git a/src/main/resources/assets/minecraft/optifine/lang/lb_LU.lang b/src/main/resources/assets/minecraft/optifine/lang/lb_LU.lang
new file mode 100644
index 00000000..5e3f3853
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/lb_LU.lang
@@ -0,0 +1,578 @@
+# Contributors of Luxembourgish localization #
+# Hyperspacemaster ---- 2016-4-6 ---- 2016-9-12
+
+# General
+of.general.ambiguous=onkloer
+of.general.custom=Aneres
+of.general.from=Vun
+of.general.id=ID
+of.general.restart=Neistart
+of.general.smart=Fein
+
+# Keys
+of.key.zoom=Zoom
+
+# Message
+of.message.aa.shaders1=Antialiasing ass net kompatibel mat de Shader.
+of.message.aa.shaders2=W.e.g. schalt de Shader aus fir des Optioun ze aktivéieren.
+
+of.message.af.shaders1=Anisotropescht Filteren ass net kompatibel mat de Shader.
+of.message.af.shaders2=W.e.g. schalt de Shader aus fir des Optioun ze aktivéieren.
+
+of.message.fr.shaders1=Schnellt Renderen ass net kompatibel mat de de Shader.
+of.message.fr.shaders2=W.e.g. schalt de Shader aus fir des Optioun ze aktivéieren.
+
+of.message.an.shaders1=3D Anaglyph ass net kompatibel mat de Shader.
+of.message.an.shaders2=W.e.g. schalt de Shader aus fir des Optioun ze aktivéieren.
+
+of.message.shaders.aa1=Antialiasing ass net kompatibel mat de Shader .
+of.message.shaders.aa2=W.e.g desaktivéier Qualitéit -> Antialiasing a start däi Spill nei.
+
+of.message.shaders.af1=Anisotropescht Filteren ass net kompatibel mat de Shader.
+of.message.shaders.af2=W.e.g desaktivéier Qualitéit -> Anisotropescht Filteren.
+
+of.message.shaders.fr1=Shader sinn net kompatibel mat schnellem Renderen.
+of.message.shaders.fr2=W.e.g desaktivéier Qualitéit -> Schnellt Renderen.
+
+of.message.shaders.an1=Shader sinn net kompatibel mam 3D Anaglyph.
+of.message.shaders.an2=W.e.g desaktivéier Verschiddenes -> 3D Anaglyph.
+
+of.message.newVersion=Eng nei §eOptiFine§f Versioun ass verfügbar: §e%s§f
+of.message.java64Bit=Du kanns §e64-bit Java§f installéiere fir eng besser Performance.
+of.message.openglError=§eOpenGL Fehler§f: %s (%s)
+
+of.message.shaders.loading=D'Shader gi gelueden: %s
+
+of.message.other.reset=All Videoastellungen zerécksetzen ob hier Standardwäerter?
+
+# Video settings
+
+options.graphics.tooltip.1=Grafikmodus
+options.graphics.tooltip.2= Schnell - méi schlecht Qualitéit, méi schnell
+options.graphics.tooltip.3= Schéin - héich Qualitéit, méi lues
+options.graphics.tooltip.4=Verännert d'Ausgesi vun de Wolleken, Blieder, Grasbléck,
+options.graphics.tooltip.5=Schieter a vum Waasser.
+
+of.options.renderDistance.tiny=Winzeg
+of.options.renderDistance.short=Geréng
+of.options.renderDistance.normal=Normal
+of.options.renderDistance.far=Wéit
+of.options.renderDistance.extreme=Extrem
+
+options.renderDistance.tooltip.1=Siichtwéit
+options.renderDistance.tooltip.2= 2 Winzeg - 32m (am schnellsten)
+options.renderDistance.tooltip.3= 4 Geréng - 64m (schnell)
+options.renderDistance.tooltip.4= 8 Normal - 128m
+options.renderDistance.tooltip.5= 16 Wéit - 256m (lues)
+options.renderDistance.tooltip.6= 32 Extrem - 512m (am luesten!)
+options.renderDistance.tooltip.7=D'extrem Siichtwéit erfuerdert vill Ressource.
+options.renderDistance.tooltip.8=Wäerter iwwer 16 funktionéieren nëmmen am Singleplayer
+
+options.ao.tooltip.1=Fléissend Beliichtung
+options.ao.tooltip.2= Aus - keng fléissend Beliichtung (schnell)
+options.ao.tooltip.3= Minimum - einfach fléissend Beliichtung (lues)
+options.ao.tooltip.4= Maximum - komplexe fléissend Beliichtung (am luesten)
+
+options.framerateLimit.tooltip.1=Max. FPS
+options.framerateLimit.tooltip.2= VSync - limitéiert ob d'Bildfrequenz vum
+options.framerateLimit.tooltip.3= Monitor (60, 30, 20)
+options.framerateLimit.tooltip.4= 5-255 - variabel
+options.framerateLimit.tooltip.5= Illimitéiert - keng Begrenzung (am schnellsten)
+options.framerateLimit.tooltip.6=D'Bildfrequenz grenzt FPS an, souguer wann
+options.framerateLimit.tooltip.7=d'Begrenzung net erreecht ass.
+of.options.framerateLimit.vsync=V-Sync
+
+of.options.AO_LEVEL=Schiet-Hellegkeet
+of.options.AO_LEVEL.tooltip.1=Hellegkeet vun de Schieter
+of.options.AO_LEVEL.tooltip.2= Aus - keng Schieter
+of.options.AO_LEVEL.tooltip.3= 50%% - hell Schieter
+of.options.AO_LEVEL.tooltip.4= 100%% - donkel Schieter
+
+options.viewBobbing.tooltip.1=Realistesch Bewegungen
+options.viewBobbing.tooltip.2=Wann Mipmaps genotzt ginn deaktivéiert d'Astellung
+options.viewBobbing.tooltip.3=fir eng besser Leeschtung
+
+options.guiScale.tooltip.1=GUI-Gréisst
+options.guiScale.tooltip.2=Ee méi klengt GUI ka méi schnell sinn.
+
+options.vbo.tooltip.1=Vertexbufferobjeten
+options.vbo.tooltip.2=Benotz een alternative Rendermodel, deen normalerweis
+options.vbo.tooltip.3=méi schnell (5-10%%) wei d'Standard-Renderen ass.
+
+options.gamma.tooltip.1=Erhéicht Hellegkeet vun donkelen Objeten
+options.gamma.tooltip.2= Aus - Standardhellegkeet
+options.gamma.tooltip.3= 1-99%% - variabel
+options.gamma.tooltip.4= Hell - maximal Hellegkeet fir donkel Objeten
+options.gamma.tooltip.5=Dës Optioun ännert Hellegkeet vun ganz donkelen
+options.gamma.tooltip.6=Objeten net.
+
+options.anaglyph.tooltip.1=3D Anaglyph
+options.anaglyph.tooltip.2=Aktivéiert ee stereoskopeschen 3D-Effekt duerch
+options.anaglyph.tooltip.3=benotze vun ënnerschiddleche Faarwe fir d'Aen.
+options.anaglyph.tooltip.4=Kann nëmme mat engem Roud-Turquoise-Brëll benotzt ginn.
+
+options.blockAlternatives.tooltip.1=Block Variatiounen
+options.blockAlternatives.tooltip.2=Benotz Variatioune fir puer Bléck
+options.blockAlternatives.tooltip.3=Hänkt vum ausgewielte Ressourcenpack of.
+
+of.options.ALTERNATE_BLOCKS=Block Variatiounen
+of.options.ALTERNATE_BLOCKS.tooltip.1=Block Variatiounen
+of.options.ALTERNATE_BLOCKS.tooltip.2=Benotz Variatioune fir puer Bléck
+of.options.ALTERNATE_BLOCKS.tooltip.3=Hänkt vum ausgewielte Ressourcenpack of.
+
+of.options.FOG_FANCY=Niwwel
+of.options.FOG_FANCY.tooltip.1=Niwwel
+of.options.FOG_FANCY.tooltip.2= Schnell - schnellen Niwwel
+of.options.FOG_FANCY.tooltip.3= Schéin - luesen Niwwel, gesäit besser aus
+of.options.FOG_FANCY.tooltip.4= Aus - keen Niwwel, am schnellsten
+of.options.FOG_FANCY.tooltip.5=De schéinen Niwwel ass nëmme verfügbar, wann en vun
+of.options.FOG_FANCY.tooltip.6=der Grafikkaart ënnerstëtzt gëtt.
+
+of.options.FOG_START=Niwwel Startpunkt
+of.options.FOG_START.tooltip.1=Niwwel Startpunkt
+of.options.FOG_START.tooltip.2= 0.2 - Niwwel start no beim Spiller
+of.options.FOG_START.tooltip.3= 0.8 - Niwwel start weit vum Spiller ewech
+of.options.FOG_START.tooltip.4=Dës Optioun beaflosst normalerweis net d'Leeschtung
+
+of.options.CHUNK_LOADING=Chunklueden
+of.options.CHUNK_LOADING.tooltip.1=Chunklueden
+of.options.CHUNK_LOADING.tooltip.2= Standard - onstabil FPS beim luede vun de Chunks
+of.options.CHUNK_LOADING.tooltip.3= Fléissend - stabil FPS
+of.options.CHUNK_LOADING.tooltip.4= Multi-Core - stabil FPS, 3x méi schnellt luede vun der Welt
+of.options.CHUNK_LOADING.tooltip.5=Fléissend a Multi-Core mécht Ruckler a Standbiller
+of.options.CHUNK_LOADING.tooltip.6=fort déi durch d'Luede vun de Chunks verursaacht ginn.
+of.options.CHUNK_LOADING.tooltip.7=Multi-Core kann d'Luede vun der Welt bis zu 3x méi schnell
+of.options.CHUNK_LOADING.tooltip.8=maachen a FPS erhéijen duerch een zweete CPU-Kär.
+of.options.chunkLoading.smooth=Fléissend
+of.options.chunkLoading.multiCore=Multi-Core
+
+of.options.shaders=Schieter ...
+of.options.shadersTitle=Schieter
+
+of.options.shaders.packNone=Aus
+of.options.shaders.packDefault=(intern)
+
+of.options.shaders.ANTIALIASING=Antialiasing
+of.options.shaders.NORMAL_MAP=Normal Kaart
+of.options.shaders.SPECULAR_MAP=Spiegelnd Kaart
+of.options.shaders.RENDER_RES_MUL=Render Qualitéit
+of.options.shaders.SHADOW_RES_MUL=Schiet Qualitéit
+of.options.shaders.HAND_DEPTH_MUL=Handdéift
+of.options.shaders.CLOUD_SHADOW=Wolleke schiet
+of.options.shaders.OLD_HAND_LIGHT=Aal Handbel.
+of.options.shaders.OLD_LIGHTING=Aal Beliichtung
+of.options.shaders.SHADER_PACK=Shaderpack
+
+of.options.shaders.shadersFolder=Shader-Fichier
+of.options.shaders.shaderOptions=Shaderastellungen ...
+
+of.options.shaderOptionsTitle=Shaderastellungen
+
+of.options.quality=Qualitéit ...
+of.options.qualityTitle=Qualitéitsastellungen
+
+of.options.details=Detailer ...
+of.options.detailsTitle=Detailastellungen
+
+of.options.performance=Performance ...
+of.options.performanceTitle=Performanceastellungen
+
+of.options.animations=Animatiounen ...
+of.options.animationsTitle=Animatiounsastellungen
+
+of.options.other=Verschiddenes ...
+of.options.otherTitle=Veschidden Astellungen
+
+of.options.other.reset=Videoastellungen zerécksetzen ...
+
+of.shaders.profile=Profil
+
+# Quality
+
+of.options.mipmap.bilinear=Bilinear
+of.options.mipmap.linear=Linear
+of.options.mipmap.nearest=Am noosten
+of.options.mipmap.trilinear=Trilinear
+
+options.mipmapLevels.tooltip.1=Visuellen Effekt dee weit entfernten Objete besser
+options.mipmapLevels.tooltip.2=ausgesi léisst duerch verréngere vun den Texturdetailer.
+options.mipmapLevels.tooltip.3= Aus - keng Verréngerung vun Detailer
+options.mipmapLevels.tooltip.4= 1 - minimal Verréngerung vun Detailler
+options.mipmapLevels.tooltip.5= 4 - maximal Verréngerung vun Detailler
+options.mipmapLevels.tooltip.6=Dës Optioun beaflosst normalerweis d'Performance net.
+
+of.options.MIPMAP_TYPE=Mipmap-Typ
+of.options.MIPMAP_TYPE.tooltip.1=Visuellen Effekt dee weit distanzéiert Objete besser
+of.options.MIPMAP_TYPE.tooltip.2=ausgesi léisst duerch verréngere vun den Texturdetailer.
+of.options.MIPMAP_TYPE.tooltip.3= Am noosten - graff Verréngerung (am schnellsten)
+of.options.MIPMAP_TYPE.tooltip.4= Linear - normal Verréngerung (schnell)
+of.options.MIPMAP_TYPE.tooltip.5= Bilinear - fein Verréngerung (lues)
+of.options.MIPMAP_TYPE.tooltip.6= Trilinear - feinst Verréngerung (am luesten)
+
+of.options.AA_LEVEL=Antialiasing
+of.options.AA_LEVEL.tooltip.1=Antialiasing
+of.options.AA_LEVEL.tooltip.2= Aus - (Standard) Keen Antialiasing (méi schnell)
+of.options.AA_LEVEL.tooltip.3= 2-16 - antialiséiert Kanten an Ecker (méi lues)
+of.options.AA_LEVEL.tooltip.4=Den Antialiasing mécht Kanten a Faarfiwergäng
+of.options.AA_LEVEL.tooltip.5=méi fléissend.
+of.options.AA_LEVEL.tooltip.6=Wann aktivéiert kënnen deng FPS staark erof goen.
+of.options.AA_LEVEL.tooltip.7=Net all Stufe gi vun all Grafikaart ënnerstëtzt
+of.options.AA_LEVEL.tooltip.8=Ännerunge sinn ereicht no engem Neistart effektiv!
+
+of.options.AF_LEVEL=Anisotropescht Filteren
+of.options.AF_LEVEL.tooltip.1=Anisotropescht Filteren
+of.options.AF_LEVEL.tooltip.2= Aus - (Standard) Standard-Texturdetailer (méi schnell)
+of.options.AF_LEVEL.tooltip.3= 2-16 - méi fein Texturdetailer (méi lues)
+of.options.AF_LEVEL.tooltip.4=D'anisoptropescht Filtere stellt Texturdetailer
+of.options.AF_LEVEL.tooltip.5=déi duerch Mipmap verluer gaange sinn erëm hier.
+of.options.AF_LEVEL.tooltip.6=Wann aktivéiert kenne FPS staark erof goen.
+
+of.options.CLEAR_WATER=Kloert Waasser
+of.options.CLEAR_WATER.tooltip.1=Kloert Waasser
+of.options.CLEAR_WATER.tooltip.2= Un - kloer, transparent Waasser
+of.options.CLEAR_WATER.tooltip.3= Aus - normaalt Waasser
+
+of.options.RANDOM_MOBS=Zoufälleg Mobs
+of.options.RANDOM_MOBS.tooltip.1=Zoufälleg Mobs
+of.options.RANDOM_MOBS.tooltip.2= Aus - keng zoufälleg Mobs, méi schnell
+of.options.RANDOM_MOBS.tooltip.3= Un - zoufälleg Mobs, méi lues
+of.options.RANDOM_MOBS.tooltip.4=Zoufälleg Mobs benotzt zoufälleg Texture fir Kreaturen
+of.options.RANDOM_MOBS.tooltip.5=am Spill.
+of.options.RANDOM_MOBS.tooltip.6=Et braucht een ee Ressourcepak mat e puer Mobtexturen.
+
+of.options.BETTER_GRASS=Bessert Grass
+of.options.BETTER_GRASS.tooltip.1=Bessert Grass
+of.options.BETTER_GRASS.tooltip.2= Aus - Standard-Säitentextur vum Gras, am schnellsten
+of.options.BETTER_GRASS.tooltip.3= Schnell - komplett Säitentextur vum Gras, lues
+of.options.BETTER_GRASS.tooltip.4= Schéin - dynamesch Säitentextur vum Gras, am luesten
+
+of.options.BETTER_SNOW=Bessere Schnéi
+of.options.BETTER_SNOW.tooltip.1=Bessere Schnéi
+of.options.BETTER_SNOW.tooltip.2= Aus - normale Schnéi, méi schnell
+of.options.BETTER_SNOW.tooltip.3= Un - bessere Schnéi, méi lues
+of.options.BETTER_SNOW.tooltip.4=Wéist Schnéi ënnert transparente Bléck (Zonk,
+of.options.BETTER_SNOW.tooltip.5=héijem Grass) un wann se un Schnéibléck ugrenzen.
+
+of.options.CUSTOM_FONTS=Schrëftressource
+of.options.CUSTOM_FONTS.tooltip.1=Schrëftressource
+of.options.CUSTOM_FONTS.tooltip.2= Un - Ressourcepak-Schrëft (Standard), méi lues
+of.options.CUSTOM_FONTS.tooltip.3= Aus - Standardschrëft, méi schnell
+of.options.CUSTOM_FONTS.tooltip.4=D'Schrëft gëtt vum ausgewielte Ressourcepak gelueden
+of.options.CUSTOM_FONTS.tooltip.5=
+
+of.options.CUSTOM_COLORS=Faarfressource
+of.options.CUSTOM_COLORS.tooltip.1=Faarfressource
+of.options.CUSTOM_COLORS.tooltip.2= Un - Ressourcepak-Faarwen (Standard), méi lues
+of.options.CUSTOM_COLORS.tooltip.3= Aus - Standardfaarwen, méi schnell
+of.options.CUSTOM_COLORS.tooltip.4=Faarwe gi vum ausgewielte Ressourcepak gelueden
+of.options.CUSTOM_COLORS.tooltip.5=
+
+of.options.SWAMP_COLORS=Sumpffaarwen
+of.options.SWAMP_COLORS.tooltip.1=Sumpffaarwen
+of.options.SWAMP_COLORS.tooltip.2= Un - Sumpffaarwe benotzen (Standard), méi lues
+of.options.SWAMP_COLORS.tooltip.3= Aus - Sumpffaarwen nëtt benotzen, méi schnell
+of.options.SWAMP_COLORS.tooltip.4=Sumpfaarwe concernéiere Grass, Blieder, Lianen
+of.options.SWAMP_COLORS.tooltip.5=a Waasser.
+
+of.options.SMOOTH_BIOMES=Biomeiwwergäng
+of.options.SMOOTH_BIOMES.tooltip.1= Biomeiwwergäng
+of.options.SMOOTH_BIOMES.tooltip.2= Un - fléissenden Iwwergang (Standard), méi lues
+of.options.SMOOTH_BIOMES.tooltip.3= Aus - kee fléissenden Iwwergang, méi schnell
+of.options.SMOOTH_BIOMES.tooltip.4=De fléissenden Iwwergang gëtt duerch Prouwen an
+of.options.SMOOTH_BIOMES.tooltip.5=Duerchschnëttsfaarfwäerter vun den ugrenzende
+of.options.SMOOTH_BIOMES.tooltip.6=Bléck realiséiert
+of.options.SMOOTH_BIOMES.tooltip.7=Concernéiert si Grass, Blieder, Lianen a Waasser
+
+of.options.CONNECTED_TEXTURES=Verbonnen Texturen
+of.options.CONNECTED_TEXTURES.tooltip.1=Verbonnen Texturen
+of.options.CONNECTED_TEXTURES.tooltip.2= Aus - keng verbonnen Texturen (Standard)
+of.options.CONNECTED_TEXTURES.tooltip.3= Schnell - schnell verbonnen Texturen
+of.options.CONNECTED_TEXTURES.tooltip.4= Schéin - schéi verbonnen Texturen
+of.options.CONNECTED_TEXTURES.tooltip.5=Verbonnen Texture verbënnt d'Texture vu Glas,
+of.options.CONNECTED_TEXTURES.tooltip.6=Sandsteen a Bicherregaler wann se niewenteneen
+of.options.CONNECTED_TEXTURES.tooltip.7=plazéiert ginn. D'verbonnen Texture gi vum
+of.options.CONNECTED_TEXTURES.tooltip.8=Ressourcepak gelueden.
+
+of.options.NATURAL_TEXTURES=Natierlech Texturen
+of.options.NATURAL_TEXTURES.tooltip.1=Natierlech Texturen
+of.options.NATURAL_TEXTURES.tooltip.2= Aus - keng natierlech Texturen (Standard)
+of.options.NATURAL_TEXTURES.tooltip.3= Un - benotz natierlech Texturen
+of.options.NATURAL_TEXTURES.tooltip.4=Natierlech Texture maachen d'Raster-Unuerdnung
+of.options.NATURAL_TEXTURES.tooltip.5=déi duerch widderhuele vum selwechte Block entsti fort.
+of.options.NATURAL_TEXTURES.tooltip.6=Et gi rotéiert a gespigelt Variante vun der
+of.options.NATURAL_TEXTURES.tooltip.7=Basisblocktextur genotzt. Konfiguratioun fir natierlech
+of.options.NATURAL_TEXTURES.tooltip.8=Texture gi vum Ressourcepak gelueden.
+
+of.options.CUSTOM_SKY=Himmeltexturen
+of.options.CUSTOM_SKY.tooltip.1=Himmeltexturen
+of.options.CUSTOM_SKY.tooltip.2= Un - Ressourcepak-Himmeltexturen (Standard), lues
+of.options.CUSTOM_SKY.tooltip.3= Aus - Standardhimmel, méi schnell
+of.options.CUSTOM_SKY.tooltip.4=D'Himmeltexture gi vum Ressourcepak gelueden
+of.options.CUSTOM_SKY.tooltip.5=
+
+of.options.CUSTOM_ITEMS=Géigestänntexturen
+of.options.CUSTOM_ITEMS.tooltip.1=Géigestänntexturen
+of.options.CUSTOM_ITEMS.tooltip.2= Un - Géigestänntexturen aus dem Ressourcepak
+of.options.CUSTOM_ITEMS.tooltip.3= (Standard), lues
+of.options.CUSTOM_ITEMS.tooltip.4= Aus - Standard-Géigestänntexturen, méi schnell
+of.options.CUSTOM_ITEMS.tooltip.5=Géigestänntexture gi vum Ressourcepak gelueden
+
+# Details
+
+of.options.CLOUDS=Wolleken
+of.options.CLOUDS.tooltip.1=Wolleken
+of.options.CLOUDS.tooltip.2= Standard - wéi vum Grafikmodus definéiert
+of.options.CLOUDS.tooltip.3= Schnell - méi geréng Qualitéit, méi schnell
+of.options.CLOUDS.tooltip.4= Schéin - héich Qualitéit, méi lues
+of.options.CLOUDS.tooltip.5= Aus - keng Wolleken, am schnellsten
+of.options.CLOUDS.tooltip.6=Schnell Wolleke sinn am 2D gerendert.
+of.options.CLOUDS.tooltip.7=Schéi Wolleke sinn am 3D gerendert.
+
+of.options.CLOUD_HEIGHT=Wollekenhéicht
+of.options.CLOUD_HEIGHT.tooltip.1=Wollekenhéicht
+of.options.CLOUD_HEIGHT.tooltip.2= Aus - Standardhéicht
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - iwwert der max. Welt héicht
+
+of.options.TREES=Beem
+of.options.TREES.tooltip.1=Beem
+of.options.TREES.tooltip.2= Standard - wéi vum Grafikmodus definéiert
+of.options.TREES.tooltip.3= Schnell - méi geréng Qualitéit, méi schnell
+of.options.TREES.tooltip.4= Fein - méi héich Qualitéit, schnell
+of.options.TREES.tooltip.5= Schéin - héchste Qualitéit, méi lues
+of.options.TREES.tooltip.6=Schnell Beem hunn onduerchsichteg Blieder
+of.options.TREES.tooltip.7=Schéin a fein Beem hunn transparent Blieder.
+
+of.options.RAIN=Reen a Schnéi
+of.options.RAIN.tooltip.1=Reen a Schnéi
+of.options.RAIN.tooltip.2= Standard - wéi vum Grafikmodus definéiert
+of.options.RAIN.tooltip.3= Schnell - liichte Reen/Schnéi, méi schnell
+of.options.RAIN.tooltip.4= Schéin - heftege Reen/Schnéi, méi lues
+of.options.RAIN.tooltip.5= Aus - keen Reen/Schnéi, schnellst
+of.options.RAIN.tooltip.6=Och wann de Reen aus ass, héiert een nach ëmmer
+of.options.RAIN.tooltip.7=Geräischer
+
+of.options.SKY=Himmel
+of.options.SKY.tooltip.1=Himmel
+of.options.SKY.tooltip.2= Un - Himmel siichtbar, méi lues
+of.options.SKY.tooltip.3= Aus - Himmel net siichtbar, méi schnell
+of.options.SKY.tooltip.4=Och wann den Himmel aus ass, sinn de Mount an d'Sonn
+of.options.SKY.tooltip.5=nach ëmmer siichtbar.
+
+of.options.STARS=Stären
+of.options.STARS.tooltip.1=Stären
+of.options.STARS.tooltip.2= Un - Stäre siichtbar, méi lues
+of.options.STARS.tooltip.3= Aus - Stären net siichtbar, méi schnell
+
+of.options.SUN_MOON=Sonn a Mound
+of.options.SUN_MOON.tooltip.1=Sonn a Mound
+of.options.SUN_MOON.tooltip.2= Un - Sonn a Mound siichtbar (Standard)
+of.options.SUN_MOON.tooltip.3= Aus - Sonn a Mound net siichtbar (méi schnell)
+
+of.options.SHOW_CAPES=Emhang weisen
+of.options.SHOW_CAPES.tooltip.1=Emhang weisen
+of.options.SHOW_CAPES.tooltip.2= Un - weis d'Emhäng vun de Spiller (Standard)
+of.options.SHOW_CAPES.tooltip.3= Aus - d'Emhäng vun de Spiller ginn net ugewisen
+
+of.options.TRANSLUCENT_BLOCKS=Blocktransparenz
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Blocktransparenz
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Schéin - korrekt Faarfmëschung (Standard)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Schnell - schnell Faarfmëschung (méi schnell)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Kontrolléiert Faarfmëschung vun transparente Bléck
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=aus verschiddene Faarwen (gefierfte Glas, Waasser, Äis)
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=wann se hannert ënne placéiert sinn oder Loft
+of.options.TRANSLUCENT_BLOCKS.tooltip.7=dertëschent ass.
+
+of.options.HELD_ITEM_TOOLTIPS=Géigestandbeschreiw.
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Géigestandbeschreiwung
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= Un - weis Géigestandbeschreiwung un (Standard)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= Aus - weis keng Géigestandbeschreiwung
+
+of.options.DROPPED_ITEMS=Géigenstänn
+of.options.DROPPED_ITEMS.tooltip.1=Falengelosse Géigenstänn
+of.options.DROPPED_ITEMS.tooltip.2= Standard - wéi vum Grafikmodus definéiert
+of.options.DROPPED_ITEMS.tooltip.3= Schnell - 2D falengelosse Géigestänn, méi schnell
+of.options.DROPPED_ITEMS.tooltip.4= Schéin - 3D falengelosse Géigestänn, méi lues
+
+options.entityShadows.tooltip.1=Objetschieter
+options.entityShadows.tooltip.2= Un - weis Objetschieter un
+options.entityShadows.tooltip.3= Aus - keng Objetschieter
+
+of.options.VIGNETTE=Vignette
+of.options.VIGNETTE.tooltip.1=Visuellen Effekt deen d'Ecker liicht ofdonkelt
+of.options.VIGNETTE.tooltip.2= Standard - wéi vum Grafikmodus definéiert (Standard)
+of.options.VIGNETTE.tooltip.3= Schnell - Vignette deaktivéiert (méi schnell)
+of.options.VIGNETTE.tooltip.4= Schéin - Vignette aktivéiert (méi lues)
+of.options.VIGNETTE.tooltip.5=D'Vignette kann ee staarken Impakt ob d'FPS hunn,
+of.options.VIGNETTE.tooltip.6=virun allem wann am Vollbildmodus gespillt gëtt.
+of.options.VIGNETTE.tooltip.7=De Vignette Effekt ass relativ geréng a kann dofir
+of.options.VIGNETTE.tooltip.8=ouni Problem deaktivéiert ginn.
+
+of.options.DYNAMIC_FOV=Dynamescht Siichtfeld
+of.options.DYNAMIC_FOV.tooltip.1=Dynamescht Siichtfeld
+of.options.DYNAMIC_FOV.tooltip.2= Un - dynamescht Siichtfeld un (Standard)
+of.options.DYNAMIC_FOV.tooltip.3= Aus - dynamescht Siichtfeld aus
+of.options.DYNAMIC_FOV.tooltip.4=Wiesselt Siichtfeld beim Fléien, Sprinten
+of.options.DYNAMIC_FOV.tooltip.5=oder spannen vun engem Bou.
+
+of.options.DYNAMIC_LIGHTS=Dyn. Beliichtung
+of.options.DYNAMIC_LIGHTS.tooltip.1=Dynamesch Beliichtung
+of.options.DYNAMIC_LIGHTS.tooltip.2= Un - keng dyn. Beliichtung (Standard)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Schnell - schnell dyn- Beliichtung (Update all 500ms)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Schéin - schéin dyn. Beliichtung (Update a Realzäit)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Liicht-Géigestänn (Fackelen, Glowstone etc.)
+of.options.DYNAMIC_LIGHTS.tooltip.6=beliichten d'Ëmgéigend wann se an der Hand gehalen,
+of.options.DYNAMIC_LIGHTS.tooltip.7=een anere Spiller se equipéiert huet oder se
+of.options.DYNAMIC_LIGHTS.tooltip.8=um Buedem Leien.
+
+# Performance
+
+of.options.SMOOTH_FPS=Stabil FPS
+of.options.SMOOTH_FPS.tooltip.1=Stabiliséiert FPS duerch eidel maache
+of.options.SMOOTH_FPS.tooltip.2=vum Grafikdreiwerpuffer
+of.options.SMOOTH_FPS.tooltip.3= Aus - keng Stabilisatioun, FPS kënnen onstabil sinn
+of.options.SMOOTH_FPS.tooltip.4= Un - FPS stabiliséiert
+of.options.SMOOTH_FPS.tooltip.5=Dës Optioun hänkt vun de Grafikdreiwer of an d'Effekter
+of.options.SMOOTH_FPS.tooltip.6=sinn net ëmmer siichtbar.
+
+of.options.SMOOTH_WORLD=Welt Stabiliséierung
+of.options.SMOOTH_WORLD.tooltip.1=Hellt Lag Spëtzten déi duerch den interne Server
+of.options.SMOOTH_WORLD.tooltip.2=verursaacht gi fort.
+of.options.SMOOTH_WORLD.tooltip.3= Aus - keng Stabilisatioun, FPS kënnen onstabil sinn
+of.options.SMOOTH_WORLD.tooltip.4= Un - FPS stabiliséiert
+of.options.SMOOTH_WORLD.tooltip.5=Stabiliséiert FPS duerch verdeele vun der Laascht ob
+of.options.SMOOTH_WORLD.tooltip.6=den interne Server.
+of.options.SMOOTH_WORLD.tooltip.7=Nëmmen effektiv am Singleplayer.
+
+of.options.FAST_RENDER=Schnellt Renderen
+of.options.FAST_RENDER.tooltip.1=Schnellt Renderen
+of.options.FAST_RENDER.tooltip.2= Aus - Standard-Renderen (Standard)
+of.options.FAST_RENDER.tooltip.3= Un - optiméiert Renderen (méi schnell)
+of.options.FAST_RENDER.tooltip.4=Benotzt een optimiséierte Renderalgorithmus dee GPU
+of.options.FAST_RENDER.tooltip.5=Laascht verklengert an domadder méi héich FPS
+of.options.FAST_RENDER.tooltip.6=erméiglecht.
+
+of.options.FAST_MATH=Schnell Mathematik
+of.options.FAST_MATH.tooltip.1=Schnell Mathematik
+of.options.FAST_MATH.tooltip.2= Aus - Standard-Mathematik (Standard)
+of.options.FAST_MATH.tooltip.3= Un - schnell Mathematik
+of.options.FAST_MATH.tooltip.4=Benotzt optiméiert sin() a cos() Funktiounen déi de
+of.options.FAST_MATH.tooltip.5=CPU cache stabiliséieren a méi héich FPS erméiglechen.
+
+of.options.CHUNK_UPDATES=Chunk Updates
+of.options.CHUNK_UPDATES.tooltip.1=Chunk Updates
+of.options.CHUNK_UPDATES.tooltip.2= 1 - luest Luede vun der Welt, héich FPS (Standard)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - schnellt Luede vun der Welt, manner FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - schnellst Luede vun der Welt, am mannste FPS
+of.options.CHUNK_UPDATES.tooltip.5=Unzuel vu Chunk Updates pro gerendert Bild.
+of.options.CHUNK_UPDATES.tooltip.6=Méi héicht Wäerter kënnen d'Billerunzuel destabiliséieren.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Dynamesch Updates
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Dynamesch Chunk Updates
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= Aus - (Standard) Standard Chunk Updates pro Bild
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= Un - méi Updates wann de Spiller roueg steet
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Dynamesch Updates forcéiert méi Chunk Updates während
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=de Spiller roueg steet fir d'Welt méi schnell ze lueden.
+
+of.options.LAZY_CHUNK_LOADING=Faulenzeg Chunklueden
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Faulenzeg Chunklueden
+of.options.LAZY_CHUNK_LOADING.tooltip.2= Aus - normaalt Server-Chunklueden
+of.options.LAZY_CHUNK_LOADING.tooltip.3= Un - faulenzeg Server-Chunklueden (méi fléissend)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Mécht datt d'integréiert Luede vun de Server-Chunks méi
+of.options.LAZY_CHUNK_LOADING.tooltip.5=fléissend ass duerch Verdeelung vun de Chunks iwwer
+of.options.LAZY_CHUNK_LOADING.tooltip.6=puer Ticks. Deaktivéier et wann Deeler vun der Welt net
+of.options.LAZY_CHUNK_LOADING.tooltip.7=richteg lueden. Nëmmen effektiv am Singleplayer a bei
+of.options.LAZY_CHUNK_LOADING.tooltip.8=engem Enzel-Kär CPU.
+
+# Animations
+
+of.options.animation.allOn=All un
+of.options.animation.allOff=All aus
+of.options.animation.dynamic=Dynamesch
+
+of.options.ANIMATED_WATER=Waasser animéiert
+of.options.ANIMATED_LAVA=Lava animéiert
+of.options.ANIMATED_FIRE=Féier animéiert
+of.options.ANIMATED_PORTAL=Portal animéiert
+of.options.ANIMATED_REDSTONE=Redstone animéiert
+of.options.ANIMATED_EXPLOSION=Explosiounen animéiert
+of.options.ANIMATED_FLAME=Flamen animéiert
+of.options.ANIMATED_SMOKE=Damp animéiert
+of.options.VOID_PARTICLES=Voidpartikel
+of.options.WATER_PARTICLES=Waasserpartikel
+of.options.RAIN_SPLASH=Reengeplätscher
+of.options.PORTAL_PARTICLES=Portalpartikel
+of.options.POTION_PARTICLES=Dronkpartikel
+of.options.DRIPPING_WATER_LAVA=Waasser/Lavadrëpsen
+of.options.ANIMATED_TERRAIN=Terrain animéiert
+of.options.ANIMATED_TEXTURES=Texturen animéiert
+of.options.FIREWORK_PARTICLES=Féierwierkpartikel
+
+# Other
+
+of.options.LAGOMETER=Lagometer
+of.options.LAGOMETER.tooltip.1=Wéist de Lagometer um Debugbildschierm un (F3).
+of.options.LAGOMETER.tooltip.2=* Orange - Memoiredrécksammlung
+of.options.LAGOMETER.tooltip.3=* Turqoise - Tick
+of.options.LAGOMETER.tooltip.4=* Blo - geplangten Ausféierungen
+of.options.LAGOMETER.tooltip.5=* Mof - Chunk eroplueden
+of.options.LAGOMETER.tooltip.6=* Roud - Chunk updaten
+of.options.LAGOMETER.tooltip.7=* Giel - Siichtbarkeetstest
+of.options.LAGOMETER.tooltip.8=* Gréng - Terrain rendern
+
+of.options.PROFILER=Debug Profiler
+of.options.PROFILER.tooltip.1=Debug Profiler
+of.options.PROFILER.tooltip.2= Un - Debug Profiler ass aktiv, méi lues
+of.options.PROFILER.tooltip.3= Aus - Debug Profiler ass net aktiv, méi schnell
+of.options.PROFILER.tooltip.4=Den Debug Profiler sammel a weist Debug Informatiounen
+of.options.PROFILER.tooltip.5=un wann den Debugbildschierm un ass (F3)
+
+of.options.WEATHER=Wieder
+of.options.WEATHER.tooltip.1=Wieder
+of.options.WEATHER.tooltip.2= Un - Wieder ass aktiv, méi lues
+of.options.WEATHER.tooltip.3= Aus - Wieder ass net aktiv, méi schnell
+of.options.WEATHER.tooltip.4=D'Wieder kontrolléiert de Reen, Schnéi an Donnerwieder.
+of.options.WEATHER.tooltip.5=D'Wiederkontroll ass nëmmen am Singleplayer méiglech.
+
+of.options.time.dayOnly=Nëmmen Dag
+of.options.time.nightOnly=Nëmmen Nuecht
+
+of.options.TIME=Zäit
+of.options.TIME.tooltip.1=Zäit
+of.options.TIME.tooltip.2= Standard - normalen Dag/Nuecht Zyklus
+of.options.TIME.tooltip.3= Nëmmen Dag - Nëmmen Dag
+of.options.TIME.tooltip.4= Nëmmen Nuecht - Nëmmen Nuecht
+of.options.TIME.tooltip.5=D'Zäitastellunge sinn nëmmen effektiven am Kreativemodus
+of.options.TIME.tooltip.6=an am Singleplayer.
+
+options.fullscreen.tooltip.1=Vollbild
+options.fullscreen.tooltip.2= Un - benotz de Vollbildmodus
+options.fullscreen.tooltip.3= Aus - benotz de Fenstermodus
+options.fullscreen.tooltip.4=De Vollbildmodus ka méi schnell oder awer méi lues sinn
+options.fullscreen.tooltip.5=wéi de Fenstermodus ofhängeg vun denger Grafikkaart.
+
+of.options.FULLSCREEN_MODE=Vollbildmodus
+of.options.FULLSCREEN_MODE.tooltip.1=Vollbildmodus
+of.options.FULLSCREEN_MODE.tooltip.2= Standard - benotz d'Desktop-Opléisung, méi lues
+of.options.FULLSCREEN_MODE.tooltip.3= WxH - benotz eng eege Opléisung, ka méi schnell sinn
+of.options.FULLSCREEN_MODE.tooltip.4=D'ausgewielten Opléisung gëtt am Vollbildmodus
+of.options.FULLSCREEN_MODE.tooltip.5=benotzt (F11).
+of.options.FULLSCREEN_MODE.tooltip.6=Eng méi eng geréng Opléisung sollt méi schnell sinn.
+
+of.options.SHOW_FPS=FPS uweisen
+of.options.SHOW_FPS.tooltip.1=Weis kompriméiert FPS a Render Informatiounen
+of.options.SHOW_FPS.tooltip.2= C: - gerendert Chunks
+of.options.SHOW_FPS.tooltip.3= E: - gerendert Objet a Bléck
+of.options.SHOW_FPS.tooltip.4= U: - Chunk Updates
+of.options.SHOW_FPS.tooltip.5=D'kompakt FPS Informatioune ginn nëmmen ugewisen
+of.options.SHOW_FPS.tooltip.6=wann de Debug-Bildschierm net siichtbar ass.
+
+of.options.save.default=Standard (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Autospäicheren
+of.options.AUTOSAVE_TICKS.tooltip.1=Autospäicher Intervall
+of.options.AUTOSAVE_TICKS.tooltip.2=Den normalen Autospäicher Intervall (2s) ass net
+of.options.AUTOSAVE_TICKS.tooltip.3=recommandéiert
+of.options.AUTOSAVE_TICKS.tooltip.4=Autospäichere verursaacht de bekannte Lag vum Doud.
diff --git a/src/main/resources/assets/minecraft/optifine/lang/pl_PL.lang b/src/main/resources/assets/minecraft/optifine/lang/pl_PL.lang
new file mode 100644
index 00000000..5f658f4a
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/pl_PL.lang
@@ -0,0 +1,585 @@
+# Contributors of Polish localization #
+# Kamil7430 2016-03-14 -- 2017-03-12 #
+
+# General
+of.general.ambiguous=dwuznaczny
+of.general.custom=Inny
+of.general.from=Od
+of.general.id=Id
+of.general.restart=restart
+of.general.smart=Smart
+
+# Keys
+of.key.zoom=Zoom (przybliżenie)
+
+# Message
+of.message.aa.shaders1=Antyaliasing nie jest kompatybilny z Shaderami.
+of.message.aa.shaders2=Proszę, wyłącz Shadery, aby używać tej opcji.
+
+of.message.af.shaders1=Filtrowanie anizotropowe nie jest kompatybilne z Shaderami.
+of.message.af.shaders2=Proszę, wyłącz Shadery, aby używać tej opcji.
+
+of.message.fr.shaders1=Szybkie renderowanie nie jest kompatybilne z Shaderami.
+of.message.fr.shaders2=Proszę, wyłącz Shadery, aby używać tej opcji.
+
+of.message.an.shaders1=Anaglifowe 3D nie jest kompatybilne z Shaderami.
+of.message.an.shaders2=Proszę, wyłącz Shadery, aby używać tej opcji.
+
+of.message.shaders.aa1=Shadery nie sÄ… kompatybilne z antyaliasingiem.
+of.message.shaders.aa2=Proszę, wyłącz opcję Jakość -> Antyaliasing, a następnie zrestartuj grę.
+
+of.message.shaders.af1=Shadery nie sÄ… kompatybilne z filtrowaniem anizotropowym.
+of.message.shaders.af2=Proszę, wyłącz opcję Jakość -> Filtrowanie anizotropowe.
+
+of.message.shaders.fr1=Shadery nie sÄ… kompatybilne z szybkim renderowaniem.
+of.message.shaders.fr2=Proszę, wyłącz opcję Wydajność -> Szybkie renderowanie.
+
+of.message.shaders.an1=Shadery nie sÄ… kompatybilne z anaglifowym 3D.
+of.message.shaders.an2=Proszę, wyłącz opcję Inne -> Anaglifowe 3D.
+
+of.message.newVersion=Nowa wersja §eOptiFine§f jest dostępna: §e%s§f
+of.message.java64Bit=Zalecamy zainstalowanie §e64-bitowego środowiska Java§f, aby podwyższyć wydajność.
+of.message.openglError=§eBłąd OpenGL§f: %s (%s)
+
+of.message.shaders.loading=WczytujÄ™ shadery: %s
+
+of.message.other.reset=Czy chcesz przywrócić wszystkie ustawienia graficzne do ich domyślnych wartości?
+
+of.message.loadingVisibleChunks=Wczytywanie widzialnych chunków
+
+# Video settings
+
+options.graphics.tooltip.1=Jakość grafiki
+options.graphics.tooltip.2= Szybka - niższa jakość, większa wydajność
+options.graphics.tooltip.3= Dokładna - wyższa jakość, mniejsza wydajność
+options.graphics.tooltip.4=Zmienia wygląd chmur, liści, wody,
+options.graphics.tooltip.5=cieni oraz boków bloków trawy.
+
+of.options.renderDistance.extreme=Ekstremalna
+
+options.renderDistance.tooltip.1=Odległość renderowania
+options.renderDistance.tooltip.2= 2 Niewielka - 32m (najwyższa wydajność)
+options.renderDistance.tooltip.3= 4 Krótka - 64m (wysoka wydajność)
+options.renderDistance.tooltip.4= 8 Normalna - 128m
+options.renderDistance.tooltip.5= 16 Długa - 256m (niska wydajność)
+options.renderDistance.tooltip.6= 32 Ekstremalna - 512m (najniższa wydajność)
+options.renderDistance.tooltip.7=Odległość renderowania ekstremalna jest bardzo zasobożerna!
+options.renderDistance.tooltip.8=Wartości powyżej 16 Długa są zalecane tylko do lokalnych światów.
+
+options.ao.tooltip.1=Gładkie oświetlenie
+options.ao.tooltip.2= Wył. - brak wygładzania oświetlenia (wysoka wydajność)
+options.ao.tooltip.3= Min. - podstawowe wygładzanie oświetlenia (niska wydajność)
+options.ao.tooltip.4= Maks. - pełne wygładzanie oświetlenia (najniższa wydajność)
+
+options.framerateLimit.tooltip.1=Limit klatek/s (FPS)
+options.framerateLimit.tooltip.2= VSync - ograniczone do możliwości monitora (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - ograniczone do podanej wartości
+options.framerateLimit.tooltip.4= Nielimitowane - brak limitu (najwyższa wydajność)
+options.framerateLimit.tooltip.5=Limit klatek zmiejsza FPS, nawet, gdy wartość
+options.framerateLimit.tooltip.6=graniczna nie została osiągnięta.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Poziom wygładzania oświetlenia
+of.options.AO_LEVEL.tooltip.1=Poziom wygładzania oświetlenia
+of.options.AO_LEVEL.tooltip.2= Wył. - brak cieni
+of.options.AO_LEVEL.tooltip.3= 50%% - jasne cienie
+of.options.AO_LEVEL.tooltip.4= 100%% - ciemne cienie
+
+options.viewBobbing.tooltip.1=Bardziej realistyczne poruszanie siÄ™.
+options.viewBobbing.tooltip.2=Gdy uzywasz mipmap, wyłącz tę opcję, aby podwyższyć wydajność.
+
+options.guiScale.tooltip.1=Wielkość Interfejsu
+options.guiScale.tooltip.2=Mniejszy interfejs może podyższyć wydajność
+
+options.vbo.tooltip.1=Vertex Buffer Objects
+options.vbo.tooltip.2=Używa alternatywnej metody renderowania, która jest
+options.vbo.tooltip.3=szybsza (o 5-10%%) niż zwykła metoda.
+
+options.gamma.tooltip.1=Podwyższa jasność ciemnych obiektów
+options.gamma.tooltip.2= Nastrojowa - standardowa jasność
+options.gamma.tooltip.3= 1%%-99%% - możliwość dostosowania jasności
+options.gamma.tooltip.4= Jaskrawa - maksymalna jasność ciemnych obiektów
+options.gamma.tooltip.5=Ta opcja nie podwyższa jasności obiektów, które
+options.gamma.tooltip.6=są w pełni czarne.
+
+options.anaglyph.tooltip.1=Anaglify 3D
+options.anaglyph.tooltip.2=Włącza stereoskopowy efekt 3D używając różnych kolorów
+options.anaglyph.tooltip.3=dla każdego oka.
+options.anaglyph.tooltip.4=Wymaga czerwono-niebieskich okularów.
+
+options.blockAlternatives.tooltip.1=Alternatywne bloki
+options.blockAlternatives.tooltip.2=Używa alternatywnych modeli dla niektóych bloków.
+options.blockAlternatives.tooltip.3=Bazowane na wybranyej paczce tekstur.
+
+of.options.ALTERNATE_BLOCKS=Alternatywne bloki
+of.options.blockAlternatives.tooltip.1=Alternatywne bloki
+of.options.blockAlternatives.tooltip.2=Używa alternatywnych modeli dla niektóych bloków.
+of.options.blockAlternatives.tooltip.3=Bazowane na wybranyej paczce tekstur.
+
+of.options.FOG_FANCY=Mgła
+of.options.FOG_FANCY.tooltip.1=Typ mgły
+of.options.FOG_FANCY.tooltip.2= Szybka - szybka mgła
+of.options.FOG_FANCY.tooltip.3= Dokładna - ładniejsza mgła, zmniejsza wydajność
+of.options.FOG_FANCY.tooltip.4= Wył. - brak mgły, najwyższa wydajność
+of.options.FOG_FANCY.tooltip.5=Dokładna mgła jest dostępna jedynie, jeżeli
+of.options.FOG_FANCY.tooltip.6=obsługuje ją karta graficzna.
+
+of.options.FOG_START=Początkowa mgła
+of.options.FOG_START.tooltip.1=Początkowa mgła
+of.options.FOG_START.tooltip.2= 0.2 - mgła startuje w pobliżu gracza
+of.options.FOG_START.tooltip.3= 0.8 - mgła startuje z dala od gracza
+of.options.FOG_START.tooltip.4=Ta opcja zazwyczaj nie zmienia wydajności.
+
+of.options.CHUNK_LOADING=Åadowanie chunków
+of.options.CHUNK_LOADING.tooltip.1=Åadowanie chunków
+of.options.CHUNK_LOADING.tooltip.2= Domyślne - niestabilne FPS podczas ładowania chunków
+of.options.CHUNK_LOADING.tooltip.3= GÅ‚adkie - stabilne FPS
+of.options.CHUNK_LOADING.tooltip.4= Wielordzeniowe - stabilne FPS, 3 razy szybsze ładowanie świata
+of.options.CHUNK_LOADING.tooltip.5=Opcje GÅ‚adkie i Wielordzeniowe zredukujÄ…
+of.options.CHUNK_LOADING.tooltip.6=przycięcia spowodowane ładowaniem chunków.
+of.options.CHUNK_LOADING.tooltip.7=Opcja Wielordzeniowe może trzykrotnie przyspieszyć ładowanie
+of.options.CHUNK_LOADING.tooltip.8=oraz podwyższyć FPS używając dodatkowego rdzenia.
+of.options.chunkLoading.smooth=GÅ‚adkie
+of.options.chunkLoading.multiCore=Wielordzeniowe
+
+of.options.shaders=Shadery...
+of.options.shadersTitle=Shadery
+
+of.options.shaders.packNone=Wyłączone
+of.options.shaders.packDefault=Wewnętrzne
+
+of.options.shaders.ANTIALIASING=Antyaliasing
+of.options.shaders.NORMAL_MAP=Normalna mapa
+of.options.shaders.SPECULAR_MAP=Lustrzana mapa
+of.options.shaders.RENDER_RES_MUL=Jakość renderowania
+of.options.shaders.SHADOW_RES_MUL=Jakość cieni
+of.options.shaders.HAND_DEPTH_MUL=Głębokość ręki
+of.options.shaders.CLOUD_SHADOW=Cienie chmur
+of.options.shaders.OLD_HAND_LIGHT=Stare oświetlanie ręki
+of.options.shaders.OLD_LIGHTING=Stare oświetlanie
+of.options.shaders.SHADER_PACK=Paczka shaderów
+
+of.options.shaders.shadersFolder=Folder na shadery
+of.options.shaders.shaderOptions=Ustawienia shaderów...
+
+of.options.shaderOptionsTitle=Ustawienia shaderów
+
+of.options.quality=Jakość...
+of.options.qualityTitle=Ustawienia jakości
+
+of.options.details=Detale...
+of.options.detailsTitle=Ustawienia detali
+
+of.options.performance=Wydajność...
+of.options.performanceTitle=Ustawienia wydajności
+
+of.options.animations=Animacje...
+of.options.animationsTitle=Ustawienia animacji
+
+of.options.other=Inne...
+of.options.otherTitle=Inne ustawienia
+
+of.options.other.reset=Przywróć domyślne ustawienia graficzne...
+
+of.shaders.profile=Profil
+
+# Quality
+
+of.options.mipmap.bilinear=Dwuliniowe
+of.options.mipmap.linear=Liniowy
+of.options.mipmap.nearest=Najbliższy
+of.options.mipmap.trilinear=Trójliniowy
+
+options.mipmapLevels.tooltip.1=Efekt wizualny, który sprawia, że odległe bloki wyglądają
+options.mipmapLevels.tooltip.2=lepiej poprzez wygładzanie detali tekstur
+options.mipmapLevels.tooltip.3= Wył. - brak wygładzania
+options.mipmapLevels.tooltip.4= 1 - minimalne wygładzanie
+options.mipmapLevels.tooltip.5= 4 - maksymalne wygładzanie
+options.mipmapLevels.tooltip.6=Ta opcja nie ma wpływu na wydajność.
+
+of.options.MIPMAP_TYPE=Typ mipmapy
+of.options.MIPMAP_TYPE.tooltip.1=Efekt wizualny, który sprawia, że odległe bloki wyglądają
+of.options.MIPMAP_TYPE.tooltip.2=lepiej poprzez wygładzanie detali tekstur
+of.options.MIPMAP_TYPE.tooltip.3= Najbliższy - szorstkie wygładzanie (najwyższa wydajność)
+of.options.MIPMAP_TYPE.tooltip.4= Liniowy - normalne wygładzanie
+of.options.MIPMAP_TYPE.tooltip.5= Dwuliniowy - ładne wygładzanie
+of.options.MIPMAP_TYPE.tooltip.6= Trójliniowe - najładniejsze wygładzanie (najniższa wydajność)
+
+
+of.options.AA_LEVEL=Antyaliasing
+of.options.AA_LEVEL.tooltip.1=Antyaliasing
+of.options.AA_LEVEL.tooltip.2= OFF - (domyślne) brak antyaliasingu (wyższa wydajność)
+of.options.AA_LEVEL.tooltip.3= 2-16 - antyaliasing linii i rogów (nizsza wydajność)
+of.options.AA_LEVEL.tooltip.4=Antyaliasing wygładza poszarpane linie i
+of.options.AA_LEVEL.tooltip.5=ostre przejścia kolorów.
+of.options.AA_LEVEL.tooltip.6=Gdy włączone, może mocno obniżyć ilość FPS.
+of.options.AA_LEVEL.tooltip.7=Niektóre poziomy są nieobsługiwane przez niektóre karty graficzne.
+of.options.AA_LEVEL.tooltip.8=Wymaga restartu!
+
+of.options.AF_LEVEL=Wygładzanie Anizotropowe
+of.options.AF_LEVEL.tooltip.1=Wygładzanie anizotropowe
+of.options.AF_LEVEL.tooltip.2= Wył. - (domyślne) standarowe detale tekstur (najwyższa wydajność)
+of.options.AF_LEVEL.tooltip.3= 2-16 - ładniejsze detale w mipmapowanych teksturach (niższa wydajność)
+of.options.AF_LEVEL.tooltip.4=Filtrowanie anizotropowe pokazuje detale w
+of.options.AF_LEVEL.tooltip.5=mipmapowanych teksturach.
+of.options.AF_LEVEL.tooltip.6=Gdy włączone, może mocno obniżyć FPS.
+
+of.options.CLEAR_WATER=Czysta woda
+of.options.CLEAR_WATER.tooltip.1=Czysta woda
+of.options.CLEAR_WATER.tooltip.2= WÅ‚. - czysta, przezroczysta woda
+of.options.CLEAR_WATER.tooltip.3= Wył. - domyślna woda
+
+of.options.RANDOM_MOBS=Losowe moby
+of.options.RANDOM_MOBS.tooltip.1=Losowe tekstury mobów
+of.options.RANDOM_MOBS.tooltip.2= Wył. - brak losowych tekstur mobów, wyższa wydajność
+of.options.RANDOM_MOBS.tooltip.3= Wł. - włączone losowe tekstury mobów, niższa wydajność
+of.options.RANDOM_MOBS.tooltip.4=Ta opcja używa losowych tekstur dla mobów w grze.
+of.options.RANDOM_MOBS.tooltip.5=Wymaga paczki tesktur z wieloma teksturami dla jednego moba.
+
+of.options.BETTER_GRASS=Åadniejsza trawa
+of.options.BETTER_GRASS.tooltip.1=Åadniejsza trawa
+of.options.BETTER_GRASS.tooltip.2= Wył. - domyślne boki bloków trawy, najwyższa wydajność
+of.options.BETTER_GRASS.tooltip.3= Szybka - pełne boki bloków trawy, niższa wydajność
+of.options.BETTER_GRASS.tooltip.4= Dokładna - dynamiczne boki bloków trawy, najniższa wydajność
+
+of.options.BETTER_SNOW=Åadniejszy Å›nieg
+of.options.BETTER_SNOW.tooltip.1=Åadniejszy Å›nieg
+of.options.BETTER_SNOW.tooltip.2= Wył. - domyślny śnieg, wyższa wydajność
+of.options.BETTER_SNOW.tooltip.3= Wł. - ładniejszy śnieg, mniejsza wydajność
+of.options.BETTER_SNOW.tooltip.4=Pokazuje śnieg pod przezroczystymi blokami (płot, wysoka
+of.options.BETTER_SNOW.tooltip.5=trawa) gdy graniczą ze śniegiem
+
+of.options.CUSTOM_FONTS=WÅ‚asne czcionki
+of.options.CUSTOM_FONTS.tooltip.1=WÅ‚asne czcionki
+of.options.CUSTOM_FONTS.tooltip.2= Wł. - używa innych czcionek (domyślne), niższa wydajność
+of.options.CUSTOM_FONTS.tooltip.3= Wył. - używa domyślnej czcionki, wyższa wydajność
+of.options.CUSTOM_FONTS.tooltip.4=Własne czcionki są często dodawane do
+of.options.CUSTOM_FONTS.tooltip.5=paczek tekstur
+
+of.options.CUSTOM_COLORS=WÅ‚asne kolory
+of.options.CUSTOM_COLORS.tooltip.1=WÅ‚asne kolory
+of.options.CUSTOM_COLORS.tooltip.2= Wł. - używa własnych kolorów (domyślne), nizsza wydajność
+of.options.CUSTOM_COLORS.tooltip.3= Wył. - uzywa domyślnych kolorów, wyższa wydajność
+of.options.CUSTOM_COLORS.tooltip.4=Własne kolory są często dodawane do
+of.options.CUSTOM_COLORS.tooltip.5=paczek tekstur
+
+of.options.SWAMP_COLORS=Bagienne kolory
+of.options.SWAMP_COLORS.tooltip.1=Bagienne kolory
+of.options.SWAMP_COLORS.tooltip.2= Wł. - używa kolorów bagiennych (domyślne), niższa wydajność
+of.options.SWAMP_COLORS.tooltip.3= Wył. - nie używa kolorów baginnych, wyższa wydajność
+of.options.SWAMP_COLORS.tooltip.4=Kolory bagienne są użwane na liściach, trawie, winoroślach oraz wodzie.
+
+of.options.SMOOTH_BIOMES=GÅ‚adkie biomy
+of.options.SMOOTH_BIOMES.tooltip.1=Gładkie przejścia biomów
+of.options.SMOOTH_BIOMES.tooltip.2= Wł. - gładkie przejścia biomów (domyślne), niższa wydajność
+of.options.SMOOTH_BIOMES.tooltip.3= Wył. - brak gładkiego przejścia biomów, wyższa wydajność
+of.options.SMOOTH_BIOMES.tooltip.4=Wygładzanie krawędzi biomów działa na zasadzie
+of.options.SMOOTH_BIOMES.tooltip.5=gładkiego przejścia kolorów liści, winorośli,
+of.options.SMOOTH_BIOMES.tooltip.6=wody oraz trawy.
+
+of.options.CONNECTED_TEXTURES=Połączone tekstury
+of.options.CONNECTED_TEXTURES.tooltip.1=Połączone tekstury
+of.options.CONNECTED_TEXTURES.tooltip.2= Wył. - brak połączonych tekstur (domyślne)
+of.options.CONNECTED_TEXTURES.tooltip.3= Szybka - szybkie połączone tekstury
+of.options.CONNECTED_TEXTURES.tooltip.4= Dokładna - ładne połączone tekstury
+of.options.CONNECTED_TEXTURES.tooltip.5=Ta opcja łączy postawione obok siebie szkło,
+of.options.CONNECTED_TEXTURES.tooltip.6=piaskowiec i biblioteczki.
+of.options.CONNECTED_TEXTURES.tooltip.7=Połączone tekstury są pobierane z
+of.options.CONNECTED_TEXTURES.tooltip.8=aktualnej paczki tekstur.
+
+of.options.NATURAL_TEXTURES=Naturalne tekstury
+of.options.NATURAL_TEXTURES.tooltip.1=Naturalne tekstury
+of.options.NATURAL_TEXTURES.tooltip.2= Wył. - brak naturalnych tekstur (domyślne)
+of.options.NATURAL_TEXTURES.tooltip.3= Wł. - używa naturalnych tekstur
+of.options.NATURAL_TEXTURES.tooltip.4=Ta opcja usuwa wyglÄ…dajÄ…ce jak siatka tekstury
+of.options.NATURAL_TEXTURES.tooltip.5=stworzone poprzez używanie w kółko tej samej tekstury.
+of.options.NATURAL_TEXTURES.tooltip.6=Ta opcje używa obróconych tekstur bloków.
+of.options.NATURAL_TEXTURES.tooltip.7=Konfiguracja naturalnych tekstur jest pobierana
+of.options.NATURAL_TEXTURES.tooltip.8=z aktualnej paczki tekstur.
+
+of.options.CUSTOM_SKY=WÅ‚asne niebo
+of.options.CUSTOM_SKY.tooltip.1=WÅ‚asne niebo
+of.options.CUSTOM_SKY.tooltip.2= Wł. - tekstury własnego nieba włączone (domyślne), niższa wydajność
+of.options.CUSTOM_SKY.tooltip.3= Wył. - domyślne niebo, wyższa wydajność
+of.options.CUSTOM_SKY.tooltip.4=WÅ‚asne niebo jest pobierane
+of.options.CUSTOM_SKY.tooltip.5=z aktualnej paczki tesktur.
+
+of.options.CUSTOM_ITEMS=WÅ‚asne przedmioty
+of.options.CUSTOM_ITEMS.tooltip.1=WÅ‚asne przedmioty
+of.options.CUSTOM_ITEMS.tooltip.2= Wł. - własne tekstury przedmiotów (domyślne), niższa wydajność
+of.options.CUSTOM_ITEMS.tooltip.3= Wył. - domyślne tesktury przedmiotów, wyższa wydajność
+of.options.CUSTOM_ITEMS.tooltip.4=Własne tekstury przedmiotów są pobierane
+of.options.CUSTOM_ITEMS.tooltip.5=z aktualnej paczki tekstur.
+
+of.options.CUSTOM_ENTITY_MODELS=Własne modele mobów
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=Własne modele mobów i innych podmiotów
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= Wł. - opcja włączona (domyślne), wolniej
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= Wył. - opcja wyłączona, szybciej
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=WÅ‚asne modele sÄ… pobierane z
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=aktualnej paczki tekstur.
+
+# Details
+
+of.options.CLOUDS=Chmury
+of.options.CLOUDS.tooltip.1=Chmury
+of.options.CLOUDS.tooltip.2= Domyślne - dopasowane do ustawienia graficznego
+of.options.CLOUDS.tooltip.3= Szybka - niska jakość, wysoka wydajność
+of.options.CLOUDS.tooltip.4= Dokładna - wyższa jakość, niska wydajność
+of.options.CLOUDS.tooltip.5= Wył. - brak chmur, najwyższa wydajność
+of.options.CLOUDS.tooltip.6=Szybkie chmury sÄ… renderowane w 2D.
+of.options.CLOUDS.tooltip.7=Dokładne chmury są renderowane w 3D.
+
+of.options.CLOUD_HEIGHT=Wysokość chmur
+of.options.CLOUD_HEIGHT.tooltip.1=Wyskość chmur
+of.options.CLOUD_HEIGHT.tooltip.2= Wył. - domyślna wysokość
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - powyżej limitu wysokości świata
+
+of.options.TREES=Drzewa
+of.options.TREES.tooltip.1=Drzewa
+of.options.TREES.tooltip.2= Domyślne - dostosowane do ustawienia graficznego
+of.options.TREES.tooltip.3= Szybka - niższa jakość, wyższa wydajność
+of.options.TREES.tooltip.4= Smart - wyższa jakość, niższa wydajność
+of.options.TREES.tooltip.5= Dokładna - najwyższa jakość, najniższa wydajność
+of.options.TREES.tooltip.6=Szybkie drzewa mają wypełnione liście.
+of.options.TREES.tooltip.7=Szybkie i smart drzewa mają przezroczyste liście.
+
+of.options.RAIN=Deszcz i śnieg
+of.options.RAIN.tooltip.1=Deszcz i śnieg
+of.options.RAIN.tooltip.2= Domyślne - dostosowane do ustawienia graficznego
+of.options.RAIN.tooltip.3= Szybka - lekki deszcz/śnieg, wyższa wydajność
+of.options.RAIN.tooltip.4= Dokładna - ciężki deszcz/śnieg, niższa wydajność
+of.options.RAIN.tooltip.5= Wył. - brak deszczu/śniegu, najwyższa wydajność
+of.options.RAIN.tooltip.6=Gdy deszcz jest wyłączony, dźwięki nadal
+of.options.RAIN.tooltip.7=sÄ… aktywne.
+
+of.options.SKY=Niebo
+of.options.SKY.tooltip.1=Niebo
+of.options.SKY.tooltip.2= Wł. - niebo jest widoczne, niższa wydajność
+of.options.SKY.tooltip.3= Wył. - niebo jest niewidoczne, wyższa wydajność
+of.options.SKY.tooltip.4=Gdy niebo jest wyłączone, słońce i księżyc nadal są widoczne.
+
+of.options.STARS=Gwiazdy
+of.options.STARS.tooltip.1=Gwiazdy
+of.options.STARS.tooltip.2= Wł. - gwiazdy są widoczne, niższa wydajność
+of.options.STARS.tooltip.3= Wył. - gwiazdy są niewidoczne, wyższa wydajność
+
+of.options.SUN_MOON=Słońce i Księżyc
+of.options.SUN_MOON.tooltip.1=Słońce i Księżyc
+of.options.SUN_MOON.tooltip.2= Wł. - słońce i księżyc są widoczne (domyślne)
+of.options.SUN_MOON.tooltip.3= Wył. - słońce i księżyc są niewidoczne (wyższa wydajność)
+
+of.options.SHOW_CAPES=Pokazuj peleryny
+of.options.SHOW_CAPES.tooltip.1=Pokazuj peleryny
+of.options.SHOW_CAPES.tooltip.2= Wł. - pokazuje peleryny graczy (domyślne)
+of.options.SHOW_CAPES.tooltip.3= Wył. - nie pokazuje peleryn graczy
+
+of.options.TRANSLUCENT_BLOCKS=Prześwitujące bloki
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Prześwitujące bloki
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Dokładna - poprawne mieszanie kolorów (domyślne)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Szybka - szybkie mieszanie kolorów (wyższa wydajność)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Kontroluje mieszanie kolorów bloków przezroczystych
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=w różnych kolorach (utawrdzone szkło, woda, lód)
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=gdy pod nimi są bloki inne niż powietrze.
+
+of.options.HELD_ITEM_TOOLTIPS=Nazwy trzym. przedm.
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Nazwy trzymanych przedmiotów nad interfejsem
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= Wł. - pokazuj nazwy przedmiotów (domyślne)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= Wył. - nie pokazuj nazw przedmiotów
+
+of.options.ADVANCED_TOOLTIPS=Dokładne dane przedmiotów
+of.options.ADVANCED_TOOLTIPS.tooltip.1=Dokładne dane przedmiotów, bloków oraz narzędzi
+of.options.ADVANCED_TOOLTIPS.tooltip.2= Wł. - pokazuj dokładne dane
+of.options.ADVANCED_TOOLTIPS.tooltip.3= Wył. - nie pokazuj dokładnych danych (domyślne)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Ta opcja pokazuje więcej informacji o dowolnym
+of.options.ADVANCED_TOOLTIPS.tooltip.5=przedmiocie (id, wytrzymałość), a także dane o nim
+of.options.ADVANCED_TOOLTIPS.tooltip.6=dla shaderów (id, źródło, domyślna wartość).
+
+of.options.DROPPED_ITEMS=Upuszczone przedmioty
+of.options.DROPPED_ITEMS.tooltip.1=Upuszczone przedmioty
+of.options.DROPPED_ITEMS.tooltip.2= Domyślne - przystosowane do ustawienia graficznego
+of.options.DROPPED_ITEMS.tooltip.3= Szybka - upuszczone przedmioty w 2D, wyższa wydajność
+of.options.DROPPED_ITEMS.tooltip.4= Dokładna - upuszczone przedmioty w 3D, niższa wydajność
+
+options.entityShadows.tooltip.1=Cienie bytów
+options.entityShadows.tooltip.2= WÅ‚. - WÅ‚Ä…cza cienie pod bytami
+options.entityShadows.tooltip.3= Wył. - Wyłącza cienie pod bytami
+
+of.options.VIGNETTE=Winieta
+of.options.VIGNETTE.tooltip.1=Efekt wizualny, który delikatnie przyciemnia rogi ekranu
+of.options.VIGNETTE.tooltip.2= Domyślne - dostosowane do ustawienia graficznego (domyślne)
+of.options.VIGNETTE.tooltip.3= Szybka - winieta wyłączona (wyższa wydajność)
+of.options.VIGNETTE.tooltip.4= Dokładna - winieta włączona (niższa wydajność)
+of.options.VIGNETTE.tooltip.5=Winieta może w małym stopniu obniżyć FPS,
+of.options.VIGNETTE.tooltip.6=szczególnie przy grze na pełnym ekranie.
+of.options.VIGNETTE.tooltip.7=Efekt winiety jest subtelny i może być
+of.options.VIGNETTE.tooltip.8=bezproblemowo wyłączony.
+
+of.options.DYNAMIC_FOV=Dynamiczne FOV
+of.options.DYNAMIC_FOV.tooltip.1=Dynamiczne FOV
+of.options.DYNAMIC_FOV.tooltip.2= Wł. - włącza dynamiczne FOV (domyślne)
+of.options.DYNAMIC_FOV.tooltip.3= Wył. - wyłącza dynamiczne FOV
+of.options.DYNAMIC_FOV.tooltip.4=Zmienia pole widzenia (FOV), gdy latasz
+of.options.DYNAMIC_FOV.tooltip.5=sprintujesz lub naciÄ…gasz Å‚uk.
+
+of.options.DYNAMIC_LIGHTS=Dynamiczne światło
+of.options.DYNAMIC_LIGHTS.tooltip.1=Dynamiczne światło
+of.options.DYNAMIC_LIGHTS.tooltip.2= Wył. - funkcja dynamicznego światła wyłączona (domyślne)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Szybka - proste dynamiczne światła - aktualizowane co 500ms
+of.options.DYNAMIC_LIGHTS.tooltip.4= Dokładna - zaawansowane dynamiczne światło - aktualizowane na bieżąco
+of.options.DYNAMIC_LIGHTS.tooltip.5=Przedmioty świecące (pochodnia, jasnopył, itp.)
+of.options.DYNAMIC_LIGHTS.tooltip.6=oświetlają teren, gdy są w Twojej dłoni,
+of.options.DYNAMIC_LIGHTS.tooltip.7=dłoni innego gracza lub gdy są upuszczone na podłoże.
+
+# Performance
+
+of.options.SMOOTH_FPS=Stabilne FPS
+of.options.SMOOTH_FPS.tooltip.1=Stablilizuje FPS poprzez oczyszczanie buforów sterownika
+of.options.SMOOTH_FPS.tooltip.2= Wył. - brak stabilizacji, FPS mogą oscylować
+of.options.SMOOTH_FPS.tooltip.3= WÅ‚. - FPS jest stabilizowane
+of.options.SMOOTH_FPS.tooltip.4=Ta opcja jest zależna od karty graficznej, więc
+of.options.SMOOTH_FPS.tooltip.5=różnica nie zawsze może być zauważalna
+
+of.options.SMOOTH_WORLD=Stabilny świat
+of.options.SMOOTH_WORLD.tooltip.1=Usuwa nagłe lagi spowodowane serwerem wewnętrznym.
+of.options.SMOOTH_WORLD.tooltip.2= Wył. - brak stabilizacji, FPS mogą oscylować
+of.options.SMOOTH_WORLD.tooltip.3= WÅ‚. - FPS jest stabilizowane
+of.options.SMOOTH_WORLD.tooltip.4=Stabilizuje FPS poprzez rozdzielenie obciążenia wewnętrznego serwera.
+of.options.SMOOTH_WORLD.tooltip.5=Działa tylko w lokalnych światach (tryb jednoosobowy).
+
+of.options.FAST_RENDER=Szybkie renderowanie
+of.options.FAST_RENDER.tooltip.1=Szybkie renderowanie
+of.options.FAST_RENDER.tooltip.2= Wył. - standardowe rederowanie (domyślne)
+of.options.FAST_RENDER.tooltip.3= Wł. - zoptymalizowane renderowanie (wyższa wydajność)
+of.options.FAST_RENDER.tooltip.4=Używa zoptymalizowanego algorytmu renderowania, który zmniejsza
+of.options.FAST_RENDER.tooltip.5=obciązenie CPU, a tym samym zwiększa FPS.
+
+of.options.FAST_MATH=Szybka matematyka
+of.options.FAST_MATH.tooltip.1=Szybka matematyka
+of.options.FAST_MATH.tooltip.2= Wył. - standardowa matematyka (domyślne)
+of.options.FAST_MATH.tooltip.3= WÅ‚. - przyspieszona matematyka
+of.options.FAST_MATH.tooltip.4=Używa zoptymalizowanych działań sin() i cos(), które
+of.options.FAST_MATH.tooltip.5=lepiej wykorzystują pamięć procesora i zwiększa FPS.
+
+of.options.CHUNK_UPDATES=Aktualizacje chunków
+of.options.CHUNK_UPDATES.tooltip.1=Aktualizacje chunków
+of.options.CHUNK_UPDATES.tooltip.2= 1 - wolniejsze wczytywanie świata, więcej FPS (domyślne)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - szybsze wczytywanie świata, mniej FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - najszybsze wczytywanie świata, najmniej FPS
+of.options.CHUNK_UPDATES.tooltip.5=Liczba aktualizowanych chunków na klatkę,
+of.options.CHUNK_UPDATES.tooltip.6=większa ilość może zmniejszyć stabilność FPS.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Dynamiczne Aktualizacje
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Dynamiczne aktualizacje chunków
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= Wył. - (domyślne) standardowa aktualizacja chunków na klatkę
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= Wł. - więcej aktualizacji, gdy gracz stoi w miejscu
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Dynamiczna aktualizacja wczytuje więcej chunków,
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=gdy gracz stoi w miejscu, aby szybciej załadować świat.
+
+of.options.LAZY_CHUNK_LOADING=Leniwe ładow. chunków
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Leniwe ładowanie chunków
+of.options.LAZY_CHUNK_LOADING.tooltip.2= Wył. - domyślne wczytywanie chunków na serwerze
+of.options.LAZY_CHUNK_LOADING.tooltip.3= Wł. - leniwe ładowanie chunków na serwerze (płynniej)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Wygładza zintegrowane ładowanie serwerowych chunków
+of.options.LAZY_CHUNK_LOADING.tooltip.5=rozdzielając chunki na kilka ticków.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Wyłącz to, jeżeli części świata nie ładują się prawidłowo.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Efektyne tylko na lokalnych światach i jednordzeniowych komputerach.
+
+# Animations
+
+of.options.animation.allOn=WÅ‚Ä…cz wszystko
+of.options.animation.allOff=Wyłącz wszystko
+of.options.animation.dynamic=Dynamicznie
+
+of.options.ANIMATED_WATER=Animacja wody
+of.options.ANIMATED_LAVA=Animacja lawy
+of.options.ANIMATED_FIRE=Animacja ognia
+of.options.ANIMATED_PORTAL=Animacja portali
+of.options.ANIMATED_REDSTONE=Animacja czerwonego proszku
+of.options.ANIMATED_EXPLOSION=Animacja eksplozji
+of.options.ANIMATED_FLAME=Animacja płomieni
+of.options.ANIMATED_SMOKE=Animacja dymu
+of.options.VOID_PARTICLES=Cząsteczki próżni
+of.options.WATER_PARTICLES=CzÄ…steczki wody
+of.options.RAIN_SPLASH=CzÄ…steczki deszczu
+of.options.PORTAL_PARTICLES=CzÄ…steczki portali
+of.options.POTION_PARTICLES=CzÄ…steczki mikstur
+of.options.DRIPPING_WATER_LAVA=KapiÄ…ca woda/lawa
+of.options.ANIMATED_TERRAIN=Animacja terenu
+of.options.ANIMATED_TEXTURES=Animacja tekstur
+of.options.FIREWORK_PARTICLES=Cząsteczki fajerwerków
+
+# Other
+
+of.options.LAGOMETER=Lagomierz
+of.options.LAGOMETER.tooltip.1=Pokazuje lagomierz na ekranie debugowania (F3).
+of.options.LAGOMETER.tooltip.2=* Pomarańczowy - Zajęta pamięć
+of.options.LAGOMETER.tooltip.3=* Cyan - Ticki
+of.options.LAGOMETER.tooltip.4=* Niebieski - Zaplanowane działania
+of.options.LAGOMETER.tooltip.5=* Fioletowy - Przesyłanie chunków
+of.options.LAGOMETER.tooltip.6=* Czerwony - Aktualizacje chunków
+of.options.LAGOMETER.tooltip.7=* Żółty - Kontrola widoczności
+of.options.LAGOMETER.tooltip.8=* Zielony - Renderowanie terenu
+
+of.options.PROFILER=Debug Profiler
+of.options.PROFILER.tooltip.1=Debug Profiler
+of.options.PROFILER.tooltip.2= Wł. - debug profiler jest aktywny, niższa wydajność
+of.options.PROFILER.tooltip.3= Wył. - debug profiler jest nieaktywny, wyższa wydajność
+of.options.PROFILER.tooltip.4=Debug profiler zbiera i pokazuje informacje debugowania,
+of.options.PROFILER.tooltip.5=gdy ekran debugowania jest włączony. (F3)
+
+of.options.WEATHER=Pogoda
+of.options.WEATHER.tooltip.1=Pogoda
+of.options.WEATHER.tooltip.2= Wł. - pogoda jest aktywna, niższa wydajność
+of.options.WEATHER.tooltip.3= Wył. - pogoda jest nieaktywna, wyższa wydajność
+of.options.WEATHER.tooltip.4=Pogoda kontroluje słońce, deszcz i burzę.
+of.options.WEATHER.tooltip.5=Kontrola pogody jest aktywna tylko w trybie jednoosobowym.
+
+of.options.time.dayOnly=Jedynie dzień
+of.options.time.nightOnly=Jedynie noc
+
+of.options.TIME=Czas
+of.options.TIME.tooltip.1=Ustawienia cyklu dnia i nocy
+of.options.TIME.tooltip.2= Domyślne - normalny cykl dnia i nocy
+of.options.TIME.tooltip.3= Jedynie dzień - czas zatryma się na dniu
+of.options.TIME.tooltip.4= Jedynie noc - czas zatrzyma siÄ™ na nocy
+of.options.TIME.tooltip.5=To ustawienie działa tylko w trybie kreatywnym
+of.options.TIME.tooltip.6=i tylko w lokalnych światach.
+
+options.fullscreen.tooltip.1=Pełny ekran
+options.fullscreen.tooltip.2= Wł. - uzywa trybu pełny ekran
+options.fullscreen.tooltip.3= Wył. - używa trybu okienkowego
+options.fullscreen.tooltip.4=Tryb pełnoekranowy może być szybszy lub wolniejszy
+options.fullscreen.tooltip.5=niż tryb okienkowy, w zależności od karty graficznej.
+
+of.options.FULLSCREEN_MODE=Tryb pełnego ekranu
+of.options.FULLSCREEN_MODE.tooltip.1=Tryby pełnego ekranu
+of.options.FULLSCREEN_MODE.tooltip.2= Domyślne - używa rozdzielczości pulpitu, niższa wydajność
+of.options.FULLSCREEN_MODE.tooltip.3= WxH - używa wybranej rozdzielczości, może podwyższyć wydajność
+of.options.FULLSCREEN_MODE.tooltip.4=Wybrana rozdzielczość jest używana w trybie pełnoekranowym (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Niższe rozdzielczości mogą przyspieszyć grę.
+
+of.options.SHOW_FPS=Pokazuj FPS
+of.options.SHOW_FPS.tooltip.1=Pokazuje kompaktową nakładkę FPS i informacje o renderowaniu
+of.options.SHOW_FPS.tooltip.2= C: - renderzy chunków
+of.options.SHOW_FPS.tooltip.3= E: - zrenderowane byty + bloki
+of.options.SHOW_FPS.tooltip.4= U: - aktualizacje chunków
+of.options.SHOW_FPS.tooltip.5=Ta nakładka jest wyświetlana tylko wtedy,
+of.options.SHOW_FPS.tooltip.6=gdy ekran debugowania jest niewidoczny.
+
+of.options.save.default=Domyślne (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Autozapis
+of.options.AUTOSAVE_TICKS.tooltip.1=Częstotliwość autozapisu
+of.options.AUTOSAVE_TICKS.tooltip.2=Domyślna częstotliwość (2s) jest NIEZALECANA.
+of.options.AUTOSAVE_TICKS.tooltip.3=Autozapisy często powodują ścięcia gry.
+
+of.options.SCREENSHOT_SIZE=Rozmiar zrzutów ekranu
+of.options.SCREENSHOT_SIZE.tooltip.1=Rozmiar zrzutów ekranu
+of.options.SCREENSHOT_SIZE.tooltip.2= Domyślne - domyślny rozmiar
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - własny rozmiar
+of.options.SCREENSHOT_SIZE.tooltip.4=Zapisywanie większych zrzutów może wymagać więcej pamięci,
+of.options.SCREENSHOT_SIZE.tooltip.5=opcja nie jest kompatybilna z szybkim renderowaniem ani
+of.options.SCREENSHOT_SIZE.tooltip.6=antyaliasingiem. Wymaga wsparcia bufora ramki GPU.
diff --git a/src/main/resources/assets/minecraft/optifine/lang/ru_RU.lang b/src/main/resources/assets/minecraft/optifine/lang/ru_RU.lang
new file mode 100644
index 00000000..2f93745c
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/ru_RU.lang
@@ -0,0 +1,594 @@
+# Contributors of Russian localization #
+# Jerozgen 2016-03-01 ---- 2017-03-11
+# Dibro 2016-03-20
+
+# General
+of.general.ambiguous=неопределённый
+of.general.custom=ПользовательÑкий
+of.general.from=Файл
+of.general.id=ID
+of.general.restart=поÑле перезапуÑка
+of.general.smart=Умно
+
+# Keys
+of.key.zoom=Приблизить
+
+# Message
+of.message.aa.shaders1=ÐнтиалиаÑинг не ÑовмеÑтим Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ð°Ð¼Ð¸.
+of.message.aa.shaders2=ПожалуйÑта, отключите шейдеры, чтобы включить Ñтот параметр.
+
+of.message.af.shaders1=ÐÐ½Ð¸Ð·Ð¾Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ ÑовмеÑтима Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ð°Ð¼Ð¸.
+of.message.af.shaders2=ПожалуйÑта, отключите шейдеры, чтобы включить Ñтот параметр.
+
+of.message.fr.shaders1=БыÑтрый рендер не ÑовмеÑтим Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ð°Ð¼Ð¸.
+of.message.fr.shaders2=Отключите шейдеры, чтобы включить Ñтот параметр.
+
+of.message.an.shaders1=3D анаглиф не ÑовмеÑтим Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ð°Ð¼Ð¸.
+of.message.an.shaders2=Отключите шейдеры, чтобы включить Ñтот параметр.
+
+of.message.shaders.aa1=Шейдеры не ÑовмеÑтимы Ñ Ð°Ð½Ñ‚Ð¸Ð°Ð»Ð¸Ð°Ñингом.
+of.message.shaders.aa2=Переключите КачеÑтво -> ÐнтиалиаÑинг на "Выкл" и перезапуÑтите игру.
+
+of.message.shaders.af1=Шейдеры не ÑовмеÑтимы Ñ Ð°Ð½Ð¸Ð·Ð¾Ñ‚Ñ€Ð¾Ð¿Ð½Ð¾Ð¹ фильтрацией.
+of.message.shaders.af2=Переключите КачеÑтво -> ÐÐ½Ð¸Ð·Ð¾Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð° "Выкл".
+
+of.message.shaders.fr1=Шейдеры не ÑовмеÑтимы Ñ Ð±Ñ‹Ñтрым рендером.
+of.message.shaders.fr2=Переключите ПроизводительноÑÑ‚ÑŒ -> БыÑтрый рендер на "Выкл".
+
+of.message.shaders.an1=Шейдеры не ÑовмеÑтимы Ñ 3D анаглифом.
+of.message.shaders.an2=Переключите Прочее -> 3D анаглиф на "Выкл".
+
+of.message.newVersion=ДоÑтупна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Â§eOptiFine§f: §e%s§f
+of.message.java64Bit=УÑтановите §e64-битную Java§f, чтобы повыÑить производительноÑÑ‚ÑŒ.
+of.message.openglError=§eОшибка OpenGL§f: %s (%s)
+
+of.message.shaders.loading=Загрузка шейдеров: %s
+
+of.message.other.reset=СброÑить вÑе наÑтройки графики к первоначальным значениÑм?
+
+of.message.loadingVisibleChunks=Загрузка видимых чанков
+
+# Video settings
+
+options.graphics.tooltip.1=КачеÑтво графики
+options.graphics.tooltip.2= БыÑтро - низкое качеÑтво, быÑтрее
+options.graphics.tooltip.3= Детально - выÑокое качеÑтво, медленнее
+options.graphics.tooltip.4=ИзменÑет облик граней дёрна, лиÑтьев, воды, теней и облаков.
+options.graphics.tooltip.5=
+
+of.options.renderDistance.tiny=Очень маленькаÑ
+of.options.renderDistance.short=МалаÑ
+of.options.renderDistance.normal=ÐормальнаÑ
+of.options.renderDistance.far=ДальнÑÑ
+of.options.renderDistance.extreme=ПредельнаÑ
+
+options.renderDistance.tooltip.1=ДальноÑÑ‚ÑŒ прориÑовки
+options.renderDistance.tooltip.2= 2 Очень Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ°Ñ - 32м (ещё быÑтрее)
+options.renderDistance.tooltip.3= 4 ÐœÐ°Ð»Ð°Ñ - 64м (быÑтрее)
+options.renderDistance.tooltip.4= 8 ÐÐ¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ - 128м
+options.renderDistance.tooltip.5= 16 ДальнÑÑ - 256м (медленнее)
+options.renderDistance.tooltip.6= 32 ÐŸÑ€ÐµÐ´ÐµÐ»ÑŒÐ½Ð°Ñ - 512м (ещё медленнее!)
+options.renderDistance.tooltip.7=ÐŸÑ€ÐµÐ´ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ñ€Ð¸Ñовка очень требовательна к реÑурÑам компьютера!
+options.renderDistance.tooltip.8=Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ 16 Ñффективны только в локальных мирах.
+
+options.ao.tooltip.1=ÐœÑгкое оÑвещение
+options.ao.tooltip.2= Выкл - без мÑгкого оÑвещениÑ, быÑтрее
+options.ao.tooltip.3= Минимум - проÑтое мÑгкое оÑвещение, медленнее
+options.ao.tooltip.4= МакÑимум - комплекÑное мÑгкое оÑвещение, ещё медленнее
+
+options.framerateLimit.tooltip.1=ЧаÑтота кадров
+options.framerateLimit.tooltip.2= VSync - ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ Ñ‡Ð°Ñтотой верт. развертки монитора (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - пользовательÑкие значениÑ
+options.framerateLimit.tooltip.4= МакÑимум - без ограничений, быÑтрее
+options.framerateLimit.tooltip.5=Уменьшает чаÑтоту кадров, даже еÑли ограничение не доÑтигнуто.
+options.framerateLimit.tooltip.6=
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=ÐœÑгкое оÑвещение
+of.options.AO_LEVEL.tooltip.1=Уровень мÑгкого оÑвещениÑ
+of.options.AO_LEVEL.tooltip.2= Выкл - без теней
+of.options.AO_LEVEL.tooltip.3= 50%% - Ñветлые тени
+of.options.AO_LEVEL.tooltip.4= 100%% - тёмные тени
+
+options.viewBobbing.tooltip.1=Более реалиÑтичное движение.
+options.viewBobbing.tooltip.2=При иÑпользовании рекомендуетÑÑ Ð²Ñ‹ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ MIP-текÑтурирование.
+
+options.guiScale.tooltip.1=Размер интерфейÑа
+options.guiScale.tooltip.2= Ðвто - макÑимальный размер
+options.guiScale.tooltip.3= Мелкий, обычный, крупный - от 1x до 3x
+options.guiScale.tooltip.4= Ñ 4x до 10x - доÑтупно на мониторах Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ 4K
+options.guiScale.tooltip.5=Ðечётные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ (1x, 3x, 5x ...) не ÑовмеÑтимы Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ð¾Ð¼ Unicode.
+options.guiScale.tooltip.6=Чем меньше интерфейÑ, тем он быÑтрее.
+
+options.vbo.tooltip.1=Vertex Buffer Objects
+options.vbo.tooltip.2=ИÑпользует альтернативную модель рендеринга, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹Ñтрее,
+options.vbo.tooltip.3=чем ÑтандартнаÑ. (5-10%%)
+
+options.gamma.tooltip.1=ИзменÑет ÑркоÑÑ‚ÑŒ тёмных объектов.
+options.gamma.tooltip.2= ТуÑкло - ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ ÑркоÑÑ‚ÑŒ
+options.gamma.tooltip.3= 1-99%% - пользовательÑкие значениÑ
+options.gamma.tooltip.4= Ярко - макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑркоÑÑ‚ÑŒ тёмных объектов
+options.gamma.tooltip.5=Данный параметр не изменÑет ÑркоÑÑ‚ÑŒ полноÑтью чёрных объектов.
+options.gamma.tooltip.6=
+
+options.anaglyph.tooltip.1=3D Ðнаглиф
+options.anaglyph.tooltip.2=Включает ÑтереоÑкопичеÑкий 3D-Ñффект, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ цвета
+options.anaglyph.tooltip.3=Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ глаза.
+options.anaglyph.tooltip.4=ТребуютÑÑ ÐºÑ€Ð°Ñно-голубые очки Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра.
+
+options.blockAlternatives.tooltip.1=Ðльтернативные блоки
+options.blockAlternatives.tooltip.2=ИÑпользование альтернативных моделей Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… блоков.
+options.blockAlternatives.tooltip.3=ЗавиÑит от выбранного пакета реÑурÑов.
+
+of.options.ALTERNATE_BLOCKS=Ðльтернативные блоки
+of.options.ALTERNATE_BLOCKS.tooltip.1=Ðльтернативные модели блоков
+of.options.ALTERNATE_BLOCKS.tooltip.2=ИÑпользуютÑÑ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ðµ модели Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… блоков.
+of.options.ALTERNATE_BLOCKS.tooltip.3=ЗавиÑит от выбранного пакета реÑурÑов.
+
+of.options.FOG_FANCY=Туман
+of.options.FOG_FANCY.tooltip.1=Тип тумана
+of.options.FOG_FANCY.tooltip.2= БыÑтро - быÑтрый туман
+of.options.FOG_FANCY.tooltip.3= Детально - гуÑтой туман, выглÑдит лучше
+of.options.FOG_FANCY.tooltip.4= Выкл - без тумана, быÑтрее
+of.options.FOG_FANCY.tooltip.5=ГуÑтой туман будет работать, только еÑли ваша видеокарта поддерживает его.
+of.options.FOG_FANCY.tooltip.6=
+
+of.options.FOG_START=УдалённоÑÑ‚ÑŒ тумана
+of.options.FOG_START.tooltip.1=УдалённоÑÑ‚ÑŒ тумана
+of.options.FOG_START.tooltip.2= 0.2 - туман начинаетÑÑ Ñ€Ñдом Ñ Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð¼
+of.options.FOG_START.tooltip.3= 0.8 - туман начинаетÑÑ Ð²Ð´Ð°Ð»Ð¸ от игрока
+of.options.FOG_START.tooltip.4=Ðтот параметр, обычно, не влиÑет на производительноÑÑ‚ÑŒ.
+
+of.options.CHUNK_LOADING=Загрузка чанков
+of.options.CHUNK_LOADING.tooltip.1=Загрузка чанков
+of.options.CHUNK_LOADING.tooltip.2= По умолчанию - неÑтабильный FPS при загрузке чанков
+of.options.CHUNK_LOADING.tooltip.3= ÐŸÐ»Ð°Ð²Ð½Ð°Ñ - Ñтабильный FPS
+of.options.CHUNK_LOADING.tooltip.4= МногоÑÐ´ÐµÑ€Ð½Ð°Ñ - Ñтабильный FPS, загрузка мира в 3 раза быÑтрее
+of.options.CHUNK_LOADING.tooltip.5=ÐŸÐ»Ð°Ð²Ð½Ð°Ñ Ð¸ многоÑÐ´ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ убирают подвиÑÐ°Ð½Ð¸Ñ Ð¸ лаги,
+of.options.CHUNK_LOADING.tooltip.6=вызванные загрузкой чанков.
+of.options.CHUNK_LOADING.tooltip.7=МногоÑÐ´ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° ÑпоÑобна уÑкорить загрузку мира в 3 раза
+of.options.CHUNK_LOADING.tooltip.8=и увеличить FPS, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð²Ñ‚Ð¾Ñ€Ð¾Ðµ Ñдро процеÑÑора.
+of.options.chunkLoading.smooth=ПлавнаÑ
+of.options.chunkLoading.multiCore=МультиÑдернаÑ
+
+of.options.shaders=Шейдеры...
+of.options.shadersTitle=Шейдеры
+
+of.options.shaders.packNone=Ðет
+of.options.shaders.packDefault=(вÑтроенный)
+
+of.options.shaders.ANTIALIASING=ÐнтиалиаÑинг
+of.options.shaders.NORMAL_MAP=ÐÐ¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°
+of.options.shaders.SPECULAR_MAP=Карта отражений
+of.options.shaders.RENDER_RES_MUL=КачеÑтво рендера
+of.options.shaders.SHADOW_RES_MUL=КачеÑтво теней
+of.options.shaders.HAND_DEPTH_MUL=Глубина руки
+of.options.shaders.CLOUD_SHADOW=Тени облаков
+of.options.shaders.OLD_HAND_LIGHT=Старое оÑвещение руки
+of.options.shaders.OLD_LIGHTING=Старое оÑвещение
+of.options.shaders.SHADER_PACK=Пакет шейдеров
+
+of.options.shaders.shadersFolder=Папка Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ð°Ð¼Ð¸
+of.options.shaders.shaderOptions=ÐаÑтройки шейдера...
+
+of.options.shaderOptionsTitle=ÐаÑтройки шейдера
+
+of.options.quality=КачеÑтво...
+of.options.qualityTitle=ÐаÑтройки качеÑтва
+
+of.options.details=Детали...
+of.options.detailsTitle=ÐаÑтройки деталей
+
+of.options.performance=ПроизводительноÑÑ‚ÑŒ...
+of.options.performanceTitle=ÐаÑтройки производительноÑти
+
+of.options.animations=ÐнимациÑ...
+of.options.animationsTitle=ÐаÑтройки анимации
+
+of.options.other=Прочее...
+of.options.otherTitle=Прочие наÑтройки
+
+of.options.other.reset=СброÑить наÑтройки графики...
+
+of.shaders.profile=Профиль
+
+# Quality
+
+of.options.mipmap.bilinear=Билинейное
+of.options.mipmap.linear=Линейное
+of.options.mipmap.nearest=Ближнее
+of.options.mipmap.trilinear=Трилинейное
+
+options.mipmapLevels.tooltip.1=ЗаÑтавлÑет удалённых объектов выглÑдеть лучше поÑредÑтвом ÑглаживаниÑ
+options.mipmapLevels.tooltip.2=деталей текÑтуры.
+options.mipmapLevels.tooltip.3= Выкл - без ÑглаживаниÑ
+options.mipmapLevels.tooltip.4= 1 - минимальное Ñглаживание
+options.mipmapLevels.tooltip.5= 4 - макÑимальное Ñглаживание
+options.mipmapLevels.tooltip.6=Ðтот параметр, обычно, не влиÑет на производительноÑÑ‚ÑŒ.
+
+of.options.MIPMAP_TYPE=MIP-текÑтурирование
+of.options.MIPMAP_TYPE.tooltip.1=ЗаÑтавлÑет удалённых объектов выглÑдеть лучше поÑредÑтвом ÑглаживаниÑ
+of.options.MIPMAP_TYPE.tooltip.2=деталей текÑтуры.
+of.options.MIPMAP_TYPE.tooltip.3= Ближнее - грубое Ñглаживание, быÑтрее
+of.options.MIPMAP_TYPE.tooltip.4= Линейное - нормальное Ñглаживание
+of.options.MIPMAP_TYPE.tooltip.5= Билинейное - хорошее Ñглаживание
+of.options.MIPMAP_TYPE.tooltip.6= Трилинейное - лучшее Ñглаживание, медленнее
+
+
+of.options.AA_LEVEL=ÐнтиалиаÑинг
+of.options.AA_LEVEL.tooltip.1=ÐнтиалиаÑинг
+of.options.AA_LEVEL.tooltip.2= Выкл - без ÑÐ³Ð»Ð°Ð¶Ð¸Ð²Ð°Ð½Ð¸Ñ (по умолчанию), быÑтрее
+of.options.AA_LEVEL.tooltip.3= 2-16 - Ñглаживание линий и краёв, медленнее
+of.options.AA_LEVEL.tooltip.4=Сглаживает неровные линии и резкие цветовые переходы.
+of.options.AA_LEVEL.tooltip.5=Может ÑущеÑтвенно понизить производительноÑÑ‚ÑŒ.
+of.options.AA_LEVEL.tooltip.6=Ðе вÑе видеокарты поддерживают вÑе уровни антиалиаÑинга.
+of.options.AA_LEVEL.tooltip.7=
+of.options.AA_LEVEL.tooltip.8=Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñффективны только поÑле ПЕРЕЗÐПУСКÐ!
+
+of.options.AF_LEVEL=ÐÐ½Ð¸Ð·Ð¾Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ
+of.options.AF_LEVEL.tooltip.1=ÐÐ½Ð¸Ð·Ð¾Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ
+of.options.AF_LEVEL.tooltip.2= Выкл - ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð´ÐµÑ‚Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ MIP-текÑтур (по умолчанию), быÑтрее
+of.options.AF_LEVEL.tooltip.3= 2-16 - ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð½Ð°Ñ Ð´ÐµÑ‚Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ MIP-текÑтур, медленнее
+of.options.AF_LEVEL.tooltip.4=ВоÑÑтанавливает детали в MIP-текÑтурах.
+of.options.AF_LEVEL.tooltip.5=Может ÑущеÑтвенно понизить производительноÑÑ‚ÑŒ.
+of.options.AF_LEVEL.tooltip.6=
+
+of.options.CLEAR_WATER=ÐžÑ‡Ð¸Ñ‰ÐµÐ½Ð½Ð°Ñ Ð²Ð¾Ð´Ð°
+of.options.CLEAR_WATER.tooltip.1=ÐžÑ‡Ð¸Ñ‰ÐµÐ½Ð½Ð°Ñ Ð²Ð¾Ð´Ð°
+of.options.CLEAR_WATER.tooltip.2= Вкл - чиÑтаÑ, Ð¿Ñ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ð°Ñ Ð²Ð¾Ð´Ð°
+of.options.CLEAR_WATER.tooltip.3= Выкл - ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð²Ð¾Ð´Ð°
+
+of.options.RANDOM_MOBS=Случайные мобы
+of.options.RANDOM_MOBS.tooltip.1=Случайные текÑтуры мобов
+of.options.RANDOM_MOBS.tooltip.2= Выкл - Ñлучайных мобы отключены, быÑтрее
+of.options.RANDOM_MOBS.tooltip.3= Вкл - Ñлучайные мобы включены, медленнее
+of.options.RANDOM_MOBS.tooltip.4=ИÑпользуютÑÑ Ñлучайные текÑтуры Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¾Ð².
+of.options.RANDOM_MOBS.tooltip.5=ТребуетÑÑ Ð¿Ð°ÐºÐµÑ‚ реÑурÑов, в котором такие текÑтуры еÑÑ‚ÑŒ.
+
+of.options.BETTER_GRASS=Улучшенный дёрн
+of.options.BETTER_GRASS.tooltip.1=Улучшенный дёрн
+of.options.BETTER_GRASS.tooltip.2= Выкл - дёрн по умолчанию, быÑтрее
+of.options.BETTER_GRASS.tooltip.3= БыÑтро - полноÑтью заполненные текÑтуры Ñторон дёрна, медленнее
+of.options.BETTER_GRASS.tooltip.4= Детально - динамично заполненные текÑтуры Ñторон дёрна, ещё медленнее
+
+of.options.BETTER_SNOW=Улучшенный Ñнег
+of.options.BETTER_SNOW.tooltip.1=Улучшенный Ñнег
+of.options.BETTER_SNOW.tooltip.2= Выкл - Ñтандартный Ñнег, быÑтрее
+of.options.BETTER_SNOW.tooltip.3= Вкл - улучшенный Ñнег, медленнее
+of.options.BETTER_SNOW.tooltip.4=Показывает Ñнег под прилегающими к нему прозрачными блоками
+of.options.BETTER_SNOW.tooltip.5=(забор, трава).
+
+of.options.CUSTOM_FONTS=ПользовательÑкие шрифты
+of.options.CUSTOM_FONTS.tooltip.1=ПользовательÑкие шрифты
+of.options.CUSTOM_FONTS.tooltip.2= Вкл - пользовательÑкие шрифты (по умолчанию), медленнее
+of.options.CUSTOM_FONTS.tooltip.3= Выкл - шрифт по умолчанию, быÑтрее
+of.options.CUSTOM_FONTS.tooltip.4=Шрифты предоÑтавлÑÑŽÑ‚ÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ пакетом реÑурÑов.
+of.options.CUSTOM_FONTS.tooltip.5=
+
+of.options.CUSTOM_COLORS=ПользовательÑкие цвета
+of.options.CUSTOM_COLORS.tooltip.1=ПользовательÑкие цвета
+of.options.CUSTOM_COLORS.tooltip.2= Вкл - пользовательÑкие цвета (по умолчанию), медленнее
+of.options.CUSTOM_COLORS.tooltip.3= Выкл - цвета по умолчанию, быÑтрее
+of.options.CUSTOM_COLORS.tooltip.4=Цвета предоÑтавлÑÑŽÑ‚ÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ пакетом реÑурÑов.
+of.options.CUSTOM_COLORS.tooltip.5=
+
+of.options.SWAMP_COLORS=Болотные цвета
+of.options.SWAMP_COLORS.tooltip.1=Болотные цвета
+of.options.SWAMP_COLORS.tooltip.2= Вкл - болотные цвета (по умолчанию), медленнее
+of.options.SWAMP_COLORS.tooltip.3= Выкл - без иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¾Ð»Ð¾Ñ‚Ð½Ñ‹Ñ… цветов, быÑтрее
+of.options.SWAMP_COLORS.tooltip.4=ВлиÑет на цвет травы, лиÑтьев, лиан и воды в биоме болота.
+
+of.options.SMOOTH_BIOMES=Сглаженные биомы
+of.options.SMOOTH_BIOMES.tooltip.1=Сглаженные границы биомов
+of.options.SMOOTH_BIOMES.tooltip.2= Вкл - Ñглаженные цвета границ биомов (по умолчанию), медленнее
+of.options.SMOOTH_BIOMES.tooltip.3= Выкл - неÑглаженные цвета границы биомов, быÑтрее
+of.options.SMOOTH_BIOMES.tooltip.4=Сглаживание границ биомов оÑущеÑтвлÑетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ выбора и уÑреднениÑ
+of.options.SMOOTH_BIOMES.tooltip.5=значений цветов вÑех окружающих блоков.
+of.options.SMOOTH_BIOMES.tooltip.6=ВлиÑет на цвет травы, лиÑтьев, лиан и воды.
+
+of.options.CONNECTED_TEXTURES=Соединение текÑтур
+of.options.CONNECTED_TEXTURES.tooltip.1=Соединение текÑтур
+of.options.CONNECTED_TEXTURES.tooltip.2= Выкл - неÑоединённые текÑтуры (по умолчанию)
+of.options.CONNECTED_TEXTURES.tooltip.3= БыÑтро - быÑтрое Ñоединение текÑтур
+of.options.CONNECTED_TEXTURES.tooltip.4= Детально - детальное Ñоединение текÑтур
+of.options.CONNECTED_TEXTURES.tooltip.5=Данный параметр ÑоединÑет текÑтуры (Ñтекло, пеÑчаник, книжные полки)
+of.options.CONNECTED_TEXTURES.tooltip.6=друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼.
+of.options.CONNECTED_TEXTURES.tooltip.7=Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ ÑоединениÑÑ… текÑтур предоÑтавлÑÑŽÑ‚ÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ пакетом реÑурÑов.
+of.options.CONNECTED_TEXTURES.tooltip.8=
+
+of.options.NATURAL_TEXTURES=ЕÑтеÑтвенные текÑтуры
+of.options.NATURAL_TEXTURES.tooltip.1=ЕÑтеÑтвенные текÑтуры
+of.options.NATURAL_TEXTURES.tooltip.2= Выкл - без еÑтеÑтвенных текÑтур (по умолчанию)
+of.options.NATURAL_TEXTURES.tooltip.3= Вкл - иÑпользование еÑтеÑтвенных текÑтур
+of.options.NATURAL_TEXTURES.tooltip.4=Данный параметр убирает повторÑющиеÑÑ Ñ‚ÐµÐºÑтуры блоков, и вмеÑто
+of.options.NATURAL_TEXTURES.tooltip.5=них иÑпользует повёрнутые и отражённые варианты текÑтур.
+of.options.NATURAL_TEXTURES.tooltip.6=ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑтавлÑетÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ пакетом реÑурÑов.
+of.options.NATURAL_TEXTURES.tooltip.7=
+of.options.NATURAL_TEXTURES.tooltip.8=
+
+of.options.CUSTOM_SKY=ПользовательÑкое небо
+of.options.CUSTOM_SKY.tooltip.1=ПользовательÑкие текÑтуры неба
+of.options.CUSTOM_SKY.tooltip.2= Вкл - небо Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкими текÑтурами (по умолчанию), медленнее
+of.options.CUSTOM_SKY.tooltip.3= Выкл - Ñтандартное небо, быÑтрее
+of.options.CUSTOM_SKY.tooltip.4=ТекÑтуры неба предоÑтавлÑÑŽÑ‚ÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ пакетом реÑурÑов.
+of.options.CUSTOM_SKY.tooltip.5=
+
+of.options.CUSTOM_ITEMS=ПользовательÑкие предметы
+of.options.CUSTOM_ITEMS.tooltip.1=ПользовательÑкие текÑтуры предметов
+of.options.CUSTOM_ITEMS.tooltip.2= Вкл - предметы Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкими текÑтурами (по умолчанию), медленнее
+of.options.CUSTOM_ITEMS.tooltip.3= Выкл - Ñтандартные текÑтуры предметов, быÑтрее
+of.options.CUSTOM_ITEMS.tooltip.4=ТекÑтуры предметов предоÑтавлÑÑŽÑ‚ÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ пакетом реÑурÑов.
+of.options.CUSTOM_ITEMS.tooltip.5=
+
+of.options.CUSTOM_ENTITY_MODELS=ПользовательÑкие ÑущноÑти
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=ПользовательÑкие модели ÑущноÑтей
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= Вкл - ÑущноÑти Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкими моделÑми (по умолчанию), медленнее
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= Выкл - Ñтандартные модели ÑущноÑтей, быÑтрее
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=Модели ÑущноÑтей предоÑтавлÑÑŽÑ‚ÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ пакетом реÑурÑов.
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=
+
+# Details
+
+of.options.CLOUDS=Облака
+of.options.CLOUDS.tooltip.1=Отображение облаков
+of.options.CLOUDS.tooltip.2= По умолчанию - ÑоглаÑно наÑтройкам графики
+of.options.CLOUDS.tooltip.3= БыÑтро - низкое качеÑтво, быÑтрее
+of.options.CLOUDS.tooltip.4= Детально - выÑокое качеÑтво, медленнее
+of.options.CLOUDS.tooltip.5= Выкл - облака отключены, ещё быÑтрее
+of.options.CLOUDS.tooltip.6=БыÑтрые облака рендерÑÑ‚ÑÑ Ð² двухмерном виде.
+of.options.CLOUDS.tooltip.7=Детальные облака рендерÑÑ‚ÑÑ Ð² трёхмерном виде.
+
+of.options.CLOUD_HEIGHT=Ð’Ñ‹Ñота облаков
+of.options.CLOUD_HEIGHT.tooltip.1=Ð’Ñ‹Ñота облаков
+of.options.CLOUD_HEIGHT.tooltip.2= Выкл - выÑота по умолчанию
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - над ограничением выÑоты мира
+
+of.options.TREES=ЛиÑÑ‚ÑŒÑ
+of.options.TREES.tooltip.1=Отображение лиÑтьев
+of.options.TREES.tooltip.2= По умолчанию - ÑоглаÑно наÑтройкам графики
+of.options.TREES.tooltip.3= БыÑтро - непрозрачные лиÑÑ‚ÑŒÑ, быÑтрее
+of.options.TREES.tooltip.4= Умно - прозрачные лиÑÑ‚ÑŒÑ, между которыми нет текÑтур, быÑтро
+of.options.TREES.tooltip.5= Детально - прозрачные лиÑÑ‚ÑŒÑ, медленнее
+of.options.TREES.tooltip.6=
+of.options.TREES.tooltip.7=
+
+of.options.RAIN=Дождь и Ñнег
+of.options.RAIN.tooltip.1=Отображение Ð´Ð¾Ð¶Ð´Ñ Ð¸ Ñнега
+of.options.RAIN.tooltip.2= По умолчанию - ÑоглаÑно наÑтройкам графики
+of.options.RAIN.tooltip.3= БыÑтро - лёгкий дождь/Ñнег, быÑтрее
+of.options.RAIN.tooltip.4= Детально - Ñильный дождь/Ñнег, медленнее
+of.options.RAIN.tooltip.5= Выкл - без дождÑ/Ñнега, ещё быÑтрее
+of.options.RAIN.tooltip.6=Данный параметр не влиÑет на брызги и звуки дождÑ.
+of.options.RAIN.tooltip.7=
+
+of.options.SKY=Ðебо
+of.options.SKY.tooltip.1=Отображение неба
+of.options.SKY.tooltip.2= Вкл - небо видно, медленнее
+of.options.SKY.tooltip.3= Выкл - небо не видно, быÑтрее
+of.options.SKY.tooltip.4=Данный параметр не влиÑет на Ñолнце и луну.
+
+of.options.STARS=Звёзды
+of.options.STARS.tooltip.1=Отображение звёзд
+of.options.STARS.tooltip.2= Вкл - звёзды видны, медленнее
+of.options.STARS.tooltip.3= Выкл - звёзды не видны, быÑтрее
+
+of.options.SUN_MOON=Солнце и луна
+of.options.SUN_MOON.tooltip.1=Отображение Ñолнца и луны
+of.options.SUN_MOON.tooltip.2= Вкл - Ñолнце и луна видны (по умолчанию)
+of.options.SUN_MOON.tooltip.3= Выкл - Ñолнце и луна не видны, быÑтрее
+
+of.options.SHOW_CAPES=Плащи
+of.options.SHOW_CAPES.tooltip.1=Отображение плащей
+of.options.SHOW_CAPES.tooltip.2= Вкл - плащи игроков видны (по умолчанию)
+of.options.SHOW_CAPES.tooltip.3= Выкл - плащи игроков не видны
+
+of.options.TRANSLUCENT_BLOCKS=Прозрачные блоки
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Прозрачные блоки
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Детально - правильное Ñмешивание цветов (по умолчанию)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= БыÑтро - быÑтрое Ñмешивание цветов, быÑтрее
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Данный параметр управлÑет Ñмешиванием цветов прозрачных блоков разного
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=цвета (цветное Ñтекло, вода, лёд), размещённых друг за другом Ñ Ð²Ð¾Ð·Ð´ÑƒÑ…Ð¾Ð¼
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=между ними.
+
+of.options.HELD_ITEM_TOOLTIPS=ПодÑказка о предмете
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Ð’ÑÐ¿Ð»Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð¿Ð¾Ð´Ñказка об удерживаемом предмете.
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= Вкл - показывать вÑплывающую подÑказку о предмете (по умолчанию)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= Выкл - не показывать вÑплывающую подÑказку о предмете
+
+of.options.ADVANCED_TOOLTIPS=РаÑширенные подÑказки
+of.options.ADVANCED_TOOLTIPS.tooltip.1=РаÑширенные подÑказки
+of.options.ADVANCED_TOOLTIPS.tooltip.2= Вкл - раÑширенные подÑказки включены
+of.options.ADVANCED_TOOLTIPS.tooltip.3= Выкл - раÑширенные подÑказки отключены (по умолчанию)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Показывает дополнительную информацию о предметах (ID, прочноÑÑ‚ÑŒ)
+of.options.ADVANCED_TOOLTIPS.tooltip.5=и о параметрах шейдеров (ID, файл, значение по умолчанию).
+of.options.ADVANCED_TOOLTIPS.tooltip.6=
+
+of.options.DROPPED_ITEMS=Выкинутые предметы
+of.options.DROPPED_ITEMS.tooltip.1=Отображение выкинутых предметов
+of.options.DROPPED_ITEMS.tooltip.2= По умолчанию - ÑоглаÑно наÑтройкам графики
+of.options.DROPPED_ITEMS.tooltip.3= БыÑтро - двухмерные выкинутые предметы, быÑтрее
+of.options.DROPPED_ITEMS.tooltip.4= Детально - трёхмерные выкинутые предметы, медленнее
+
+options.entityShadows.tooltip.1=Тени ÑущноÑтей
+options.entityShadows.tooltip.2= Вкл - показывать тени ÑущноÑтей
+options.entityShadows.tooltip.3= Выкл - не показывать тени ÑущноÑтей
+
+of.options.VIGNETTE=Виньетирование
+of.options.VIGNETTE.tooltip.1=Визуальный Ñффект, Ñлегка затемнÑющий ÐºÑ€Ð°Ñ Ñкрана.
+of.options.VIGNETTE.tooltip.2= По умолчанию - ÑоглаÑно наÑтройкам графики
+of.options.VIGNETTE.tooltip.3= БыÑтро - виньетирование отключено, быÑтрее
+of.options.VIGNETTE.tooltip.4= Детально - виньетирование включено, медленнее
+of.options.VIGNETTE.tooltip.5=Виньетирование может оказывать значительное влиÑние на чаÑтоту кадров,
+of.options.VIGNETTE.tooltip.6=оÑобенно при игре в полноÑкранном режиме.
+of.options.VIGNETTE.tooltip.7=
+of.options.VIGNETTE.tooltip.8=
+
+of.options.DYNAMIC_FOV=Динамика Ð¿Ð¾Ð»Ñ Ð·Ñ€ÐµÐ½Ð¸Ñ
+of.options.DYNAMIC_FOV.tooltip.1=Динамика Ð¿Ð¾Ð»Ñ Ð·Ñ€ÐµÐ½Ð¸Ñ
+of.options.DYNAMIC_FOV.tooltip.2= Вкл - подвижное поле Ð·Ñ€ÐµÐ½Ð¸Ñ (по умолчанию)
+of.options.DYNAMIC_FOV.tooltip.3= Выкл - фикÑированное поле зрениÑ
+of.options.DYNAMIC_FOV.tooltip.4=ИзменÑет поле Ð·Ñ€ÐµÐ½Ð¸Ñ Ð² полёте, во Ð²Ñ€ÐµÐ¼Ñ Ð±ÐµÐ³Ð° или Ñтрельбы из лука.
+of.options.DYNAMIC_FOV.tooltip.5=
+
+of.options.DYNAMIC_LIGHTS=Динамич. оÑвещение
+of.options.DYNAMIC_LIGHTS.tooltip.1=ДинамичеÑкое оÑвещение
+of.options.DYNAMIC_LIGHTS.tooltip.2= Выкл - динамичеÑкое оÑвещение отключено (по умолчанию)
+of.options.DYNAMIC_LIGHTS.tooltip.3= БыÑтро - оÑвещение обновлÑетÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ðµ 500 мÑ., медленнее
+of.options.DYNAMIC_LIGHTS.tooltip.4= Детально - оÑвещение обновлÑетÑÑ Ð² реальном времени, ещё медленнее
+of.options.DYNAMIC_LIGHTS.tooltip.5=Ðкипированные и выброшенные предметы, излучающие Ñвет (факел, Ñветокамень
+of.options.DYNAMIC_LIGHTS.tooltip.6=и Ñ‚.д.), оÑвещают территорию вокруг.
+of.options.DYNAMIC_LIGHTS.tooltip.7=
+
+# Performance
+
+of.options.SMOOTH_FPS=Ð¡Ñ‚Ð°Ð±Ð¸Ð»Ð¸Ð·Ð¸Ð·Ð°Ñ†Ð¸Ñ FPS
+of.options.SMOOTH_FPS.tooltip.1=Стабилизирует FPS поÑредÑтвом очиÑтки буфера видеокарты.
+of.options.SMOOTH_FPS.tooltip.2= Выкл - без Ñтабилизации, чаÑтота кадров может колебатьÑÑ
+of.options.SMOOTH_FPS.tooltip.3= Вкл - ÑÑ‚Ð°Ð±Ð¸Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‡Ð°Ñтоты кадров
+of.options.SMOOTH_FPS.tooltip.4=Данный параметр завиÑит от видеодрайвера, и Ñффект Ñтабилизации
+of.options.SMOOTH_FPS.tooltip.5=не вÑегда виден.
+
+of.options.SMOOTH_WORLD=Ð¡Ñ‚Ð°Ð±Ð¸Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼Ð¸Ñ€Ð°
+of.options.SMOOTH_WORLD.tooltip.1=Убирает задержки, Ñозданные внутренним Ñервером.
+of.options.SMOOTH_WORLD.tooltip.2= Выкл - без Ñтабилизации, чаÑтота кадров может колебатьÑÑ
+of.options.SMOOTH_WORLD.tooltip.3= Вкл - ÑÑ‚Ð°Ð±Ð¸Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‡Ð°Ñтоты кадров
+of.options.SMOOTH_WORLD.tooltip.4=РаÑпределÑет нагрузку на внутренний Ñервер.
+of.options.SMOOTH_WORLD.tooltip.5=Ðффективно только Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… миров (Ð¾Ð´Ð¸Ð½Ð¾Ñ‡Ð½Ð°Ñ Ð¸Ð³Ñ€Ð°).
+
+of.options.FAST_RENDER=БыÑтрый рендер
+of.options.FAST_RENDER.tooltip.1=БыÑтрый рендер
+of.options.FAST_RENDER.tooltip.2= Выкл - Ñтандартный рендеринг (по умолчанию)
+of.options.FAST_RENDER.tooltip.3= Вкл - оптимизированный рендеринг, быÑтрее
+of.options.FAST_RENDER.tooltip.4=ИÑпользует оптимизированный алгоритм рендеринга, который уменьшает
+of.options.FAST_RENDER.tooltip.5=нагрузку на GPU и может ÑущеÑтвенно повыÑить FPS.
+
+of.options.FAST_MATH=БыÑтрое вычиÑление
+of.options.FAST_MATH.tooltip.1=БыÑтрое вычиÑление
+of.options.FAST_MATH.tooltip.2= Выкл - Ñтандартное вычиÑление (по умолчанию)
+of.options.FAST_MATH.tooltip.3= Вкл - быÑтрое вычиÑление
+of.options.FAST_MATH.tooltip.4=ИÑпользует оптимизированные функции ÑинуÑа и коÑинуÑа, из-за чего
+of.options.FAST_MATH.tooltip.5=поÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ лучше иÑпользовать кÑш процеÑÑора и повыÑить FPS.
+
+of.options.CHUNK_UPDATES=Обновление чанков
+of.options.CHUNK_UPDATES.tooltip.1=ЧаÑтота Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‡Ð°Ð½ÐºÐ¾Ð²
+of.options.CHUNK_UPDATES.tooltip.2= 1 - Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° мира, выÑÐ¾ÐºÐ°Ñ Ñ‡Ð°Ñтота кадров (по умолчанию)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - быÑÑ‚Ñ€Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° мира, Ð½Ð¸Ð·ÐºÐ°Ñ Ñ‡Ð°Ñтота кадров
+of.options.CHUNK_UPDATES.tooltip.4= 5 - быÑÑ‚Ñ€ÐµÐ¹ÑˆÐ°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° мира, очень Ð½Ð¸Ð·ÐºÐ°Ñ Ñ‡Ð°Ñтота кадров
+of.options.CHUNK_UPDATES.tooltip.5=КоличеÑтво обновлений чанков за один кадр.
+of.options.CHUNK_UPDATES.tooltip.6=Ð’Ñ‹Ñокие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ деÑтабилизировать чаÑтоту кадров.
+
+of.options.CHUNK_UPDATES_DYNAMIC=ДинамичеÑкое обновление
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=ДинамичеÑкое обновление чанков
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= Выкл - Ñтандартное обновление чанков за кадр (по умолчанию)
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= Вкл - пока игрок Ñтоит на меÑте, чанки обновлÑÑŽÑ‚ÑÑ Ñ‡Ð°Ñ‰Ðµ
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Когда игрок Ñтоит на меÑте, чанки обновлÑÑŽÑ‚ÑÑ Ñ‡Ð°Ñ‰Ðµ,
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы мир загрузилÑÑ Ð±Ñ‹Ñтрее.
+
+of.options.LAZY_CHUNK_LOADING=Медленные чанки
+of.options.LAZY_CHUNK_LOADING.tooltip.1=ÐœÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° чанков
+of.options.LAZY_CHUNK_LOADING.tooltip.2= Выкл - ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° чанков Ñервера
+of.options.LAZY_CHUNK_LOADING.tooltip.3= Вкл - Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° чанков Ñервера (плавнее)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Стабилизирует загрузку чанков внутреннего Ñервера, раÑпределÑÑ ÐµÑ‘
+of.options.LAZY_CHUNK_LOADING.tooltip.5=на неÑколько тиков.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Выключите, еÑли некоторые чаÑти мира загружаютÑÑ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Данный параметр Ñффективен Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… миров и одноÑдерных ЦП.
+
+# Animations
+
+of.options.animation.allOn=Включить вÑÑ‘
+of.options.animation.allOff=Выключить вÑÑ‘
+of.options.animation.dynamic=ДинамичеÑкаÑ
+
+of.options.ANIMATED_WATER=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð²Ð¾Ð´Ñ‹
+of.options.ANIMATED_LAVA=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð»Ð°Ð²Ñ‹
+of.options.ANIMATED_FIRE=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð³Ð½Ñ
+of.options.ANIMATED_PORTAL=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ñ€Ñ‚Ð°Ð»Ð°
+of.options.ANIMATED_REDSTONE=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ñ€ÐµÐ´Ñтоуна
+of.options.ANIMATED_EXPLOSION=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð²Ð·Ñ€Ñ‹Ð²Ð°
+of.options.ANIMATED_FLAME=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð»Ð°Ð¼ÐµÐ½Ð¸
+of.options.ANIMATED_SMOKE=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð´Ñ‹Ð¼Ð°
+of.options.VOID_PARTICLES=ЧаÑтицы пуÑтоты
+of.options.WATER_PARTICLES=ЧаÑтицы воды
+of.options.RAIN_SPLASH=Брызги дождÑ
+of.options.PORTAL_PARTICLES=ЧаÑтицы портала
+of.options.POTION_PARTICLES=ЧаÑтицы зельÑ
+of.options.DRIPPING_WATER_LAVA=ÐšÐ°Ð¿Ð°ÑŽÑ‰Ð°Ñ Ð²Ð¾Ð´Ð°/лава
+of.options.ANIMATED_TERRAIN=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð¼ÐµÑтноÑти
+of.options.ANIMATED_TEXTURES=ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ñ‚ÐµÐºÑтур
+of.options.FIREWORK_PARTICLES=ЧаÑтицы фейерверка
+
+# Other
+
+of.options.LAGOMETER=Лагометр
+of.options.LAGOMETER.tooltip.1=Показывает лагометр на Ñкране откладки (F3).
+of.options.LAGOMETER.tooltip.2=* Оранжевый - Сборщик муÑора памÑти
+of.options.LAGOMETER.tooltip.3=* Голубой - Тик
+of.options.LAGOMETER.tooltip.4=* Синий - Запланированные иÑполнÑемые файлы
+of.options.LAGOMETER.tooltip.5=* Фиолетовый - Загрузка чанков
+of.options.LAGOMETER.tooltip.6=* КраÑный - Обновление чанков
+of.options.LAGOMETER.tooltip.7=* Желтый - Проверка видимоÑти
+of.options.LAGOMETER.tooltip.8=* Зеленый - Рендеринг меÑтноÑти
+
+of.options.PROFILER=Профиль откладки
+of.options.PROFILER.tooltip.1=Профиль откладки
+of.options.PROFILER.tooltip.2= Вкл - профиль откладки активен, медленнее
+of.options.PROFILER.tooltip.3= Выкл - профиль откладки неактивен, быÑтрее
+of.options.PROFILER.tooltip.4=Показывает дополнительную информацию, когда Ñкран отладки открыт (F3).
+of.options.PROFILER.tooltip.5=
+
+of.options.WEATHER=Погода
+of.options.WEATHER.tooltip.1=Погода
+of.options.WEATHER.tooltip.2= Вкл - погода активна, медленнее
+of.options.WEATHER.tooltip.3= Выкл - погода неактивна, быÑтрее
+of.options.WEATHER.tooltip.4=Ðтот параметр контролирует дождь, Ñнег и грозу.
+of.options.WEATHER.tooltip.5=Контролирование погодой возможно только в локальных мирах.
+
+of.options.time.dayOnly=Ð’Ñегда день
+of.options.time.nightOnly=Ð’Ñегда ночь
+
+of.options.TIME=Ð’Ñ€ÐµÐ¼Ñ Ñуток
+of.options.TIME.tooltip.1=Ð’Ñ€ÐµÐ¼Ñ Ñуток
+of.options.TIME.tooltip.2= По умолчанию - нормальный цикл Ð´Ð½Ñ Ð¸ ночи
+of.options.TIME.tooltip.3= Ð’Ñегда день - только дневное времÑ
+of.options.TIME.tooltip.4= Ð’Ñегда ночь - только ночное времÑ
+of.options.TIME.tooltip.5=ÐаÑтройка времени дейÑтвует только в ТВОРЧЕСКОМ режиме и только
+of.options.TIME.tooltip.6=Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… миров.
+
+options.fullscreen.tooltip.1=ПолноÑкранный режим
+options.fullscreen.tooltip.2= Вкл - иÑпользовать полноÑкранный режим
+options.fullscreen.tooltip.3= Выкл - иÑпользовать оконный режим
+options.fullscreen.tooltip.4=ПолноÑкранный режим может быть как производительнее чем оконный,
+options.fullscreen.tooltip.5=так и нет, Ñто завиÑит от видеокарты.
+
+of.options.FULLSCREEN_MODE=Разрешение Ñкрана
+of.options.FULLSCREEN_MODE.tooltip.1=Разрешение Ñкрана в полноÑкранном режиме
+of.options.FULLSCREEN_MODE.tooltip.2= По умолчанию - разрешение рабочего Ñтола, медленнее
+of.options.FULLSCREEN_MODE.tooltip.3= ШxÐ’ - выбранное разрешение, возможно быÑтрее
+of.options.FULLSCREEN_MODE.tooltip.4=Выбранное разрешение будет иÑпользовано в полноÑкранном режиме (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Меньшие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑпоÑобÑтвуют быÑтродейÑтвию.
+
+of.options.SHOW_FPS=Отображение FPS
+of.options.SHOW_FPS.tooltip.1=Компактно показывает FPS и информацию о рендере.
+of.options.SHOW_FPS.tooltip.2= C: - рендеринг чанков
+of.options.SHOW_FPS.tooltip.3= E: - рендеринг ÑущноÑтей + блоки Ñ Ð´Ð¾Ð¿. данными
+of.options.SHOW_FPS.tooltip.4= U: - обновление чанков
+of.options.SHOW_FPS.tooltip.5=ÐšÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ FPS показываетÑÑ, только тогда, когда Ñкран откладки
+of.options.SHOW_FPS.tooltip.6=отключен.
+
+of.options.save.default=По умолчанию (2 Ñ.)
+of.options.save.20s=20 Ñекунд
+of.options.save.3min=3 минуты
+of.options.save.30min=30 минут
+
+of.options.AUTOSAVE_TICKS=ÐвтоÑохранение
+of.options.AUTOSAVE_TICKS.tooltip.1=Интервал автоÑохранений
+of.options.AUTOSAVE_TICKS.tooltip.2=Интервал автоÑохранений по умолчанию (2 Ñ.) ÐЕ РЕКОМЕÐДУЕТСЯ.
+of.options.AUTOSAVE_TICKS.tooltip.3=ÐвтоÑохранение может Ñоздавать кратковременные завиÑаниÑ.
+
+of.options.SCREENSHOT_SIZE=Разрешение Ñкриншота
+of.options.SCREENSHOT_SIZE.tooltip.1=Разрешение Ñкриншота
+of.options.SCREENSHOT_SIZE.tooltip.2= По умолчанию - Ñтандартное разрешение Ñкриншота
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - множитель разрешениÑ
+of.options.SCREENSHOT_SIZE.tooltip.4=Создание Ñкриншота большего Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ больше памÑти.
+of.options.SCREENSHOT_SIZE.tooltip.5=ТребуетÑÑ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° кадрового буфера графичеÑкого процеÑÑора.
+of.options.SCREENSHOT_SIZE.tooltip.6=Ðе ÑовмеÑтимо Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ "БыÑтрый рендер" и "ÐнтиалиаÑинг".
diff --git a/src/main/resources/assets/minecraft/optifine/lang/sv_SE.lang b/src/main/resources/assets/minecraft/optifine/lang/sv_SE.lang
new file mode 100644
index 00000000..d81720b7
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/sv_SE.lang
@@ -0,0 +1,597 @@
+# Contributors of Swedish localization #
+# Regnander (_Spitz) 2016-01-18 ---- 2017-02-06
+
+# General
+of.general.ambiguous=tvetydig
+of.general.custom=Anpassad
+of.general.from=Från
+of.general.id=ID
+of.general.restart=starta om
+of.general.smart=Smart
+
+# Keys
+of.key.zoom=Zooma in
+
+# Message
+of.message.aa.shaders1=Kantutjämning är inte kompatibel med Shaders.
+of.message.aa.shaders2=Inaktivera Shaders för att aktivera detta alternativ.
+
+of.message.af.shaders1=Anisotropisk filtrering är inte kompatibel med Shaders.
+of.message.af.shaders2=Inaktivera Shaders för att aktivera detta alternativ.
+
+of.message.fr.shaders1=Snabb rendering är inte kompatibel med Shaders.
+of.message.fr.shaders1=Inaktivera Shaders för att aktivera detta alternativ.
+
+of.message.an.shaders1=3D-effekt är inte kompatibel med Shaders.
+of.message.an.shaders2=Inaktivera Shaders för att aktivera detta alternativ.
+
+of.message.shaders.aa1=Shaders är inte kompatibla med Kantutjämning.
+of.message.shaders.aa2=Ändra "Kvalitet -> Kantutjämning" till AV och starta om spelet.
+
+of.message.shaders.af1=Shaders är inte kompatibla med Anisotropisk filtrering.
+of.message.shaders.af2=Ändra "Kvalitet -> Anisotropisk filtrering" till AV.
+
+of.message.shaders.fr1=Shaders är inte kompatibla med Snabb rendering.
+of.message.shaders.fr2=Ändra "Prestanda -> Snabb rendering" till AV.
+
+of.message.shaders.an1=Shaders är inte kompatibla med 3D-effekt.
+of.message.shaders.an2=Ändra "Övrigt -> 3D-effekt" till AV.
+
+of.message.newVersion=En ny version av §eOptiFine§f finns tillgänglig: §e%s§f
+of.message.java64Bit=Du kan installera §e64-bitarsversionen av Java§f för att förbättra prestandan.
+of.message.openglError=§eOpenGL-fel§f: %s (%s)
+
+of.message.shaders.loading=Läser in shaders: %s
+
+of.message.other.reset=Återställ alla grafikinställningar till dess standardvärden?
+
+of.message.loadingVisibleChunks=Läser in synliga chunkar
+
+# Video settings
+
+options.graphics.tooltip.1=Visuell kvalitet
+options.graphics.tooltip.2= Snabbt - lägre kvalitet, snabbare
+options.graphics.tooltip.3= Snyggt - högre kvalitet, långsammare
+options.graphics.tooltip.4=Ändrar utseendet för moln, löv, vatten, skuggor och
+options.graphics.tooltip.5=gräskanter.
+
+of.options.renderDistance.tiny=Litet
+of.options.renderDistance.short=Kort
+of.options.renderDistance.normal=Normalt
+of.options.renderDistance.far=LÃ¥ngt
+of.options.renderDistance.extreme=Extremt
+
+options.renderDistance.tooltip.1=Synligt avstånd
+options.renderDistance.tooltip.2= 2 Litet - 32m (snabbast)
+options.renderDistance.tooltip.3= 4 Kort - 64m (snabbare)
+options.renderDistance.tooltip.4= 8 Normalt - 128m
+options.renderDistance.tooltip.5= 16 Långt - 256m (långsammare)
+options.renderDistance.tooltip.6= 32 Extremt - 512m (långsammast!)
+options.renderDistance.tooltip.7=Avståndet Extremt är mycket resurskrävande!
+options.renderDistance.tooltip.8=Värden över 16 fungerar endast i lokala världar.
+
+options.ao.tooltip.1=Ljusutjämning
+options.ao.tooltip.2= AV - ingen ljusutjämning (snabbast)
+options.ao.tooltip.3= Minimum - enkel ljusutjämning (långsammare)
+options.ao.tooltip.4= Maximum - avancerad ljusutjämning (långsammast)
+
+options.framerateLimit.tooltip.1=Maximal bildfrekvens
+options.framerateLimit.tooltip.2= VSync - använder skärmens bildfrekvens (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - variabel
+options.framerateLimit.tooltip.4= Oändlig - ingen begränsning (snabbast)
+options.framerateLimit.tooltip.5=Bildfrekvensens gräns reducerar bildfrekvensen även
+options.framerateLimit.tooltip.6=om gränsens värde inte nås.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Ljusutjämningsnivå
+of.options.AO_LEVEL.tooltip.1=Ljusutjämningsnivå
+of.options.AO_LEVEL.tooltip.2= AV - inga skuggor
+of.options.AO_LEVEL.tooltip.3= 50%% - ljusa skuggor
+of.options.AO_LEVEL.tooltip.4= 100%% - mörka skuggor
+
+options.viewBobbing.tooltip.1=Mer verklighetstrogna rörelser.
+options.viewBobbing.tooltip.2=Inaktivera detta om mipmaps används för bästa resultat.
+
+options.guiScale.tooltip.1=GUI-skala
+options.guiScale.tooltip.2= Automatisk - maximal storlek
+options.guiScale.tooltip.3= Liten, Normal, Stor - 1x till 3x
+options.guiScale.tooltip.4= 4x till 10x - tillgänglig på 4K-skärmar
+options.guiScale.tooltip.5=Udda värden (1x, 3x, 5x...) är inte kompatibla med Unicode.
+options.guiScale.tooltip.6=Ett mindre GUI kan vara snabbare.
+
+options.vbo.tooltip.1=Vertex Buffer Objects
+options.vbo.tooltip.2=Använder en alternativ renderingsmodell som vanligtvis
+options.vbo.tooltip.3=är snabbare (5-10%%) än standardrenderingen.
+
+options.gamma.tooltip.1=Ändrar ljusstyrkan för mörkare objekt.
+options.gamma.tooltip.2= Mörkt - standardljusstyrka
+options.gamma.tooltip.3= 1-99%% - variabel
+options.gamma.tooltip.4= Ljust - maximal ljusstyrka för mörkare objekt
+options.gamma.tooltip.5=Detta alternativ ändrar inte ljusstyrkan för helt svarta
+options.gamma.tooltip.6=objekt.
+
+options.anaglyph.tooltip.1=3D-effekt
+options.anaglyph.tooltip.2=Aktiverar en stereoskopisk 3D-effekt med hjälp av olika
+options.anaglyph.tooltip.3=färger för varje öga.
+options.anaglyph.tooltip.4=Kräver röd-turkosa glasögon för bästa resultat.
+
+options.blockAlternatives.tooltip.1=Alternativa block
+options.blockAlternatives.tooltip.2=Använder alternativa blockmodeller för samma block.
+options.blockAlternatives.tooltip.3=Beror på valt resurspaket.
+
+of.options.ALTERNATE_BLOCKS=Alternerade block
+of.options.ALTERNATE_BLOCKS.tooltip.1=Alternerade block
+of.options.ALTERNATE_BLOCKS.tooltip.2=Använder alternativa blockmodeller för en del block.
+of.options.ALTERNATE_BLOCKS.tooltip.3=Förlitar sig på aktuellt resurspaket.
+
+of.options.FOG_FANCY=Dimma
+of.options.FOG_FANCY.tooltip.1=Typ av dimma
+of.options.FOG_FANCY.tooltip.2= Snabbt - snabbare dimma
+of.options.FOG_FANCY.tooltip.3= Snyggt - långsammare dimma, ser bättre ut
+of.options.FOG_FANCY.tooltip.4= AV - ingen dimma, snabbast
+of.options.FOG_FANCY.tooltip.5=Snygg dimma finns bara tillgänglig om det stöds av
+of.options.FOG_FANCY.tooltip.6=grafikkortet.
+
+of.options.FOG_START=Startgräns för dimma
+of.options.FOG_START.tooltip.1=Startgräns för dimma
+of.options.FOG_START.tooltip.2= 0.2 - dimman börjar nära spelaren
+of.options.FOG_START.tooltip.3= 0.8 - dimman börjar långt bort från spelaren
+of.options.FOG_START.tooltip.4=Detta alternativ påverkar vanligtvis inte prestandan.
+
+of.options.CHUNK_LOADING=Chunkinläsning
+of.options.CHUNK_LOADING.tooltip.1=Chunkinläsning
+of.options.CHUNK_LOADING.tooltip.2= Standard - ostabil bildfrekvens när chunks läses in
+of.options.CHUNK_LOADING.tooltip.3= Jämn - stabil bildfrekvens
+of.options.CHUNK_LOADING.tooltip.4= Flerkärnig - stabil bildfrekvens, 3x snabbare inläsning
+of.options.CHUNK_LOADING.tooltip.5=Jämn och Flerkärnig tar bort ryckningar och
+of.options.CHUNK_LOADING.tooltip.6=frysningar som orsakas av inlästa chunkar.
+of.options.CHUNK_LOADING.tooltip.7=Flerkärnig kan påskynda världens inläsning med 3x
+of.options.CHUNK_LOADING.tooltip.8=och höja bildfrekvensen med en andra processorkärna.
+of.options.chunkLoading.smooth=Jämn
+of.options.chunkLoading.multiCore=Flerkärnig
+
+of.options.shaders=Shaders...
+of.options.shadersTitle=Shaders
+
+of.options.shaders.packNone=AV
+of.options.shaders.packDefault=(intern)
+
+of.options.shaders.ANTIALIASING=Kantutjämning
+of.options.shaders.NORMAL_MAP=Normap map
+of.options.shaders.SPECULAR_MAP=Specular map
+of.options.shaders.RENDER_RES_MUL=Renderingskvalitet
+of.options.shaders.SHADOW_RES_MUL=Skuggkvalitet
+of.options.shaders.HAND_DEPTH_MUL=Handdjup
+of.options.shaders.CLOUD_SHADOW=Molnskugga
+of.options.shaders.OLD_HAND_LIGHT=Gammalt handljus
+of.options.shaders.OLD_LIGHTING=Gammalt ljus
+of.options.shaders.SHADER_PACK=Shaderpaket
+
+of.options.shaders.shadersFolder=Shadermapp
+of.options.shaders.shaderOptions=Shaderalternativ...
+
+of.options.shaderOptionsTitle=Shaderalternativ
+
+of.options.quality=Kvalitet...
+of.options.qualityTitle=Kvalitetsinställningar
+
+of.options.details=Detaljer...
+of.options.detailsTitle=Detaljinställningar
+
+of.options.performance=Prestanda...
+of.options.performanceTitle=Prestandainställningar
+
+of.options.animations=Animeringar...
+of.options.animationsTitle=Animeringsinställningar
+
+of.options.other=Övrigt...
+of.options.otherTitle=Övriga inställningar
+
+of.options.other.reset=Återställ grafikinställningar...
+
+of.shaders.profile=Profil
+
+# Quality
+
+of.options.mipmap.bilinear=Bilinjärt
+of.options.mipmap.linear=Linjärt
+of.options.mipmap.nearest=Närmast
+of.options.mipmap.trilinear=Trilinjärt
+
+options.mipmapLevels.tooltip.1=Visuell effekt som gör att objekt på avstånd ser bättre
+options.mipmapLevels.tooltip.2=ut genom att jämna ut texturdetaljerna.
+options.mipmapLevels.tooltip.3= AV - ingen utjämning
+options.mipmapLevels.tooltip.4= 1 - minimal utjämning
+options.mipmapLevels.tooltip.5= 4 - maximal utjämning
+options.mipmapLevels.tooltip.6=Detta alternativ påverkar vanligtvis inte prestandan.
+
+of.options.MIPMAP_TYPE=Mipmaptyp
+of.options.MIPMAP_TYPE.tooltip.1=Visuell effekt som gör att objekt på avstånd ser bättre
+of.options.MIPMAP_TYPE.tooltip.2=ut genom att jämna ut texturdetaljerna.
+of.options.MIPMAP_TYPE.tooltip.3= Närmast - grov utjämning (snabbast)
+of.options.MIPMAP_TYPE.tooltip.4= Linjärt - normal utjämning
+of.options.MIPMAP_TYPE.tooltip.5= Bilinjärt - fin utjämning
+of.options.MIPMAP_TYPE.tooltip.6= Trilinjärt - finast utjämning (långsammast)
+
+
+of.options.AA_LEVEL=Kantutjämning
+of.options.AA_LEVEL.tooltip.1=Kantutjämning
+of.options.AA_LEVEL.tooltip.2= AV - (standard) ingen kantutjämning (snabbare)
+of.options.AA_LEVEL.tooltip.3= 2-16 - kantutjämnade linjer och kanter (långsammare)
+of.options.AA_LEVEL.tooltip.4=Kantutjämningen jämnar ur ojämna linjer och skarpa
+of.options.AA_LEVEL.tooltip.5=färgövergångar.
+of.options.AA_LEVEL.tooltip.6=Bildfrekvensen kan sjunka avsevärt när detta aktiveras.
+of.options.AA_LEVEL.tooltip.7=Alla nivåer stöds inte av alla grafikkort.
+of.options.AA_LEVEL.tooltip.8=Kräver OMSTART!
+
+of.options.AF_LEVEL=Anisotropisk filtrering
+of.options.AF_LEVEL.tooltip.1=Anisotropisk filtrering
+of.options.AF_LEVEL.tooltip.2= AV - (standard) standarddetaljer för texturer (snabbare)
+of.options.AF_LEVEL.tooltip.3= 2-16 - finare detaljer i mipmaptexturer (långsammare)
+of.options.AF_LEVEL.tooltip.4=Anisotropiska filtreringen återställer detaljer i
+of.options.AF_LEVEL.tooltip.5=mipmaptexturer.
+of.options.AF_LEVEL.tooltip.6=Bildfrekvensen kan sjunka avsevärt när detta aktiveras.
+
+of.options.CLEAR_WATER=Kristallklart vatten
+of.options.CLEAR_WATER.tooltip.1=Kristallklart vatten
+of.options.CLEAR_WATER.tooltip.2= PÃ… - kristallklart, genomskinligt vatten
+of.options.CLEAR_WATER.tooltip.3= AV - standardvatten
+
+of.options.RANDOM_MOBS=Slumpade monster
+of.options.RANDOM_MOBS.tooltip.1=Slumpade monster
+of.options.RANDOM_MOBS.tooltip.2= AV - inga slumpade monster, snabbare
+of.options.RANDOM_MOBS.tooltip.3= PÅ - slumpade monster, långsammare
+of.options.RANDOM_MOBS.tooltip.4=Använder slumpade texturer för spelets varelser.
+of.options.RANDOM_MOBS.tooltip.5=Kräver ett resurspaket med flera monstertexturer.
+
+of.options.BETTER_GRASS=Bättre gräs
+of.options.BETTER_GRASS.tooltip.1=Bättre gräs
+of.options.BETTER_GRASS.tooltip.2= AV - standardtextur för gräskanter, snabbast
+of.options.BETTER_GRASS.tooltip.3= Snabbt - fullständig textur för gräskanter, långsammare
+of.options.BETTER_GRASS.tooltip.4= Snyggt - dynamisk textur för gräskanter, långsammast
+
+of.options.BETTER_SNOW=Bättre snö
+of.options.BETTER_SNOW.tooltip.1=Bättre snö
+of.options.BETTER_SNOW.tooltip.2= AV - standardsnö, snabbare
+of.options.BETTER_SNOW.tooltip.3= PÅ - bättre snö, långsammare
+of.options.BETTER_SNOW.tooltip.4=Visar snö under genomskinliga block (staket, högt gräs)
+of.options.BETTER_SNOW.tooltip.5=som angränsar till snöblock.
+
+of.options.CUSTOM_FONTS=Anpassade typsnitt
+of.options.CUSTOM_FONTS.tooltip.1=Anpassade typsnitt
+of.options.CUSTOM_FONTS.tooltip.2= PÅ - använd anpassade typsnitt (standard), långsammare
+of.options.CUSTOM_FONTS.tooltip.3= AV - använd standardtypsnittet, snabbare
+of.options.CUSTOM_FONTS.tooltip.4=De anpassade typsnitten tillhandahålls av det aktuella
+of.options.CUSTOM_FONTS.tooltip.5=resurspaketet.
+
+of.options.CUSTOM_COLORS=Anpassade färger
+of.options.CUSTOM_COLORS.tooltip.1=Anpassade färger
+of.options.CUSTOM_COLORS.tooltip.2= PÅ - anpassade färger används (standard), långsammare
+of.options.CUSTOM_COLORS.tooltip.3= AV - standardfärger används, snabbare
+of.options.CUSTOM_COLORS.tooltip.4=De anpassade färgerna tillhandahålls av det aktuella
+of.options.CUSTOM_COLORS.tooltip.5=resurspaketet
+
+of.options.SWAMP_COLORS=Träskfärger
+of.options.SWAMP_COLORS.tooltip.1=Träskfärger
+of.options.SWAMP_COLORS.tooltip.2= PÅ - använd träskfärger (standard), långsammare
+of.options.SWAMP_COLORS.tooltip.3= AV - använd inte träskfärger, snabbare
+of.options.SWAMP_COLORS.tooltip.4=Träskfärgerna påverkar gräs, löv, klätterväxter och
+of.options.SWAMP_COLORS.tooltip.5=vatten.
+
+of.options.SMOOTH_BIOMES=Utjämnade biomer
+of.options.SMOOTH_BIOMES.tooltip.1=Utjämnade biomer
+of.options.SMOOTH_BIOMES.tooltip.2= PÅ - biomkanter jämnas ut (standard), långsammare
+of.options.SMOOTH_BIOMES.tooltip.3= AV - biomkanter jämnas inte ut, snabbare
+of.options.SMOOTH_BIOMES.tooltip.4=Biomkanterna jämnas ut genom att sampla och beräkna
+of.options.SMOOTH_BIOMES.tooltip.5=medelvärdet av färgen för alla block runtomkring.
+of.options.SMOOTH_BIOMES.tooltip.6=Gräs, löv, klätterväxter och vatten påverkas.
+
+of.options.CONNECTED_TEXTURES=Anslutande texturer
+of.options.CONNECTED_TEXTURES.tooltip.1=Anslutande texturer
+of.options.CONNECTED_TEXTURES.tooltip.2= AV - inga anslutande texturer (standard)
+of.options.CONNECTED_TEXTURES.tooltip.3= Snabbt - snabba anslutande texturer
+of.options.CONNECTED_TEXTURES.tooltip.4= Snyggt - snygga anslutande texturer
+of.options.CONNECTED_TEXTURES.tooltip.5=Anslutande texturer sammanfogar texturerna för glas,
+of.options.CONNECTED_TEXTURES.tooltip.6=sandsten och bokhyllor när de placeras intill varandra.
+of.options.CONNECTED_TEXTURES.tooltip.7=De anslutna texturerna tillhandahålls av det aktuella
+of.options.CONNECTED_TEXTURES.tooltip.8=resurspaketet.
+
+of.options.NATURAL_TEXTURES=Naturliga texturer
+of.options.NATURAL_TEXTURES.tooltip.1=Naturliga texturer
+of.options.NATURAL_TEXTURES.tooltip.2= AV - inga naturliga texturer (standard)
+of.options.NATURAL_TEXTURES.tooltip.3= PÅ - använd naturliga texturer
+of.options.NATURAL_TEXTURES.tooltip.4=Naturliga texturer tar bort rutnätsliknande mönster som
+of.options.NATURAL_TEXTURES.tooltip.5=skapas från upprepade block av samma typ.
+of.options.NATURAL_TEXTURES.tooltip.6=Den använder roterade och speglade varianter av den
+of.options.NATURAL_TEXTURES.tooltip.7=ursprungliga blocktexturen. Konfigurationen för naturliga
+of.options.NATURAL_TEXTURES.tooltip.8=texturer tillhandahålls av det aktuella resurspaketet.
+
+of.options.CUSTOM_SKY=Anpassad himmel
+of.options.CUSTOM_SKY.tooltip.1=Anpassad himmel
+of.options.CUSTOM_SKY.tooltip.2= PÅ - anpassade himmeltexturer (standard), långsamt
+of.options.CUSTOM_SKY.tooltip.3= AV - standardhimmel, snabbare
+of.options.CUSTOM_SKY.tooltip.4=Texturerna för den anpassade himlen tillhandahålls av
+of.options.CUSTOM_SKY.tooltip.5=det aktuella resurspaketet.
+
+of.options.CUSTOM_ITEMS=Anpassade föremål
+of.options.CUSTOM_ITEMS.tooltip.1=Anpassade föremål
+of.options.CUSTOM_ITEMS.tooltip.2= PÅ - anpassade föremålstexturer (standard), långsamt
+of.options.CUSTOM_ITEMS.tooltip.3= AV - standardtexturer för föremål, snabbare
+of.options.CUSTOM_ITEMS.tooltip.4=Det anpassade föremålstexturerna tillhandahålls av det
+of.options.CUSTOM_ITEMS.tooltip.5=aktuella texturpaketet.
+
+of.options.CUSTOM_ENTITY_MODELS=Anpassade entitetsmodeller
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=Anpassade entitetsmodeller
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= PÅ - anpassade entitetsmodeller (standard), långsamt
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= AV - standardentitetsmodeller, snabbare
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=De anpassade entitetsmodellerna tillhandahålls av det
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=aktuella resurspaketet.
+
+# Details
+
+of.options.CLOUDS=Moln
+of.options.CLOUDS.tooltip.1=Moln
+of.options.CLOUDS.tooltip.2= Standard - följer grafikinställningarna
+of.options.CLOUDS.tooltip.3= Snabbt - lägre kvalitet, snabbare
+of.options.CLOUDS.tooltip.4= Snyggt - högre kvalitet, långsammare
+of.options.CLOUDS.tooltip.5= AV - inga moln, snabbast
+of.options.CLOUDS.tooltip.6=Snabba moln renderas i 2D.
+of.options.CLOUDS.tooltip.7=Snygga moln renderas i 3D.
+
+of.options.CLOUD_HEIGHT=Molnhöjd
+of.options.CLOUD_HEIGHT.tooltip.1=Molnhöjd
+of.options.CLOUD_HEIGHT.tooltip.2= AV - standardhöjd
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - ovanför världens höjdgräns
+
+of.options.TREES=Träd
+of.options.TREES.tooltip.1=Träd
+of.options.TREES.tooltip.2= Standard - följer grafikinställningarna
+of.options.TREES.tooltip.3= Snabbt - lägre kvalitet, snabbare
+of.options.TREES.tooltip.4= Smart - högre kvalitet, snabbt
+of.options.TREES.tooltip.5= Snyggt - högst kvalitet, långsammare
+of.options.TREES.tooltip.6=Snabba träd har ogenomskinliga löv.
+of.options.TREES.tooltip.7=Snygga och smarta träd har genomskinliga löv.
+
+of.options.RAIN=Regn och snö
+of.options.RAIN.tooltip.1=Regn och snö
+of.options.RAIN.tooltip.2= Standard - följer grafikinställningarna
+of.options.RAIN.tooltip.3= Snabbt - lätt regn/snö, snabbare
+of.options.RAIN.tooltip.4= Snyggt - tungt regn/snö, långsammare
+of.options.RAIN.tooltip.5= AV - inget regn/snö, snabbast
+of.options.RAIN.tooltip.6=Regnljud och regnstänk kommer fortfarande höras och
+of.options.RAIN.tooltip.7=synas om regn stängs av.
+
+of.options.SKY=Himmel
+of.options.SKY.tooltip.1=Himmel
+of.options.SKY.tooltip.2= PÅ - himlen syns, långsammare
+of.options.SKY.tooltip.3= AV - himlen syns inte, snabbare
+of.options.SKY.tooltip.4=Om himlen inaktiveras syns fortfarande månen och solen.
+
+of.options.STARS=Stjärnor
+of.options.STARS.tooltip.1=Stjärnor
+of.options.STARS.tooltip.2= PÅ - stjärnor syns, långsammare
+of.options.STARS.tooltip.3= AV - stjärnor syns inte, snabbare
+
+of.options.SUN_MOON=Sol och måne
+of.options.SUN_MOON.tooltip.1=Sol och måne
+of.options.SUN_MOON.tooltip.2= PÅ - solen och månen syns (standard)
+of.options.SUN_MOON.tooltip.3= AV - solen och månen syns inte (snabbare)
+
+of.options.SHOW_CAPES=Visa mantlar
+of.options.SHOW_CAPES.tooltip.1=Visa mantlar
+of.options.SHOW_CAPES.tooltip.2= PÃ… - visa spelarmantlar (standard)
+of.options.SHOW_CAPES.tooltip.3= AV - visa inte spelarmantlar
+
+of.options.TRANSLUCENT_BLOCKS=Genomskinliga block
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Genomskinliga block
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= Snyggt - korrekt färgblandning (standard)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Snabbt - snabb färgblandning (snabbare)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Kontrollerar färgblandningen för genomskinliga block med
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=olika färger (färgat glas, vatten, is) när de placeras
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=bakom varandra med luft emellan.
+
+of.options.HELD_ITEM_TOOLTIPS=Infotext för föremål
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Infotext för föremål
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= PÅ - visa infotext för hållna föremål (standard)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= AV - visa inte infotext för hållna föremål
+
+of.options.ADVANCED_TOOLTIPS=Avancerade inforutor
+of.options.ADVANCED_TOOLTIPS.tooltip.1=Avancerade inforutor
+of.options.ADVANCED_TOOLTIPS.tooltip.2= PÃ… - visa avancerade inforutor
+of.options.ADVANCED_TOOLTIPS.tooltip.3= AV - visa inte avancerade inforutor (standard)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Avancerade inforutor visar utvidgad information om
+of.options.ADVANCED_TOOLTIPS.tooltip.5=föremål (id, hållbarhet) och shaderalternativ
+of.options.ADVANCED_TOOLTIPS.tooltip.6=(id, källa, standardvärden).
+
+of.options.DROPPED_ITEMS=Släppta föremål
+of.options.DROPPED_ITEMS.tooltip.1=Släppta föremål
+of.options.DROPPED_ITEMS.tooltip.2= Standard - följer grafikinställningarna
+of.options.DROPPED_ITEMS.tooltip.3= Snabbt - renderas i 2D, snabbare
+of.options.DROPPED_ITEMS.tooltip.4= Snyggt - renderas i 3D, långsammare
+
+options.entityShadows.tooltip.1=Entitetsskuggor
+options.entityShadows.tooltip.2= PÃ… - visa entitetsskuggor
+options.entityShadows.tooltip.3= AV - visa inte entitetsskuggor
+
+of.options.VIGNETTE=Vinjett
+of.options.VIGNETTE.tooltip.1=Visuell effekt som mörklägger skärmens hörn en aning
+of.options.VIGNETTE.tooltip.2= Standard - följer grafikinställningarna (standard)
+of.options.VIGNETTE.tooltip.3= Snabbt - vinjetten är inaktiverad (snabbare)
+of.options.VIGNETTE.tooltip.4= Snyggt - vinjetten är aktiverad (långsammare)
+of.options.VIGNETTE.tooltip.5=Vinjetten kan ha en betydande verkan på bildfrekvensen,
+of.options.VIGNETTE.tooltip.6=speciellt när fullskärm är aktiverad.
+of.options.VIGNETTE.tooltip.7=Vinjetteffekten är riktigt diskret och kan stängas av
+of.options.VIGNETTE.tooltip.8=utan någon fara.
+
+of.options.DYNAMIC_FOV=Dynamiskt synfält
+of.options.DYNAMIC_FOV.tooltip.1=Dynamiskt synfält
+of.options.DYNAMIC_FOV.tooltip.2= PÅ - aktivera dynamiskt synfält (standard)
+of.options.DYNAMIC_FOV.tooltip.3= AV - inaktivera dynamiskt synfält
+of.options.DYNAMIC_FOV.tooltip.4=Ändrar synfältet när du flyger, springer eller siktar
+of.options.DYNAMIC_FOV.tooltip.5=med en pilbåge.
+
+of.options.DYNAMIC_LIGHTS=Dynamiskt ljus
+of.options.DYNAMIC_LIGHTS.tooltip.1=Dynamiskt ljus
+of.options.DYNAMIC_LIGHTS.tooltip.2= AV - inget dynamiskt ljus (standard)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Snabbt - snabbt dynamiskt ljus (uppdateras varje 500ms)
+of.options.DYNAMIC_LIGHTS.tooltip.4= Snyggt - snyggt dynamiskt ljus (uppdateras i realtid)
+of.options.DYNAMIC_LIGHTS.tooltip.5=Låter föremål som avger ljus (facklor, glödsten, etc.)
+of.options.DYNAMIC_LIGHTS.tooltip.6=lysa upp omgivningen när de antingen hålls av dig eller
+of.options.DYNAMIC_LIGHTS.tooltip.7=andra spelare eller släpps ned på marken.
+
+# Performance
+
+of.options.SMOOTH_FPS=Jämn bildfrekvens
+of.options.SMOOTH_FPS.tooltip.1=Stabiliserar bildfrekvensen genom att rensa
+of.options.SMOOTH_FPS.tooltip.2=grafikdrivrutinernas buffrar.
+of.options.SMOOTH_FPS.tooltip.3= AV - ingen stabilisering, bildfrekvensen kan variera
+of.options.SMOOTH_FPS.tooltip.4= PÃ… - bildfrekvensen stabiliseras
+of.options.SMOOTH_FPS.tooltip.5=Beror på grafikdrivrutinerna och märks inte alltid.
+
+of.options.SMOOTH_WORLD=Jämn värld
+of.options.SMOOTH_WORLD.tooltip.1=Tar bort lag spikes som orsakas av den interna servern.
+of.options.SMOOTH_WORLD.tooltip.2= AV - ingen stabilisering, bildfrekvensen kan variera
+of.options.SMOOTH_WORLD.tooltip.3= PÃ… - stabiliserar bildfrekvensen
+of.options.SMOOTH_WORLD.tooltip.4=Stabiliserar bildfrekvensen genom att fördela inläsningen
+of.options.SMOOTH_WORLD.tooltip.5=av den interna servern.
+of.options.SMOOTH_WORLD.tooltip.6=Fungerar endast på lokala världar (enspelarläge).
+
+of.options.FAST_RENDER=Snabb rendering
+of.options.FAST_RENDER.tooltip.1=Snabb rendering
+of.options.FAST_RENDER.tooltip.2= AV - standardrendering (standard)
+of.options.FAST_RENDER.tooltip.3= PÃ… - optimerad rendering (snabbare)
+of.options.FAST_RENDER.tooltip.4=Använder en optimerad renderingsalgoritm som höjer
+of.options.FAST_RENDER.tooltip.5=grafikprocessorns läsninghastighet och kan höja
+of.options.FAST_RENDER.tooltip.6=bildfrekvensen avsevärt.
+
+of.options.FAST_MATH=Snabb matematik
+of.options.FAST_MATH.tooltip.1=Snabb matematik
+of.options.FAST_MATH.tooltip.2= AV - standardmatematik (standard)
+of.options.FAST_MATH.tooltip.3= PÃ… - snabbare matematik
+of.options.FAST_MATH.tooltip.4=Använder optimerade sin()- och cos()-funktioner för att
+of.options.FAST_MATH.tooltip.5=utnyttja processorcachen mer och höja bildfrekvensen.
+
+of.options.CHUNK_UPDATES=Chunkuppdateringar
+of.options.CHUNK_UPDATES.tooltip.1=Chunkuppdateringar
+of.options.CHUNK_UPDATES.tooltip.2= 1 - långsammare inläsning, högre bildfrekvens (standard)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - snabbare inläsning, lägre bildfrekvens
+of.options.CHUNK_UPDATES.tooltip.4= 5 - snabbaste inläsning, lägst bildfrekvens
+of.options.CHUNK_UPDATES.tooltip.5=Antalet chunkuppdateringar per renderad bildruta.
+of.options.CHUNK_UPDATES.tooltip.6=Högre värden kan göra bildfrekvensen ostabil.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Dynamiska uppdateringar
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Dynamiska chunkuppdateringar
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= AV - standardantal uppdateringar per bildruta (standard)
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= PÅ - fler uppdateringar när spelaren står stilla
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Dynamiska uppdateringar tvingar fler chunkuppdateringar
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=när spelaren står stilla för att läsa in världen snabbare.
+
+of.options.LAZY_CHUNK_LOADING=Slö chunkinläsning
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Slö chunkinläsning
+of.options.LAZY_CHUNK_LOADING.tooltip.2= AV - standardinläsning på servrar
+of.options.LAZY_CHUNK_LOADING.tooltip.3= PÅ - slö chunkinläsning på servrar (stabilare)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Jämnar ut den integrerade chunkläsningen för servern
+of.options.LAZY_CHUNK_LOADING.tooltip.5=genom att fördela chunkar över flera tickningar.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Inaktivera om delar av världen inte läser in på rätt sätt.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Fungerar bara i lokala världar och enkärniga
+of.options.LAZY_CHUNK_LOADING.tooltip.8=processorer.
+
+# Animations
+
+of.options.animation.allOn=Allt PÃ…
+of.options.animation.allOff=Allt AV
+of.options.animation.dynamic=Dynamiskt
+
+of.options.ANIMATED_WATER=Animerat vatten
+of.options.ANIMATED_LAVA=Animerad lava
+of.options.ANIMATED_FIRE=Animerad eld
+of.options.ANIMATED_PORTAL=Animerade portaler
+of.options.ANIMATED_REDSTONE=Animerad redstone
+of.options.ANIMATED_EXPLOSION=Animerade explosioner
+of.options.ANIMATED_FLAME=Animerade eldflammor
+of.options.ANIMATED_SMOKE=Animerad rök
+of.options.VOID_PARTICLES=Voidpartiklar
+of.options.WATER_PARTICLES=Vattenpartiklar
+of.options.RAIN_SPLASH=Regnstänk
+of.options.PORTAL_PARTICLES=Portalpartiklar
+of.options.POTION_PARTICLES=Brygdpartiklar
+of.options.DRIPPING_WATER_LAVA=Droppande vatten/lava
+of.options.ANIMATED_TERRAIN=Animerad terräng
+of.options.ANIMATED_TEXTURES=Animerade texturer
+of.options.FIREWORK_PARTICLES=Fyrverkeripartiklar
+
+# Other
+
+of.options.LAGOMETER=Laggmätare
+of.options.LAGOMETER.tooltip.1=Visar laggmätaren på felsökningsskärmen (F3).
+of.options.LAGOMETER.tooltip.2= * Orange - Minnesskräpsamling
+of.options.LAGOMETER.tooltip.3= * Turkos - Antal tickningar
+of.options.LAGOMETER.tooltip.4= * Blå - Schemalagda körningar
+of.options.LAGOMETER.tooltip.5= * Lila - Chunkuppladddningar
+of.options.LAGOMETER.tooltip.6= * Röd - Chunkuppdateringar
+of.options.LAGOMETER.tooltip.7= * Gul - Synlighetskontroller
+of.options.LAGOMETER.tooltip.8= * Grön - Terrängrendering
+
+of.options.PROFILER=Felsökningsprofilerare
+of.options.PROFILER.tooltip.1=Felsökningsprofilerare
+of.options.PROFILER.tooltip.2= PÅ - felsökningsprofilerare är igång, långsammare
+of.options.PROFILER.tooltip.3= AV - felsökningsprofilerare är inte igång, snabbare
+of.options.PROFILER.tooltip.4=Felsökningsprofileraren samlar in och visar
+of.options.PROFILER.tooltip.5=felsökningsinfo när felsökningsskärmen är öppen (F3).
+
+of.options.WEATHER=Väder
+of.options.WEATHER.tooltip.1=Väder
+of.options.WEATHER.tooltip.2= PÅ - väder är aktiverat, långsammare
+of.options.WEATHER.tooltip.3= AV - väder är inaktiverat, snabbare
+of.options.WEATHER.tooltip.4=Denna inställning omfattar regn, snö och åska.
+of.options.WEATHER.tooltip.5=Detta fungerar bara i lokala världar.
+
+of.options.time.dayOnly=Endast dag
+of.options.time.nightOnly=Endast natt
+
+of.options.TIME=Tid
+of.options.TIME.tooltip.1=Tid
+of.options.TIME.tooltip.2= Standard - vanliga dag/natt-cykler
+of.options.TIME.tooltip.3= Endast dag - dag hela tiden
+of.options.TIME.tooltip.4= Endast natt - natt hela tiden
+of.options.TIME.tooltip.5=Tidsinställningen fungerar endast i KREATIVT läge och
+of.options.TIME.tooltip.6=för lokala världar.
+
+options.fullscreen.tooltip.1=Fullskärm
+options.fullscreen.tooltip.2= PÅ - använd fullskärmsläge
+options.fullscreen.tooltip.3= AV - använd fönsterläge
+options.fullscreen.tooltip.4=Fullskärmsläge kan vara snabbare eller långsammare än
+options.fullscreen.tooltip.5=fönsterläge beroende på grafikkortet.
+
+of.options.FULLSCREEN_MODE=Fullskärmsläge
+of.options.FULLSCREEN_MODE.tooltip.1=Fullskärmsläge
+of.options.FULLSCREEN_MODE.tooltip.2= Standard - använd datorns upplösning, långsammare
+of.options.FULLSCREEN_MODE.tooltip.3= BxH - använd anpassad upplösning, kan vara snabbare
+of.options.FULLSCREEN_MODE.tooltip.4=Den valda upplösningen används i fullskärmsläge (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Lägre upplösningar bör vanligtvis vara snabbare.
+
+of.options.SHOW_FPS=Visa bildfrekvens
+of.options.SHOW_FPS.tooltip.1=Visar kort information om bildfrekvens och rendering.
+of.options.SHOW_FPS.tooltip.2= C: - antal chunkrenderingar
+of.options.SHOW_FPS.tooltip.3= E: - antal renderade entiteter + blockentiteter
+of.options.SHOW_FPS.tooltip.4= U: - antal chunkuppdateringar
+of.options.SHOW_FPS.tooltip.5=Informationen visas endast när felsökningsskärmen (F3)
+of.options.SHOW_FPS.tooltip.6=inte är öppen.
+
+of.options.save.default=Standard (2s)
+of.options.save.20s=20s
+of.options.save.3min=3min
+of.options.save.30min=30min
+
+of.options.AUTOSAVE_TICKS=Autosparning
+of.options.AUTOSAVE_TICKS.tooltip.1=Intervall för automatisk sparning.
+of.options.AUTOSAVE_TICKS.tooltip.2=Standardintervallet (2s) REKOMMENDERAS INTE.
+of.options.AUTOSAVE_TICKS.tooltip.3=Autosparning är ökänd för att orsaka lag spikes.
+
+of.options.SCREENSHOT_SIZE=Skärmdumpsstorlek
+of.options.SCREENSHOT_SIZE.tooltip.1=Skärmdumpsstorlek
+of.options.SCREENSHOT_SIZE.tooltip.2= Standard - standardstorlek för skärmdumpar
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - anpassad storlek för skärmdumpar
+of.options.SCREENSHOT_SIZE.tooltip.4=Större skärmdumpar kan kräva mer minne.
+of.options.SCREENSHOT_SIZE.tooltip.5=Inte kompatibel med Snabb rendering och Kantutjämning.
+of.options.SCREENSHOT_SIZE.tooltip.6=Kräver att grafikprocessorn har stöd för framebuffer.
diff --git a/src/main/resources/assets/minecraft/optifine/lang/uk_UA.lang b/src/main/resources/assets/minecraft/optifine/lang/uk_UA.lang
new file mode 100644
index 00000000..0246a269
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/uk_UA.lang
@@ -0,0 +1,592 @@
+#Translated by Cool_boy
+# General
+of.general.ambiguous=невизначений
+of.general.custom=КориÑтувацький
+of.general.from=З
+of.general.id=Id
+of.general.restart=перезапуÑк
+of.general.smart=Розумно
+
+# Keys
+of.key.zoom=Приблизити
+
+# Message
+of.message.aa.shaders1=Ð—Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ ÑуміÑне з шейдерами.
+of.message.aa.shaders2=Будь лаÑка, відключіть шейдери щоб увімкнути цю функцію.
+
+of.message.af.shaders1=Ðнізотропна Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð½Ðµ ÑуміÑне з шейдерами.
+of.message.af.shaders2=Будь лаÑка, відключіть шейдери щоб увімкнути цю функцію.
+
+of.message.an.shaders1=3D ефект не ÑуміÑний з шейдерами.
+of.message.an.shaders2=Вимкніть шейдери щоб увімкнути цю функцію.
+
+of.message.fr.shaders1=Швидкий рендер не ÑуміÑний з шейдерами.
+of.message.fr.shaders2=Будь лаÑка, вимкнуть шейдери щоб увімкнути цю функцію.
+
+of.message.shaders.aa1=Шейдери не ÑуміÑні зі згладжуваннÑм.
+of.message.shaders.aa2=Будь лаÑка, вÑтановіть ЯкіÑÑ‚ÑŒ -> Ð—Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Вимк Ñ– перезапуÑÑ‚Ñ–Ñ‚ÑŒ гру.
+
+of.message.shaders.af1=Шейдери не ÑуміÑні із анізотропною фільтрацією.
+of.message.shaders.af2=Будь лаÑка, вÑтановіть ЯкіÑÑ‚ÑŒ -> Ðнізотропна Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð½Ð° Вимк Ñ– перезапуÑÑ‚Ñ–Ñ‚ÑŒ гру.
+
+of.message.shaders.fr1=Шейдери не ÑуміÑні з швидким рендером.
+of.message.shaders.fr2=Будь лаÑка, вÑтановіть ПродуктивніÑÑ‚ÑŒ -> Швидкий рендер на Вимк Ñ– перезапуÑÑ‚Ñ–Ñ‚ÑŒ гру.
+
+of.message.shaders.an1=Шейдери не ÑуміÑні з 3D анагліфом.
+of.message.shaders.an2=Будь-лаÑка, вÑтановіть Інші -> 3D ефект на Вимк.
+
+of.message.newVersion=Ðова верÑÑ–Ñ Â§eOptiFine§f доÑтупна: §e%s§f
+of.message.java64Bit=Ð’Ñтанови §e64-bit Java§f щоб покращити продуктивніÑÑ‚ÑŒ
+of.message.openglError=§eOpenGL Error§f: %s (%s)
+
+of.message.shaders.loading=Завантажуємо шейдери: %s
+
+of.message.other.reset=Ð’Ñтановити вÑÑ– Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° їхні початкові значеннÑ?
+
+of.message.loadingVisibleChunks=Завантажувати видимі чанки
+
+# Video settings
+
+options.graphics.tooltip.1=Візуальна ÑкіÑÑ‚ÑŒ
+options.graphics.tooltip.2= Швидка - нижча ÑкіÑÑ‚ÑŒ, швидше
+options.graphics.tooltip.3= КраÑива - вижча ÑкіÑÑ‚ÑŒ, повільніше
+options.graphics.tooltip.4=Змінює зовнішній виглÑд хмар, лиÑÑ‚Ñ Ð²Ð¾Ð´Ð¸
+options.graphics.tooltip.5=тіней Ñ– Ñторін трави.
+
+of.options.renderDistance.tiny=Маленька
+of.options.renderDistance.short=Коротка
+of.options.renderDistance.normal=Ðормальна
+of.options.renderDistance.far=Далека
+of.options.renderDistance.extreme=Ðадзвичайна
+
+options.renderDistance.tooltip.1=Видима відÑтань
+options.renderDistance.tooltip.2= 2 Маленька - 32м (Ðайшвидше)
+options.renderDistance.tooltip.3= 4 Коротка - 64м (Швидша)
+options.renderDistance.tooltip.4= 8 Ðормальна - 128м
+options.renderDistance.tooltip.5= 16 Далека - 256м (повільніше)
+options.renderDistance.tooltip.6= 32 Ðадзвичайна - 512м (найповільніше!)
+options.renderDistance.tooltip.7=Ð”Ð»Ñ Ðадзвичайної видимої відÑтані потрібна велика кількіÑÑ‚ÑŒ реÑурÑів комп'ютера!
+options.renderDistance.tooltip.8=Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ñ–Ð»ÑŒÑˆÐ° за 16 Далеко ефективні лиш Ð´Ð»Ñ Ð¾Ð´Ð¸Ð½Ð¾Ñ‡Ð½Ð¸Ñ… Ñвітів.
+
+options.ao.tooltip.1=Ðœ'Ñке оÑвітленнÑ
+options.ao.tooltip.2= Вимк - без м'Ñкого оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ (Швидка)
+options.ao.tooltip.3= Мінімум - проÑте м'Ñке оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ (повільніше)
+options.ao.tooltip.4= МакÑимум - комплекÑне м'Ñке оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ (дуже повільно)
+
+options.framerateLimit.tooltip.1=МакÑимальна швидкіÑÑ‚ÑŒ передачі кадрів
+options.framerateLimit.tooltip.2= VSync - ліміт до макÑимальної кількоÑÑ‚Ñ– кадрів монітора (60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - змінні
+options.framerateLimit.tooltip.4= Ðеобмежено - без ліміту (Ðайшвидше)
+options.framerateLimit.tooltip.5=Гранична чаÑтота зміни кадрів зменшує FPS навіть Ñкщо
+options.framerateLimit.tooltip.6=Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñƒ не доÑÑгнуто.
+of.options.framerateLimit.vsync=VSync
+
+of.options.AO_LEVEL=Рівень м'Ñкого оÑвітленнÑ
+of.options.AO_LEVEL.tooltip.1=Рівень м'Ñкого оÑвітленнÑ
+of.options.AO_LEVEL.tooltip.2= Вимк - без тіней
+of.options.AO_LEVEL.tooltip.3= 50%% - легкі тіні
+of.options.AO_LEVEL.tooltip.4= 100%% - темні тіні
+
+options.viewBobbing.tooltip.1=РеаліÑтичний рух
+options.viewBobbing.tooltip.2=При викориÑтанні міпмапів вÑтановіть його в Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ Ð’Ð¸Ð¼Ðº Ð´Ð»Ñ Ð´Ð¾ÑÑÐ³Ð½ÐµÐ½Ð½Ñ Ð½Ð°Ð¹ÐºÑ€Ð°Ñ‰Ð¸Ñ… результатів.
+
+options.guiScale.tooltip.1=Розмір GUI
+options.guiScale.tooltip.2=Ðайменше GUI буде швидше
+options.guiScale.tooltip.2= Ðвто - макÑимальний розмір
+options.guiScale.tooltip.3= Малий, Ðормальний, Великий - 1x до 3x
+options.guiScale.tooltip.4= 4x до 10x - доÑтупні на 4K диÑплеÑÑ…
+options.guiScale.tooltip.5=Ðепарні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (1x, 3x, 5x ...) не підтримуютьÑÑ ÑŽÐ½Ñ–ÐºÐ¾Ð´Ð¾Ð¼.
+options.guiScale.tooltip.6=Менший GUI швидший.
+
+options.vbo.tooltip.1=Об'єкти буфера вершин
+options.vbo.tooltip.2=ВикориÑтовує альтернативну технологію рендерингу, що зазвичай
+options.vbo.tooltip.3=швидше (5-10%%) чим проÑтий рендер.
+
+options.gamma.tooltip.1=Зменшує ÑÑкравіÑÑ‚ÑŒ темніших об'єктів
+options.gamma.tooltip.2= Похмурий - Стандартна ÑÑкравіÑÑ‚ÑŒ
+options.gamma.tooltip.3= 1-99%% - змінні
+options.gamma.tooltip.4= ЯÑкраво - макÑимальна ÑÑкравіÑÑ‚ÑŒ темних об'єктів
+options.gamma.tooltip.5=Ð¦Ñ Ð¾Ð¿Ñ†Ñ–Ñ Ð½Ðµ змінює ÑÑкравіÑÑ‚ÑŒ
+options.gamma.tooltip.6=повніÑÑ‚ÑŽ чорних об'єктів
+
+options.anaglyph.tooltip.1=3D анагліф
+options.anaglyph.tooltip.2=Вмикає ÑтереоÑкопічний 3D ефекти викориÑтовуючи різні кольори
+options.anaglyph.tooltip.3=Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ока.
+options.anaglyph.tooltip.4=Потребує червоно-Ñині окулÑри Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду.
+
+options.blockAlternatives.tooltip.1=Ðльтернативні блоки
+options.blockAlternatives.tooltip.2=ВикориÑтовує альтернативні моделі Ð´Ð»Ñ Ð´ÐµÑких блоків.
+options.blockAlternatives.tooltip.3=БазуєтьÑÑ Ð½Ð° обраному реÑурÑпаці.
+
+of.options.ALTERNATE_BLOCKS=Ðльтернативні блоки
+of.options.ALTERNATE_BLOCKS.tooltip.1=Ðльтернативні блоки
+of.options.ALTERNATE_BLOCKS.tooltip.2=ВикориÑтовує альтернативні моделі Ð´Ð»Ñ Ð´ÐµÑких блоків.
+of.options.ALTERNATE_BLOCKS.tooltip.3=БазуєтьÑÑ Ð½Ð° обраному реÑурÑпаці.
+
+of.options.FOG_FANCY=Туман
+of.options.FOG_FANCY.tooltip.1=Тип туману
+of.options.FOG_FANCY.tooltip.2= Швидкий - Швидкий туман
+of.options.FOG_FANCY.tooltip.3= КраÑивий - Повільніший туман, виглÑдає краще
+of.options.FOG_FANCY.tooltip.4= Вимк - без туману, найшвидше
+of.options.FOG_FANCY.tooltip.5=КраÑивий туман буде доÑтупний лиш тоді, коли
+of.options.FOG_FANCY.tooltip.6=його підтримує відеокарта.
+
+of.options.FOG_START=ПоÑва туману
+of.options.FOG_START.tooltip.1=ПоÑва туману
+of.options.FOG_START.tooltip.2= 0.2 - туман з'ÑвлÑєтьÑÑ Ð½ÐµÐ´Ð°Ð»ÐµÐºÐ¾ від гравцÑ
+of.options.FOG_START.tooltip.3= 0.8 - туман з'ÑвлÑєтьÑÑ Ð´Ð°Ð»ÐµÐºÐ¾ від гравцÑ
+of.options.FOG_START.tooltip.4=Ð¦Ñ Ð¾Ð¿Ñ†Ñ–Ñ Ð·Ð°Ð·Ð²Ð¸Ñ‡Ð°Ð¹ не зменшує продуктивніÑÑ‚ÑŒ.
+
+of.options.CHUNK_LOADING=Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.CHUNK_LOADING.tooltip.1=Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.CHUNK_LOADING.tooltip.2= Базове - неÑтабільше FPS коли завантажуєтьÑÑ Ñ‡Ð°Ð½Ðº
+of.options.CHUNK_LOADING.tooltip.3= Згладжене - Ñтабільше FPS
+of.options.CHUNK_LOADING.tooltip.4= Multi-Core - Ñтабільше FPS, 3x швидше Ð·Ð°Ð²Ð°Ð½Ñ‚Ð¶Ð°ÐµÐ½Ð½Ñ Ñвіту
+of.options.CHUNK_LOADING.tooltip.5=Згладжене Ñ– Multi-Core видалÑÑŽÑ‚ÑŒ Ð·Ð°Ñ–ÐºÐ°Ð½Ð½Ñ Ñ–
+of.options.CHUNK_LOADING.tooltip.6=фрізи Ñпричинені завантаженнÑм чанків.
+of.options.CHUNK_LOADING.tooltip.7=Multi-Core може збільшити до 3 разів швидкіÑÑ‚ÑŒ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñвіту
+of.options.CHUNK_LOADING.tooltip.8=збільшуючи FPS завдÑки викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñдра процеÑÑора.
+of.options.chunkLoading.smooth=Згладжене
+of.options.chunkLoading.multiCore=Multi-Core
+
+of.options.shaders=Шейдери...
+of.options.shadersTitle=Шейдери
+
+of.options.shaders.packNone=Вимк
+of.options.shaders.packDefault=(внутрішній)
+
+of.options.shaders.ANTIALIASING=ЗгладжуваннÑ
+of.options.shaders.NORMAL_MAP=Ðормальна карта
+of.options.shaders.SPECULAR_MAP=Дзеркальна карта
+of.options.shaders.RENDER_RES_MUL=ЯкіÑÑ‚ÑŒ рендеру
+of.options.shaders.SHADOW_RES_MUL=ЯкіÑÑ‚ÑŒ тіней
+of.options.shaders.HAND_DEPTH_MUL=Ручна глибина
+of.options.shaders.CLOUD_SHADOW=Тінь від хмар
+of.options.shaders.OLD_HAND_LIGHT=Старе оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ Ñ€ÑƒÐºÐ¸
+of.options.shaders.OLD_LIGHTING=Старе оÑвітленнÑ
+of.options.shaders.SHADER_PACK=Шейдерпак
+
+of.options.shaders.shadersFolder=Папка з шейдерами
+of.options.shaders.shaderOptions=ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ñ–Ð²...
+
+of.options.shaderOptionsTitle=ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ñ–Ð²
+
+of.options.quality=ЯкіÑÑ‚ÑŒ...
+of.options.qualityTitle=ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑкоÑÑ‚Ñ–
+
+of.options.details=Деталі...
+of.options.detailsTitle=ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´ÐµÑ‚Ð°Ð»ÐµÐ¹
+
+of.options.performance=ПродуктивніÑÑ‚ÑŒ...
+of.options.performanceTitle=ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾ÑÑ‚Ñ–
+
+of.options.animations=Ðнімації...
+of.options.animationsTitle=ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—
+
+of.options.other=Інші...
+of.options.otherTitle=Інші налаштуваннÑ
+
+of.options.other.reset=Скинути вÑÑ– налаштуваннÑ...
+
+of.shaders.profile=Профіль
+
+# Quality
+
+of.options.mipmap.bilinear=Білінійна
+of.options.mipmap.linear=Лінійна
+of.options.mipmap.nearest=Ðайближча
+of.options.mipmap.trilinear=Трилінійна
+
+options.mipmapLevels.tooltip.1=Візуальний ефект Ñкий змушує далекі об'єкти виглÑдати краще
+options.mipmapLevels.tooltip.2=розмиваючи деталі текÑтур
+options.mipmapLevels.tooltip.3= Вимк - без згладжуваннÑ
+options.mipmapLevels.tooltip.4= 1 - мінімальне згладжуваннÑ
+options.mipmapLevels.tooltip.5= 4 - макÑивальне згладжуваннÑ
+options.mipmapLevels.tooltip.6=Ð¦Ñ Ð¾Ð¿Ñ†Ñ–Ñ Ð·Ð°Ð·Ð²Ð¸Ñ‡Ð°Ð¹ не впливає на продуктивніÑÑ‚ÑŒ.
+
+of.options.MIPMAP_TYPE=Тип Міпмап
+of.options.MIPMAP_TYPE.tooltip.1=Візуальний ефект Ñкий змушує далекі об'єкти виглÑдати краще
+of.options.MIPMAP_TYPE.tooltip.2=розмиваючи деталі текÑтур
+of.options.MIPMAP_TYPE.tooltip.3= Ðайближчий - грубе Ð·Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ (найшвидша)
+of.options.MIPMAP_TYPE.tooltip.4= Лінійне - нормальне згладжуваннÑ
+of.options.MIPMAP_TYPE.tooltip.5= Білінійне - краще згладжуваннÑ
+of.options.MIPMAP_TYPE.tooltip.6= Трилінійне - найкраще Ð·Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ (повільніше)
+
+
+of.options.AA_LEVEL=ЗгладжуваннÑ
+of.options.AA_LEVEL.tooltip.1=ЗгладжуваннÑ
+of.options.AA_LEVEL.tooltip.2= Вимк - (базове) без Ð·Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ (швидке)
+of.options.AA_LEVEL.tooltip.3= 2-16 - згладжує лінії і границі (повільніше)
+of.options.AA_LEVEL.tooltip.4=Ð—Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ð¸Ð²Ð°Ñ” зазубрені границі Ñ–
+of.options.AA_LEVEL.tooltip.5=гоÑтрі зміни кольору.
+of.options.AA_LEVEL.tooltip.6=Коли увімкнуто, то по Ñуті зменшує FPS.
+of.options.AA_LEVEL.tooltip.7=Ðе вÑÑ– рівні підтримуютьÑÑ Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ відеокартами.
+of.options.AA_LEVEL.tooltip.8=Ефективне піÑÐ»Ñ ÐŸÐ•Ð Ð•Ð—ÐПУСКУ!
+
+of.options.AF_LEVEL=Ðнізотропна фільтраціÑ
+of.options.AF_LEVEL.tooltip.1=Ðнізотропна фільтраціÑ
+of.options.AF_LEVEL.tooltip.2= Вимк - (базово) Ñтандартна деталь текÑтури (швидка)
+of.options.AF_LEVEL.tooltip.3= 2-16 - кращі деталі у Міпмап текÑтурах (повільніше)
+of.options.AF_LEVEL.tooltip.4=Ðнізотропна Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÑŽÑ” деталі у
+of.options.AF_LEVEL.tooltip.5=Міпмап текÑтурах.
+of.options.AF_LEVEL.tooltip.6=Коли ввімкнуто, зменшує FPS.
+
+of.options.CLEAR_WATER=ЧиÑта вода
+of.options.CLEAR_WATER.tooltip.1=ЧиÑта вода
+of.options.CLEAR_WATER.tooltip.2= Увімк - чиÑта, прозора вода
+of.options.CLEAR_WATER.tooltip.3= Вимк - Ñтандартна вода
+
+of.options.RANDOM_MOBS=Випадкові текÑтури мобів
+of.options.RANDOM_MOBS.tooltip.1=Випадкові текÑтури мобів
+of.options.RANDOM_MOBS.tooltip.2= Вимк - одна текÑтура Ð´Ð»Ñ Ð¼Ð¾Ð±Ð°, швидше
+of.options.RANDOM_MOBS.tooltip.3= Увімк - випадкові текÑтури, повільніше
+of.options.RANDOM_MOBS.tooltip.4=Випадкові текÑтури мобів викориÑтовує різні текÑтури Ð´Ð»Ñ Ð¼Ð¾Ð±Ð°.
+of.options.RANDOM_MOBS.tooltip.5=Це потребує реÑурÑпак з різними текÑтурами Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ моба.
+
+of.options.BETTER_GRASS=Краща трава
+of.options.BETTER_GRASS.tooltip.1=Краща трава
+of.options.BETTER_GRASS.tooltip.2= Вимк - базова текÑтура блока трави, швидше
+of.options.BETTER_GRASS.tooltip.3= Швидка - зелена бокова текÑтура блока трави, повільніше
+of.options.BETTER_GRASS.tooltip.4= КраÑива - динаміча текÑтура Ñторони блока, повільніше
+
+of.options.BETTER_SNOW=Кращий Ñніг
+of.options.BETTER_SNOW.tooltip.1=Кращий Ñніг
+of.options.BETTER_SNOW.tooltip.2= Вимк - базовий Ñніг, швидше
+of.options.BETTER_SNOW.tooltip.3= Увімк - кращий Ñніг, повільніше
+of.options.BETTER_SNOW.tooltip.4=Показує Ñніг під прозорими блоками (огорожа, виÑока трава)
+of.options.BETTER_SNOW.tooltip.5=коли межує з блоком Ñнігу
+
+of.options.CUSTOM_FONTS=ВлаÑні шрифти
+of.options.CUSTOM_FONTS.tooltip.1=ВлаÑні шрифти
+of.options.CUSTOM_FONTS.tooltip.2= Увімк - викориÑтовує влаÑні шрифти (базово), повільніше
+of.options.CUSTOM_FONTS.tooltip.3= Вимк - викориÑтовує базовий шрифт, швидше
+of.options.CUSTOM_FONTS.tooltip.4=ВлаÑні шрифти вÑтановлюютьÑÑ Ñ€ÐµÑурÑпаком
+of.options.CUSTOM_FONTS.tooltip.5=
+
+of.options.CUSTOM_COLORS=ВлаÑні кольори
+of.options.CUSTOM_COLORS.tooltip.1=Custom Colors
+of.options.CUSTOM_COLORS.tooltip.2= Увімк - викориÑтовує влаÑні кольори (базово), повільніше
+of.options.CUSTOM_COLORS.tooltip.3= Вимк - викориÑтовує базові кольори, швидше
+of.options.CUSTOM_COLORS.tooltip.4=ВлаÑні кольори вÑтановлюютьÑÑ Ñ€ÐµÑурÑпаком
+of.options.CUSTOM_COLORS.tooltip.5=
+
+of.options.SWAMP_COLORS=Кольори болота
+of.options.SWAMP_COLORS.tooltip.1=Кольори болота
+of.options.SWAMP_COLORS.tooltip.2= Увімк - викориÑтовуютьÑÑ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ð¸ болота (базово), повільніше
+of.options.SWAMP_COLORS.tooltip.3= Вимк - не викориÑтовує кольори болота, швидше
+of.options.SWAMP_COLORS.tooltip.4=Кольори болота впливають на траву, лиÑÑ‚Ñ, воду Ñ– ліани.
+
+of.options.SMOOTH_BIOMES=Плавні біоми
+of.options.SMOOTH_BIOMES.tooltip.1=Плавні біоми
+of.options.SMOOTH_BIOMES.tooltip.2= Увімк - Ð·Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ– біомів (базово), повільніше
+of.options.SMOOTH_BIOMES.tooltip.3= Вимк - без Ð·Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†ÑŒ біомів, швидше
+of.options.SMOOTH_BIOMES.tooltip.4=Ð—Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½ÑÑ” кольори декількох блоків на границі
+of.options.SMOOTH_BIOMES.tooltip.5=щоб зменшити різку зміну кольорів.
+of.options.SMOOTH_BIOMES.tooltip.6=Впливає на траву, лиÑÑ‚Ñ, воду Ñ– ліани.
+
+of.options.CONNECTED_TEXTURES=З'єднані текÑтури
+of.options.CONNECTED_TEXTURES.tooltip.1=З'єднані текÑтури
+of.options.CONNECTED_TEXTURES.tooltip.2= Вимк - без поєднаних текÑтур (базово)
+of.options.CONNECTED_TEXTURES.tooltip.3= Швидка - швидкі поєднані текÑтури
+of.options.CONNECTED_TEXTURES.tooltip.4= КраÑива - краÑиві поєднані текÑтури
+of.options.CONNECTED_TEXTURES.tooltip.5=З'єднані текÑтури впливають на Ñкло,
+of.options.CONNECTED_TEXTURES.tooltip.6=піÑковик Ñ– полички, що розташовані
+of.options.CONNECTED_TEXTURES.tooltip.7=разом. Приєднанні текÑтури підтримують
+of.options.CONNECTED_TEXTURES.tooltip.8=обрані реÑурÑпаки.
+
+of.options.NATURAL_TEXTURES=Ðатуральні текÑтури
+of.options.NATURAL_TEXTURES.tooltip.1=Ðатуральні текÑтури
+of.options.NATURAL_TEXTURES.tooltip.2= Вимк - без натуральних текÑтур (базово)
+of.options.NATURAL_TEXTURES.tooltip.3= Увімк - викориÑтовує натуральні текÑтури
+of.options.NATURAL_TEXTURES.tooltip.4=Ðатуральні текÑтури видалÑÑŽÑ‚ÑŒ Ñітку Ñк шаблон
+of.options.NATURAL_TEXTURES.tooltip.5=Ñтворений повтореннÑм блоків одного типу.
+of.options.NATURAL_TEXTURES.tooltip.6=Це викориÑтовує перевернуті Ñ– повернуті текÑтури
+of.options.NATURAL_TEXTURES.tooltip.7=блока. ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ñ‚ÑƒÑ€Ð°Ð»ÑŒÐ½Ð¸Ñ… текÑтур
+of.options.NATURAL_TEXTURES.tooltip.8=надходить з обраного пакету текÑтур.
+
+of.options.CUSTOM_SKY=ВлаÑне небо
+of.options.CUSTOM_SKY.tooltip.1=ВлаÑне небо
+of.options.CUSTOM_SKY.tooltip.2= Увімк - влаÑні текÑтури неба (базово), повільно
+of.options.CUSTOM_SKY.tooltip.3= Вимк - базове небо, швидше
+of.options.CUSTOM_SKY.tooltip.4=ВлаÑна текÑтура неба може бути змінена
+of.options.CUSTOM_SKY.tooltip.5=реÑурÑпаком
+
+of.options.CUSTOM_ITEMS=ВлаÑні текÑтури речей
+of.options.CUSTOM_ITEMS.tooltip.1=ВлаÑні текÑтури речей
+of.options.CUSTOM_ITEMS.tooltip.2= Увімк - влаÑні текÑтури речей (базово), повільно
+of.options.CUSTOM_ITEMS.tooltip.3= Вимк - базові речі, швидше
+of.options.CUSTOM_ITEMS.tooltip.4=ВлаÑна текÑтура неба може бути змінена
+of.options.CUSTOM_ITEMS.tooltip.5=реÑурÑпаком
+
+of.options.CUSTOM_ENTITY_MODELS=ВлаÑні моделі Ñ–Ñтот
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=ВлаÑні моделі Ñ–Ñтот
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= Увімк - влаÑні моделі Ð´Ð»Ñ Ñ–Ñтот (базово), повільно
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= Вимк - Ñтандартні моделі Ñ–Ñтот, швидше
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=Моделі Ñ–Ñтот можуть бути змінені
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=реÑурÑпаком
+
+# Details
+
+of.options.CLOUDS=Хмари
+of.options.CLOUDS.tooltip.1=Хмари
+of.options.CLOUDS.tooltip.2= Стандартні - Ñк в налаштуваннÑÑ… відео
+of.options.CLOUDS.tooltip.3= Швидкі - нижча ÑкіÑÑ‚ÑŒ, швидше
+of.options.CLOUDS.tooltip.4= КраÑива - вища ÑкіÑÑ‚ÑŒ, повільніше
+of.options.CLOUDS.tooltip.5= Вимк - без хмар, найшвидше
+of.options.CLOUDS.tooltip.6=Швидкі хмари відображаютьÑÑ Ñƒ 2D.
+of.options.CLOUDS.tooltip.7=КраÑиві хмари відображаютьÑÑ Ñƒ 3D.
+
+of.options.CLOUD_HEIGHT=ВиÑота хмар
+of.options.CLOUD_HEIGHT.tooltip.1=ВиÑота хмар
+of.options.CLOUD_HEIGHT.tooltip.2= Вимк - Ñтандартна виÑота
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - вище ліміту Ñвіту
+
+of.options.TREES=Дерева
+of.options.TREES.tooltip.1=Дерева
+of.options.TREES.tooltip.2= Стандартні - Ñк в налаштуваннÑÑ… відео
+of.options.TREES.tooltip.3= Швидкі - нижча ÑкіÑÑ‚ÑŒ, швидше
+of.options.TREES.tooltip.4= Розумні - вища ÑкіÑÑ‚ÑŒ, швидше
+of.options.TREES.tooltip.5= КраÑива - найвища ÑкіÑÑ‚ÑŒ, повільніше
+of.options.TREES.tooltip.6=Швидкі дерева мають непрозоре лиÑÑ‚Ñ.
+of.options.TREES.tooltip.7=КраÑиві дерева мають прозорі лиÑÑ‚Ñ.
+
+of.options.RAIN=Дощ Ñ– Ñніг
+of.options.RAIN.tooltip.1=Дощ Ñ– Ñніг
+of.options.RAIN.tooltip.2= Стандартні - Ñк в налаштуваннÑÑ… відео
+of.options.RAIN.tooltip.3= Швидкі - нижча ÑкіÑÑ‚ÑŒ, швидше
+of.options.RAIN.tooltip.4= КраÑиві - важкий дощ/Ñніг, повільніше
+of.options.RAIN.tooltip.5= Вимк - без дощу/Ñнігу, найшвидше
+of.options.RAIN.tooltip.6=Коли дощ вимкнено звуки крапель залишатимутьÑÑ
+of.options.RAIN.tooltip.7=
+
+of.options.SKY=Ðебо
+of.options.SKY.tooltip.1=Ðебо
+of.options.SKY.tooltip.2= Увімк - небо видиме, повільніше
+of.options.SKY.tooltip.3= Вимк - небо невидиме, швидше
+of.options.SKY.tooltip.4=Коли небо вимкнене, Ñонце Ñ– міÑÑць доÑÑ– помітні.
+
+of.options.STARS=Зірки
+of.options.STARS.tooltip.1=Зірки
+of.options.STARS.tooltip.2= Увімк - зірки видимі, повільніше
+of.options.STARS.tooltip.3= Вимк - зірки невидимі, швидше
+
+of.options.SUN_MOON=Сонце Ñ– міÑÑць
+of.options.SUN_MOON.tooltip.1=Сонце Ñ– міÑÑць
+of.options.SUN_MOON.tooltip.2= Увімк - Ñонце Ñ– міÑÑць видимі (базово)
+of.options.SUN_MOON.tooltip.3= Вимк - Ñонце Ñ– міÑÑць невидимі (швидше)
+
+of.options.SHOW_CAPES=Показувати плащі
+of.options.SHOW_CAPES.tooltip.1=Показувати плащі
+of.options.SHOW_CAPES.tooltip.2= Увімк - показувати плащі (базово)
+of.options.SHOW_CAPES.tooltip.3= Вимк - не показувати плащі (швидше)
+
+of.options.TRANSLUCENT_BLOCKS=Ðапівпрозорі блоки
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=Ðапівпрозорі блоки
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= КраÑива - правильне Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð² (базово)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= Швидка - швидше Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð² (швидше)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=Контролює Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð² напівпрозорих блоків
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=з різним кольором (Ñкло, вода, лід)
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=коли між ними Ñ” повітрÑ.
+
+of.options.HELD_ITEM_TOOLTIPS=Спливаючі підказки
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=Спливаючі підказки
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= Увімк - показувати Ñпливаючі підказки (базово)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= Вимк - не показувати підказок
+
+of.options.ADVANCED_TOOLTIPS=Розширені підказки
+of.options.ADVANCED_TOOLTIPS.tooltip.1=Розширені Ñпливаючі підказки
+of.options.ADVANCED_TOOLTIPS.tooltip.2= Увімк - показувати розширені підказки
+of.options.ADVANCED_TOOLTIPS.tooltip.3= Вимк - не показувати розширені підказки (базово)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=Розширені підказки показують більше інформації про
+of.options.ADVANCED_TOOLTIPS.tooltip.5=речі (id, міцніÑÑ‚ÑŒ) Ñ– Ð´Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ñ–Ð²
+of.options.ADVANCED_TOOLTIPS.tooltip.6=(id, джерело, Ñтандартне значеннÑ)
+
+of.options.DROPPED_ITEMS=Викинуті речі
+of.options.DROPPED_ITEMS.tooltip.1=Викинуті речі
+of.options.DROPPED_ITEMS.tooltip.2= Базові - Ñк у налаштуваннÑÑ… відео
+of.options.DROPPED_ITEMS.tooltip.3= Швидка - викинуті речі у 2D, швидше
+of.options.DROPPED_ITEMS.tooltip.4= КраÑива - викинуті речі у 3D, повільніше
+
+options.entityShadows.tooltip.1=Тіні ÑутноÑтей
+options.entityShadows.tooltip.2= Увімк - показувати тіні ÑутноÑтей
+options.entityShadows.tooltip.3= Вимк - вимкнути тіні ÑутноÑтей
+
+of.options.VIGNETTE=Віньєтка
+of.options.VIGNETTE.tooltip.1=Візуальний ефект Ñкий затемнÑÑ” краї
+of.options.VIGNETTE.tooltip.2= Базово - Ñк в налаштуваннÑÑ… графіки
+of.options.VIGNETTE.tooltip.3= Швидка - віньтка вимкнена (швидша)
+of.options.VIGNETTE.tooltip.4= КраÑива - віньєтка увімкнена (повільніше)
+of.options.VIGNETTE.tooltip.5=Віньєтка може зробити Ñ–Ñтотний вплив на FPS,
+of.options.VIGNETTE.tooltip.6=оÑобливо при грі у повноекранному режимі.
+of.options.VIGNETTE.tooltip.7=Ефект не дуже важливий і легко
+of.options.VIGNETTE.tooltip.8=може бути вимкненим
+
+of.options.DYNAMIC_FOV=Динамічний FOV
+of.options.DYNAMIC_FOV.tooltip.1=Динамічний FOV
+of.options.DYNAMIC_FOV.tooltip.2= Увімк - динамічний FOV увімкнуто(базово)
+of.options.DYNAMIC_FOV.tooltip.3= Вимк - динамічний FOV вимкнуто
+of.options.DYNAMIC_FOV.tooltip.4=Змінює поле зору (FOV) коли літаємо, біжимо
+of.options.DYNAMIC_FOV.tooltip.5=чи натÑгуємо лук.
+
+of.options.DYNAMIC_LIGHTS=Динамічне оÑвітленнÑ
+of.options.DYNAMIC_LIGHTS.tooltip.1=Динамічне оÑвітленнÑ
+of.options.DYNAMIC_LIGHTS.tooltip.2= Вимк - без динамічного оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ (базово)
+of.options.DYNAMIC_LIGHTS.tooltip.3= Швидка - швидке динамічне оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ (Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð¶Ð½Ñ– 500мÑ)
+of.options.DYNAMIC_LIGHTS.tooltip.4= КраÑива - краÑиве динамічне оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ (Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð² реальному чаÑу)
+of.options.DYNAMIC_LIGHTS.tooltip.5=ДозволÑÑ” випромінювати Ñвітло речам (факел, Ñвітлокамінь, Ñ‚.д.)
+of.options.DYNAMIC_LIGHTS.tooltip.6=щоб оÑвітлювати вÑе навкруги, коли знаходÑÑ‚ÑŒÑÑ Ð² руці,
+of.options.DYNAMIC_LIGHTS.tooltip.7=вдÑгнуті іншим гравцем або викинуті на землю.
+
+# Performance
+
+of.options.SMOOTH_FPS=Згладжене FPS
+of.options.SMOOTH_FPS.tooltip.1=Стабілізує FPS промиваннÑм графічних буферів драйвера
+of.options.SMOOTH_FPS.tooltip.2= Вимк - нема Ñтабілізації, FPS може коливатиÑÑŒ
+of.options.SMOOTH_FPS.tooltip.3= Увімк - FPS ÑтабілізуєтьÑÑ
+of.options.SMOOTH_FPS.tooltip.4=Цей параметр залежить від графічного драйвера
+of.options.SMOOTH_FPS.tooltip.5=і його вплив не завжди помітний
+
+of.options.SMOOTH_WORLD=Згладжений Ñвіт
+of.options.SMOOTH_WORLD.tooltip.1=Прибирає фрізи при Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ñ‚ÐºÑ–Ð².
+of.options.SMOOTH_WORLD.tooltip.2= Вимк - нема Ñтабілізації, FPS може коливатиÑÑŒ
+of.options.SMOOTH_WORLD.tooltip.3= Увімк - FPS ÑтабілізуєтьÑÑ
+of.options.SMOOTH_WORLD.tooltip.4=Стабілізує FPS лише на одиночній грі.
+of.options.SMOOTH_WORLD.tooltip.5=
+
+of.options.FAST_RENDER=Швидкий рендер
+of.options.FAST_RENDER.tooltip.1=Швидки рендер
+of.options.FAST_RENDER.tooltip.2= Вимк - Ñтандартний рендер (базово)
+of.options.FAST_RENDER.tooltip.3= Увімк - оптимізований рендер (швидший)
+of.options.FAST_RENDER.tooltip.4=ВикориÑтовує оптимізований алгоритм рендерингу
+of.options.FAST_RENDER.tooltip.5=зменшує Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° процеÑÑор Ñ– збільшить FPS.
+
+of.options.FAST_MATH=Швидка математика
+of.options.FAST_MATH.tooltip.1=Швидка математика
+of.options.FAST_MATH.tooltip.2= Вимк - Ñтандартна математика(базово)
+of.options.FAST_MATH.tooltip.3= Увімк - швидша математика
+of.options.FAST_MATH.tooltip.4=ВикориÑтовує оптимізовані функції sin() Ñ– cos(), що може краще
+of.options.FAST_MATH.tooltip.5=утилізовувати кеш, і збільшити FPS.
+
+of.options.CHUNK_UPDATES=ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.CHUNK_UPDATES.tooltip.1=ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.CHUNK_UPDATES.tooltip.2= 1 - Повільніше Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñвіту, більший FPS (базово)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - Швидше Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð², нижчий FPS
+of.options.CHUNK_UPDATES.tooltip.4= 5 - Ðайшвидше Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð², найнижчий FPS
+of.options.CHUNK_UPDATES.tooltip.5=КількіÑÑ‚ÑŒ оновленн чанку за один кадр,
+of.options.CHUNK_UPDATES.tooltip.6=найбільші Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ зменшити FPS.
+
+of.options.CHUNK_UPDATES_DYNAMIC=Динамічні оновленнÑ
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=Динамічні Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= Вимк - (базово) Ñтандартне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð² за кадр
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= Увімк - більше оновленнь коли гравець Ñтоїть
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=Динамічні Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð¼ÑƒÑˆÑƒÑŽÑ‚ÑŒ виконувати більше оновлень чанків
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=коли гравець Ñтоїть, Ñвіт провантажуєтьÑÑ ÑˆÐ²Ð¸Ð´ÑˆÐµ.
+
+of.options.LAZY_CHUNK_LOADING=Ліниве Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.LAZY_CHUNK_LOADING.tooltip.1=Ліниве Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.LAZY_CHUNK_LOADING.tooltip.2= Вимк - базове Ñерверне Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.LAZY_CHUNK_LOADING.tooltip.3= Увімк - ліниве Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñерверних чанків (плавніше)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=Згладжує Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð² вбудований Ñервером
+of.options.LAZY_CHUNK_LOADING.tooltip.5=розподілÑючи чанки на декілька тіків.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=Вимкніть це Ñкщо деÑкі чаÑтини Ñвіту не завантажуютьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=Ефективно тільки Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… Ñвітів Ñ– одноÑдрених процеÑÑорів.
+
+# Animations
+
+of.options.animation.allOn=Ð’ÑÑ– Увімк
+of.options.animation.allOff=Ð’ÑÑ– Вимк
+of.options.animation.dynamic=Динамічні
+
+of.options.ANIMATED_WATER=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð²Ð¾Ð´Ð¸
+of.options.ANIMATED_LAVA=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð»Ð°Ð²Ð¸
+of.options.ANIMATED_FIRE=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð²Ð¾Ð³Ð½ÑŽ
+of.options.ANIMATED_PORTAL=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ð¾Ñ€Ñ‚Ð°Ð»Ñƒ
+of.options.ANIMATED_REDSTONE=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ñ€ÐµÐ´Ñтоуну
+of.options.ANIMATED_EXPLOSION=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð²Ð¸Ð±ÑƒÑ…Ñƒ
+of.options.ANIMATED_FLAME=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ð¾Ð»ÑƒÐ¼'Ñ
+of.options.ANIMATED_SMOKE=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð´Ð¸Ð¼Ñƒ
+of.options.VOID_PARTICLES=ЧаÑтинки безодні
+of.options.WATER_PARTICLES=ЧаÑтинки води
+of.options.RAIN_SPLASH=Краплі дощу
+of.options.PORTAL_PARTICLES=Чатинки порталу
+of.options.POTION_PARTICLES=ЧаÑтинки зілль
+of.options.DRIPPING_WATER_LAVA=Капаюча лава/вода
+of.options.ANIMATED_TERRAIN=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð¼Ñ–ÑцевоÑÑ‚Ñ–
+of.options.ANIMATED_TEXTURES=ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ñ‚ÐµÐºÑтур
+of.options.FIREWORK_PARTICLES=ЧаÑтинки феєрверку
+
+# Other
+
+of.options.LAGOMETER=Лагометр
+of.options.LAGOMETER.tooltip.1=Показує лагометр на екрані дебагу (F3).
+of.options.LAGOMETER.tooltip.2=* Оранджевий - Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð¼ÑƒÑору в пам'ÑÑ‚Ñ–
+of.options.LAGOMETER.tooltip.3=* Блакитний - Тік
+of.options.LAGOMETER.tooltip.4=* Синій - Заплановані дії
+of.options.LAGOMETER.tooltip.5=* Фіолетовий - Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.LAGOMETER.tooltip.6=* Червоний - ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ð½ÐºÑ–Ð²
+of.options.LAGOMETER.tooltip.7=* Жовтий - Перевірка видимоÑÑ‚Ñ–
+of.options.LAGOMETER.tooltip.8=* Зелений - Рендеринг міÑцевоÑÑ‚Ñ–
+
+of.options.PROFILER=Профіль дебагу
+of.options.PROFILER.tooltip.1=Профіль дебагу
+of.options.PROFILER.tooltip.2= Увімк - профіль дебагу увімкнуто, повільніше
+of.options.PROFILER.tooltip.3= Вимк - профіль дебагу вимкнуто, швидше
+of.options.PROFILER.tooltip.4=Профіль дебагу збирає інформацію і показує її на
+of.options.PROFILER.tooltip.5=екрані дебагу (F3)
+
+of.options.WEATHER=Погода
+of.options.WEATHER.tooltip.1=Погода
+of.options.WEATHER.tooltip.2= Увімк - погода активна, повільніше
+of.options.WEATHER.tooltip.3= Вимк - погода не активна, швидше
+of.options.WEATHER.tooltip.4=Погода контролює дощі, грози Ñ– Ñніг.
+of.options.WEATHER.tooltip.5=Працює лиш в ОДИÐОЧÐИХ СВІТÐÐ¥.
+
+of.options.time.dayOnly=Тільки день
+of.options.time.nightOnly=Тільки ніч
+
+of.options.TIME=ЧаÑ
+of.options.TIME.tooltip.1=ЧаÑ
+of.options.TIME.tooltip.2= Базово - Ñтандартний день
+of.options.TIME.tooltip.3= Тільки день - тільки день
+of.options.TIME.tooltip.4= Тільки ніч - тільки ніч
+of.options.TIME.tooltip.5=Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу працює лиш Ð´Ð»Ñ Ð³Ñ€Ð°Ð²Ñ†Ñ–Ð² у
+of.options.TIME.tooltip.6=КРЕÐТИВІ та у локальних Ñвітах.
+
+options.fullscreen.tooltip.1=Повноекранний режим
+options.fullscreen.tooltip.2= Увімк - викориÑтовувати повноекранний режим
+options.fullscreen.tooltip.3= Вимк - не викориÑтовувати повноекранний режим
+options.fullscreen.tooltip.4=Ð’ залежноÑÑ‚Ñ– від відеокарти, може
+options.fullscreen.tooltip.5=покращити продуктивніÑÑ‚ÑŒ.
+
+of.options.FULLSCREEN_MODE=Роздільна здатніÑÑ‚ÑŒ
+of.options.FULLSCREEN_MODE.tooltip.1=Роздільна здатніÑÑ‚ÑŒ
+of.options.FULLSCREEN_MODE.tooltip.2= Базово - викориÑтовувати роздільну здатніÑÑ‚ÑŒ монітора, повільніше
+of.options.FULLSCREEN_MODE.tooltip.3= WxH - викориÑтовувати влаÑну роздільну ÑкіÑÑ‚ÑŒ, може бути швидше
+of.options.FULLSCREEN_MODE.tooltip.4=Обрана ÑкіÑÑ‚ÑŒ буде викориÑтовуватиÑÑŒ в повноекраному режимі (F11).
+of.options.FULLSCREEN_MODE.tooltip.5=Ðайнижча ÑкіÑÑ‚ÑŒ завжди швидша.
+
+of.options.SHOW_FPS=Показувати FPS
+of.options.SHOW_FPS.tooltip.1=Показує компактно FPS і інформацію рендеру
+of.options.SHOW_FPS.tooltip.2= C: - чанків рендеритьÑÑ
+of.options.SHOW_FPS.tooltip.3= E: - ÑутноÑтей в рендері + блоковано ÑутноÑтей
+of.options.SHOW_FPS.tooltip.4= U: - чанків оновлюєтьÑÑ
+of.options.SHOW_FPS.tooltip.5=Компактне FPS показуєтьÑÑ Ð»Ð¸Ñˆ коли
+of.options.SHOW_FPS.tooltip.6=екран дебагу вимкнено.
+
+of.options.save.default=Базове (2Ñ)
+of.options.save.20s=20Ñ
+of.options.save.3min=3хв
+of.options.save.30min=30хв
+
+of.options.AUTOSAVE_TICKS=ÐвтозбереженнÑ
+of.options.AUTOSAVE_TICKS.tooltip.1=Інтервал автозбереженнÑ
+of.options.AUTOSAVE_TICKS.tooltip.2=Базовий інтервал Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ (2Ñ) ÐЕ РЕКОМЕÐДОВÐÐО.
+of.options.AUTOSAVE_TICKS.tooltip.3=ÐÐ²Ñ‚Ð¾Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ ÑпричинÑÑ” "фріз Ñмерті".
+
+of.options.SCREENSHOT_SIZE=Розмір знімку екрану
+of.options.SCREENSHOT_SIZE.tooltip.1=Розмір Ñкріншоту
+of.options.SCREENSHOT_SIZE.tooltip.2= Базовий - Ñтандартний розмір Ñкріншоту
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - влаÑний розмір Ñкріншоту
+of.options.SCREENSHOT_SIZE.tooltip.4=Зйомка більшого Ñкріншоту потребує більше пам'ÑÑ‚Ñ–
+of.options.SCREENSHOT_SIZE.tooltip.5=Ðе ÑуміÑне з швидким рендером Ñ– згладжуваннÑм
+of.options.SCREENSHOT_SIZE.tooltip.6=Потребує підтримку фреймбуфера GPU.
diff --git a/src/main/resources/assets/minecraft/optifine/lang/zh_CN.lang b/src/main/resources/assets/minecraft/optifine/lang/zh_CN.lang
new file mode 100644
index 00000000..06d6c4b1
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/zh_CN.lang
@@ -0,0 +1,597 @@
+# Contributors of Chinese localization #
+# Degh_Cilon_ From WAWCraft 2016-2-18 ---- 2016-1-25
+# xuyu_staryG(gxy17886) From InfinityStudio 2016-1-18 ---- 2016-1-19
+# hukk From MCBBS 2013-7-13 ---- 2016-11-9
+# shengjing1 From MCBBS 2012-11-20 ---- 2013-4-20
+# Language File Begins Here...
+
+# General
+of.general.ambiguous=模糊
+of.general.custom=自定义
+of.general.from=æ¥è‡ª
+of.general.id=Id
+of.general.restart=é‡å¯æ¸¸æˆ
+of.general.smart=智能
+
+# Keys
+of.key.zoom=缩放
+
+# Message
+of.message.aa.shaders1=抗锯齿与光影ä¸å…¼å®¹ã€‚
+of.message.aa.shaders2=请关é—光影æ¥å¯ç”¨è¿™ä¸ªé€‰é¡¹ã€‚
+
+of.message.af.shaders1=å„å‘异性过滤与光影ä¸å…¼å®¹ã€‚
+of.message.af.shaders2=请关é—光影æ¥å¯ç”¨è¿™ä¸ªé€‰é¡¹ã€‚
+
+of.message.fr.shaders1=快速渲染与光影ä¸å…¼å®¹ã€‚
+of.message.fr.shaders2=请关é—光影æ¥å¯ç”¨è¿™ä¸ªé€‰é¡¹ã€‚
+
+of.message.an.shaders1=3D立体与光影ä¸å…¼å®¹ã€‚
+of.message.an.shaders2=请关é—光影æ¥å¯ç”¨è¿™ä¸ªé€‰é¡¹ã€‚
+
+of.message.shaders.aa1=光影与抗锯齿ä¸å…¼å®¹ã€‚
+of.message.shaders.aa2=请把 å“è´¨ -> 抗锯齿 选项设置为 å…³ 并é‡å¯æ‚¨çš„游æˆã€‚
+
+of.message.shaders.af1=光影与å„å‘异性过滤ä¸å…¼å®¹ã€‚
+of.message.shaders.af2=请把 å“è´¨ -> å„å‘异性过滤 选项设置为 关。
+
+of.message.shaders.fr1=光影与快速渲染ä¸å…¼å®¹ã€‚
+of.message.shaders.fr2=请把 性能 -> 快速渲染 选项设置为 关。
+
+of.message.shaders.an1=光影与3D立体ä¸å…¼å®¹ã€‚
+of.message.shaders.an2=请把 其他 -> 3D立体 选项设置为 关。
+
+of.message.newVersion=新的§eOptiFine§f版本现已å¯ç”¨ï¼šÂ§e%s§f
+of.message.java64Bit=您å¯ä»¥å®‰è£…§e64ä½Java§fæ¥æå‡æ€§èƒ½ã€‚
+of.message.openglError=§eOpenGL错误§f:%s(%s)
+
+of.message.shaders.loading=载入光影:%s
+
+of.message.other.reset=确认é‡ç½®æ‰€æœ‰è§†é¢‘设置为默认值å—?
+
+of.message.loadingVisibleChunks=æ£åœ¨åŠ è½½å¯è§åŒºå—
+
+# Video settings
+
+options.graphics.tooltip.1=图åƒå“è´¨
+options.graphics.tooltip.2= æµç•… - 低å“质,较快
+options.graphics.tooltip.3= 高å“è´¨ - 高å“质,较慢
+options.graphics.tooltip.4=改å˜äº‘ã€æ ‘å¶ã€æ°´ã€
+options.graphics.tooltip.5=阴影和è‰åœ°çš„外观。
+
+of.options.renderDistance.tiny=最近
+of.options.renderDistance.short=è¿‘
+of.options.renderDistance.normal=ä¸ç‰
+of.options.renderDistance.far=远
+of.options.renderDistance.extreme=æžé™
+
+options.renderDistance.tooltip.1=能è§åº¦
+options.renderDistance.tooltip.2= 2 最近 - 32m(最快)
+options.renderDistance.tooltip.3= 4 近 - 64m(较快)
+options.renderDistance.tooltip.4= 8 ä¸ç‰ - 128m
+options.renderDistance.tooltip.5= 16 远 - 256m(较慢)
+options.renderDistance.tooltip.6= 32 æžé™ - 512m(最慢ï¼ï¼‰
+options.renderDistance.tooltip.7=æžé™èƒ½è§åº¦éžå¸¸æ¶ˆè€—资æºï¼
+options.renderDistance.tooltip.8=超过 16 的能è§åº¦å€¼åªåœ¨æœ¬åœ°ä¸–界有效。
+
+options.ao.tooltip.1=平滑光照
+options.ao.tooltip.2= 关 - 没有平滑光照(较快)
+options.ao.tooltip.3= æœ€å° - 简å•æµç•…的平滑光照(较慢)
+options.ao.tooltip.4= 最大 - å¤æ‚柔和的平滑光照(最慢)
+
+options.framerateLimit.tooltip.1=最大帧率
+options.framerateLimit.tooltip.2= åž‚ç›´åŒæ¥ - å—é™äºŽæ˜¾ç¤ºå™¨å¸§çŽ‡ï¼ˆ60,30,20)
+options.framerateLimit.tooltip.3= 5-255 - å¯å˜
+options.framerateLimit.tooltip.4= æ— é™åˆ¶ - æ— é™åˆ¶ï¼ˆæœ€å¿«ï¼‰
+options.framerateLimit.tooltip.5=帧率上é™å°†é™ä½ŽFPS
+options.framerateLimit.tooltip.6=å³ä½¿å…¶æœªè¾¾ä¸Šé™å€¼ã€‚
+of.options.framerateLimit.vsync=åž‚ç›´åŒæ¥
+
+of.options.AO_LEVEL=平滑光照
+of.options.AO_LEVEL.tooltip.1=平滑光照
+of.options.AO_LEVEL.tooltip.2= 关 - 没有阴影
+of.options.AO_LEVEL.tooltip.3= 50%% - 明亮的阴影
+of.options.AO_LEVEL.tooltip.4= 100%% - 阴暗的阴影
+
+options.viewBobbing.tooltip.1=更真实的è¿åŠ¨ã€‚
+options.viewBobbing.tooltip.2=当使用多级纹ç†è´´å›¾æ—¶ï¼Œå…³é—它以获得最佳效果。
+
+options.guiScale.tooltip.1=ç•Œé¢å°ºå¯¸
+options.guiScale.tooltip.2= 自动 - 最大尺寸
+options.guiScale.tooltip.3= å°ï¼Œä¸ï¼Œå¤§ - 1x到3x
+options.guiScale.tooltip.4= 4x到10x - 在4K分辨率下å¯ç”¨
+options.guiScale.tooltip.5=奇数值(1x,3x,5x之类)与Unicodeä¸å…¼å®¹ã€‚
+options.guiScale.tooltip.6=一个较å°çš„ç•Œé¢æˆ–许会更快。
+
+options.vbo.tooltip.1=å¯ç”¨ç¼“冲区顶点对象
+options.vbo.tooltip.2=使用一ç§æ›¿é€‰çš„渲染模å¼ï¼Œé€šå¸¸
+options.vbo.tooltip.3=å¯ä»¥æ¯”默认渲染快(5-10%%)。
+
+options.gamma.tooltip.1=å¢žåŠ è¾ƒæš—ç‰©ä½“çš„äº®åº¦
+options.gamma.tooltip.2= æ ‡å‡† - æ ‡å‡†äº®åº¦
+options.gamma.tooltip.3= 1-99%% - å¯å˜äº®åº¦
+options.gamma.tooltip.4= 明亮 - 最大亮度
+options.gamma.tooltip.5=æ¤é€‰é¡¹ä¸ä¼šæ”¹å˜
+options.gamma.tooltip.6=完全黑色的物体的亮度。
+
+options.anaglyph.tooltip.1=3D立体
+options.anaglyph.tooltip.2=通过为æ¯åªçœ¼ç›åˆ†è‰²
+options.anaglyph.tooltip.3=æ¥å¯ç”¨3D立体效果。
+options.anaglyph.tooltip.4=需è¦ä½¿ç”¨çº¢è“眼镜æ£å¸¸è§‚看.
+
+options.blockAlternatives.tooltip.1=替选方å—
+options.blockAlternatives.tooltip.2=为一些方å—使用备选的方å—模型。
+options.blockAlternatives.tooltip.3=å–决于所选的资æºåŒ…。
+
+of.options.ALTERNATE_BLOCKS=替选方å—
+of.options.ALTERNATE_BLOCKS.tooltip.1=替选方å—
+of.options.ALTERNATE_BLOCKS.tooltip.2=为一些方å—使用备选的方å—模型。
+of.options.ALTERNATE_BLOCKS.tooltip.3=å–决于所选的资æºåŒ…。
+
+of.options.FOG_FANCY=迷雾
+of.options.FOG_FANCY.tooltip.1=迷雾类型
+of.options.FOG_FANCY.tooltip.2= æµç•… - 较æµç•…的迷雾
+of.options.FOG_FANCY.tooltip.3= 高å“è´¨ - 较慢的迷雾,质é‡æ›´ä½³
+of.options.FOG_FANCY.tooltip.4= å…³ - æ— è¿·é›¾ï¼Œæœ€å¿«
+of.options.FOG_FANCY.tooltip.5=细致的迷雾åªåœ¨
+of.options.FOG_FANCY.tooltip.6=显å¡æ”¯æŒä¸‹å¯ç”¨ã€‚
+
+of.options.FOG_START=迷雾起始ä½ç½®
+of.options.FOG_START.tooltip.1=迷雾起始ä½ç½®
+of.options.FOG_START.tooltip.2= 0.2 - 迷雾起始于玩家周围
+of.options.FOG_START.tooltip.3= 0.8 - 迷雾在离玩家较远的地方起始
+of.options.FOG_START.tooltip.4=æ¤é€‰é¡¹é€šå¸¸ä¸ä¼šå½±å“性能。
+
+of.options.CHUNK_LOADING=区å—åŠ è½½
+of.options.CHUNK_LOADING.tooltip.1=区å—åŠ è½½
+of.options.CHUNK_LOADING.tooltip.2= 默认 - å½“åŠ è½½åŒºå—æ—¶FPSä¸ç¨³å®š
+of.options.CHUNK_LOADING.tooltip.3= 平滑 - 稳定FPS
+of.options.CHUNK_LOADING.tooltip.4= å¤šæ ¸å¿ƒ - 稳定FPS,3å€çš„ä¸–ç•ŒåŠ è½½é€Ÿåº¦
+of.options.CHUNK_LOADING.tooltip.5=å¹³æ»‘å’Œå¤šæ ¸å¿ƒå¯æ¶ˆé™¤ç”±åŒºå—
+of.options.CHUNK_LOADING.tooltip.6=åŠ è½½å¼•èµ·çš„å»¶è¿Ÿå’Œå¡é¡¿ã€‚
+of.options.CHUNK_LOADING.tooltip.7=å¤šæ ¸å¿ƒå¯ä»¥ä»¤ä¸–ç•ŒåŠ è½½é€Ÿåº¦æå‡3å€
+of.options.CHUNK_LOADING.tooltip.8=并通过使用多个CPUæ ¸å¿ƒæ¥æå‡FPS。
+of.options.chunkLoading.smooth=平滑
+of.options.chunkLoading.multiCore=å¤šæ ¸å¿ƒ
+
+of.options.shaders=光影...
+of.options.shadersTitle=光影
+
+of.options.shaders.packNone=å…³é—
+of.options.shaders.packDefault=(内置)
+
+of.options.shaders.ANTIALIASING=抗锯齿
+of.options.shaders.NORMAL_MAP=法线贴图
+of.options.shaders.SPECULAR_MAP=高光贴图
+of.options.shaders.RENDER_RES_MUL=渲染精细度
+of.options.shaders.SHADOW_RES_MUL=阴影精细度
+of.options.shaders.HAND_DEPTH_MUL=手部景深
+of.options.shaders.CLOUD_SHADOW=云朵阴影
+of.options.shaders.OLD_HAND_LIGHT=ç»å…¸æ‰‹æŒå…‰æº
+of.options.shaders.OLD_LIGHTING=ç»å…¸å…‰æ•ˆ
+of.options.shaders.SHADER_PACK=光影包文件夹
+
+of.options.shaders.shadersFolder=光影包文件夹
+of.options.shaders.shaderOptions=光影设置...
+
+of.options.shaderOptionsTitle=光影设置
+
+of.options.quality=å“è´¨...
+of.options.qualityTitle=å“质设置
+
+of.options.details=细节...
+of.options.detailsTitle=细节设置
+
+of.options.performance=性能...
+of.options.performanceTitle=性能设置
+
+of.options.animations=动画...
+of.options.animationsTitle=动画设置
+
+of.options.other=其他...
+of.options.otherTitle=其他设置
+
+of.options.other.reset=é‡ç½®è§†é¢‘设置...
+
+of.shaders.profile=é…置文件
+
+# Quality
+
+of.options.mipmap.bilinear=åŒçº¿æ€§
+of.options.mipmap.linear=线性
+of.options.mipmap.nearest=最近
+of.options.mipmap.trilinear=三线性
+
+options.mipmapLevels.tooltip.1=通过平滑æ质细节,使远处的
+options.mipmapLevels.tooltip.2=物体获得更好的视觉效果。
+options.mipmapLevels.tooltip.3= å…³ - æ— å¹³æ»‘
+options.mipmapLevels.tooltip.4= 1 - 最å°å¹³æ»‘
+options.mipmapLevels.tooltip.5= 4 - 最大平滑
+options.mipmapLevels.tooltip.6=æ¤é€‰é¡¹é€šå¸¸ä¸å½±å“性能。
+
+of.options.MIPMAP_TYPE=多级æ¸è¿›çº¹ç†è¿‡æ»¤ç±»åž‹
+of.options.MIPMAP_TYPE.tooltip.1=通过平滑æ质细节,使远处的
+of.options.MIPMAP_TYPE.tooltip.2=物体获得更好的视觉效果。
+of.options.MIPMAP_TYPE.tooltip.3= 最近 - 粗糙平滑(最快)
+of.options.MIPMAP_TYPE.tooltip.4= 线性 - æ£å¸¸å¹³æ»‘
+of.options.MIPMAP_TYPE.tooltip.5= åŒçº¿æ€§ - 精细平滑
+of.options.MIPMAP_TYPE.tooltip.6= 三线性 - 最佳平滑(最慢)
+
+
+of.options.AA_LEVEL=抗锯齿
+of.options.AA_LEVEL.tooltip.1=抗锯齿
+of.options.AA_LEVEL.tooltip.2= å…³ - ï¼ˆé»˜è®¤ï¼‰æ— æŠ—é”¯é½¿ï¼ˆè¾ƒå¿«ï¼‰
+of.options.AA_LEVEL.tooltip.3= 2-16 - 对线和边缘使用抗锯齿(较慢)
+of.options.AA_LEVEL.tooltip.4=抗锯齿将平滑锯齿线
+of.options.AA_LEVEL.tooltip.5=å’Œé”利的色彩过渡。
+of.options.AA_LEVEL.tooltip.6=å¯ç”¨å®ƒå¯èƒ½ä¼šå¤§å¹…é™ä½ŽFPS。
+of.options.AA_LEVEL.tooltip.7=并éžæ‰€æœ‰çº§åˆ«éƒ½è¢«æ˜¾å¡æ”¯æŒã€‚
+of.options.AA_LEVEL.tooltip.8=é‡å¯åŽç”Ÿæ•ˆï¼
+
+of.options.AF_LEVEL=å„å‘异性过滤
+of.options.AF_LEVEL.tooltip.1=å„å‘异性过滤
+of.options.AF_LEVEL.tooltip.2= å…³ - ï¼ˆé»˜è®¤ï¼‰æ ‡å‡†æ质细节(较快)
+of.options.AF_LEVEL.tooltip.3= 2-16 - 为多级纹ç†è¿‡æ»¤åŽçš„æè´¨æ供精细细节(较慢)
+of.options.AF_LEVEL.tooltip.4=å„å‘异性过滤还原了ç»å¤šçº§
+of.options.AF_LEVEL.tooltip.5=纹ç†è¿‡æ»¤åŽçš„æ质细节。
+of.options.AF_LEVEL.tooltip.6=å¯ç”¨å®ƒå¯èƒ½ä¼šå¤§å¹…é™ä½ŽFPS。
+
+of.options.CLEAR_WATER=清澈水体
+of.options.CLEAR_WATER.tooltip.1=清澈水体
+of.options.CLEAR_WATER.tooltip.2= å¼€ - 清澈ã€é€æ˜Žæ°´ä½“
+of.options.CLEAR_WATER.tooltip.3= 关 - 默认水体
+
+of.options.RANDOM_MOBS=éšæœºç”Ÿç‰©
+of.options.RANDOM_MOBS.tooltip.1=éšæœºç”Ÿç‰©æè´¨
+of.options.RANDOM_MOBS.tooltip.2= å…³ - å…³é—éšæœºç”Ÿç‰©æ质,较快
+of.options.RANDOM_MOBS.tooltip.3= å¼€ - éšæœºç”Ÿç‰©æ质,较慢
+of.options.RANDOM_MOBS.tooltip.4=游æˆä¸çš„生物æ质使用éšæœºçš„贴图。
+of.options.RANDOM_MOBS.tooltip.5=它需è¦èµ„æºåŒ…内有多个生物贴图。
+
+of.options.BETTER_GRASS=更好的è‰åœ°
+of.options.BETTER_GRASS.tooltip.1=更好的è‰åœ°
+of.options.BETTER_GRASS.tooltip.2= å…³ - 默认è‰åœ°æ质,较快
+of.options.BETTER_GRASS.tooltip.3= æµç•… - è‰æ–¹å—侧é¢å…¨éƒ¨ä½¿ç”¨è‰åœ°æ质,较慢
+of.options.BETTER_GRASS.tooltip.4= 高å“è´¨ - è‰æ–¹å—侧é¢æ质动æ€åŒ–,最慢
+
+of.options.BETTER_SNOW=更好的雪地
+of.options.BETTER_SNOW.tooltip.1=更好的雪地
+of.options.BETTER_SNOW.tooltip.2= 关 - 默认的雪地,较快
+of.options.BETTER_SNOW.tooltip.3= 开 - 更好的雪地,较慢
+of.options.BETTER_SNOW.tooltip.4=在“é€æ˜Žæ–¹å—â€ï¼ˆå¦‚æ …æ ã€é«˜è‰ï¼‰
+of.options.BETTER_SNOW.tooltip.5=与雪接壤时,在其下显示雪。
+
+of.options.CUSTOM_FONTS=自定义å—体
+of.options.CUSTOM_FONTS.tooltip.1=自定义å—体
+of.options.CUSTOM_FONTS.tooltip.2= å¼€ - 使用自定义å—体(默认),较慢
+of.options.CUSTOM_FONTS.tooltip.3= å…³ - 使用默认å—体,较快
+of.options.CUSTOM_FONTS.tooltip.4=自定义å—体一般由
+of.options.CUSTOM_FONTS.tooltip.5=当å‰çš„资æºåŒ…æ供。
+
+of.options.CUSTOM_COLORS=自定义色彩
+of.options.CUSTOM_COLORS.tooltip.1=自定义色彩
+of.options.CUSTOM_COLORS.tooltip.2= 开 - 使用自定义色彩(默认),较慢
+of.options.CUSTOM_COLORS.tooltip.3= 关 - 使用默认色彩,较快
+of.options.CUSTOM_COLORS.tooltip.4=自定义色彩一般由
+of.options.CUSTOM_COLORS.tooltip.5=当å‰çš„资æºåŒ…æ供。
+
+of.options.SWAMP_COLORS=沼泽颜色
+of.options.SWAMP_COLORS.tooltip.1=沼泽颜色
+of.options.SWAMP_COLORS.tooltip.2= 开 - 使用沼泽颜色(默认),较慢
+of.options.SWAMP_COLORS.tooltip.3= å…³ - ä¸ä½¿ç”¨æ²¼æ³½é¢œè‰²ï¼Œè¾ƒå¿«
+of.options.SWAMP_COLORS.tooltip.4=沼泽的颜色会影å“è‰ã€æ ‘å¶ã€è—¤è”“和水。
+
+of.options.SMOOTH_BIOMES=平滑生物群系
+of.options.SMOOTH_BIOMES.tooltip.1=平滑生物群系
+of.options.SMOOTH_BIOMES.tooltip.2= 开 - 平滑生物群系的边界(默认),较慢
+of.options.SMOOTH_BIOMES.tooltip.3= å…³ - ä¸å¹³æ»‘生物群系的边界,较快
+of.options.SMOOTH_BIOMES.tooltip.4=生物群系的边界平滑å–æ ·äºŽ
+of.options.SMOOTH_BIOMES.tooltip.5=附近所有方å—颜色的平å‡å€¼ã€‚
+of.options.SMOOTH_BIOMES.tooltip.6=è‰ã€æ ‘å¶ã€è—¤è”“和水会被å—到影å“。
+
+of.options.CONNECTED_TEXTURES=连接纹ç†
+of.options.CONNECTED_TEXTURES.tooltip.1=连接纹ç†
+of.options.CONNECTED_TEXTURES.tooltip.2= å…³ - å…³é—连接纹ç†ï¼ˆé»˜è®¤ï¼‰
+of.options.CONNECTED_TEXTURES.tooltip.3= æµç•… - 快速处ç†çº¹ç†è¿žæŽ¥
+of.options.CONNECTED_TEXTURES.tooltip.4= 高å“è´¨ - 精细处ç†çº¹ç†è¿žæŽ¥
+of.options.CONNECTED_TEXTURES.tooltip.5=连接纹ç†ä¸ºçŽ»ç’ƒã€æ²™çŸ³å’Œä¹¦æž¶å¢žåŠ 了连接æ质,
+of.options.CONNECTED_TEXTURES.tooltip.6=当它们互相放在一起时会将æ质连接为一体。
+of.options.CONNECTED_TEXTURES.tooltip.7=连接æ质一般由
+of.options.CONNECTED_TEXTURES.tooltip.8=当å‰çš„资æºåŒ…æ供。
+
+of.options.NATURAL_TEXTURES=天然纹ç†
+of.options.NATURAL_TEXTURES.tooltip.1=天然纹ç†
+of.options.NATURAL_TEXTURES.tooltip.2= å…³ - å…³é—天然纹ç†ï¼ˆé»˜è®¤ï¼‰
+of.options.NATURAL_TEXTURES.tooltip.3= å¼€ - 使用天然纹ç†
+of.options.NATURAL_TEXTURES.tooltip.4=天然纹ç†ä¼šç§»é™¤ç”±åŒä¸€ç±»åž‹çš„æ–¹å—é‡å¤
+of.options.NATURAL_TEXTURES.tooltip.5=è€Œåˆ›å»ºçš„æ …æ ¼çŠ¶å›¾æ¡ˆã€‚å®ƒé€šè¿‡æ—‹è½¬å’Œç¿»è½¬
+of.options.NATURAL_TEXTURES.tooltip.6=æ–¹å—的基础æè´¨æ¥åˆ›å»ºæè´¨å˜ä½“。
+of.options.NATURAL_TEXTURES.tooltip.7=天然纹ç†çš„é…置和æ质一般由
+of.options.NATURAL_TEXTURES.tooltip.8=当å‰çš„资æºåŒ…æ供。
+
+of.options.CUSTOM_SKY=自定义天空
+of.options.CUSTOM_SKY.tooltip.1=自定义天空
+of.options.CUSTOM_SKY.tooltip.2= å¼€ - 自定义天空æ质(默认),较慢
+of.options.CUSTOM_SKY.tooltip.3= å…³é— - 默认天空æ质,较快
+of.options.CUSTOM_SKY.tooltip.4=自定义天空的æ质一般
+of.options.CUSTOM_SKY.tooltip.5=由当å‰çš„资æºåŒ…æ供。
+
+of.options.CUSTOM_ITEMS=自定义物å“
+of.options.CUSTOM_ITEMS.tooltip.1=自定义物å“
+of.options.CUSTOM_ITEMS.tooltip.2= å¼€ - 自定义物å“æ质(默认),较慢
+of.options.CUSTOM_ITEMS.tooltip.3= å…³ - 默认物å“æ质,较快
+of.options.CUSTOM_ITEMS.tooltip.4=自定义物å“çš„æ质一般
+of.options.CUSTOM_ITEMS.tooltip.5=由当å‰çš„资æºåŒ…æ供。
+
+of.options.CUSTOM_ENTITY_MODELS=自定义实体模型
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=自定义实体模型
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= 开 - 自定义实体模型(默认),较慢
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= 关 - 默的实体模型,较快
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=自定义实体模型的æ质一般
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=由当å‰çš„资æºåŒ…æ供。
+
+# Details
+
+of.options.CLOUDS=云
+of.options.CLOUDS.tooltip.1=云
+of.options.CLOUDS.tooltip.2= 默认 - 以“图形å“è´¨â€çš„设定为准
+of.options.CLOUDS.tooltip.3= æµç•… - 低å“质,较快
+of.options.CLOUDS.tooltip.4= 高å“è´¨ - 高å“质,较慢
+of.options.CLOUDS.tooltip.5= å…³é— - 没有云,最快
+of.options.CLOUDS.tooltip.6=低å“质云使用2D渲染,
+of.options.CLOUDS.tooltip.7=高å“质云使用3D渲染。
+
+of.options.CLOUD_HEIGHT=云高度
+of.options.CLOUD_HEIGHT.tooltip.1=云高度
+of.options.CLOUD_HEIGHT.tooltip.2= å…³é— - 默认高度
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - 超过世界é™å®šé«˜åº¦
+
+of.options.TREES=æ ‘
+of.options.TREES.tooltip.1=æ ‘
+of.options.TREES.tooltip.2= 默认 - 以“图形å“è´¨â€çš„设定为准
+of.options.TREES.tooltip.3= æµç•… - 低å“质,最快
+of.options.TREES.tooltip.4= 智能 - 较高å“质,较快
+of.options.TREES.tooltip.5= 高å“è´¨ - 高å“质,较慢
+of.options.TREES.tooltip.6=低å“è´¨çš„æ ‘å¶ä¸é€æ˜Žï¼Œ
+of.options.TREES.tooltip.7=高å“è´¨çš„æ ‘å¶é€æ˜Žé•‚空。
+
+of.options.RAIN=雨雪
+of.options.RAIN.tooltip.1=雨雪
+of.options.RAIN.tooltip.2= 默认 - 以“图形å“è´¨â€çš„设定为准
+of.options.RAIN.tooltip.3= æµç•… - å°‘é‡çš„雨/雪,较快
+of.options.RAIN.tooltip.4= 高å“è´¨ - 大é‡çš„雨/雪,较慢
+of.options.RAIN.tooltip.5= å…³é— - 没有雨/雪,最快
+of.options.RAIN.tooltip.6=当雨雪选项为 å…³é— æ—¶ï¼Œ
+of.options.RAIN.tooltip.7=雨声ä»ç„¶å˜åœ¨ã€‚
+
+of.options.SKY=天空
+of.options.SKY.tooltip.1=天空
+of.options.SKY.tooltip.2= å¼€ - 天空å¯è§ï¼Œè¾ƒæ…¢
+of.options.SKY.tooltip.3= å…³ - 天空ä¸å¯è§ï¼Œè¾ƒå¿«
+of.options.SKY.tooltip.4=当天空关é—时,月亮和太阳ä¾ç„¶å¯è§ã€‚
+
+of.options.STARS=星星
+of.options.STARS.tooltip.1=星星
+of.options.STARS.tooltip.2= å¼€ - 星星å¯è§ï¼Œè¾ƒæ…¢
+of.options.STARS.tooltip.3= å…³ - 星星ä¸å¯è§ï¼Œè¾ƒå¿«
+
+of.options.SUN_MOON=日月
+of.options.SUN_MOON.tooltip.1=日月
+of.options.SUN_MOON.tooltip.2= å¼€ - 太阳和月亮å¯è§ï¼ˆé»˜è®¤ï¼‰
+of.options.SUN_MOON.tooltip.3= å…³ - 太阳和月亮ä¸å¯è§ï¼ˆè¾ƒå¿«ï¼‰
+
+of.options.SHOW_CAPES=显示披风
+of.options.SHOW_CAPES.tooltip.1=显示披风
+of.options.SHOW_CAPES.tooltip.2= 开 - 显示玩家披风(默认)
+of.options.SHOW_CAPES.tooltip.3= å…³ - ä¸æ˜¾ç¤ºçŽ©å®¶æŠ«é£Ž
+
+of.options.TRANSLUCENT_BLOCKS=åŠé€æ˜Žæ–¹å—
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=åŠé€æ˜Žæ–¹å—
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= 高å“è´¨ - 准确的混åˆé¢œè‰²ï¼ˆé»˜è®¤ï¼‰
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= æµç•… - 快速的混åˆé¢œè‰²ï¼ˆè¾ƒå¿«ï¼‰
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=用于控制ä¸åŒé¢œè‰²çš„åŠé€æ˜Ž
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=æ–¹å—(染色玻璃ã€æ°´ã€å†°ï¼‰é—´
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=有空气å˜åœ¨æ—¶ï¼Œå½¼æ¤é¢œè‰²çš„æ··åˆã€‚
+
+of.options.HELD_ITEM_TOOLTIPS=æŒæœ‰ç‰©ä¿¡æ¯æ˜¾ç¤º
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=æŒæœ‰ç‰©ä¿¡æ¯æ˜¾ç¤º
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= å¼€ - 显示æŒæœ‰ç‰©ä¿¡æ¯ï¼ˆé»˜è®¤ï¼‰
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= å…³ - éšè—æŒæœ‰ç‰©ä¿¡æ¯
+
+of.options.ADVANCED_TOOLTIPS=高级信æ¯æ示
+of.options.ADVANCED_TOOLTIPS.tooltip.1=高级信æ¯æ示
+of.options.ADVANCED_TOOLTIPS.tooltip.2= å¼€ - 显示高级信æ¯æ示
+of.options.ADVANCED_TOOLTIPS.tooltip.3= å…³ - éšè—高级信æ¯æ示(默认)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=高级信æ¯æ示显示物å“
+of.options.ADVANCED_TOOLTIPS.tooltip.5=(IDã€è€ä¹…度)和光影设置
+of.options.ADVANCED_TOOLTIPS.tooltip.6=(IDã€æºã€é»˜è®¤å€¼ï¼‰çš„拓展信æ¯ã€‚
+
+of.options.DROPPED_ITEMS=掉è½ç‰©å“
+of.options.DROPPED_ITEMS.tooltip.1=掉è½ç‰©å“
+of.options.DROPPED_ITEMS.tooltip.2= 默认 - 以“图形å“è´¨â€çš„设定为准
+of.options.DROPPED_ITEMS.tooltip.3= æµç•… - 2D掉è½ç‰©å“,较快
+of.options.DROPPED_ITEMS.tooltip.4= 高å“è´¨ - 3D掉è½ç‰©å“,较慢
+
+options.entityShadows.tooltip.1=实体阴影
+options.entityShadows.tooltip.2= 开 - 显示实体阴影
+options.entityShadows.tooltip.3= å…³ - éšè—实体阴影
+
+of.options.VIGNETTE=晕影
+of.options.VIGNETTE.tooltip.1=å±å¹•å››è§’轻微å˜æš—的视觉效果
+of.options.VIGNETTE.tooltip.2= 默认 - 以“图形å“è´¨â€çš„设定为准(默认)
+of.options.VIGNETTE.tooltip.3= æµç•… - 晕影关é—(较快)
+of.options.VIGNETTE.tooltip.4= 高å“è´¨ - 晕影开å¯ï¼ˆè¾ƒæ…¢ï¼‰
+of.options.VIGNETTE.tooltip.5=晕影å¯èƒ½å¯¹FPS有显著的影å“,
+of.options.VIGNETTE.tooltip.6=尤其是全å±æ¸¸æˆçš„时候。
+of.options.VIGNETTE.tooltip.7=晕影的效果éžå¸¸ç»†å¾®ï¼Œ
+of.options.VIGNETTE.tooltip.8=并且å¯ä»¥è¢«å®‰å…¨åœ°ç¦ç”¨ã€‚
+
+of.options.DYNAMIC_FOV=动æ€è§†åœº
+of.options.DYNAMIC_FOV.tooltip.1=动æ€è§†åœº
+of.options.DYNAMIC_FOV.tooltip.2= å¼€ - å¯ç”¨åŠ¨æ€è§†åœºï¼ˆé»˜è®¤ï¼‰
+of.options.DYNAMIC_FOV.tooltip.3= å…³ - ç¦ç”¨åŠ¨æ€è§†åœº
+of.options.DYNAMIC_FOV.tooltip.4=当æ£åœ¨é£žè¡Œã€ç–¾è·‘或
+of.options.DYNAMIC_FOV.tooltip.5=拉弓时改å˜è§†åœºã€‚
+
+of.options.DYNAMIC_LIGHTS=动æ€å…‰æº
+of.options.DYNAMIC_LIGHTS.tooltip.1=动æ€å…‰æº
+of.options.DYNAMIC_LIGHTS.tooltip.2= å…³ - æ— åŠ¨æ€å…‰æºï¼ˆé»˜è®¤ï¼‰
+of.options.DYNAMIC_LIGHTS.tooltip.3= æµç•… - 较快的动æ€å…‰æºï¼ˆæ¯500ms更新一次)
+of.options.DYNAMIC_LIGHTS.tooltip.4= 高å“è´¨ - 高å“质的动æ€å…‰æºï¼ˆå®žæ—¶æ›´æ–°ï¼‰
+of.options.DYNAMIC_LIGHTS.tooltip.5=å…许å‘光的物å“(ç«æŠŠã€è¤çŸ³ç‰ï¼‰
+of.options.DYNAMIC_LIGHTS.tooltip.6=当被玩家左å³æ‰‹æŒæ¡ã€è£…备或
+of.options.DYNAMIC_LIGHTS.tooltip.7=æˆä¸ºæŽ‰è½ç‰©æ—¶ç…§äº®å‘¨å›´çš„一切。
+
+# Performance
+
+of.options.SMOOTH_FPS=平滑FPS
+of.options.SMOOTH_FPS.tooltip.1=通过清除显å¡ç¼“冲区æ¥ç¨³å®šFPS
+of.options.SMOOTH_FPS.tooltip.2= å…³ - ä¸ç¨³å®šï¼ŒFPSå¯èƒ½æ³¢åŠ¨
+of.options.SMOOTH_FPS.tooltip.3= 开 - FPS稳定
+of.options.SMOOTH_FPS.tooltip.4=æ¤é€‰é¡¹ä¾èµ–于显å¡é©±åŠ¨ï¼Œ
+of.options.SMOOTH_FPS.tooltip.5=通常效果并ä¸æ˜Žæ˜¾ã€‚
+
+of.options.SMOOTH_WORLD=平滑世界
+of.options.SMOOTH_WORLD.tooltip.1=移除内部æœåŠ¡é€ æˆçš„æ•°æ®å»¶æ—¶ã€‚
+of.options.SMOOTH_WORLD.tooltip.2= å…³ - ä¸ç¨³å®šï¼ŒFPSå¯èƒ½æ³¢åŠ¨
+of.options.SMOOTH_WORLD.tooltip.3= 开 - FPS稳定
+of.options.SMOOTH_WORLD.tooltip.4=分担内部æœåŠ¡å™¨è´Ÿè½½æ¥ç¨³å®šFPS。
+of.options.SMOOTH_WORLD.tooltip.5=åªåœ¨æœ¬åœ°ä¸–界(å•äººæ¸¸æˆï¼‰æœ‰æ•ˆã€‚
+
+of.options.FAST_RENDER=快速渲染
+of.options.FAST_RENDER.tooltip.1=快速渲染
+of.options.FAST_RENDER.tooltip.2= å…³ - æ ‡å‡†æ¸²æŸ“ï¼ˆé»˜è®¤ï¼‰
+of.options.FAST_RENDER.tooltip.3= 开 - 优化渲染(较快)
+of.options.FAST_RENDER.tooltip.4=采用优化渲染算法从而é™ä½ŽGPUçš„è´Ÿè½½
+of.options.FAST_RENDER.tooltip.5=并且å¯èƒ½å¤§å¹…æå‡FPS。
+
+of.options.FAST_MATH=快速è¿ç®—
+of.options.FAST_MATH.tooltip.1=快速è¿ç®—
+of.options.FAST_MATH.tooltip.2= å…³ - æ ‡å‡†çš„è¿ç®—(默认)
+of.options.FAST_MATH.tooltip.3= å¼€ - æ›´å¿«çš„è¿ç®—
+of.options.FAST_MATH.tooltip.4=采用优化的sin()å’Œcos()函数å¯ä»¥
+of.options.FAST_MATH.tooltip.5=更好地利用CPU缓å˜å¹¶ä¸”æå‡FPS。
+
+of.options.CHUNK_UPDATES=区å—æ›´æ–°
+of.options.CHUNK_UPDATES.tooltip.1=区å—æ›´æ–°
+of.options.CHUNK_UPDATES.tooltip.2= 1 - 世界载入速度较慢,FPS较高(默认)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - 世界载入速度较快,FPS较低
+of.options.CHUNK_UPDATES.tooltip.4= 5 - 世界载入速度最快,FPS最低
+of.options.CHUNK_UPDATES.tooltip.5=渲染æ¯å¸§æ—¶æ›´æ–°çš„区å—数,
+of.options.CHUNK_UPDATES.tooltip.6=更高的值将会导致帧数ä¸ç¨³å®šã€‚
+
+of.options.CHUNK_UPDATES_DYNAMIC=动æ€æ›´æ–°
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=动æ€åŒºå—æ›´æ–°
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= å…³ - (默认)æ¯å¸§æ ‡å‡†åŒºå—æ›´æ–°
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= å¼€ - 当玩家站立ä¸åŠ¨æ—¶æ›´å¤šçš„区å—æ›´æ–°
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=当玩家站立ä¸åŠ¨æ—¶ï¼Œå¼ºè¿«æ›´å¤šçš„
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=区å—æ›´æ–°ï¼Œä½¿å¾—ä¸–ç•ŒåŠ è½½æ›´å¿«ã€‚
+
+of.options.LAZY_CHUNK_LOADING=缓慢区å—åŠ è½½
+of.options.LAZY_CHUNK_LOADING.tooltip.1=缓慢区å—åŠ è½½
+of.options.LAZY_CHUNK_LOADING.tooltip.2= å…³ - 默认的æœåŠ¡å™¨åŒºå—载入
+of.options.LAZY_CHUNK_LOADING.tooltip.3= å¼€ - 缓慢的æœåŠ¡å™¨åŒºå—载入(更平滑)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=将区å—分布在多个“游æˆåˆ»â€è¿›è¡ŒåŠ è½½
+of.options.LAZY_CHUNK_LOADING.tooltip.5=从而平滑æœåŠ¡å™¨æ•´ä½“区å—åŠ è½½ã€‚
+of.options.LAZY_CHUNK_LOADING.tooltip.6=如果部分世界ä¸èƒ½æ£ç¡®åœ°è½½å…¥ï¼Œè¯·æŠŠå®ƒè®¾ç½®ä¸ºå…³ã€‚
+of.options.LAZY_CHUNK_LOADING.tooltip.7=仅适用于本地世界和å•æ ¸CPU的电脑。
+
+# Animations
+
+of.options.animation.allOn=全部开å¯
+of.options.animation.allOff=全部关é—
+of.options.animation.dynamic=动æ€
+
+of.options.ANIMATED_WATER=æ°´é¢åŠ¨ç”»
+of.options.ANIMATED_LAVA=岩浆动画
+of.options.ANIMATED_FIRE=ç«ç„°åŠ¨ç”»
+of.options.ANIMATED_PORTAL=ä¼ é€é—¨åŠ¨ç”»
+of.options.ANIMATED_REDSTONE=红石动画
+of.options.ANIMATED_EXPLOSION=爆炸动画
+of.options.ANIMATED_FLAME=燃烧动画
+of.options.ANIMATED_SMOKE=烟雾动画
+of.options.VOID_PARTICLES=虚空粒å
+of.options.WATER_PARTICLES=æ°´é¢ç²’å
+of.options.RAIN_SPLASH=雨滴飞溅
+of.options.PORTAL_PARTICLES=ä¼ é€é—¨ç²’å
+of.options.POTION_PARTICLES=è¯æ°´ç²’å
+of.options.DRIPPING_WATER_LAVA=æµåŠ¨æ°´/岩浆
+of.options.ANIMATED_TERRAIN=地形动画
+of.options.ANIMATED_TEXTURES=æ质动画
+of.options.FIREWORK_PARTICLES=烟花粒å
+
+# Other
+
+of.options.LAGOMETER=快速调试信æ¯
+of.options.LAGOMETER.tooltip.1=在调试界é¢ï¼ˆF3)显示快速调试信æ¯ã€‚
+of.options.LAGOMETER.tooltip.2=* æ©™ - 内å˜åžƒåœ¾å›žæ”¶
+of.options.LAGOMETER.tooltip.3=* é’ - 游æˆåˆ»
+of.options.LAGOMETER.tooltip.4=* è“ - 预定å¯æ‰§è¡Œ
+of.options.LAGOMETER.tooltip.5=* ç´« - 区å—åŠ è½½
+of.options.LAGOMETER.tooltip.6=* 红 - 区å—æ›´æ–°
+of.options.LAGOMETER.tooltip.7=* 黄 - 能è§åº¦æ£€æŸ¥
+of.options.LAGOMETER.tooltip.8=* 绿 - 渲染地形
+
+of.options.PROFILER=调试分æžå™¨
+of.options.PROFILER.tooltip.1=调试分æžå™¨
+of.options.PROFILER.tooltip.2= å¼€ - 调试分æžå™¨å¯ç”¨ï¼Œè¾ƒæ…¢
+of.options.PROFILER.tooltip.3= å…³ - 调试分æžå™¨ç¦ç”¨ï¼Œè¾ƒå¿«
+of.options.PROFILER.tooltip.4=在调试界é¢å¼€å¯çŠ¶æ€ï¼ˆF3)时
+of.options.PROFILER.tooltip.5=调试分æžå™¨æ”¶é›†å¹¶ä¸”显示调试信æ¯ã€‚
+
+of.options.WEATHER=天气
+of.options.WEATHER.tooltip.1=天气
+of.options.WEATHER.tooltip.2= å¼€ - å¼€å¯å¤©æ°”,较慢
+of.options.WEATHER.tooltip.3= å…³ - å…³é—天气,较快
+of.options.WEATHER.tooltip.4=天气选项影å“雨,雪和雷电。
+of.options.WEATHER.tooltip.5=天气选项仅在本地游æˆä¸ç”Ÿæ•ˆã€‚
+
+of.options.time.dayOnly=åªæœ‰ç™½å¤©
+of.options.time.nightOnly=åªæœ‰å¤œæ™š
+
+of.options.TIME=时间
+of.options.TIME.tooltip.1=时间
+of.options.TIME.tooltip.2= 默认 - æ£å¸¸çš„日夜交替
+of.options.TIME.tooltip.3= åªæœ‰ç™½å¤© - åªæœ‰ç™½å¤©
+of.options.TIME.tooltip.4= åªæœ‰å¤œæ™š - åªæœ‰å¤œæ™š
+of.options.TIME.tooltip.5=时间设置åªåœ¨åˆ›é€ 模å¼ä¸‹
+of.options.TIME.tooltip.6=且为本地游æˆæ—¶æœ‰æ•ˆã€‚
+
+options.fullscreen.tooltip.1=å…¨å±
+options.fullscreen.tooltip.2= å¼€ - 使用全å±æ¨¡å¼
+options.fullscreen.tooltip.3= å…³ - 使用窗å£æ¨¡å¼
+options.fullscreen.tooltip.4=å…¨å±æ¨¡å¼å¯èƒ½æ¯”窗å£æ¨¡å¼æ›´å¿«
+options.fullscreen.tooltip.5=或者更慢,å–决于显å¡ã€‚
+
+of.options.FULLSCREEN_MODE=å…¨å±æ¨¡å¼
+of.options.FULLSCREEN_MODE.tooltip.1=å…¨å±æ¨¡å¼
+of.options.FULLSCREEN_MODE.tooltip.2= 默认 - 使用桌é¢åˆ†è¾¨çŽ‡ï¼Œè¾ƒæ…¢
+of.options.FULLSCREEN_MODE.tooltip.3= 自定义 - 使用自定义å±å¹•åˆ†è¾¨çŽ‡ï¼Œå¯èƒ½ä¼šè¾ƒå¿«
+of.options.FULLSCREEN_MODE.tooltip.4=这个选项åªæœ‰åœ¨å…¨å±æ¨¡å¼ä¸‹ç”Ÿæ•ˆï¼ˆF11)。
+of.options.FULLSCREEN_MODE.tooltip.5=较低的分辨率通常会更快。
+
+of.options.SHOW_FPS=显示FPS
+of.options.SHOW_FPS.tooltip.1=æ˜¾ç¤ºè¿·ä½ çš„FPS和渲染信æ¯
+of.options.SHOW_FPS.tooltip.2= C:- 区å—渲染器
+of.options.SHOW_FPS.tooltip.3= E:- 一般实体 + æ–¹å—实体
+of.options.SHOW_FPS.tooltip.4= U:- 区å—æ›´æ–°
+of.options.SHOW_FPS.tooltip.5=åªæœ‰è°ƒè¯•å±å¹•éšè—æ—¶
+of.options.SHOW_FPS.tooltip.6=è¿·ä½ FPSä¿¡æ¯æ‰ä¼šæ˜¾ç¤ºã€‚
+
+of.options.save.default=默认(2秒)
+of.options.save.20s=20秒
+of.options.save.3min=3分钟
+of.options.save.30min=30分钟
+
+of.options.AUTOSAVE_TICKS=自动ä¿å˜
+of.options.AUTOSAVE_TICKS.tooltip.1=自动ä¿å˜é—´éš”
+of.options.AUTOSAVE_TICKS.tooltip.2=ä¸æŽ¨è使用默认自动ä¿å˜é—´éš”(2秒)。
+of.options.AUTOSAVE_TICKS.tooltip.3=自动ä¿å˜å¯¼è‡´äº†è‘—å的“æ»äº¡å¡é¡¿â€ã€‚
+
+of.options.SCREENSHOT_SIZE=截图尺寸
+of.options.SCREENSHOT_SIZE.tooltip.1=截图尺寸
+of.options.SCREENSHOT_SIZE.tooltip.2= 默认 - 默认的截图尺寸
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - 自定义截图尺寸
+of.options.SCREENSHOT_SIZE.tooltip.4=抓å–更大的截图å¯èƒ½éœ€è¦æ›´å¤šçš„内å˜ã€‚
+of.options.SCREENSHOT_SIZE.tooltip.5=与快速渲染和抗锯齿ä¸å…¼å®¹ã€‚
+of.options.SCREENSHOT_SIZE.tooltip.6=需è¦æ˜¾å¡å¸§ç¼“冲区支æŒã€‚
diff --git a/src/main/resources/assets/minecraft/optifine/lang/zh_TW.lang b/src/main/resources/assets/minecraft/optifine/lang/zh_TW.lang
new file mode 100644
index 00000000..31674479
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/lang/zh_TW.lang
@@ -0,0 +1,597 @@
+# Contributors of Traditional Chinese localization #
+# Degh_Cilon_ From WAWCraft 2016-02-18 ---- 2016-01-25
+# Shujinko_kun From MCHK 2016-02-25 ---- 2016-03-27
+# NatsuArashi 2016-03-03
+##-------------- zh_TW ---------------
+
+# General
+of.general.ambiguous=ä¸æ˜Žç¢º
+of.general.custom=自定義
+of.general.from=來自
+of.general.id=Id
+of.general.restart=é‡æ–°å•Ÿå‹•
+of.general.smart=智能
+
+# Keys
+of.key.zoom=縮放
+
+# Message
+of.message.aa.shaders1=抗鋸齒與光影ä¸å…¼å®¹.
+of.message.aa.shaders2=請關閉光影來啟用這個é¸é ….
+
+of.message.af.shaders1=å„å‘異性éŽæ¿¾èˆ‡å…‰å½±ä¸å…¼å®¹.
+of.message.af.shaders2=請關閉光影來啟用這個é¸é ….
+
+of.message.fr.shaders1=快速渲染與光影ä¸å…¼å®¹.
+of.message.fr.shaders2=請關閉光影來啟用這個é¸é ….
+
+of.message.an.shaders1=3D立體與光影ä¸å…¼å®¹.
+of.message.an.shaders2=請關閉光影來啟用這個é¸é ….
+
+of.message.shaders.aa1=光影與抗鋸齒ä¸å…¼å®¹.
+of.message.shaders.aa2=請把 å“質 -> 抗鋸齒 é¸é …è¨å®šç‚º 關閉 並且é‡å•Ÿä½ çš„éŠæˆ².
+
+of.message.shaders.af1=光影與å„å‘異性éŽæ¿¾ä¸å…¼å®¹.
+of.message.shaders.af2=請把 å“質 -> å„å‘異性éŽæ¿¾ é¸é …è¨ç½®ç‚º 關閉.
+
+of.message.shaders.fr1=光影與快速渲染ä¸å…¼å®¹.
+of.message.shaders.fr2=請把 性能 -> 快速渲染 é¸é …è¨å®šç‚º 關閉.
+
+of.message.shaders.an1=光影與3Dç«‹é«”ä¸å…¼å®¹.
+of.message.shaders.an2=請把 其他 -> 3Dç«‹é«” é¸é …è¨å®šç‚º 關閉.
+
+of.message.newVersion=新的§eOptiFine§f版本å¯ä»¥ä½¿ç”¨äº†: §e%s§f
+of.message.java64Bit=ä½ å¯ä»¥å®‰è£Â§e64ä½å…ƒJava§f來æå‡æ€§èƒ½.
+of.message.openglError=§eOpenGL錯誤§f: %s (%s)
+
+of.message.shaders.loading=載入光影: %s
+
+of.message.other.reset=確èªé‡ç½®æ‰€æœ‰æ繪è¨å®šç‚ºé è¨å€¼å—Ž?
+
+of.message.loadingVisibleChunks=æ£åœ¨åŠ 載å¯è¦‹å€å¡Š
+
+# Video settings
+
+options.graphics.tooltip.1=圖åƒç•«è³ª
+options.graphics.tooltip.2= 性能優先 - 低畫質, 較快
+options.graphics.tooltip.3= 畫質優先 - 高畫質, 較慢
+options.graphics.tooltip.4=改變雲ã€æ¨¹è‘‰ã€æ°´ã€
+options.graphics.tooltip.5=陰影和è‰åœ°çš„外觀.
+
+of.options.renderDistance.tiny=最近
+of.options.renderDistance.short=è¿‘
+of.options.renderDistance.normal=ä¸ç‰
+of.options.renderDistance.far=é
+of.options.renderDistance.extreme=最é
+
+options.renderDistance.tooltip.1=視野
+options.renderDistance.tooltip.2= 2 最近 - 32m (最快)
+options.renderDistance.tooltip.3= 4 近 - 64m (較快)
+options.renderDistance.tooltip.4= 8 ä¸ç‰ - 128m
+options.renderDistance.tooltip.5= 16 é - 256m (較慢)
+options.renderDistance.tooltip.6= 32 最é - 512m (最慢!)
+options.renderDistance.tooltip.7=最é 的視野è¨å®šéžå¸¸æ¶ˆè€—資æº!
+options.renderDistance.tooltip.8= 16 以上的視野值åªåœ¨æœ¬åœ°ä¸–界有效.
+
+options.ao.tooltip.1=柔和化照明效果
+options.ao.tooltip.2= 關閉 - 沒有柔和化照明 (較快)
+options.ao.tooltip.3= 最å°å€¼ - 簡單柔和化照明 (較慢)
+options.ao.tooltip.4= 最大值 - 複雜柔和化照明 (最慢)
+
+options.framerateLimit.tooltip.1=最大FPS
+options.framerateLimit.tooltip.2= åž‚ç›´åŒæ¥ - å—é™æ–¼é¡¯ç¤ºå™¨FPS(60, 30, 20)
+options.framerateLimit.tooltip.3= 5-255 - å¯è®Š
+options.framerateLimit.tooltip.4= ç„¡é™åˆ¶ - ç„¡é™åˆ¶(最快)
+options.framerateLimit.tooltip.5=FPS上é™æœƒå½±éŸ¿æ€§èƒ½
+options.framerateLimit.tooltip.6=å³ä½¿å…¶æœªé”上é™å€¼.
+of.options.framerateLimit.vsync=åž‚ç›´åŒæ¥
+
+of.options.AO_LEVEL=柔和化照明ç‰ç´š
+of.options.AO_LEVEL.tooltip.1=柔和化照明ç‰ç´š
+of.options.AO_LEVEL.tooltip.2= 關閉 - 沒有陰影
+of.options.AO_LEVEL.tooltip.3= 50%% - 較亮的陰影
+of.options.AO_LEVEL.tooltip.4= 100%% - 較暗的陰影
+
+options.viewBobbing.tooltip.1=更真實的é‹å‹•.
+options.viewBobbing.tooltip.2=當使用多精度æ質時,關閉它以å–得更佳效果.
+
+options.guiScale.tooltip.1=介é¢å¤§å°
+options.guiScale.tooltip.2= 自動 - 最大大å°
+options.guiScale.tooltip.3= å°, ä¸, 大 - 1x到3x
+options.guiScale.tooltip.4= 4x到10x - 在4K分辯率下å¯ç”¨
+options.guiScale.tooltip.5=奇數值的放大å€æ•¸(1x, 3x, 5xç‰)與Unicodeä¸ç›¸å®¹.
+options.guiScale.tooltip.6=較å°çš„介é¢æˆ–許會更快.
+
+options.vbo.tooltip.1=啟用緩è¡å€é ‚點å°è±¡
+options.vbo.tooltip.2=使用一種替é¸çš„渲染模å¼é€šå¸¸
+options.vbo.tooltip.3=å¯ä»¥æ¯”默èªæ¸²æŸ“å¿«(5-10%%).
+
+options.gamma.tooltip.1=å¢žåŠ è¼ƒæš—ç‰©é«”çš„äº®åº¦
+options.gamma.tooltip.2= 標準 - 標準亮度
+options.gamma.tooltip.3= 1-99%% - å¯è®Šäº®åº¦
+options.gamma.tooltip.4= 明亮 - 最大亮度
+options.gamma.tooltip.5=æ¤é¸é …ä¸æœƒæ”¹è®Š
+options.gamma.tooltip.6=完全黑色的物體的亮度.
+
+options.anaglyph.tooltip.1=3Dç«‹é«”
+options.anaglyph.tooltip.2=通éŽç‚ºæ¯éš»çœ¼ç›åˆ†è‰²
+options.anaglyph.tooltip.3=來啟用3D立體效果.
+options.anaglyph.tooltip.4=需è¦ä½¿ç”¨ç´…è—眼é¡æ£å¸¸è§€çœ‹.
+
+options.blockAlternatives.tooltip.1=替é¸æ–¹å¡Š
+options.blockAlternatives.tooltip.2=為一些方塊使用備é¸çš„方塊模型.
+options.blockAlternatives.tooltip.3=å–決於所é¸çš„資æºåŒ….
+
+of.options.ALTERNATE_BLOCKS=替é¸æ–¹å¡Š
+of.options.ALTERNATE_BLOCKS.tooltip.1=替é¸æ–¹å¡Š
+of.options.ALTERNATE_BLOCKS.tooltip.2=為一些方塊使用備é¸çš„方塊模型.
+of.options.ALTERNATE_BLOCKS.tooltip.3=å–決於所é¸çš„資æºåŒ….
+
+of.options.FOG_FANCY=迷霧
+of.options.FOG_FANCY.tooltip.1=迷霧類型
+of.options.FOG_FANCY.tooltip.2= 性能優先 - 較æµæš¢çš„迷霧
+of.options.FOG_FANCY.tooltip.3= 畫質優先 - 較慢的迷霧,質é‡æ›´ä½³
+of.options.FOG_FANCY.tooltip.4= 關閉 - 無迷霧,最快
+of.options.FOG_FANCY.tooltip.5=畫質優先的迷霧åªåœ¨
+of.options.FOG_FANCY.tooltip.6=顯å¡æ”¯æŒä¸‹å¯ç”¨.
+
+of.options.FOG_START=迷霧起始ä½ç½®
+of.options.FOG_START.tooltip.1=迷霧起始ä½ç½®
+of.options.FOG_START.tooltip.2= 0.2 - 迷霧起始於玩家周åœ
+of.options.FOG_START.tooltip.3= 0.8 - 迷霧在離玩家較é 的地方起始
+of.options.FOG_START.tooltip.4=æ¤é¸é …通常ä¸æœƒå½±éŸ¿æ€§èƒ½.
+
+of.options.CHUNK_LOADING=å€å¡Šè¼‰å…¥
+of.options.CHUNK_LOADING.tooltip.1=å€å¡Šè¼‰å…¥
+of.options.CHUNK_LOADING.tooltip.2= é è¨ - 當載入å€å¡Šæ™‚FPSä¸ç©©å®š
+of.options.CHUNK_LOADING.tooltip.3= 柔和化 - 穩定FPS
+of.options.CHUNK_LOADING.tooltip.4= å¤šæ ¸å¿ƒ - 穩定FPS,3å€çš„世界載入速度
+of.options.CHUNK_LOADING.tooltip.5=æŸ”å’ŒåŒ–å’Œå¤šæ ¸å¿ƒå¯æ¶ˆé™¤ç”±å€å¡Š
+of.options.CHUNK_LOADING.tooltip.6=載入引起的延é²å’Œå¡é “.
+of.options.CHUNK_LOADING.tooltip.7=å¤šæ ¸å¿ƒå¯ä»¥ä»¤ä¸–界載入速度æå‡3å€
+of.options.CHUNK_LOADING.tooltip.8=並通éŽä½¿ç”¨å¤šå€‹CPUæ ¸å¿ƒä¾†æå‡FPS.
+of.options.chunkLoading.smooth=柔和化
+of.options.chunkLoading.multiCore=å¤šæ ¸å¿ƒ
+
+of.options.shaders=光影...
+of.options.shadersTitle=光影
+
+of.options.shaders.packNone=關閉
+of.options.shaders.packDefault=(內置)
+
+
+of.options.shaders.ANTIALIASING=抗鋸齒
+of.options.shaders.NORMAL_MAP=法線貼圖
+of.options.shaders.SPECULAR_MAP=高光貼圖
+of.options.shaders.RENDER_RES_MUL=渲染精細度
+of.options.shaders.SHADOW_RES_MUL=陰影精細度
+of.options.shaders.HAND_DEPTH_MUL=手部景深
+of.options.shaders.CLOUD_SHADOW=雲的陰影
+of.options.shaders.OLD_HAND_LIGHT=經典手æŒå…‰æº
+of.options.shaders.OLD_LIGHTING=經典光照
+of.options.shaders.SHADER_PACK=光影包文件夾
+
+of.options.shaders.shadersFolder=光影資料夾
+of.options.shaders.shaderOptions=光影è¨å®š...
+
+of.options.shaderOptionsTitle=光影è¨å®š
+
+of.options.quality=å“質...
+of.options.qualityTitle=å“質è¨ç½®
+
+of.options.details=細節...
+of.options.detailsTitle=細節è¨ç½®
+
+of.options.performance=性能...
+of.options.performanceTitle=性能è¨ç½®
+
+of.options.animations=å‹•ç•«...
+of.options.animationsTitle=å‹•ç•«è¨ç½®
+
+of.options.other=其他...
+of.options.otherTitle=其他è¨ç½®
+
+of.options.other.reset=é‡è¨è¦–é »è¨å®š...
+
+of.shaders.profile=é…置文件
+
+# Quality
+
+of.options.mipmap.bilinear=雙線性
+of.options.mipmap.linear=線性
+of.options.mipmap.nearest=最近
+of.options.mipmap.trilinear=三線性
+
+options.mipmapLevels.tooltip.1=通éŽæŸ”和化æ質細節,使é 處的
+options.mipmapLevels.tooltip.2=物體看起來更好的視覺效果.
+options.mipmapLevels.tooltip.3= 關閉 - 無柔和化
+options.mipmapLevels.tooltip.4= 1 - 最å°æŸ”和化
+options.mipmapLevels.tooltip.5= 4 - 最大柔和化
+options.mipmapLevels.tooltip.6=æ¤é¸é …通常ä¸å½±éŸ¿æ€§èƒ½.
+
+of.options.MIPMAP_TYPE=多精度æ質類型
+of.options.MIPMAP_TYPE.tooltip.1=通éŽæŸ”和化æ質細節,使é 處的
+of.options.MIPMAP_TYPE.tooltip.2=物體看起來更好的視覺效果.
+of.options.MIPMAP_TYPE.tooltip.3= 最近 - 粗糙柔和化(最快)
+of.options.MIPMAP_TYPE.tooltip.4= 線性 - æ£å¸¸æŸ”和化
+of.options.MIPMAP_TYPE.tooltip.5= 雙線性 - 精細
+of.options.MIPMAP_TYPE.tooltip.6= 三線性 - 最佳柔和化(最慢)
+
+
+of.options.AA_LEVEL=抗鋸齒
+of.options.AA_LEVEL.tooltip.1=抗鋸齒
+of.options.AA_LEVEL.tooltip.2= 關閉 - (é è¨)無抗鋸齒(較快)
+of.options.AA_LEVEL.tooltip.3= 2-16 - å°ç·šå’Œé‚Šç·£ä½¿ç”¨æŠ—鋸齒(較慢)
+of.options.AA_LEVEL.tooltip.4=å鋸齒將平滑鋸齒線
+of.options.AA_LEVEL.tooltip.5=和銳利的色彩éŽæ¸¡.
+of.options.AA_LEVEL.tooltip.6=啟用它å¯èƒ½æœƒå¤§å¹…é™ä½ŽFPS.
+of.options.AA_LEVEL.tooltip.7=並éžæ‰€æœ‰ç´šåˆ¥éƒ½è¢«é¡¯å¡æ”¯æŒ.
+of.options.AA_LEVEL.tooltip.8=é‡å•Ÿå¾Œç”Ÿæ•ˆ!
+
+of.options.AF_LEVEL=å„å‘異性éŽæ¿¾
+of.options.AF_LEVEL.tooltip.1=å„å‘異性éŽæ¿¾
+of.options.AF_LEVEL.tooltip.2= 關閉 - (é è¨)標準æ質細節(較快)
+of.options.AF_LEVEL.tooltip.3= 2-16 - 為多級æ質éŽæ¿¾å¾Œçš„æ質æ供精細細節(較慢)
+of.options.AF_LEVEL.tooltip.4=å„å‘異性éŽæ¿¾é‚„原了經多級
+of.options.AF_LEVEL.tooltip.5=æ質éŽæ¿¾å¾Œçš„æ質細節.
+of.options.AF_LEVEL.tooltip.6=啟用它å¯èƒ½æœƒå¤§å¹…é™ä½ŽFPS.
+
+of.options.CLEAR_WATER=清澈水體
+of.options.CLEAR_WATER.tooltip.1=清澈水體
+of.options.CLEAR_WATER.tooltip.2= 關閉 - 清澈ã€é€æ˜Žæ°´é«”
+of.options.CLEAR_WATER.tooltip.3= é–‹å•Ÿ - é è¨æ°´é«”
+
+of.options.RANDOM_MOBS=隨機生物
+of.options.RANDOM_MOBS.tooltip.1=隨機生物
+of.options.RANDOM_MOBS.tooltip.2= 關閉 - 關閉隨機生物,較快
+of.options.RANDOM_MOBS.tooltip.3= 開啟 - 隨機生物,較慢
+of.options.RANDOM_MOBS.tooltip.4=éŠæˆ²ä¸çš„生物ã€æ€ªç‰©æ質使用隨機的貼圖.
+of.options.RANDOM_MOBS.tooltip.5=這需è¦è³‡æºåŒ…內有多個生物ã€æ€ªç‰©è²¼åœ–.
+
+of.options.BETTER_GRASS=更好的è‰åœ°
+of.options.BETTER_GRASS.tooltip.1=更好的è‰åœ°
+of.options.BETTER_GRASS.tooltip.2= 關閉 - é è¨è‰åœ°æ質,較快
+of.options.BETTER_GRASS.tooltip.3= 性能優先 - è‰æ–¹å¡Šå´é¢å…¨éƒ¨ä½¿ç”¨è‰åœ°æ質,較慢
+of.options.BETTER_GRASS.tooltip.4= 畫質優先 - è‰æ–¹å¡Šå´é¢æ質動態化,最慢
+
+of.options.BETTER_SNOW=更好的雪地
+of.options.BETTER_SNOW.tooltip.1=更好的雪地
+of.options.BETTER_SNOW.tooltip.2= 關閉 - é è¨çš„雪地,較快
+of.options.BETTER_SNOW.tooltip.3= 開啟 - 更好的雪地,較慢
+of.options.BETTER_SNOW.tooltip.4=在"é€æ˜Žæ–¹å¡Š"(如柵欄,高è‰)與雪
+of.options.BETTER_SNOW.tooltip.5=接壤時在其下顯示雪.
+
+of.options.CUSTOM_FONTS=自定義å—é«”
+of.options.CUSTOM_FONTS.tooltip.1=自定義å—é«”
+of.options.CUSTOM_FONTS.tooltip.2= é–‹å•Ÿ - 使用自定義å—é«”(é è¨),較慢
+of.options.CUSTOM_FONTS.tooltip.3= 關閉 - 使用é è¨å—é«”,較快
+of.options.CUSTOM_FONTS.tooltip.4=自定義å—體一般由
+of.options.CUSTOM_FONTS.tooltip.5=當å‰çš„資æºåŒ…æä¾›.
+
+of.options.CUSTOM_COLORS=自定義色彩
+of.options.CUSTOM_COLORS.tooltip.1=自定義色彩
+of.options.CUSTOM_COLORS.tooltip.2= é–‹å•Ÿ - 使用自定義色彩(é è¨),較慢
+of.options.CUSTOM_COLORS.tooltip.3= 關閉 - 使用é è¨è‰²å½©,較快
+of.options.CUSTOM_COLORS.tooltip.4=自定義色彩一般由
+of.options.CUSTOM_COLORS.tooltip.5=當å‰çš„資æºåŒ…æä¾›.
+
+of.options.SWAMP_COLORS=沼澤é¡è‰²
+of.options.SWAMP_COLORS.tooltip.1=沼澤é¡è‰²
+of.options.SWAMP_COLORS.tooltip.2= é–‹å•Ÿ - 使用沼澤é¡è‰²(é è¨),較慢
+of.options.SWAMP_COLORS.tooltip.3= 關閉 - ä¸ä½¿ç”¨æ²¼æ¾¤é¡è‰²,較快
+of.options.SWAMP_COLORS.tooltip.4=沼澤的é¡è‰²æœƒå½±éŸ¿è‰,樹葉,ç±è”“和水.
+
+of.options.SMOOTH_BIOMES=柔和化生物群è½
+of.options.SMOOTH_BIOMES.tooltip.1=柔和化生物群è½
+of.options.SMOOTH_BIOMES.tooltip.2= é–‹å•Ÿ - 柔和化生物群è½çš„é‚Šç•Œ(é è¨),較慢
+of.options.SMOOTH_BIOMES.tooltip.3= 關閉 - ä¸æŸ”和化生物群è½çš„é‚Šç•Œ,較快
+of.options.SMOOTH_BIOMES.tooltip.4=柔和化生物群è½çš„邊界平滑å–樣於
+of.options.SMOOTH_BIOMES.tooltip.5=附近所有方塊é¡è‰²çš„å¹³å‡å€¼.
+of.options.SMOOTH_BIOMES.tooltip.6=è‰ã€æ¨¹è‘‰ã€ç±è”“和水將會å—到影響.
+
+of.options.CONNECTED_TEXTURES=連接紋ç†
+of.options.CONNECTED_TEXTURES.tooltip.1=連接紋ç†
+of.options.CONNECTED_TEXTURES.tooltip.2= 關閉 - 關閉連續æ質(é è¨)
+of.options.CONNECTED_TEXTURES.tooltip.3= 性能優先 - 快速處ç†é€£çºŒæ質
+of.options.CONNECTED_TEXTURES.tooltip.4= 畫質優先 - 精細處ç†é€£çºŒæ質
+of.options.CONNECTED_TEXTURES.tooltip.5=連接æ質為玻璃ã€æ²™çŸ³å’Œæ›¸æž¶å¢žåŠ 了連續æ質,
+of.options.CONNECTED_TEXTURES.tooltip.6=當它們互相放在一起時會將æ質連接為一體.
+of.options.CONNECTED_TEXTURES.tooltip.7=連續æ質一般由
+of.options.CONNECTED_TEXTURES.tooltip.8=當å‰çš„資æºåŒ…æä¾›.
+
+of.options.NATURAL_TEXTURES=自然æ質
+of.options.NATURAL_TEXTURES.tooltip.1=自然æ質
+of.options.NATURAL_TEXTURES.tooltip.2= é–‹å•Ÿ - 關閉自然æ質(é è¨)
+of.options.NATURAL_TEXTURES.tooltip.3= 關閉 - 使用自然æ質
+of.options.NATURAL_TEXTURES.tooltip.4=自然æ質移除由åŒä¸€é¡žåž‹çš„
+of.options.NATURAL_TEXTURES.tooltip.5=方塊é‡è¤‡å‰µå»ºçš„æŸµæ ¼ç‹€åœ–æ¡ˆ.
+of.options.NATURAL_TEXTURES.tooltip.6=它通éŽæ—‹è½‰å’Œç¿»è½‰æ–¹å¡Šçš„基礎æ質來創建æ質變體.
+of.options.NATURAL_TEXTURES.tooltip.7=自然æ質的é…置和æ質一般由
+of.options.NATURAL_TEXTURES.tooltip.8=當å‰çš„資æºåŒ…æä¾›.
+
+of.options.CUSTOM_SKY=自定義天空
+of.options.CUSTOM_SKY.tooltip.1=自定義天空
+of.options.CUSTOM_SKY.tooltip.2= é–‹å•Ÿ - 自定義天空æ質(é è¨),較慢
+of.options.CUSTOM_SKY.tooltip.3= 關閉 - 默èªå¤©ç©ºæ質,較快
+of.options.CUSTOM_SKY.tooltip.4=自定義天空æ質一般由
+of.options.CUSTOM_SKY.tooltip.5=當å‰çš„資æºåŒ…æä¾›.
+
+of.options.CUSTOM_ITEMS=自定義物å“
+of.options.CUSTOM_ITEMS.tooltip.1=自定義物å“
+of.options.CUSTOM_ITEMS.tooltip.2= 關閉 - 自定義物å“æ質(é è¨),較慢
+of.options.CUSTOM_ITEMS.tooltip.3= é–‹å•Ÿ - 默èªç‰©å“æ質,較快
+of.options.CUSTOM_ITEMS.tooltip.4=自定義物å“æ質一般由
+of.options.CUSTOM_ITEMS.tooltip.5=當å‰çš„資æºåŒ…æä¾›.
+
+of.options.CUSTOM_ENTITY_MODELS=自定義實體模型
+of.options.CUSTOM_ENTITY_MODELS.tooltip.1=自定義實體模型
+of.options.CUSTOM_ENTITY_MODELS.tooltip.2= 關閉 - 自定義實體模型(é è¨),較慢
+of.options.CUSTOM_ENTITY_MODELS.tooltip.3= é–‹å•Ÿ - 默èªå¯¦é«”模型,較快
+of.options.CUSTOM_ENTITY_MODELS.tooltip.4=自定義實體模型æ質一般由
+of.options.CUSTOM_ENTITY_MODELS.tooltip.5=當å‰çš„資æºåŒ…æä¾›.
+
+# Details
+
+of.options.CLOUDS=雲塊
+of.options.CLOUDS.tooltip.1=雲塊
+of.options.CLOUDS.tooltip.2= é è¨ - 以圖åƒç•«è³ªçš„è¨å®šç‚ºæº–
+of.options.CLOUDS.tooltip.3= 性能優先 - 低å“質,較快
+of.options.CLOUDS.tooltip.4= 畫質優先 - 高å“質,較慢
+of.options.CLOUDS.tooltip.5= 關閉 - 沒有雲, 最快
+of.options.CLOUDS.tooltip.6=性能優先的雲塊使用2D渲染.
+of.options.CLOUDS.tooltip.7=畫質優先的雲塊使用3D渲染.
+
+of.options.CLOUD_HEIGHT=雲層高度
+of.options.CLOUD_HEIGHT.tooltip.1=雲層高度
+of.options.CLOUD_HEIGHT.tooltip.2= 關閉 - é è¨é«˜åº¦
+of.options.CLOUD_HEIGHT.tooltip.3= 100%% - 超éŽä¸–ç•Œé™å®šé«˜åº¦
+
+of.options.TREES=樹
+of.options.TREES.tooltip.1=樹
+of.options.TREES.tooltip.2= é è¨ - 以圖åƒç•«è³ªè¨å®šç‚ºæ¨™æº–
+of.options.TREES.tooltip.3= 性能優先 - 低å“質, 最快
+of.options.TREES.tooltip.4= 智能 - 較高å“質, 較快
+of.options.TREES.tooltip.4= 畫質優先 - 高å“質, 較慢
+of.options.TREES.tooltip.5=性能優先的樹葉ä¸é€æ˜Ž.
+of.options.TREES.tooltip.6=畫質優先的樹葉é€æ˜Ž.
+
+of.options.RAIN=雨 & 雪
+of.options.RAIN.tooltip.1=雨 & 雪
+of.options.RAIN.tooltip.2= é è¨ - 以圖åƒç•«è³ªçš„è¨å®šç‚ºæº–
+of.options.RAIN.tooltip.3= 性能優先 - å°‘é‡çš„雨/雪,較快
+of.options.RAIN.tooltip.4= 畫質優先 - 大é‡çš„雨/雪,較慢
+of.options.RAIN.tooltip.5= 關閉 - 沒有雨/雪, 最快
+of.options.RAIN.tooltip.6=當雨雪é¸é …為 關閉 時,
+of.options.RAIN.tooltip.7=雨è²ä»ç„¶å˜åœ¨.
+
+of.options.SKY=天空
+of.options.SKY.tooltip.1=天空
+of.options.SKY.tooltip.2= é–‹å•Ÿ - 天空å¯è¦‹,較慢
+of.options.SKY.tooltip.3= 關閉 - 天空ä¸å¯è¦‹,較快
+of.options.SKY.tooltip.4=當天空關閉時,月亮和太陽ä¾ç„¶å¯è¦‹.
+
+of.options.STARS=星星
+of.options.STARS.tooltip.1=星星
+of.options.STARS.tooltip.2= é–‹å•Ÿ - 星星å¯è¦‹,較慢
+of.options.STARS.tooltip.3= 關閉 - 星星ä¸å¯è¦‹,較快
+
+of.options.SUN_MOON=太陽 & 月亮
+of.options.SUN_MOON.tooltip.1=太陽 & 月亮
+of.options.SUN_MOON.tooltip.2= é–‹å•Ÿ - 太陽和月亮å¯è¦‹(é è¨)
+of.options.SUN_MOON.tooltip.3= 關閉 - 太陽和月亮ä¸å¯è¦‹(較快)
+
+of.options.SHOW_CAPES=顯示披風
+of.options.SHOW_CAPES.tooltip.1=顯示披風
+of.options.SHOW_CAPES.tooltip.2= é–‹å•Ÿ - 顯示玩家披風(默èª)
+of.options.SHOW_CAPES.tooltip.3= 關閉 - ä¸é¡¯ç¤ºçŽ©å®¶æŠ«é¢¨
+
+of.options.TRANSLUCENT_BLOCKS=åŠé€æ˜Žæ–¹å¡Š
+of.options.TRANSLUCENT_BLOCKS.tooltip.1=åŠé€æ˜Žæ–¹å¡Š
+of.options.TRANSLUCENT_BLOCKS.tooltip.2= 畫質優先 - 準確的混åˆé¡è‰²(é è¨)
+of.options.TRANSLUCENT_BLOCKS.tooltip.3= 性能優先 - 快速的混åˆé¡è‰²(較快)
+of.options.TRANSLUCENT_BLOCKS.tooltip.4=控制有é¡è‰²çš„
+of.options.TRANSLUCENT_BLOCKS.tooltip.5=åŠé€æ˜Žæ–¹å¡Š (彩色玻璃,æ°´,冰)
+of.options.TRANSLUCENT_BLOCKS.tooltip.6=當它們互相放置在一起或åŠç©ºä¹‹é–“.
+
+of.options.HELD_ITEM_TOOLTIPS=æŒæœ‰ç‰©ä¿¡æ¯é¡¯ç¤º
+of.options.HELD_ITEM_TOOLTIPS.tooltip.1=æŒæœ‰ç‰©ä¿¡æ¯é¡¯ç¤º
+of.options.HELD_ITEM_TOOLTIPS.tooltip.2= é–‹å•Ÿ - 顯示æŒæœ‰ç‰©ä¿¡æ¯(é è¨)
+of.options.HELD_ITEM_TOOLTIPS.tooltip.3= 關閉 - éš±è—æŒæœ‰ç‰©ä¿¡æ¯
+
+of.options.ADVANCED_TOOLTIPS=高級資訊æ示
+of.options.ADVANCED_TOOLTIPS.tooltip.1=高級資訊æ示
+of.options.ADVANCED_TOOLTIPS.tooltip.2= é–‹å•Ÿ - 顯示高級資訊æ示
+of.options.ADVANCED_TOOLTIPS.tooltip.3= 關閉 - éš±è—高級資訊æ示(é è¨)
+of.options.ADVANCED_TOOLTIPS.tooltip.4=高級資訊æ示顯示物å“
+of.options.ADVANCED_TOOLTIPS.tooltip.5=(IDã€è€ä¹…度)和光影è¨å®š
+of.options.ADVANCED_TOOLTIPS.tooltip.6=(IDã€æºã€é è¨å€¼)的拓展資訊.
+
+of.options.DROPPED_ITEMS=掉è½ç‰©å“
+of.options.DROPPED_ITEMS.tooltip.1=掉è½ç‰©å“
+of.options.DROPPED_ITEMS.tooltip.2= é è¨ - 以圖åƒç•«è³ªçš„è¨å®šç‚ºæº–
+of.options.DROPPED_ITEMS.tooltip.3= 性能優先 - 2D掉è½ç‰©å“, 較快
+of.options.DROPPED_ITEMS.tooltip.4= 畫質優先 - 3D掉è½ç‰©å“, 較慢
+
+options.entityShadows.tooltip.1=實體陰影
+options.entityShadows.tooltip.2= 開啟 - 顯示實體陰影
+options.entityShadows.tooltip.3= 關閉 - éš±è—實體陰影
+
+of.options.VIGNETTE=暈影
+of.options.VIGNETTE.tooltip.1=螢幕四角輕微變暗的視覺效果
+of.options.VIGNETTE.tooltip.2= é è¨ - 以圖åƒç•«è³ªçš„è¨å®šç‚ºæº–(é è¨)
+of.options.VIGNETTE.tooltip.3= 性能優先 - 暈影關閉(較快)
+of.options.VIGNETTE.tooltip.4= 畫質優先 - 暈影開啟(較慢)
+of.options.VIGNETTE.tooltip.5=暈影å¯èƒ½å°FPS有顯著的影響,
+of.options.VIGNETTE.tooltip.6=尤其是全螢幕éŠæˆ²çš„時候.
+of.options.VIGNETTE.tooltip.7=暈影的效果是éžå¸¸ç´°å¾®çš„
+of.options.VIGNETTE.tooltip.8=並且是å¯ä»¥è¢«å®‰å…¨åœ°ç¦ç”¨.
+
+of.options.DYNAMIC_FOV=å‹•æ…‹è¦–å ´
+of.options.DYNAMIC_FOV.tooltip.1=å‹•æ…‹è¦–å ´
+of.options.DYNAMIC_FOV.tooltip.2= é–‹å•Ÿ - å•Ÿç”¨å‹•æ…‹è¦–å ´(é è¨)
+of.options.DYNAMIC_FOV.tooltip.3= 關閉 - ç¦ç”¨å‹•æ…‹è¦–å ´
+of.options.DYNAMIC_FOV.tooltip.4=當æ£åœ¨é£›è¡Œã€ç–¾è·‘或
+of.options.DYNAMIC_FOV.tooltip.5=æ‹‰å¼“æ™‚æ”¹è®Šè¦–å ´.
+
+of.options.DYNAMIC_LIGHTS=å‹•æ…‹å…‰æº
+of.options.DYNAMIC_LIGHTS.tooltip.1=å‹•æ…‹å…‰æº
+of.options.DYNAMIC_LIGHTS.tooltip.2= 關閉 - ç„¡å‹•æ…‹å…‰æº(é è¨)
+of.options.DYNAMIC_LIGHTS.tooltip.3= 性能優先 - 較快的動態光æº(æ¯500ms更新一次)
+of.options.DYNAMIC_LIGHTS.tooltip.4= 畫質優先 - 高å“質的動態光æº(å³æ™‚æ›´æ–°)
+of.options.DYNAMIC_LIGHTS.tooltip.5=å…許發光的物å“(ç«æŠŠ,螢石ç‰)
+of.options.DYNAMIC_LIGHTS.tooltip.6=當被玩家左å³æ‰‹æŒæ¡ã€è£å‚™æˆ–
+of.options.DYNAMIC_LIGHTS.tooltip.7=æˆçˆ²æŽ‰è½ç‰©æ™‚照亮周åœçš„一切.
+
+# Performance
+
+of.options.SMOOTH_FPS=柔和化FPS
+of.options.SMOOTH_FPS.tooltip.1=通éŽæ¸…除圖形å¡ç·©è¡å€ä¾†ç©©å®šFPS
+of.options.SMOOTH_FPS.tooltip.2= é–‹å•Ÿ - ä¸ç©©å®š,FPSå¯èƒ½æ³¢å‹•
+of.options.SMOOTH_FPS.tooltip.3= 關閉 - FPS穩定
+of.options.SMOOTH_FPS.tooltip.4=æ¤é¸é …ä¾è³´æ–¼é¡¯å¡é©…å‹•
+of.options.SMOOTH_FPS.tooltip.5=通常效果並ä¸æ˜Žé¡¯.
+
+of.options.SMOOTH_WORLD=柔和化世界
+of.options.SMOOTH_WORLD.tooltip.1=移除內部æœå‹™é€ æˆçš„數據延時.
+of.options.SMOOTH_WORLD.tooltip.2= é–‹å•Ÿ - ä¸ç©©å®š,FPSå¯èƒ½æ³¢å‹•
+of.options.SMOOTH_WORLD.tooltip.3= 關閉 - FPS穩定
+of.options.SMOOTH_WORLD.tooltip.4=分擔內部æœå‹™å™¨è² 載來穩定FPS.
+of.options.SMOOTH_WORLD.tooltip.5=åªåœ¨æœ¬åœ°ä¸–ç•Œ(單人éŠæˆ²)有效.
+
+of.options.FAST_RENDER=快速渲染
+of.options.FAST_RENDER.tooltip.1=快速渲染
+of.options.FAST_RENDER.tooltip.2= é–‹å•Ÿ - 標準渲染(é è¨)
+of.options.FAST_RENDER.tooltip.3= 關閉 - 優化渲染(較快)
+of.options.FAST_RENDER.tooltip.4=採用優化渲染算法從而é™ä½ŽGPUçš„è² è¼‰
+of.options.FAST_RENDER.tooltip.5=並且å¯èƒ½å¤§å¹…æå‡FPS.
+
+of.options.FAST_MATH=快速é‹ç®—
+of.options.FAST_MATH.tooltip.1=快速é‹ç®—
+of.options.FAST_MATH.tooltip.2= é–‹å•Ÿ - 標準的é‹ç®—(é è¨)
+of.options.FAST_MATH.tooltip.3= 關開啟閉 - æ›´å¿«çš„é‹ç®—
+of.options.FAST_MATH.tooltip.4=採用優化的sin()å’Œcos()函數å¯ä»¥
+of.options.FAST_MATH.tooltip.5=更好的利用CPUç·©å˜ä¸¦ä¸”æå‡FPS.
+
+of.options.CHUNK_UPDATES=å€å¡Šæ›´æ–°
+of.options.CHUNK_UPDATES.tooltip.1=å€å¡Šæ›´æ–°
+of.options.CHUNK_UPDATES.tooltip.2= 1 - 世界載入速度較慢, FPS較高 (é è¨)
+of.options.CHUNK_UPDATES.tooltip.3= 3 - 世界載入速度較快, FPS較低
+of.options.CHUNK_UPDATES.tooltip.4= 5 - 世界載入速度最快, FPS最低
+of.options.CHUNK_UPDATES.tooltip.5=渲染æ¯å¹€æ™‚æ›´æ–°çš„å€å¡Šæ•¸,
+of.options.CHUNK_UPDATES.tooltip.6=更高的值將會導致FPSä¸ç©©å®š.
+
+of.options.CHUNK_UPDATES_DYNAMIC=å‹•æ…‹æ›´æ–°
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.1=å‹•æ…‹æ›´æ–°
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.2= 關閉 - (é è¨)æ¯å¹€æ¨™æº–å€å¡Šæ›´æ–°
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.3= é–‹å•Ÿ - 當玩家站立ä¸å‹•æ™‚更多的å€å¡Šæ›´æ–°
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.4=當玩家站立ä¸å‹•æ™‚會使更多的
+of.options.CHUNK_UPDATES_DYNAMIC.tooltip.5=å€å¡Šæ›´æ–°ä½¿å¾—世界載入更快.
+
+of.options.LAZY_CHUNK_LOADING=平緩å€å¡Šæ›´æ–°
+of.options.LAZY_CHUNK_LOADING.tooltip.1=平緩å€å¡Šæ›´æ–°
+of.options.LAZY_CHUNK_LOADING.tooltip.2= 關閉 - 默èªçš„æœå‹™å™¨å€å¡Šè¼‰å…¥
+of.options.LAZY_CHUNK_LOADING.tooltip.3= é–‹å•Ÿ - 平緩æœå‹™å™¨å€å¡Šè¼‰å…¥(更柔和)
+of.options.LAZY_CHUNK_LOADING.tooltip.4=å°‡å€å¡Šåˆ†ä½ˆåœ¨å¤šå€‹"éŠæˆ²åˆ»"進行載入
+of.options.LAZY_CHUNK_LOADING.tooltip.5=從而柔和化æœå‹™å™¨æ•´é«”å€å¡Šè¼‰å…¥.
+of.options.LAZY_CHUNK_LOADING.tooltip.6=如果部分世界ä¸èƒ½æ£ç¢ºçš„載入,請把它è¨ç½®ç‚ºé—œé–‰.
+of.options.LAZY_CHUNK_LOADING.tooltip.7=僅é©ç”¨æ–¼æœ¬åœ°ä¸–ç•Œå’Œå–®æ ¸CPU的電腦.
+
+# Animations
+
+of.options.animation.allOn=全部開啟
+of.options.animation.allOff=全部關閉
+of.options.animation.dynamic=å‹•æ…‹
+
+of.options.ANIMATED_WATER=æ°´é¢å‹•ç•«
+of.options.ANIMATED_LAVA=岩漿動畫
+of.options.ANIMATED_FIRE=ç«ç„°å‹•ç•«
+of.options.ANIMATED_PORTAL=傳é€é–€å‹•ç•«
+of.options.ANIMATED_REDSTONE=紅石動畫
+of.options.ANIMATED_EXPLOSION=爆炸動畫
+of.options.ANIMATED_FLAME=燃燒動畫
+of.options.ANIMATED_SMOKE=煙霧動畫
+of.options.VOID_PARTICLES=虛空粒å
+of.options.WATER_PARTICLES=水濺粒å
+of.options.RAIN_SPLASH=雨滴飛濺
+of.options.PORTAL_PARTICLES=傳é€é–€ç²’å
+of.options.POTION_PARTICLES=藥水粒å
+of.options.DRIPPING_WATER_LAVA=æµå‹•æ°´/岩漿
+of.options.ANIMATED_TERRAIN=地形動畫
+of.options.ANIMATED_TEXTURES=æ質動畫
+of.options.FIREWORK_PARTICLES=煙花粒å
+
+# Other
+
+of.options.LAGOMETER=快速調試信æ¯
+of.options.LAGOMETER.tooltip.1=在調試界é¢é¡¯ç¤ºèª¿è©¦ä¿¡æ¯ (F3).
+of.options.LAGOMETER.tooltip.2=* æ©™ - å…§å˜åžƒåœ¾å›žæ”¶
+of.options.LAGOMETER.tooltip.3=* é’ - 勾
+of.options.LAGOMETER.tooltip.4=* è— - é 定的å¯åŸ·è¡Œæ–‡ä»¶
+of.options.LAGOMETER.tooltip.5=* ç´« - å€å¡Šè¼‰å…¥
+of.options.LAGOMETER.tooltip.6=* ç´… - å€å¡Šæ›´æ–°
+of.options.LAGOMETER.tooltip.7=* 黃 - 能見度檢查
+of.options.LAGOMETER.tooltip.8=* ç¶ - 渲染地形
+
+of.options.PROFILER=調試分æžå™¨
+of.options.PROFILER.tooltip.1=調試分æžå™¨
+of.options.PROFILER.tooltip.2= é–‹å•Ÿ - 調試分æžå™¨å•Ÿç”¨, 較慢
+of.options.PROFILER.tooltip.3= 關閉 - 調試分æžå™¨ç¦ç”¨, 較快
+of.options.PROFILER.tooltip.4=在調試界é¢é–‹å•Ÿç‹€æ…‹(F3)時
+of.options.PROFILER.tooltip.5=調試分æžå™¨æ”¶é›†ä¸¦ä¸”顯示調試信æ¯.
+
+of.options.WEATHER=天氣
+of.options.WEATHER.tooltip.1=天氣
+of.options.WEATHER.tooltip.2= 開啟 - 開啟天氣, 較慢
+of.options.WEATHER.tooltip.3= 關閉 - 關閉天氣, 較快
+of.options.WEATHER.tooltip.4=天氣é¸é …影響雨,雪和雷電.
+of.options.WEATHER.tooltip.5=天氣é¸é …僅在本地éŠæˆ²ä¸ç”Ÿæ•ˆ.
+
+of.options.time.dayOnly=白天
+of.options.time.nightOnly=夜晚
+
+of.options.TIME=時間
+of.options.TIME.tooltip.1=時間
+of.options.TIME.tooltip.2= é è¨ - æ£å¸¸çš„日夜交替
+of.options.TIME.tooltip.3= 白天 - åªæœ‰ç™½å¤©
+of.options.TIME.tooltip.4= 夜晚 - åªæœ‰å¤œæ™š
+of.options.TIME.tooltip.5=時間è¨ç½®åªåœ¨å‰µé€ 模å¼ä¸‹
+of.options.TIME.tooltip.6=且為本地éŠæˆ²æ™‚有效.
+
+options.fullscreen.tooltip.1=全螢幕
+options.fullscreen.tooltip.2= é–‹å•Ÿ - 使用全螢幕模å¼
+options.fullscreen.tooltip.3= 關閉 - 使用視窗模å¼
+options.fullscreen.tooltip.4=全螢幕模å¼å¯èƒ½æ¯”視窗模å¼æ›´å¿«
+options.fullscreen.tooltip.5=或者更慢,這å–決於顯å¡.
+
+of.options.FULLSCREEN_MODE=全螢幕模å¼
+of.options.FULLSCREEN_MODE.tooltip.1=全螢幕模å¼
+of.options.FULLSCREEN_MODE.tooltip.2= é è¨ - 使用桌é¢åˆ†è¾¨çŽ‡, 較慢
+of.options.FULLSCREEN_MODE.tooltip.3= 自定義 - 使用自定義螢幕分辨率, å¯èƒ½æœƒè¼ƒå¿«
+of.options.FULLSCREEN_MODE.tooltip.4=這個é¸é …åªæœ‰åœ¨å…¨èž¢å¹•æ¨¡å¼ä¸‹ç”Ÿæ•ˆ(F11).
+of.options.FULLSCREEN_MODE.tooltip.5=較低的分辨率通常會更快.
+
+of.options.SHOW_FPS=顯示FPS
+of.options.SHOW_FPS.tooltip.1=é¡¯ç¤ºè¿·ä½ çš„FPS和渲染信æ¯
+of.options.SHOW_FPS.tooltip.2= C: - å€å¡Šæ¸²æŸ“器
+of.options.SHOW_FPS.tooltip.3= E: - 一般實體 + 方塊實體
+of.options.SHOW_FPS.tooltip.4= U: - å€å¡Šæ›´æ–°
+of.options.SHOW_FPS.tooltip.5=åªæœ‰èª¿è©¦èž¢å¹•éš±è—時
+of.options.SHOW_FPS.tooltip.6=è¿·ä½ FPSä¿¡æ¯æ‰æœƒé¡¯ç¤º.
+
+of.options.save.default=é è¨(2秒)
+of.options.save.20s=20秒
+of.options.save.3min=3分é˜
+of.options.save.30min=30分é˜
+
+of.options.AUTOSAVE_TICKS=自動ä¿å˜
+of.options.AUTOSAVE_TICKS.tooltip.1=自動ä¿å˜é–“éš”
+of.options.AUTOSAVE_TICKS.tooltip.2=默èªè‡ªå‹•ä¿å˜é–“éš”(2秒) ä¸æŽ¨è–¦.
+of.options.AUTOSAVE_TICKS.tooltip.3=自動ä¿å˜æœƒå°Žè‡´å¡é “.
+
+of.options.SCREENSHOT_SIZE=截圖尺寸
+of.options.SCREENSHOT_SIZE.tooltip.1=截圖尺寸
+of.options.SCREENSHOT_SIZE.tooltip.2= é è¨ - é è¨èªçš„截圖尺寸
+of.options.SCREENSHOT_SIZE.tooltip.3= 2x-4x - 自定義截圖尺寸
+of.options.SCREENSHOT_SIZE.tooltip.4=抓å–更大的截圖å¯èƒ½éœ€è¦æ›´å¤šçš„記憶體.
+of.options.SCREENSHOT_SIZE.tooltip.5=與快速渲染åŠæŠ—鋸齒ä¸ç›¸å®¹.
+of.options.SCREENSHOT_SIZE.tooltip.6=需è¦é¡¯å¡å¹€ç·©è¡å€æ”¯æŒ.
diff --git a/src/main/resources/assets/minecraft/optifine/natural.properties b/src/main/resources/assets/minecraft/optifine/natural.properties
new file mode 100644
index 00000000..54bf8059
--- /dev/null
+++ b/src/main/resources/assets/minecraft/optifine/natural.properties
@@ -0,0 +1,81 @@
+# Configuration for OptiFine's Natural Textures feature
+# Location: /assets/minecraft/optifine/natural.properties
+#
+# Configuration format
+# =
+#
+# Values
+# 4 = Rotate x 90° (4 variants)
+# 2 = Rotate x 180° (2 variants)
+# F = Flip texture horizontally (2 variants)
+# 4F = 4 + Flip (8 variants)
+# 2F = 2 + Flip (4 variants)
+#
+# Example for obsidian texture which can rotate with 4 variants and flip
+# obsidian = 4F
+#
+
+# Grass
+grass_side = F
+grass_side_overlay = F
+grass_side_snowed = F
+mycelium_side = F
+mycelium_top = 4F
+# Snow
+snow = 4F
+# Dirt
+coarse_dirt = 4F
+dirt_podzol_top = 4F
+farmland_wet = 2F
+farmland_dry = 2F
+# Stone
+stone_granite = 2F
+stone_diorite = 2F
+stone_andesite = 2F
+sandstone_top = 4
+sandstone_bottom = 4F
+stone_slab_top = F
+end_stone = 4
+# Gravel
+gravel = 2
+clay = 4F
+# Logs
+log_oak = 2F
+log_spruce = 2F
+log_birch = F
+log_jungle = 2F
+log_acacia = 2F
+log_big_oak = 2F
+log_oak_top = 4F
+log_spruce_top = 4F
+log_birch_top = 4F
+log_jungle_top = 4F
+log_acacia_top = 4F
+log_big_oak_top = 4F
+# Leaves
+leaves_oak = 2F
+leaves_spruce = 2F
+leaves_birch = 2F
+leaves_jungle = 2
+leaves_big_oak = 2F
+leaves_acacia = 2F
+# Ores
+gold_ore = 2F
+iron_ore = 2F
+coal_ore = 2F
+diamond_ore = 2F
+redstone_ore = 2F
+lapis_ore = 2F
+# Nether
+netherrack = 4F
+quartz_ore = 2
+soul_sand = 4F
+glowstone = 4
+# Redstone
+redstone_lamp_on = 4F
+redstone_lamp_off = 4F
+# Prismarine
+prismarine_rough = 4F
+# Misc
+obsidian = 4F
+cactus_side = 2F
\ No newline at end of file
diff --git a/workspace/Athena/emote_settings.txt b/workspace/Athena/emote_settings.txt
new file mode 100644
index 00000000..cad598f9
--- /dev/null
+++ b/workspace/Athena/emote_settings.txt
@@ -0,0 +1,6 @@
+Enabled::true
+Bind::47
+Emote1::star_power
+Emote2::
+Emote3::
+Emote4::
\ No newline at end of file
diff --git a/workspace/Athena/mod-configs/emotes/keys.json b/workspace/Athena/mod-configs/emotes/keys.json
new file mode 100644
index 00000000..3e982c45
--- /dev/null
+++ b/workspace/Athena/mod-configs/emotes/keys.json
@@ -0,0 +1,10 @@
+{
+ "emotes": [
+ "default",
+ "dab",
+ "confused",
+ "pure_salt",
+ "wave",
+ "star_power"
+ ]
+}
\ No newline at end of file
diff --git a/workspace/crash-reports/crash-2023-06-01_21.48.20-client.txt b/workspace/crash-reports/crash-2023-06-01_21.48.20-client.txt
deleted file mode 100644
index 62ce4c2e..00000000
--- a/workspace/crash-reports/crash-2023-06-01_21.48.20-client.txt
+++ /dev/null
@@ -1,97 +0,0 @@
----- Minecraft Crash Report ----
-// Who set us up the TNT?
-
-Time: 6/1/23 9:48 PM
-Description: Rendering screen
-
-java.lang.ExceptionInInitializerError
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
- at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1389)
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1131)
- at net.minecraft.client.Minecraft.run(Minecraft.java:423)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-Caused by: java.lang.NullPointerException
- at rip.athena.client.font.CustomFont.setupTexture(CustomFont.java:43)
- at rip.athena.client.font.CustomFont.(CustomFont.java:32)
- at rip.athena.client.font.FontUtils.(FontUtils.java:37)
- at rip.athena.client.font.FontUtils.(FontUtils.java:33)
- at rip.athena.client.font.FontManager.(FontManager.java:8)
- ... 6 more
-
-
-A detailed walkthrough of the error, its code path and all known details is as follows:
----------------------------------------------------------------------------------------
-
--- Head --
-Stacktrace:
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
-
--- Screen render details --
-Details:
- Screen name: rip.athena.client.gui.hud.IngameMenu
- Mouse location: Scaled: (240, 126). Absolute: (960, 504)
- Screen size: Scaled: (480, 253). Absolute: (1920, 1009). Scale factor of 4
-
--- Affected level --
-Details:
- Level name: MpServer
- All players: 1 total; [EntityPlayerSP['Player196'/108, l='MpServer', x=590.50, y=67.00, z=164.50]]
- Chunk stats: MultiplayerChunkCache: 160, 160
- Level seed: 0
- Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false
- Level generator options:
- Level spawn location: 584.00,64.00,166.00 - World: (584,64,166), Chunk: (at 8,4,6 in 36,10; contains blocks 576,0,160 to 591,255,175), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
- Level time: 1641 game time, 1021 day time
- Level dimension: 0
- Level storage version: 0x00000 - Unknown?
- Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
- Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
- Forced entities: 22 total; [EntityBat['Bat'/258, l='MpServer', x=514.53, y=39.00, z=199.97], EntityBat['Bat'/323, l='MpServer', x=648.69, y=24.32, z=213.18], EntityBat['Bat'/293, l='MpServer', x=585.29, y=54.05, z=138.68], EntityCreeper['Creeper'/647, l='MpServer', x=518.50, y=48.00, z=212.50], EntityZombie['Zombie'/648, l='MpServer', x=511.50, y=48.00, z=214.50], EntitySkeleton['Skeleton'/649, l='MpServer', x=525.50, y=25.00, z=148.50], EntityBat['Bat'/522, l='MpServer', x=534.03, y=23.10, z=134.59], EntityBat['Bat'/523, l='MpServer', x=533.64, y=23.06, z=141.55], EntityBat['Bat'/524, l='MpServer', x=533.96, y=23.06, z=135.76], EntitySkeleton['Skeleton'/556, l='MpServer', x=516.50, y=35.00, z=96.50], EntityBat['Bat'/279, l='MpServer', x=648.28, y=22.34, z=223.60], EntityBat['Bat'/376, l='MpServer', x=629.56, y=15.36, z=221.50], EntityZombie['Zombie'/505, l='MpServer', x=563.50, y=24.00, z=165.50], EntitySquid['Squid'/155, l='MpServer', x=541.44, y=62.00, z=130.38], EntityPlayerSP['Player196'/108, l='MpServer', x=590.50, y=67.00, z=164.50], EntityBat['Bat'/316, l='MpServer', x=565.55, y=38.13, z=160.79], EntitySquid['Squid'/156, l='MpServer', x=541.44, y=62.00, z=131.59], EntityBat['Bat'/317, l='MpServer', x=565.83, y=38.44, z=163.30], EntitySquid['Squid'/157, l='MpServer', x=541.50, y=62.00, z=133.50], EntityBat['Bat'/318, l='MpServer', x=562.15, y=38.50, z=164.25], EntitySquid['Squid'/158, l='MpServer', x=542.63, y=62.00, z=131.53], EntityBat['Bat'/319, l='MpServer', x=566.01, y=38.50, z=160.88]]
- Retry entities: 0 total; []
- Server brand: vanilla
- Server type: Integrated singleplayer server
-Stacktrace:
- at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:401)
- at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2754)
- at net.minecraft.client.Minecraft.run(Minecraft.java:444)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-
--- System Details --
-Details:
- Minecraft Version: 1.8.8
- Operating System: Windows 10 (amd64) version 10.0
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- Java Version: 1.8.0_202, Oracle Corporation
- Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
- Memory: 543058960 bytes (517 MB) / 934281216 bytes (891 MB) up to 3801088000 bytes (3625 MB)
- JVM Flags: 0 total;
- IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 99
- Launched Version: mcp
- LWJGL: 2.9.4
- OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 4.6.0 NVIDIA 532.03, NVIDIA Corporation
- GL Caps: Using GL 1.3 multitexturing.
-Using GL 1.3 texture combiners.
-Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
-Shaders are available because OpenGL 2.1 is supported.
-VBOs are available because OpenGL 1.5 is supported.
-
- Using VBOs: No
- Is Modded: Very likely; Jar signature invalidated
- Type: Client (map_client.txt)
- Resource Packs:
- Current Language: English (US)
- Profiler Position: N/A (disabled)
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- OptiFine Version: OptiFine_1.8.8_HD_U_H8
- Render Distance Chunks: 12
- Mipmaps: 4
- Anisotropic Filtering: 1
- Antialiasing: 0
- Multitexture: false
- Shaders: null
- OpenGlVersion: 4.6.0 NVIDIA 532.03
- OpenGlRenderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2
- OpenGlVendor: NVIDIA Corporation
- CpuCount: 12
\ No newline at end of file
diff --git a/workspace/crash-reports/crash-2023-06-01_21.51.54-client.txt b/workspace/crash-reports/crash-2023-06-01_21.51.54-client.txt
deleted file mode 100644
index 34b7f09d..00000000
--- a/workspace/crash-reports/crash-2023-06-01_21.51.54-client.txt
+++ /dev/null
@@ -1,97 +0,0 @@
----- Minecraft Crash Report ----
-// This doesn't make any sense!
-
-Time: 6/1/23 9:51 PM
-Description: Rendering screen
-
-java.lang.ExceptionInInitializerError
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
- at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1389)
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1131)
- at net.minecraft.client.Minecraft.run(Minecraft.java:423)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-Caused by: java.lang.NullPointerException
- at rip.athena.client.font.CustomFont.setupTexture(CustomFont.java:43)
- at rip.athena.client.font.CustomFont.(CustomFont.java:32)
- at rip.athena.client.font.FontUtils.(FontUtils.java:37)
- at rip.athena.client.font.FontUtils.(FontUtils.java:33)
- at rip.athena.client.font.FontManager.(FontManager.java:8)
- ... 6 more
-
-
-A detailed walkthrough of the error, its code path and all known details is as follows:
----------------------------------------------------------------------------------------
-
--- Head --
-Stacktrace:
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
-
--- Screen render details --
-Details:
- Screen name: rip.athena.client.gui.hud.IngameMenu
- Mouse location: Scaled: (213, 119). Absolute: (427, 240)
- Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2
-
--- Affected level --
-Details:
- Level name: MpServer
- All players: 1 total; [EntityPlayerSP['Player67'/185, l='MpServer', x=590.50, y=67.00, z=164.50]]
- Chunk stats: MultiplayerChunkCache: 240, 240
- Level seed: 0
- Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false
- Level generator options:
- Level spawn location: 584.00,64.00,166.00 - World: (584,64,166), Chunk: (at 8,4,6 in 36,10; contains blocks 576,0,160 to 591,255,175), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
- Level time: 1672 game time, 1052 day time
- Level dimension: 0
- Level storage version: 0x00000 - Unknown?
- Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
- Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
- Forced entities: 35 total; [EntityBat['Bat'/644, l='MpServer', x=592.50, y=19.42, z=170.41], EntityZombie['Zombie'/653, l='MpServer', x=513.50, y=32.00, z=213.50], EntityZombie['Zombie'/654, l='MpServer', x=512.50, y=32.00, z=213.50], EntityBat['Bat'/400, l='MpServer', x=647.34, y=24.03, z=215.05], EntityBat['Bat'/275, l='MpServer', x=564.40, y=52.15, z=133.23], EntityBat['Bat'/277, l='MpServer', x=564.91, y=52.06, z=133.58], EntityBat['Bat'/279, l='MpServer', x=567.48, y=52.69, z=133.45], EntityBat['Bat'/280, l='MpServer', x=570.45, y=52.93, z=132.25], EntityBat['Bat'/285, l='MpServer', x=639.47, y=31.41, z=195.80], EntityZombie['Zombie'/289, l='MpServer', x=617.50, y=36.00, z=181.50], EntityCreeper['Creeper'/674, l='MpServer', x=549.50, y=56.00, z=175.50], EntityCreeper['Creeper'/291, l='MpServer', x=559.50, y=24.00, z=168.50], EntityBat['Bat'/43, l='MpServer', x=563.95, y=40.15, z=161.85], EntityBat['Bat'/565, l='MpServer', x=532.57, y=51.92, z=226.50], EntityBat['Bat'/569, l='MpServer', x=640.49, y=38.63, z=144.49], EntityBat['Bat'/578, l='MpServer', x=646.84, y=30.27, z=194.05], EntityZombie['Zombie'/842, l='MpServer', x=670.50, y=19.00, z=205.50], EntityCreeper['Creeper'/843, l='MpServer', x=669.50, y=19.00, z=204.50], EntitySkeleton['Skeleton'/723, l='MpServer', x=623.50, y=37.00, z=179.50], EntityBat['Bat'/106, l='MpServer', x=649.47, y=23.50, z=223.53], EntityBat['Bat'/107, l='MpServer', x=644.81, y=24.81, z=209.41], EntityPlayerSP['Player67'/185, l='MpServer', x=590.50, y=67.00, z=164.50], EntityFallingBlock['Falling Block'/879, l='MpServer', x=468.50, y=11.80, z=66.50], EntityFallingBlock['Falling Block'/880, l='MpServer', x=466.50, y=10.73, z=66.50], EntityFallingBlock['Falling Block'/881, l='MpServer', x=467.50, y=11.80, z=66.50], EntityFallingBlock['Falling Block'/882, l='MpServer', x=467.50, y=10.80, z=65.50], EntityZombie['Zombie'/499, l='MpServer', x=573.50, y=40.00, z=153.50], EntityFallingBlock['Falling Block'/883, l='MpServer', x=466.50, y=9.80, z=65.50], EntityFallingBlock['Falling Block'/884, l='MpServer', x=468.50, y=11.80, z=65.50], EntityFallingBlock['Falling Block'/885, l='MpServer', x=467.50, y=10.80, z=64.50], EntityFallingBlock['Falling Block'/886, l='MpServer', x=468.50, y=9.73, z=62.50], EntityCreeper['Creeper'/763, l='MpServer', x=572.50, y=57.00, z=143.50], EntityZombie['Zombie'/765, l='MpServer', x=573.50, y=57.00, z=137.50], EntityZombie['Zombie'/766, l='MpServer', x=572.50, y=57.00, z=138.50], EntityZombie['Zombie'/767, l='MpServer', x=571.50, y=57.00, z=136.50]]
- Retry entities: 0 total; []
- Server brand: vanilla
- Server type: Integrated singleplayer server
-Stacktrace:
- at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:401)
- at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2754)
- at net.minecraft.client.Minecraft.run(Minecraft.java:444)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-
--- System Details --
-Details:
- Minecraft Version: 1.8.8
- Operating System: Windows 10 (amd64) version 10.0
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- Java Version: 1.8.0_202, Oracle Corporation
- Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
- Memory: 541915240 bytes (516 MB) / 937426944 bytes (894 MB) up to 3801088000 bytes (3625 MB)
- JVM Flags: 0 total;
- IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 99
- Launched Version: mcp
- LWJGL: 2.9.4
- OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 4.6.0 NVIDIA 532.03, NVIDIA Corporation
- GL Caps: Using GL 1.3 multitexturing.
-Using GL 1.3 texture combiners.
-Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
-Shaders are available because OpenGL 2.1 is supported.
-VBOs are available because OpenGL 1.5 is supported.
-
- Using VBOs: No
- Is Modded: Very likely; Jar signature invalidated
- Type: Client (map_client.txt)
- Resource Packs:
- Current Language: English (US)
- Profiler Position: N/A (disabled)
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- OptiFine Version: OptiFine_1.8.8_HD_U_H8
- Render Distance Chunks: 12
- Mipmaps: 4
- Anisotropic Filtering: 1
- Antialiasing: 0
- Multitexture: false
- Shaders: null
- OpenGlVersion: 4.6.0 NVIDIA 532.03
- OpenGlRenderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2
- OpenGlVendor: NVIDIA Corporation
- CpuCount: 12
\ No newline at end of file
diff --git a/workspace/crash-reports/crash-2023-06-01_21.53.29-client.txt b/workspace/crash-reports/crash-2023-06-01_21.53.29-client.txt
deleted file mode 100644
index 64984142..00000000
--- a/workspace/crash-reports/crash-2023-06-01_21.53.29-client.txt
+++ /dev/null
@@ -1,97 +0,0 @@
----- Minecraft Crash Report ----
-// You should try our sister game, Minceraft!
-
-Time: 6/1/23 9:53 PM
-Description: Rendering screen
-
-java.lang.ExceptionInInitializerError
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
- at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1389)
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1131)
- at net.minecraft.client.Minecraft.run(Minecraft.java:423)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-Caused by: java.lang.NullPointerException
- at rip.athena.client.font.CustomFont.setupTexture(CustomFont.java:43)
- at rip.athena.client.font.CustomFont.(CustomFont.java:32)
- at rip.athena.client.font.FontUtils.(FontUtils.java:37)
- at rip.athena.client.font.FontUtils.(FontUtils.java:33)
- at rip.athena.client.font.FontManager.(FontManager.java:8)
- ... 6 more
-
-
-A detailed walkthrough of the error, its code path and all known details is as follows:
----------------------------------------------------------------------------------------
-
--- Head --
-Stacktrace:
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
-
--- Screen render details --
-Details:
- Screen name: rip.athena.client.gui.hud.IngameMenu
- Mouse location: Scaled: (213, 119). Absolute: (427, 240)
- Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2
-
--- Affected level --
-Details:
- Level name: MpServer
- All players: 1 total; [EntityPlayerSP['Player288'/309, l='MpServer', x=590.50, y=67.00, z=164.50]]
- Chunk stats: MultiplayerChunkCache: 130, 130
- Level seed: 0
- Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false
- Level generator options:
- Level spawn location: 584.00,64.00,166.00 - World: (584,64,166), Chunk: (at 8,4,6 in 36,10; contains blocks 576,0,160 to 591,255,175), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
- Level time: 1697 game time, 1077 day time
- Level dimension: 0
- Level storage version: 0x00000 - Unknown?
- Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
- Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
- Forced entities: 92 total; [EntityFallingBlock['Falling Block'/513, l='MpServer', x=612.50, y=11.14, z=125.50], EntityFallingBlock['Falling Block'/514, l='MpServer', x=613.50, y=11.14, z=125.50], EntityFallingBlock['Falling Block'/515, l='MpServer', x=614.50, y=10.03, z=125.50], EntityFallingBlock['Falling Block'/516, l='MpServer', x=612.50, y=11.14, z=126.50], EntityFallingBlock['Falling Block'/517, l='MpServer', x=613.50, y=11.14, z=126.50], EntityFallingBlock['Falling Block'/518, l='MpServer', x=611.50, y=10.03, z=126.50], EntityFallingBlock['Falling Block'/519, l='MpServer', x=614.50, y=10.03, z=126.50], EntityFallingBlock['Falling Block'/520, l='MpServer', x=612.50, y=10.03, z=127.50], EntityFallingBlock['Falling Block'/521, l='MpServer', x=613.50, y=10.03, z=127.50], EntityFallingBlock['Falling Block'/522, l='MpServer', x=611.50, y=10.03, z=127.50], EntityWitch['Witch'/778, l='MpServer', x=573.50, y=43.00, z=184.50], EntityFallingBlock['Falling Block'/523, l='MpServer', x=614.50, y=10.03, z=127.50], EntityWitch['Witch'/779, l='MpServer', x=572.50, y=43.00, z=183.50], EntityFallingBlock['Falling Block'/524, l='MpServer', x=612.50, y=12.46, z=151.50], EntityFallingBlock['Falling Block'/525, l='MpServer', x=612.50, y=12.46, z=152.50], EntityFallingBlock['Falling Block'/526, l='MpServer', x=613.50, y=11.14, z=151.50], EntityFallingBlock['Falling Block'/527, l='MpServer', x=613.50, y=11.14, z=152.50], EntityFallingBlock['Falling Block'/528, l='MpServer', x=613.50, y=11.14, z=153.50], EntityFallingBlock['Falling Block'/529, l='MpServer', x=611.50, y=12.46, z=151.50], EntityFallingBlock['Falling Block'/530, l='MpServer', x=612.50, y=12.46, z=150.50], EntityFallingBlock['Falling Block'/531, l='MpServer', x=611.50, y=12.46, z=152.50], EntityFallingBlock['Falling Block'/532, l='MpServer', x=611.50, y=13.46, z=150.50], EntityFallingBlock['Falling Block'/533, l='MpServer', x=610.50, y=12.46, z=151.50], EntityFallingBlock['Falling Block'/534, l='MpServer', x=609.50, y=12.46, z=150.50], EntityFallingBlock['Falling Block'/535, l='MpServer', x=610.50, y=11.14, z=152.50], EntityFallingBlock['Falling Block'/536, l='MpServer', x=610.50, y=13.46, z=149.50], EntityFallingBlock['Falling Block'/537, l='MpServer', x=610.50, y=13.46, z=150.50], EntityFallingBlock['Falling Block'/538, l='MpServer', x=611.50, y=13.46, z=149.50], EntityBat['Bat'/794, l='MpServer', x=513.50, y=47.00, z=217.50], EntityFallingBlock['Falling Block'/539, l='MpServer', x=612.50, y=12.46, z=149.50], EntityFallingBlock['Falling Block'/540, l='MpServer', x=609.50, y=13.46, z=149.50], EntityFallingBlock['Falling Block'/541, l='MpServer', x=610.50, y=14.46, z=148.50], EntityFallingBlock['Falling Block'/285, l='MpServer', x=513.50, y=39.62, z=200.50], EntityFallingBlock['Falling Block'/542, l='MpServer', x=611.50, y=13.46, z=148.50], EntityFallingBlock['Falling Block'/543, l='MpServer', x=608.50, y=14.46, z=149.50], EntityFallingBlock['Falling Block'/544, l='MpServer', x=609.50, y=14.46, z=148.50], EntityFallingBlock['Falling Block'/545, l='MpServer', x=608.50, y=15.46, z=148.50], EntityFallingBlock['Falling Block'/291, l='MpServer', x=528.50, y=4.38, z=211.50], EntityCreeper['Creeper'/54, l='MpServer', x=559.50, y=24.00, z=168.50], EntityCreeper['Creeper'/55, l='MpServer', x=549.50, y=56.14, z=174.68], EntityZombie['Zombie'/61, l='MpServer', x=573.50, y=40.00, z=153.50], EntityBat['Bat'/321, l='MpServer', x=628.75, y=20.15, z=226.36], EntityBat['Bat'/838, l='MpServer', x=578.50, y=52.00, z=127.50], EntityBat['Bat'/839, l='MpServer', x=579.50, y=52.00, z=127.50], EntityCreeper['Creeper'/585, l='MpServer', x=645.50, y=56.00, z=108.50], EntityFallingBlock['Falling Block'/331, l='MpServer', x=558.50, y=54.17, z=183.50], EntityFallingBlock['Falling Block'/332, l='MpServer', x=558.50, y=54.17, z=184.50], EntityFallingBlock['Falling Block'/333, l='MpServer', x=558.50, y=54.17, z=185.50], EntityFallingBlock['Falling Block'/334, l='MpServer', x=558.50, y=54.17, z=186.50], EntityFallingBlock['Falling Block'/335, l='MpServer', x=568.50, y=40.14, z=174.50], EntityFallingBlock['Falling Block'/336, l='MpServer', x=569.50, y=40.14, z=174.50], EntityPlayerSP['Player288'/309, l='MpServer', x=590.50, y=67.00, z=164.50], EntityZombie['Zombie'/96, l='MpServer', x=617.50, y=36.00, z=181.50], EntitySkeleton['Skeleton'/97, l='MpServer', x=623.50, y=37.00, z=179.50], EntityCreeper['Creeper'/359, l='MpServer', x=600.50, y=54.00, z=128.50], EntityCreeper['Creeper'/360, l='MpServer', x=603.50, y=54.00, z=128.50], EntityCreeper['Creeper'/361, l='MpServer', x=602.50, y=54.00, z=127.50], EntityBat['Bat'/113, l='MpServer', x=639.37, y=32.76, z=196.31], EntityBat['Bat'/121, l='MpServer', x=641.21, y=37.39, z=145.18], EntityBat['Bat'/122, l='MpServer', x=645.91, y=23.95, z=226.93], EntityBat['Bat'/123, l='MpServer', x=642.94, y=24.73, z=210.17], EntityBat['Bat'/124, l='MpServer', x=647.51, y=24.00, z=212.87], EntityZombie['Zombie'/134, l='MpServer', x=670.50, y=19.00, z=205.50], EntityCreeper['Creeper'/135, l='MpServer', x=669.50, y=19.00, z=204.50], EntitySkeleton['Skeleton'/405, l='MpServer', x=597.50, y=56.00, z=109.50], EntityCreeper['Creeper'/415, l='MpServer', x=513.50, y=18.00, z=96.50], EntityCreeper['Creeper'/416, l='MpServer', x=513.50, y=18.00, z=97.50], EntityCreeper['Creeper'/417, l='MpServer', x=514.50, y=18.00, z=100.50], EntityZombie['Zombie'/418, l='MpServer', x=515.50, y=18.00, z=96.50], EntityBat['Bat'/678, l='MpServer', x=660.51, y=11.00, z=102.34], EntityBat['Bat'/680, l='MpServer', x=660.61, y=11.05, z=101.47], EntityBat['Bat'/456, l='MpServer', x=571.91, y=26.22, z=163.94], EntityFallingBlock['Falling Block'/469, l='MpServer', x=590.50, y=54.46, z=137.50], EntityFallingBlock['Falling Block'/470, l='MpServer', x=592.50, y=54.46, z=136.50], EntityBat['Bat'/747, l='MpServer', x=554.31, y=18.06, z=170.67], EntityBat['Bat'/749, l='MpServer', x=553.67, y=18.06, z=169.31], EntityBat['Bat'/750, l='MpServer', x=554.67, y=18.06, z=171.31], EntityBat['Bat'/751, l='MpServer', x=552.48, y=18.06, z=171.31], EntityFallingBlock['Falling Block'/496, l='MpServer', x=611.50, y=11.14, z=121.50], EntityFallingBlock['Falling Block'/497, l='MpServer', x=611.50, y=11.14, z=122.50], EntityFallingBlock['Falling Block'/498, l='MpServer', x=612.50, y=12.46, z=120.50], EntityFallingBlock['Falling Block'/499, l='MpServer', x=612.50, y=12.46, z=121.50], EntityFallingBlock['Falling Block'/500, l='MpServer', x=612.50, y=12.46, z=122.50], EntityFallingBlock['Falling Block'/501, l='MpServer', x=613.50, y=12.46, z=122.50], EntityFallingBlock['Falling Block'/502, l='MpServer', x=611.50, y=11.14, z=123.50], EntityFallingBlock['Falling Block'/504, l='MpServer', x=611.50, y=11.14, z=124.50], EntityFallingBlock['Falling Block'/505, l='MpServer', x=612.50, y=11.14, z=124.50], EntityFallingBlock['Falling Block'/506, l='MpServer', x=612.50, y=12.46, z=123.50], EntityFallingBlock['Falling Block'/507, l='MpServer', x=613.50, y=12.46, z=123.50], EntityFallingBlock['Falling Block'/508, l='MpServer', x=613.50, y=12.46, z=124.50], EntityFallingBlock['Falling Block'/510, l='MpServer', x=614.50, y=11.14, z=124.50], EntityFallingBlock['Falling Block'/511, l='MpServer', x=611.50, y=10.03, z=125.50]]
- Retry entities: 0 total; []
- Server brand: vanilla
- Server type: Integrated singleplayer server
-Stacktrace:
- at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:401)
- at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2754)
- at net.minecraft.client.Minecraft.run(Minecraft.java:444)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-
--- System Details --
-Details:
- Minecraft Version: 1.8.8
- Operating System: Windows 10 (amd64) version 10.0
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- Java Version: 1.8.0_202, Oracle Corporation
- Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
- Memory: 611925664 bytes (583 MB) / 967835648 bytes (923 MB) up to 3801088000 bytes (3625 MB)
- JVM Flags: 0 total;
- IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 99
- Launched Version: mcp
- LWJGL: 2.9.4
- OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 4.6.0 NVIDIA 532.03, NVIDIA Corporation
- GL Caps: Using GL 1.3 multitexturing.
-Using GL 1.3 texture combiners.
-Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
-Shaders are available because OpenGL 2.1 is supported.
-VBOs are available because OpenGL 1.5 is supported.
-
- Using VBOs: No
- Is Modded: Very likely; Jar signature invalidated
- Type: Client (map_client.txt)
- Resource Packs:
- Current Language: English (US)
- Profiler Position: N/A (disabled)
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- OptiFine Version: OptiFine_1.8.8_HD_U_H8
- Render Distance Chunks: 12
- Mipmaps: 4
- Anisotropic Filtering: 1
- Antialiasing: 0
- Multitexture: false
- Shaders: null
- OpenGlVersion: 4.6.0 NVIDIA 532.03
- OpenGlRenderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2
- OpenGlVendor: NVIDIA Corporation
- CpuCount: 12
\ No newline at end of file
diff --git a/workspace/crash-reports/crash-2023-06-01_21.54.45-client.txt b/workspace/crash-reports/crash-2023-06-01_21.54.45-client.txt
deleted file mode 100644
index a53e0f81..00000000
--- a/workspace/crash-reports/crash-2023-06-01_21.54.45-client.txt
+++ /dev/null
@@ -1,97 +0,0 @@
----- Minecraft Crash Report ----
-// Uh... Did I do that?
-
-Time: 6/1/23 9:54 PM
-Description: Rendering screen
-
-java.lang.ExceptionInInitializerError
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
- at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1389)
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1131)
- at net.minecraft.client.Minecraft.run(Minecraft.java:423)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-Caused by: java.lang.NullPointerException
- at rip.athena.client.font.CustomFont.setupTexture(CustomFont.java:43)
- at rip.athena.client.font.CustomFont.(CustomFont.java:32)
- at rip.athena.client.font.FontUtils.(FontUtils.java:37)
- at rip.athena.client.font.FontUtils.(FontUtils.java:33)
- at rip.athena.client.font.FontManager.(FontManager.java:8)
- ... 6 more
-
-
-A detailed walkthrough of the error, its code path and all known details is as follows:
----------------------------------------------------------------------------------------
-
--- Head --
-Stacktrace:
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
-
--- Screen render details --
-Details:
- Screen name: rip.athena.client.gui.hud.IngameMenu
- Mouse location: Scaled: (213, 119). Absolute: (427, 240)
- Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2
-
--- Affected level --
-Details:
- Level name: MpServer
- All players: 1 total; [EntityPlayerSP['Player308'/355, l='MpServer', x=590.85, y=68.25, z=165.50]]
- Chunk stats: MultiplayerChunkCache: 330, 330
- Level seed: 0
- Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false
- Level generator options:
- Level spawn location: 584.00,64.00,166.00 - World: (584,64,166), Chunk: (at 8,4,6 in 36,10; contains blocks 576,0,160 to 591,255,175), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
- Level time: 1734 game time, 1114 day time
- Level dimension: 0
- Level storage version: 0x00000 - Unknown?
- Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
- Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
- Forced entities: 494 total; [EntityFallingBlock['Falling Block'/2050, l='MpServer', x=470.50, y=23.92, z=276.50], EntityFallingBlock['Falling Block'/2051, l='MpServer', x=610.50, y=10.92, z=165.50], EntityFallingBlock['Falling Block'/2052, l='MpServer', x=610.50, y=11.92, z=166.50], EntityFallingBlock['Falling Block'/2053, l='MpServer', x=611.50, y=10.92, z=165.50], EntityFallingBlock['Falling Block'/2054, l='MpServer', x=609.50, y=10.92, z=165.50], EntityFallingBlock['Falling Block'/2055, l='MpServer', x=609.50, y=11.92, z=166.50], EntityFallingBlock['Falling Block'/2056, l='MpServer', x=609.50, y=11.92, z=167.50], EntityFallingBlock['Falling Block'/2057, l='MpServer', x=610.50, y=11.92, z=168.50], EntityFallingBlock['Falling Block'/2058, l='MpServer', x=612.50, y=10.92, z=165.50], EntityFallingBlock['Falling Block'/2059, l='MpServer', x=608.50, y=11.92, z=167.50], EntityFallingBlock['Falling Block'/2060, l='MpServer', x=608.50, y=10.92, z=168.50], EntityFallingBlock['Falling Block'/2061, l='MpServer', x=609.50, y=11.92, z=168.50], EntityFallingBlock['Falling Block'/2062, l='MpServer', x=609.50, y=10.92, z=169.50], EntityFallingBlock['Falling Block'/2063, l='MpServer', x=697.50, y=27.92, z=126.50], EntityFallingBlock['Falling Block'/2064, l='MpServer', x=718.50, y=26.92, z=231.50], EntityFallingBlock['Falling Block'/2065, l='MpServer', x=718.50, y=26.92, z=232.50], EntityFallingBlock['Falling Block'/1048, l='MpServer', x=455.50, y=6.00, z=46.50], EntityFallingBlock['Falling Block'/1049, l='MpServer', x=455.50, y=5.86, z=47.50], EntityFallingBlock['Falling Block'/1050, l='MpServer', x=454.50, y=6.86, z=46.50], EntityFallingBlock['Falling Block'/1051, l='MpServer', x=454.50, y=6.86, z=47.50], EntityFallingBlock['Falling Block'/1052, l='MpServer', x=455.50, y=5.86, z=48.50], EntityFallingBlock['Falling Block'/1053, l='MpServer', x=472.50, y=25.57, z=151.50], EntityFallingBlock['Falling Block'/1054, l='MpServer', x=473.50, y=24.57, z=152.50], EntityFallingBlock['Falling Block'/1055, l='MpServer', x=472.50, y=25.57, z=152.50], EntityFallingBlock['Falling Block'/1056, l='MpServer', x=472.50, y=24.57, z=153.50], EntityFallingBlock['Falling Block'/1057, l='MpServer', x=471.50, y=25.57, z=151.50], EntityFallingBlock['Falling Block'/1058, l='MpServer', x=471.50, y=25.57, z=152.50], EntityFallingBlock['Falling Block'/1059, l='MpServer', x=471.50, y=24.57, z=153.50], EntityFallingBlock['Falling Block'/1060, l='MpServer', x=473.50, y=24.57, z=153.50], EntityFallingBlock['Falling Block'/1061, l='MpServer', x=469.50, y=25.57, z=152.50], EntityFallingBlock['Falling Block'/1062, l='MpServer', x=470.50, y=24.57, z=153.50], EntityFallingBlock['Falling Block'/1063, l='MpServer', x=470.50, y=25.57, z=151.50], EntityFallingBlock['Falling Block'/1064, l='MpServer', x=470.50, y=25.57, z=152.50], EntityCreeper['Creeper'/45, l='MpServer', x=513.50, y=18.00, z=96.50], EntityCreeper['Creeper'/46, l='MpServer', x=513.50, y=18.00, z=97.50], EntityCreeper['Creeper'/47, l='MpServer', x=514.50, y=18.00, z=100.50], EntityZombie['Zombie'/48, l='MpServer', x=515.50, y=18.00, z=96.50], EntityBat['Bat'/49, l='MpServer', x=513.34, y=47.88, z=216.63], EntityCreeper['Creeper'/1077, l='MpServer', x=527.50, y=51.00, z=176.50], EntityCreeper['Creeper'/59, l='MpServer', x=559.50, y=24.00, z=168.50], EntityBat['Bat'/60, l='MpServer', x=553.48, y=18.06, z=169.04], EntityBat['Bat'/61, l='MpServer', x=554.11, y=20.05, z=167.23], EntityBat['Bat'/62, l='MpServer', x=550.47, y=18.00, z=169.25], EntityBat['Bat'/63, l='MpServer', x=553.03, y=18.20, z=172.45], EntityCreeper['Creeper'/64, l='MpServer', x=550.43, y=56.46, z=173.50], EntityEnderman['Enderman'/1091, l='MpServer', x=576.50, y=40.00, z=158.50], EntitySkeleton['Skeleton'/1092, l='MpServer', x=572.50, y=40.00, z=153.50], EntityCreeper['Creeper'/1093, l='MpServer', x=575.50, y=40.00, z=157.50], EntityCreeper['Creeper'/1094, l='MpServer', x=573.50, y=40.00, z=158.50], EntityZombie['Zombie'/73, l='MpServer', x=573.50, y=40.00, z=153.50], EntityBat['Bat'/74, l='MpServer', x=573.69, y=27.14, z=164.46], EntityZombie['Zombie'/1098, l='MpServer', x=533.50, y=23.00, z=119.50], EntityWitch['Witch'/75, l='MpServer', x=573.50, y=43.00, z=184.50], EntityWitch['Witch'/76, l='MpServer', x=572.50, y=43.00, z=183.50], EntityBat['Bat'/79, l='MpServer', x=580.99, y=52.31, z=130.65], EntityBat['Bat'/80, l='MpServer', x=578.37, y=54.05, z=128.34], EntityCreeper['Creeper'/1107, l='MpServer', x=642.50, y=51.00, z=113.50], EntitySkeleton['Skeleton'/91, l='MpServer', x=597.50, y=56.00, z=109.50], EntityCreeper['Creeper'/92, l='MpServer', x=600.50, y=54.00, z=128.50], EntityCreeper['Creeper'/93, l='MpServer', x=603.50, y=54.00, z=128.50], EntityFallingBlock['Falling Block'/1130, l='MpServer', x=472.50, y=39.67, z=187.50], EntityFallingBlock['Falling Block'/1131, l='MpServer', x=472.50, y=39.67, z=188.50], EntityFallingBlock['Falling Block'/1132, l='MpServer', x=471.50, y=39.67, z=187.50], EntityFallingBlock['Falling Block'/1133, l='MpServer', x=471.50, y=39.67, z=188.50], EntityFallingBlock['Falling Block'/1134, l='MpServer', x=470.50, y=39.67, z=187.50], EntityFallingBlock['Falling Block'/1135, l='MpServer', x=470.50, y=38.67, z=186.50], EntityFallingBlock['Falling Block'/1136, l='MpServer', x=470.50, y=40.67, z=188.50], EntityFallingBlock['Falling Block'/1137, l='MpServer', x=471.50, y=39.67, z=189.50], EntityFallingBlock['Falling Block'/1138, l='MpServer', x=470.50, y=40.67, z=189.50], EntityFallingBlock['Falling Block'/1139, l='MpServer', x=476.50, y=51.67, z=187.50], EntityFallingBlock['Falling Block'/1140, l='MpServer', x=476.50, y=51.67, z=188.50], EntityFallingBlock['Falling Block'/1141, l='MpServer', x=476.50, y=51.67, z=189.50], EntityFallingBlock['Falling Block'/1142, l='MpServer', x=477.50, y=51.67, z=186.50], EntityFallingBlock['Falling Block'/1143, l='MpServer', x=478.50, y=51.67, z=187.50], EntityFallingBlock['Falling Block'/1144, l='MpServer', x=477.50, y=52.67, z=187.50], EntityFallingBlock['Falling Block'/1145, l='MpServer', x=478.50, y=51.67, z=188.50], EntityFallingBlock['Falling Block'/1146, l='MpServer', x=477.50, y=52.67, z=188.50], EntityFallingBlock['Falling Block'/1147, l='MpServer', x=477.50, y=51.67, z=189.50], EntityFallingBlock['Falling Block'/1148, l='MpServer', x=478.50, y=51.67, z=186.50], EntityFallingBlock['Falling Block'/1149, l='MpServer', x=478.50, y=51.67, z=189.50], EntityFallingBlock['Falling Block'/1150, l='MpServer', x=479.50, y=51.67, z=187.50], EntityFallingBlock['Falling Block'/1151, l='MpServer', x=479.50, y=51.67, z=188.50], EntityFallingBlock['Falling Block'/1152, l='MpServer', x=479.50, y=51.67, z=189.50], EntityFallingBlock['Falling Block'/1153, l='MpServer', x=481.50, y=54.67, z=92.50], EntityFallingBlock['Falling Block'/1154, l='MpServer', x=480.50, y=54.67, z=91.50], EntityFallingBlock['Falling Block'/1155, l='MpServer', x=480.50, y=54.67, z=92.50], EntityFallingBlock['Falling Block'/1156, l='MpServer', x=481.50, y=54.67, z=88.50], EntityFallingBlock['Falling Block'/1157, l='MpServer', x=481.50, y=54.67, z=89.50], EntityFallingBlock['Falling Block'/1158, l='MpServer', x=481.50, y=54.67, z=90.50], EntityFallingBlock['Falling Block'/1159, l='MpServer', x=481.50, y=54.67, z=91.50], EntityFallingBlock['Falling Block'/1160, l='MpServer', x=482.50, y=54.67, z=90.50], EntityFallingBlock['Falling Block'/1161, l='MpServer', x=482.50, y=54.67, z=91.50], EntityFallingBlock['Falling Block'/1162, l='MpServer', x=483.50, y=54.67, z=90.50], EntityFallingBlock['Falling Block'/1163, l='MpServer', x=483.50, y=54.67, z=91.50], EntityFallingBlock['Falling Block'/1164, l='MpServer', x=484.50, y=54.67, z=91.50], EntityZombie['Zombie'/160, l='MpServer', x=617.50, y=36.00, z=181.50], EntitySkeleton['Skeleton'/161, l='MpServer', x=623.50, y=37.00, z=179.50], EntityFallingBlock['Falling Block'/1200, l='MpServer', x=480.50, y=59.67, z=175.50], EntityBat['Bat'/177, l='MpServer', x=640.79, y=28.95, z=193.39], EntityFallingBlock['Falling Block'/1201, l='MpServer', x=501.50, y=33.67, z=269.50], EntityBat['Bat'/178, l='MpServer', x=630.81, y=20.06, z=227.81], EntityFallingBlock['Falling Block'/1202, l='MpServer', x=501.50, y=34.67, z=270.50], EntityFallingBlock['Falling Block'/1203, l='MpServer', x=500.50, y=34.67, z=269.50], EntityFallingBlock['Falling Block'/1204, l='MpServer', x=500.50, y=35.67, z=270.50], EntityFallingBlock['Falling Block'/1206, l='MpServer', x=499.50, y=34.67, z=269.50], EntityFallingBlock['Falling Block'/1207, l='MpServer', x=498.50, y=34.67, z=270.50], EntityFallingBlock['Falling Block'/1208, l='MpServer', x=499.50, y=35.67, z=270.50], EntityFallingBlock['Falling Block'/1209, l='MpServer', x=498.50, y=33.67, z=267.50], EntityFallingBlock['Falling Block'/1210, l='MpServer', x=513.50, y=46.67, z=165.50], EntityFallingBlock['Falling Block'/1211, l='MpServer', x=512.50, y=47.67, z=165.50], EntityFallingBlock['Falling Block'/1212, l='MpServer', x=512.50, y=47.67, z=166.50], EntityCreeper['Creeper'/189, l='MpServer', x=645.50, y=56.00, z=108.50], EntityBat['Bat'/190, l='MpServer', x=643.42, y=36.99, z=145.42], EntityFallingBlock['Falling Block'/1214, l='MpServer', x=513.50, y=42.67, z=200.50], EntityBat['Bat'/191, l='MpServer', x=644.16, y=24.16, z=210.75], EntityFallingBlock['Falling Block'/1215, l='MpServer', x=513.50, y=52.67, z=230.50], EntityBat['Bat'/192, l='MpServer', x=647.47, y=24.00, z=211.28], EntityFallingBlock['Falling Block'/1216, l='MpServer', x=513.50, y=52.67, z=229.50], EntityBat['Bat'/193, l='MpServer', x=648.72, y=23.00, z=224.31], EntityFallingBlock['Falling Block'/1217, l='MpServer', x=514.50, y=52.67, z=229.50], EntityFallingBlock['Falling Block'/1218, l='MpServer', x=528.50, y=6.60, z=211.50], EntityFallingBlock['Falling Block'/1219, l='MpServer', x=548.50, y=39.67, z=60.50], EntityFallingBlock['Falling Block'/1220, l='MpServer', x=548.50, y=38.67, z=61.50], EntityFallingBlock['Falling Block'/1221, l='MpServer', x=547.50, y=39.67, z=60.50], EntityFallingBlock['Falling Block'/1222, l='MpServer', x=547.50, y=39.67, z=61.50], EntityFallingBlock['Falling Block'/1223, l='MpServer', x=548.50, y=39.67, z=59.50], EntityFallingBlock['Falling Block'/1224, l='MpServer', x=547.50, y=40.67, z=59.50], EntityBat['Bat'/201, l='MpServer', x=660.94, y=11.09, z=102.78], EntityFallingBlock['Falling Block'/1225, l='MpServer', x=549.50, y=38.67, z=59.50], EntityBat['Bat'/202, l='MpServer', x=656.41, y=10.94, z=101.06], EntityFallingBlock['Falling Block'/1226, l='MpServer', x=546.50, y=40.67, z=60.50], EntityZombie['Zombie'/203, l='MpServer', x=670.50, y=19.00, z=205.50], EntityFallingBlock['Falling Block'/1227, l='MpServer', x=548.50, y=39.67, z=58.50], EntityCreeper['Creeper'/204, l='MpServer', x=669.50, y=19.00, z=204.50], EntityFallingBlock['Falling Block'/1228, l='MpServer', x=547.50, y=40.67, z=58.50], EntityFallingBlock['Falling Block'/1229, l='MpServer', x=546.50, y=40.67, z=58.50], EntityFallingBlock['Falling Block'/1230, l='MpServer', x=560.50, y=43.92, z=34.50], EntityFallingBlock['Falling Block'/1231, l='MpServer', x=568.50, y=42.67, z=174.50], EntityFallingBlock['Falling Block'/1232, l='MpServer', x=569.50, y=42.67, z=174.50], EntityFallingBlock['Falling Block'/1233, l='MpServer', x=558.50, y=53.67, z=184.50], EntityFallingBlock['Falling Block'/1234, l='MpServer', x=558.50, y=53.67, z=185.50], EntityFallingBlock['Falling Block'/1235, l='MpServer', x=558.50, y=53.67, z=186.50], EntityFallingBlock['Falling Block'/1236, l='MpServer', x=558.50, y=34.59, z=307.50], EntityFallingBlock['Falling Block'/1237, l='MpServer', x=558.50, y=34.59, z=308.50], EntityFallingBlock['Falling Block'/1238, l='MpServer', x=611.50, y=10.60, z=125.50], EntityFallingBlock['Falling Block'/1239, l='MpServer', x=612.50, y=11.67, z=124.50], EntityFallingBlock['Falling Block'/1240, l='MpServer', x=614.50, y=10.60, z=125.50], EntityFallingBlock['Falling Block'/1241, l='MpServer', x=611.50, y=10.60, z=126.50], EntityFallingBlock['Falling Block'/1242, l='MpServer', x=612.50, y=10.60, z=127.50], EntityFallingBlock['Falling Block'/1243, l='MpServer', x=614.50, y=10.60, z=126.50], EntityFallingBlock['Falling Block'/1244, l='MpServer', x=613.50, y=10.60, z=127.50], EntityFallingBlock['Falling Block'/1245, l='MpServer', x=613.50, y=11.67, z=151.50], EntityFallingBlock['Falling Block'/1246, l='MpServer', x=612.50, y=12.67, z=151.50], EntityFallingBlock['Falling Block'/1247, l='MpServer', x=613.50, y=11.67, z=152.50], EntityFallingBlock['Falling Block'/1248, l='MpServer', x=612.50, y=12.67, z=152.50], EntityFallingBlock['Falling Block'/1249, l='MpServer', x=613.50, y=11.67, z=153.50], EntityFallingBlock['Falling Block'/1250, l='MpServer', x=611.50, y=12.67, z=151.50], EntityFallingBlock['Falling Block'/1251, l='MpServer', x=612.50, y=12.67, z=150.50], EntityFallingBlock['Falling Block'/1252, l='MpServer', x=610.50, y=11.67, z=152.50], EntityFallingBlock['Falling Block'/1253, l='MpServer', x=611.50, y=12.67, z=152.50], EntityFallingBlock['Falling Block'/1254, l='MpServer', x=611.50, y=13.67, z=150.50], EntityFallingBlock['Falling Block'/1255, l='MpServer', x=610.50, y=12.67, z=151.50], EntityFallingBlock['Falling Block'/1256, l='MpServer', x=609.50, y=12.67, z=150.50], EntityFallingBlock['Falling Block'/1257, l='MpServer', x=610.50, y=13.67, z=149.50], EntityFallingBlock['Falling Block'/1258, l='MpServer', x=610.50, y=13.67, z=150.50], EntityFallingBlock['Falling Block'/1259, l='MpServer', x=612.50, y=12.67, z=149.50], EntityFallingBlock['Falling Block'/1260, l='MpServer', x=611.50, y=13.67, z=149.50], EntityFallingBlock['Falling Block'/1261, l='MpServer', x=609.50, y=13.67, z=149.50], EntityFallingBlock['Falling Block'/1262, l='MpServer', x=608.50, y=14.67, z=149.50], EntityFallingBlock['Falling Block'/1266, l='MpServer', x=695.50, y=16.67, z=285.50], EntityFallingBlock['Falling Block'/1267, l='MpServer', x=694.50, y=16.67, z=285.50], EntityFallingBlock['Falling Block'/1268, l='MpServer', x=694.50, y=18.67, z=283.50], EntityFallingBlock['Falling Block'/1269, l='MpServer', x=693.50, y=16.67, z=285.50], EntityFallingBlock['Falling Block'/1270, l='MpServer', x=696.50, y=12.67, z=284.50], EntityFallingBlock['Falling Block'/1271, l='MpServer', x=698.50, y=12.67, z=283.50], EntityFallingBlock['Falling Block'/1272, l='MpServer', x=697.50, y=13.67, z=283.50], EntityFallingBlock['Falling Block'/1274, l='MpServer', x=696.50, y=13.67, z=283.50], EntityFallingBlock['Falling Block'/1277, l='MpServer', x=718.50, y=27.67, z=212.50], EntityFallingBlock['Falling Block'/1278, l='MpServer', x=718.50, y=27.67, z=213.50], EntityFallingBlock['Falling Block'/1279, l='MpServer', x=719.50, y=27.67, z=213.50], EntityFallingBlock['Falling Block'/1280, l='MpServer', x=719.50, y=24.67, z=283.50], EntityFallingBlock['Falling Block'/1281, l='MpServer', x=719.50, y=23.67, z=284.50], EntityFallingBlock['Falling Block'/1282, l='MpServer', x=720.50, y=25.91, z=282.50], EntityFallingBlock['Falling Block'/1283, l='MpServer', x=720.50, y=24.91, z=283.50], EntityFallingBlock['Falling Block'/1284, l='MpServer', x=721.50, y=24.91, z=283.50], EntityFallingBlock['Falling Block'/1285, l='MpServer', x=720.50, y=24.91, z=284.50], EntityFallingBlock['Falling Block'/1286, l='MpServer', x=720.50, y=23.91, z=285.50], EntityFallingBlock['Falling Block'/1287, l='MpServer', x=721.50, y=24.91, z=284.50], EntityFallingBlock['Falling Block'/1288, l='MpServer', x=721.50, y=23.91, z=285.50], EntityFallingBlock['Falling Block'/1289, l='MpServer', x=722.50, y=24.91, z=283.50], EntityFallingBlock['Falling Block'/1290, l='MpServer', x=729.50, y=38.91, z=281.50], EntityFallingBlock['Falling Block'/1292, l='MpServer', x=729.50, y=39.91, z=280.50], EntityFallingBlock['Falling Block'/334, l='MpServer', x=721.50, y=4.61, z=230.50], EntityFallingBlock['Falling Block'/336, l='MpServer', x=720.50, y=6.61, z=231.50], EntityFallingBlock['Falling Block'/1388, l='MpServer', x=470.50, y=20.96, z=276.50], EntityFallingBlock['Falling Block'/1390, l='MpServer', x=557.50, y=55.23, z=184.50], EntityFallingBlock['Falling Block'/1391, l='MpServer', x=558.50, y=54.23, z=183.50], EntityFallingBlock['Falling Block'/1392, l='MpServer', x=557.50, y=55.23, z=185.50], EntityFallingBlock['Falling Block'/1393, l='MpServer', x=557.50, y=55.23, z=186.50], EntityFallingBlock['Falling Block'/1394, l='MpServer', x=557.50, y=55.23, z=187.50], EntityFallingBlock['Falling Block'/1395, l='MpServer', x=556.50, y=55.23, z=188.50], EntityFallingBlock['Falling Block'/1396, l='MpServer', x=590.50, y=54.23, z=137.50], EntityFallingBlock['Falling Block'/1397, l='MpServer', x=612.50, y=10.16, z=128.50], EntityFallingBlock['Falling Block'/1398, l='MpServer', x=613.50, y=10.16, z=128.50], EntityFallingBlock['Falling Block'/1399, l='MpServer', x=610.50, y=8.16, z=165.50], EntityFallingBlock['Falling Block'/1400, l='MpServer', x=610.50, y=9.16, z=166.50], EntityFallingBlock['Falling Block'/1401, l='MpServer', x=611.50, y=8.16, z=165.50], EntityFallingBlock['Falling Block'/1402, l='MpServer', x=611.50, y=10.16, z=166.50], EntityPlayerSP['Player308'/355, l='MpServer', x=590.85, y=68.25, z=165.50], EntityFallingBlock['Falling Block'/1403, l='MpServer', x=609.50, y=8.16, z=165.50], EntityFallingBlock['Falling Block'/1404, l='MpServer', x=609.50, y=9.16, z=166.50], EntityFallingBlock['Falling Block'/1405, l='MpServer', x=610.50, y=10.16, z=167.50], EntityFallingBlock['Falling Block'/1406, l='MpServer', x=611.50, y=10.16, z=167.50], EntityFallingBlock['Falling Block'/1407, l='MpServer', x=612.50, y=8.16, z=165.50], EntityFallingBlock['Falling Block'/1408, l='MpServer', x=612.50, y=10.16, z=166.50], EntityFallingBlock['Falling Block'/1409, l='MpServer', x=609.50, y=9.16, z=167.50], EntityFallingBlock['Falling Block'/1410, l='MpServer', x=608.50, y=9.16, z=166.50], EntityFallingBlock['Falling Block'/1411, l='MpServer', x=608.50, y=9.16, z=167.50], EntityFallingBlock['Falling Block'/1412, l='MpServer', x=609.50, y=9.16, z=168.50], EntityFallingBlock['Falling Block'/1413, l='MpServer', x=610.50, y=9.16, z=168.50], EntityFallingBlock['Falling Block'/1414, l='MpServer', x=608.50, y=8.16, z=168.50], EntityFallingBlock['Falling Block'/1415, l='MpServer', x=609.50, y=8.16, z=169.50], EntityFallingBlock['Falling Block'/1416, l='MpServer', x=610.50, y=9.16, z=169.50], EntityFallingBlock['Falling Block'/1417, l='MpServer', x=697.50, y=25.23, z=126.50], EntityFallingBlock['Falling Block'/1456, l='MpServer', x=719.50, y=26.46, z=231.50], EntityFallingBlock['Falling Block'/1457, l='MpServer', x=718.50, y=24.46, z=231.50], EntityFallingBlock['Falling Block'/1458, l='MpServer', x=718.50, y=24.46, z=232.50], EntityFallingBlock['Falling Block'/1459, l='MpServer', x=718.50, y=25.46, z=230.50], EntityFallingBlock['Falling Block'/1464, l='MpServer', x=721.50, y=25.74, z=230.50], EntityFallingBlock['Falling Block'/1465, l='MpServer', x=721.50, y=25.74, z=231.50], EntityCreeper['Creeper'/451, l='MpServer', x=591.50, y=30.00, z=192.50], EntityFallingBlock['Falling Block'/1508, l='MpServer', x=508.50, y=16.65, z=108.50], EntityFallingBlock['Falling Block'/1509, l='MpServer', x=543.50, y=44.65, z=115.50], EntityFallingBlock['Falling Block'/1515, l='MpServer', x=532.50, y=22.65, z=148.50], EntityFallingBlock['Falling Block'/1516, l='MpServer', x=532.50, y=21.65, z=147.50], EntityFallingBlock['Falling Block'/1517, l='MpServer', x=531.50, y=22.65, z=148.50], EntityFallingBlock['Falling Block'/1518, l='MpServer', x=532.50, y=22.65, z=149.50], EntityFallingBlock['Falling Block'/1519, l='MpServer', x=531.50, y=22.65, z=149.50], EntityFallingBlock['Falling Block'/1520, l='MpServer', x=530.50, y=22.65, z=149.50], EntityFallingBlock['Falling Block'/1521, l='MpServer', x=530.50, y=22.65, z=150.50], EntityFallingBlock['Falling Block'/1522, l='MpServer', x=530.50, y=21.65, z=151.50], EntityFallingBlock['Falling Block'/1523, l='MpServer', x=532.50, y=12.65, z=259.50], EntityFallingBlock['Falling Block'/1524, l='MpServer', x=549.50, y=22.65, z=162.50], EntityFallingBlock['Falling Block'/1525, l='MpServer', x=549.50, y=22.65, z=163.50], EntityFallingBlock['Falling Block'/1526, l='MpServer', x=549.50, y=22.65, z=164.50], EntityFallingBlock['Falling Block'/1551, l='MpServer', x=454.50, y=9.65, z=45.50], EntityFallingBlock['Falling Block'/1552, l='MpServer', x=453.50, y=9.65, z=45.50], EntityFallingBlock['Falling Block'/1553, l='MpServer', x=453.50, y=9.65, z=44.50], EntityFallingBlock['Falling Block'/1554, l='MpServer', x=453.50, y=9.65, z=43.50], EntityFallingBlock['Falling Block'/1555, l='MpServer', x=459.50, y=52.65, z=41.50], EntityFallingBlock['Falling Block'/1556, l='MpServer', x=459.50, y=52.65, z=42.50], EntityFallingBlock['Falling Block'/1557, l='MpServer', x=459.50, y=52.65, z=43.50], EntityFallingBlock['Falling Block'/1558, l='MpServer', x=459.50, y=52.65, z=40.50], EntityFallingBlock['Falling Block'/1559, l='MpServer', x=458.50, y=52.65, z=39.50], EntityFallingBlock['Falling Block'/1560, l='MpServer', x=505.50, y=38.65, z=237.50], EntityFallingBlock['Falling Block'/1561, l='MpServer', x=505.50, y=36.65, z=236.50], EntityFallingBlock['Falling Block'/1562, l='MpServer', x=504.50, y=38.65, z=234.50], EntityFallingBlock['Falling Block'/1563, l='MpServer', x=504.50, y=39.65, z=235.50], EntityFallingBlock['Falling Block'/1564, l='MpServer', x=503.50, y=39.65, z=235.50], EntityFallingBlock['Falling Block'/1565, l='MpServer', x=503.50, y=39.65, z=234.50], EntityFallingBlock['Falling Block'/1566, l='MpServer', x=503.50, y=38.65, z=233.50], EntityEnderman['Enderman'/543, l='MpServer', x=652.50, y=11.00, z=100.50], EntityFallingBlock['Falling Block'/1567, l='MpServer', x=502.50, y=38.65, z=233.50], EntitySkeleton['Skeleton'/544, l='MpServer', x=648.50, y=11.00, z=100.50], EntityFallingBlock['Falling Block'/1568, l='MpServer', x=502.50, y=39.65, z=234.50], EntityZombie['Zombie'/545, l='MpServer', x=516.50, y=31.00, z=109.50], EntityFallingBlock['Falling Block'/1569, l='MpServer', x=503.50, y=38.65, z=232.50], EntityFallingBlock['Falling Block'/1570, l='MpServer', x=504.50, y=38.65, z=233.50], EntityFallingBlock['Falling Block'/1571, l='MpServer', x=501.50, y=38.65, z=233.50], EntityFallingBlock['Falling Block'/1572, l='MpServer', x=501.50, y=38.65, z=232.50], EntityFallingBlock['Falling Block'/1573, l='MpServer', x=502.50, y=38.65, z=232.50], EntityFallingBlock['Falling Block'/1574, l='MpServer', x=500.50, y=38.65, z=233.50], EntityFallingBlock['Falling Block'/1575, l='MpServer', x=500.50, y=38.65, z=231.50], EntityFallingBlock['Falling Block'/1576, l='MpServer', x=500.50, y=38.65, z=232.50], EntityFallingBlock['Falling Block'/1577, l='MpServer', x=501.50, y=38.65, z=231.50], EntityFallingBlock['Falling Block'/1578, l='MpServer', x=518.50, y=36.65, z=295.50], EntityFallingBlock['Falling Block'/1579, l='MpServer', x=517.50, y=36.65, z=293.50], EntityFallingBlock['Falling Block'/1580, l='MpServer', x=526.50, y=34.65, z=297.50], EntityFallingBlock['Falling Block'/1581, l='MpServer', x=557.50, y=35.60, z=307.50], EntityFallingBlock['Falling Block'/1582, l='MpServer', x=557.50, y=35.60, z=308.50], EntityFallingBlock['Falling Block'/1583, l='MpServer', x=575.50, y=30.65, z=169.50], EntityFallingBlock['Falling Block'/1584, l='MpServer', x=575.50, y=30.65, z=170.50], EntityFallingBlock['Falling Block'/1585, l='MpServer', x=575.50, y=29.65, z=171.50], EntityFallingBlock['Falling Block'/1586, l='MpServer', x=575.50, y=31.65, z=168.50], EntityFallingBlock['Falling Block'/1587, l='MpServer', x=568.50, y=43.65, z=172.50], EntityFallingBlock['Falling Block'/1588, l='MpServer', x=568.50, y=43.65, z=173.50], EntityFallingBlock['Falling Block'/1589, l='MpServer', x=569.50, y=43.65, z=173.50], EntityFallingBlock['Falling Block'/1590, l='MpServer', x=588.50, y=22.65, z=156.50], EntityFallingBlock['Falling Block'/1591, l='MpServer', x=607.50, y=9.65, z=168.50], EntityFallingBlock['Falling Block'/1592, l='MpServer', x=607.50, y=10.65, z=167.50], EntityFallingBlock['Falling Block'/1593, l='MpServer', x=626.50, y=6.65, z=245.50], EntityFallingBlock['Falling Block'/1594, l='MpServer', x=624.50, y=6.65, z=246.50], EntityFallingBlock['Falling Block'/1596, l='MpServer', x=693.50, y=27.65, z=32.50], EntityFallingBlock['Falling Block'/1597, l='MpServer', x=692.50, y=28.65, z=32.50], EntityFallingBlock['Falling Block'/1598, l='MpServer', x=691.50, y=28.65, z=32.50], EntityFallingBlock['Falling Block'/1599, l='MpServer', x=691.50, y=28.65, z=33.50], EntityZombie['Zombie'/585, l='MpServer', x=517.50, y=32.00, z=217.50], EntityFallingBlock['Falling Block'/1663, l='MpServer', x=732.50, y=41.80, z=260.50], EntityFallingBlock['Falling Block'/1664, l='MpServer', x=731.50, y=41.80, z=259.50], EntityFallingBlock['Falling Block'/1665, l='MpServer', x=731.50, y=41.80, z=260.50], EntityFallingBlock['Falling Block'/1666, l='MpServer', x=731.50, y=41.80, z=261.50], EntityFallingBlock['Falling Block'/1667, l='MpServer', x=731.50, y=42.80, z=258.50], EntityFallingBlock['Falling Block'/1668, l='MpServer', x=730.50, y=41.80, z=259.50], EntityFallingBlock['Falling Block'/1669, l='MpServer', x=455.50, y=9.76, z=46.50], EntityFallingBlock['Falling Block'/1670, l='MpServer', x=455.50, y=9.76, z=47.50], EntityFallingBlock['Falling Block'/1671, l='MpServer', x=454.50, y=10.76, z=46.50], EntityFallingBlock['Falling Block'/1672, l='MpServer', x=455.50, y=9.76, z=48.50], EntityFallingBlock['Falling Block'/1673, l='MpServer', x=472.50, y=28.76, z=151.50], EntityFallingBlock['Falling Block'/1674, l='MpServer', x=473.50, y=27.76, z=152.50], EntityFallingBlock['Falling Block'/1675, l='MpServer', x=472.50, y=28.76, z=152.50], EntityFallingBlock['Falling Block'/1676, l='MpServer', x=472.50, y=27.76, z=153.50], EntityFallingBlock['Falling Block'/1677, l='MpServer', x=471.50, y=28.76, z=151.50], EntityFallingBlock['Falling Block'/1678, l='MpServer', x=471.50, y=28.76, z=152.50], EntityFallingBlock['Falling Block'/1679, l='MpServer', x=471.50, y=27.76, z=153.50], EntityFallingBlock['Falling Block'/1680, l='MpServer', x=473.50, y=27.76, z=153.50], EntityFallingBlock['Falling Block'/1681, l='MpServer', x=469.50, y=28.76, z=152.50], EntityFallingBlock['Falling Block'/1682, l='MpServer', x=470.50, y=27.76, z=153.50], EntityFallingBlock['Falling Block'/1684, l='MpServer', x=470.50, y=28.76, z=151.50], EntityFallingBlock['Falling Block'/1685, l='MpServer', x=470.50, y=28.76, z=152.50], EntityFallingBlock['Falling Block'/1694, l='MpServer', x=476.50, y=53.76, z=187.50], EntityFallingBlock['Falling Block'/1695, l='MpServer', x=476.50, y=53.76, z=188.50], EntityFallingBlock['Falling Block'/1696, l='MpServer', x=476.50, y=53.76, z=189.50], EntityFallingBlock['Falling Block'/1697, l='MpServer', x=477.50, y=53.76, z=186.50], EntityFallingBlock['Falling Block'/1698, l='MpServer', x=478.50, y=53.76, z=187.50], EntityFallingBlock['Falling Block'/1699, l='MpServer', x=477.50, y=53.76, z=189.50], EntityFallingBlock['Falling Block'/1700, l='MpServer', x=478.50, y=53.76, z=186.50], EntityFallingBlock['Falling Block'/1701, l='MpServer', x=479.50, y=53.76, z=187.50], EntityFallingBlock['Falling Block'/1702, l='MpServer', x=501.50, y=35.76, z=269.50], EntityFallingBlock['Falling Block'/1703, l='MpServer', x=500.50, y=36.76, z=269.50], EntityFallingBlock['Falling Block'/1704, l='MpServer', x=498.50, y=35.76, z=269.50], EntityFallingBlock['Falling Block'/1705, l='MpServer', x=499.50, y=36.76, z=269.50], EntityFallingBlock['Falling Block'/1706, l='MpServer', x=498.50, y=36.76, z=270.50], EntityFallingBlock['Falling Block'/1707, l='MpServer', x=498.50, y=35.76, z=267.50], EntityFallingBlock['Falling Block'/1708, l='MpServer', x=513.50, y=48.76, z=165.50], EntityFallingBlock['Falling Block'/1709, l='MpServer', x=513.50, y=44.76, z=200.50], EntityFallingBlock['Falling Block'/1710, l='MpServer', x=513.50, y=54.76, z=230.50], EntityFallingBlock['Falling Block'/1711, l='MpServer', x=528.50, y=8.76, z=211.50], EntityFallingBlock['Falling Block'/1712, l='MpServer', x=548.50, y=41.76, z=60.50], EntityFallingBlock['Falling Block'/1713, l='MpServer', x=548.50, y=40.76, z=61.50], EntityFallingBlock['Falling Block'/1714, l='MpServer', x=547.50, y=41.76, z=60.50], EntityFallingBlock['Falling Block'/1715, l='MpServer', x=547.50, y=41.76, z=61.50], EntityFallingBlock['Falling Block'/1716, l='MpServer', x=549.50, y=40.76, z=59.50], EntityFallingBlock['Falling Block'/1717, l='MpServer', x=548.50, y=41.76, z=59.50], EntityFallingBlock['Falling Block'/1718, l='MpServer', x=548.50, y=41.76, z=58.50], EntityFallingBlock['Falling Block'/1719, l='MpServer', x=559.50, y=44.76, z=34.50], EntityFallingBlock['Falling Block'/1720, l='MpServer', x=568.50, y=44.76, z=174.50], EntityFallingBlock['Falling Block'/1721, l='MpServer', x=569.50, y=44.76, z=174.50], EntityFallingBlock['Falling Block'/1722, l='MpServer', x=611.50, y=14.76, z=151.50], EntityFallingBlock['Falling Block'/1723, l='MpServer', x=610.50, y=13.76, z=152.50], EntityFallingBlock['Falling Block'/1724, l='MpServer', x=610.50, y=14.76, z=151.50], EntityFallingBlock['Falling Block'/701, l='MpServer', x=504.50, y=27.04, z=235.50], EntityFallingBlock['Falling Block'/1725, l='MpServer', x=609.50, y=14.76, z=150.50], EntityFallingBlock['Falling Block'/702, l='MpServer', x=504.50, y=27.04, z=236.50], EntityFallingBlock['Falling Block'/703, l='MpServer', x=503.50, y=27.04, z=235.50], EntityFallingBlock['Falling Block'/1727, l='MpServer', x=693.50, y=28.76, z=32.50], EntityFallingBlock['Falling Block'/704, l='MpServer', x=503.50, y=27.04, z=236.50], EntityFallingBlock['Falling Block'/1728, l='MpServer', x=695.50, y=18.76, z=285.50], EntityFallingBlock['Falling Block'/705, l='MpServer', x=503.50, y=27.04, z=234.50], EntityFallingBlock['Falling Block'/1729, l='MpServer', x=694.50, y=18.76, z=285.50], EntityFallingBlock['Falling Block'/706, l='MpServer', x=502.50, y=26.04, z=233.50], EntityFallingBlock['Falling Block'/1730, l='MpServer', x=693.50, y=18.76, z=285.50], EntityFallingBlock['Falling Block'/707, l='MpServer', x=502.50, y=27.04, z=234.50], EntityFallingBlock['Falling Block'/1731, l='MpServer', x=696.50, y=14.76, z=284.50], EntityFallingBlock['Falling Block'/708, l='MpServer', x=502.50, y=27.04, z=235.50], EntityFallingBlock['Falling Block'/1732, l='MpServer', x=698.50, y=14.76, z=283.50], EntityFallingBlock['Falling Block'/1733, l='MpServer', x=696.50, y=15.76, z=283.50], EntityFallingBlock['Falling Block'/710, l='MpServer', x=503.50, y=26.04, z=233.50], EntityFallingBlock['Falling Block'/1734, l='MpServer', x=714.50, y=8.76, z=206.50], EntityFallingBlock['Falling Block'/1735, l='MpServer', x=718.50, y=29.76, z=212.50], EntityFallingBlock['Falling Block'/1736, l='MpServer', x=718.50, y=29.76, z=213.50], EntityFallingBlock['Falling Block'/713, l='MpServer', x=501.50, y=26.04, z=233.50], EntityFallingBlock['Falling Block'/1737, l='MpServer', x=719.50, y=29.76, z=213.50], EntityFallingBlock['Falling Block'/714, l='MpServer', x=501.50, y=26.04, z=232.50], EntityFallingBlock['Falling Block'/1738, l='MpServer', x=719.50, y=26.76, z=283.50], EntityFallingBlock['Falling Block'/715, l='MpServer', x=501.50, y=27.04, z=234.50], EntityFallingBlock['Falling Block'/1739, l='MpServer', x=719.50, y=25.76, z=284.50], EntityFallingBlock['Falling Block'/716, l='MpServer', x=502.50, y=26.04, z=232.50], EntityFallingBlock['Falling Block'/1740, l='MpServer', x=720.50, y=26.80, z=283.50], EntityFallingBlock['Falling Block'/717, l='MpServer', x=500.50, y=26.04, z=233.50], EntityFallingBlock['Falling Block'/1741, l='MpServer', x=721.50, y=26.80, z=283.50], EntityFallingBlock['Falling Block'/718, l='MpServer', x=500.50, y=26.04, z=231.50], EntityFallingBlock['Falling Block'/1742, l='MpServer', x=720.50, y=26.80, z=284.50], EntityFallingBlock['Falling Block'/719, l='MpServer', x=500.50, y=26.04, z=232.50], EntityFallingBlock['Falling Block'/1743, l='MpServer', x=720.50, y=25.80, z=285.50], EntityFallingBlock['Falling Block'/720, l='MpServer', x=501.50, y=26.04, z=231.50], EntityFallingBlock['Falling Block'/1744, l='MpServer', x=721.50, y=26.80, z=284.50], EntityFallingBlock['Falling Block'/1745, l='MpServer', x=721.50, y=25.80, z=285.50], EntityFallingBlock['Falling Block'/1746, l='MpServer', x=730.50, y=40.80, z=280.50], EntityFallingBlock['Falling Block'/1765, l='MpServer', x=470.50, y=22.76, z=276.50], EntityFallingBlock['Falling Block'/1766, l='MpServer', x=610.50, y=9.76, z=165.50], EntityFallingBlock['Falling Block'/1767, l='MpServer', x=610.50, y=10.76, z=166.50], EntityFallingBlock['Falling Block'/1768, l='MpServer', x=611.50, y=9.76, z=165.50], EntityFallingBlock['Falling Block'/1769, l='MpServer', x=611.50, y=11.76, z=166.50], EntityFallingBlock['Falling Block'/1770, l='MpServer', x=609.50, y=9.76, z=165.50], EntityFallingBlock['Falling Block'/1771, l='MpServer', x=609.50, y=10.76, z=166.50], EntityFallingBlock['Falling Block'/1772, l='MpServer', x=609.50, y=10.76, z=167.50], EntityFallingBlock['Falling Block'/1773, l='MpServer', x=610.50, y=11.76, z=167.50], EntityFallingBlock['Falling Block'/1774, l='MpServer', x=610.50, y=10.76, z=168.50], EntityFallingBlock['Falling Block'/1775, l='MpServer', x=612.50, y=9.76, z=165.50], EntityFallingBlock['Falling Block'/1776, l='MpServer', x=608.50, y=10.76, z=166.50], EntityFallingBlock['Falling Block'/1777, l='MpServer', x=608.50, y=10.76, z=167.50], EntityFallingBlock['Falling Block'/1778, l='MpServer', x=608.50, y=9.76, z=168.50], EntityFallingBlock['Falling Block'/1779, l='MpServer', x=609.50, y=10.76, z=168.50], EntityFallingBlock['Falling Block'/1780, l='MpServer', x=609.50, y=9.76, z=169.50], EntityFallingBlock['Falling Block'/1781, l='MpServer', x=610.50, y=10.76, z=169.50], EntityFallingBlock['Falling Block'/1782, l='MpServer', x=697.50, y=26.76, z=126.50], EntityFallingBlock['Falling Block'/1787, l='MpServer', x=718.50, y=25.76, z=231.50], EntityFallingBlock['Falling Block'/1788, l='MpServer', x=718.50, y=25.76, z=232.50], EntityCreeper['Creeper'/841, l='MpServer', x=635.50, y=24.00, z=198.50], EntityCreeper['Creeper'/842, l='MpServer', x=637.50, y=24.00, z=198.50], EntityCreeper['Creeper'/869, l='MpServer', x=553.50, y=57.00, z=191.50], EntityZombie['Zombie'/870, l='MpServer', x=554.50, y=57.00, z=192.50], EntitySkeleton['Skeleton'/876, l='MpServer', x=587.50, y=22.00, z=171.50], EntitySkeleton['Skeleton'/877, l='MpServer', x=584.52, y=22.00, z=171.20], EntitySkeleton['Skeleton'/878, l='MpServer', x=588.50, y=22.00, z=172.50], EntityFallingBlock['Falling Block'/1905, l='MpServer', x=721.50, y=26.80, z=231.50], EntityFallingBlock['Falling Block'/1934, l='MpServer', x=508.50, y=17.80, z=108.50], EntityFallingBlock['Falling Block'/1937, l='MpServer', x=530.50, y=22.80, z=151.50], EntityFallingBlock['Falling Block'/1938, l='MpServer', x=532.50, y=13.80, z=259.50], EntityFallingBlock['Falling Block'/1944, l='MpServer', x=454.50, y=10.80, z=45.50], EntityFallingBlock['Falling Block'/1945, l='MpServer', x=459.50, y=53.80, z=41.50], EntityFallingBlock['Falling Block'/1946, l='MpServer', x=459.50, y=53.80, z=42.50], EntityFallingBlock['Falling Block'/1947, l='MpServer', x=459.50, y=53.80, z=40.50], EntityFallingBlock['Falling Block'/1948, l='MpServer', x=505.50, y=37.80, z=236.50], EntityFallingBlock['Falling Block'/1949, l='MpServer', x=504.50, y=39.80, z=234.50], EntityFallingBlock['Falling Block'/1950, l='MpServer', x=503.50, y=39.80, z=233.50], EntityFallingBlock['Falling Block'/1951, l='MpServer', x=502.50, y=39.80, z=233.50], EntityFallingBlock['Falling Block'/1952, l='MpServer', x=518.50, y=37.80, z=295.50], EntityFallingBlock['Falling Block'/1953, l='MpServer', x=517.50, y=37.80, z=293.50], EntityFallingBlock['Falling Block'/1954, l='MpServer', x=526.50, y=35.80, z=297.50], EntityFallingBlock['Falling Block'/1955, l='MpServer', x=557.50, y=36.80, z=307.50], EntityFallingBlock['Falling Block'/1956, l='MpServer', x=575.50, y=31.80, z=169.50], EntityFallingBlock['Falling Block'/1957, l='MpServer', x=575.50, y=31.80, z=170.50], EntityFallingBlock['Falling Block'/1958, l='MpServer', x=575.50, y=30.80, z=171.50], EntityFallingBlock['Falling Block'/1959, l='MpServer', x=568.50, y=44.80, z=172.50], EntityFallingBlock['Falling Block'/1960, l='MpServer', x=568.50, y=44.80, z=173.50], EntityFallingBlock['Falling Block'/1961, l='MpServer', x=569.50, y=44.80, z=173.50], EntityFallingBlock['Falling Block'/1962, l='MpServer', x=607.50, y=10.80, z=168.50], EntityFallingBlock['Falling Block'/1963, l='MpServer', x=692.50, y=29.80, z=32.50], EntitySpider['Spider'/960, l='MpServer', x=515.50, y=18.00, z=98.50], EntityFallingBlock['Falling Block'/1992, l='MpServer', x=732.50, y=42.92, z=260.50], EntityFallingBlock['Falling Block'/1993, l='MpServer', x=731.50, y=42.92, z=259.50], EntityFallingBlock['Falling Block'/1994, l='MpServer', x=731.50, y=42.92, z=260.50], EntityFallingBlock['Falling Block'/1995, l='MpServer', x=731.50, y=42.92, z=261.50], EntityFallingBlock['Falling Block'/1996, l='MpServer', x=730.50, y=42.92, z=259.50], EntityFallingBlock['Falling Block'/1997, l='MpServer', x=455.50, y=10.92, z=46.50], EntityFallingBlock['Falling Block'/1998, l='MpServer', x=455.50, y=10.92, z=47.50], EntityFallingBlock['Falling Block'/1999, l='MpServer', x=455.50, y=10.92, z=48.50], EntityFallingBlock['Falling Block'/2000, l='MpServer', x=473.50, y=28.92, z=152.50], EntityFallingBlock['Falling Block'/2001, l='MpServer', x=472.50, y=29.92, z=152.50], EntityZombie['Zombie'/978, l='MpServer', x=604.50, y=55.00, z=126.50], EntityFallingBlock['Falling Block'/2002, l='MpServer', x=472.50, y=28.92, z=153.50], EntityZombie['Zombie'/979, l='MpServer', x=651.50, y=37.00, z=175.50], EntityFallingBlock['Falling Block'/2003, l='MpServer', x=471.50, y=29.92, z=152.50], EntityWitch['Witch'/980, l='MpServer', x=650.50, y=37.00, z=172.50], EntityFallingBlock['Falling Block'/2004, l='MpServer', x=471.50, y=28.92, z=153.50], EntityFallingBlock['Falling Block'/2005, l='MpServer', x=473.50, y=28.92, z=153.50], EntityFallingBlock['Falling Block'/2006, l='MpServer', x=470.50, y=28.92, z=153.50], EntityFallingBlock['Falling Block'/2007, l='MpServer', x=470.50, y=29.92, z=152.50], EntityFallingBlock['Falling Block'/2012, l='MpServer', x=477.50, y=54.92, z=186.50], EntityFallingBlock['Falling Block'/2013, l='MpServer', x=501.50, y=36.92, z=269.50], EntityFallingBlock['Falling Block'/2014, l='MpServer', x=498.50, y=36.92, z=269.50], EntityFallingBlock['Falling Block'/2015, l='MpServer', x=498.50, y=36.92, z=267.50], EntityFallingBlock['Falling Block'/2016, l='MpServer', x=513.50, y=49.92, z=165.50], EntityFallingBlock['Falling Block'/2017, l='MpServer', x=513.50, y=45.92, z=200.50], EntityFallingBlock['Falling Block'/2018, l='MpServer', x=528.50, y=9.92, z=211.50], EntityFallingBlock['Falling Block'/2019, l='MpServer', x=548.50, y=42.92, z=60.50], EntityFallingBlock['Falling Block'/2020, l='MpServer', x=548.50, y=41.92, z=61.50], EntityFallingBlock['Falling Block'/2021, l='MpServer', x=547.50, y=42.92, z=60.50], EntityZombie['Zombie'/998, l='MpServer', x=652.50, y=11.00, z=101.50], EntityFallingBlock['Falling Block'/2022, l='MpServer', x=549.50, y=41.92, z=59.50], EntityZombie['Zombie'/999, l='MpServer', x=656.50, y=11.00, z=99.50], EntityFallingBlock['Falling Block'/2023, l='MpServer', x=548.50, y=42.92, z=59.50], EntityZombie['Zombie'/1000, l='MpServer', x=651.50, y=11.00, z=100.50], EntityFallingBlock['Falling Block'/2024, l='MpServer', x=558.50, y=44.92, z=34.50], EntityFallingBlock['Falling Block'/2025, l='MpServer', x=559.50, y=44.92, z=35.50], EntityFallingBlock['Falling Block'/2026, l='MpServer', x=568.50, y=45.92, z=174.50], EntityFallingBlock['Falling Block'/2027, l='MpServer', x=569.50, y=45.92, z=174.50], EntityFallingBlock['Falling Block'/2028, l='MpServer', x=693.50, y=29.92, z=32.50], EntityFallingBlock['Falling Block'/2029, l='MpServer', x=696.50, y=15.92, z=284.50], EntityFallingBlock['Falling Block'/2030, l='MpServer', x=696.50, y=16.92, z=283.50], EntityFallingBlock['Falling Block'/2031, l='MpServer', x=718.50, y=30.92, z=212.50], EntityFallingBlock['Falling Block'/2032, l='MpServer', x=718.50, y=30.92, z=213.50], EntityFallingBlock['Falling Block'/1009, l='MpServer', x=732.50, y=36.61, z=260.50], EntityFallingBlock['Falling Block'/2033, l='MpServer', x=719.50, y=30.92, z=213.50], EntityFallingBlock['Falling Block'/1010, l='MpServer', x=731.50, y=36.61, z=259.50], EntityFallingBlock['Falling Block'/2034, l='MpServer', x=719.50, y=26.92, z=284.50], EntityFallingBlock['Falling Block'/1011, l='MpServer', x=731.50, y=36.61, z=260.50], EntityFallingBlock['Falling Block'/2035, l='MpServer', x=720.50, y=26.92, z=285.50], EntityFallingBlock['Falling Block'/1012, l='MpServer', x=731.50, y=36.61, z=261.50], EntityFallingBlock['Falling Block'/2036, l='MpServer', x=721.50, y=26.92, z=285.50], EntityFallingBlock['Falling Block'/1013, l='MpServer', x=731.50, y=37.61, z=258.50], EntityFallingBlock['Falling Block'/1014, l='MpServer', x=732.50, y=37.61, z=258.50], EntityFallingBlock['Falling Block'/1015, l='MpServer', x=730.50, y=36.61, z=259.50]]
- Retry entities: 0 total; []
- Server brand: vanilla
- Server type: Integrated singleplayer server
-Stacktrace:
- at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:401)
- at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2754)
- at net.minecraft.client.Minecraft.run(Minecraft.java:444)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-
--- System Details --
-Details:
- Minecraft Version: 1.8.8
- Operating System: Windows 10 (amd64) version 10.0
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- Java Version: 1.8.0_202, Oracle Corporation
- Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
- Memory: 360612376 bytes (343 MB) / 801636352 bytes (764 MB) up to 3801088000 bytes (3625 MB)
- JVM Flags: 0 total;
- IntCache: cache: 1, tcache: 1, allocated: 12, tallocated: 98
- Launched Version: mcp
- LWJGL: 2.9.4
- OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 4.6.0 NVIDIA 532.03, NVIDIA Corporation
- GL Caps: Using GL 1.3 multitexturing.
-Using GL 1.3 texture combiners.
-Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
-Shaders are available because OpenGL 2.1 is supported.
-VBOs are available because OpenGL 1.5 is supported.
-
- Using VBOs: No
- Is Modded: Very likely; Jar signature invalidated
- Type: Client (map_client.txt)
- Resource Packs:
- Current Language: English (US)
- Profiler Position: N/A (disabled)
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- OptiFine Version: OptiFine_1.8.8_HD_U_H8
- Render Distance Chunks: 12
- Mipmaps: 4
- Anisotropic Filtering: 1
- Antialiasing: 0
- Multitexture: false
- Shaders: null
- OpenGlVersion: 4.6.0 NVIDIA 532.03
- OpenGlRenderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2
- OpenGlVendor: NVIDIA Corporation
- CpuCount: 12
\ No newline at end of file
diff --git a/workspace/crash-reports/crash-2023-06-01_21.57.20-client.txt b/workspace/crash-reports/crash-2023-06-01_21.57.20-client.txt
deleted file mode 100644
index bdceee66..00000000
--- a/workspace/crash-reports/crash-2023-06-01_21.57.20-client.txt
+++ /dev/null
@@ -1,97 +0,0 @@
----- Minecraft Crash Report ----
-// I let you down. Sorry :(
-
-Time: 6/1/23 9:57 PM
-Description: Rendering screen
-
-java.lang.ExceptionInInitializerError
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
- at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1389)
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1131)
- at net.minecraft.client.Minecraft.run(Minecraft.java:423)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-Caused by: java.lang.NullPointerException
- at rip.athena.client.font.CustomFont.setupTexture(CustomFont.java:43)
- at rip.athena.client.font.CustomFont.(CustomFont.java:32)
- at rip.athena.client.font.FontUtils.(FontUtils.java:37)
- at rip.athena.client.font.FontUtils.(FontUtils.java:33)
- at rip.athena.client.font.FontManager.(FontManager.java:8)
- ... 6 more
-
-
-A detailed walkthrough of the error, its code path and all known details is as follows:
----------------------------------------------------------------------------------------
-
--- Head --
-Stacktrace:
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
-
--- Screen render details --
-Details:
- Screen name: rip.athena.client.gui.hud.IngameMenu
- Mouse location: Scaled: (213, 119). Absolute: (427, 240)
- Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2
-
--- Affected level --
-Details:
- Level name: MpServer
- All players: 1 total; [EntityPlayerSP['Player788'/203, l='MpServer', x=593.06, y=67.00, z=171.76]]
- Chunk stats: MultiplayerChunkCache: 180, 180
- Level seed: 0
- Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false
- Level generator options:
- Level spawn location: 584.00,64.00,166.00 - World: (584,64,166), Chunk: (at 8,4,6 in 36,10; contains blocks 576,0,160 to 591,255,175), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
- Level time: 1945 game time, 1325 day time
- Level dimension: 0
- Level storage version: 0x00000 - Unknown?
- Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
- Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
- Forced entities: 59 total; [EntityEnderman['Enderman'/137, l='MpServer', x=652.50, y=11.00, z=100.50], EntitySkeleton['Skeleton'/138, l='MpServer', x=648.50, y=11.00, z=100.50], EntityZombie['Zombie'/139, l='MpServer', x=652.50, y=11.00, z=101.50], EntityZombie['Zombie'/140, l='MpServer', x=651.50, y=11.00, z=100.50], EntityCreeper['Creeper'/141, l='MpServer', x=645.50, y=56.00, z=108.50], EntityCreeper['Creeper'/142, l='MpServer', x=642.50, y=51.00, z=113.50], EntityBat['Bat'/143, l='MpServer', x=642.91, y=36.57, z=145.47], EntityZombie['Zombie'/144, l='MpServer', x=651.50, y=37.00, z=175.50], EntityWitch['Witch'/145, l='MpServer', x=650.50, y=37.00, z=172.50], EntityBat['Bat'/146, l='MpServer', x=643.06, y=24.05, z=207.62], EntityBat['Bat'/147, l='MpServer', x=648.56, y=24.00, z=212.94], EntityBat['Bat'/148, l='MpServer', x=649.81, y=22.16, z=223.09], EntityBat['Bat'/156, l='MpServer', x=657.91, y=11.00, z=101.03], EntityBat['Bat'/157, l='MpServer', x=661.28, y=11.09, z=102.25], EntityCreeper['Creeper'/29, l='MpServer', x=514.50, y=18.00, z=100.50], EntityZombie['Zombie'/158, l='MpServer', x=656.50, y=11.00, z=99.50], EntityZombie['Zombie'/30, l='MpServer', x=515.50, y=18.00, z=96.50], EntityZombie['Zombie'/159, l='MpServer', x=670.50, y=19.00, z=205.50], EntityZombie['Zombie'/31, l='MpServer', x=516.50, y=31.00, z=109.50], EntityCreeper['Creeper'/160, l='MpServer', x=669.50, y=19.00, z=204.50], EntitySpider['Spider'/32, l='MpServer', x=515.50, y=18.00, z=98.50], EntityCreeper['Creeper'/33, l='MpServer', x=527.50, y=51.00, z=176.50], EntityZombie['Zombie'/34, l='MpServer', x=517.50, y=32.00, z=217.50], EntityZombie['Zombie'/37, l='MpServer', x=533.50, y=23.00, z=119.50], EntityCreeper['Creeper'/39, l='MpServer', x=559.50, y=24.00, z=168.50], EntityBat['Bat'/40, l='MpServer', x=554.48, y=18.69, z=168.06], EntityBat['Bat'/41, l='MpServer', x=548.62, y=19.35, z=176.75], EntityBat['Bat'/42, l='MpServer', x=545.31, y=20.06, z=173.38], EntityCreeper['Creeper'/43, l='MpServer', x=554.09, y=56.00, z=171.75], EntityBat['Bat'/44, l='MpServer', x=548.76, y=18.81, z=172.55], EntityCreeper['Creeper'/45, l='MpServer', x=553.50, y=57.00, z=191.50], EntityZombie['Zombie'/46, l='MpServer', x=554.50, y=57.00, z=192.50], EntitySkeleton['Skeleton'/53, l='MpServer', x=574.50, y=55.00, z=140.50], EntityZombie['Zombie'/54, l='MpServer', x=573.50, y=40.00, z=153.50], EntitySkeleton['Skeleton'/55, l='MpServer', x=572.63, y=39.00, z=155.66], EntityCreeper['Creeper'/56, l='MpServer', x=572.94, y=39.00, z=154.44], EntityCreeper['Creeper'/57, l='MpServer', x=573.50, y=40.00, z=158.50], EntityEnderman['Enderman'/58, l='MpServer', x=573.28, y=39.00, z=157.22], EntityWitch['Witch'/59, l='MpServer', x=573.50, y=43.00, z=184.50], EntityWitch['Witch'/60, l='MpServer', x=572.50, y=43.00, z=183.50], EntityBat['Bat'/62, l='MpServer', x=581.93, y=54.21, z=133.50], EntitySkeleton['Skeleton'/63, l='MpServer', x=583.34, y=54.00, z=140.22], EntityBat['Bat'/64, l='MpServer', x=581.67, y=52.04, z=130.16], EntitySkeleton['Skeleton'/65, l='MpServer', x=583.66, y=22.00, z=170.84], EntityBat['Bat'/66, l='MpServer', x=578.60, y=29.19, z=161.03], EntityCreeper['Creeper'/67, l='MpServer', x=589.56, y=31.00, z=192.94], EntitySkeleton['Skeleton'/78, l='MpServer', x=597.50, y=56.00, z=109.50], EntityCreeper['Creeper'/79, l='MpServer', x=600.50, y=54.00, z=128.50], EntityCreeper['Creeper'/80, l='MpServer', x=603.50, y=54.00, z=128.50], EntityZombie['Zombie'/81, l='MpServer', x=604.53, y=55.00, z=129.03], EntityPlayerSP['Player788'/203, l='MpServer', x=593.06, y=67.00, z=171.76], EntitySkeleton['Skeleton'/82, l='MpServer', x=594.16, y=23.00, z=174.47], EntitySkeleton['Skeleton'/83, l='MpServer', x=593.06, y=20.00, z=166.53], EntityZombie['Zombie'/109, l='MpServer', x=617.50, y=36.00, z=181.50], EntitySkeleton['Skeleton'/110, l='MpServer', x=621.73, y=37.00, z=179.74], EntityCreeper['Creeper'/124, l='MpServer', x=635.50, y=24.00, z=198.50], EntityCreeper['Creeper'/125, l='MpServer', x=637.50, y=24.00, z=198.50], EntityBat['Bat'/126, l='MpServer', x=632.15, y=26.70, z=199.88], EntityBat['Bat'/127, l='MpServer', x=632.75, y=20.09, z=227.88]]
- Retry entities: 0 total; []
- Server brand: vanilla
- Server type: Integrated singleplayer server
-Stacktrace:
- at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:401)
- at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2754)
- at net.minecraft.client.Minecraft.run(Minecraft.java:444)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-
--- System Details --
-Details:
- Minecraft Version: 1.8.8
- Operating System: Windows 10 (amd64) version 10.0
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- Java Version: 1.8.0_202, Oracle Corporation
- Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
- Memory: 434782008 bytes (414 MB) / 819986432 bytes (782 MB) up to 3801088000 bytes (3625 MB)
- JVM Flags: 0 total;
- IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 99
- Launched Version: mcp
- LWJGL: 2.9.4
- OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 4.6.0 NVIDIA 532.03, NVIDIA Corporation
- GL Caps: Using GL 1.3 multitexturing.
-Using GL 1.3 texture combiners.
-Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
-Shaders are available because OpenGL 2.1 is supported.
-VBOs are available because OpenGL 1.5 is supported.
-
- Using VBOs: No
- Is Modded: Very likely; Jar signature invalidated
- Type: Client (map_client.txt)
- Resource Packs:
- Current Language: English (US)
- Profiler Position: N/A (disabled)
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- OptiFine Version: OptiFine_1.8.8_HD_U_H8
- Render Distance Chunks: 12
- Mipmaps: 4
- Anisotropic Filtering: 1
- Antialiasing: 0
- Multitexture: false
- Shaders: null
- OpenGlVersion: 4.6.0 NVIDIA 532.03
- OpenGlRenderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2
- OpenGlVendor: NVIDIA Corporation
- CpuCount: 12
\ No newline at end of file
diff --git a/workspace/crash-reports/crash-2023-06-01_22.00.14-client.txt b/workspace/crash-reports/crash-2023-06-01_22.00.14-client.txt
deleted file mode 100644
index fa0ddc35..00000000
--- a/workspace/crash-reports/crash-2023-06-01_22.00.14-client.txt
+++ /dev/null
@@ -1,97 +0,0 @@
----- Minecraft Crash Report ----
-// There are four lights!
-
-Time: 6/1/23 10:00 PM
-Description: Rendering screen
-
-java.lang.ExceptionInInitializerError
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
- at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1389)
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1131)
- at net.minecraft.client.Minecraft.run(Minecraft.java:423)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-Caused by: java.lang.NullPointerException
- at rip.athena.client.font.CustomFont.setupTexture(CustomFont.java:43)
- at rip.athena.client.font.CustomFont.(CustomFont.java:32)
- at rip.athena.client.font.FontUtils.(FontUtils.java:37)
- at rip.athena.client.font.FontUtils.(FontUtils.java:33)
- at rip.athena.client.font.FontManager.(FontManager.java:9)
- ... 6 more
-
-
-A detailed walkthrough of the error, its code path and all known details is as follows:
----------------------------------------------------------------------------------------
-
--- Head --
-Stacktrace:
- at rip.athena.client.gui.hud.IngameMenu.drawScreen(IngameMenu.java:128)
-
--- Screen render details --
-Details:
- Screen name: rip.athena.client.gui.hud.IngameMenu
- Mouse location: Scaled: (213, 119). Absolute: (427, 240)
- Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2
-
--- Affected level --
-Details:
- Level name: MpServer
- All players: 1 total; [EntityPlayerSP['Player312'/203, l='MpServer', x=593.06, y=67.00, z=171.76]]
- Chunk stats: MultiplayerChunkCache: 140, 140
- Level seed: 0
- Level generator: ID 02 - largeBiomes, ver 0. Features enabled: false
- Level generator options:
- Level spawn location: 584.00,64.00,166.00 - World: (584,64,166), Chunk: (at 8,4,6 in 36,10; contains blocks 576,0,160 to 591,255,175), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
- Level time: 1964 game time, 1344 day time
- Level dimension: 0
- Level storage version: 0x00000 - Unknown?
- Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
- Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
- Forced entities: 60 total; [EntityEnderman['Enderman'/137, l='MpServer', x=652.50, y=11.00, z=100.50], EntitySkeleton['Skeleton'/138, l='MpServer', x=648.35, y=11.00, z=100.35], EntityZombie['Zombie'/139, l='MpServer', x=652.50, y=11.00, z=101.50], EntityZombie['Zombie'/140, l='MpServer', x=651.50, y=11.00, z=100.50], EntityCreeper['Creeper'/141, l='MpServer', x=645.50, y=56.00, z=108.50], EntityCreeper['Creeper'/142, l='MpServer', x=642.50, y=51.00, z=113.50], EntityBat['Bat'/143, l='MpServer', x=643.50, y=36.00, z=145.27], EntityZombie['Zombie'/144, l='MpServer', x=651.50, y=37.00, z=175.50], EntityWitch['Witch'/145, l='MpServer', x=650.50, y=37.00, z=172.50], EntityBat['Bat'/146, l='MpServer', x=641.24, y=24.17, z=206.15], EntityBat['Bat'/147, l='MpServer', x=646.52, y=23.99, z=211.09], EntityBat['Bat'/148, l='MpServer', x=649.81, y=22.26, z=222.53], EntityBat['Bat'/156, l='MpServer', x=660.41, y=11.66, z=102.28], EntityBat['Bat'/157, l='MpServer', x=663.40, y=11.05, z=104.16], EntityCreeper['Creeper'/29, l='MpServer', x=514.41, y=18.00, z=100.34], EntityZombie['Zombie'/158, l='MpServer', x=656.50, y=11.00, z=99.50], EntityZombie['Zombie'/30, l='MpServer', x=515.50, y=18.00, z=96.50], EntityZombie['Zombie'/159, l='MpServer', x=670.50, y=19.00, z=205.50], EntityZombie['Zombie'/31, l='MpServer', x=516.50, y=31.00, z=109.50], EntityCreeper['Creeper'/160, l='MpServer', x=669.50, y=19.00, z=204.50], EntitySpider['Spider'/32, l='MpServer', x=515.50, y=18.00, z=98.50], EntityCreeper['Creeper'/33, l='MpServer', x=527.50, y=51.00, z=176.50], EntityZombie['Zombie'/34, l='MpServer', x=517.50, y=32.00, z=217.50], EntityBat['Bat'/35, l='MpServer', x=513.21, y=46.96, z=215.24], EntityZombie['Zombie'/37, l='MpServer', x=533.50, y=23.00, z=119.50], EntityCreeper['Creeper'/39, l='MpServer', x=559.50, y=24.00, z=168.50], EntityBat['Bat'/40, l='MpServer', x=553.17, y=19.13, z=169.91], EntityBat['Bat'/41, l='MpServer', x=543.94, y=19.77, z=174.86], EntityBat['Bat'/42, l='MpServer', x=549.80, y=18.75, z=172.59], EntityCreeper['Creeper'/43, l='MpServer', x=554.09, y=56.00, z=171.75], EntityBat['Bat'/44, l='MpServer', x=549.16, y=19.63, z=173.91], EntityCreeper['Creeper'/45, l='MpServer', x=553.22, y=57.00, z=191.50], EntityZombie['Zombie'/46, l='MpServer', x=554.50, y=57.00, z=192.50], EntitySkeleton['Skeleton'/53, l='MpServer', x=574.50, y=55.00, z=140.50], EntityZombie['Zombie'/54, l='MpServer', x=573.50, y=40.00, z=153.50], EntitySkeleton['Skeleton'/55, l='MpServer', x=572.63, y=39.00, z=155.66], EntityCreeper['Creeper'/56, l='MpServer', x=572.94, y=39.00, z=154.44], EntityCreeper['Creeper'/57, l='MpServer', x=573.50, y=40.00, z=158.50], EntityEnderman['Enderman'/58, l='MpServer', x=573.28, y=39.00, z=157.22], EntityWitch['Witch'/59, l='MpServer', x=573.50, y=43.00, z=184.50], EntityWitch['Witch'/60, l='MpServer', x=572.50, y=43.00, z=183.50], EntityBat['Bat'/62, l='MpServer', x=578.07, y=52.58, z=130.58], EntitySkeleton['Skeleton'/63, l='MpServer', x=583.34, y=54.00, z=140.22], EntityBat['Bat'/64, l='MpServer', x=582.20, y=52.02, z=131.75], EntitySkeleton['Skeleton'/65, l='MpServer', x=583.66, y=22.00, z=170.84], EntityBat['Bat'/66, l='MpServer', x=577.55, y=30.14, z=162.38], EntityCreeper['Creeper'/67, l='MpServer', x=589.56, y=31.00, z=192.94], EntitySkeleton['Skeleton'/78, l='MpServer', x=597.50, y=56.00, z=109.50], EntityCreeper['Creeper'/79, l='MpServer', x=600.50, y=54.00, z=128.50], EntityCreeper['Creeper'/80, l='MpServer', x=603.50, y=54.00, z=128.50], EntityZombie['Zombie'/81, l='MpServer', x=604.10, y=55.00, z=129.34], EntityPlayerSP['Player312'/203, l='MpServer', x=593.06, y=67.00, z=171.76], EntitySkeleton['Skeleton'/82, l='MpServer', x=594.16, y=23.00, z=174.47], EntitySkeleton['Skeleton'/83, l='MpServer', x=593.06, y=20.00, z=166.53], EntityZombie['Zombie'/109, l='MpServer', x=617.50, y=36.00, z=181.50], EntitySkeleton['Skeleton'/110, l='MpServer', x=621.13, y=37.00, z=180.03], EntityCreeper['Creeper'/124, l='MpServer', x=635.50, y=24.00, z=198.50], EntityCreeper['Creeper'/125, l='MpServer', x=637.50, y=24.00, z=198.50], EntityBat['Bat'/126, l='MpServer', x=633.48, y=27.61, z=197.34], EntityBat['Bat'/127, l='MpServer', x=632.75, y=20.09, z=227.88]]
- Retry entities: 0 total; []
- Server brand: vanilla
- Server type: Integrated singleplayer server
-Stacktrace:
- at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:401)
- at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2754)
- at net.minecraft.client.Minecraft.run(Minecraft.java:444)
- at net.minecraft.client.main.Main.main(Main.java:113)
- at Start.main(Start.java:11)
-
--- System Details --
-Details:
- Minecraft Version: 1.8.8
- Operating System: Windows 10 (amd64) version 10.0
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- Java Version: 1.8.0_202, Oracle Corporation
- Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
- Memory: 387601408 bytes (369 MB) / 799014912 bytes (762 MB) up to 3801088000 bytes (3625 MB)
- JVM Flags: 0 total;
- IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 99
- Launched Version: mcp
- LWJGL: 2.9.4
- OpenGL: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 4.6.0 NVIDIA 532.03, NVIDIA Corporation
- GL Caps: Using GL 1.3 multitexturing.
-Using GL 1.3 texture combiners.
-Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
-Shaders are available because OpenGL 2.1 is supported.
-VBOs are available because OpenGL 1.5 is supported.
-
- Using VBOs: No
- Is Modded: Very likely; Jar signature invalidated
- Type: Client (map_client.txt)
- Resource Packs:
- Current Language: English (US)
- Profiler Position: N/A (disabled)
- CPU: 12x AMD Ryzen 5 5600X 6-Core Processor
- OptiFine Version: OptiFine_1.8.8_HD_U_H8
- Render Distance Chunks: 12
- Mipmaps: 4
- Anisotropic Filtering: 1
- Antialiasing: 0
- Multitexture: false
- Shaders: null
- OpenGlVersion: 4.6.0 NVIDIA 532.03
- OpenGlRenderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2
- OpenGlVendor: NVIDIA Corporation
- CpuCount: 12
\ No newline at end of file
diff --git a/workspace/hs_err_pid10488.log b/workspace/hs_err_pid10488.log
deleted file mode 100644
index b30889f1..00000000
--- a/workspace/hs_err_pid10488.log
+++ /dev/null
@@ -1,459 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffe922e366c, pid=10488, tid=0x0000000000000d18
-#
-# JRE version: Java(TM) SE Runtime Environment (8.0_202-b08) (build 1.8.0_202-b08)
-# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode windows-amd64 compressed oops)
-# Problematic frame:
-# C [igxelpicd64.dll+0x13366c]
-#
-# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
-#
-# If you would like to submit a bug report, please visit:
-# http://bugreport.java.com/bugreport/crash.jsp
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x000000001e965000): VMThread [stack: 0x00000000203e0000,0x00000000204e0000] [id=3352]
-
-siginfo: ExceptionCode=0xc0000005, reading address 0x00000000000356f8
-
-Registers:
-RAX=0x000000002998f208, RBX=0x000000002998f100, RCX=0x0000000000000000, RDX=0x0000000000000000
-RSP=0x00000000204de440, RBP=0x0000000000000000, RSI=0x000000002998f6d0, RDI=0x000000002984e5b0
-R8 =0x0000000000000014, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000000
-R12=0x0000000000000000, R13=0x000000003b7047a0, R14=0x000000000d184300, R15=0x0000000000000016
-RIP=0x00007ffe922e366c, EFLAGS=0x0000000000010202
-
-Top of Stack: (sp=0x00000000204de440)
-0x00000000204de440: 0000000029751b40 00007ffee6d3f070
-0x00000000204de450: 0000000000000002 00007ffee6f30eb4
-0x00000000204de460: 00000000000000c2 000000003cbb53a0
-0x00000000204de470: 000000002486c250 000000000000005d
-0x00000000204de480: 00000000298038f8 000000000d1843a7
-0x00000000204de490: 0000000000000000 000000000000000e
-0x00000000204de4a0: 0000000000000000 0000000000000000
-0x00000000204de4b0: 00000000204de5c0 00007ffe9245bc3c
-0x00000000204de4c0: 0000000029751b40 000000002984e5b0
-0x00000000204de4d0: 00007ffee6f09300 000095164b883a00
-0x00000000204de4e0: 0000000000000594 00007404195e0000
-0x00000000204de4f0: 0000000000000000 00007ffee6ead23b
-0x00000000204de500: 0000000000000001 00000000204de6b0
-0x00000000204de510: 0000000000000002 00000000003c0000
-0x00000000204de520: 00007ffee6ef79d0 00007ffe924519a0
-0x00000000204de530: 00000000000004b4 00000000003c1c04
-
-Instructions: (pc=0x00007ffe922e366c)
-0x00007ffe922e364c: 83 20 01 00 00 48 8d 04 d5 21 00 00 00 48 03 c2
-0x00007ffe922e365c: 48 8d 04 c3 48 85 c0 0f 85 ff 00 00 00 49 8b cb
-0x00007ffe922e366c: 48 3b 8d f8 56 03 00 0f 87 f3 02 00 00 4c 39 9b
-0x00007ffe922e367c: 48 06 00 00 0f 85 31 da 86 00 44 8b 97 c8 01 00
-
-
-Register to memory mapping:
-
-RAX=0x000000002998f208 is an unknown value
-RBX=0x000000002998f100 is an unknown value
-RCX=0x0000000000000000 is an unknown value
-RDX=0x0000000000000000 is an unknown value
-RSP=0x00000000204de440 is an unknown value
-RBP=0x0000000000000000 is an unknown value
-RSI=0x000000002998f6d0 is an unknown value
-RDI=0x000000002984e5b0 is an unknown value
-R8 =0x0000000000000014 is an unknown value
-R9 =0x0000000000000000 is an unknown value
-R10=0x0000000000000000 is an unknown value
-R11=0x0000000000000000 is an unknown value
-R12=0x0000000000000000 is an unknown value
-R13=0x000000003b7047a0 is an unknown value
-R14=0x000000000d184300 is an unknown value
-R15=0x0000000000000016 is an unknown value
-
-
-Stack: [0x00000000203e0000,0x00000000204e0000], sp=0x00000000204de440, free space=1017k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-
-VM_Operation (0x0000000020adee40): Exit, mode: safepoint, requested by thread 0x0000000034c33000
-
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x0000000025bde000 JavaThread "AWT-Shutdown" [_thread_blocked, id=11036, stack(0x000000002f550000,0x000000002f650000)]
- 0x0000000034c33000 JavaThread "SIGINT handler" daemon [_thread_blocked, id=8736, stack(0x00000000209e0000,0x0000000020ae0000)]
- 0x0000000034c31000 JavaThread "File IO Thread" [_thread_blocked, id=4460, stack(0x0000000026890000,0x0000000026990000)]
- 0x0000000034c2c800 JavaThread "Netty Server IO #1" daemon [_thread_in_native, id=17588, stack(0x0000000043da0000,0x0000000043ea0000)]
- 0x00000000266cc000 JavaThread "Netty Local Client IO #0" daemon [_thread_blocked, id=12064, stack(0x0000000043ca0000,0x0000000043da0000)]
- 0x00000000266c7800 JavaThread "Netty Server IO #0" daemon [_thread_in_native, id=13496, stack(0x00000000437e0000,0x00000000438e0000)]
- 0x00000000266c9800 JavaThread "Server thread" [_thread_blocked, id=10988, stack(0x00000000434d0000,0x00000000435d0000)]
- 0x00000000266cd800 JavaThread "Snooper Timer" daemon [_thread_blocked, id=16996, stack(0x00000000431d0000,0x00000000432d0000)]
- 0x00000000266cb000 JavaThread "LWJGL Timer" daemon [_thread_blocked, id=1628, stack(0x000000003c090000,0x000000003c190000)]
- 0x00000000266cc800 JavaThread "Chunk Batcher 1" daemon [_thread_blocked, id=8136, stack(0x0000000032dc0000,0x0000000032ec0000)]
- 0x00000000266ca800 JavaThread "Chunk Batcher 0" daemon [_thread_blocked, id=7324, stack(0x00000000322a0000,0x00000000323a0000)]
- 0x00000000266c8000 JavaThread "Thread-8" [_thread_blocked, id=14904, stack(0x00000000324a0000,0x00000000325a0000)]
- 0x0000000026c16000 JavaThread "Thread-7" [_thread_blocked, id=13048, stack(0x00000000323a0000,0x00000000324a0000)]
- 0x0000000022f2f000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=16920, stack(0x0000000027fd0000,0x00000000280d0000)]
- 0x0000000026805800 JavaThread "Timer hack thread" daemon [_thread_blocked, id=10824, stack(0x0000000027ed0000,0x0000000027fd0000)]
- 0x0000000025ff5800 JavaThread "Snooper Timer" daemon [_thread_blocked, id=7556, stack(0x00000000255c0000,0x00000000256c0000)]
- 0x000000001eae4000 JavaThread "Service Thread" daemon [_thread_blocked, id=19528, stack(0x00000000219e0000,0x0000000021ae0000)]
- 0x000000001ea51000 JavaThread "C1 CompilerThread11" daemon [_thread_blocked, id=13728, stack(0x00000000218e0000,0x00000000219e0000)]
- 0x000000001ea47800 JavaThread "C1 CompilerThread10" daemon [_thread_blocked, id=20384, stack(0x00000000217e0000,0x00000000218e0000)]
- 0x000000001ea3e800 JavaThread "C1 CompilerThread9" daemon [_thread_blocked, id=17456, stack(0x00000000216e0000,0x00000000217e0000)]
- 0x000000001ea3c000 JavaThread "C1 CompilerThread8" daemon [_thread_blocked, id=19228, stack(0x00000000215e0000,0x00000000216e0000)]
- 0x000000001ea33000 JavaThread "C2 CompilerThread7" daemon [_thread_blocked, id=7512, stack(0x00000000214e0000,0x00000000215e0000)]
- 0x000000001ea30800 JavaThread "C2 CompilerThread6" daemon [_thread_blocked, id=16684, stack(0x00000000213e0000,0x00000000214e0000)]
- 0x000000001ea2e800 JavaThread "C2 CompilerThread5" daemon [_thread_blocked, id=21096, stack(0x00000000212e0000,0x00000000213e0000)]
- 0x000000001ea2e000 JavaThread "C2 CompilerThread4" daemon [_thread_blocked, id=11960, stack(0x00000000210e0000,0x00000000211e0000)]
- 0x000000001ea2d000 JavaThread "C2 CompilerThread3" daemon [_thread_blocked, id=15020, stack(0x0000000020fe0000,0x00000000210e0000)]
- 0x000000001ea2a800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=17128, stack(0x0000000020ee0000,0x0000000020fe0000)]
- 0x000000001ea23800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=16448, stack(0x0000000020de0000,0x0000000020ee0000)]
- 0x000000001ea21800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=13936, stack(0x0000000020ce0000,0x0000000020de0000)]
- 0x000000001e9bf800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=20076, stack(0x0000000020ae0000,0x0000000020be0000)]
- 0x000000001e9a7800 JavaThread "Attach Listener" daemon [_thread_blocked, id=9932, stack(0x00000000208e0000,0x00000000209e0000)]
- 0x000000001e9a6800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=9524, stack(0x00000000207e0000,0x00000000208e0000)]
- 0x000000001e98e000 JavaThread "Finalizer" daemon [_thread_blocked, id=11712, stack(0x00000000205e0000,0x00000000206e0000)]
- 0x000000001e987800 JavaThread "Reference Handler" daemon [_thread_blocked, id=18184, stack(0x00000000204e0000,0x00000000205e0000)]
- 0x0000000002b44800 JavaThread "Client thread" [_thread_blocked, id=11152, stack(0x0000000002580000,0x0000000002680000)]
-
-Other Threads:
-=>0x000000001e965000 VMThread [stack: 0x00000000203e0000,0x00000000204e0000] [id=3352]
-
-VM state:at safepoint (shutting down)
-
-VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
-[0x0000000002b41cd0] Threads_lock - owner thread: 0x000000001e965000
-
-heap address: 0x00000006c5a00000, size: 4006 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
-Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
-Compressed class space size: 1073741824 Address: 0x00000007c0000000
-
-Heap:
- PSYoungGen total 831488K, used 31280K [0x000000076c900000, 0x00000007a1000000, 0x00000007c0000000)
- eden space 804864K, 2% used [0x000000076c900000,0x000000076d964210,0x000000079db00000)
- from space 26624K, 54% used [0x000000079db00000,0x000000079e928000,0x000000079f500000)
- to space 25600K, 0% used [0x000000079f700000,0x000000079f700000,0x00000007a1000000)
- ParOldGen total 764416K, used 426784K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfac8050,0x00000006f4480000)
- Metaspace used 46923K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5434K, capacity 5575K, committed 5632K, reserved 1048576K
-
-Card table byte_map: [0x0000000012000000,0x00000000127e0000] byte_map_base: 0x000000000e9d3000
-
-Marking Bits: (ParMarkBitMap*) 0x0000000060ce5ce0
- Begin Bits: [0x0000000013c20000, 0x0000000017ab8000)
- End Bits: [0x0000000017ab8000, 0x000000001b950000)
-
-Polling page: 0x0000000000b00000
-
-CodeCache: size=245760Kb used=39523Kb max_used=41185Kb free=206236Kb
- bounds [0x0000000002c40000, 0x0000000005520000, 0x0000000011c40000]
- total_blobs=9368 nmethods=8477 adapters=807
- compilation: enabled
-
-Compilation events (10 events):
-Event: 1025.000 Thread 0x000000001ea51000 12696 1 java.lang.StackTraceElement::getClassName (5 bytes)
-Event: 1025.000 Thread 0x000000001ea51000 nmethod 12696 0x0000000003c460d0 code [0x0000000003c46220, 0x0000000003c46330]
-Event: 1025.000 Thread 0x000000001ea3c000 nmethod 12694 0x0000000003464d90 code [0x0000000003464ee0, 0x00000000034650f0]
-Event: 1025.001 Thread 0x000000001ea3e800 12697 1 sun.nio.cs.StreamEncoder::isOpen (5 bytes)
-Event: 1025.001 Thread 0x000000001ea3e800 nmethod 12697 0x000000000348e250 code [0x000000000348e3a0, 0x000000000348e4b0]
-Event: 1025.001 Thread 0x000000001ea21800 12698 4 java.lang.String::valueOf (14 bytes)
-Event: 1025.002 Thread 0x000000001ea47800 nmethod 12695 0x0000000003d34590 code [0x0000000003d346e0, 0x0000000003d347f0]
-Event: 1025.002 Thread 0x000000001ea21800 nmethod 12698 0x000000000456cd50 code [0x000000000456ce80, 0x000000000456cef8]
-Event: 1025.005 Thread 0x000000001ea47800 12699 s 3 java.io.ExpiringCache::clear (10 bytes)
-Event: 1025.005 Thread 0x000000001ea47800 nmethod 12699 0x0000000003b4e590 code [0x0000000003b4e700, 0x0000000003b4ea88]
-
-GC Heap History (10 events):
-Event: 982.494 GC heap before
-{Heap before GC invocations=120 (full 7):
- PSYoungGen total 827904K, used 812224K [0x000000076c900000, 0x00000007a1200000, 0x00000007c0000000)
- eden space 797696K, 100% used [0x000000076c900000,0x000000079d400000,0x000000079d400000)
- from space 30208K, 48% used [0x000000079f480000,0x00000007a02b0000,0x00000007a1200000)
- to space 31744K, 0% used [0x000000079d400000,0x000000079d400000,0x000000079f300000)
- ParOldGen total 764416K, used 426744K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfabe050,0x00000006f4480000)
- Metaspace used 46903K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5430K, capacity 5575K, committed 5632K, reserved 1048576K
-Event: 982.497 GC heap after
-Heap after GC invocations=120 (full 7):
- PSYoungGen total 829440K, used 14336K [0x000000076c900000, 0x00000007a1280000, 0x00000007c0000000)
- eden space 797696K, 0% used [0x000000076c900000,0x000000076c900000,0x000000079d400000)
- from space 31744K, 45% used [0x000000079d400000,0x000000079e200000,0x000000079f300000)
- to space 30208K, 0% used [0x000000079f500000,0x000000079f500000,0x00000007a1280000)
- ParOldGen total 764416K, used 426744K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfabe050,0x00000006f4480000)
- Metaspace used 46903K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5430K, capacity 5575K, committed 5632K, reserved 1048576K
-}
-Event: 992.395 GC heap before
-{Heap before GC invocations=121 (full 7):
- PSYoungGen total 829440K, used 812032K [0x000000076c900000, 0x00000007a1280000, 0x00000007c0000000)
- eden space 797696K, 100% used [0x000000076c900000,0x000000079d400000,0x000000079d400000)
- from space 31744K, 45% used [0x000000079d400000,0x000000079e200000,0x000000079f300000)
- to space 30208K, 0% used [0x000000079f500000,0x000000079f500000,0x00000007a1280000)
- ParOldGen total 764416K, used 426744K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfabe050,0x00000006f4480000)
- Metaspace used 46905K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5430K, capacity 5575K, committed 5632K, reserved 1048576K
-Event: 992.399 GC heap after
-Heap after GC invocations=121 (full 7):
- PSYoungGen total 828416K, used 15744K [0x000000076c900000, 0x00000007a0f80000, 0x00000007c0000000)
- eden space 801280K, 0% used [0x000000076c900000,0x000000076c900000,0x000000079d780000)
- from space 27136K, 58% used [0x000000079f500000,0x00000007a0460000,0x00000007a0f80000)
- to space 28672K, 0% used [0x000000079d780000,0x000000079d780000,0x000000079f380000)
- ParOldGen total 764416K, used 426752K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfac0050,0x00000006f4480000)
- Metaspace used 46905K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5430K, capacity 5575K, committed 5632K, reserved 1048576K
-}
-Event: 1003.712 GC heap before
-{Heap before GC invocations=122 (full 7):
- PSYoungGen total 828416K, used 817024K [0x000000076c900000, 0x00000007a0f80000, 0x00000007c0000000)
- eden space 801280K, 100% used [0x000000076c900000,0x000000079d780000,0x000000079d780000)
- from space 27136K, 58% used [0x000000079f500000,0x00000007a0460000,0x00000007a0f80000)
- to space 28672K, 0% used [0x000000079d780000,0x000000079d780000,0x000000079f380000)
- ParOldGen total 764416K, used 426752K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfac0050,0x00000006f4480000)
- Metaspace used 46905K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5430K, capacity 5575K, committed 5632K, reserved 1048576K
-Event: 1003.716 GC heap after
-Heap after GC invocations=122 (full 7):
- PSYoungGen total 829952K, used 14656K [0x000000076c900000, 0x00000007a1080000, 0x00000007c0000000)
- eden space 801280K, 0% used [0x000000076c900000,0x000000076c900000,0x000000079d780000)
- from space 28672K, 51% used [0x000000079d780000,0x000000079e5d0000,0x000000079f380000)
- to space 27648K, 0% used [0x000000079f580000,0x000000079f580000,0x00000007a1080000)
- ParOldGen total 764416K, used 426768K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfac4050,0x00000006f4480000)
- Metaspace used 46905K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5430K, capacity 5575K, committed 5632K, reserved 1048576K
-}
-Event: 1014.585 GC heap before
-{Heap before GC invocations=123 (full 7):
- PSYoungGen total 829952K, used 815936K [0x000000076c900000, 0x00000007a1080000, 0x00000007c0000000)
- eden space 801280K, 100% used [0x000000076c900000,0x000000079d780000,0x000000079d780000)
- from space 28672K, 51% used [0x000000079d780000,0x000000079e5d0000,0x000000079f380000)
- to space 27648K, 0% used [0x000000079f580000,0x000000079f580000,0x00000007a1080000)
- ParOldGen total 764416K, used 426768K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfac4050,0x00000006f4480000)
- Metaspace used 46905K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5430K, capacity 5575K, committed 5632K, reserved 1048576K
-Event: 1014.590 GC heap after
-Heap after GC invocations=123 (full 7):
- PSYoungGen total 830976K, used 14496K [0x000000076c900000, 0x00000007a0f00000, 0x00000007c0000000)
- eden space 804864K, 0% used [0x000000076c900000,0x000000076c900000,0x000000079db00000)
- from space 26112K, 55% used [0x000000079f580000,0x00000007a03a8000,0x00000007a0f00000)
- to space 26624K, 0% used [0x000000079db00000,0x000000079db00000,0x000000079f500000)
- ParOldGen total 764416K, used 426768K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfac4050,0x00000006f4480000)
- Metaspace used 46905K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5430K, capacity 5575K, committed 5632K, reserved 1048576K
-}
-Event: 1025.045 GC heap before
-{Heap before GC invocations=124 (full 7):
- PSYoungGen total 830976K, used 819360K [0x000000076c900000, 0x00000007a0f00000, 0x00000007c0000000)
- eden space 804864K, 100% used [0x000000076c900000,0x000000079db00000,0x000000079db00000)
- from space 26112K, 55% used [0x000000079f580000,0x00000007a03a8000,0x00000007a0f00000)
- to space 26624K, 0% used [0x000000079db00000,0x000000079db00000,0x000000079f500000)
- ParOldGen total 764416K, used 426768K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfac4050,0x00000006f4480000)
- Metaspace used 46923K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5434K, capacity 5575K, committed 5632K, reserved 1048576K
-Event: 1025.048 GC heap after
-Heap after GC invocations=124 (full 7):
- PSYoungGen total 831488K, used 14496K [0x000000076c900000, 0x00000007a1000000, 0x00000007c0000000)
- eden space 804864K, 0% used [0x000000076c900000,0x000000076c900000,0x000000079db00000)
- from space 26624K, 54% used [0x000000079db00000,0x000000079e928000,0x000000079f500000)
- to space 25600K, 0% used [0x000000079f700000,0x000000079f700000,0x00000007a1000000)
- ParOldGen total 764416K, used 426784K [0x00000006c5a00000, 0x00000006f4480000, 0x000000076c900000)
- object space 764416K, 55% used [0x00000006c5a00000,0x00000006dfac8050,0x00000006f4480000)
- Metaspace used 46923K, capacity 47427K, committed 47576K, reserved 1091584K
- class space used 5434K, capacity 5575K, committed 5632K, reserved 1048576K
-}
-
-Deoptimization events (10 events):
-Event: 1024.992 Thread 0x00000000266c7800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000035f6c80 method=io.netty.util.internal.MpscLinkedQueue.offer(Ljava/lang/Object;)Z @ 18
-Event: 1024.992 Thread 0x00000000266c9000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000031bbd88 method=org.apache.logging.log4j.status.StatusLogger.isEnabled(Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;)Z @ 18
-Event: 1024.996 Thread 0x00000000266c7800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004012a14 method=io.netty.util.internal.MpscLinkedQueue.poll()Ljava/lang/Object; @ 26
-Event: 1024.996 Thread 0x00000000266c7800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004b065b4 method=io.netty.channel.AbstractChannelHandlerContext.executor()Lio/netty/util/concurrent/EventExecutor; @ 11
-Event: 1024.996 Thread 0x00000000266c7800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004b065b4 method=io.netty.channel.AbstractChannelHandlerContext.executor()Lio/netty/util/concurrent/EventExecutor; @ 11
-Event: 1024.996 Thread 0x00000000266c7800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004012a14 method=io.netty.util.internal.MpscLinkedQueue.poll()Ljava/lang/Object; @ 26
-Event: 1024.996 Thread 0x00000000266c9000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000421ffd4 method=java.text.SimpleDateFormat.zeroPaddingNumber(IIILjava/lang/StringBuffer;)V @ 118
-Event: 1024.996 Thread 0x00000000266c9000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000048e5c68 method=java.text.DecimalFormat.subformat(Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;ZZIIII)Ljava/lang/StringBuffer; @ 865
-Event: 1025.091 Thread 0x0000000034c33000 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x000000000305f044 method=java.util.AbstractCollection.toArray()[Ljava/lang/Object; @ 22
-Event: 1025.091 Thread 0x0000000034c33000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004944e50 method=java.util.Collections.reverse(Ljava/util/List;)V @ 1
-
-Classes redefined (1 events):
-Event: 0.142 Thread 0x000000001e965000 redefined class name=java.io.FileOutputStream, count=1
-
-Internal exceptions (10 events):
-Event: 1025.038 Thread 0x0000000026c16000 Exception (0x000000079aa9f820) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.042 Thread 0x0000000026c16000 Exception (0x000000079aa9fac8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.049 Thread 0x0000000026c16000 Exception (0x000000076d836a08) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.057 Thread 0x0000000026c16000 Exception (0x000000076d836cb0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.065 Thread 0x0000000026c16000 Exception (0x000000076d836f58) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.069 Thread 0x0000000026c16000 Exception (0x000000076d837200) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.075 Thread 0x0000000026c16000 Exception (0x000000076d8374a8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.078 Thread 0x0000000026c16000 Exception (0x000000076d837750) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.083 Thread 0x0000000026c16000 Exception (0x000000076d8379f8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 1025.088 Thread 0x0000000026c16000 Exception (0x000000076d837ca0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-
-Events (10 events):
-Event: 1025.088 Thread 0x0000000026c16000 DEOPT PACKING pc=0x000000000455d45c sp=0x000000003249f170
-Event: 1025.088 Thread 0x0000000026c16000 DEOPT UNPACKING pc=0x0000000002c87890 sp=0x000000003249ee88 mode 1
-Event: 1025.090 Thread 0x0000000034c2d000 Thread exited: 0x0000000034c2d000
-Event: 1025.091 Thread 0x0000000034c33000 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x000000000305f044
-Event: 1025.091 Thread 0x0000000034c33000 DEOPT PACKING pc=0x000000000305f044 sp=0x0000000020adece0
-Event: 1025.091 Thread 0x0000000034c33000 DEOPT UNPACKING pc=0x0000000002c8583b sp=0x0000000020adeca8 mode 2
-Event: 1025.091 Thread 0x0000000034c33000 Uncommon trap: trap_request=0xffffffde fr.pc=0x0000000004944e50
-Event: 1025.091 Thread 0x0000000034c33000 DEOPT PACKING pc=0x0000000004944e50 sp=0x0000000020adecf0
-Event: 1025.091 Thread 0x0000000034c33000 DEOPT UNPACKING pc=0x0000000002c8583b sp=0x0000000020aded28 mode 2
-Event: 1025.092 Executing VM operation: Exit
-
-
-Dynamic libraries:
-0x00007ff75c730000 - 0x00007ff75c767000 C:\Program Files\Java\jdk1.8.0_202\bin\java.exe
-0x00007ffee6e90000 - 0x00007ffee7088000 C:\WINDOWS\SYSTEM32\ntdll.dll
-0x00007ffee6bf0000 - 0x00007ffee6caf000 C:\WINDOWS\System32\KERNEL32.DLL
-0x00007ffee68f0000 - 0x00007ffee6be6000 C:\WINDOWS\System32\KERNELBASE.dll
-0x0000000073460000 - 0x000000007349b000 C:\WINDOWS\System32\cyinjct.dll
-0x00007ffee6770000 - 0x00007ffee677c000 C:\WINDOWS\System32\ntnativeapi.dll
-0x00007ffee6750000 - 0x00007ffee676e000 C:\WINDOWS\System32\cyvera.dll
-0x00007ffee66e0000 - 0x00007ffee6749000 C:\WINDOWS\System32\cyvrtrap.dll
-0x00007ffee5570000 - 0x00007ffee561f000 C:\WINDOWS\System32\ADVAPI32.dll
-0x00007ffee60e0000 - 0x00007ffee617e000 C:\WINDOWS\System32\msvcrt.dll
-0x00007ffee5220000 - 0x00007ffee52bc000 C:\WINDOWS\System32\sechost.dll
-0x00007ffee67c0000 - 0x00007ffee68e6000 C:\WINDOWS\System32\RPCRT4.dll
-0x00007ffee6cb0000 - 0x00007ffee6e4d000 C:\WINDOWS\System32\USER32.dll
-0x00007ffee4620000 - 0x00007ffee4642000 C:\WINDOWS\System32\win32u.dll
-0x00007ffee5fc0000 - 0x00007ffee5fec000 C:\WINDOWS\System32\GDI32.dll
-0x00007ffee49b0000 - 0x00007ffee4ac5000 C:\WINDOWS\System32\gdi32full.dll
-0x00007ffee4860000 - 0x00007ffee48fd000 C:\WINDOWS\System32\msvcp_win.dll
-0x00007ffee4650000 - 0x00007ffee4750000 C:\WINDOWS\System32\ucrtbase.dll
-0x00007ffec1bc0000 - 0x00007ffec1e5a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
-0x00007ffee5b00000 - 0x00007ffee5b30000 C:\WINDOWS\System32\IMM32.DLL
-0x0000000061400000 - 0x00000000614d2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\msvcr100.dll
-0x00000000604c0000 - 0x0000000060d65000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\server\jvm.dll
-0x00007ffee57c0000 - 0x00007ffee57c8000 C:\WINDOWS\System32\PSAPI.DLL
-0x00007ffedf6d0000 - 0x00007ffedf6d9000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
-0x00007ffee5f50000 - 0x00007ffee5fbb000 C:\WINDOWS\System32\WS2_32.dll
-0x00007ffec5030000 - 0x00007ffec5057000 C:\WINDOWS\SYSTEM32\WINMM.dll
-0x00007ffedddb0000 - 0x00007ffedddba000 C:\WINDOWS\SYSTEM32\VERSION.dll
-0x00007ffedc960000 - 0x00007ffedc96f000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\verify.dll
-0x00007ffeca120000 - 0x00007ffeca149000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\java.dll
-0x00007ffed8fa0000 - 0x00007ffed8fd5000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\jdwp.dll
-0x00007ffeda810000 - 0x00007ffeda818000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\npt.dll
-0x00007ffed8f70000 - 0x00007ffed8f93000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\instrument.dll
-0x00007ffee66a0000 - 0x00007ffee66d7000 C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-0x00007ffed4290000 - 0x00007ffed42a6000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\zip.dll
-0x00007ffee4ad0000 - 0x00007ffee5214000 C:\WINDOWS\System32\SHELL32.dll
-0x00007ffee1f40000 - 0x00007ffee26d3000 C:\WINDOWS\SYSTEM32\windows.storage.dll
-0x00007ffee5b30000 - 0x00007ffee5e84000 C:\WINDOWS\System32\combase.dll
-0x00007ffee3dd0000 - 0x00007ffee3dfe000 C:\WINDOWS\SYSTEM32\Wldp.dll
-0x00007ffee6180000 - 0x00007ffee622d000 C:\WINDOWS\System32\SHCORE.dll
-0x00007ffee5e90000 - 0x00007ffee5ee5000 C:\WINDOWS\System32\shlwapi.dll
-0x00007ffee4390000 - 0x00007ffee43af000 C:\WINDOWS\SYSTEM32\profapi.dll
-0x00007ffeda800000 - 0x00007ffeda809000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dt_socket.dll
-0x00007ffee3bb0000 - 0x00007ffee3c1a000 C:\WINDOWS\system32\mswsock.dll
-0x00007ffed8f60000 - 0x00007ffed8f6d000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\management.dll
-0x00007ffed3980000 - 0x00007ffed399a000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\net.dll
-0x00007ffed13d0000 - 0x00007ffed15bc000 C:\WINDOWS\SYSTEM32\urlmon.dll
-0x00007ffedcd00000 - 0x00007ffedcfb1000 C:\WINDOWS\SYSTEM32\iertutil.dll
-0x00007ffee3070000 - 0x00007ffee3098000 C:\WINDOWS\SYSTEM32\srvcli.dll
-0x00007ffee38b0000 - 0x00007ffee38bc000 C:\WINDOWS\SYSTEM32\netutils.dll
-0x00007ffed43d0000 - 0x00007ffed43e2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\nio.dll
-0x00007ffeab2e0000 - 0x00007ffeab2f7000 C:\WINDOWS\system32\napinsp.dll
-0x00007ffeab300000 - 0x00007ffeab31b000 C:\WINDOWS\system32\pnrpnsp.dll
-0x00007ffeded70000 - 0x00007ffeded85000 C:\WINDOWS\system32\wshbth.dll
-0x00007ffede0f0000 - 0x00007ffede10d000 C:\WINDOWS\system32\NLAapi.dll
-0x00007ffee3870000 - 0x00007ffee38ac000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
-0x00007ffee38c0000 - 0x00007ffee398b000 C:\WINDOWS\SYSTEM32\DNSAPI.dll
-0x00007ffee5850000 - 0x00007ffee5858000 C:\WINDOWS\System32\NSI.dll
-0x00007ffeab320000 - 0x00007ffeab332000 C:\WINDOWS\System32\winrnr.dll
-0x00007ffeddf50000 - 0x00007ffeddfd2000 C:\WINDOWS\System32\fwpuclnt.dll
-0x00007ffee4830000 - 0x00007ffee4857000 C:\WINDOWS\System32\bcrypt.dll
-0x00007ffedd130000 - 0x00007ffedd13a000 C:\Windows\System32\rasadhlp.dll
-0x0000000180000000 - 0x0000000180053000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\lwjgl64.dll
-0x00007ffea9980000 - 0x00007ffea9aa5000 C:\WINDOWS\SYSTEM32\OPENGL32.dll
-0x00007ffed8ca0000 - 0x00007ffed8ccc000 C:\WINDOWS\SYSTEM32\GLU32.dll
-0x00007ffee3e10000 - 0x00007ffee3e28000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
-0x00007ffee3370000 - 0x00007ffee33a4000 C:\WINDOWS\system32\rsaenh.dll
-0x00007ffee4310000 - 0x00007ffee433e000 C:\WINDOWS\SYSTEM32\USERENV.dll
-0x00007ffee4750000 - 0x00007ffee47d2000 C:\WINDOWS\System32\bcryptprimitives.dll
-0x00007ffee3d40000 - 0x00007ffee3d4c000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
-0x00007ffeddee0000 - 0x00007ffeddef7000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
-0x00007ffeddec0000 - 0x00007ffeddedd000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
-0x00007ffe931b0000 - 0x00007ffe93349000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\awt.dll
-0x00007ffee53f0000 - 0x00007ffee54bd000 C:\WINDOWS\System32\OLEAUT32.dll
-0x00007ffee1180000 - 0x00007ffee1211000 C:\WINDOWS\SYSTEM32\apphelp.dll
-0x00007ffeddb00000 - 0x00007ffeddbae000 C:\WINDOWS\SYSTEM32\mscms.dll
-0x00007ffedda90000 - 0x00007ffeddaa1000 C:\WINDOWS\SYSTEM32\ColorAdapterClient.dll
-0x00007ffee2d60000 - 0x00007ffee2d72000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll
-0x00007ffee54c0000 - 0x00007ffee5569000 C:\WINDOWS\System32\clbcatq.dll
-0x00007ffed06d0000 - 0x00007ffed0713000 C:\Windows\System32\Windows.Internal.Graphics.Display.DisplayColorManagement.dll
-0x00007ffee47e0000 - 0x00007ffee482e000 C:\WINDOWS\System32\cfgmgr32.dll
-0x00007ffee1820000 - 0x00007ffee18be000 C:\WINDOWS\system32\uxtheme.dll
-0x00007ffee5620000 - 0x00007ffee5734000 C:\WINDOWS\System32\MSCTF.dll
-0x00007ffec9a60000 - 0x00007ffec9b5a000 C:\WINDOWS\SYSTEM32\textinputframework.dll
-0x00007ffee0bf0000 - 0x00007ffee0f4e000 C:\WINDOWS\System32\CoreUIComponents.dll
-0x00007ffee0f50000 - 0x00007ffee1042000 C:\WINDOWS\System32\CoreMessaging.dll
-0x00007ffee35c0000 - 0x00007ffee35f3000 C:\WINDOWS\SYSTEM32\ntmarta.dll
-0x00007ffee0520000 - 0x00007ffee0674000 C:\WINDOWS\SYSTEM32\wintypes.dll
-0x00007ffed4fa0000 - 0x00007ffed50a4000 C:\Windows\System32\AppXDeploymentClient.dll
-0x00007ffe921b0000 - 0x00007ffe931a3000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igxelpicd64.dll
-0x00007ffee52c0000 - 0x00007ffee53ea000 C:\WINDOWS\System32\ole32.dll
-0x00007ffee1950000 - 0x00007ffee197f000 C:\WINDOWS\system32\dwmapi.dll
-0x00007ffee2ae0000 - 0x00007ffee2bd3000 C:\WINDOWS\system32\dxgi.dll
-0x00007ffe90070000 - 0x00007ffe904c3000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdml64.dll
-0x00007ffecdc00000 - 0x00007ffecdfc7000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdgmm64.dll
-0x00007ffe815f0000 - 0x00007ffe81633000 C:\WINDOWS\SYSTEM32\icm32.dll
-0x00007ffeca5e0000 - 0x00007ffecdbf1000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igc64.dll
-0x00007ffee3990000 - 0x00007ffee39db000 C:\WINDOWS\SYSTEM32\powrprof.dll
-0x00007ffee3850000 - 0x00007ffee3862000 C:\WINDOWS\SYSTEM32\UMPDC.dll
-0x0000000026a70000 - 0x0000000026aa8000 C:\Users\remgab001\AppData\Local\Temp\jna\jna1866738200587367287.dll
-0x0000000070a40000 - 0x0000000070adc000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\avutil-ttv-51.dll
-0x0000000065980000 - 0x00000000659d6000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\swresample-ttv-0.dll
-0x000000006eb80000 - 0x000000006ec50000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmp3lame-ttv.dll
-0x00007ffe3a610000 - 0x00007ffe3b9b4000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmfxsw64.dll
-0x00007ffe9a350000 - 0x00007ffe9a4bd000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\twitchsdk.dll
-0x00007ffec4920000 - 0x00007ffec4df9000 C:\WINDOWS\SYSTEM32\WININET.dll
-0x00000000280d0000 - 0x0000000028134000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\OpenAL64.dll
-0x00007ffedbfa0000 - 0x00007ffedc025000 C:\WINDOWS\System32\MMDevApi.dll
-0x00007ffee4200000 - 0x00007ffee422c000 C:\WINDOWS\System32\DEVOBJ.dll
-0x00007ffe91f90000 - 0x00007ffe9202c000 C:\WINDOWS\SYSTEM32\dsound.dll
-0x00007ffec4e00000 - 0x00007ffec4e26000 C:\WINDOWS\SYSTEM32\winmmbase.dll
-0x00007ffedc0f0000 - 0x00007ffedc272000 C:\WINDOWS\SYSTEM32\AUDIOSES.DLL
-0x00007ffee1a60000 - 0x00007ffee1a74000 C:\WINDOWS\SYSTEM32\resourcepolicyclient.dll
-0x00007ffe954f0000 - 0x00007ffe95537000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\fontmanager.dll
-0x00007ffe8f2b0000 - 0x00007ffe8f2f2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\t2k.dll
-0x00007ffeb1190000 - 0x00007ffeb11ba000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dcpr.dll
-0x00007ffee27b0000 - 0x00007ffee2994000 C:\WINDOWS\SYSTEM32\dbghelp.dll
-
-VM Arguments:
-jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:61547,suspend=y,server=n -Djava.library.path=versions/1.8.8/1.8.8-natives/ -javaagent:C:\Users\remgab001\AppData\Local\JetBrains\IdeaIC2023.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -agentpath:C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-java_command: Start
-java_class_path (initial): C:\Program Files\Java\jdk1.8.0_202\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar;C:\Users\remgab001\Desktop\Athena-Client\target\classes;C:\Users\remgab001\.m2\repository\net\minecraft\minecraft\1.8.8\minecraft-1.8.8.jar;C:\Users\remgab001\.m2\repository\org\json\json\20230227\json-20230227.jar;C:\Users\remgab001\.m2\repository\org\reflections\reflections\0.10.2\reflections-0.10.2.jar;C:\Users\remgab001\.m2\repository\org\javassist\javassist\3.28.0-GA\javassist-3.28.0-GA.jar;C:\Users\remgab001\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\remgab001\.m2\repository\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;C:\Users\remgab001\.m2\repository\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-PATH=C:\Program Files\Google\Chrome\Application;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\remgab001\AppData\Local\Microsoft\WindowsApps;C:\Users\remgab001\AppData\Roaming\npm;C:\Users\remgab001\AppData\Local\Programs\Microsoft VS Code\bin
-USERNAME=remgab001
-OS=Windows_NT
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 154 Stepping 3, GenuineIntel
-
-
-
---------------- S Y S T E M ---------------
-
-OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.2913)
-
-CPU:total 20 (initial active 20) (10 cores per cpu, 2 threads per core) family 6 model 154 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
-
-Memory: 4k page, physical 16400820k(1983436k free), swap 33178036k(12085124k free)
-
-vm_info: Java HotSpot(TM) 64-Bit Server VM (25.202-b08) for windows-amd64 JRE (1.8.0_202-b08), built on Dec 15 2018 19:54:30 by "java_re" with MS VC++ 10.0 (VS2010)
-
-time: Fri Jun 02 13:00:05 2023
-timezone: Vest-Europa (sommertid)
-elapsed time: 1025 seconds (0d 0h 17m 5s)
-
diff --git a/workspace/hs_err_pid11320.log b/workspace/hs_err_pid11320.log
deleted file mode 100644
index 50c85d12..00000000
--- a/workspace/hs_err_pid11320.log
+++ /dev/null
@@ -1,456 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffe9248366c, pid=11320, tid=0x0000000000002f00
-#
-# JRE version: Java(TM) SE Runtime Environment (8.0_202-b08) (build 1.8.0_202-b08)
-# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode windows-amd64 compressed oops)
-# Problematic frame:
-# C [igxelpicd64.dll+0x13366c]
-#
-# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
-#
-# If you would like to submit a bug report, please visit:
-# http://bugreport.java.com/bugreport/crash.jsp
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x000000001e7f4800): VMThread [stack: 0x0000000020270000,0x0000000020370000] [id=12032]
-
-siginfo: ExceptionCode=0xc0000005, reading address 0x00000000000356f8
-
-Registers:
-RAX=0x000000003a6b8a68, RBX=0x000000003a6b8960, RCX=0x0000000000000000, RDX=0x0000000000000000
-RSP=0x000000002036e550, RBP=0x0000000000000000, RSI=0x000000003a6b8f30, RDI=0x0000000029dbaa40
-R8 =0x0000000000000014, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000000
-R12=0x0000000000000000, R13=0x000000003a6b8ff0, R14=0x00000000008afd00, R15=0x0000000000000016
-RIP=0x00007ffe9248366c, EFLAGS=0x0000000000010202
-
-Top of Stack: (sp=0x000000002036e550)
-0x000000002036e550: 0000000000712430 00007ffee6d3f070
-0x000000002036e560: 0000000000000002 00007ffee6f30eb4
-0x000000002036e570: 000000000000ffff 00000000274b0180
-0x000000002036e580: 00000000247b3000 000000000000000d
-0x000000002036e590: 0000000028290478 00000000008afd03
-0x000000002036e5a0: 0000000000000000 000000000000000d
-0x000000002036e5b0: 0000000000000000 0000000000000000
-0x000000002036e5c0: 000000002036e6d0 00007ffe925fbc3c
-0x000000002036e5d0: 0000000000712430 0000000029dbaa40
-0x000000002036e5e0: 00007ffee6f09300 000000001e7f3900
-0x000000002036e5f0: 0000000000002204 000074041d3a0000
-0x000000002036e600: 0000000000000000 00007ffee6ead23b
-0x000000002036e610: 0000000000000001 000000002036e7c0
-0x000000002036e620: 0000000000000002 0000000000360000
-0x000000002036e630: 00007ffee6ef79d0 00007ffe925f19a0
-0x000000002036e640: 00000000000004b4 0000000000361c04
-
-Instructions: (pc=0x00007ffe9248366c)
-0x00007ffe9248364c: 83 20 01 00 00 48 8d 04 d5 21 00 00 00 48 03 c2
-0x00007ffe9248365c: 48 8d 04 c3 48 85 c0 0f 85 ff 00 00 00 49 8b cb
-0x00007ffe9248366c: 48 3b 8d f8 56 03 00 0f 87 f3 02 00 00 4c 39 9b
-0x00007ffe9248367c: 48 06 00 00 0f 85 31 da 86 00 44 8b 97 c8 01 00
-
-
-Register to memory mapping:
-
-RAX=0x000000003a6b8a68 is an unknown value
-RBX=0x000000003a6b8960 is an unknown value
-RCX=0x0000000000000000 is an unknown value
-RDX=0x0000000000000000 is an unknown value
-RSP=0x000000002036e550 is an unknown value
-RBP=0x0000000000000000 is an unknown value
-RSI=0x000000003a6b8f30 is an unknown value
-RDI=0x0000000029dbaa40 is an unknown value
-R8 =0x0000000000000014 is an unknown value
-R9 =0x0000000000000000 is an unknown value
-R10=0x0000000000000000 is an unknown value
-R11=0x0000000000000000 is an unknown value
-R12=0x0000000000000000 is an unknown value
-R13=0x000000003a6b8ff0 is an unknown value
-R14=0x00000000008afd00 is an unknown value
-R15=0x0000000000000016 is an unknown value
-
-
-Stack: [0x0000000020270000,0x0000000020370000], sp=0x000000002036e550, free space=1017k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-
-VM_Operation (0x000000002096efd0): Exit, mode: safepoint, requested by thread 0x00000000266d5800
-
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x000000001e850800 JavaThread "AWT-Shutdown" [_thread_blocked, id=16584, stack(0x0000000020a70000,0x0000000020b70000)]
- 0x00000000266d5800 JavaThread "SIGINT handler" daemon [_thread_blocked, id=1628, stack(0x0000000020870000,0x0000000020970000)]
- 0x00000000266da000 JavaThread "File IO Thread" [_thread_blocked, id=21108, stack(0x0000000030540000,0x0000000030640000)]
- 0x00000000266d8000 JavaThread "pool-2-thread-1" [_thread_blocked, id=10920, stack(0x0000000044d20000,0x0000000044e20000)]
- 0x000000001e852800 JavaThread "Netty Server IO #1" daemon [_thread_in_native, id=15252, stack(0x0000000044720000,0x0000000044820000)]
- 0x000000001e851000 JavaThread "Netty Local Client IO #0" daemon [_thread_blocked, id=9004, stack(0x0000000044620000,0x0000000044720000)]
- 0x000000001e852000 JavaThread "Netty Server IO #0" daemon [_thread_in_native, id=2508, stack(0x0000000033910000,0x0000000033a10000)]
- 0x0000000026512800 JavaThread "LWJGL Timer" daemon [_thread_blocked, id=12540, stack(0x0000000044320000,0x0000000044420000)]
- 0x0000000026517000 JavaThread "Chunk Batcher 1" daemon [_thread_blocked, id=4948, stack(0x00000000351e0000,0x00000000352e0000)]
- 0x0000000026511800 JavaThread "Chunk Batcher 0" daemon [_thread_blocked, id=8428, stack(0x00000000332c0000,0x00000000333c0000)]
- 0x000000001e854000 JavaThread "Thread-8" [_thread_blocked, id=19340, stack(0x0000000031060000,0x0000000031160000)]
- 0x00000000247b3000 JavaThread "Thread-7" [_thread_blocked, id=4800, stack(0x0000000033400000,0x0000000033500000)]
- 0x000000002650c800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=11916, stack(0x0000000027d70000,0x0000000027e70000)]
- 0x0000000028866800 JavaThread "Timer hack thread" daemon [_thread_blocked, id=15380, stack(0x0000000025620000,0x0000000025720000)]
- 0x00000000266d0800 JavaThread "Snooper Timer" daemon [_thread_blocked, id=12184, stack(0x0000000025520000,0x0000000025620000)]
- 0x000000001e979000 JavaThread "Service Thread" daemon [_thread_blocked, id=7188, stack(0x0000000021870000,0x0000000021970000)]
- 0x000000001e924000 JavaThread "C1 CompilerThread11" daemon [_thread_blocked, id=14876, stack(0x0000000021770000,0x0000000021870000)]
- 0x000000001e911000 JavaThread "C1 CompilerThread10" daemon [_thread_blocked, id=1780, stack(0x0000000021670000,0x0000000021770000)]
- 0x000000001e8f4000 JavaThread "C1 CompilerThread9" daemon [_thread_blocked, id=9052, stack(0x0000000021570000,0x0000000021670000)]
- 0x000000001e8e8800 JavaThread "C1 CompilerThread8" daemon [_thread_blocked, id=17544, stack(0x0000000021470000,0x0000000021570000)]
- 0x000000001e8d7800 JavaThread "C2 CompilerThread7" daemon [_thread_blocked, id=13580, stack(0x0000000021370000,0x0000000021470000)]
- 0x000000001e8cd000 JavaThread "C2 CompilerThread6" daemon [_thread_blocked, id=4876, stack(0x0000000021270000,0x0000000021370000)]
- 0x000000001e8c3000 JavaThread "C2 CompilerThread5" daemon [_thread_blocked, id=6740, stack(0x0000000021170000,0x0000000021270000)]
- 0x000000001e8c2800 JavaThread "C2 CompilerThread4" daemon [_thread_blocked, id=9668, stack(0x0000000021070000,0x0000000021170000)]
- 0x000000001e8c1800 JavaThread "C2 CompilerThread3" daemon [_thread_blocked, id=10308, stack(0x0000000020f70000,0x0000000021070000)]
- 0x000000001e8c1000 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=10084, stack(0x0000000020d70000,0x0000000020e70000)]
- 0x000000001e8ba000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=15680, stack(0x0000000020c70000,0x0000000020d70000)]
- 0x000000001e870800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=20464, stack(0x0000000020b70000,0x0000000020c70000)]
- 0x000000001e84f800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=12324, stack(0x0000000020970000,0x0000000020a70000)]
- 0x000000001e839800 JavaThread "Attach Listener" daemon [_thread_blocked, id=16776, stack(0x0000000020770000,0x0000000020870000)]
- 0x000000001e838000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5100, stack(0x0000000020670000,0x0000000020770000)]
- 0x000000001cb4b000 JavaThread "Finalizer" daemon [_thread_blocked, id=18188, stack(0x0000000020470000,0x0000000020570000)]
- 0x000000001e818000 JavaThread "Reference Handler" daemon [_thread_blocked, id=18324, stack(0x0000000020370000,0x0000000020470000)]
- 0x0000000002b64800 JavaThread "Client thread" [_thread_blocked, id=14088, stack(0x0000000002520000,0x0000000002620000)]
-
-Other Threads:
-=>0x000000001e7f4800 VMThread [stack: 0x0000000020270000,0x0000000020370000] [id=12032]
-
-VM state:at safepoint (shutting down)
-
-VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
-[0x0000000002b619d0] Threads_lock - owner thread: 0x000000001e7f4800
-
-heap address: 0x00000006c5a00000, size: 4006 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
-Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
-Compressed class space size: 1073741824 Address: 0x00000007c0000000
-
-Heap:
- PSYoungGen total 569344K, used 85208K [0x000000076c900000, 0x0000000799d00000, 0x00000007c0000000)
- eden space 516608K, 10% used [0x000000076c900000,0x000000076fceac00,0x000000078c180000)
- from space 52736K, 60% used [0x000000078c180000,0x000000078e0cb458,0x000000078f500000)
- to space 53248K, 0% used [0x0000000796900000,0x0000000796900000,0x0000000799d00000)
- ParOldGen total 253952K, used 121840K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0fc350,0x00000006d5200000)
- Metaspace used 45882K, capacity 46353K, committed 46592K, reserved 1089536K
- class space used 5407K, capacity 5548K, committed 5632K, reserved 1048576K
-
-Card table byte_map: [0x0000000012020000,0x0000000012800000] byte_map_base: 0x000000000e9f3000
-
-Marking Bits: (ParMarkBitMap*) 0x0000000060ce5ce0
- Begin Bits: [0x0000000013c40000, 0x0000000017ad8000)
- End Bits: [0x0000000017ad8000, 0x000000001b970000)
-
-Polling page: 0x00000000003f0000
-
-CodeCache: size=245760Kb used=32646Kb max_used=34735Kb free=213113Kb
- bounds [0x0000000002c60000, 0x0000000004e80000, 0x0000000011c60000]
- total_blobs=8169 nmethods=7285 adapters=800
- compilation: enabled
-
-Compilation events (10 events):
-Event: 67.947 Thread 0x000000001e911000 nmethod 9609 0x000000000406ff50 code [0x00000000040700c0, 0x00000000040703e8]
-Event: 67.947 Thread 0x000000001e911000 9610 3 sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl::getRawType (5 bytes)
-Event: 67.947 Thread 0x000000001e911000 nmethod 9610 0x0000000004191210 code [0x0000000004191360, 0x00000000041914d0]
-Event: 67.947 Thread 0x000000001e911000 9612 3 java.lang.Class::getGenericInterfaces (21 bytes)
-Event: 67.947 Thread 0x000000001e8e8800 nmethod 9613 0x00000000034c55d0 code [0x00000000034c57c0, 0x00000000034c6398]
-Event: 67.948 Thread 0x000000001e911000 nmethod 9612 0x00000000040a6d10 code [0x00000000040a6ea0, 0x00000000040a7188]
-Event: 67.948 Thread 0x000000001e8c1800 nmethod 9607 0x00000000033bdc90 code [0x00000000033bdde0, 0x00000000033bde68]
-Event: 67.948 Thread 0x000000001e8e8800 9614 3 java.util.concurrent.ConcurrentHashMap::comparableClassFor (105 bytes)
-Event: 67.948 Thread 0x000000001e924000 nmethod 9611 0x00000000040776d0 code [0x0000000004077900, 0x00000000040785e8]
-Event: 67.948 Thread 0x000000001e8e8800 nmethod 9614 0x000000000429f210 code [0x000000000429f420, 0x00000000042a0048]
-
-GC Heap History (10 events):
-Event: 11.125 GC heap before
-{Heap before GC invocations=20 (full 5):
- PSYoungGen total 373248K, used 342172K [0x000000076c900000, 0x000000078b700000, 0x00000007c0000000)
- eden space 326656K, 96% used [0x000000076c900000,0x000000077fc5f5a8,0x0000000780800000)
- from space 46592K, 58% used [0x0000000783680000,0x0000000785147c78,0x0000000786400000)
- to space 47616K, 0% used [0x0000000780800000,0x0000000780800000,0x0000000783680000)
- ParOldGen total 253952K, used 121800K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0f2350,0x00000006d5200000)
- Metaspace used 44256K, capacity 44691K, committed 44928K, reserved 1089536K
- class space used 5365K, capacity 5495K, committed 5504K, reserved 1048576K
-Event: 11.136 GC heap after
-Heap after GC invocations=20 (full 5):
- PSYoungGen total 374272K, used 29915K [0x000000076c900000, 0x000000078b700000, 0x00000007c0000000)
- eden space 326656K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000780800000)
- from space 47616K, 62% used [0x0000000780800000,0x0000000782536c98,0x0000000783680000)
- to space 49152K, 0% used [0x0000000788700000,0x0000000788700000,0x000000078b700000)
- ParOldGen total 253952K, used 121808K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0f4350,0x00000006d5200000)
- Metaspace used 44256K, capacity 44691K, committed 44928K, reserved 1089536K
- class space used 5365K, capacity 5495K, committed 5504K, reserved 1048576K
-}
-Event: 11.389 GC heap before
-{Heap before GC invocations=21 (full 5):
- PSYoungGen total 374272K, used 356571K [0x000000076c900000, 0x000000078b700000, 0x00000007c0000000)
- eden space 326656K, 100% used [0x000000076c900000,0x0000000780800000,0x0000000780800000)
- from space 47616K, 62% used [0x0000000780800000,0x0000000782536c98,0x0000000783680000)
- to space 49152K, 0% used [0x0000000788700000,0x0000000788700000,0x000000078b700000)
- ParOldGen total 253952K, used 121808K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0f4350,0x00000006d5200000)
- Metaspace used 44277K, capacity 44691K, committed 44928K, reserved 1089536K
- class space used 5365K, capacity 5495K, committed 5504K, reserved 1048576K
-Event: 11.401 GC heap after
-Heap after GC invocations=21 (full 5):
- PSYoungGen total 455680K, used 30139K [0x000000076c900000, 0x000000078c280000, 0x00000007c0000000)
- eden space 406528K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000785600000)
- from space 49152K, 61% used [0x0000000788700000,0x000000078a46ec98,0x000000078b700000)
- to space 50176K, 0% used [0x0000000785600000,0x0000000785600000,0x0000000788700000)
- ParOldGen total 253952K, used 121816K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0f6350,0x00000006d5200000)
- Metaspace used 44277K, capacity 44691K, committed 44928K, reserved 1089536K
- class space used 5365K, capacity 5495K, committed 5504K, reserved 1048576K
-}
-Event: 11.873 GC heap before
-{Heap before GC invocations=22 (full 5):
- PSYoungGen total 455680K, used 433316K [0x000000076c900000, 0x000000078c280000, 0x00000007c0000000)
- eden space 406528K, 99% used [0x000000076c900000,0x00000007852ba3f8,0x0000000785600000)
- from space 49152K, 61% used [0x0000000788700000,0x000000078a46ec98,0x000000078b700000)
- to space 50176K, 0% used [0x0000000785600000,0x0000000785600000,0x0000000788700000)
- ParOldGen total 253952K, used 121816K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0f6350,0x00000006d5200000)
- Metaspace used 44413K, capacity 44851K, committed 45056K, reserved 1089536K
- class space used 5374K, capacity 5527K, committed 5632K, reserved 1048576K
-Event: 11.892 GC heap after
-Heap after GC invocations=22 (full 5):
- PSYoungGen total 456704K, used 30120K [0x000000076c900000, 0x0000000792b00000, 0x00000007c0000000)
- eden space 406528K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000785600000)
- from space 50176K, 60% used [0x0000000785600000,0x000000078736a218,0x0000000788700000)
- to space 50688K, 0% used [0x000000078f980000,0x000000078f980000,0x0000000792b00000)
- ParOldGen total 253952K, used 121824K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0f8350,0x00000006d5200000)
- Metaspace used 44413K, capacity 44851K, committed 45056K, reserved 1089536K
- class space used 5374K, capacity 5527K, committed 5632K, reserved 1048576K
-}
-Event: 12.712 GC heap before
-{Heap before GC invocations=23 (full 5):
- PSYoungGen total 456704K, used 436648K [0x000000076c900000, 0x0000000792b00000, 0x00000007c0000000)
- eden space 406528K, 100% used [0x000000076c900000,0x0000000785600000,0x0000000785600000)
- from space 50176K, 60% used [0x0000000785600000,0x000000078736a218,0x0000000788700000)
- to space 50688K, 0% used [0x000000078f980000,0x000000078f980000,0x0000000792b00000)
- ParOldGen total 253952K, used 121824K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0f8350,0x00000006d5200000)
- Metaspace used 44461K, capacity 44851K, committed 45056K, reserved 1089536K
- class space used 5374K, capacity 5527K, committed 5632K, reserved 1048576K
-Event: 12.727 GC heap after
-Heap after GC invocations=23 (full 5):
- PSYoungGen total 564736K, used 34107K [0x000000076c900000, 0x0000000792880000, 0x00000007c0000000)
- eden space 516608K, 0% used [0x000000076c900000,0x000000076c900000,0x000000078c180000)
- from space 48128K, 70% used [0x000000078f980000,0x0000000791acef88,0x0000000792880000)
- to space 52736K, 0% used [0x000000078c180000,0x000000078c180000,0x000000078f500000)
- ParOldGen total 253952K, used 121832K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0fa350,0x00000006d5200000)
- Metaspace used 44461K, capacity 44851K, committed 45056K, reserved 1089536K
- class space used 5374K, capacity 5527K, committed 5632K, reserved 1048576K
-}
-Event: 46.906 GC heap before
-{Heap before GC invocations=24 (full 5):
- PSYoungGen total 564736K, used 550715K [0x000000076c900000, 0x0000000792880000, 0x00000007c0000000)
- eden space 516608K, 100% used [0x000000076c900000,0x000000078c180000,0x000000078c180000)
- from space 48128K, 70% used [0x000000078f980000,0x0000000791acef88,0x0000000792880000)
- to space 52736K, 0% used [0x000000078c180000,0x000000078c180000,0x000000078f500000)
- ParOldGen total 253952K, used 121832K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0fa350,0x00000006d5200000)
- Metaspace used 45841K, capacity 46353K, committed 46592K, reserved 1089536K
- class space used 5402K, capacity 5548K, committed 5632K, reserved 1048576K
-Event: 46.917 GC heap after
-Heap after GC invocations=24 (full 5):
- PSYoungGen total 569344K, used 32045K [0x000000076c900000, 0x0000000799d00000, 0x00000007c0000000)
- eden space 516608K, 0% used [0x000000076c900000,0x000000076c900000,0x000000078c180000)
- from space 52736K, 60% used [0x000000078c180000,0x000000078e0cb458,0x000000078f500000)
- to space 53248K, 0% used [0x0000000796900000,0x0000000796900000,0x0000000799d00000)
- ParOldGen total 253952K, used 121840K [0x00000006c5a00000, 0x00000006d5200000, 0x000000076c900000)
- object space 253952K, 47% used [0x00000006c5a00000,0x00000006cd0fc350,0x00000006d5200000)
- Metaspace used 45841K, capacity 46353K, committed 46592K, reserved 1089536K
- class space used 5402K, capacity 5548K, committed 5632K, reserved 1048576K
-}
-
-Deoptimization events (10 events):
-Event: 67.896 Thread 0x00000000266e0000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004c33774 method=io.netty.channel.AbstractChannelHandlerContext.executor()Lio/netty/util/concurrent/EventExecutor; @ 11
-Event: 67.901 Thread 0x000000001e852000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004c33774 method=io.netty.channel.AbstractChannelHandlerContext.executor()Lio/netty/util/concurrent/EventExecutor; @ 11
-Event: 67.901 Thread 0x000000001e852000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004c33774 method=io.netty.channel.AbstractChannelHandlerContext.executor()Lio/netty/util/concurrent/EventExecutor; @ 11
-Event: 67.905 Thread 0x000000001e851000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000446bf98 method=io.netty.channel.local.LocalChannel.isOpen()Z @ 5
-Event: 67.939 Thread 0x0000000026511000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000003a09958 method=java.util.regex.Pattern$Branch.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 50
-Event: 67.939 Thread 0x0000000026511000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000337dd84 method=java.util.regex.Pattern$5.isSatisfiedBy(I)Z @ 16
-Event: 67.939 Thread 0x0000000026511000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004ca2eb4 method=net.minecraft.util.ChatStyle.getColor()Lnet/minecraft/util/EnumChatFormatting; @ 4
-Event: 67.943 Thread 0x0000000026511000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000036a3ac8 method=net.minecraft.network.play.server.S21PacketChunkData.func_179756_a(Lnet/minecraft/world/chunk/Chunk;ZZI)Lnet/minecraft/network/play/server/S21PacketChunkData$Extracted; @ 61
-Event: 67.946 Thread 0x00000000266e0000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004b2d3a8 method=java.util.Collections$SetFromMap.add(Ljava/lang/Object;)Z @ 13
-Event: 67.997 Thread 0x00000000266d5800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004a4f4f0 method=java.util.Collections.reverse(Ljava/util/List;)V @ 1
-
-Classes redefined (1 events):
-Event: 0.099 Thread 0x000000001e7f4800 redefined class name=java.io.FileOutputStream, count=1
-
-Internal exceptions (10 events):
-Event: 67.944 Thread 0x00000000247b3000 Exception (0x000000076e687868) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.950 Thread 0x00000000247b3000 Exception (0x000000076e687b10) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.955 Thread 0x00000000247b3000 Exception (0x000000076e687db8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.961 Thread 0x00000000247b3000 Exception (0x000000076e688060) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.966 Thread 0x00000000247b3000 Exception (0x000000076e688308) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.972 Thread 0x00000000247b3000 Exception (0x000000076e6885b0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.977 Thread 0x00000000247b3000 Exception (0x000000076e688858) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.983 Thread 0x00000000247b3000 Exception (0x000000076e688b00) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.988 Thread 0x00000000247b3000 Exception (0x000000076e688da8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 67.994 Thread 0x00000000247b3000 Exception (0x000000076e689050) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-
-Events (10 events):
-Event: 67.995 Executing VM operation: RevokeBias
-Event: 67.995 Executing VM operation: RevokeBias done
-Event: 67.995 Executing VM operation: RevokeBias
-Event: 67.995 Executing VM operation: RevokeBias done
-Event: 67.995 Thread 0x0000000026511000 Thread exited: 0x0000000026511000
-Event: 67.997 Thread 0x00000000266de800 Thread exited: 0x00000000266de800
-Event: 67.997 Thread 0x00000000266d5800 Uncommon trap: trap_request=0xffffffde fr.pc=0x0000000004a4f4f0
-Event: 67.997 Thread 0x00000000266d5800 DEOPT PACKING pc=0x0000000004a4f4f0 sp=0x000000002096ee70
-Event: 67.997 Thread 0x00000000266d5800 DEOPT UNPACKING pc=0x0000000002ca583b sp=0x000000002096eeb8 mode 2
-Event: 67.998 Executing VM operation: Exit
-
-
-Dynamic libraries:
-0x00007ff75c730000 - 0x00007ff75c767000 C:\Program Files\Java\jdk1.8.0_202\bin\java.exe
-0x00007ffee6e90000 - 0x00007ffee7088000 C:\WINDOWS\SYSTEM32\ntdll.dll
-0x00007ffee6bf0000 - 0x00007ffee6caf000 C:\WINDOWS\System32\KERNEL32.DLL
-0x00007ffee68f0000 - 0x00007ffee6be6000 C:\WINDOWS\System32\KERNELBASE.dll
-0x0000000079100000 - 0x000000007913b000 C:\WINDOWS\System32\cyinjct.dll
-0x00007ffee6770000 - 0x00007ffee677c000 C:\WINDOWS\System32\ntnativeapi.dll
-0x00007ffee6750000 - 0x00007ffee676e000 C:\WINDOWS\System32\cyvera.dll
-0x00007ffee66e0000 - 0x00007ffee6749000 C:\WINDOWS\System32\cyvrtrap.dll
-0x00007ffee5570000 - 0x00007ffee561f000 C:\WINDOWS\System32\ADVAPI32.dll
-0x00007ffee60e0000 - 0x00007ffee617e000 C:\WINDOWS\System32\msvcrt.dll
-0x00007ffee5220000 - 0x00007ffee52bc000 C:\WINDOWS\System32\sechost.dll
-0x00007ffee67c0000 - 0x00007ffee68e6000 C:\WINDOWS\System32\RPCRT4.dll
-0x00007ffee6cb0000 - 0x00007ffee6e4d000 C:\WINDOWS\System32\USER32.dll
-0x00007ffee4620000 - 0x00007ffee4642000 C:\WINDOWS\System32\win32u.dll
-0x00007ffee5fc0000 - 0x00007ffee5fec000 C:\WINDOWS\System32\GDI32.dll
-0x00007ffee49b0000 - 0x00007ffee4ac5000 C:\WINDOWS\System32\gdi32full.dll
-0x00007ffee4860000 - 0x00007ffee48fd000 C:\WINDOWS\System32\msvcp_win.dll
-0x00007ffee4650000 - 0x00007ffee4750000 C:\WINDOWS\System32\ucrtbase.dll
-0x00007ffec1bc0000 - 0x00007ffec1e5a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
-0x00007ffee5b00000 - 0x00007ffee5b30000 C:\WINDOWS\System32\IMM32.DLL
-0x0000000061400000 - 0x00000000614d2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\msvcr100.dll
-0x00000000604c0000 - 0x0000000060d65000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\server\jvm.dll
-0x00007ffee57c0000 - 0x00007ffee57c8000 C:\WINDOWS\System32\PSAPI.DLL
-0x00007ffedf6d0000 - 0x00007ffedf6d9000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
-0x00007ffee5f50000 - 0x00007ffee5fbb000 C:\WINDOWS\System32\WS2_32.dll
-0x00007ffec5030000 - 0x00007ffec5057000 C:\WINDOWS\SYSTEM32\WINMM.dll
-0x00007ffedddb0000 - 0x00007ffedddba000 C:\WINDOWS\SYSTEM32\VERSION.dll
-0x00007ffedc960000 - 0x00007ffedc96f000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\verify.dll
-0x00007ffeca120000 - 0x00007ffeca149000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\java.dll
-0x00007ffeca5a0000 - 0x00007ffeca5d5000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\jdwp.dll
-0x00007ffed4710000 - 0x00007ffed4718000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\npt.dll
-0x00007ffec75c0000 - 0x00007ffec75e3000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\instrument.dll
-0x00007ffee66a0000 - 0x00007ffee66d7000 C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-0x00007ffed4290000 - 0x00007ffed42a6000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\zip.dll
-0x00007ffee4ad0000 - 0x00007ffee5214000 C:\WINDOWS\System32\SHELL32.dll
-0x00007ffee1f40000 - 0x00007ffee26d3000 C:\WINDOWS\SYSTEM32\windows.storage.dll
-0x00007ffee5b30000 - 0x00007ffee5e84000 C:\WINDOWS\System32\combase.dll
-0x00007ffee3dd0000 - 0x00007ffee3dfe000 C:\WINDOWS\SYSTEM32\Wldp.dll
-0x00007ffee6180000 - 0x00007ffee622d000 C:\WINDOWS\System32\SHCORE.dll
-0x00007ffee5e90000 - 0x00007ffee5ee5000 C:\WINDOWS\System32\shlwapi.dll
-0x00007ffee4390000 - 0x00007ffee43af000 C:\WINDOWS\SYSTEM32\profapi.dll
-0x00007ffed45d0000 - 0x00007ffed45d9000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dt_socket.dll
-0x00007ffee3bb0000 - 0x00007ffee3c1a000 C:\WINDOWS\system32\mswsock.dll
-0x00007ffed45b0000 - 0x00007ffed45bd000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\management.dll
-0x00007ffed3980000 - 0x00007ffed399a000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\net.dll
-0x00007ffed13d0000 - 0x00007ffed15bc000 C:\WINDOWS\SYSTEM32\urlmon.dll
-0x00007ffedcd00000 - 0x00007ffedcfb1000 C:\WINDOWS\SYSTEM32\iertutil.dll
-0x00007ffee3070000 - 0x00007ffee3098000 C:\WINDOWS\SYSTEM32\srvcli.dll
-0x00007ffee38b0000 - 0x00007ffee38bc000 C:\WINDOWS\SYSTEM32\netutils.dll
-0x00007ffed43d0000 - 0x00007ffed43e2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\nio.dll
-0x00007ffeab2e0000 - 0x00007ffeab2f7000 C:\WINDOWS\system32\napinsp.dll
-0x00007ffeab300000 - 0x00007ffeab31b000 C:\WINDOWS\system32\pnrpnsp.dll
-0x00007ffeded70000 - 0x00007ffeded85000 C:\WINDOWS\system32\wshbth.dll
-0x00007ffede0f0000 - 0x00007ffede10d000 C:\WINDOWS\system32\NLAapi.dll
-0x00007ffee3870000 - 0x00007ffee38ac000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
-0x00007ffee38c0000 - 0x00007ffee398b000 C:\WINDOWS\SYSTEM32\DNSAPI.dll
-0x00007ffee5850000 - 0x00007ffee5858000 C:\WINDOWS\System32\NSI.dll
-0x00007ffeab320000 - 0x00007ffeab332000 C:\WINDOWS\System32\winrnr.dll
-0x00007ffeddf50000 - 0x00007ffeddfd2000 C:\WINDOWS\System32\fwpuclnt.dll
-0x00007ffee4830000 - 0x00007ffee4857000 C:\WINDOWS\System32\bcrypt.dll
-0x00007ffedd130000 - 0x00007ffedd13a000 C:\Windows\System32\rasadhlp.dll
-0x0000000180000000 - 0x0000000180053000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\lwjgl64.dll
-0x00007ffea9980000 - 0x00007ffea9aa5000 C:\WINDOWS\SYSTEM32\OPENGL32.dll
-0x00007ffed8ca0000 - 0x00007ffed8ccc000 C:\WINDOWS\SYSTEM32\GLU32.dll
-0x00007ffee3e10000 - 0x00007ffee3e28000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
-0x00007ffee3370000 - 0x00007ffee33a4000 C:\WINDOWS\system32\rsaenh.dll
-0x00007ffee4310000 - 0x00007ffee433e000 C:\WINDOWS\SYSTEM32\USERENV.dll
-0x00007ffee4750000 - 0x00007ffee47d2000 C:\WINDOWS\System32\bcryptprimitives.dll
-0x00007ffee3d40000 - 0x00007ffee3d4c000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
-0x00007ffeddee0000 - 0x00007ffeddef7000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
-0x00007ffeddec0000 - 0x00007ffeddedd000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
-0x00007ffea4b60000 - 0x00007ffea4cf9000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\awt.dll
-0x00007ffee53f0000 - 0x00007ffee54bd000 C:\WINDOWS\System32\OLEAUT32.dll
-0x00007ffee1180000 - 0x00007ffee1211000 C:\WINDOWS\SYSTEM32\apphelp.dll
-0x00007ffeddb00000 - 0x00007ffeddbae000 C:\WINDOWS\SYSTEM32\mscms.dll
-0x00007ffedda90000 - 0x00007ffeddaa1000 C:\WINDOWS\SYSTEM32\ColorAdapterClient.dll
-0x00007ffee2d60000 - 0x00007ffee2d72000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll
-0x00007ffee1820000 - 0x00007ffee18be000 C:\WINDOWS\system32\uxtheme.dll
-0x00007ffee5620000 - 0x00007ffee5734000 C:\WINDOWS\System32\MSCTF.dll
-0x00007ffec9a60000 - 0x00007ffec9b5a000 C:\WINDOWS\SYSTEM32\textinputframework.dll
-0x00007ffee0bf0000 - 0x00007ffee0f4e000 C:\WINDOWS\System32\CoreUIComponents.dll
-0x00007ffee0f50000 - 0x00007ffee1042000 C:\WINDOWS\System32\CoreMessaging.dll
-0x00007ffee35c0000 - 0x00007ffee35f3000 C:\WINDOWS\SYSTEM32\ntmarta.dll
-0x00007ffee0520000 - 0x00007ffee0674000 C:\WINDOWS\SYSTEM32\wintypes.dll
-0x00007ffee52c0000 - 0x00007ffee53ea000 C:\WINDOWS\System32\ole32.dll
-0x00007ffee54c0000 - 0x00007ffee5569000 C:\WINDOWS\System32\clbcatq.dll
-0x00007ffe92350000 - 0x00007ffe93343000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igxelpicd64.dll
-0x00007ffee1950000 - 0x00007ffee197f000 C:\WINDOWS\system32\dwmapi.dll
-0x00007ffee2ae0000 - 0x00007ffee2bd3000 C:\WINDOWS\system32\dxgi.dll
-0x00007ffe91ef0000 - 0x00007ffe92343000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdml64.dll
-0x00007ffecdc00000 - 0x00007ffecdfc7000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdgmm64.dll
-0x00007ffe815f0000 - 0x00007ffe81633000 C:\WINDOWS\SYSTEM32\icm32.dll
-0x00007ffeca5e0000 - 0x00007ffecdbf1000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igc64.dll
-0x00007ffee3990000 - 0x00007ffee39db000 C:\WINDOWS\SYSTEM32\powrprof.dll
-0x00007ffee3850000 - 0x00007ffee3862000 C:\WINDOWS\SYSTEM32\UMPDC.dll
-0x0000000026960000 - 0x0000000026998000 C:\Users\remgab001\AppData\Local\Temp\jna\jna4729558040945573054.dll
-0x0000000070a40000 - 0x0000000070adc000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\avutil-ttv-51.dll
-0x0000000065980000 - 0x00000000659d6000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\swresample-ttv-0.dll
-0x000000006eb80000 - 0x000000006ec50000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmp3lame-ttv.dll
-0x00007ffe8f120000 - 0x00007ffe904c4000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmfxsw64.dll
-0x00007ffe96320000 - 0x00007ffe9648d000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\twitchsdk.dll
-0x00007ffec4920000 - 0x00007ffec4df9000 C:\WINDOWS\SYSTEM32\WININET.dll
-0x0000000028310000 - 0x0000000028374000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\OpenAL64.dll
-0x00007ffea49a0000 - 0x00007ffea4a3c000 C:\WINDOWS\SYSTEM32\dsound.dll
-0x00007ffec4e00000 - 0x00007ffec4e26000 C:\WINDOWS\SYSTEM32\winmmbase.dll
-0x00007ffedbfa0000 - 0x00007ffedc025000 C:\WINDOWS\System32\MMDevApi.dll
-0x00007ffee4200000 - 0x00007ffee422c000 C:\WINDOWS\System32\DEVOBJ.dll
-0x00007ffee47e0000 - 0x00007ffee482e000 C:\WINDOWS\System32\cfgmgr32.dll
-0x00007ffedc0f0000 - 0x00007ffedc272000 C:\WINDOWS\SYSTEM32\AUDIOSES.DLL
-0x00007ffee1a60000 - 0x00007ffee1a74000 C:\WINDOWS\SYSTEM32\resourcepolicyclient.dll
-0x00007ffea95f0000 - 0x00007ffea9637000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\fontmanager.dll
-0x00007ffea3950000 - 0x00007ffea3992000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\t2k.dll
-0x00007ffec3a20000 - 0x00007ffec3a4a000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dcpr.dll
-0x00007ffee27b0000 - 0x00007ffee2994000 C:\WINDOWS\SYSTEM32\dbghelp.dll
-
-VM Arguments:
-jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:55866,suspend=y,server=n -Djava.library.path=versions/1.8.8/1.8.8-natives/ -javaagent:C:\Users\remgab001\AppData\Local\JetBrains\IdeaIC2023.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -agentpath:C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-java_command: Start
-java_class_path (initial): C:\Program Files\Java\jdk1.8.0_202\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar;C:\Users\remgab001\Desktop\Athena-Client\target\classes;C:\Users\remgab001\.m2\repository\net\minecraft\minecraft\1.8.8\minecraft-1.8.8.jar;C:\Users\remgab001\.m2\repository\org\json\json\20230227\json-20230227.jar;C:\Users\remgab001\.m2\repository\org\reflections\reflections\0.10.2\reflections-0.10.2.jar;C:\Users\remgab001\.m2\repository\org\javassist\javassist\3.28.0-GA\javassist-3.28.0-GA.jar;C:\Users\remgab001\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\remgab001\.m2\repository\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;C:\Users\remgab001\.m2\repository\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-PATH=C:\Program Files\Google\Chrome\Application;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\remgab001\AppData\Local\Microsoft\WindowsApps;C:\Users\remgab001\AppData\Roaming\npm;C:\Users\remgab001\AppData\Local\Programs\Microsoft VS Code\bin
-USERNAME=remgab001
-OS=Windows_NT
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 154 Stepping 3, GenuineIntel
-
-
-
---------------- S Y S T E M ---------------
-
-OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.2913)
-
-CPU:total 20 (initial active 20) (10 cores per cpu, 2 threads per core) family 6 model 154 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
-
-Memory: 4k page, physical 16400820k(1003832k free), swap 33178036k(10595416k free)
-
-vm_info: Java HotSpot(TM) 64-Bit Server VM (25.202-b08) for windows-amd64 JRE (1.8.0_202-b08), built on Dec 15 2018 19:54:30 by "java_re" with MS VC++ 10.0 (VS2010)
-
-time: Fri Jun 02 11:30:11 2023
-timezone: Vest-Europa (sommertid)
-elapsed time: 68 seconds (0d 0h 1m 8s)
-
diff --git a/workspace/hs_err_pid14360.log b/workspace/hs_err_pid14360.log
deleted file mode 100644
index 8642f765..00000000
--- a/workspace/hs_err_pid14360.log
+++ /dev/null
@@ -1,457 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffe3aaf366c, pid=14360, tid=0x00000000000042b8
-#
-# JRE version: Java(TM) SE Runtime Environment (8.0_202-b08) (build 1.8.0_202-b08)
-# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode windows-amd64 compressed oops)
-# Problematic frame:
-# C [igxelpicd64.dll+0x13366c]
-#
-# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
-#
-# If you would like to submit a bug report, please visit:
-# http://bugreport.java.com/bugreport/crash.jsp
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x000000001ece5000): VMThread [stack: 0x0000000020770000,0x0000000020870000] [id=17080]
-
-siginfo: ExceptionCode=0xc0000005, reading address 0x00000000000356f8
-
-Registers:
-RAX=0x00000000577b2408, RBX=0x00000000577b2300, RCX=0x0000000000000000, RDX=0x0000000000000000
-RSP=0x000000002086e600, RBP=0x0000000000000000, RSI=0x00000000577b28d0, RDI=0x0000000025b1e8e0
-R8 =0x0000000000000014, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000000
-R12=0x0000000000000000, R13=0x0000000029399ea0, R14=0x000000001b5c0400, R15=0x0000000000000016
-RIP=0x00007ffe3aaf366c, EFLAGS=0x0000000000010202
-
-Top of Stack: (sp=0x000000002086e600)
-0x000000002086e600: 0000000025a34bc0 00007ffee6d3f070
-0x000000002086e610: 0000000000000002 00007ffee6f30eb4
-0x000000002086e620: 00000000000000c2 00000000225af950
-0x000000002086e630: 000000003efbd100 0000000003056788
-0x000000002086e640: 0000000025af7af8 000000001b5c0489
-0x000000002086e650: 0000000000000000 000000000000000e
-0x000000002086e660: 0000000000000000 0000000000000000
-0x000000002086e670: 000000002086e780 00007ffe3ac6bc3c
-0x000000002086e680: 0000000025a34bc0 0000000025b1e8e0
-0x000000002086e690: 00007ffee6f09300 000000001ece4500
-0x000000002086e6a0: 000000000000bb48 0000740400000000
-0x000000002086e6b0: 0000000000000000 00007ffee6ead23b
-0x000000002086e6c0: 0000000000000001 000000002086e870
-0x000000002086e6d0: 0000000000000002 00000000007e0000
-0x000000002086e6e0: 00007ffee6ef79d0 00007ffe3ac619a0
-0x000000002086e6f0: 00000000000004b4 00000000007e1c04
-
-Instructions: (pc=0x00007ffe3aaf366c)
-0x00007ffe3aaf364c: 83 20 01 00 00 48 8d 04 d5 21 00 00 00 48 03 c2
-0x00007ffe3aaf365c: 48 8d 04 c3 48 85 c0 0f 85 ff 00 00 00 49 8b cb
-0x00007ffe3aaf366c: 48 3b 8d f8 56 03 00 0f 87 f3 02 00 00 4c 39 9b
-0x00007ffe3aaf367c: 48 06 00 00 0f 85 31 da 86 00 44 8b 97 c8 01 00
-
-
-Register to memory mapping:
-
-RAX=0x00000000577b2408 is an unknown value
-RBX=0x00000000577b2300 is an unknown value
-RCX=0x0000000000000000 is an unknown value
-RDX=0x0000000000000000 is an unknown value
-RSP=0x000000002086e600 is an unknown value
-RBP=0x0000000000000000 is an unknown value
-RSI=0x00000000577b28d0 is an unknown value
-RDI=0x0000000025b1e8e0 is an unknown value
-R8 =0x0000000000000014 is an unknown value
-R9 =0x0000000000000000 is an unknown value
-R10=0x0000000000000000 is an unknown value
-R11=0x0000000000000000 is an unknown value
-R12=0x0000000000000000 is an unknown value
-R13=0x0000000029399ea0 is an unknown value
-R14=0x000000001b5c0400 is an unknown value
-R15=0x0000000000000016 is an unknown value
-
-
-Stack: [0x0000000020770000,0x0000000020870000], sp=0x000000002086e600, free space=1017k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-
-VM_Operation (0x0000000020e6f1e0): Exit, mode: safepoint, requested by thread 0x000000003301e000
-
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x0000000033024000 JavaThread "AWT-Shutdown" [_thread_blocked, id=4120, stack(0x0000000047a90000,0x0000000047b90000)]
- 0x000000003301e000 JavaThread "SIGINT handler" daemon [_thread_blocked, id=18468, stack(0x0000000020d70000,0x0000000020e70000)]
- 0x0000000033019000 JavaThread "File IO Thread" [_thread_blocked, id=3400, stack(0x000000002f230000,0x000000002f330000)]
- 0x000000003d5eb800 JavaThread "Netty Server IO #1" daemon [_thread_blocked, id=11052, stack(0x0000000031bf0000,0x0000000031cf0000)]
- 0x000000003d5f1000 JavaThread "Netty Local Client IO #0" daemon [_thread_blocked, id=12456, stack(0x000000002f030000,0x000000002f130000)]
- 0x000000003d5f0800 JavaThread "Netty Server IO #0" daemon [_thread_blocked, id=5204, stack(0x000000002ef30000,0x000000002f030000)]
- 0x000000003d5ea000 JavaThread "LWJGL Timer" daemon [_thread_blocked, id=18092, stack(0x000000003c370000,0x000000003c470000)]
- 0x000000001eddf000 JavaThread "Chunk Batcher 1" daemon [_thread_blocked, id=15732, stack(0x0000000032af0000,0x0000000032bf0000)]
- 0x000000001ede2000 JavaThread "Chunk Batcher 0" daemon [_thread_blocked, id=17216, stack(0x00000000329f0000,0x0000000032af0000)]
- 0x000000001ede1000 JavaThread "Thread-8" [_thread_blocked, id=4884, stack(0x0000000031df0000,0x0000000031ef0000)]
- 0x000000001edde000 JavaThread "Thread-7" [_thread_blocked, id=18932, stack(0x0000000031cf0000,0x0000000031df0000)]
- 0x0000000023591000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=18000, stack(0x00000000284d0000,0x00000000285d0000)]
- 0x000000002358e000 JavaThread "Timer hack thread" daemon [_thread_blocked, id=17156, stack(0x00000000283d0000,0x00000000284d0000)]
- 0x0000000024c60000 JavaThread "Snooper Timer" daemon [_thread_blocked, id=12112, stack(0x0000000025b20000,0x0000000025c20000)]
- 0x000000001ee98800 JavaThread "Service Thread" daemon [_thread_blocked, id=14676, stack(0x0000000021d70000,0x0000000021e70000)]
- 0x000000001eddf800 JavaThread "C1 CompilerThread11" daemon [_thread_blocked, id=15096, stack(0x0000000021c70000,0x0000000021d70000)]
- 0x000000001eddc000 JavaThread "C1 CompilerThread10" daemon [_thread_blocked, id=1532, stack(0x0000000021b70000,0x0000000021c70000)]
- 0x000000001edd7000 JavaThread "C1 CompilerThread9" daemon [_thread_blocked, id=11204, stack(0x0000000021a70000,0x0000000021b70000)]
- 0x000000001edc4800 JavaThread "C1 CompilerThread8" daemon [_thread_blocked, id=13740, stack(0x0000000021970000,0x0000000021a70000)]
- 0x000000001edba800 JavaThread "C2 CompilerThread7" daemon [_thread_blocked, id=9444, stack(0x0000000021870000,0x0000000021970000)]
- 0x000000001edb0000 JavaThread "C2 CompilerThread6" daemon [_thread_blocked, id=9012, stack(0x0000000021770000,0x0000000021870000)]
- 0x000000001edae000 JavaThread "C2 CompilerThread5" daemon [_thread_blocked, id=6140, stack(0x0000000021670000,0x0000000021770000)]
- 0x000000001edad800 JavaThread "C2 CompilerThread4" daemon [_thread_blocked, id=3892, stack(0x0000000021570000,0x0000000021670000)]
- 0x000000001edac800 JavaThread "C2 CompilerThread3" daemon [_thread_blocked, id=16448, stack(0x0000000021470000,0x0000000021570000)]
- 0x000000001edaa000 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=12496, stack(0x0000000021270000,0x0000000021370000)]
- 0x000000001ed5f000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=3356, stack(0x0000000021170000,0x0000000021270000)]
- 0x000000001ed59800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=1672, stack(0x0000000021070000,0x0000000021170000)]
- 0x000000001ed40800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=10480, stack(0x0000000020e70000,0x0000000020f70000)]
- 0x000000001ed29000 JavaThread "Attach Listener" daemon [_thread_blocked, id=2496, stack(0x0000000020c70000,0x0000000020d70000)]
- 0x000000001ed0e000 JavaThread "Finalizer" daemon [_thread_blocked, id=13328, stack(0x0000000020970000,0x0000000020a70000)]
- 0x000000001ed08000 JavaThread "Reference Handler" daemon [_thread_blocked, id=7408, stack(0x0000000020870000,0x0000000020970000)]
- 0x0000000002fa4800 JavaThread "Client thread" [_thread_blocked, id=8292, stack(0x00000000029c0000,0x0000000002ac0000)]
-
-Other Threads:
-=>0x000000001ece5000 VMThread [stack: 0x0000000020770000,0x0000000020870000] [id=17080]
-
-VM state:at safepoint (shutting down)
-
-VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
-[0x0000000002fa2150] Threads_lock - owner thread: 0x000000001ece5000
-
-heap address: 0x00000006c5a00000, size: 4006 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
-Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
-Compressed class space size: 1073741824 Address: 0x00000007c0000000
-
-Heap:
- PSYoungGen total 720896K, used 435074K [0x000000076c900000, 0x000000079c700000, 0x00000007c0000000)
- eden space 662528K, 59% used [0x000000076c900000,0x00000007849faf58,0x0000000795000000)
- from space 58368K, 69% used [0x0000000795000000,0x00000007977e5c40,0x0000000798900000)
- to space 59392K, 0% used [0x0000000798d00000,0x0000000798d00000,0x000000079c700000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47274K, capacity 47861K, committed 48128K, reserved 1091584K
- class space used 5454K, capacity 5610K, committed 5632K, reserved 1048576K
-
-Card table byte_map: [0x0000000012460000,0x0000000012c40000] byte_map_base: 0x000000000ee33000
-
-Marking Bits: (ParMarkBitMap*) 0x0000000060ce5ce0
- Begin Bits: [0x0000000014080000, 0x0000000017f18000)
- End Bits: [0x0000000017f18000, 0x000000001bdb0000)
-
-Polling page: 0x0000000000a60000
-
-CodeCache: size=245760Kb used=39145Kb max_used=41399Kb free=206614Kb
- bounds [0x00000000030a0000, 0x00000000059d0000, 0x00000000120a0000]
- total_blobs=9786 nmethods=8890 adapters=810
- compilation: enabled
-
-Compilation events (10 events):
-Event: 2051.740 Thread 0x000000001eddf800 nmethod 13454 0x0000000004926290 code [0x0000000004926460, 0x0000000004926b18]
-Event: 2051.740 Thread 0x000000001eddf800 13456 ! 3 java.util.concurrent.ConcurrentHashMap::putVal (362 bytes)
-Event: 2051.740 Thread 0x000000001edd7000 13455 3 java.util.Collections$SetFromMap::add (22 bytes)
-Event: 2051.740 Thread 0x000000001eddc000 nmethod 13453 0x00000000044e0e50 code [0x00000000044e1080, 0x00000000044e1ad8]
-Event: 2051.740 Thread 0x000000001edd7000 nmethod 13455 0x00000000056177d0 code [0x0000000005617940, 0x0000000005617be8]
-Event: 2051.741 Thread 0x000000001eddf800 nmethod 13456 0x0000000005180110 code [0x00000000051803e0, 0x0000000005181e58]
-Event: 2051.787 Thread 0x000000001edc4800 13457 3 java.io.FileOutputStream::write (13 bytes)
-Event: 2051.787 Thread 0x000000001edc4800 nmethod 13457 0x0000000004c94010 code [0x0000000004c94180, 0x0000000004c94328]
-Event: 2051.789 Thread 0x000000001edd7000 13458 ! 3 java.util.concurrent.ConcurrentHashMap$TreeBin::putTreeVal (371 bytes)
-Event: 2051.790 Thread 0x000000001edd7000 nmethod 13458 0x00000000045031d0 code [0x0000000004503460, 0x0000000004504b38]
-
-GC Heap History (10 events):
-Event: 1971.086 GC heap before
-{Heap before GC invocations=573 (full 6):
- PSYoungGen total 710144K, used 695038K [0x000000076c900000, 0x000000079b900000, 0x00000007c0000000)
- eden space 655872K, 100% used [0x000000076c900000,0x0000000794980000,0x0000000794980000)
- from space 54272K, 72% used [0x0000000798080000,0x000000079a6bf980,0x000000079b580000)
- to space 56320K, 0% used [0x0000000794980000,0x0000000794980000,0x0000000798080000)
- ParOldGen total 358912K, used 313651K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ce60,0x00000006db880000)
- Metaspace used 47209K, capacity 47759K, committed 47872K, reserved 1091584K
- class space used 5449K, capacity 5577K, committed 5632K, reserved 1048576K
-Event: 1971.091 GC heap after
-Heap after GC invocations=573 (full 6):
- PSYoungGen total 712192K, used 38558K [0x000000076c900000, 0x000000079bd80000, 0x00000007c0000000)
- eden space 655872K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000794980000)
- from space 56320K, 68% used [0x0000000794980000,0x0000000796f27970,0x0000000798080000)
- to space 57344K, 0% used [0x0000000798580000,0x0000000798580000,0x000000079bd80000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47209K, capacity 47759K, committed 47872K, reserved 1091584K
- class space used 5449K, capacity 5577K, committed 5632K, reserved 1048576K
-}
-Event: 1983.132 GC heap before
-{Heap before GC invocations=574 (full 6):
- PSYoungGen total 712192K, used 694430K [0x000000076c900000, 0x000000079bd80000, 0x00000007c0000000)
- eden space 655872K, 100% used [0x000000076c900000,0x0000000794980000,0x0000000794980000)
- from space 56320K, 68% used [0x0000000794980000,0x0000000796f27970,0x0000000798080000)
- to space 57344K, 0% used [0x0000000798580000,0x0000000798580000,0x000000079bd80000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47209K, capacity 47759K, committed 47872K, reserved 1091584K
- class space used 5449K, capacity 5577K, committed 5632K, reserved 1048576K
-Event: 1983.139 GC heap after
-Heap after GC invocations=574 (full 6):
- PSYoungGen total 716800K, used 38206K [0x000000076c900000, 0x000000079be80000, 0x00000007c0000000)
- eden space 659456K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000794d00000)
- from space 57344K, 66% used [0x0000000798580000,0x000000079aacf970,0x000000079bd80000)
- to space 57856K, 0% used [0x0000000794d00000,0x0000000794d00000,0x0000000798580000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47209K, capacity 47759K, committed 47872K, reserved 1091584K
- class space used 5449K, capacity 5577K, committed 5632K, reserved 1048576K
-}
-Event: 1998.793 GC heap before
-{Heap before GC invocations=575 (full 6):
- PSYoungGen total 716800K, used 697662K [0x000000076c900000, 0x000000079be80000, 0x00000007c0000000)
- eden space 659456K, 100% used [0x000000076c900000,0x0000000794d00000,0x0000000794d00000)
- from space 57344K, 66% used [0x0000000798580000,0x000000079aacf970,0x000000079bd80000)
- to space 57856K, 0% used [0x0000000794d00000,0x0000000794d00000,0x0000000798580000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47209K, capacity 47759K, committed 47872K, reserved 1091584K
- class space used 5449K, capacity 5577K, committed 5632K, reserved 1048576K
-Event: 1998.800 GC heap after
-Heap after GC invocations=575 (full 6):
- PSYoungGen total 717312K, used 38238K [0x000000076c900000, 0x000000079c280000, 0x00000007c0000000)
- eden space 659456K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000794d00000)
- from space 57856K, 66% used [0x0000000794d00000,0x0000000797257970,0x0000000798580000)
- to space 58368K, 0% used [0x0000000798980000,0x0000000798980000,0x000000079c280000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47209K, capacity 47759K, committed 47872K, reserved 1091584K
- class space used 5449K, capacity 5577K, committed 5632K, reserved 1048576K
-}
-Event: 2017.229 GC heap before
-{Heap before GC invocations=576 (full 6):
- PSYoungGen total 717312K, used 697694K [0x000000076c900000, 0x000000079c280000, 0x00000007c0000000)
- eden space 659456K, 100% used [0x000000076c900000,0x0000000794d00000,0x0000000794d00000)
- from space 57856K, 66% used [0x0000000794d00000,0x0000000797257970,0x0000000798580000)
- to space 58368K, 0% used [0x0000000798980000,0x0000000798980000,0x000000079c280000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47211K, capacity 47765K, committed 47872K, reserved 1091584K
- class space used 5450K, capacity 5578K, committed 5632K, reserved 1048576K
-Event: 2017.234 GC heap after
-Heap after GC invocations=576 (full 6):
- PSYoungGen total 720384K, used 38238K [0x000000076c900000, 0x000000079c200000, 0x00000007c0000000)
- eden space 662528K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000795000000)
- from space 57856K, 66% used [0x0000000798980000,0x000000079aed7970,0x000000079c200000)
- to space 58368K, 0% used [0x0000000795000000,0x0000000795000000,0x0000000798900000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47211K, capacity 47765K, committed 47872K, reserved 1091584K
- class space used 5450K, capacity 5578K, committed 5632K, reserved 1048576K
-}
-Event: 2038.692 GC heap before
-{Heap before GC invocations=577 (full 6):
- PSYoungGen total 720384K, used 700766K [0x000000076c900000, 0x000000079c200000, 0x00000007c0000000)
- eden space 662528K, 100% used [0x000000076c900000,0x0000000795000000,0x0000000795000000)
- from space 57856K, 66% used [0x0000000798980000,0x000000079aed7970,0x000000079c200000)
- to space 58368K, 0% used [0x0000000795000000,0x0000000795000000,0x0000000798900000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47226K, capacity 47765K, committed 47872K, reserved 1091584K
- class space used 5450K, capacity 5578K, committed 5632K, reserved 1048576K
-Event: 2038.701 GC heap after
-Heap after GC invocations=577 (full 6):
- PSYoungGen total 720896K, used 40855K [0x000000076c900000, 0x000000079c700000, 0x00000007c0000000)
- eden space 662528K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000795000000)
- from space 58368K, 69% used [0x0000000795000000,0x00000007977e5c40,0x0000000798900000)
- to space 59392K, 0% used [0x0000000798d00000,0x0000000798d00000,0x000000079c700000)
- ParOldGen total 358912K, used 313659K [0x00000006c5a00000, 0x00000006db880000, 0x000000076c900000)
- object space 358912K, 87% used [0x00000006c5a00000,0x00000006d8c4ee60,0x00000006db880000)
- Metaspace used 47226K, capacity 47765K, committed 47872K, reserved 1091584K
- class space used 5450K, capacity 5578K, committed 5632K, reserved 1048576K
-}
-
-Deoptimization events (10 events):
-Event: 2051.700 Thread 0x000000003d5eb800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004235738 method=io.netty.util.internal.MpscLinkedQueue.poll()Ljava/lang/Object; @ 26
-Event: 2051.701 Thread 0x000000003d5f1000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004a582fc method=io.netty.channel.local.LocalChannel.isActive()Z @ 5
-Event: 2051.733 Thread 0x000000003d5ef800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004b3b0c8 method=io.netty.channel.local.LocalChannel.isOpen()Z @ 5
-Event: 2051.735 Thread 0x000000003d5ef800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000005394440 method=net.minecraft.entity.EntityTracker.untrackEntity(Lnet/minecraft/entity/Entity;)V @ 4
-Event: 2051.736 Thread 0x000000003d5ef800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000005530248 method=java.util.concurrent.FutureTask.finishCompletion()V @ 6
-Event: 2051.738 Thread 0x0000000033019800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004c0c1f4 method=net.minecraft.world.chunk.Chunk.needsSaving(Z)Z @ 23
-Event: 2051.738 Thread 0x0000000033019800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000047e23e8 method=java.util.concurrent.ConcurrentHashMap.putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object; @ 288
-Event: 2051.738 Thread 0x0000000033019800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003ad9ec4 method=java.util.Collections$SetFromMap.add(Ljava/lang/Object;)Z @ 13
-Event: 2051.738 Thread 0x0000000033019800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000433bb68 method=java.util.Collections$SetFromMap.add(Ljava/lang/Object;)Z @ 13
-Event: 2051.796 Thread 0x000000003301e000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000003d8b05c method=java.util.Collections.reverse(Ljava/util/List;)V @ 1
-
-Classes redefined (2 events):
-Event: 0.178 Thread 0x000000001ece5000 redefined class name=java.io.FileOutputStream, count=1
-Event: 263.547 Thread 0x000000001ece5000 redefined class name=net.minecraft.client.gui.GuiMainMenu, count=1
-
-Internal exceptions (10 events):
-Event: 2051.765 Thread 0x000000001edde000 Exception (0x00000007822a5358) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.768 Thread 0x000000001edde000 Exception (0x00000007822a5600) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.771 Thread 0x000000001edde000 Exception (0x00000007822a58a8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.774 Thread 0x000000001edde000 Exception (0x00000007822a5b50) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.777 Thread 0x000000001edde000 Exception (0x00000007822a5df8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.780 Thread 0x000000001edde000 Exception (0x00000007822a60a0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.783 Thread 0x000000001edde000 Exception (0x00000007822a6348) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.786 Thread 0x000000001edde000 Exception (0x00000007822a65f0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.790 Thread 0x000000001edde000 Exception (0x00000007822a6898) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 2051.794 Thread 0x000000001edde000 Exception (0x00000007822a6b40) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-
-Events (10 events):
-Event: 2051.790 Thread 0x000000001edde000 DEOPT PACKING pc=0x0000000004b7d4dc sp=0x0000000031deee30
-Event: 2051.790 Thread 0x000000001edde000 DEOPT UNPACKING pc=0x00000000030e7890 sp=0x0000000031deeb48 mode 1
-Event: 2051.794 Thread 0x000000001edde000 DEOPT PACKING pc=0x0000000004b7d4dc sp=0x0000000031deee30
-Event: 2051.794 Thread 0x000000001edde000 DEOPT UNPACKING pc=0x00000000030e7890 sp=0x0000000031deeb48 mode 1
-Event: 2051.795 Thread 0x000000003301d800 Thread exited: 0x000000003301d800
-Event: 2051.796 Thread 0x000000003301e000 Uncommon trap: trap_request=0xffffffde fr.pc=0x0000000003d8b05c
-Event: 2051.796 Thread 0x000000003301e000 DEOPT PACKING pc=0x0000000003d8b05c sp=0x0000000020e6f080
-Event: 2051.796 Thread 0x000000003301e000 DEOPT UNPACKING pc=0x00000000030e583b sp=0x0000000020e6f0c8 mode 2
-Event: 2051.796 Thread 0x000000001ed27800 Thread exited: 0x000000001ed27800
-Event: 2051.796 Executing VM operation: Exit
-
-
-Dynamic libraries:
-0x00007ff75c730000 - 0x00007ff75c767000 C:\Program Files\Java\jdk1.8.0_202\bin\java.exe
-0x00007ffee6e90000 - 0x00007ffee7088000 C:\WINDOWS\SYSTEM32\ntdll.dll
-0x00007ffee6bf0000 - 0x00007ffee6caf000 C:\WINDOWS\System32\KERNEL32.DLL
-0x00007ffee68f0000 - 0x00007ffee6be6000 C:\WINDOWS\System32\KERNELBASE.dll
-0x0000000074000000 - 0x000000007403b000 C:\WINDOWS\System32\cyinjct.dll
-0x00007ffee6770000 - 0x00007ffee677c000 C:\WINDOWS\System32\ntnativeapi.dll
-0x00007ffee6750000 - 0x00007ffee676e000 C:\WINDOWS\System32\cyvera.dll
-0x00007ffee66e0000 - 0x00007ffee6749000 C:\WINDOWS\System32\cyvrtrap.dll
-0x00007ffee5570000 - 0x00007ffee561f000 C:\WINDOWS\System32\ADVAPI32.dll
-0x00007ffee60e0000 - 0x00007ffee617e000 C:\WINDOWS\System32\msvcrt.dll
-0x00007ffee5220000 - 0x00007ffee52bc000 C:\WINDOWS\System32\sechost.dll
-0x00007ffee67c0000 - 0x00007ffee68e6000 C:\WINDOWS\System32\RPCRT4.dll
-0x00007ffee6cb0000 - 0x00007ffee6e4d000 C:\WINDOWS\System32\USER32.dll
-0x00007ffee4620000 - 0x00007ffee4642000 C:\WINDOWS\System32\win32u.dll
-0x00007ffee5fc0000 - 0x00007ffee5fec000 C:\WINDOWS\System32\GDI32.dll
-0x00007ffee49b0000 - 0x00007ffee4ac5000 C:\WINDOWS\System32\gdi32full.dll
-0x00007ffee4860000 - 0x00007ffee48fd000 C:\WINDOWS\System32\msvcp_win.dll
-0x00007ffee4650000 - 0x00007ffee4750000 C:\WINDOWS\System32\ucrtbase.dll
-0x00007ffec1bc0000 - 0x00007ffec1e5a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
-0x00007ffee5b00000 - 0x00007ffee5b30000 C:\WINDOWS\System32\IMM32.DLL
-0x0000000061400000 - 0x00000000614d2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\msvcr100.dll
-0x00000000604c0000 - 0x0000000060d65000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\server\jvm.dll
-0x00007ffee57c0000 - 0x00007ffee57c8000 C:\WINDOWS\System32\PSAPI.DLL
-0x00007ffedf6d0000 - 0x00007ffedf6d9000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
-0x00007ffee5f50000 - 0x00007ffee5fbb000 C:\WINDOWS\System32\WS2_32.dll
-0x00007ffec5030000 - 0x00007ffec5057000 C:\WINDOWS\SYSTEM32\WINMM.dll
-0x00007ffedddb0000 - 0x00007ffedddba000 C:\WINDOWS\SYSTEM32\VERSION.dll
-0x00007ffedc960000 - 0x00007ffedc96f000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\verify.dll
-0x00007ffeca120000 - 0x00007ffeca149000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\java.dll
-0x00007ffed8fa0000 - 0x00007ffed8fd5000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\jdwp.dll
-0x00007ffeda800000 - 0x00007ffeda808000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\npt.dll
-0x00007ffed8f40000 - 0x00007ffed8f63000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\instrument.dll
-0x00007ffee66a0000 - 0x00007ffee66d7000 C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-0x00007ffed4290000 - 0x00007ffed42a6000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\zip.dll
-0x00007ffee4ad0000 - 0x00007ffee5214000 C:\WINDOWS\System32\SHELL32.dll
-0x00007ffee1f40000 - 0x00007ffee26d3000 C:\WINDOWS\SYSTEM32\windows.storage.dll
-0x00007ffee5b30000 - 0x00007ffee5e84000 C:\WINDOWS\System32\combase.dll
-0x00007ffee3dd0000 - 0x00007ffee3dfe000 C:\WINDOWS\SYSTEM32\Wldp.dll
-0x00007ffee6180000 - 0x00007ffee622d000 C:\WINDOWS\System32\SHCORE.dll
-0x00007ffee5e90000 - 0x00007ffee5ee5000 C:\WINDOWS\System32\shlwapi.dll
-0x00007ffee4390000 - 0x00007ffee43af000 C:\WINDOWS\SYSTEM32\profapi.dll
-0x00007ffed8f90000 - 0x00007ffed8f99000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dt_socket.dll
-0x00007ffee3bb0000 - 0x00007ffee3c1a000 C:\WINDOWS\system32\mswsock.dll
-0x00007ffed8f80000 - 0x00007ffed8f8d000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\management.dll
-0x00007ffed3980000 - 0x00007ffed399a000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\net.dll
-0x00007ffed13d0000 - 0x00007ffed15bc000 C:\WINDOWS\SYSTEM32\urlmon.dll
-0x00007ffedcd00000 - 0x00007ffedcfb1000 C:\WINDOWS\SYSTEM32\iertutil.dll
-0x00007ffee3070000 - 0x00007ffee3098000 C:\WINDOWS\SYSTEM32\srvcli.dll
-0x00007ffee38b0000 - 0x00007ffee38bc000 C:\WINDOWS\SYSTEM32\netutils.dll
-0x00007ffed43d0000 - 0x00007ffed43e2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\nio.dll
-0x00007ffeab2e0000 - 0x00007ffeab2f7000 C:\WINDOWS\system32\napinsp.dll
-0x00007ffeab300000 - 0x00007ffeab31b000 C:\WINDOWS\system32\pnrpnsp.dll
-0x00007ffeded70000 - 0x00007ffeded85000 C:\WINDOWS\system32\wshbth.dll
-0x00007ffede0f0000 - 0x00007ffede10d000 C:\WINDOWS\system32\NLAapi.dll
-0x00007ffee3870000 - 0x00007ffee38ac000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
-0x00007ffee38c0000 - 0x00007ffee398b000 C:\WINDOWS\SYSTEM32\DNSAPI.dll
-0x00007ffee5850000 - 0x00007ffee5858000 C:\WINDOWS\System32\NSI.dll
-0x00007ffeab320000 - 0x00007ffeab332000 C:\WINDOWS\System32\winrnr.dll
-0x00007ffeddf50000 - 0x00007ffeddfd2000 C:\WINDOWS\System32\fwpuclnt.dll
-0x00007ffee4830000 - 0x00007ffee4857000 C:\WINDOWS\System32\bcrypt.dll
-0x00007ffedd130000 - 0x00007ffedd13a000 C:\Windows\System32\rasadhlp.dll
-0x0000000180000000 - 0x0000000180053000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\lwjgl64.dll
-0x00007ffea9980000 - 0x00007ffea9aa5000 C:\WINDOWS\SYSTEM32\OPENGL32.dll
-0x00007ffed8ca0000 - 0x00007ffed8ccc000 C:\WINDOWS\SYSTEM32\GLU32.dll
-0x00007ffee3e10000 - 0x00007ffee3e28000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
-0x00007ffee3370000 - 0x00007ffee33a4000 C:\WINDOWS\system32\rsaenh.dll
-0x00007ffee4310000 - 0x00007ffee433e000 C:\WINDOWS\SYSTEM32\USERENV.dll
-0x00007ffee4750000 - 0x00007ffee47d2000 C:\WINDOWS\System32\bcryptprimitives.dll
-0x00007ffee3d40000 - 0x00007ffee3d4c000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
-0x00007ffeddee0000 - 0x00007ffeddef7000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
-0x00007ffeddec0000 - 0x00007ffeddedd000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
-0x00007ffe96070000 - 0x00007ffe96209000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\awt.dll
-0x00007ffee53f0000 - 0x00007ffee54bd000 C:\WINDOWS\System32\OLEAUT32.dll
-0x00007ffee1180000 - 0x00007ffee1211000 C:\WINDOWS\SYSTEM32\apphelp.dll
-0x00007ffeddb00000 - 0x00007ffeddbae000 C:\WINDOWS\SYSTEM32\mscms.dll
-0x00007ffedda90000 - 0x00007ffeddaa1000 C:\WINDOWS\SYSTEM32\ColorAdapterClient.dll
-0x00007ffee2d60000 - 0x00007ffee2d72000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll
-0x00007ffee54c0000 - 0x00007ffee5569000 C:\WINDOWS\System32\clbcatq.dll
-0x00007ffed06d0000 - 0x00007ffed0713000 C:\Windows\System32\Windows.Internal.Graphics.Display.DisplayColorManagement.dll
-0x00007ffee47e0000 - 0x00007ffee482e000 C:\WINDOWS\System32\cfgmgr32.dll
-0x00007ffee1820000 - 0x00007ffee18be000 C:\WINDOWS\system32\uxtheme.dll
-0x00007ffee5620000 - 0x00007ffee5734000 C:\WINDOWS\System32\MSCTF.dll
-0x00007ffec9a60000 - 0x00007ffec9b5a000 C:\WINDOWS\SYSTEM32\textinputframework.dll
-0x00007ffee0bf0000 - 0x00007ffee0f4e000 C:\WINDOWS\System32\CoreUIComponents.dll
-0x00007ffee0f50000 - 0x00007ffee1042000 C:\WINDOWS\System32\CoreMessaging.dll
-0x00007ffee35c0000 - 0x00007ffee35f3000 C:\WINDOWS\SYSTEM32\ntmarta.dll
-0x00007ffee0520000 - 0x00007ffee0674000 C:\WINDOWS\SYSTEM32\wintypes.dll
-0x00007ffed4fa0000 - 0x00007ffed50a4000 C:\Windows\System32\AppXDeploymentClient.dll
-0x00007ffe3a9c0000 - 0x00007ffe3b9b3000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igxelpicd64.dll
-0x00007ffee52c0000 - 0x00007ffee53ea000 C:\WINDOWS\System32\ole32.dll
-0x00007ffee1950000 - 0x00007ffee197f000 C:\WINDOWS\system32\dwmapi.dll
-0x00007ffee2ae0000 - 0x00007ffee2bd3000 C:\WINDOWS\system32\dxgi.dll
-0x00007ffe92b20000 - 0x00007ffe92f73000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdml64.dll
-0x00007ffecdc00000 - 0x00007ffecdfc7000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdgmm64.dll
-0x00007ffe815f0000 - 0x00007ffe81633000 C:\WINDOWS\SYSTEM32\icm32.dll
-0x00007ffeca5e0000 - 0x00007ffecdbf1000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igc64.dll
-0x00007ffee3990000 - 0x00007ffee39db000 C:\WINDOWS\SYSTEM32\powrprof.dll
-0x00007ffee3850000 - 0x00007ffee3862000 C:\WINDOWS\SYSTEM32\UMPDC.dll
-0x0000000026e20000 - 0x0000000026e58000 C:\Users\remgab001\AppData\Local\Temp\jna\jna7782570744425350142.dll
-0x0000000070a40000 - 0x0000000070adc000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\avutil-ttv-51.dll
-0x0000000065980000 - 0x00000000659d6000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\swresample-ttv-0.dll
-0x000000006eb80000 - 0x000000006ec50000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmp3lame-ttv.dll
-0x00007ffe37aa0000 - 0x00007ffe38e44000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmfxsw64.dll
-0x00007ffe9a350000 - 0x00007ffe9a4bd000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\twitchsdk.dll
-0x00007ffec4920000 - 0x00007ffec4df9000 C:\WINDOWS\SYSTEM32\WININET.dll
-0x00000000286a0000 - 0x0000000028704000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\OpenAL64.dll
-0x00007ffedbfa0000 - 0x00007ffedc025000 C:\WINDOWS\System32\MMDevApi.dll
-0x00007ffee4200000 - 0x00007ffee422c000 C:\WINDOWS\System32\DEVOBJ.dll
-0x00007ffea9750000 - 0x00007ffea97ec000 C:\WINDOWS\SYSTEM32\dsound.dll
-0x00007ffec4e00000 - 0x00007ffec4e26000 C:\WINDOWS\SYSTEM32\winmmbase.dll
-0x00007ffedc0f0000 - 0x00007ffedc272000 C:\WINDOWS\SYSTEM32\AUDIOSES.DLL
-0x00007ffee1a60000 - 0x00007ffee1a74000 C:\WINDOWS\SYSTEM32\resourcepolicyclient.dll
-0x00007ffea9700000 - 0x00007ffea9747000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\fontmanager.dll
-0x00007ffe96020000 - 0x00007ffe96062000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\t2k.dll
-0x00007ffed9090000 - 0x00007ffed90ba000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dcpr.dll
-0x00007ffee27b0000 - 0x00007ffee2994000 C:\WINDOWS\SYSTEM32\dbghelp.dll
-
-VM Arguments:
-jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:49941,suspend=y,server=n -Djava.library.path=versions/1.8.8/1.8.8-natives/ -javaagent:C:\Users\remgab001\AppData\Local\JetBrains\IdeaIC2023.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -agentpath:C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-java_command: Start
-java_class_path (initial): C:\Program Files\Java\jdk1.8.0_202\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar;C:\Users\remgab001\Desktop\Athena-Client\target\classes;C:\Users\remgab001\.m2\repository\net\minecraft\minecraft\1.8.8\minecraft-1.8.8.jar;C:\Users\remgab001\.m2\repository\org\json\json\20230227\json-20230227.jar;C:\Users\remgab001\.m2\repository\org\reflections\reflections\0.10.2\reflections-0.10.2.jar;C:\Users\remgab001\.m2\repository\org\javassist\javassist\3.28.0-GA\javassist-3.28.0-GA.jar;C:\Users\remgab001\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\remgab001\.m2\repository\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;C:\Users\remgab001\.m2\repository\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-PATH=C:\Program Files\Google\Chrome\Application;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\remgab001\AppData\Local\Microsoft\WindowsApps;C:\Users\remgab001\AppData\Roaming\npm;C:\Users\remgab001\AppData\Local\Programs\Microsoft VS Code\bin
-USERNAME=remgab001
-OS=Windows_NT
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 154 Stepping 3, GenuineIntel
-
-
-
---------------- S Y S T E M ---------------
-
-OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.2913)
-
-CPU:total 20 (initial active 20) (10 cores per cpu, 2 threads per core) family 6 model 154 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
-
-Memory: 4k page, physical 16400820k(722092k free), swap 33178036k(9602492k free)
-
-vm_info: Java HotSpot(TM) 64-Bit Server VM (25.202-b08) for windows-amd64 JRE (1.8.0_202-b08), built on Dec 15 2018 19:54:30 by "java_re" with MS VC++ 10.0 (VS2010)
-
-time: Fri Jun 02 13:52:55 2023
-timezone: Vest-Europa (sommertid)
-elapsed time: 2052 seconds (0d 0h 34m 12s)
-
diff --git a/workspace/hs_err_pid21180.log b/workspace/hs_err_pid21180.log
deleted file mode 100644
index 43611f93..00000000
--- a/workspace/hs_err_pid21180.log
+++ /dev/null
@@ -1,456 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffe8f60366c, pid=21180, tid=0x0000000000002a2c
-#
-# JRE version: Java(TM) SE Runtime Environment (8.0_202-b08) (build 1.8.0_202-b08)
-# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode windows-amd64 compressed oops)
-# Problematic frame:
-# C [igxelpicd64.dll+0x13366c]
-#
-# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
-#
-# If you would like to submit a bug report, please visit:
-# http://bugreport.java.com/bugreport/crash.jsp
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x000000001e615000): VMThread [stack: 0x0000000020090000,0x0000000020190000] [id=10796]
-
-siginfo: ExceptionCode=0xc0000005, reading address 0x00000000000356f8
-
-Registers:
-RAX=0x000000002fe00078, RBX=0x000000002fdfff70, RCX=0x0000000000000000, RDX=0x0000000000000000
-RSP=0x000000002018e8d0, RBP=0x0000000000000000, RSI=0x000000002fe00540, RDI=0x000000002a61dc70
-R8 =0x0000000000000014, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000000
-R12=0x0000000000000000, R13=0x000000002fc112d0, R14=0x0000000000627900, R15=0x0000000000000016
-RIP=0x00007ffe8f60366c, EFLAGS=0x0000000000010206
-
-Top of Stack: (sp=0x000000002018e8d0)
-0x000000002018e8d0: 00000000004e4ff0 00007ffee6d3f070
-0x000000002018e8e0: 0000000000000000 00007ffee6f30eb4
-0x000000002018e8f0: 000000002018ffff 0000000028321490
-0x000000002018e900: 00000000029663a0 000000000000000d
-0x000000002018e910: 0000000028122cf8 0000000000627952
-0x000000002018e920: 0000000000000000 000000000000000e
-0x000000002018e930: 0000000000000000 0000000000000000
-0x000000002018e940: 000000002018ea50 00007ffe8f77bc3c
-0x000000002018e950: 00000000004e4ff0 000000002a61dc70
-0x000000002018e960: 00007ffee6f09300 000000001e614a00
-0x000000002018e970: 0000000000001668 0000740400000000
-0x000000002018e980: 0000000000000000 00007ffee6ead23b
-0x000000002018e990: 0000000000000001 000000002018eb40
-0x000000002018e9a0: 0000000000000002 00000000001e0000
-0x000000002018e9b0: 00007ffee6ef79d0 00007ffe8f7719a0
-0x000000002018e9c0: 00000000000004b4 00000000001e1c04
-
-Instructions: (pc=0x00007ffe8f60366c)
-0x00007ffe8f60364c: 83 20 01 00 00 48 8d 04 d5 21 00 00 00 48 03 c2
-0x00007ffe8f60365c: 48 8d 04 c3 48 85 c0 0f 85 ff 00 00 00 49 8b cb
-0x00007ffe8f60366c: 48 3b 8d f8 56 03 00 0f 87 f3 02 00 00 4c 39 9b
-0x00007ffe8f60367c: 48 06 00 00 0f 85 31 da 86 00 44 8b 97 c8 01 00
-
-
-Register to memory mapping:
-
-RAX=0x000000002fe00078 is an unknown value
-RBX=0x000000002fdfff70 is an unknown value
-RCX=0x0000000000000000 is an unknown value
-RDX=0x0000000000000000 is an unknown value
-RSP=0x000000002018e8d0 is an unknown value
-RBP=0x0000000000000000 is an unknown value
-RSI=0x000000002fe00540 is an unknown value
-RDI=0x000000002a61dc70 is an unknown value
-R8 =0x0000000000000014 is an unknown value
-R9 =0x0000000000000000 is an unknown value
-R10=0x0000000000000000 is an unknown value
-R11=0x0000000000000000 is an unknown value
-R12=0x0000000000000000 is an unknown value
-R13=0x000000002fc112d0 is an unknown value
-R14=0x0000000000627900 is an unknown value
-R15=0x0000000000000016 is an unknown value
-
-
-Stack: [0x0000000020090000,0x0000000020190000], sp=0x000000002018e8d0, free space=1018k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-
-VM_Operation (0x000000002078f360): Exit, mode: safepoint, requested by thread 0x0000000036ddc000
-
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x0000000036dd7000 JavaThread "AWT-Shutdown" [_thread_blocked, id=13236, stack(0x0000000041a80000,0x0000000041b80000)]
- 0x0000000036ddc000 JavaThread "SIGINT handler" daemon [_thread_blocked, id=13180, stack(0x0000000020690000,0x0000000020790000)]
- 0x0000000035cb4000 JavaThread "File IO Thread" [_thread_blocked, id=18536, stack(0x0000000041980000,0x0000000041a80000)]
- 0x0000000035cb7800 JavaThread "pool-2-thread-1" [_thread_blocked, id=1676, stack(0x0000000041ff0000,0x00000000420f0000)]
- 0x0000000035cb6000 JavaThread "Netty Server IO #1" daemon [_thread_blocked, id=10040, stack(0x0000000041880000,0x0000000041980000)]
- 0x0000000035cb2800 JavaThread "Netty Local Client IO #0" daemon [_thread_blocked, id=17156, stack(0x000000003ad10000,0x000000003ae10000)]
- 0x0000000035cb2000 JavaThread "Netty Server IO #0" daemon [_thread_blocked, id=17848, stack(0x0000000037be0000,0x0000000037ce0000)]
- 0x0000000035cb8000 JavaThread "Server thread" [_thread_blocked, id=20884, stack(0x0000000036a80000,0x0000000036b80000)]
- 0x000000001e74b000 JavaThread "LWJGL Timer" daemon [_thread_blocked, id=16124, stack(0x0000000035900000,0x0000000035a00000)]
- 0x000000001e749800 JavaThread "Chunk Batcher 1" daemon [_thread_blocked, id=16436, stack(0x00000000306a0000,0x00000000307a0000)]
- 0x000000001e74d800 JavaThread "Chunk Batcher 0" daemon [_thread_blocked, id=10828, stack(0x00000000305a0000,0x00000000306a0000)]
- 0x000000001e749000 JavaThread "Thread-8" [_thread_blocked, id=20348, stack(0x00000000318a0000,0x00000000319a0000)]
- 0x00000000289e5800 JavaThread "Thread-7" [_thread_blocked, id=13060, stack(0x0000000033af0000,0x0000000033bf0000)]
- 0x0000000028cdd800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=12836, stack(0x0000000027cd0000,0x0000000027dd0000)]
- 0x0000000028a4d000 JavaThread "Timer hack thread" daemon [_thread_blocked, id=6096, stack(0x0000000026520000,0x0000000026620000)]
- 0x0000000022d18000 JavaThread "Snooper Timer" daemon [_thread_blocked, id=7912, stack(0x00000000253a0000,0x00000000254a0000)]
- 0x000000001e791000 JavaThread "Service Thread" daemon [_thread_blocked, id=10080, stack(0x0000000021690000,0x0000000021790000)]
- 0x000000001e746800 JavaThread "C1 CompilerThread11" daemon [_thread_blocked, id=18204, stack(0x0000000021590000,0x0000000021690000)]
- 0x000000001e747800 JavaThread "C1 CompilerThread10" daemon [_thread_blocked, id=18908, stack(0x0000000021490000,0x0000000021590000)]
- 0x000000001e74a800 JavaThread "C1 CompilerThread9" daemon [_thread_blocked, id=10676, stack(0x0000000021390000,0x0000000021490000)]
- 0x000000001e73d800 JavaThread "C1 CompilerThread8" daemon [_thread_blocked, id=5604, stack(0x0000000021290000,0x0000000021390000)]
- 0x000000001e712800 JavaThread "C2 CompilerThread7" daemon [_thread_blocked, id=18764, stack(0x0000000021190000,0x0000000021290000)]
- 0x000000001e6f8000 JavaThread "C2 CompilerThread6" daemon [_thread_blocked, id=10988, stack(0x0000000021090000,0x0000000021190000)]
- 0x000000001e6ee000 JavaThread "C2 CompilerThread5" daemon [_thread_blocked, id=18244, stack(0x0000000020f90000,0x0000000021090000)]
- 0x000000001e6e5800 JavaThread "C2 CompilerThread4" daemon [_thread_blocked, id=8048, stack(0x0000000020e90000,0x0000000020f90000)]
- 0x000000001e6e4800 JavaThread "C2 CompilerThread3" daemon [_thread_blocked, id=13392, stack(0x0000000020d90000,0x0000000020e90000)]
- 0x000000001e6e2000 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=13316, stack(0x0000000020b90000,0x0000000020c90000)]
- 0x000000001e697000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=11632, stack(0x0000000020a90000,0x0000000020b90000)]
- 0x000000001e692000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=15348, stack(0x0000000020990000,0x0000000020a90000)]
- 0x000000001e678800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=788, stack(0x0000000020790000,0x0000000020890000)]
- 0x000000001e65a000 JavaThread "Attach Listener" daemon [_thread_blocked, id=9272, stack(0x0000000020590000,0x0000000020690000)]
- 0x000000001e63e000 JavaThread "Finalizer" daemon [_thread_blocked, id=16360, stack(0x0000000020290000,0x0000000020390000)]
- 0x000000001e638000 JavaThread "Reference Handler" daemon [_thread_blocked, id=17024, stack(0x0000000020190000,0x0000000020290000)]
- 0x00000000028b4800 JavaThread "Client thread" [_thread_blocked, id=748, stack(0x0000000002340000,0x0000000002440000)]
-
-Other Threads:
-=>0x000000001e615000 VMThread [stack: 0x0000000020090000,0x0000000020190000] [id=10796]
-
-VM state:at safepoint (shutting down)
-
-VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
-[0x00000000028b1850] Threads_lock - owner thread: 0x000000001e615000
-
-heap address: 0x00000006c5a00000, size: 4006 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
-Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
-Compressed class space size: 1073741824 Address: 0x00000007c0000000
-
-Heap:
- PSYoungGen total 532480K, used 367877K [0x000000076c900000, 0x0000000795380000, 0x00000007c0000000)
- eden space 513024K, 68% used [0x000000076c900000,0x0000000781dbe378,0x000000078be00000)
- from space 19456K, 97% used [0x0000000794080000,0x0000000795303450,0x0000000795380000)
- to space 70656K, 0% used [0x000000078c980000,0x000000078c980000,0x0000000790e80000)
- ParOldGen total 254464K, used 168759K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 66% used [0x00000006c5a00000,0x00000006cfecdc68,0x00000006d5280000)
- Metaspace used 46143K, capacity 46619K, committed 46848K, reserved 1091584K
- class space used 5410K, capacity 5549K, committed 5632K, reserved 1048576K
-
-Card table byte_map: [0x0000000011d70000,0x0000000012550000] byte_map_base: 0x000000000e743000
-
-Marking Bits: (ParMarkBitMap*) 0x0000000060ce5ce0
- Begin Bits: [0x0000000013990000, 0x0000000017828000)
- End Bits: [0x0000000017828000, 0x000000001b6c0000)
-
-Polling page: 0x0000000000800000
-
-CodeCache: size=245760Kb used=35904Kb max_used=35962Kb free=209855Kb
- bounds [0x00000000029b0000, 0x0000000004d10000, 0x00000000119b0000]
- total_blobs=8674 nmethods=7789 adapters=800
- compilation: enabled
-
-Compilation events (10 events):
-Event: 136.295 Thread 0x000000001e74a800 10378 3 java.lang.Long::compareTo (9 bytes)
-Event: 136.295 Thread 0x000000001e746800 10379 3 java.lang.Long::compareTo (12 bytes)
-Event: 136.296 Thread 0x000000001e73d800 nmethod 10382 0x0000000002f93350 code [0x0000000002f934c0, 0x0000000002f93768]
-Event: 136.296 Thread 0x000000001e74a800 nmethod 10378 0x0000000004c901d0 code [0x0000000004c90340, 0x0000000004c90790]
-Event: 136.296 Thread 0x000000001e747800 nmethod 10377 0x0000000004c8fb10 code [0x0000000004c8fc80, 0x0000000004c900c8]
-Event: 136.296 Thread 0x000000001e746800 nmethod 10379 0x0000000002f92e90 code [0x0000000002f93000, 0x0000000002f93290]
-Event: 136.296 Thread 0x000000001e747800 10380 3 java.lang.Long::compare (22 bytes)
-Event: 136.296 Thread 0x000000001e746800 10381 1 sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl::getRawType (5 bytes)
-Event: 136.296 Thread 0x000000001e746800 nmethod 10381 0x0000000004c8f850 code [0x0000000004c8f9a0, 0x0000000004c8fab0]
-Event: 136.296 Thread 0x000000001e747800 nmethod 10380 0x0000000004183390 code [0x0000000004183500, 0x0000000004183710]
-
-GC Heap History (10 events):
-Event: 87.694 GC heap before
-{Heap before GC invocations=21 (full 5):
- PSYoungGen total 329216K, used 310385K [0x000000076c900000, 0x0000000788280000, 0x00000007c0000000)
- eden space 284160K, 96% used [0x000000076c900000,0x000000077d546090,0x000000077de80000)
- from space 45056K, 79% used [0x000000077de80000,0x0000000780156620,0x0000000780a80000)
- to space 49152K, 0% used [0x0000000785280000,0x0000000785280000,0x0000000788280000)
- ParOldGen total 254464K, used 120390K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 47% used [0x00000006c5a00000,0x00000006ccf91868,0x00000006d5280000)
- Metaspace used 45087K, capacity 45517K, committed 45696K, reserved 1089536K
- class space used 5368K, capacity 5494K, committed 5504K, reserved 1048576K
-Event: 87.713 GC heap after
-Heap after GC invocations=21 (full 5):
- PSYoungGen total 398848K, used 37502K [0x000000076c900000, 0x0000000788f80000, 0x00000007c0000000)
- eden space 349696K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000781e80000)
- from space 49152K, 76% used [0x0000000785280000,0x000000078771f980,0x0000000788280000)
- to space 53248K, 0% used [0x0000000781e80000,0x0000000781e80000,0x0000000785280000)
- ParOldGen total 254464K, used 120398K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 47% used [0x00000006c5a00000,0x00000006ccf93868,0x00000006d5280000)
- Metaspace used 45087K, capacity 45517K, committed 45696K, reserved 1089536K
- class space used 5368K, capacity 5494K, committed 5504K, reserved 1048576K
-}
-Event: 88.095 GC heap before
-{Heap before GC invocations=22 (full 5):
- PSYoungGen total 398848K, used 382654K [0x000000076c900000, 0x0000000788f80000, 0x00000007c0000000)
- eden space 349696K, 98% used [0x000000076c900000,0x0000000781a100e8,0x0000000781e80000)
- from space 49152K, 76% used [0x0000000785280000,0x000000078771f980,0x0000000788280000)
- to space 53248K, 0% used [0x0000000781e80000,0x0000000781e80000,0x0000000785280000)
- ParOldGen total 254464K, used 120398K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 47% used [0x00000006c5a00000,0x00000006ccf93868,0x00000006d5280000)
- Metaspace used 45106K, capacity 45523K, committed 45696K, reserved 1089536K
- class space used 5369K, capacity 5495K, committed 5504K, reserved 1048576K
-Event: 88.110 GC heap after
-Heap after GC invocations=22 (full 5):
- PSYoungGen total 402944K, used 37905K [0x000000076c900000, 0x000000078ed00000, 0x00000007c0000000)
- eden space 349696K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000781e80000)
- from space 53248K, 71% used [0x0000000781e80000,0x0000000784384400,0x0000000785280000)
- to space 56320K, 0% used [0x000000078b600000,0x000000078b600000,0x000000078ed00000)
- ParOldGen total 254464K, used 120406K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 47% used [0x00000006c5a00000,0x00000006ccf95868,0x00000006d5280000)
- Metaspace used 45106K, capacity 45523K, committed 45696K, reserved 1089536K
- class space used 5369K, capacity 5495K, committed 5504K, reserved 1048576K
-}
-Event: 88.377 GC heap before
-{Heap before GC invocations=23 (full 5):
- PSYoungGen total 402944K, used 387601K [0x000000076c900000, 0x000000078ed00000, 0x00000007c0000000)
- eden space 349696K, 100% used [0x000000076c900000,0x0000000781e80000,0x0000000781e80000)
- from space 53248K, 71% used [0x0000000781e80000,0x0000000784384400,0x0000000785280000)
- to space 56320K, 0% used [0x000000078b600000,0x000000078b600000,0x000000078ed00000)
- ParOldGen total 254464K, used 120406K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 47% used [0x00000006c5a00000,0x00000006ccf95868,0x00000006d5280000)
- Metaspace used 45228K, capacity 45683K, committed 46080K, reserved 1089536K
- class space used 5379K, capacity 5527K, committed 5632K, reserved 1048576K
-Event: 88.408 GC heap after
-Heap after GC invocations=23 (full 5):
- PSYoungGen total 485376K, used 56318K [0x000000076c900000, 0x0000000792d80000, 0x00000007c0000000)
- eden space 429056K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000786c00000)
- from space 56320K, 99% used [0x000000078b600000,0x000000078ecff990,0x000000078ed00000)
- to space 75776K, 0% used [0x0000000786c00000,0x0000000786c00000,0x000000078b600000)
- ParOldGen total 254464K, used 147829K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 58% used [0x00000006c5a00000,0x00000006cea5d5b8,0x00000006d5280000)
- Metaspace used 45228K, capacity 45683K, committed 46080K, reserved 1089536K
- class space used 5379K, capacity 5527K, committed 5632K, reserved 1048576K
-}
-Event: 89.150 GC heap before
-{Heap before GC invocations=24 (full 5):
- PSYoungGen total 485376K, used 485374K [0x000000076c900000, 0x0000000792d80000, 0x00000007c0000000)
- eden space 429056K, 100% used [0x000000076c900000,0x0000000786c00000,0x0000000786c00000)
- from space 56320K, 99% used [0x000000078b600000,0x000000078ecff990,0x000000078ed00000)
- to space 75776K, 0% used [0x0000000786c00000,0x0000000786c00000,0x000000078b600000)
- ParOldGen total 254464K, used 147829K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 58% used [0x00000006c5a00000,0x00000006cea5d600,0x00000006d5280000)
- Metaspace used 45261K, capacity 45683K, committed 46080K, reserved 1089536K
- class space used 5379K, capacity 5527K, committed 5632K, reserved 1048576K
-Event: 89.164 GC heap after
-Heap after GC invocations=24 (full 5):
- PSYoungGen total 504832K, used 11456K [0x000000076c900000, 0x0000000798880000, 0x00000007c0000000)
- eden space 429056K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000786c00000)
- from space 75776K, 15% used [0x0000000786c00000,0x0000000787730020,0x000000078b600000)
- to space 73728K, 0% used [0x0000000794080000,0x0000000794080000,0x0000000798880000)
- ParOldGen total 254464K, used 166445K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 65% used [0x00000006c5a00000,0x00000006cfc8b420,0x00000006d5280000)
- Metaspace used 45261K, capacity 45683K, committed 46080K, reserved 1089536K
- class space used 5379K, capacity 5527K, committed 5632K, reserved 1048576K
-}
-Event: 102.735 GC heap before
-{Heap before GC invocations=25 (full 5):
- PSYoungGen total 504832K, used 440512K [0x000000076c900000, 0x0000000798880000, 0x00000007c0000000)
- eden space 429056K, 100% used [0x000000076c900000,0x0000000786c00000,0x0000000786c00000)
- from space 75776K, 15% used [0x0000000786c00000,0x0000000787730020,0x000000078b600000)
- to space 73728K, 0% used [0x0000000794080000,0x0000000794080000,0x0000000798880000)
- ParOldGen total 254464K, used 166446K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 65% used [0x00000006c5a00000,0x00000006cfc8baf8,0x00000006d5280000)
- Metaspace used 45796K, capacity 46277K, committed 46592K, reserved 1089536K
- class space used 5400K, capacity 5544K, committed 5632K, reserved 1048576K
-Event: 102.745 GC heap after
-Heap after GC invocations=25 (full 5):
- PSYoungGen total 532480K, used 18957K [0x000000076c900000, 0x0000000795380000, 0x00000007c0000000)
- eden space 513024K, 0% used [0x000000076c900000,0x000000076c900000,0x000000078be00000)
- from space 19456K, 97% used [0x0000000794080000,0x0000000795303450,0x0000000795380000)
- to space 70656K, 0% used [0x000000078c980000,0x000000078c980000,0x0000000790e80000)
- ParOldGen total 254464K, used 168759K [0x00000006c5a00000, 0x00000006d5280000, 0x000000076c900000)
- object space 254464K, 66% used [0x00000006c5a00000,0x00000006cfecdc68,0x00000006d5280000)
- Metaspace used 45796K, capacity 46277K, committed 46592K, reserved 1089536K
- class space used 5400K, capacity 5544K, committed 5632K, reserved 1048576K
-}
-
-Deoptimization events (10 events):
-Event: 136.248 Thread 0x0000000035cb2800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000040a5bd8 method=io.netty.channel.local.LocalChannel.isOpen()Z @ 5
-Event: 136.249 Thread 0x0000000035cb6000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000000490e074 method=io.netty.util.internal.MpscLinkedQueue.poll()Ljava/lang/Object; @ 26
-Event: 136.285 Thread 0x0000000035cb8000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000037553d8 method=java.util.regex.Pattern$Branch.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 50
-Event: 136.285 Thread 0x0000000035cb8000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003dc1db4 method=net.minecraft.util.ChatStyle.getColor()Lnet/minecraft/util/EnumChatFormatting; @ 4
-Event: 136.285 Thread 0x0000000035cb8000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000048e7d6c method=net.minecraft.util.ChatStyle.getChatClickEvent()Lnet/minecraft/event/ClickEvent; @ 4
-Event: 136.285 Thread 0x0000000035cb8000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003ad9f2c method=net.minecraft.util.ChatStyle.getChatHoverEvent()Lnet/minecraft/event/HoverEvent; @ 4
-Event: 136.285 Thread 0x0000000035cb8000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003bac3ec method=net.minecraft.util.ChatStyle.getInsertion()Ljava/lang/String; @ 4
-Event: 136.295 Thread 0x0000000036dd7800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000448cde8 method=java.util.Collections$SetFromMap.add(Ljava/lang/Object;)Z @ 13
-Event: 136.336 Thread 0x0000000036ddc000 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x00000000044f886c method=java.util.AbstractCollection.toArray()[Ljava/lang/Object; @ 22
-Event: 136.336 Thread 0x0000000036ddc000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000039342b0 method=java.util.Collections.reverse(Ljava/util/List;)V @ 1
-
-Classes redefined (1 events):
-Event: 0.091 Thread 0x000000001e615000 redefined class name=java.io.FileOutputStream, count=1
-
-Internal exceptions (10 events):
-Event: 136.291 Thread 0x00000000289e5800 Exception (0x00000007807b1120) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.295 Thread 0x00000000289e5800 Exception (0x00000007807b13c8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.301 Thread 0x00000000289e5800 Exception (0x00000007807b1670) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.306 Thread 0x00000000289e5800 Exception (0x00000007807b1918) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.311 Thread 0x00000000289e5800 Exception (0x00000007807b1bc0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.315 Thread 0x00000000289e5800 Exception (0x00000007807b1e68) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.320 Thread 0x00000000289e5800 Exception (0x00000007807b2110) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.325 Thread 0x00000000289e5800 Exception (0x00000007807b23b8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.330 Thread 0x00000000289e5800 Exception (0x00000007807b2660) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 136.335 Thread 0x00000000289e5800 Exception (0x00000007807b2908) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-
-Events (10 events):
-Event: 136.335 Thread 0x00000000289e5800 DEOPT UNPACKING pc=0x00000000029f7890 sp=0x0000000033beee58 mode 1
-Event: 136.336 Thread 0x0000000036ddb800 Thread exited: 0x0000000036ddb800
-Event: 136.336 Thread 0x0000000036ddc000 Uncommon trap: trap_request=0xffffffc6 fr.pc=0x00000000044f886c
-Event: 136.336 Thread 0x0000000036ddc000 DEOPT PACKING pc=0x00000000044f886c sp=0x000000002078f200
-Event: 136.336 Thread 0x0000000036ddc000 DEOPT UNPACKING pc=0x00000000029f583b sp=0x000000002078f1c8 mode 2
-Event: 136.336 Thread 0x0000000036ddc000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00000000039342b0
-Event: 136.336 Thread 0x0000000036ddc000 DEOPT PACKING pc=0x00000000039342b0 sp=0x000000002078f210
-Event: 136.336 Thread 0x0000000036ddc000 DEOPT UNPACKING pc=0x00000000029f583b sp=0x000000002078f248 mode 2
-Event: 136.337 Thread 0x000000001e659000 Thread exited: 0x000000001e659000
-Event: 136.337 Executing VM operation: Exit
-
-
-Dynamic libraries:
-0x00007ff75c730000 - 0x00007ff75c767000 C:\Program Files\Java\jdk1.8.0_202\bin\java.exe
-0x00007ffee6e90000 - 0x00007ffee7088000 C:\WINDOWS\SYSTEM32\ntdll.dll
-0x00007ffee6bf0000 - 0x00007ffee6caf000 C:\WINDOWS\System32\KERNEL32.DLL
-0x00007ffee68f0000 - 0x00007ffee6be6000 C:\WINDOWS\System32\KERNELBASE.dll
-0x0000000070e20000 - 0x0000000070e5b000 C:\WINDOWS\System32\cyinjct.dll
-0x00007ffee6770000 - 0x00007ffee677c000 C:\WINDOWS\System32\ntnativeapi.dll
-0x00007ffee6750000 - 0x00007ffee676e000 C:\WINDOWS\System32\cyvera.dll
-0x00007ffee66e0000 - 0x00007ffee6749000 C:\WINDOWS\System32\cyvrtrap.dll
-0x00007ffee5570000 - 0x00007ffee561f000 C:\WINDOWS\System32\ADVAPI32.dll
-0x00007ffee60e0000 - 0x00007ffee617e000 C:\WINDOWS\System32\msvcrt.dll
-0x00007ffee5220000 - 0x00007ffee52bc000 C:\WINDOWS\System32\sechost.dll
-0x00007ffee67c0000 - 0x00007ffee68e6000 C:\WINDOWS\System32\RPCRT4.dll
-0x00007ffee6cb0000 - 0x00007ffee6e4d000 C:\WINDOWS\System32\USER32.dll
-0x00007ffee4620000 - 0x00007ffee4642000 C:\WINDOWS\System32\win32u.dll
-0x00007ffee5fc0000 - 0x00007ffee5fec000 C:\WINDOWS\System32\GDI32.dll
-0x00007ffee49b0000 - 0x00007ffee4ac5000 C:\WINDOWS\System32\gdi32full.dll
-0x00007ffee4860000 - 0x00007ffee48fd000 C:\WINDOWS\System32\msvcp_win.dll
-0x00007ffee4650000 - 0x00007ffee4750000 C:\WINDOWS\System32\ucrtbase.dll
-0x00007ffec1bc0000 - 0x00007ffec1e5a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
-0x00007ffee5b00000 - 0x00007ffee5b30000 C:\WINDOWS\System32\IMM32.DLL
-0x0000000061400000 - 0x00000000614d2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\msvcr100.dll
-0x00000000604c0000 - 0x0000000060d65000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\server\jvm.dll
-0x00007ffee57c0000 - 0x00007ffee57c8000 C:\WINDOWS\System32\PSAPI.DLL
-0x00007ffedf6d0000 - 0x00007ffedf6d9000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
-0x00007ffee5f50000 - 0x00007ffee5fbb000 C:\WINDOWS\System32\WS2_32.dll
-0x00007ffec5030000 - 0x00007ffec5057000 C:\WINDOWS\SYSTEM32\WINMM.dll
-0x00007ffedddb0000 - 0x00007ffedddba000 C:\WINDOWS\SYSTEM32\VERSION.dll
-0x00007ffedc960000 - 0x00007ffedc96f000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\verify.dll
-0x00007ffeca120000 - 0x00007ffeca149000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\java.dll
-0x00007ffeca5a0000 - 0x00007ffeca5d5000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\jdwp.dll
-0x00007ffed4710000 - 0x00007ffed4718000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\npt.dll
-0x00007ffec75c0000 - 0x00007ffec75e3000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\instrument.dll
-0x00007ffee66a0000 - 0x00007ffee66d7000 C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-0x00007ffed4290000 - 0x00007ffed42a6000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\zip.dll
-0x00007ffee4ad0000 - 0x00007ffee5214000 C:\WINDOWS\System32\SHELL32.dll
-0x00007ffee1f40000 - 0x00007ffee26d3000 C:\WINDOWS\SYSTEM32\windows.storage.dll
-0x00007ffee5b30000 - 0x00007ffee5e84000 C:\WINDOWS\System32\combase.dll
-0x00007ffee3dd0000 - 0x00007ffee3dfe000 C:\WINDOWS\SYSTEM32\Wldp.dll
-0x00007ffee6180000 - 0x00007ffee622d000 C:\WINDOWS\System32\SHCORE.dll
-0x00007ffee5e90000 - 0x00007ffee5ee5000 C:\WINDOWS\System32\shlwapi.dll
-0x00007ffee4390000 - 0x00007ffee43af000 C:\WINDOWS\SYSTEM32\profapi.dll
-0x00007ffed45d0000 - 0x00007ffed45d9000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dt_socket.dll
-0x00007ffee3bb0000 - 0x00007ffee3c1a000 C:\WINDOWS\system32\mswsock.dll
-0x00007ffed45b0000 - 0x00007ffed45bd000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\management.dll
-0x00007ffed3980000 - 0x00007ffed399a000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\net.dll
-0x00007ffed13d0000 - 0x00007ffed15bc000 C:\WINDOWS\SYSTEM32\urlmon.dll
-0x00007ffedcd00000 - 0x00007ffedcfb1000 C:\WINDOWS\SYSTEM32\iertutil.dll
-0x00007ffee3070000 - 0x00007ffee3098000 C:\WINDOWS\SYSTEM32\srvcli.dll
-0x00007ffee38b0000 - 0x00007ffee38bc000 C:\WINDOWS\SYSTEM32\netutils.dll
-0x00007ffed43d0000 - 0x00007ffed43e2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\nio.dll
-0x00007ffeab2e0000 - 0x00007ffeab2f7000 C:\WINDOWS\system32\napinsp.dll
-0x00007ffeab300000 - 0x00007ffeab31b000 C:\WINDOWS\system32\pnrpnsp.dll
-0x00007ffeded70000 - 0x00007ffeded85000 C:\WINDOWS\system32\wshbth.dll
-0x00007ffede0f0000 - 0x00007ffede10d000 C:\WINDOWS\system32\NLAapi.dll
-0x00007ffee3870000 - 0x00007ffee38ac000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
-0x00007ffee38c0000 - 0x00007ffee398b000 C:\WINDOWS\SYSTEM32\DNSAPI.dll
-0x00007ffee5850000 - 0x00007ffee5858000 C:\WINDOWS\System32\NSI.dll
-0x00007ffeab320000 - 0x00007ffeab332000 C:\WINDOWS\System32\winrnr.dll
-0x00007ffeddf50000 - 0x00007ffeddfd2000 C:\WINDOWS\System32\fwpuclnt.dll
-0x00007ffee4830000 - 0x00007ffee4857000 C:\WINDOWS\System32\bcrypt.dll
-0x00007ffedd130000 - 0x00007ffedd13a000 C:\Windows\System32\rasadhlp.dll
-0x0000000180000000 - 0x0000000180053000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\lwjgl64.dll
-0x00007ffea9980000 - 0x00007ffea9aa5000 C:\WINDOWS\SYSTEM32\OPENGL32.dll
-0x00007ffed8ca0000 - 0x00007ffed8ccc000 C:\WINDOWS\SYSTEM32\GLU32.dll
-0x00007ffee3e10000 - 0x00007ffee3e28000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
-0x00007ffee3370000 - 0x00007ffee33a4000 C:\WINDOWS\system32\rsaenh.dll
-0x00007ffee4310000 - 0x00007ffee433e000 C:\WINDOWS\SYSTEM32\USERENV.dll
-0x00007ffee4750000 - 0x00007ffee47d2000 C:\WINDOWS\System32\bcryptprimitives.dll
-0x00007ffee3d40000 - 0x00007ffee3d4c000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
-0x00007ffeddee0000 - 0x00007ffeddef7000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
-0x00007ffeddec0000 - 0x00007ffeddedd000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
-0x00007ffeb32c0000 - 0x00007ffeb3459000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\awt.dll
-0x00007ffee53f0000 - 0x00007ffee54bd000 C:\WINDOWS\System32\OLEAUT32.dll
-0x00007ffee1180000 - 0x00007ffee1211000 C:\WINDOWS\SYSTEM32\apphelp.dll
-0x00007ffeddb00000 - 0x00007ffeddbae000 C:\WINDOWS\SYSTEM32\mscms.dll
-0x00007ffedda90000 - 0x00007ffeddaa1000 C:\WINDOWS\SYSTEM32\ColorAdapterClient.dll
-0x00007ffee2d60000 - 0x00007ffee2d72000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll
-0x00007ffee1820000 - 0x00007ffee18be000 C:\WINDOWS\system32\uxtheme.dll
-0x00007ffee5620000 - 0x00007ffee5734000 C:\WINDOWS\System32\MSCTF.dll
-0x00007ffec9a60000 - 0x00007ffec9b5a000 C:\WINDOWS\SYSTEM32\textinputframework.dll
-0x00007ffee0bf0000 - 0x00007ffee0f4e000 C:\WINDOWS\System32\CoreUIComponents.dll
-0x00007ffee0f50000 - 0x00007ffee1042000 C:\WINDOWS\System32\CoreMessaging.dll
-0x00007ffee35c0000 - 0x00007ffee35f3000 C:\WINDOWS\SYSTEM32\ntmarta.dll
-0x00007ffee0520000 - 0x00007ffee0674000 C:\WINDOWS\SYSTEM32\wintypes.dll
-0x00007ffee52c0000 - 0x00007ffee53ea000 C:\WINDOWS\System32\ole32.dll
-0x00007ffee54c0000 - 0x00007ffee5569000 C:\WINDOWS\System32\clbcatq.dll
-0x00007ffe8f4d0000 - 0x00007ffe904c3000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igxelpicd64.dll
-0x00007ffee1950000 - 0x00007ffee197f000 C:\WINDOWS\system32\dwmapi.dll
-0x00007ffee2ae0000 - 0x00007ffee2bd3000 C:\WINDOWS\system32\dxgi.dll
-0x00007ffe91570000 - 0x00007ffe919c3000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdml64.dll
-0x00007ffecdc00000 - 0x00007ffecdfc7000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdgmm64.dll
-0x00007ffe815f0000 - 0x00007ffe81633000 C:\WINDOWS\SYSTEM32\icm32.dll
-0x00007ffeca5e0000 - 0x00007ffecdbf1000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igc64.dll
-0x00007ffee3990000 - 0x00007ffee39db000 C:\WINDOWS\SYSTEM32\powrprof.dll
-0x00007ffee3850000 - 0x00007ffee3862000 C:\WINDOWS\SYSTEM32\UMPDC.dll
-0x0000000026720000 - 0x0000000026758000 C:\Users\remgab001\AppData\Local\Temp\jna\jna1448345623696006193.dll
-0x0000000070a40000 - 0x0000000070adc000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\avutil-ttv-51.dll
-0x0000000065980000 - 0x00000000659d6000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\swresample-ttv-0.dll
-0x000000006eb80000 - 0x000000006ec50000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmp3lame-ttv.dll
-0x00007ffe8bea0000 - 0x00007ffe8d244000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmfxsw64.dll
-0x00007ffe9a350000 - 0x00007ffe9a4bd000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\twitchsdk.dll
-0x00007ffec4920000 - 0x00007ffec4df9000 C:\WINDOWS\SYSTEM32\WININET.dll
-0x0000000033cf0000 - 0x0000000033d54000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\OpenAL64.dll
-0x00007ffea49a0000 - 0x00007ffea4a3c000 C:\WINDOWS\SYSTEM32\dsound.dll
-0x00007ffec4e00000 - 0x00007ffec4e26000 C:\WINDOWS\SYSTEM32\winmmbase.dll
-0x00007ffedbfa0000 - 0x00007ffedc025000 C:\WINDOWS\System32\MMDevApi.dll
-0x00007ffee4200000 - 0x00007ffee422c000 C:\WINDOWS\System32\DEVOBJ.dll
-0x00007ffee47e0000 - 0x00007ffee482e000 C:\WINDOWS\System32\cfgmgr32.dll
-0x00007ffedc0f0000 - 0x00007ffedc272000 C:\WINDOWS\SYSTEM32\AUDIOSES.DLL
-0x00007ffee1a60000 - 0x00007ffee1a74000 C:\WINDOWS\SYSTEM32\resourcepolicyclient.dll
-0x00007ffebae20000 - 0x00007ffebae67000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\fontmanager.dll
-0x00007ffeb11a0000 - 0x00007ffeb11e2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\t2k.dll
-0x00007ffebc720000 - 0x00007ffebc74a000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dcpr.dll
-0x00007ffee27b0000 - 0x00007ffee2994000 C:\WINDOWS\SYSTEM32\dbghelp.dll
-
-VM Arguments:
-jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:57833,suspend=y,server=n -Djava.library.path=versions/1.8.8/1.8.8-natives/ -javaagent:C:\Users\remgab001\AppData\Local\JetBrains\IdeaIC2023.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -agentpath:C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-java_command: Start
-java_class_path (initial): C:\Program Files\Java\jdk1.8.0_202\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar;C:\Users\remgab001\Desktop\Athena-Client\target\classes;C:\Users\remgab001\.m2\repository\net\minecraft\minecraft\1.8.8\minecraft-1.8.8.jar;C:\Users\remgab001\.m2\repository\org\json\json\20230227\json-20230227.jar;C:\Users\remgab001\.m2\repository\org\reflections\reflections\0.10.2\reflections-0.10.2.jar;C:\Users\remgab001\.m2\repository\org\javassist\javassist\3.28.0-GA\javassist-3.28.0-GA.jar;C:\Users\remgab001\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\remgab001\.m2\repository\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;C:\Users\remgab001\.m2\repository\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-PATH=C:\Program Files\Google\Chrome\Application;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\remgab001\AppData\Local\Microsoft\WindowsApps;C:\Users\remgab001\AppData\Roaming\npm;C:\Users\remgab001\AppData\Local\Programs\Microsoft VS Code\bin
-USERNAME=remgab001
-OS=Windows_NT
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 154 Stepping 3, GenuineIntel
-
-
-
---------------- S Y S T E M ---------------
-
-OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.2913)
-
-CPU:total 20 (initial active 20) (10 cores per cpu, 2 threads per core) family 6 model 154 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
-
-Memory: 4k page, physical 16400820k(1410008k free), swap 33178036k(10995924k free)
-
-vm_info: Java HotSpot(TM) 64-Bit Server VM (25.202-b08) for windows-amd64 JRE (1.8.0_202-b08), built on Dec 15 2018 19:54:30 by "java_re" with MS VC++ 10.0 (VS2010)
-
-time: Fri Jun 02 11:37:34 2023
-timezone: Vest-Europa (sommertid)
-elapsed time: 136 seconds (0d 0h 2m 16s)
-
diff --git a/workspace/hs_err_pid9560.log b/workspace/hs_err_pid9560.log
deleted file mode 100644
index 6f22fe29..00000000
--- a/workspace/hs_err_pid9560.log
+++ /dev/null
@@ -1,459 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffe9248366c, pid=9560, tid=0x0000000000002e3c
-#
-# JRE version: Java(TM) SE Runtime Environment (8.0_202-b08) (build 1.8.0_202-b08)
-# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode windows-amd64 compressed oops)
-# Problematic frame:
-# C [igxelpicd64.dll+0x13366c]
-#
-# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
-#
-# If you would like to submit a bug report, please visit:
-# http://bugreport.java.com/bugreport/crash.jsp
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x000000001ee55000): VMThread [stack: 0x00000000208e0000,0x00000000209e0000] [id=11836]
-
-siginfo: ExceptionCode=0xc0000005, reading address 0x00000000000356f8
-
-Registers:
-RAX=0x00000000457227f8, RBX=0x00000000457226f0, RCX=0x0000000000000000, RDX=0x0000000000000000
-RSP=0x00000000209de280, RBP=0x0000000000000000, RSI=0x0000000045722cc0, RDI=0x000000002d32eca0
-R8 =0x0000000000000014, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000000
-R12=0x0000000000000000, R13=0x00000000321ceaa0, R14=0x0000000001d42900, R15=0x0000000000000016
-RIP=0x00007ffe9248366c, EFLAGS=0x0000000000010202
-
-Top of Stack: (sp=0x00000000209de280)
-0x00000000209de280: 0000000000e00630 00007ffee6d3f070
-0x00000000209de290: 0000000000000000 00007ffee6f30eb4
-0x00000000209de2a0: 000000000000ffff 0000000026461860
-0x00000000209de2b0: 00000000232ff460 000000000000001d
-0x00000000209de2c0: 000000002d2ec8f8 0000000001d429c7
-0x00000000209de2d0: 0000000000000000 000000000000000e
-0x00000000209de2e0: 0000000000000000 0000000000000000
-0x00000000209de2f0: 00000000209de400 00007ffe925fbc3c
-0x00000000209de300: 0000000000e00630 000000002d32eca0
-0x00000000209de310: 00007ffee6f09300 000000001ee53d00
-0x00000000209de320: 0000000000001eb8 00007404195e0000
-0x00000000209de330: 0000000000000000 00007ffee6ead23b
-0x00000000209de340: 0000000000000001 00000000209de4f0
-0x00000000209de350: 0000000000000002 00000000009c0000
-0x00000000209de360: 00007ffee6ef79d0 00007ffe925f19a0
-0x00000000209de370: 00000000000004b4 00000000009c1c04
-
-Instructions: (pc=0x00007ffe9248366c)
-0x00007ffe9248364c: 83 20 01 00 00 48 8d 04 d5 21 00 00 00 48 03 c2
-0x00007ffe9248365c: 48 8d 04 c3 48 85 c0 0f 85 ff 00 00 00 49 8b cb
-0x00007ffe9248366c: 48 3b 8d f8 56 03 00 0f 87 f3 02 00 00 4c 39 9b
-0x00007ffe9248367c: 48 06 00 00 0f 85 31 da 86 00 44 8b 97 c8 01 00
-
-
-Register to memory mapping:
-
-RAX=0x00000000457227f8 is an unknown value
-RBX=0x00000000457226f0 is an unknown value
-RCX=0x0000000000000000 is an unknown value
-RDX=0x0000000000000000 is an unknown value
-RSP=0x00000000209de280 is an unknown value
-RBP=0x0000000000000000 is an unknown value
-RSI=0x0000000045722cc0 is an unknown value
-RDI=0x000000002d32eca0 is an unknown value
-R8 =0x0000000000000014 is an unknown value
-R9 =0x0000000000000000 is an unknown value
-R10=0x0000000000000000 is an unknown value
-R11=0x0000000000000000 is an unknown value
-R12=0x0000000000000000 is an unknown value
-R13=0x00000000321ceaa0 is an unknown value
-R14=0x0000000001d42900 is an unknown value
-R15=0x0000000000000016 is an unknown value
-
-
-Stack: [0x00000000208e0000,0x00000000209e0000], sp=0x00000000209de280, free space=1016k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-
-VM_Operation (0x0000000020fdf430): Exit, mode: safepoint, requested by thread 0x0000000023673000
-
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x000000002367b800 JavaThread "AWT-Shutdown" [_thread_blocked, id=15108, stack(0x0000000039be0000,0x0000000039ce0000)]
- 0x0000000023673000 JavaThread "SIGINT handler" daemon [_thread_blocked, id=8720, stack(0x0000000020ee0000,0x0000000020fe0000)]
- 0x0000000022872800 JavaThread "File IO Thread" [_thread_blocked, id=15328, stack(0x000000004b510000,0x000000004b610000)]
- 0x0000000022870000 JavaThread "Netty Server IO #1" daemon [_thread_in_native, id=2588, stack(0x000000004b210000,0x000000004b310000)]
- 0x0000000024d84800 JavaThread "Netty Local Client IO #0" daemon [_thread_blocked, id=10624, stack(0x0000000046550000,0x0000000046650000)]
- 0x0000000024d81000 JavaThread "Netty Server IO #0" daemon [_thread_in_native, id=7844, stack(0x00000000462b0000,0x00000000463b0000)]
- 0x0000000024d84000 JavaThread "Server thread" [_thread_blocked, id=21044, stack(0x0000000045fd0000,0x00000000460d0000)]
- 0x0000000024d82800 JavaThread "Snooper Timer" daemon [_thread_blocked, id=7104, stack(0x000000003dea0000,0x000000003dfa0000)]
- 0x0000000024d80000 JavaThread "LWJGL Timer" daemon [_thread_blocked, id=18184, stack(0x00000000461b0000,0x00000000462b0000)]
- 0x0000000024d86000 JavaThread "Chunk Batcher 1" daemon [_thread_blocked, id=17112, stack(0x000000003dda0000,0x000000003dea0000)]
- 0x0000000024d7f800 JavaThread "Chunk Batcher 0" daemon [_thread_blocked, id=5268, stack(0x000000003d290000,0x000000003d390000)]
- 0x0000000024d81800 JavaThread "Thread-8" [_thread_blocked, id=5016, stack(0x00000000324b0000,0x00000000325b0000)]
- 0x0000000034336000 JavaThread "Thread-7" [_thread_blocked, id=12504, stack(0x000000003d390000,0x000000003d490000)]
- 0x000000002f5f6000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=17216, stack(0x0000000029450000,0x0000000029550000)]
- 0x0000000034360800 JavaThread "Timer hack thread" daemon [_thread_blocked, id=20872, stack(0x0000000025c90000,0x0000000025d90000)]
- 0x0000000023317800 JavaThread "Snooper Timer" daemon [_thread_blocked, id=14908, stack(0x0000000025b90000,0x0000000025c90000)]
- 0x000000001f01f000 JavaThread "Service Thread" daemon [_thread_blocked, id=9676, stack(0x0000000021ee0000,0x0000000021fe0000)]
- 0x000000001ef92800 JavaThread "C1 CompilerThread11" daemon [_thread_blocked, id=3928, stack(0x0000000021de0000,0x0000000021ee0000)]
- 0x000000001ef8b800 JavaThread "C1 CompilerThread10" daemon [_thread_blocked, id=9032, stack(0x0000000021ce0000,0x0000000021de0000)]
- 0x000000001ef7a800 JavaThread "C1 CompilerThread9" daemon [_thread_blocked, id=14484, stack(0x0000000021be0000,0x0000000021ce0000)]
- 0x000000001ef53800 JavaThread "C1 CompilerThread8" daemon [_thread_blocked, id=2172, stack(0x0000000021ae0000,0x0000000021be0000)]
- 0x000000001ef4a000 JavaThread "C2 CompilerThread7" daemon [_thread_blocked, id=14784, stack(0x00000000219e0000,0x0000000021ae0000)]
- 0x000000001ef27000 JavaThread "C2 CompilerThread6" daemon [_thread_blocked, id=20888, stack(0x00000000218e0000,0x00000000219e0000)]
- 0x000000001ef25800 JavaThread "C2 CompilerThread5" daemon [_thread_blocked, id=14216, stack(0x00000000217e0000,0x00000000218e0000)]
- 0x000000001eed2000 JavaThread "C2 CompilerThread4" daemon [_thread_blocked, id=13380, stack(0x00000000216e0000,0x00000000217e0000)]
- 0x000000001eed1800 JavaThread "C2 CompilerThread3" daemon [_thread_blocked, id=8448, stack(0x00000000215e0000,0x00000000216e0000)]
- 0x000000001ef1a800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=19676, stack(0x00000000213e0000,0x00000000214e0000)]
- 0x000000001eece800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=1568, stack(0x00000000212e0000,0x00000000213e0000)]
- 0x000000001ef15800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=9600, stack(0x00000000211e0000,0x00000000212e0000)]
- 0x000000001eeb1800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=6952, stack(0x0000000020fe0000,0x00000000210e0000)]
- 0x000000001ee9a000 JavaThread "Attach Listener" daemon [_thread_blocked, id=20712, stack(0x0000000020de0000,0x0000000020ee0000)]
- 0x000000001ee99000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=12352, stack(0x0000000020ce0000,0x0000000020de0000)]
- 0x000000001ee7e000 JavaThread "Finalizer" daemon [_thread_blocked, id=19856, stack(0x0000000020ae0000,0x0000000020be0000)]
- 0x000000001ee78000 JavaThread "Reference Handler" daemon [_thread_blocked, id=10724, stack(0x00000000209e0000,0x0000000020ae0000)]
- 0x00000000030f4800 JavaThread "Client thread" [_thread_blocked, id=6500, stack(0x0000000002b00000,0x0000000002c00000)]
-
-Other Threads:
-=>0x000000001ee55000 VMThread [stack: 0x00000000208e0000,0x00000000209e0000] [id=11836]
-
-VM state:at safepoint (shutting down)
-
-VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
-[0x00000000030f1fd0] Threads_lock - owner thread: 0x000000001ee55000
-
-heap address: 0x00000006c5a00000, size: 4006 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
-Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
-Compressed class space size: 1073741824 Address: 0x00000007c0000000
-
-Heap:
- PSYoungGen total 720384K, used 171185K [0x000000076c900000, 0x000000079ca80000, 0x00000007c0000000)
- eden space 700928K, 21% used [0x000000076c900000,0x0000000775d96880,0x0000000797580000)
- from space 19456K, 97% used [0x0000000799200000,0x000000079a495d00,0x000000079a500000)
- to space 38400K, 0% used [0x000000079a500000,0x000000079a500000,0x000000079ca80000)
- ParOldGen total 257024K, used 160119K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf65dc10,0x00000006d5500000)
- Metaspace used 46271K, capacity 46753K, committed 47104K, reserved 1091584K
- class space used 5409K, capacity 5550K, committed 5632K, reserved 1048576K
-
-Card table byte_map: [0x00000000125b0000,0x0000000012d90000] byte_map_base: 0x000000000ef83000
-
-Marking Bits: (ParMarkBitMap*) 0x0000000060ce5ce0
- Begin Bits: [0x00000000141d0000, 0x0000000018068000)
- End Bits: [0x0000000018068000, 0x000000001bf00000)
-
-Polling page: 0x0000000000d10000
-
-CodeCache: size=245760Kb used=34461Kb max_used=36353Kb free=211298Kb
- bounds [0x00000000031f0000, 0x0000000005610000, 0x00000000121f0000]
- total_blobs=8677 nmethods=7792 adapters=800
- compilation: enabled
-
-Compilation events (10 events):
-Event: 280.836 Thread 0x000000001ef8b800 nmethod 10851 0x0000000004deeed0 code [0x0000000004def060, 0x0000000004def698]
-Event: 280.837 Thread 0x000000001ef7a800 nmethod 10850 0x000000000495a8d0 code [0x000000000495aa80, 0x000000000495b328]
-Event: 280.839 Thread 0x000000001ef92800 10853 1 org.apache.logging.log4j.core.config.LoggerConfig::getLevel (5 bytes)
-Event: 280.839 Thread 0x000000001ef92800 nmethod 10853 0x0000000005035bd0 code [0x0000000005035d20, 0x0000000005035e30]
-Event: 280.840 Thread 0x000000001ef8b800 10855 3 java.io.BufferedWriter::ensureOpen (18 bytes)
-Event: 280.840 Thread 0x000000001ef7a800 10854 1 java.lang.StackTraceElement::getClassName (5 bytes)
-Event: 280.840 Thread 0x000000001ef7a800 nmethod 10854 0x00000000048ac690 code [0x00000000048ac7e0, 0x00000000048ac8f0]
-Event: 280.840 Thread 0x000000001ef8b800 nmethod 10855 0x00000000047f2250 code [0x00000000047f23c0, 0x00000000047f2628]
-Event: 280.844 Thread 0x000000001ef53800 10856 s 3 java.io.ExpiringCache::clear (10 bytes)
-Event: 280.844 Thread 0x000000001ef53800 nmethod 10856 0x00000000050fd610 code [0x00000000050fd780, 0x00000000050fdb08]
-
-GC Heap History (10 events):
-Event: 154.537 GC heap before
-{Heap before GC invocations=26 (full 5):
- PSYoungGen total 609280K, used 609213K [0x000000076c900000, 0x0000000799080000, 0x00000007c0000000)
- eden space 594944K, 100% used [0x000000076c900000,0x0000000790e00000,0x0000000790e00000)
- from space 14336K, 99% used [0x0000000798280000,0x000000079906f450,0x0000000799080000)
- to space 53248K, 0% used [0x0000000792880000,0x0000000792880000,0x0000000795c80000)
- ParOldGen total 257024K, used 160079K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf653c10,0x00000006d5500000)
- Metaspace used 46138K, capacity 46625K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-Event: 154.543 GC heap after
-Heap after GC invocations=26 (full 5):
- PSYoungGen total 675328K, used 19146K [0x000000076c900000, 0x000000079bf80000, 0x00000007c0000000)
- eden space 622080K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000792880000)
- from space 53248K, 35% used [0x0000000792880000,0x0000000793b32a90,0x0000000795c80000)
- to space 49664K, 0% used [0x0000000798f00000,0x0000000798f00000,0x000000079bf80000)
- ParOldGen total 257024K, used 160087K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf655c10,0x00000006d5500000)
- Metaspace used 46138K, capacity 46625K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-}
-Event: 182.702 GC heap before
-{Heap before GC invocations=27 (full 5):
- PSYoungGen total 675328K, used 641226K [0x000000076c900000, 0x000000079bf80000, 0x00000007c0000000)
- eden space 622080K, 100% used [0x000000076c900000,0x0000000792880000,0x0000000792880000)
- from space 53248K, 35% used [0x0000000792880000,0x0000000793b32a90,0x0000000795c80000)
- to space 49664K, 0% used [0x0000000798f00000,0x0000000798f00000,0x000000079bf80000)
- ParOldGen total 257024K, used 160087K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf655c10,0x00000006d5500000)
- Metaspace used 46145K, capacity 46625K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-Event: 182.707 GC heap after
-Heap after GC invocations=27 (full 5):
- PSYoungGen total 729600K, used 19735K [0x000000076c900000, 0x000000079c980000, 0x00000007c0000000)
- eden space 679936K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000796100000)
- from space 49664K, 39% used [0x0000000798f00000,0x000000079a245d00,0x000000079bf80000)
- to space 47104K, 0% used [0x0000000796100000,0x0000000796100000,0x0000000798f00000)
- ParOldGen total 257024K, used 160095K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf657c10,0x00000006d5500000)
- Metaspace used 46145K, capacity 46625K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-}
-Event: 214.785 GC heap before
-{Heap before GC invocations=28 (full 5):
- PSYoungGen total 729600K, used 699671K [0x000000076c900000, 0x000000079c980000, 0x00000007c0000000)
- eden space 679936K, 100% used [0x000000076c900000,0x0000000796100000,0x0000000796100000)
- from space 49664K, 39% used [0x0000000798f00000,0x000000079a245d00,0x000000079bf80000)
- to space 47104K, 0% used [0x0000000796100000,0x0000000796100000,0x0000000798f00000)
- ParOldGen total 257024K, used 160095K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf657c10,0x00000006d5500000)
- Metaspace used 46204K, capacity 46689K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-Event: 214.791 GC heap after
-Heap after GC invocations=28 (full 5):
- PSYoungGen total 727040K, used 19114K [0x000000076c900000, 0x000000079f580000, 0x00000007c0000000)
- eden space 679936K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000796100000)
- from space 47104K, 40% used [0x0000000796100000,0x00000007973aaa90,0x0000000798f00000)
- to space 44544K, 0% used [0x000000079ca00000,0x000000079ca00000,0x000000079f580000)
- ParOldGen total 257024K, used 160103K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf659c10,0x00000006d5500000)
- Metaspace used 46204K, capacity 46689K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-}
-Event: 243.350 GC heap before
-{Heap before GC invocations=29 (full 5):
- PSYoungGen total 727040K, used 699050K [0x000000076c900000, 0x000000079f580000, 0x00000007c0000000)
- eden space 679936K, 100% used [0x000000076c900000,0x0000000796100000,0x0000000796100000)
- from space 47104K, 40% used [0x0000000796100000,0x00000007973aaa90,0x0000000798f00000)
- to space 44544K, 0% used [0x000000079ca00000,0x000000079ca00000,0x000000079f580000)
- ParOldGen total 257024K, used 160103K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf659c10,0x00000006d5500000)
- Metaspace used 46239K, capacity 46689K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-Event: 243.356 GC heap after
-Heap after GC invocations=29 (full 5):
- PSYoungGen total 757760K, used 16535K [0x000000076c900000, 0x000000079e500000, 0x00000007c0000000)
- eden space 730112K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000799200000)
- from space 27648K, 59% used [0x000000079ca00000,0x000000079da25d00,0x000000079e500000)
- to space 42496K, 0% used [0x0000000799200000,0x0000000799200000,0x000000079bb80000)
- ParOldGen total 257024K, used 160111K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf65bc10,0x00000006d5500000)
- Metaspace used 46239K, capacity 46689K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-}
-Event: 275.352 GC heap before
-{Heap before GC invocations=30 (full 5):
- PSYoungGen total 757760K, used 746647K [0x000000076c900000, 0x000000079e500000, 0x00000007c0000000)
- eden space 730112K, 100% used [0x000000076c900000,0x0000000799200000,0x0000000799200000)
- from space 27648K, 59% used [0x000000079ca00000,0x000000079da25d00,0x000000079e500000)
- to space 42496K, 0% used [0x0000000799200000,0x0000000799200000,0x000000079bb80000)
- ParOldGen total 257024K, used 160111K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf65bc10,0x00000006d5500000)
- Metaspace used 46249K, capacity 46689K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-Event: 275.356 GC heap after
-Heap after GC invocations=30 (full 5):
- PSYoungGen total 720384K, used 19031K [0x000000076c900000, 0x000000079ca80000, 0x00000007c0000000)
- eden space 700928K, 0% used [0x000000076c900000,0x000000076c900000,0x0000000797580000)
- from space 19456K, 97% used [0x0000000799200000,0x000000079a495d00,0x000000079a500000)
- to space 38400K, 0% used [0x000000079a500000,0x000000079a500000,0x000000079ca80000)
- ParOldGen total 257024K, used 160119K [0x00000006c5a00000, 0x00000006d5500000, 0x000000076c900000)
- object space 257024K, 62% used [0x00000006c5a00000,0x00000006cf65dc10,0x00000006d5500000)
- Metaspace used 46249K, capacity 46689K, committed 46848K, reserved 1091584K
- class space used 5406K, capacity 5550K, committed 5632K, reserved 1048576K
-}
-
-Deoptimization events (10 events):
-Event: 280.835 Thread 0x000000002366d800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000050cab74 method=io.netty.channel.AbstractChannelHandlerContext.executor()Lio/netty/util/concurrent/EventExecutor; @ 11
-Event: 280.838 Thread 0x000000002366d800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003f65e7c method=io.netty.util.internal.MpscLinkedQueue.offer(Ljava/lang/Object;)Z @ 18
-Event: 280.838 Thread 0x0000000024d81000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000003be5558 method=io.netty.util.internal.MpscLinkedQueue.poll()Ljava/lang/Object; @ 26
-Event: 280.839 Thread 0x000000002366d800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003762348 method=org.apache.logging.log4j.status.StatusLogger.isEnabled(Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/Marker;)Z @ 18
-Event: 280.839 Thread 0x0000000024d81000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000050d1374 method=io.netty.util.internal.MpscLinkedQueue.poll()Ljava/lang/Object; @ 26
-Event: 280.839 Thread 0x000000002366d800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004801b00 method=java.util.concurrent.ConcurrentLinkedQueue.first()Ljava/util/concurrent/ConcurrentLinkedQueue$Node; @ 11
-Event: 280.839 Thread 0x0000000024d81000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000050cab74 method=io.netty.channel.AbstractChannelHandlerContext.executor()Lio/netty/util/concurrent/EventExecutor; @ 11
-Event: 280.839 Thread 0x0000000024d81000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000050cab74 method=io.netty.channel.AbstractChannelHandlerContext.executor()Lio/netty/util/concurrent/EventExecutor; @ 11
-Event: 280.839 Thread 0x0000000024d81000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000050d1374 method=io.netty.util.internal.MpscLinkedQueue.poll()Ljava/lang/Object; @ 26
-Event: 280.936 Thread 0x0000000023673000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000000052726dc method=java.util.Collections.reverse(Ljava/util/List;)V @ 1
-
-Classes redefined (3 events):
-Event: 0.094 Thread 0x000000001ee55000 redefined class name=java.io.FileOutputStream, count=1
-Event: 72.224 Thread 0x000000001ee55000 redefined class name=rip.athena.client.gui.framework.MinecraftMenuImpl, count=1
-Event: 140.723 Thread 0x000000001ee55000 redefined class name=rip.athena.client.gui.framework.MinecraftMenuImpl, count=2
-
-Internal exceptions (10 events):
-Event: 280.900 Thread 0x0000000034336000 Exception (0x0000000774159098) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.904 Thread 0x0000000034336000 Exception (0x0000000774159340) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.908 Thread 0x0000000034336000 Exception (0x00000007741595e8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.912 Thread 0x0000000034336000 Exception (0x0000000774159890) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.916 Thread 0x0000000034336000 Exception (0x0000000774159b38) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.920 Thread 0x0000000034336000 Exception (0x0000000774159de0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.923 Thread 0x0000000034336000 Exception (0x000000077415a088) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.927 Thread 0x0000000034336000 Exception (0x000000077415a330) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.931 Thread 0x0000000034336000 Exception (0x000000077415a5d8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-Event: 280.934 Thread 0x0000000034336000 Exception (0x000000077415a880) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u202\12323\hotspot\src\share\vm\prims\jvm.cpp, line 3336]
-
-Events (10 events):
-Event: 280.927 Thread 0x0000000022870000 DEOPT UNPACKING pc=0x0000000003237890 sp=0x000000004b30eca0 mode 1
-Event: 280.931 Thread 0x0000000034336000 DEOPT PACKING pc=0x000000000482a21c sp=0x000000003d48f0c0
-Event: 280.931 Thread 0x0000000034336000 DEOPT UNPACKING pc=0x0000000003237890 sp=0x000000003d48edd8 mode 1
-Event: 280.934 Thread 0x0000000034336000 DEOPT PACKING pc=0x000000000482a21c sp=0x000000003d48f0c0
-Event: 280.934 Thread 0x0000000034336000 DEOPT UNPACKING pc=0x0000000003237890 sp=0x000000003d48edd8 mode 1
-Event: 280.936 Thread 0x000000002366c000 Thread exited: 0x000000002366c000
-Event: 280.936 Thread 0x0000000023673000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00000000052726dc
-Event: 280.936 Thread 0x0000000023673000 DEOPT PACKING pc=0x00000000052726dc sp=0x0000000020fdf2e0
-Event: 280.936 Thread 0x0000000023673000 DEOPT UNPACKING pc=0x000000000323583b sp=0x0000000020fdf318 mode 2
-Event: 280.936 Executing VM operation: Exit
-
-
-Dynamic libraries:
-0x00007ff75c730000 - 0x00007ff75c767000 C:\Program Files\Java\jdk1.8.0_202\bin\java.exe
-0x00007ffee6e90000 - 0x00007ffee7088000 C:\WINDOWS\SYSTEM32\ntdll.dll
-0x00007ffee6bf0000 - 0x00007ffee6caf000 C:\WINDOWS\System32\KERNEL32.DLL
-0x00007ffee68f0000 - 0x00007ffee6be6000 C:\WINDOWS\System32\KERNELBASE.dll
-0x000000007ce80000 - 0x000000007cebb000 C:\WINDOWS\System32\cyinjct.dll
-0x00007ffee6770000 - 0x00007ffee677c000 C:\WINDOWS\System32\ntnativeapi.dll
-0x00007ffee6750000 - 0x00007ffee676e000 C:\WINDOWS\System32\cyvera.dll
-0x00007ffee66e0000 - 0x00007ffee6749000 C:\WINDOWS\System32\cyvrtrap.dll
-0x00007ffee5570000 - 0x00007ffee561f000 C:\WINDOWS\System32\ADVAPI32.dll
-0x00007ffee60e0000 - 0x00007ffee617e000 C:\WINDOWS\System32\msvcrt.dll
-0x00007ffee5220000 - 0x00007ffee52bc000 C:\WINDOWS\System32\sechost.dll
-0x00007ffee67c0000 - 0x00007ffee68e6000 C:\WINDOWS\System32\RPCRT4.dll
-0x00007ffee6cb0000 - 0x00007ffee6e4d000 C:\WINDOWS\System32\USER32.dll
-0x00007ffee4620000 - 0x00007ffee4642000 C:\WINDOWS\System32\win32u.dll
-0x00007ffee5fc0000 - 0x00007ffee5fec000 C:\WINDOWS\System32\GDI32.dll
-0x00007ffee49b0000 - 0x00007ffee4ac5000 C:\WINDOWS\System32\gdi32full.dll
-0x00007ffee4860000 - 0x00007ffee48fd000 C:\WINDOWS\System32\msvcp_win.dll
-0x00007ffee4650000 - 0x00007ffee4750000 C:\WINDOWS\System32\ucrtbase.dll
-0x00007ffec1bc0000 - 0x00007ffec1e5a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
-0x00007ffee5b00000 - 0x00007ffee5b30000 C:\WINDOWS\System32\IMM32.DLL
-0x0000000061400000 - 0x00000000614d2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\msvcr100.dll
-0x00000000604c0000 - 0x0000000060d65000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\server\jvm.dll
-0x00007ffee57c0000 - 0x00007ffee57c8000 C:\WINDOWS\System32\PSAPI.DLL
-0x00007ffedf6d0000 - 0x00007ffedf6d9000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
-0x00007ffee5f50000 - 0x00007ffee5fbb000 C:\WINDOWS\System32\WS2_32.dll
-0x00007ffec5030000 - 0x00007ffec5057000 C:\WINDOWS\SYSTEM32\WINMM.dll
-0x00007ffedddb0000 - 0x00007ffedddba000 C:\WINDOWS\SYSTEM32\VERSION.dll
-0x00007ffedc960000 - 0x00007ffedc96f000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\verify.dll
-0x00007ffeca120000 - 0x00007ffeca149000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\java.dll
-0x00007ffeca5a0000 - 0x00007ffeca5d5000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\jdwp.dll
-0x00007ffed4710000 - 0x00007ffed4718000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\npt.dll
-0x00007ffec75c0000 - 0x00007ffec75e3000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\instrument.dll
-0x00007ffee66a0000 - 0x00007ffee66d7000 C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-0x00007ffed4290000 - 0x00007ffed42a6000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\zip.dll
-0x00007ffee4ad0000 - 0x00007ffee5214000 C:\WINDOWS\System32\SHELL32.dll
-0x00007ffee1f40000 - 0x00007ffee26d3000 C:\WINDOWS\SYSTEM32\windows.storage.dll
-0x00007ffee5b30000 - 0x00007ffee5e84000 C:\WINDOWS\System32\combase.dll
-0x00007ffee3dd0000 - 0x00007ffee3dfe000 C:\WINDOWS\SYSTEM32\Wldp.dll
-0x00007ffee6180000 - 0x00007ffee622d000 C:\WINDOWS\System32\SHCORE.dll
-0x00007ffee5e90000 - 0x00007ffee5ee5000 C:\WINDOWS\System32\shlwapi.dll
-0x00007ffee4390000 - 0x00007ffee43af000 C:\WINDOWS\SYSTEM32\profapi.dll
-0x00007ffed45d0000 - 0x00007ffed45d9000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dt_socket.dll
-0x00007ffee3bb0000 - 0x00007ffee3c1a000 C:\WINDOWS\system32\mswsock.dll
-0x00007ffed45b0000 - 0x00007ffed45bd000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\management.dll
-0x00007ffed3980000 - 0x00007ffed399a000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\net.dll
-0x00007ffed13d0000 - 0x00007ffed15bc000 C:\WINDOWS\SYSTEM32\urlmon.dll
-0x00007ffedcd00000 - 0x00007ffedcfb1000 C:\WINDOWS\SYSTEM32\iertutil.dll
-0x00007ffee3070000 - 0x00007ffee3098000 C:\WINDOWS\SYSTEM32\srvcli.dll
-0x00007ffee38b0000 - 0x00007ffee38bc000 C:\WINDOWS\SYSTEM32\netutils.dll
-0x00007ffed43d0000 - 0x00007ffed43e2000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\nio.dll
-0x00007ffeab2e0000 - 0x00007ffeab2f7000 C:\WINDOWS\system32\napinsp.dll
-0x00007ffeab300000 - 0x00007ffeab31b000 C:\WINDOWS\system32\pnrpnsp.dll
-0x00007ffeded70000 - 0x00007ffeded85000 C:\WINDOWS\system32\wshbth.dll
-0x00007ffede0f0000 - 0x00007ffede10d000 C:\WINDOWS\system32\NLAapi.dll
-0x00007ffee3870000 - 0x00007ffee38ac000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
-0x00007ffee38c0000 - 0x00007ffee398b000 C:\WINDOWS\SYSTEM32\DNSAPI.dll
-0x00007ffee5850000 - 0x00007ffee5858000 C:\WINDOWS\System32\NSI.dll
-0x00007ffeab320000 - 0x00007ffeab332000 C:\WINDOWS\System32\winrnr.dll
-0x00007ffeddf50000 - 0x00007ffeddfd2000 C:\WINDOWS\System32\fwpuclnt.dll
-0x00007ffee4830000 - 0x00007ffee4857000 C:\WINDOWS\System32\bcrypt.dll
-0x00007ffedd130000 - 0x00007ffedd13a000 C:\Windows\System32\rasadhlp.dll
-0x0000000180000000 - 0x0000000180053000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\lwjgl64.dll
-0x00007ffea9980000 - 0x00007ffea9aa5000 C:\WINDOWS\SYSTEM32\OPENGL32.dll
-0x00007ffed8ca0000 - 0x00007ffed8ccc000 C:\WINDOWS\SYSTEM32\GLU32.dll
-0x00007ffee3e10000 - 0x00007ffee3e28000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
-0x00007ffee3370000 - 0x00007ffee33a4000 C:\WINDOWS\system32\rsaenh.dll
-0x00007ffee4310000 - 0x00007ffee433e000 C:\WINDOWS\SYSTEM32\USERENV.dll
-0x00007ffee4750000 - 0x00007ffee47d2000 C:\WINDOWS\System32\bcryptprimitives.dll
-0x00007ffee3d40000 - 0x00007ffee3d4c000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
-0x00007ffeddee0000 - 0x00007ffeddef7000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
-0x00007ffeddec0000 - 0x00007ffeddedd000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
-0x00007ffea4b60000 - 0x00007ffea4cf9000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\awt.dll
-0x00007ffee53f0000 - 0x00007ffee54bd000 C:\WINDOWS\System32\OLEAUT32.dll
-0x00007ffee1180000 - 0x00007ffee1211000 C:\WINDOWS\SYSTEM32\apphelp.dll
-0x00007ffeddb00000 - 0x00007ffeddbae000 C:\WINDOWS\SYSTEM32\mscms.dll
-0x00007ffedda90000 - 0x00007ffeddaa1000 C:\WINDOWS\SYSTEM32\ColorAdapterClient.dll
-0x00007ffee2d60000 - 0x00007ffee2d72000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll
-0x00007ffee1820000 - 0x00007ffee18be000 C:\WINDOWS\system32\uxtheme.dll
-0x00007ffee5620000 - 0x00007ffee5734000 C:\WINDOWS\System32\MSCTF.dll
-0x00007ffec9a60000 - 0x00007ffec9b5a000 C:\WINDOWS\SYSTEM32\textinputframework.dll
-0x00007ffee0bf0000 - 0x00007ffee0f4e000 C:\WINDOWS\System32\CoreUIComponents.dll
-0x00007ffee0f50000 - 0x00007ffee1042000 C:\WINDOWS\System32\CoreMessaging.dll
-0x00007ffee35c0000 - 0x00007ffee35f3000 C:\WINDOWS\SYSTEM32\ntmarta.dll
-0x00007ffee0520000 - 0x00007ffee0674000 C:\WINDOWS\SYSTEM32\wintypes.dll
-0x00007ffee52c0000 - 0x00007ffee53ea000 C:\WINDOWS\System32\ole32.dll
-0x00007ffee54c0000 - 0x00007ffee5569000 C:\WINDOWS\System32\clbcatq.dll
-0x00007ffe92350000 - 0x00007ffe93343000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igxelpicd64.dll
-0x00007ffee1950000 - 0x00007ffee197f000 C:\WINDOWS\system32\dwmapi.dll
-0x00007ffee2ae0000 - 0x00007ffee2bd3000 C:\WINDOWS\system32\dxgi.dll
-0x00007ffe91ef0000 - 0x00007ffe92343000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdml64.dll
-0x00007ffecdc00000 - 0x00007ffecdfc7000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igdgmm64.dll
-0x00007ffe815f0000 - 0x00007ffe81633000 C:\WINDOWS\SYSTEM32\icm32.dll
-0x00007ffeca5e0000 - 0x00007ffecdbf1000 C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_307c52ae370e15f2\igc64.dll
-0x00007ffee3990000 - 0x00007ffee39db000 C:\WINDOWS\SYSTEM32\powrprof.dll
-0x00007ffee3850000 - 0x00007ffee3862000 C:\WINDOWS\SYSTEM32\UMPDC.dll
-0x0000000002ed0000 - 0x0000000002f08000 C:\Users\remgab001\AppData\Local\Temp\jna\jna8019587675727759743.dll
-0x0000000070a40000 - 0x0000000070adc000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\avutil-ttv-51.dll
-0x0000000065980000 - 0x00000000659d6000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\swresample-ttv-0.dll
-0x000000006eb80000 - 0x000000006ec50000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmp3lame-ttv.dll
-0x00007ffe8f120000 - 0x00007ffe904c4000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\libmfxsw64.dll
-0x00007ffe96320000 - 0x00007ffe9648d000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\twitchsdk.dll
-0x00007ffec4920000 - 0x00007ffec4df9000 C:\WINDOWS\SYSTEM32\WININET.dll
-0x00000000325b0000 - 0x0000000032614000 C:\Users\remgab001\Desktop\Athena-Client\workspace\versions\1.8.8\1.8.8-natives\OpenAL64.dll
-0x00007ffea49a0000 - 0x00007ffea4a3c000 C:\WINDOWS\SYSTEM32\dsound.dll
-0x00007ffec4e00000 - 0x00007ffec4e26000 C:\WINDOWS\SYSTEM32\winmmbase.dll
-0x00007ffedbfa0000 - 0x00007ffedc025000 C:\WINDOWS\System32\MMDevApi.dll
-0x00007ffee4200000 - 0x00007ffee422c000 C:\WINDOWS\System32\DEVOBJ.dll
-0x00007ffee47e0000 - 0x00007ffee482e000 C:\WINDOWS\System32\cfgmgr32.dll
-0x00007ffedc0f0000 - 0x00007ffedc272000 C:\WINDOWS\SYSTEM32\AUDIOSES.DLL
-0x00007ffee1a60000 - 0x00007ffee1a74000 C:\WINDOWS\SYSTEM32\resourcepolicyclient.dll
-0x00007ffebae20000 - 0x00007ffebae67000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\fontmanager.dll
-0x00007ffeb3230000 - 0x00007ffeb3272000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\t2k.dll
-0x00007ffec3bc0000 - 0x00007ffec3bea000 C:\Program Files\Java\jdk1.8.0_202\jre\bin\dcpr.dll
-0x00007ffee27b0000 - 0x00007ffee2994000 C:\WINDOWS\SYSTEM32\dbghelp.dll
-
-VM Arguments:
-jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:56362,suspend=y,server=n -Djava.library.path=versions/1.8.8/1.8.8-natives/ -javaagent:C:\Users\remgab001\AppData\Local\JetBrains\IdeaIC2023.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -agentpath:C:\Program Files\Palo Alto Networks\Traps\cyjagent.dll
-java_command: Start
-java_class_path (initial): C:\Program Files\Java\jdk1.8.0_202\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar;C:\Users\remgab001\Desktop\Athena-Client\target\classes;C:\Users\remgab001\.m2\repository\net\minecraft\minecraft\1.8.8\minecraft-1.8.8.jar;C:\Users\remgab001\.m2\repository\org\json\json\20230227\json-20230227.jar;C:\Users\remgab001\.m2\repository\org\reflections\reflections\0.10.2\reflections-0.10.2.jar;C:\Users\remgab001\.m2\repository\org\javassist\javassist\3.28.0-GA\javassist-3.28.0-GA.jar;C:\Users\remgab001\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\remgab001\.m2\repository\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;C:\Users\remgab001\.m2\repository\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-PATH=C:\Program Files\Google\Chrome\Application;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\remgab001\AppData\Local\Microsoft\WindowsApps;C:\Users\remgab001\AppData\Roaming\npm;C:\Users\remgab001\AppData\Local\Programs\Microsoft VS Code\bin
-USERNAME=remgab001
-OS=Windows_NT
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 154 Stepping 3, GenuineIntel
-
-
-
---------------- S Y S T E M ---------------
-
-OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.2913)
-
-CPU:total 20 (initial active 20) (10 cores per cpu, 2 threads per core) family 6 model 154 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
-
-Memory: 4k page, physical 16400820k(1369568k free), swap 33178036k(11068596k free)
-
-vm_info: Java HotSpot(TM) 64-Bit Server VM (25.202-b08) for windows-amd64 JRE (1.8.0_202-b08), built on Dec 15 2018 19:54:30 by "java_re" with MS VC++ 10.0 (VS2010)
-
-time: Fri Jun 02 11:35:12 2023
-timezone: Vest-Europa (sommertid)
-elapsed time: 281 seconds (0d 0h 4m 41s)
-
diff --git a/workspace/logs/2023-06-01-1.log.gz b/workspace/logs/2023-06-01-1.log.gz
deleted file mode 100644
index 1effee87..00000000
Binary files a/workspace/logs/2023-06-01-1.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-01-2.log.gz b/workspace/logs/2023-06-01-2.log.gz
deleted file mode 100644
index ec1c2fec..00000000
Binary files a/workspace/logs/2023-06-01-2.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-01-3.log.gz b/workspace/logs/2023-06-01-3.log.gz
deleted file mode 100644
index 5f92ce23..00000000
Binary files a/workspace/logs/2023-06-01-3.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-01-4.log.gz b/workspace/logs/2023-06-01-4.log.gz
deleted file mode 100644
index 0844c226..00000000
Binary files a/workspace/logs/2023-06-01-4.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-01-5.log.gz b/workspace/logs/2023-06-01-5.log.gz
deleted file mode 100644
index 7895a8c6..00000000
Binary files a/workspace/logs/2023-06-01-5.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-01-6.log.gz b/workspace/logs/2023-06-01-6.log.gz
deleted file mode 100644
index 6e5094c8..00000000
Binary files a/workspace/logs/2023-06-01-6.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-01-7.log.gz b/workspace/logs/2023-06-01-7.log.gz
deleted file mode 100644
index 67e45628..00000000
Binary files a/workspace/logs/2023-06-01-7.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-02-1.log.gz b/workspace/logs/2023-06-02-1.log.gz
deleted file mode 100644
index 14490f21..00000000
Binary files a/workspace/logs/2023-06-02-1.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-02-2.log.gz b/workspace/logs/2023-06-02-2.log.gz
deleted file mode 100644
index 1897ff2b..00000000
Binary files a/workspace/logs/2023-06-02-2.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-02-3.log.gz b/workspace/logs/2023-06-02-3.log.gz
deleted file mode 100644
index dec683cb..00000000
Binary files a/workspace/logs/2023-06-02-3.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-02-4.log.gz b/workspace/logs/2023-06-02-4.log.gz
deleted file mode 100644
index 492da7fe..00000000
Binary files a/workspace/logs/2023-06-02-4.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-02-5.log.gz b/workspace/logs/2023-06-02-5.log.gz
deleted file mode 100644
index dc8f665a..00000000
Binary files a/workspace/logs/2023-06-02-5.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-02-6.log.gz b/workspace/logs/2023-06-02-6.log.gz
deleted file mode 100644
index a2739964..00000000
Binary files a/workspace/logs/2023-06-02-6.log.gz and /dev/null differ
diff --git a/workspace/logs/2023-06-02-7.log.gz b/workspace/logs/2023-06-02-7.log.gz
deleted file mode 100644
index 7f00e4f4..00000000
Binary files a/workspace/logs/2023-06-02-7.log.gz and /dev/null differ
diff --git a/workspace/logs/latest.log b/workspace/logs/latest.log
deleted file mode 100644
index 7f0ca922..00000000
--- a/workspace/logs/latest.log
+++ /dev/null
@@ -1,3759 +0,0 @@
-[14:04:24] [Client thread/INFO]: Setting user: Player965
-[14:04:24] [Client thread/INFO]: (Session ID is token:0:Player965)
-[14:04:24] [Client thread/INFO]: [OptiFine] *** Reflector Forge ***
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.Attributes
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: mods.betterfoliage.client.BetterFoliageClient
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.asm.transformers.BlamingTransformer
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.world.ChunkWatchEvent$UnWatch
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.relauncher.CoreModManager
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.DimensionManager
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.GuiScreenEvent$DrawScreenEvent$Pre
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.GuiScreenEvent$DrawScreenEvent$Post
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.EntityViewRenderEvent$CameraSetup
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.EntityViewRenderEvent$FogColors
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.Event
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.EventBus
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.eventhandler.Event$Result
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.property.ExtendedBlockState
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.FMLClientHandler
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.common.FMLCommonHandler
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.biome.BiomeGenBase.getWaterColorMultiplier
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.addDestroyEffects
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.addHitEffects
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.canCreatureSpawn
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.canRenderInLayer
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.doesSideBlockRendering
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.getBedDirection
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.getExtendedState
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.hasTileEntity
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isAir
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isBed
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isBedFoot
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.block.Block.isSideSolid
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.canRiderInteract
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Field not present: net.minecraft.entity.Entity.captureDrops
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Field not present: net.minecraft.entity.Entity.capturedDrops
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.shouldRenderInPass
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.entity.Entity.shouldRiderSit
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.ForgeEventFactory
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.ForgeHooks
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.ForgeHooksClient
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.getDurabilityForDisplay
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.getModel
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.onEntitySwing
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.shouldCauseReequipAnimation
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.Item.showDurabilityBar
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.item.ItemRecord.getRecordResource
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.ForgeModContainer
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.potion.PotionEffect.isCurativeItem
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.canRenderBreaking
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.getRenderBoundingBox
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.hasFastRenderer
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.tileentity.TileEntity.shouldRenderInPass
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.preDrawBatch
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.drawBatch
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.vertex.VertexFormatElement$EnumUsage.preDraw
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.client.renderer.vertex.VertexFormatElement$EnumUsage.postDraw
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.World.countEntities
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.World.getPerWorldStorage
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getCloudRenderer
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getSkyRenderer
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Method not present: net.minecraft.world.WorldProvider.getWeatherRenderer
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.GuiModList
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.IColoredBakedQuad
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.property.IExtendedBlockState
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.IRenderHandler
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.ISmartBlockModel
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.ItemModelMesherForge
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraft.launchwrapper.Launch
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.pipeline.LightUtil
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.MinecraftForge
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.MinecraftForgeClient
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.model.ModelLoader
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderBlockOverlayEvent$OverlayType
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.registry.RenderingRegistry
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderItemInFrameEvent
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Pre
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Post
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Specials$Pre
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.client.event.RenderLivingEvent$Specials$Post
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.client.SplashProgress
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.event.world.WorldEvent$Load
-[14:04:24] [Client thread/INFO]: [OptiFine] *** Reflector Vanilla ***
-[14:04:24] [Client thread/INFO]: [OptiFine] (Reflector) Class not present: optifine.OptiFineClassTransformer
-[14:04:24] [Client thread/INFO]: LWJGL Version: 2.9.4
-[14:04:25] [Client thread/INFO]: [OptiFine]
-[14:04:25] [Client thread/INFO]: [OptiFine] OptiFine_1.8.8_HD_U_H8
-[14:04:25] [Client thread/INFO]: [OptiFine] Build: null
-[14:04:25] [Client thread/INFO]: [OptiFine] OS: Windows 10 (amd64) version 10.0
-[14:04:25] [Client thread/INFO]: [OptiFine] Java: 1.8.0_202, Oracle Corporation
-[14:04:25] [Client thread/INFO]: [OptiFine] VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
-[14:04:25] [Client thread/INFO]: [OptiFine] LWJGL: 2.9.4
-[14:04:25] [Client thread/INFO]: [OptiFine] OpenGL: Intel(R) Iris(R) Xe Graphics, version 4.6.0 - Build 30.0.101.1298, Intel
-[14:04:25] [Client thread/INFO]: [OptiFine] OpenGL Version: 4.6.0
-[14:04:25] [Client thread/INFO]: [OptiFine] OpenGL Fancy fog: Not available (GL_NV_fog_distance)
-[14:04:25] [Client thread/INFO]: [OptiFine] Maximum texture size: 16384x16384
-[14:04:25] [Thread-6/INFO]: [OptiFine] Checking for new version
-[14:04:25] [Client thread/INFO]: [Shaders] ShadersMod version: 2.4.12
-[14:04:25] [Client thread/INFO]: [Shaders] OpenGL Version: 4.6.0 - Build 30.0.101.1298
-[14:04:25] [Client thread/INFO]: [Shaders] Vendor: Intel
-[14:04:25] [Client thread/INFO]: [Shaders] Renderer: Intel(R) Iris(R) Xe Graphics
-[14:04:25] [Client thread/INFO]: [Shaders] Capabilities: 2.0 2.1 3.0 3.2 4.0
-[14:04:25] [Client thread/INFO]: [Shaders] GL_MAX_DRAW_BUFFERS: 8
-[14:04:25] [Client thread/INFO]: [Shaders] GL_MAX_COLOR_ATTACHMENTS_EXT: 8
-[14:04:25] [Client thread/INFO]: [Shaders] GL_MAX_TEXTURE_IMAGE_UNITS: 32
-[14:04:25] [Client thread/INFO]: [Shaders] Load ShadersMod configuration.
-[14:04:25] [Client thread/INFO]: [Shaders] Shaders can not be loaded, Fast Render is enabled.
-[14:04:25] [Client thread/INFO]: [Shaders] No shaderpack loaded.
-[14:04:25] [Client thread/INFO]: Reloading ResourceManager: Default
-[14:04:25] [Client thread/INFO]: [OptiFine] *** Reloading textures ***
-[14:04:25] [Client thread/INFO]: [OptiFine] Resource packs: Default
-[14:04:25] [Sound Library Loader/INFO]: Starting up SoundSystem...
-[14:04:25] [Thread-6/INFO]: [OptiFine] Version found: I7
-[14:04:25] [Thread-7/INFO]: Initializing LWJGL OpenAL
-[14:04:25] [Thread-7/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
-[14:04:25] [Thread-7/INFO]: OpenAL initialized.
-[14:04:26] [Sound Library Loader/INFO]: Sound engine started
-[14:04:26] [Client thread/INFO]: [OptiFine] Multitexture: false
-[14:04:27] [Client thread/INFO]: Created: 512x512 textures-atlas
-[14:04:28] [Client thread/ERROR]: [Athena] Failed to load resource outside namespace (C:\Users\remgab001\Desktop\Athena-Client\workspace\.\assets\minecraft\Athena\gui\logo-bg-new.png).javax.imageio.IIOException: Can't read input file!
-[14:04:28] [Client thread/ERROR]: [Athena] Failed to load resource outside namespace (C:\Users\remgab001\Desktop\Athena-Client\workspace\.\assets\minecraft\Athena\gui\user.png).javax.imageio.IIOException: Can't read input file!
-[14:04:29] [Client thread/INFO]: [OptiFine] *** Reloading custom textures ***
-[14:04:29] [Client thread/INFO]: [OptiFine] Enable face culling: acacia_leaves, birch_leaves, dark_oak_leaves, jungle_leaves, oak_leaves, spruce_leaves
-[14:04:38] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:04:38] [Server thread/INFO]: Generating keypair
-[14:04:38] [Server thread/INFO]: Preparing start region for level 0
-[14:04:38] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:04:39] [Server thread/INFO]: Player965[local:E:670f4f5b] logged in with entity id 381 at (209.1954165898997, 72.0, 211.8381455408977)
-[14:04:39] [Server thread/INFO]: Player965 joined the game
-[14:04:39] [Client thread/INFO]: [CHAT] of.message.newVersion
-[14:05:33] [Server thread/INFO]: Saving and pausing game...
-[14:05:33] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:05:33] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:05:33] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:05:34] [Server thread/INFO]: Stopping server
-[14:05:34] [Server thread/INFO]: Saving players
-[14:05:34] [Server thread/INFO]: Saving worlds
-[14:05:34] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:05:34] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:05:34] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:05:35] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:05:35] [Server thread/INFO]: Generating keypair
-[14:05:35] [Server thread/INFO]: Preparing start region for level 0
-[14:05:35] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:05:35] [Server thread/INFO]: Player965[local:E:eea08c58] logged in with entity id 2732 at (536.3164942002676, 69.0, 410.19513251612665)
-[14:05:35] [Server thread/INFO]: Player965 joined the game
-[14:05:36] [Server thread/INFO]: Saving and pausing game...
-[14:05:36] [Server thread/INFO]: Saving chunks for level 'mcpworld'/Overworld
-[14:05:36] [Server thread/INFO]: Saving chunks for level 'mcpworld'/Nether
-[14:05:36] [Server thread/INFO]: Saving chunks for level 'mcpworld'/The End
-[14:05:36] [Server thread/INFO]: Stopping server
-[14:05:36] [Server thread/INFO]: Saving players
-[14:05:36] [Server thread/INFO]: Saving worlds
-[14:05:36] [Server thread/INFO]: Saving chunks for level 'mcpworld'/Overworld
-[14:05:36] [Server thread/INFO]: Saving chunks for level 'mcpworld'/Nether
-[14:05:36] [Server thread/INFO]: Saving chunks for level 'mcpworld'/The End
-[14:05:38] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:05:38] [Server thread/INFO]: Generating keypair
-[14:05:38] [Server thread/INFO]: Preparing start region for level 0
-[14:05:38] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:05:38] [Server thread/INFO]: Player965[local:E:50f95223] logged in with entity id 3350 at (208.81097358653795, 72.4807108763317, 205.83224661670548)
-[14:05:38] [Server thread/INFO]: Player965 joined the game
-[14:05:41] [Server thread/INFO]: Saving and pausing game...
-[14:05:41] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:05:41] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:05:41] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:05:41] [Server thread/INFO]: Stopping server
-[14:05:41] [Server thread/INFO]: Saving players
-[14:05:41] [Server thread/INFO]: Saving worlds
-[14:05:41] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:05:41] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:05:41] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:05:43] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:05:43] [Server thread/INFO]: Generating keypair
-[14:05:43] [Server thread/INFO]: Preparing start region for level 0
-[14:05:43] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:05:43] [Server thread/INFO]: Player965[local:E:e7d20033] logged in with entity id 3836 at (210.0044591985926, 72.0, 203.9092073290819)
-[14:05:43] [Server thread/INFO]: Player965 joined the game
-[14:05:44] [Server thread/INFO]: Saving and pausing game...
-[14:05:44] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:05:44] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:05:44] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:05:44] [Server thread/INFO]: Stopping server
-[14:05:44] [Server thread/INFO]: Saving players
-[14:05:44] [Server thread/INFO]: Saving worlds
-[14:05:44] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:05:44] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:05:44] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:05:47] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:05:47] [Server thread/INFO]: Generating keypair
-[14:05:47] [Server thread/INFO]: Preparing start region for level 0
-[14:05:48] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:05:48] [Server thread/INFO]: Player965[local:E:f108653f] logged in with entity id 4319 at (209.2963705057231, 72.78502770378924, 204.28396565466767)
-[14:05:48] [Server thread/INFO]: Player965 joined the game
-[14:05:54] [Server thread/INFO]: Saving and pausing game...
-[14:05:54] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:05:54] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:05:54] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:05:55] [Server thread/INFO]: Stopping server
-[14:05:55] [Server thread/INFO]: Saving players
-[14:05:55] [Server thread/INFO]: Saving worlds
-[14:05:55] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:05:55] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:05:55] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:05:59] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:05:59] [Server thread/INFO]: Generating keypair
-[14:05:59] [Server thread/INFO]: Preparing start region for level 0
-[14:06:00] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:06:00] [Server thread/INFO]: Player965[local:E:c54993c2] logged in with entity id 4802 at (212.5964799944822, 72.0, 205.58388207124997)
-[14:06:00] [Server thread/INFO]: Player965 joined the game
-[14:06:06] [Server thread/INFO]: Saving and pausing game...
-[14:06:06] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:06] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:06] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:06] [Server thread/INFO]: Stopping server
-[14:06:06] [Server thread/INFO]: Saving players
-[14:06:06] [Server thread/INFO]: Saving worlds
-[14:06:06] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:06] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:06] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:08] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:06:08] [Server thread/INFO]: Generating keypair
-[14:06:09] [Server thread/INFO]: Preparing start region for level 0
-[14:06:09] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:06:09] [Server thread/INFO]: Player965[local:E:fa5020fa] logged in with entity id 5302 at (218.74883296318964, 71.0, 205.7013101962374)
-[14:06:09] [Server thread/INFO]: Player965 joined the game
-[14:06:17] [Server thread/INFO]: Saving and pausing game...
-[14:06:17] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:17] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:17] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:17] [Server thread/INFO]: Stopping server
-[14:06:17] [Server thread/INFO]: Saving players
-[14:06:17] [Server thread/INFO]: Saving worlds
-[14:06:17] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:17] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:17] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:19] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:06:19] [Server thread/INFO]: Generating keypair
-[14:06:19] [Server thread/INFO]: Preparing start region for level 0
-[14:06:19] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:06:19] [Server thread/INFO]: Player965[local:E:3a3939a2] logged in with entity id 5895 at (212.58451416346958, 72.0, 211.58951538498187)
-[14:06:19] [Server thread/INFO]: Player965 joined the game
-[14:06:20] [Server thread/INFO]: Saving and pausing game...
-[14:06:20] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:20] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:20] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:23] [Server thread/INFO]: Saving and pausing game...
-[14:06:23] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:23] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:23] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:23] [Server thread/INFO]: Saving and pausing game...
-[14:06:23] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:23] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:23] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:24] [Server thread/INFO]: Saving and pausing game...
-[14:06:24] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:24] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:24] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:24] [Server thread/INFO]: Stopping server
-[14:06:24] [Server thread/INFO]: Saving players
-[14:06:24] [Server thread/INFO]: Saving worlds
-[14:06:24] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:24] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:24] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:28] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:06:28] [Server thread/INFO]: Generating keypair
-[14:06:28] [Server thread/INFO]: Preparing start region for level 0
-[14:06:28] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:06:28] [Server thread/INFO]: Player965[local:E:4edd6b01] logged in with entity id 6374 at (212.0220870216297, 72.0, 215.92437446700163)
-[14:06:28] [Server thread/INFO]: Player965 joined the game
-[14:06:28] [Server thread/INFO]: Saving and pausing game...
-[14:06:28] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:28] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:28] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:29] [Server thread/INFO]: Saving and pausing game...
-[14:06:29] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:29] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:29] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:30] [Server thread/INFO]: Saving and pausing game...
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:30] [Server thread/INFO]: Saving and pausing game...
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:30] [Server thread/INFO]: Saving and pausing game...
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:30] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:31] [Server thread/INFO]: Saving and pausing game...
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:31] [Server thread/INFO]: Saving and pausing game...
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:31] [Server thread/INFO]: Saving and pausing game...
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:31] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:32] [Server thread/INFO]: Saving and pausing game...
-[14:06:32] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:32] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:32] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:33] [Server thread/INFO]: Saving and pausing game...
-[14:06:33] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:33] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:33] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:34] [Server thread/INFO]: Saving and pausing game...
-[14:06:34] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:34] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:34] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:34] [Server thread/INFO]: Saving and pausing game...
-[14:06:34] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:34] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:34] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:35] [Server thread/INFO]: Saving and pausing game...
-[14:06:35] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:35] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:35] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:36] [Server thread/INFO]: Saving and pausing game...
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:36] [Server thread/INFO]: Saving and pausing game...
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:36] [Server thread/INFO]: Saving and pausing game...
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:36] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:37] [Server thread/INFO]: Saving and pausing game...
-[14:06:37] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:37] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:37] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:37] [Server thread/INFO]: Saving and pausing game...
-[14:06:37] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:37] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:37] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:38] [Server thread/INFO]: Saving and pausing game...
-[14:06:38] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:38] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:38] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:38] [Server thread/INFO]: Saving and pausing game...
-[14:06:38] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:38] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:38] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:39] [Server thread/INFO]: Saving and pausing game...
-[14:06:39] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:39] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:39] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:39] [Server thread/INFO]: Saving and pausing game...
-[14:06:39] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:39] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:39] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:40] [Server thread/INFO]: Saving and pausing game...
-[14:06:40] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:40] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:40] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:43] [Server thread/INFO]: Saving and pausing game...
-[14:06:43] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:43] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:43] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:44] [Server thread/INFO]: Saving and pausing game...
-[14:06:44] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:44] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:44] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:45] [Server thread/INFO]: Saving and pausing game...
-[14:06:45] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:45] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:45] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:47] [Server thread/INFO]: Saving and pausing game...
-[14:06:47] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:47] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:47] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:48] [Server thread/INFO]: Saving and pausing game...
-[14:06:48] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:48] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:48] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:49] [Server thread/INFO]: Stopping server
-[14:06:49] [Server thread/INFO]: Saving players
-[14:06:49] [Server thread/INFO]: Saving worlds
-[14:06:49] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:49] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:49] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:50] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:06:50] [Server thread/INFO]: Generating keypair
-[14:06:50] [Server thread/INFO]: Preparing start region for level 0
-[14:06:51] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:06:51] [Server thread/INFO]: Player965[local:E:4e1245fd] logged in with entity id 6865 at (221.75011481252903, 71.0, 215.77367657124964)
-[14:06:51] [Server thread/INFO]: Player965 joined the game
-[14:06:52] [Server thread/INFO]: Saving and pausing game...
-[14:06:52] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:52] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:52] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:53] [Server thread/INFO]: Stopping server
-[14:06:53] [Server thread/INFO]: Saving players
-[14:06:53] [Server thread/INFO]: Saving worlds
-[14:06:53] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:53] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:53] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:54] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:06:54] [Server thread/INFO]: Generating keypair
-[14:06:54] [Server thread/INFO]: Preparing start region for level 0
-[14:06:54] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:06:55] [Server thread/INFO]: Player965[local:E:b8f00474] logged in with entity id 7338 at (224.59526893757374, 70.0, 213.2066235707964)
-[14:06:55] [Server thread/INFO]: Player965 joined the game
-[14:06:56] [Server thread/INFO]: Saving and pausing game...
-[14:06:56] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:56] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:56] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:56] [Server thread/INFO]: Stopping server
-[14:06:56] [Server thread/INFO]: Saving players
-[14:06:56] [Server thread/INFO]: Saving worlds
-[14:06:56] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:06:56] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:06:56] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:06:58] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:06:58] [Server thread/INFO]: Generating keypair
-[14:06:58] [Server thread/INFO]: Preparing start region for level 0
-[14:06:58] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:06:58] [Server thread/INFO]: Player965[local:E:8119bf56] logged in with entity id 7898 at (226.87276003694035, 70.0, 211.5744304222658)
-[14:06:58] [Server thread/INFO]: Player965 joined the game
-[14:07:00] [Server thread/INFO]: Saving and pausing game...
-[14:07:00] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:00] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:00] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:00] [Server thread/INFO]: Stopping server
-[14:07:00] [Server thread/INFO]: Saving players
-[14:07:00] [Server thread/INFO]: Saving worlds
-[14:07:00] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:00] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:00] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:02] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:07:02] [Server thread/INFO]: Generating keypair
-[14:07:02] [Server thread/INFO]: Preparing start region for level 0
-[14:07:02] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:07:03] [Server thread/INFO]: Player965[local:E:8f444606] logged in with entity id 8414 at (229.40354326741516, 70.0, 210.69999998807907)
-[14:07:03] [Server thread/INFO]: Player965 joined the game
-[14:07:04] [Server thread/INFO]: Saving and pausing game...
-[14:07:04] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:04] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:04] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:04] [Server thread/INFO]: Stopping server
-[14:07:04] [Server thread/INFO]: Saving players
-[14:07:04] [Server thread/INFO]: Saving worlds
-[14:07:04] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:04] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:04] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:05] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:07:05] [Server thread/INFO]: Generating keypair
-[14:07:05] [Server thread/INFO]: Preparing start region for level 0
-[14:07:06] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:07:06] [Server thread/INFO]: Player965[local:E:d973d854] logged in with entity id 9007 at (230.28447367475272, 69.0, 211.69999998807907)
-[14:07:06] [Server thread/INFO]: Player965 joined the game
-[14:07:06] [Server thread/INFO]: Saving and pausing game...
-[14:07:06] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:06] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:06] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:08] [Server thread/INFO]: Saving and pausing game...
-[14:07:08] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:08] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:08] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:08] [Server thread/INFO]: Stopping server
-[14:07:08] [Server thread/INFO]: Saving players
-[14:07:08] [Server thread/INFO]: Saving worlds
-[14:07:08] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:08] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:08] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:14] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:07:14] [Server thread/INFO]: Generating keypair
-[14:07:14] [Server thread/INFO]: Preparing start region for level 0
-[14:07:14] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:07:15] [Server thread/INFO]: Player965[local:E:2d291307] logged in with entity id 9507 at (231.31521449981804, 69.2028799956894, 212.65514827044413)
-[14:07:15] [Server thread/INFO]: Player965 joined the game
-[14:07:16] [Server thread/INFO]: Saving and pausing game...
-[14:07:16] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:16] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:16] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:17] [Server thread/INFO]: Stopping server
-[14:07:17] [Server thread/INFO]: Saving players
-[14:07:17] [Server thread/INFO]: Saving worlds
-[14:07:17] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:17] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:17] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:18] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:07:18] [Server thread/INFO]: Generating keypair
-[14:07:18] [Server thread/INFO]: Preparing start region for level 0
-[14:07:18] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:07:19] [Server thread/INFO]: Player965[local:E:24de3ec7] logged in with entity id 10008 at (233.3873767154145, 70.0, 213.15678818266375)
-[14:07:19] [Server thread/INFO]: Player965 joined the game
-[14:07:20] [Server thread/INFO]: Saving and pausing game...
-[14:07:20] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:20] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:20] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:21] [Server thread/INFO]: Stopping server
-[14:07:21] [Server thread/INFO]: Saving players
-[14:07:21] [Server thread/INFO]: Saving worlds
-[14:07:21] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:21] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:21] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:22] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:07:22] [Server thread/INFO]: Generating keypair
-[14:07:22] [Server thread/INFO]: Preparing start region for level 0
-[14:07:22] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:07:22] [Server thread/INFO]: Player965[local:E:9f3350ba] logged in with entity id 10506 at (236.69999998807907, 68.73730755637762, 211.3807494010083)
-[14:07:22] [Server thread/INFO]: Player965 joined the game
-[14:07:33] [Server thread/INFO]: Player965 starved to death
-[14:07:33] [Client thread/INFO]: [CHAT] Player965 starved to death
-[14:07:39] [Server thread/INFO]: Saving and pausing game...
-[14:07:39] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:39] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:39] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:43] [Server thread/INFO]: Stopping server
-[14:07:43] [Server thread/INFO]: Saving players
-[14:07:43] [Server thread/INFO]: Saving worlds
-[14:07:43] [Server thread/INFO]: Saving chunks for level 'amoger'/Overworld
-[14:07:43] [Server thread/INFO]: Saving chunks for level 'amoger'/Nether
-[14:07:43] [Server thread/INFO]: Saving chunks for level 'amoger'/The End
-[14:07:43] [Server thread/INFO]: Starting integrated minecraft server version 1.8.8
-[14:07:43] [Server thread/INFO]: Generating keypair
-[14:07:43] [Server thread/INFO]: Converting map!
-[14:07:43] [Server thread/INFO]: Scanning folders...
-[14:07:43] [Server thread/INFO]: Total conversion count is 0
-[14:07:43] [Server thread/INFO]: Preparing start region for level 0
-[14:07:44] [Server thread/INFO]: Preparing spawn area: 24%
-[14:07:45] [Server thread/INFO]: Preparing spawn area: 55%
-[14:07:46] [Server thread/INFO]: Preparing spawn area: 86%
-[14:07:47] [Server thread/INFO]: Changing view distance to 6, from 10
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Server thread/INFO]: Player965[local:E:14e0ef79] logged in with entity id 10713 at (147.5, 72.0, 256.5)
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Server thread/INFO]: Player965 joined the game
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:07:47] [Client thread/FATAL]: Error executing task
-java.util.concurrent.ExecutionException: java.lang.NullPointerException
- at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:20) [classes/:?]
- at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1095) [classes/:?]
- at net.minecraft.client.Minecraft.run(Minecraft.java:423) [classes/:?]
- at net.minecraft.client.main.Main.main(Main.java:113) [classes/:?]
- at Start.main(Start.java:11) [classes/:?]
-Caused by: java.lang.NullPointerException
- at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:755) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:61) ~[classes/:?]
- at net.minecraft.network.play.server.S21PacketChunkData.processPacket(S21PacketChunkData.java:12) ~[classes/:?]
- at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[classes/:?]
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[?:1.8.0_202]
- at java.util.concurrent.FutureTask.run(FutureTask.java) ~[?:1.8.0_202]
- at net.minecraft.util.Util.func_181617_a(Util.java:19) ~[classes/:?]
- ... 4 more
-[14:08:22] [Server thread/INFO]: Player965 drowned
-[14:08:22] [Client thread/INFO]: [CHAT] Player965 drowned
-[14:11:46] [Server thread/INFO]: Saving and pausing game...
-[14:11:46] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
-[14:11:46] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
-[14:11:46] [Server thread/INFO]: Saving chunks for level 'New World'/The End
-[14:11:48] [Client thread/INFO]: Stopping!
-[14:11:48] [Client thread/INFO]: SoundSystem shutting down...
-[14:11:48] [Server thread/INFO]: Stopping server
-[14:11:48] [Server thread/INFO]: Saving players
-[14:11:48] [Server thread/INFO]: Saving worlds
-[14:11:48] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
-[14:11:48] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
-[14:11:48] [Server thread/INFO]: Saving chunks for level 'New World'/The End
-[14:11:49] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
diff --git a/workspace/options.txt b/workspace/options.txt
index 9a02a484..b097a1a8 100644
--- a/workspace/options.txt
+++ b/workspace/options.txt
@@ -10,7 +10,7 @@ bobView:true
anaglyph3d:false
maxFps:260
fboEnable:true
-difficulty:3
+difficulty:2
fancyGraphics:false
ao:0
renderClouds:false
@@ -24,7 +24,7 @@ chatLinks:true
chatLinksPrompt:true
chatOpacity:1.0
snooperEnabled:true
-fullscreen:true
+fullscreen:false
enableVsync:false
useVbo:true
hideServerAddress:false
diff --git a/workspace/optionsof.txt b/workspace/optionsof.txt
index 9641e688..a771b859 100644
--- a/workspace/optionsof.txt
+++ b/workspace/optionsof.txt
@@ -60,6 +60,6 @@ ofDynamicFov:false
ofDynamicLights:3
ofFullscreenMode:Default
ofFastMath:true
-ofFastRender:true
+ofFastRender:false
ofTranslucentBlocks:1
key_of.key.zoom:46
diff --git a/workspace/resourcepacks/! §cVelvet (1).zip b/workspace/resourcepacks/! §cVelvet (1).zip
new file mode 100644
index 00000000..4c261b55
Binary files /dev/null and b/workspace/resourcepacks/! §cVelvet (1).zip differ
diff --git a/workspace/resourcepacks/! §bPotfast 5kay.zip b/workspace/resourcepacks/! §bPotfast 5kay.zip
new file mode 100644
index 00000000..142ad8d2
Binary files /dev/null and b/workspace/resourcepacks/! §bPotfast 5kay.zip differ
diff --git a/workspace/saves/MCP Development World/data/Mineshaft.dat b/workspace/saves/MCP Development World/data/Mineshaft.dat
index fd48ff98..f1ecc5b7 100644
Binary files a/workspace/saves/MCP Development World/data/Mineshaft.dat and b/workspace/saves/MCP Development World/data/Mineshaft.dat differ
diff --git a/workspace/saves/MCP Development World/data/Temple.dat b/workspace/saves/MCP Development World/data/Temple.dat
index 0a009cac..5f0638ec 100644
Binary files a/workspace/saves/MCP Development World/data/Temple.dat and b/workspace/saves/MCP Development World/data/Temple.dat differ
diff --git a/workspace/saves/MCP Development World/data/Village.dat b/workspace/saves/MCP Development World/data/Village.dat
index 0cbc0ca2..95872bab 100644
Binary files a/workspace/saves/MCP Development World/data/Village.dat and b/workspace/saves/MCP Development World/data/Village.dat differ
diff --git a/workspace/saves/MCP Development World/data/villages.dat b/workspace/saves/MCP Development World/data/villages.dat
index 37b012ce..008a3af2 100644
Binary files a/workspace/saves/MCP Development World/data/villages.dat and b/workspace/saves/MCP Development World/data/villages.dat differ
diff --git a/workspace/saves/MCP Development World/data/villages_end.dat b/workspace/saves/MCP Development World/data/villages_end.dat
index 37b012ce..008a3af2 100644
Binary files a/workspace/saves/MCP Development World/data/villages_end.dat and b/workspace/saves/MCP Development World/data/villages_end.dat differ
diff --git a/workspace/saves/MCP Development World/data/villages_nether.dat b/workspace/saves/MCP Development World/data/villages_nether.dat
index 37b012ce..008a3af2 100644
Binary files a/workspace/saves/MCP Development World/data/villages_nether.dat and b/workspace/saves/MCP Development World/data/villages_nether.dat differ
diff --git a/workspace/saves/MCP Development World/level.dat b/workspace/saves/MCP Development World/level.dat
index 56e0f7b3..05197953 100644
Binary files a/workspace/saves/MCP Development World/level.dat and b/workspace/saves/MCP Development World/level.dat differ
diff --git a/workspace/saves/MCP Development World/level.dat_old b/workspace/saves/MCP Development World/level.dat_old
index 90490de8..ac0c7521 100644
Binary files a/workspace/saves/MCP Development World/level.dat_old and b/workspace/saves/MCP Development World/level.dat_old differ
diff --git a/workspace/saves/MCP Development World/playerdata/04aedfc4-153f-3d65-bb99-866996994a71.dat b/workspace/saves/MCP Development World/playerdata/04aedfc4-153f-3d65-bb99-866996994a71.dat
new file mode 100644
index 00000000..fb1665b5
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/04aedfc4-153f-3d65-bb99-866996994a71.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/04ba6478-628e-32a2-915d-0b45ca8b366b.dat b/workspace/saves/MCP Development World/playerdata/04ba6478-628e-32a2-915d-0b45ca8b366b.dat
index 1930d0e4..05d5293e 100644
Binary files a/workspace/saves/MCP Development World/playerdata/04ba6478-628e-32a2-915d-0b45ca8b366b.dat and b/workspace/saves/MCP Development World/playerdata/04ba6478-628e-32a2-915d-0b45ca8b366b.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/05d2e66a-903f-3232-a8b0-3899ccc17800.dat b/workspace/saves/MCP Development World/playerdata/05d2e66a-903f-3232-a8b0-3899ccc17800.dat
new file mode 100644
index 00000000..94b6c9ab
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/05d2e66a-903f-3232-a8b0-3899ccc17800.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/0d3f56a3-2b3f-38d6-a849-9d61b8f97a5c.dat b/workspace/saves/MCP Development World/playerdata/0d3f56a3-2b3f-38d6-a849-9d61b8f97a5c.dat
new file mode 100644
index 00000000..1108bba5
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/0d3f56a3-2b3f-38d6-a849-9d61b8f97a5c.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/0ef61a2a-d91b-37b4-a10d-af67b917d543.dat b/workspace/saves/MCP Development World/playerdata/0ef61a2a-d91b-37b4-a10d-af67b917d543.dat
new file mode 100644
index 00000000..974e558c
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/0ef61a2a-d91b-37b4-a10d-af67b917d543.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/11827876-1185-3f24-850d-d0e7a71b9795.dat b/workspace/saves/MCP Development World/playerdata/11827876-1185-3f24-850d-d0e7a71b9795.dat
new file mode 100644
index 00000000..193e61eb
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/11827876-1185-3f24-850d-d0e7a71b9795.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/122d3a74-28b3-3553-91d4-9092b640ce8e.dat b/workspace/saves/MCP Development World/playerdata/122d3a74-28b3-3553-91d4-9092b640ce8e.dat
new file mode 100644
index 00000000..36cb4505
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/122d3a74-28b3-3553-91d4-9092b640ce8e.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/17b67947-156d-3518-9500-f7e04df5e64d.dat b/workspace/saves/MCP Development World/playerdata/17b67947-156d-3518-9500-f7e04df5e64d.dat
new file mode 100644
index 00000000..0b90f339
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/17b67947-156d-3518-9500-f7e04df5e64d.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/18b3a035-3e67-34ed-889e-932160306e4f.dat b/workspace/saves/MCP Development World/playerdata/18b3a035-3e67-34ed-889e-932160306e4f.dat
new file mode 100644
index 00000000..8931af9e
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/18b3a035-3e67-34ed-889e-932160306e4f.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/1c0e06f3-9808-3189-8407-cec21f7f6640.dat b/workspace/saves/MCP Development World/playerdata/1c0e06f3-9808-3189-8407-cec21f7f6640.dat
new file mode 100644
index 00000000..8f60aa9f
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/1c0e06f3-9808-3189-8407-cec21f7f6640.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/1e0b9d62-e071-33ba-b82e-1c564a46e2f0.dat b/workspace/saves/MCP Development World/playerdata/1e0b9d62-e071-33ba-b82e-1c564a46e2f0.dat
new file mode 100644
index 00000000..074bc9d8
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/1e0b9d62-e071-33ba-b82e-1c564a46e2f0.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/1e3c9076-6029-36c6-8475-dd38d2030d5f.dat b/workspace/saves/MCP Development World/playerdata/1e3c9076-6029-36c6-8475-dd38d2030d5f.dat
new file mode 100644
index 00000000..08dfffec
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/1e3c9076-6029-36c6-8475-dd38d2030d5f.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/1e92cadb-e057-30f8-a789-5ce10551ba1e.dat b/workspace/saves/MCP Development World/playerdata/1e92cadb-e057-30f8-a789-5ce10551ba1e.dat
new file mode 100644
index 00000000..397d0f73
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/1e92cadb-e057-30f8-a789-5ce10551ba1e.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/23caebef-63a5-39b8-9ae3-6dfce0636b5f.dat b/workspace/saves/MCP Development World/playerdata/23caebef-63a5-39b8-9ae3-6dfce0636b5f.dat
new file mode 100644
index 00000000..681f4c33
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/23caebef-63a5-39b8-9ae3-6dfce0636b5f.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/29b47250-4236-34ae-8b46-7341b800b727.dat b/workspace/saves/MCP Development World/playerdata/29b47250-4236-34ae-8b46-7341b800b727.dat
new file mode 100644
index 00000000..f9a104ef
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/29b47250-4236-34ae-8b46-7341b800b727.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/336cdb69-b175-3ad2-a556-740278ca80ab.dat b/workspace/saves/MCP Development World/playerdata/336cdb69-b175-3ad2-a556-740278ca80ab.dat
new file mode 100644
index 00000000..337a12d8
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/336cdb69-b175-3ad2-a556-740278ca80ab.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/337a131b-860d-346e-a281-649e07daeae5.dat b/workspace/saves/MCP Development World/playerdata/337a131b-860d-346e-a281-649e07daeae5.dat
new file mode 100644
index 00000000..fd76f073
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/337a131b-860d-346e-a281-649e07daeae5.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/37815b4b-a277-3e88-89c9-687629f7c447.dat b/workspace/saves/MCP Development World/playerdata/37815b4b-a277-3e88-89c9-687629f7c447.dat
new file mode 100644
index 00000000..55d9660d
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/37815b4b-a277-3e88-89c9-687629f7c447.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/3959aa12-3a9d-3fc4-84ad-d0d3c7c6550b.dat b/workspace/saves/MCP Development World/playerdata/3959aa12-3a9d-3fc4-84ad-d0d3c7c6550b.dat
new file mode 100644
index 00000000..692dc9d9
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/3959aa12-3a9d-3fc4-84ad-d0d3c7c6550b.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/39ce36e8-f4b8-3b30-a1f4-bfdbbc990254.dat b/workspace/saves/MCP Development World/playerdata/39ce36e8-f4b8-3b30-a1f4-bfdbbc990254.dat
new file mode 100644
index 00000000..7037317c
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/39ce36e8-f4b8-3b30-a1f4-bfdbbc990254.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/42468be1-4059-36e2-be82-cb1721e83191.dat b/workspace/saves/MCP Development World/playerdata/42468be1-4059-36e2-be82-cb1721e83191.dat
new file mode 100644
index 00000000..b0824cec
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/42468be1-4059-36e2-be82-cb1721e83191.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/4f2b9d55-5b3e-32ee-ad58-c8df44a23337.dat b/workspace/saves/MCP Development World/playerdata/4f2b9d55-5b3e-32ee-ad58-c8df44a23337.dat
new file mode 100644
index 00000000..6fec7ebb
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/4f2b9d55-5b3e-32ee-ad58-c8df44a23337.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/50e1ab02-92db-38bb-86bf-431939b828b5.dat b/workspace/saves/MCP Development World/playerdata/50e1ab02-92db-38bb-86bf-431939b828b5.dat
new file mode 100644
index 00000000..5370a093
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/50e1ab02-92db-38bb-86bf-431939b828b5.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/5cc48495-676c-3721-aed2-7336730ff405.dat b/workspace/saves/MCP Development World/playerdata/5cc48495-676c-3721-aed2-7336730ff405.dat
new file mode 100644
index 00000000..09548fbc
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/5cc48495-676c-3721-aed2-7336730ff405.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/69715e5e-1775-3a6c-8b64-1d82bcbbe688.dat b/workspace/saves/MCP Development World/playerdata/69715e5e-1775-3a6c-8b64-1d82bcbbe688.dat
index 5585248f..65279cf1 100644
Binary files a/workspace/saves/MCP Development World/playerdata/69715e5e-1775-3a6c-8b64-1d82bcbbe688.dat and b/workspace/saves/MCP Development World/playerdata/69715e5e-1775-3a6c-8b64-1d82bcbbe688.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/6b411cc5-cb23-3aef-b8b1-6cb73d96a2d5.dat b/workspace/saves/MCP Development World/playerdata/6b411cc5-cb23-3aef-b8b1-6cb73d96a2d5.dat
new file mode 100644
index 00000000..64ee0bcf
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/6b411cc5-cb23-3aef-b8b1-6cb73d96a2d5.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/6dc954f4-181a-3c6c-99e2-951f7202b4c5.dat b/workspace/saves/MCP Development World/playerdata/6dc954f4-181a-3c6c-99e2-951f7202b4c5.dat
new file mode 100644
index 00000000..27af2f0b
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/6dc954f4-181a-3c6c-99e2-951f7202b4c5.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/738c48db-b050-3c6f-9053-5a4abfe0d0a6.dat b/workspace/saves/MCP Development World/playerdata/738c48db-b050-3c6f-9053-5a4abfe0d0a6.dat
new file mode 100644
index 00000000..1d01c414
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/738c48db-b050-3c6f-9053-5a4abfe0d0a6.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/777409db-46bf-31bf-844f-6d600c083d6c.dat b/workspace/saves/MCP Development World/playerdata/777409db-46bf-31bf-844f-6d600c083d6c.dat
new file mode 100644
index 00000000..0581ab97
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/777409db-46bf-31bf-844f-6d600c083d6c.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/79f8754e-14dd-38b7-8860-09cab9cfb920.dat b/workspace/saves/MCP Development World/playerdata/79f8754e-14dd-38b7-8860-09cab9cfb920.dat
new file mode 100644
index 00000000..247c9326
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/79f8754e-14dd-38b7-8860-09cab9cfb920.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/8610364c-1fe9-3801-96a1-4fb3dc123fc9.dat b/workspace/saves/MCP Development World/playerdata/8610364c-1fe9-3801-96a1-4fb3dc123fc9.dat
new file mode 100644
index 00000000..369f6483
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/8610364c-1fe9-3801-96a1-4fb3dc123fc9.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/8878ef4a-de27-32df-b636-12a0a607ca5d.dat b/workspace/saves/MCP Development World/playerdata/8878ef4a-de27-32df-b636-12a0a607ca5d.dat
new file mode 100644
index 00000000..fa95a396
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/8878ef4a-de27-32df-b636-12a0a607ca5d.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/924198c2-2c42-36d7-958c-f259b1738969.dat b/workspace/saves/MCP Development World/playerdata/924198c2-2c42-36d7-958c-f259b1738969.dat
index bbdd5b1c..829f5748 100644
Binary files a/workspace/saves/MCP Development World/playerdata/924198c2-2c42-36d7-958c-f259b1738969.dat and b/workspace/saves/MCP Development World/playerdata/924198c2-2c42-36d7-958c-f259b1738969.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/92f8a523-1476-36c1-a74b-ef7c8b1d0bfd.dat b/workspace/saves/MCP Development World/playerdata/92f8a523-1476-36c1-a74b-ef7c8b1d0bfd.dat
new file mode 100644
index 00000000..3b7694e0
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/92f8a523-1476-36c1-a74b-ef7c8b1d0bfd.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/93122710-9b50-34d0-8726-c7db8c850b07.dat b/workspace/saves/MCP Development World/playerdata/93122710-9b50-34d0-8726-c7db8c850b07.dat
new file mode 100644
index 00000000..6901f1b4
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/93122710-9b50-34d0-8726-c7db8c850b07.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/9dc90764-797e-30c6-bac3-354c01806f0d.dat b/workspace/saves/MCP Development World/playerdata/9dc90764-797e-30c6-bac3-354c01806f0d.dat
new file mode 100644
index 00000000..2d8b5b0b
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/9dc90764-797e-30c6-bac3-354c01806f0d.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/9f706b9c-a5d7-3950-a693-97c335e2631f.dat b/workspace/saves/MCP Development World/playerdata/9f706b9c-a5d7-3950-a693-97c335e2631f.dat
new file mode 100644
index 00000000..d700a7b2
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/9f706b9c-a5d7-3950-a693-97c335e2631f.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/a240c974-e4f5-311c-82e7-f92bb39b2584.dat b/workspace/saves/MCP Development World/playerdata/a240c974-e4f5-311c-82e7-f92bb39b2584.dat
new file mode 100644
index 00000000..d3080bfb
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/a240c974-e4f5-311c-82e7-f92bb39b2584.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/a498be5d-0142-3d23-a17c-8823a1cd27b0.dat b/workspace/saves/MCP Development World/playerdata/a498be5d-0142-3d23-a17c-8823a1cd27b0.dat
new file mode 100644
index 00000000..014965d0
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/a498be5d-0142-3d23-a17c-8823a1cd27b0.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/aeca01bf-232e-37a2-985b-599827b3226a.dat b/workspace/saves/MCP Development World/playerdata/aeca01bf-232e-37a2-985b-599827b3226a.dat
new file mode 100644
index 00000000..037febbc
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/aeca01bf-232e-37a2-985b-599827b3226a.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/b436a3b6-3bfd-34ab-a0ca-b7a09efebbdc.dat b/workspace/saves/MCP Development World/playerdata/b436a3b6-3bfd-34ab-a0ca-b7a09efebbdc.dat
new file mode 100644
index 00000000..7cf0a7f4
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/b436a3b6-3bfd-34ab-a0ca-b7a09efebbdc.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/b63c1160-7834-3764-9276-2fb9c5acd6ce.dat b/workspace/saves/MCP Development World/playerdata/b63c1160-7834-3764-9276-2fb9c5acd6ce.dat
new file mode 100644
index 00000000..e2255eca
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/b63c1160-7834-3764-9276-2fb9c5acd6ce.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/c2506432-c159-30c0-93d8-64f2a6272277.dat b/workspace/saves/MCP Development World/playerdata/c2506432-c159-30c0-93d8-64f2a6272277.dat
new file mode 100644
index 00000000..3118b5c4
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/c2506432-c159-30c0-93d8-64f2a6272277.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/c89ac188-5207-3ca2-8ef0-ed700f7bdbef.dat b/workspace/saves/MCP Development World/playerdata/c89ac188-5207-3ca2-8ef0-ed700f7bdbef.dat
new file mode 100644
index 00000000..db2db480
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/c89ac188-5207-3ca2-8ef0-ed700f7bdbef.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/e10ba356-0952-343e-8ccb-a3b6e69bf75e.dat b/workspace/saves/MCP Development World/playerdata/e10ba356-0952-343e-8ccb-a3b6e69bf75e.dat
new file mode 100644
index 00000000..f7a3114a
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/e10ba356-0952-343e-8ccb-a3b6e69bf75e.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/e122e0b0-374f-3b1b-a986-63f4fefee57a.dat b/workspace/saves/MCP Development World/playerdata/e122e0b0-374f-3b1b-a986-63f4fefee57a.dat
new file mode 100644
index 00000000..6a2bd98f
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/e122e0b0-374f-3b1b-a986-63f4fefee57a.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/e4358028-bc3b-38cc-b645-4d08d3b4f456.dat b/workspace/saves/MCP Development World/playerdata/e4358028-bc3b-38cc-b645-4d08d3b4f456.dat
new file mode 100644
index 00000000..e0e70eef
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/e4358028-bc3b-38cc-b645-4d08d3b4f456.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/eac293da-7d7d-3c6a-94e5-fba80de0212f.dat b/workspace/saves/MCP Development World/playerdata/eac293da-7d7d-3c6a-94e5-fba80de0212f.dat
new file mode 100644
index 00000000..fcd61cc4
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/eac293da-7d7d-3c6a-94e5-fba80de0212f.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/eb08048d-a3b9-3008-984c-fcc8bb7d8893.dat b/workspace/saves/MCP Development World/playerdata/eb08048d-a3b9-3008-984c-fcc8bb7d8893.dat
new file mode 100644
index 00000000..b0140a50
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/eb08048d-a3b9-3008-984c-fcc8bb7d8893.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/ef840057-4261-321f-afc5-1f78d46c0c90.dat b/workspace/saves/MCP Development World/playerdata/ef840057-4261-321f-afc5-1f78d46c0c90.dat
new file mode 100644
index 00000000..7f03f5c4
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/ef840057-4261-321f-afc5-1f78d46c0c90.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/f2c5b984-5c4a-355c-800e-d2ce35cf8f1c.dat b/workspace/saves/MCP Development World/playerdata/f2c5b984-5c4a-355c-800e-d2ce35cf8f1c.dat
new file mode 100644
index 00000000..4023d657
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/f2c5b984-5c4a-355c-800e-d2ce35cf8f1c.dat differ
diff --git a/workspace/saves/MCP Development World/playerdata/f9567117-2555-3219-a3d6-01de0ddd7332.dat b/workspace/saves/MCP Development World/playerdata/f9567117-2555-3219-a3d6-01de0ddd7332.dat
new file mode 100644
index 00000000..25968af5
Binary files /dev/null and b/workspace/saves/MCP Development World/playerdata/f9567117-2555-3219-a3d6-01de0ddd7332.dat differ
diff --git a/workspace/saves/MCP Development World/region/r.0.-1.mca b/workspace/saves/MCP Development World/region/r.0.-1.mca
index e1d01af8..17f4048d 100644
Binary files a/workspace/saves/MCP Development World/region/r.0.-1.mca and b/workspace/saves/MCP Development World/region/r.0.-1.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.0.0.mca b/workspace/saves/MCP Development World/region/r.0.0.mca
index 1ee370ef..e5ccc037 100644
Binary files a/workspace/saves/MCP Development World/region/r.0.0.mca and b/workspace/saves/MCP Development World/region/r.0.0.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.0.1.mca b/workspace/saves/MCP Development World/region/r.0.1.mca
index c18de63b..fc896888 100644
Binary files a/workspace/saves/MCP Development World/region/r.0.1.mca and b/workspace/saves/MCP Development World/region/r.0.1.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.0.2.mca b/workspace/saves/MCP Development World/region/r.0.2.mca
index bcb16b3d..c9df458c 100644
Binary files a/workspace/saves/MCP Development World/region/r.0.2.mca and b/workspace/saves/MCP Development World/region/r.0.2.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.1.-1.mca b/workspace/saves/MCP Development World/region/r.1.-1.mca
index 385e7895..31624c1b 100644
Binary files a/workspace/saves/MCP Development World/region/r.1.-1.mca and b/workspace/saves/MCP Development World/region/r.1.-1.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.1.0.mca b/workspace/saves/MCP Development World/region/r.1.0.mca
index b3dc0e11..0244c547 100644
Binary files a/workspace/saves/MCP Development World/region/r.1.0.mca and b/workspace/saves/MCP Development World/region/r.1.0.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.1.1.mca b/workspace/saves/MCP Development World/region/r.1.1.mca
index 1670ffef..0975c073 100644
Binary files a/workspace/saves/MCP Development World/region/r.1.1.mca and b/workspace/saves/MCP Development World/region/r.1.1.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.1.2.mca b/workspace/saves/MCP Development World/region/r.1.2.mca
index 84e99939..c67e0ca3 100644
Binary files a/workspace/saves/MCP Development World/region/r.1.2.mca and b/workspace/saves/MCP Development World/region/r.1.2.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.2.-1.mca b/workspace/saves/MCP Development World/region/r.2.-1.mca
index a25a994d..fd708ab8 100644
Binary files a/workspace/saves/MCP Development World/region/r.2.-1.mca and b/workspace/saves/MCP Development World/region/r.2.-1.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.2.0.mca b/workspace/saves/MCP Development World/region/r.2.0.mca
index 437211fb..75567910 100644
Binary files a/workspace/saves/MCP Development World/region/r.2.0.mca and b/workspace/saves/MCP Development World/region/r.2.0.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.2.1.mca b/workspace/saves/MCP Development World/region/r.2.1.mca
index 3cbd8364..219e06c1 100644
Binary files a/workspace/saves/MCP Development World/region/r.2.1.mca and b/workspace/saves/MCP Development World/region/r.2.1.mca differ
diff --git a/workspace/saves/MCP Development World/region/r.2.2.mca b/workspace/saves/MCP Development World/region/r.2.2.mca
index e540c7d4..c62b99ad 100644
Binary files a/workspace/saves/MCP Development World/region/r.2.2.mca and b/workspace/saves/MCP Development World/region/r.2.2.mca differ
diff --git a/workspace/saves/MCP Development World/session.lock b/workspace/saves/MCP Development World/session.lock
index 2075ba71..41e8dea5 100644
Binary files a/workspace/saves/MCP Development World/session.lock and b/workspace/saves/MCP Development World/session.lock differ
diff --git a/workspace/saves/MCP Development World/stats/04aedfc4-153f-3d65-bb99-866996994a71.json b/workspace/saves/MCP Development World/stats/04aedfc4-153f-3d65-bb99-866996994a71.json
new file mode 100644
index 00000000..924c13a2
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/04aedfc4-153f-3d65-bb99-866996994a71.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":7104,"stat.walkOneCm":636,"stat.useItem.minecraft.sand":3,"stat.jump":3,"stat.playOneMinute":5894,"achievement.openInventory":3,"stat.leaveGame":1,"stat.timeSinceDeath":5894,"stat.sprintOneCm":134,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/04ba6478-628e-32a2-915d-0b45ca8b366b.json b/workspace/saves/MCP Development World/stats/04ba6478-628e-32a2-915d-0b45ca8b366b.json
index 76f061f6..f3628482 100644
--- a/workspace/saves/MCP Development World/stats/04ba6478-628e-32a2-915d-0b45ca8b366b.json
+++ b/workspace/saves/MCP Development World/stats/04ba6478-628e-32a2-915d-0b45ca8b366b.json
@@ -1 +1 @@
-{"stat.flyOneCm":77286,"stat.useItem.minecraft.glass":6,"stat.walkOneCm":23700,"stat.drop":2,"stat.jump":71,"stat.playOneMinute":14751,"achievement.openInventory":7,"stat.useItem.minecraft.planks":120,"stat.leaveGame":1,"stat.useItem.minecraft.log":20,"stat.useItem.minecraft.oak_stairs":25,"stat.damageDealt":25,"stat.useItem.minecraft.spruce_stairs":1,"stat.crouchOneCm":314,"stat.timeSinceDeath":14751,"stat.sprintOneCm":5650,"stat.useItem.minecraft.wooden_slab":29,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]}}
\ No newline at end of file
+{"stat.useItem.minecraft.glass":6,"stat.walkOneCm":26209,"achievement.openInventory":7,"stat.leaveGame":2,"stat.useItem.minecraft.log":20,"stat.useItem.minecraft.oak_stairs":25,"stat.flyOneCm":80669,"stat.drop":2,"stat.jump":91,"stat.playOneMinute":18210,"stat.useItem.minecraft.planks":120,"stat.damageDealt":25,"stat.useItem.minecraft.spruce_stairs":1,"stat.crouchOneCm":314,"stat.timeSinceDeath":18210,"stat.sprintOneCm":7630,"stat.useItem.minecraft.wooden_slab":29,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/05d2e66a-903f-3232-a8b0-3899ccc17800.json b/workspace/saves/MCP Development World/stats/05d2e66a-903f-3232-a8b0-3899ccc17800.json
new file mode 100644
index 00000000..0a40520e
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/05d2e66a-903f-3232-a8b0-3899ccc17800.json
@@ -0,0 +1 @@
+{"stat.walkOneCm":43,"stat.playOneMinute":795,"stat.leaveGame":1,"stat.timeSinceDeath":795,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/0d3f56a3-2b3f-38d6-a849-9d61b8f97a5c.json b/workspace/saves/MCP Development World/stats/0d3f56a3-2b3f-38d6-a849-9d61b8f97a5c.json
new file mode 100644
index 00000000..cf605af8
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/0d3f56a3-2b3f-38d6-a849-9d61b8f97a5c.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":2317,"stat.walkOneCm":525,"stat.jump":2,"stat.playOneMinute":7518,"stat.leaveGame":1,"stat.timeSinceDeath":7518,"stat.sprintOneCm":474,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/0ef61a2a-d91b-37b4-a10d-af67b917d543.json b/workspace/saves/MCP Development World/stats/0ef61a2a-d91b-37b4-a10d-af67b917d543.json
new file mode 100644
index 00000000..902465eb
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/0ef61a2a-d91b-37b4-a10d-af67b917d543.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":73,"stat.walkOneCm":133,"stat.playOneMinute":2330,"stat.leaveGame":1,"stat.timeSinceDeath":2330,"stat.sprintOneCm":109,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/11827876-1185-3f24-850d-d0e7a71b9795.json b/workspace/saves/MCP Development World/stats/11827876-1185-3f24-850d-d0e7a71b9795.json
new file mode 100644
index 00000000..24e24a03
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/11827876-1185-3f24-850d-d0e7a71b9795.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":2893,"stat.leaveGame":1,"stat.timeSinceDeath":2893,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/122d3a74-28b3-3553-91d4-9092b640ce8e.json b/workspace/saves/MCP Development World/stats/122d3a74-28b3-3553-91d4-9092b640ce8e.json
new file mode 100644
index 00000000..03c67ba9
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/122d3a74-28b3-3553-91d4-9092b640ce8e.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":784,"stat.walkOneCm":648,"stat.jump":3,"stat.playOneMinute":9600,"stat.leaveGame":1,"stat.timeSinceDeath":9600,"stat.sprintOneCm":511,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/17b67947-156d-3518-9500-f7e04df5e64d.json b/workspace/saves/MCP Development World/stats/17b67947-156d-3518-9500-f7e04df5e64d.json
new file mode 100644
index 00000000..2c66d855
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/17b67947-156d-3518-9500-f7e04df5e64d.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":593,"stat.leaveGame":1,"stat.timeSinceDeath":593,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/18b3a035-3e67-34ed-889e-932160306e4f.json b/workspace/saves/MCP Development World/stats/18b3a035-3e67-34ed-889e-932160306e4f.json
new file mode 100644
index 00000000..aac47e17
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/18b3a035-3e67-34ed-889e-932160306e4f.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":201,"stat.walkOneCm":105,"stat.jump":1,"stat.playOneMinute":380,"stat.leaveGame":1,"stat.timeSinceDeath":380,"stat.sprintOneCm":33,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/1c0e06f3-9808-3189-8407-cec21f7f6640.json b/workspace/saves/MCP Development World/stats/1c0e06f3-9808-3189-8407-cec21f7f6640.json
new file mode 100644
index 00000000..104e0e54
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/1c0e06f3-9808-3189-8407-cec21f7f6640.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":1238,"stat.walkOneCm":626,"stat.jump":5,"stat.playOneMinute":3253,"stat.leaveGame":1,"stat.timeSinceDeath":3253,"stat.sprintOneCm":461,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/1e0b9d62-e071-33ba-b82e-1c564a46e2f0.json b/workspace/saves/MCP Development World/stats/1e0b9d62-e071-33ba-b82e-1c564a46e2f0.json
new file mode 100644
index 00000000..576af623
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/1e0b9d62-e071-33ba-b82e-1c564a46e2f0.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":2016,"stat.walkOneCm":210,"stat.jump":1,"stat.playOneMinute":3370,"stat.leaveGame":1,"stat.timeSinceDeath":3370,"stat.sprintOneCm":39,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/1e3c9076-6029-36c6-8475-dd38d2030d5f.json b/workspace/saves/MCP Development World/stats/1e3c9076-6029-36c6-8475-dd38d2030d5f.json
new file mode 100644
index 00000000..6c9c302a
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/1e3c9076-6029-36c6-8475-dd38d2030d5f.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":279,"stat.walkOneCm":604,"stat.drop":2,"stat.useItem.minecraft.sand":2,"stat.jump":3,"stat.playOneMinute":3685,"stat.leaveGame":1,"stat.timeSinceDeath":3685,"stat.sprintOneCm":281,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/1e92cadb-e057-30f8-a789-5ce10551ba1e.json b/workspace/saves/MCP Development World/stats/1e92cadb-e057-30f8-a789-5ce10551ba1e.json
new file mode 100644
index 00000000..e8a61751
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/1e92cadb-e057-30f8-a789-5ce10551ba1e.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":4639,"stat.leaveGame":1,"stat.timeSinceDeath":4639,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/23caebef-63a5-39b8-9ae3-6dfce0636b5f.json b/workspace/saves/MCP Development World/stats/23caebef-63a5-39b8-9ae3-6dfce0636b5f.json
new file mode 100644
index 00000000..f32693f9
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/23caebef-63a5-39b8-9ae3-6dfce0636b5f.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":204,"stat.walkOneCm":351,"stat.jump":2,"stat.playOneMinute":1650,"stat.leaveGame":1,"stat.timeSinceDeath":1650,"stat.sprintOneCm":249,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/29b47250-4236-34ae-8b46-7341b800b727.json b/workspace/saves/MCP Development World/stats/29b47250-4236-34ae-8b46-7341b800b727.json
new file mode 100644
index 00000000..b0323f4f
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/29b47250-4236-34ae-8b46-7341b800b727.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":35108,"stat.walkOneCm":4952,"stat.jump":49,"stat.playOneMinute":14980,"stat.leaveGame":1,"stat.timeSinceDeath":14980,"stat.sprintOneCm":3859,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/336cdb69-b175-3ad2-a556-740278ca80ab.json b/workspace/saves/MCP Development World/stats/336cdb69-b175-3ad2-a556-740278ca80ab.json
new file mode 100644
index 00000000..26776972
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/336cdb69-b175-3ad2-a556-740278ca80ab.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":258,"stat.playOneMinute":471,"stat.leaveGame":1,"stat.timeSinceDeath":471,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/337a131b-860d-346e-a281-649e07daeae5.json b/workspace/saves/MCP Development World/stats/337a131b-860d-346e-a281-649e07daeae5.json
new file mode 100644
index 00000000..b614e4d3
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/337a131b-860d-346e-a281-649e07daeae5.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":382,"stat.walkOneCm":388,"stat.jump":3,"stat.playOneMinute":34037,"stat.leaveGame":1,"stat.timeSinceDeath":34037,"stat.sprintOneCm":203,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/37815b4b-a277-3e88-89c9-687629f7c447.json b/workspace/saves/MCP Development World/stats/37815b4b-a277-3e88-89c9-687629f7c447.json
new file mode 100644
index 00000000..20289f40
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/37815b4b-a277-3e88-89c9-687629f7c447.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":942,"stat.walkOneCm":1126,"stat.jump":6,"stat.playOneMinute":985,"stat.leaveGame":1,"stat.crouchOneCm":56,"stat.timeSinceDeath":985,"stat.sprintOneCm":817,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/3959aa12-3a9d-3fc4-84ad-d0d3c7c6550b.json b/workspace/saves/MCP Development World/stats/3959aa12-3a9d-3fc4-84ad-d0d3c7c6550b.json
new file mode 100644
index 00000000..b672f36f
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/3959aa12-3a9d-3fc4-84ad-d0d3c7c6550b.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":250,"stat.leaveGame":1,"stat.timeSinceDeath":250,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/39ce36e8-f4b8-3b30-a1f4-bfdbbc990254.json b/workspace/saves/MCP Development World/stats/39ce36e8-f4b8-3b30-a1f4-bfdbbc990254.json
new file mode 100644
index 00000000..bf5f214a
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/39ce36e8-f4b8-3b30-a1f4-bfdbbc990254.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":459,"stat.leaveGame":1,"stat.timeSinceDeath":459,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/42468be1-4059-36e2-be82-cb1721e83191.json b/workspace/saves/MCP Development World/stats/42468be1-4059-36e2-be82-cb1721e83191.json
new file mode 100644
index 00000000..bd915fc9
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/42468be1-4059-36e2-be82-cb1721e83191.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":7646,"stat.walkOneCm":3078,"stat.jump":32,"stat.playOneMinute":11115,"stat.leaveGame":1,"stat.timeSinceDeath":11115,"stat.sprintOneCm":2045,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/4f2b9d55-5b3e-32ee-ad58-c8df44a23337.json b/workspace/saves/MCP Development World/stats/4f2b9d55-5b3e-32ee-ad58-c8df44a23337.json
new file mode 100644
index 00000000..fb9ed64d
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/4f2b9d55-5b3e-32ee-ad58-c8df44a23337.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":19922,"stat.leaveGame":1,"stat.timeSinceDeath":19922,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/50e1ab02-92db-38bb-86bf-431939b828b5.json b/workspace/saves/MCP Development World/stats/50e1ab02-92db-38bb-86bf-431939b828b5.json
new file mode 100644
index 00000000..ef7caad6
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/50e1ab02-92db-38bb-86bf-431939b828b5.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":400,"stat.leaveGame":1,"stat.timeSinceDeath":400,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/5cc48495-676c-3721-aed2-7336730ff405.json b/workspace/saves/MCP Development World/stats/5cc48495-676c-3721-aed2-7336730ff405.json
new file mode 100644
index 00000000..94f186be
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/5cc48495-676c-3721-aed2-7336730ff405.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":58396,"stat.walkOneCm":24,"stat.jump":2,"stat.playOneMinute":8218,"stat.leaveGame":1,"stat.crouchOneCm":24,"stat.timeSinceDeath":8218,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]},"stat.useItem.minecraft.potion":11}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/69715e5e-1775-3a6c-8b64-1d82bcbbe688.json b/workspace/saves/MCP Development World/stats/69715e5e-1775-3a6c-8b64-1d82bcbbe688.json
index f07ac18f..126c0004 100644
--- a/workspace/saves/MCP Development World/stats/69715e5e-1775-3a6c-8b64-1d82bcbbe688.json
+++ b/workspace/saves/MCP Development World/stats/69715e5e-1775-3a6c-8b64-1d82bcbbe688.json
@@ -1 +1 @@
-{"stat.flyOneCm":237,"stat.walkOneCm":367,"stat.jump":1,"stat.playOneMinute":7547,"stat.leaveGame":1,"stat.timeSinceDeath":7547,"stat.sprintOneCm":98,"achievement.exploreAllBiomes":{"value":0,"progress":["Beach"]}}
\ No newline at end of file
+{"stat.flyOneCm":2374,"stat.walkOneCm":409,"stat.jump":1,"stat.playOneMinute":9728,"stat.leaveGame":2,"stat.timeSinceDeath":9728,"stat.sprintOneCm":98,"achievement.exploreAllBiomes":{"value":0,"progress":["Beach","DesertHills","Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/6b411cc5-cb23-3aef-b8b1-6cb73d96a2d5.json b/workspace/saves/MCP Development World/stats/6b411cc5-cb23-3aef-b8b1-6cb73d96a2d5.json
new file mode 100644
index 00000000..6ea50f18
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/6b411cc5-cb23-3aef-b8b1-6cb73d96a2d5.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":1210,"stat.leaveGame":1,"stat.timeSinceDeath":1210,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/6dc954f4-181a-3c6c-99e2-951f7202b4c5.json b/workspace/saves/MCP Development World/stats/6dc954f4-181a-3c6c-99e2-951f7202b4c5.json
new file mode 100644
index 00000000..d3d92659
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/6dc954f4-181a-3c6c-99e2-951f7202b4c5.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":99,"stat.walkOneCm":112,"stat.jump":1,"stat.playOneMinute":5185,"stat.leaveGame":1,"stat.timeSinceDeath":5185,"stat.sprintOneCm":56,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/738c48db-b050-3c6f-9053-5a4abfe0d0a6.json b/workspace/saves/MCP Development World/stats/738c48db-b050-3c6f-9053-5a4abfe0d0a6.json
new file mode 100644
index 00000000..5a91125a
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/738c48db-b050-3c6f-9053-5a4abfe0d0a6.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":1092,"stat.leaveGame":1,"stat.timeSinceDeath":1092,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/777409db-46bf-31bf-844f-6d600c083d6c.json b/workspace/saves/MCP Development World/stats/777409db-46bf-31bf-844f-6d600c083d6c.json
new file mode 100644
index 00000000..6d991882
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/777409db-46bf-31bf-844f-6d600c083d6c.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":14594,"stat.leaveGame":1,"stat.timeSinceDeath":14594,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/79f8754e-14dd-38b7-8860-09cab9cfb920.json b/workspace/saves/MCP Development World/stats/79f8754e-14dd-38b7-8860-09cab9cfb920.json
new file mode 100644
index 00000000..a6a740f7
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/79f8754e-14dd-38b7-8860-09cab9cfb920.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":21708,"stat.walkOneCm":538,"stat.jump":4,"stat.playOneMinute":15437,"achievement.openInventory":1,"stat.leaveGame":1,"stat.timeSinceDeath":15437,"stat.sprintOneCm":513,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/8610364c-1fe9-3801-96a1-4fb3dc123fc9.json b/workspace/saves/MCP Development World/stats/8610364c-1fe9-3801-96a1-4fb3dc123fc9.json
new file mode 100644
index 00000000..ed540045
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/8610364c-1fe9-3801-96a1-4fb3dc123fc9.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":3286,"stat.walkOneCm":902,"stat.jump":15,"stat.playOneMinute":3358,"stat.leaveGame":1,"stat.timeSinceDeath":3358,"stat.sprintOneCm":690,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/8878ef4a-de27-32df-b636-12a0a607ca5d.json b/workspace/saves/MCP Development World/stats/8878ef4a-de27-32df-b636-12a0a607ca5d.json
new file mode 100644
index 00000000..4375d717
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/8878ef4a-de27-32df-b636-12a0a607ca5d.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":1302,"stat.walkOneCm":1054,"stat.jump":13,"stat.playOneMinute":9259,"stat.timeSinceDeath":9259,"stat.sprintOneCm":706,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/924198c2-2c42-36d7-958c-f259b1738969.json b/workspace/saves/MCP Development World/stats/924198c2-2c42-36d7-958c-f259b1738969.json
index 2586eae4..d63709e7 100644
--- a/workspace/saves/MCP Development World/stats/924198c2-2c42-36d7-958c-f259b1738969.json
+++ b/workspace/saves/MCP Development World/stats/924198c2-2c42-36d7-958c-f259b1738969.json
@@ -1 +1 @@
-{"stat.flyOneCm":3595,"stat.walkOneCm":1411,"stat.jump":15,"stat.playOneMinute":3551,"achievement.openInventory":1,"stat.leaveGame":1,"stat.timeSinceDeath":3551,"stat.sprintOneCm":744,"achievement.exploreAllBiomes":{"value":0,"progress":["Beach"]}}
\ No newline at end of file
+{"stat.flyOneCm":6396,"stat.walkOneCm":2481,"stat.jump":28,"stat.playOneMinute":11429,"achievement.openInventory":1,"stat.leaveGame":2,"stat.timeSinceDeath":11429,"stat.sprintOneCm":1429,"achievement.exploreAllBiomes":{"value":0,"progress":["Beach","DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/92f8a523-1476-36c1-a74b-ef7c8b1d0bfd.json b/workspace/saves/MCP Development World/stats/92f8a523-1476-36c1-a74b-ef7c8b1d0bfd.json
new file mode 100644
index 00000000..394572db
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/92f8a523-1476-36c1-a74b-ef7c8b1d0bfd.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":4454,"stat.leaveGame":1,"stat.timeSinceDeath":4454,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/93122710-9b50-34d0-8726-c7db8c850b07.json b/workspace/saves/MCP Development World/stats/93122710-9b50-34d0-8726-c7db8c850b07.json
new file mode 100644
index 00000000..24415262
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/93122710-9b50-34d0-8726-c7db8c850b07.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":2629,"stat.leaveGame":1,"stat.timeSinceDeath":2629,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/9dc90764-797e-30c6-bac3-354c01806f0d.json b/workspace/saves/MCP Development World/stats/9dc90764-797e-30c6-bac3-354c01806f0d.json
new file mode 100644
index 00000000..93f014ff
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/9dc90764-797e-30c6-bac3-354c01806f0d.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":252,"stat.walkOneCm":233,"stat.jump":2,"stat.playOneMinute":4094,"stat.leaveGame":1,"stat.timeSinceDeath":4094,"stat.sprintOneCm":112,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/9f706b9c-a5d7-3950-a693-97c335e2631f.json b/workspace/saves/MCP Development World/stats/9f706b9c-a5d7-3950-a693-97c335e2631f.json
new file mode 100644
index 00000000..92b374cc
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/9f706b9c-a5d7-3950-a693-97c335e2631f.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":308,"stat.walkOneCm":621,"stat.drop":2,"stat.jump":3,"stat.playOneMinute":5861,"stat.leaveGame":1,"stat.timeSinceDeath":5861,"stat.sprintOneCm":242,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/a240c974-e4f5-311c-82e7-f92bb39b2584.json b/workspace/saves/MCP Development World/stats/a240c974-e4f5-311c-82e7-f92bb39b2584.json
new file mode 100644
index 00000000..8d2e6e49
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/a240c974-e4f5-311c-82e7-f92bb39b2584.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":3307,"stat.leaveGame":1,"stat.timeSinceDeath":3307,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/a498be5d-0142-3d23-a17c-8823a1cd27b0.json b/workspace/saves/MCP Development World/stats/a498be5d-0142-3d23-a17c-8823a1cd27b0.json
new file mode 100644
index 00000000..3e05ea8b
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/a498be5d-0142-3d23-a17c-8823a1cd27b0.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":1476,"stat.leaveGame":1,"stat.timeSinceDeath":1476,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/aeca01bf-232e-37a2-985b-599827b3226a.json b/workspace/saves/MCP Development World/stats/aeca01bf-232e-37a2-985b-599827b3226a.json
new file mode 100644
index 00000000..2de522d5
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/aeca01bf-232e-37a2-985b-599827b3226a.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":10309,"stat.walkOneCm":4112,"stat.jump":25,"stat.playOneMinute":38006,"stat.leaveGame":1,"stat.crouchOneCm":3,"stat.timeSinceDeath":38006,"stat.sprintOneCm":2741,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/b436a3b6-3bfd-34ab-a0ca-b7a09efebbdc.json b/workspace/saves/MCP Development World/stats/b436a3b6-3bfd-34ab-a0ca-b7a09efebbdc.json
new file mode 100644
index 00000000..957ce310
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/b436a3b6-3bfd-34ab-a0ca-b7a09efebbdc.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":40,"stat.walkOneCm":64,"stat.jump":1,"stat.playOneMinute":1172,"stat.leaveGame":1,"stat.timeSinceDeath":1172,"stat.sprintOneCm":13,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/b63c1160-7834-3764-9276-2fb9c5acd6ce.json b/workspace/saves/MCP Development World/stats/b63c1160-7834-3764-9276-2fb9c5acd6ce.json
new file mode 100644
index 00000000..f07c3b43
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/b63c1160-7834-3764-9276-2fb9c5acd6ce.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":21325,"stat.walkOneCm":6081,"stat.drop":1,"stat.jump":34,"stat.useItem.minecraft.sand":1,"stat.playOneMinute":44795,"stat.leaveGame":1,"stat.timeSinceDeath":44795,"stat.sprintOneCm":4101,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/c2506432-c159-30c0-93d8-64f2a6272277.json b/workspace/saves/MCP Development World/stats/c2506432-c159-30c0-93d8-64f2a6272277.json
new file mode 100644
index 00000000..6d2f8c89
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/c2506432-c159-30c0-93d8-64f2a6272277.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":2567,"stat.walkOneCm":3918,"stat.jump":21,"stat.playOneMinute":6180,"stat.leaveGame":1,"stat.timeSinceDeath":6180,"stat.sprintOneCm":2545,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/c89ac188-5207-3ca2-8ef0-ed700f7bdbef.json b/workspace/saves/MCP Development World/stats/c89ac188-5207-3ca2-8ef0-ed700f7bdbef.json
new file mode 100644
index 00000000..18f06832
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/c89ac188-5207-3ca2-8ef0-ed700f7bdbef.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":13602,"stat.leaveGame":1,"stat.timeSinceDeath":13602,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/e10ba356-0952-343e-8ccb-a3b6e69bf75e.json b/workspace/saves/MCP Development World/stats/e10ba356-0952-343e-8ccb-a3b6e69bf75e.json
new file mode 100644
index 00000000..983bcaee
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/e10ba356-0952-343e-8ccb-a3b6e69bf75e.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":18088,"stat.walkOneCm":3852,"stat.jump":13,"stat.playOneMinute":6217,"stat.leaveGame":1,"stat.timeSinceDeath":6217,"stat.sprintOneCm":1065,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]},"stat.useItem.minecraft.potion":6}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/e122e0b0-374f-3b1b-a986-63f4fefee57a.json b/workspace/saves/MCP Development World/stats/e122e0b0-374f-3b1b-a986-63f4fefee57a.json
new file mode 100644
index 00000000..bf9017b5
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/e122e0b0-374f-3b1b-a986-63f4fefee57a.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":3412,"stat.leaveGame":1,"stat.timeSinceDeath":3412,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/e4358028-bc3b-38cc-b645-4d08d3b4f456.json b/workspace/saves/MCP Development World/stats/e4358028-bc3b-38cc-b645-4d08d3b4f456.json
new file mode 100644
index 00000000..2fc094b5
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/e4358028-bc3b-38cc-b645-4d08d3b4f456.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":5687,"stat.playOneMinute":1773,"stat.leaveGame":1,"stat.timeSinceDeath":1773,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/eac293da-7d7d-3c6a-94e5-fba80de0212f.json b/workspace/saves/MCP Development World/stats/eac293da-7d7d-3c6a-94e5-fba80de0212f.json
new file mode 100644
index 00000000..5323606f
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/eac293da-7d7d-3c6a-94e5-fba80de0212f.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":44304,"stat.walkOneCm":4756,"stat.jump":48,"stat.playOneMinute":8752,"stat.leaveGame":1,"stat.crouchOneCm":3,"stat.timeSinceDeath":8752,"stat.sprintOneCm":4069,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","Desert"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/eb08048d-a3b9-3008-984c-fcc8bb7d8893.json b/workspace/saves/MCP Development World/stats/eb08048d-a3b9-3008-984c-fcc8bb7d8893.json
new file mode 100644
index 00000000..d4276743
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/eb08048d-a3b9-3008-984c-fcc8bb7d8893.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":41,"stat.leaveGame":1,"stat.timeSinceDeath":41}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/ef840057-4261-321f-afc5-1f78d46c0c90.json b/workspace/saves/MCP Development World/stats/ef840057-4261-321f-afc5-1f78d46c0c90.json
new file mode 100644
index 00000000..8ff07033
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/ef840057-4261-321f-afc5-1f78d46c0c90.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":412,"stat.leaveGame":1,"stat.timeSinceDeath":412,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/f2c5b984-5c4a-355c-800e-d2ce35cf8f1c.json b/workspace/saves/MCP Development World/stats/f2c5b984-5c4a-355c-800e-d2ce35cf8f1c.json
new file mode 100644
index 00000000..862f3b26
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/f2c5b984-5c4a-355c-800e-d2ce35cf8f1c.json
@@ -0,0 +1 @@
+{"stat.flyOneCm":741,"stat.walkOneCm":800,"stat.jump":4,"stat.playOneMinute":4497,"achievement.openInventory":1,"stat.leaveGame":1,"stat.timeSinceDeath":4497,"stat.sprintOneCm":491,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]},"stat.useItem.minecraft.potion":1}
\ No newline at end of file
diff --git a/workspace/saves/MCP Development World/stats/f9567117-2555-3219-a3d6-01de0ddd7332.json b/workspace/saves/MCP Development World/stats/f9567117-2555-3219-a3d6-01de0ddd7332.json
new file mode 100644
index 00000000..81353084
--- /dev/null
+++ b/workspace/saves/MCP Development World/stats/f9567117-2555-3219-a3d6-01de0ddd7332.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":57,"stat.leaveGame":1,"stat.timeSinceDeath":57,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills"]}}
\ No newline at end of file
diff --git a/workspace/saves/New World/level.dat b/workspace/saves/New World/level.dat
index ad0e1cf4..5af626f0 100644
Binary files a/workspace/saves/New World/level.dat and b/workspace/saves/New World/level.dat differ
diff --git a/workspace/saves/New World/level.dat_old b/workspace/saves/New World/level.dat_old
index 44d8aad4..13ae610e 100644
Binary files a/workspace/saves/New World/level.dat_old and b/workspace/saves/New World/level.dat_old differ
diff --git a/workspace/saves/New World/playerdata/79f8754e-14dd-38b7-8860-09cab9cfb920.dat b/workspace/saves/New World/playerdata/79f8754e-14dd-38b7-8860-09cab9cfb920.dat
new file mode 100644
index 00000000..1010c6c5
Binary files /dev/null and b/workspace/saves/New World/playerdata/79f8754e-14dd-38b7-8860-09cab9cfb920.dat differ
diff --git a/workspace/saves/New World/region/r.-1.0.mca b/workspace/saves/New World/region/r.-1.0.mca
index 97c11dd2..cfa4d0fe 100644
Binary files a/workspace/saves/New World/region/r.-1.0.mca and b/workspace/saves/New World/region/r.-1.0.mca differ
diff --git a/workspace/saves/New World/region/r.0.0.mca b/workspace/saves/New World/region/r.0.0.mca
index 81b8afe5..a137e253 100644
Binary files a/workspace/saves/New World/region/r.0.0.mca and b/workspace/saves/New World/region/r.0.0.mca differ
diff --git a/workspace/saves/New World/session.lock b/workspace/saves/New World/session.lock
index d8ec107d..919d5b79 100644
Binary files a/workspace/saves/New World/session.lock and b/workspace/saves/New World/session.lock differ
diff --git a/workspace/saves/New World/stats/79f8754e-14dd-38b7-8860-09cab9cfb920.json b/workspace/saves/New World/stats/79f8754e-14dd-38b7-8860-09cab9cfb920.json
new file mode 100644
index 00000000..f9ea6cae
--- /dev/null
+++ b/workspace/saves/New World/stats/79f8754e-14dd-38b7-8860-09cab9cfb920.json
@@ -0,0 +1 @@
+{"stat.playOneMinute":21,"stat.leaveGame":1,"achievement.exploreAllBiomes":{"value":0,"progress":["Ocean"]}}
\ No newline at end of file
diff --git a/workspace/screenshots/2023-06-02_23.27.16.png b/workspace/screenshots/2023-06-02_23.27.16.png
new file mode 100644
index 00000000..065be6c5
Binary files /dev/null and b/workspace/screenshots/2023-06-02_23.27.16.png differ
diff --git a/workspace/usercache.json b/workspace/usercache.json
index c709ec5f..f8a48102 100644
--- a/workspace/usercache.json
+++ b/workspace/usercache.json
@@ -1 +1 @@
-[{"name":"Player965","uuid":"2797ecaf-07ab-3788-a2f8-6002cfc50e1d","expiresOn":"2023-07-02 14:07:47 +0200"},{"name":"Player136","uuid":"f4642d2b-29f9-34b7-8b90-e6570e856434","expiresOn":"2023-07-02 10:45:25 +0200"},{"name":"Player253","uuid":"326096ef-db00-3744-84c9-0b71611a13c5","expiresOn":"2023-07-02 13:53:37 +0200"},{"name":"Player382","uuid":"1b5803ef-dab8-3673-85ae-9a9160028e1f","expiresOn":"2023-07-02 11:38:22 +0200"},{"name":"Player265","uuid":"e2fd3051-a7ee-3ec9-ae1f-a1b6240b0501","expiresOn":"2023-07-02 09:25:25 +0200"},{"name":"Player371","uuid":"184a029e-ad3d-3abd-8a1a-c044d35081d5","expiresOn":"2023-07-01 21:56:38 +0200"},{"name":"Player93","uuid":"04ba6478-628e-32a2-915d-0b45ca8b366b","expiresOn":"2023-07-02 11:41:33 +0200"},{"name":"Player288","uuid":"3d9ab571-1ea5-360b-bc9d-77cd0b2f72a9","expiresOn":"2023-07-01 21:53:28 +0200"},{"name":"Player312","uuid":"d566deca-6b21-32cb-af90-4edf09eeac2e","expiresOn":"2023-07-01 22:00:13 +0200"},{"name":"Player982","uuid":"7d461d5d-f429-32b0-a043-0156fa837406","expiresOn":"2023-07-02 12:12:08 +0200"},{"name":"Player67","uuid":"24a251d3-c89c-39ba-8cae-1f7d4c0691c9","expiresOn":"2023-07-01 21:51:52 +0200"},{"name":"Player196","uuid":"5763de83-e0ac-32bb-9102-41b754fdcdbe","expiresOn":"2023-07-01 21:48:18 +0200"},{"name":"Player804","uuid":"924198c2-2c42-36d7-958c-f259b1738969","expiresOn":"2023-07-01 22:00:35 +0200"},{"name":"Player494","uuid":"3e59bd01-5286-3f1f-b563-8ee24767718b","expiresOn":"2023-07-02 11:26:28 +0200"},{"name":"Player773","uuid":"b7a940e4-3cde-3275-9c73-2f71fe593c98","expiresOn":"2023-07-02 12:11:14 +0200"},{"name":"Player834","uuid":"446b6428-1dda-3773-8986-3a9e0deb6ae4","expiresOn":"2023-07-02 11:29:11 +0200"},{"name":"Player211","uuid":"da0854f1-946e-3e92-942a-afd6fa88ef77","expiresOn":"2023-07-01 22:05:04 +0200"},{"name":"Player308","uuid":"6db1171d-4fa6-31cb-b425-1896281a26e2","expiresOn":"2023-07-01 21:54:43 +0200"},{"name":"Player637","uuid":"3e97bd98-3fed-36a5-a2b2-bf93d544eeed","expiresOn":"2023-07-02 11:36:38 +0200"},{"name":"Player790","uuid":"2f0d3d8c-afbe-358f-b8f3-786d7b0f9259","expiresOn":"2023-07-02 11:30:41 +0200"},{"name":"Player548","uuid":"b89d12f3-1740-34c6-919e-a2949a3e81fe","expiresOn":"2023-07-02 12:43:12 +0200"},{"name":"Player671","uuid":"41196538-4c2b-371d-b141-0e51ad033fac","expiresOn":"2023-07-02 13:23:27 +0200"},{"name":"Player710","uuid":"28507737-102c-35fd-ac17-02009db33c0a","expiresOn":"2023-07-02 09:36:13 +0200"},{"name":"Player420","uuid":"f4755d8e-161a-3abe-8338-935e4189097a","expiresOn":"2023-07-02 13:03:11 +0200"},{"name":"Player392","uuid":"61902a9a-ee57-3dbe-9983-6580939e802a","expiresOn":"2023-07-02 12:15:28 +0200"},{"name":"Player33","uuid":"80fb4b31-a429-3891-a185-827168eac297","expiresOn":"2023-07-02 12:14:12 +0200"},{"name":"Player788","uuid":"596302c2-a8ac-3ac1-b055-653042871aa0","expiresOn":"2023-07-01 21:57:18 +0200"},{"name":"Player756","uuid":"393f993c-07f1-322f-8af5-e61da4aa15d9","expiresOn":"2023-07-02 11:25:49 +0200"},{"name":"Player508","uuid":"69715e5e-1775-3a6c-8b64-1d82bcbbe688","expiresOn":"2023-07-01 22:11:26 +0200"},{"name":"Player372","uuid":"b6529468-5313-3ea4-bc60-3e6ea6cabccd","expiresOn":"2023-07-01 22:10:43 +0200"}]
\ No newline at end of file
+[{"name":"Player820","uuid":"c89ac188-5207-3ca2-8ef0-ed700f7bdbef","expiresOn":"2023-07-02 23:35:15 +0200"},{"name":"Player494","uuid":"3e59bd01-5286-3f1f-b563-8ee24767718b","expiresOn":"2023-07-02 11:26:28 +0200"},{"name":"Player748","uuid":"05d2e66a-903f-3232-a8b0-3899ccc17800","expiresOn":"2023-07-02 16:59:06 +0200"},{"name":"Player563","uuid":"1e92cadb-e057-30f8-a789-5ce10551ba1e","expiresOn":"2023-07-02 17:00:03 +0200"},{"name":"Player834","uuid":"446b6428-1dda-3773-8986-3a9e0deb6ae4","expiresOn":"2023-07-02 11:29:11 +0200"},{"name":"Player270","uuid":"e122e0b0-374f-3b1b-a986-63f4fefee57a","expiresOn":"2023-07-02 19:21:11 +0200"},{"name":"Player312","uuid":"d566deca-6b21-32cb-af90-4edf09eeac2e","expiresOn":"2023-07-01 22:00:13 +0200"},{"name":"Player231","uuid":"0ef61a2a-d91b-37b4-a10d-af67b917d543","expiresOn":"2023-07-02 21:33:30 +0200"},{"name":"Player970","uuid":"f2c5b984-5c4a-355c-800e-d2ce35cf8f1c","expiresOn":"2023-07-02 22:56:39 +0200"},{"name":"Player965","uuid":"2797ecaf-07ab-3788-a2f8-6002cfc50e1d","expiresOn":"2023-07-02 14:07:47 +0200"},{"name":"Player910","uuid":"8610364c-1fe9-3801-96a1-4fb3dc123fc9","expiresOn":"2023-07-02 17:16:18 +0200"},{"name":"Player785","uuid":"122d3a74-28b3-3553-91d4-9092b640ce8e","expiresOn":"2023-07-02 21:08:50 +0200"},{"name":"Player637","uuid":"3e97bd98-3fed-36a5-a2b2-bf93d544eeed","expiresOn":"2023-07-02 11:36:38 +0200"},{"name":"Player196","uuid":"5763de83-e0ac-32bb-9102-41b754fdcdbe","expiresOn":"2023-07-01 21:48:18 +0200"},{"name":"Player277","uuid":"0d3f56a3-2b3f-38d6-a849-9d61b8f97a5c","expiresOn":"2023-07-02 23:03:56 +0200"},{"name":"Player620","uuid":"42468be1-4059-36e2-be82-cb1721e83191","expiresOn":"2023-07-02 17:19:52 +0200"},{"name":"Player372","uuid":"b6529468-5313-3ea4-bc60-3e6ea6cabccd","expiresOn":"2023-07-01 22:10:43 +0200"},{"name":"Player293","uuid":"738c48db-b050-3c6f-9053-5a4abfe0d0a6","expiresOn":"2023-07-02 20:09:30 +0200"},{"name":"Player93","uuid":"04ba6478-628e-32a2-915d-0b45ca8b366b","expiresOn":"2023-07-02 21:21:03 +0200"},{"name":"Player897","uuid":"29b47250-4236-34ae-8b46-7341b800b727","expiresOn":"2023-07-02 22:01:45 +0200"},{"name":"Player983","uuid":"3959aa12-3a9d-3fc4-84ad-d0d3c7c6550b","expiresOn":"2023-07-02 17:07:49 +0200"},{"name":"Player788","uuid":"596302c2-a8ac-3ac1-b055-653042871aa0","expiresOn":"2023-07-01 21:57:18 +0200"},{"name":"Player982","uuid":"7d461d5d-f429-32b0-a043-0156fa837406","expiresOn":"2023-07-02 12:12:08 +0200"},{"name":"Player208","uuid":"a240c974-e4f5-311c-82e7-f92bb39b2584","expiresOn":"2023-07-02 23:32:08 +0200"},{"name":"Player382","uuid":"1b5803ef-dab8-3673-85ae-9a9160028e1f","expiresOn":"2023-07-02 11:38:22 +0200"},{"name":"Player743","uuid":"9dc90764-797e-30c6-bac3-354c01806f0d","expiresOn":"2023-07-02 19:30:28 +0200"},{"name":"Player851","uuid":"ef840057-4261-321f-afc5-1f78d46c0c90","expiresOn":"2023-07-02 21:07:13 +0200"},{"name":"Player344","uuid":"337a131b-860d-346e-a281-649e07daeae5","expiresOn":"2023-07-02 17:36:01 +0200"},{"name":"Player178","uuid":"b436a3b6-3bfd-34ab-a0ca-b7a09efebbdc","expiresOn":"2023-07-02 19:02:27 +0200"},{"name":"Player265","uuid":"e2fd3051-a7ee-3ec9-ae1f-a1b6240b0501","expiresOn":"2023-07-02 09:25:25 +0200"},{"name":"Player745","uuid":"6b411cc5-cb23-3aef-b8b1-6cb73d96a2d5","expiresOn":"2023-07-02 21:39:54 +0200"},{"name":"Player122","uuid":"9f706b9c-a5d7-3950-a693-97c335e2631f","expiresOn":"2023-07-02 20:13:44 +0200"},{"name":"Player548","uuid":"b89d12f3-1740-34c6-919e-a2949a3e81fe","expiresOn":"2023-07-02 12:43:12 +0200"},{"name":"Player683","uuid":"e10ba356-0952-343e-8ccb-a3b6e69bf75e","expiresOn":"2023-07-02 23:26:36 +0200"},{"name":"Player257","uuid":"50e1ab02-92db-38bb-86bf-431939b828b5","expiresOn":"2023-07-02 18:17:49 +0200"},{"name":"Player368","uuid":"1c0e06f3-9808-3189-8407-cec21f7f6640","expiresOn":"2023-07-02 17:04:51 +0200"},{"name":"Player710","uuid":"28507737-102c-35fd-ac17-02009db33c0a","expiresOn":"2023-07-02 09:36:13 +0200"},{"name":"Player211","uuid":"da0854f1-946e-3e92-942a-afd6fa88ef77","expiresOn":"2023-07-01 22:05:04 +0200"},{"name":"Player504","uuid":"eb08048d-a3b9-3008-984c-fcc8bb7d8893","expiresOn":"2023-07-02 19:25:01 +0200"},{"name":"Player685","uuid":"4f2b9d55-5b3e-32ee-ad58-c8df44a23337","expiresOn":"2023-07-02 21:44:06 +0200"},{"name":"Player562","uuid":"37815b4b-a277-3e88-89c9-687629f7c447","expiresOn":"2023-07-02 19:01:17 +0200"},{"name":"Player297","uuid":"04aedfc4-153f-3d65-bb99-866996994a71","expiresOn":"2023-07-02 19:10:52 +0200"},{"name":"Player853","uuid":"93122710-9b50-34d0-8726-c7db8c850b07","expiresOn":"2023-07-02 23:23:55 +0200"},{"name":"Player33","uuid":"80fb4b31-a429-3891-a185-827168eac297","expiresOn":"2023-07-02 12:14:12 +0200"},{"name":"Player442","uuid":"39ce36e8-f4b8-3b30-a1f4-bfdbbc990254","expiresOn":"2023-07-02 21:32:27 +0200"},{"name":"Player744","uuid":"aeca01bf-232e-37a2-985b-599827b3226a","expiresOn":"2023-07-02 20:19:08 +0200"},{"name":"Player804","uuid":"924198c2-2c42-36d7-958c-f259b1738969","expiresOn":"2023-07-02 17:08:22 +0200"},{"name":"Player758","uuid":"92f8a523-1476-36c1-a74b-ef7c8b1d0bfd","expiresOn":"2023-07-02 21:35:50 +0200"},{"name":"Player535","uuid":"11827876-1185-3f24-850d-d0e7a71b9795","expiresOn":"2023-07-02 23:21:13 +0200"},{"name":"Player288","uuid":"3d9ab571-1ea5-360b-bc9d-77cd0b2f72a9","expiresOn":"2023-07-01 21:53:28 +0200"},{"name":"Player756","uuid":"393f993c-07f1-322f-8af5-e61da4aa15d9","expiresOn":"2023-07-02 11:25:49 +0200"},{"name":"Player253","uuid":"326096ef-db00-3744-84c9-0b71611a13c5","expiresOn":"2023-07-02 13:53:37 +0200"},{"name":"Player508","uuid":"69715e5e-1775-3a6c-8b64-1d82bcbbe688","expiresOn":"2023-07-02 16:53:31 +0200"},{"name":"Player273","uuid":"18b3a035-3e67-34ed-889e-932160306e4f","expiresOn":"2023-07-02 16:57:48 +0200"},{"name":"Player421","uuid":"17b67947-156d-3518-9500-f7e04df5e64d","expiresOn":"2023-07-02 21:07:58 +0200"},{"name":"Player392","uuid":"61902a9a-ee57-3dbe-9983-6580939e802a","expiresOn":"2023-07-02 12:15:28 +0200"},{"name":"Player371","uuid":"184a029e-ad3d-3abd-8a1a-c044d35081d5","expiresOn":"2023-07-01 21:56:38 +0200"},{"name":"Player671","uuid":"41196538-4c2b-371d-b141-0e51ad033fac","expiresOn":"2023-07-02 13:23:27 +0200"},{"name":"Player132","uuid":"5cc48495-676c-3721-aed2-7336730ff405","expiresOn":"2023-07-02 23:13:53 +0200"},{"name":"Player790","uuid":"2f0d3d8c-afbe-358f-b8f3-786d7b0f9259","expiresOn":"2023-07-02 11:30:41 +0200"},{"name":"Player930","uuid":"eac293da-7d7d-3c6a-94e5-fba80de0212f","expiresOn":"2023-07-02 20:52:17 +0200"},{"name":"Player353","uuid":"1e0b9d62-e071-33ba-b82e-1c564a46e2f0","expiresOn":"2023-07-02 23:00:42 +0200"},{"name":"Player787","uuid":"79f8754e-14dd-38b7-8860-09cab9cfb920","expiresOn":"2023-07-02 16:32:33 +0200"},{"name":"Player420","uuid":"f4755d8e-161a-3abe-8338-935e4189097a","expiresOn":"2023-07-02 13:03:11 +0200"},{"name":"Player7","uuid":"f9567117-2555-3219-a3d6-01de0ddd7332","expiresOn":"2023-07-02 19:26:43 +0200"},{"name":"Player780","uuid":"6dc954f4-181a-3c6c-99e2-951f7202b4c5","expiresOn":"2023-07-02 19:34:11 +0200"},{"name":"Player540","uuid":"c2506432-c159-30c0-93d8-64f2a6272277","expiresOn":"2023-07-02 19:38:49 +0200"},{"name":"Player100","uuid":"b63c1160-7834-3764-9276-2fb9c5acd6ce","expiresOn":"2023-07-02 22:16:49 +0200"},{"name":"Player773","uuid":"b7a940e4-3cde-3275-9c73-2f71fe593c98","expiresOn":"2023-07-02 12:11:14 +0200"},{"name":"Player667","uuid":"336cdb69-b175-3ad2-a556-740278ca80ab","expiresOn":"2023-07-02 19:25:58 +0200"},{"name":"Player67","uuid":"24a251d3-c89c-39ba-8cae-1f7d4c0691c9","expiresOn":"2023-07-01 21:51:52 +0200"},{"name":"Player308","uuid":"6db1171d-4fa6-31cb-b425-1896281a26e2","expiresOn":"2023-07-01 21:54:43 +0200"},{"name":"Player385","uuid":"1e3c9076-6029-36c6-8475-dd38d2030d5f","expiresOn":"2023-07-02 19:46:46 +0200"},{"name":"Player711","uuid":"8878ef4a-de27-32df-b636-12a0a607ca5d","expiresOn":"2023-07-02 21:24:26 +0200"},{"name":"Player712","uuid":"e4358028-bc3b-38cc-b645-4d08d3b4f456","expiresOn":"2023-07-02 23:12:00 +0200"},{"name":"Player905","uuid":"a498be5d-0142-3d23-a17c-8823a1cd27b0","expiresOn":"2023-07-02 21:41:12 +0200"},{"name":"Player814","uuid":"777409db-46bf-31bf-844f-6d600c083d6c","expiresOn":"2023-07-02 18:05:17 +0200"},{"name":"Player136","uuid":"f4642d2b-29f9-34b7-8b90-e6570e856434","expiresOn":"2023-07-02 10:45:25 +0200"}]
\ No newline at end of file