diff --git a/ee3_client/ee3/client/core/ClientProxy.java b/ee3_client/ee3/client/core/ClientProxy.java
index c974814f..0addd2c9 100644
--- a/ee3_client/ee3/client/core/ClientProxy.java
+++ b/ee3_client/ee3/client/core/ClientProxy.java
@@ -8,7 +8,9 @@ import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.KeyBindingRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
+import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.registry.LanguageRegistry;
+import cpw.mods.fml.common.registry.TickRegistry;
import ee3.client.core.handlers.DrawBlockHighlightHandler;
import ee3.client.core.handlers.KeyBindingHandler;
import ee3.client.core.handlers.SoundHandler;
@@ -18,6 +20,7 @@ import ee3.client.render.RenderItemCalcinator;
import ee3.client.render.TextureRedWaterFX;
import ee3.client.render.TextureRedWaterFlowFX;
import ee3.common.core.CommonProxy;
+import ee3.common.core.handlers.RenderTickHandler;
import ee3.common.lib.BlockIds;
import ee3.common.lib.Reference;
import ee3.common.lib.RenderIds;
@@ -37,27 +40,38 @@ public class ClientProxy extends CommonProxy {
@Override
public void registerKeyBindingHandler() {
+
KeyBindingRegistry.registerKeyBinding(new KeyBindingHandler());
}
-
+
+ @Override
+ public void registerRenderTickHandler() {
+
+ TickRegistry.registerTickHandler(new RenderTickHandler(), Side.CLIENT);
+ }
+
@Override
public void registerDrawBlockHighlightHandler() {
+
MinecraftForge.EVENT_BUS.register(new DrawBlockHighlightHandler());
}
@Override
public void setKeyBinding(String name, int value) {
+
KeyBindingHelper.addKeyBinding(name, value);
KeyBindingHelper.addIsRepeating(false);
}
@Override
public void registerSoundHandler() {
+
MinecraftForge.EVENT_BUS.register(new SoundHandler());
}
@Override
public void initCustomRarityTypes() {
+
EnumHelperClient.addRarity(JUNK, COLOR_JUNK, DISPLAY_NAME_JUNK);
EnumHelperClient.addRarity(NORMAL, COLOR_NORMAL, DISPLAY_NAME_NORMAL);
EnumHelperClient.addRarity(UNCOMMON, COLOR_UNCOMMON, DISPLAY_NAME_UNCOMMON);
@@ -69,31 +83,34 @@ public class ClientProxy extends CommonProxy {
@Override
public EnumRarity getCustomRarityType(String customRarity) {
+
for (EnumRarity rarity : EnumRarity.class.getEnumConstants()) {
if (rarity.name().equals(customRarity))
return rarity;
}
return EnumRarity.common;
}
-
+
@Override
public void initRenderingAndTextures() {
- RenderIds.calcinatorRenderId = RenderingRegistry.getNextAvailableRenderId();
-
- MinecraftForgeClient.preloadTexture(Reference.SPRITE_SHEET_LOCATION + Reference.BLOCK_SPRITE_SHEET);
+
+ RenderIds.calcinatorRenderId = RenderingRegistry.getNextAvailableRenderId();
+
+ MinecraftForgeClient.preloadTexture(Reference.SPRITE_SHEET_LOCATION + Reference.BLOCK_SPRITE_SHEET);
MinecraftForgeClient.preloadTexture(Reference.SPRITE_SHEET_LOCATION + Reference.ITEM_SPRITE_SHEET);
-
+
FMLClientHandler.instance().getClient().renderEngine.registerTextureFX(new TextureRedWaterFX());
FMLClientHandler.instance().getClient().renderEngine.registerTextureFX(new TextureRedWaterFlowFX());
-
+
MinecraftForgeClient.registerItemRenderer(BlockIds.CALCINATOR, new RenderItemCalcinator());
}
-
+
@Override
public void initTileEntities() {
- super.initTileEntities();
-
- ClientRegistry.bindTileEntitySpecialRenderer(TileCalcinator.class, new RenderCalcinator());
-
+
+ super.initTileEntities();
+
+ ClientRegistry.bindTileEntitySpecialRenderer(TileCalcinator.class, new RenderCalcinator());
}
+
}
diff --git a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java
index 0f84211f..7995f2b6 100644
--- a/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java
+++ b/ee3_client/ee3/client/core/handlers/DrawBlockHighlightHandler.java
@@ -1,17 +1,143 @@
package ee3.client.core.handlers;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+
+import ee3.common.item.ItemPhilosopherStone;
+import ee3.common.lib.Reference;
+import net.minecraft.src.EnumMovingObjectType;
import net.minecraft.src.RenderEngine;
+import net.minecraft.src.Tessellator;
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
+import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.event.ForgeSubscribe;
public class DrawBlockHighlightHandler {
-
@ForgeSubscribe
public void onDrawBlockHighlightEvent(DrawBlockHighlightEvent event) {
- RenderEngine renderEngine = event.context.renderEngine;
+
+ if (event.currentItem != null) {
+ if (event.currentItem.getItem() instanceof ItemPhilosopherStone) {
+ if (event.target.typeOfHit == EnumMovingObjectType.TILE) {
+ drawPhilosopherStoneOverlay(event);
+ }
+ }
+ }
+ }
+
+ public void drawPhilosopherStoneOverlay(DrawBlockHighlightEvent event) {
+
+ double x = event.target.blockX + 0.5F;
+ double y = event.target.blockY + 0.5F;
+ double z = event.target.blockZ + 0.5F;
+ double iPX = event.player.prevPosX + (event.player.posX - event.player.prevPosX) * event.partialTicks;
+ double iPY = event.player.prevPosY + (event.player.posY - event.player.prevPosY) * event.partialTicks;
+ double iPZ = event.player.prevPosZ + (event.player.posZ - event.player.prevPosZ) * event.partialTicks;
+ int texture = event.context.renderEngine.getTexture(Reference.SPRITE_SHEET_LOCATION + "noise.png");
+
+ int xScale = 1;
+ int yScale = 1;
+ int zScale = 1;
+ int chargeLevel = ((ItemPhilosopherStone)event.currentItem.getItem()).getCharge(event.currentItem);
- // TODO Magic happens here
+ if (chargeLevel < 1) {
+ chargeLevel = 1;
+ }
+
+ if ((event.target.sideHit == 0) || (event.target.sideHit == 1)) {
+ xScale = chargeLevel;
+ zScale = chargeLevel;
+ }
+ else if ((event.target.sideHit == 2) || (event.target.sideHit == 3)) {
+ xScale = chargeLevel;
+ yScale = chargeLevel;
+ }
+ else if ((event.target.sideHit == 4) || (event.target.sideHit == 5)) {
+ yScale = chargeLevel;
+ zScale = chargeLevel;
+ }
+
+ float xShift = 0.1F;
+ float yShift = 0.1F;
+ float zShift = 0.1F;
+
+ if (event.target.sideHit == 0) {
+ xShift = 0;
+ yShift = -yShift;
+ zShift = 0;
+ }
+ else if (event.target.sideHit == 1) {
+ xShift = 0;
+ zShift = 0;
+ }
+ else if (event.target.sideHit == 2) {
+ xShift = 0;
+ yShift = 0;
+ if (chargeLevel > 1) {
+ zShift = -zShift - 1;
+ }
+ else {
+ zShift = -zShift;
+ }
+ }
+ else if (event.target.sideHit == 3) {
+ xShift = 0;
+ yShift = 0;
+ }
+ else if (event.target.sideHit == 4) {
+ xShift = -xShift;
+ yShift = 0;
+ zShift = 0;
+ }
+ else if (event.target.sideHit == 5) {
+ yShift = 0;
+ zShift = 0;
+ }
+
+ GL11.glDepthMask(false);
+ GL11.glDisable(GL11.GL_CULL_FACE);
+
+ for (int i = 0; i < 6; i++) {
+ ForgeDirection forgeDir = ForgeDirection.getOrientation(i);
+ GL11.glPushMatrix();
+ GL11.glTranslated(-iPX + x + xShift, -iPY + y + yShift, -iPZ + z + zShift);
+ GL11.glScalef(1F * xScale, 1F * yScale, 1F * zScale);
+ GL11.glRotatef(90, forgeDir.offsetX, forgeDir.offsetY, forgeDir.offsetZ);
+ GL11.glTranslated(0, 0, 0.5f);
+ GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT);
+ renderSlidingQuad(texture, 0.75F);
+ GL11.glPopMatrix();
+ }
+
+ GL11.glEnable(GL11.GL_CULL_FACE);
+ GL11.glDepthMask(true);
+ }
+
+ public static void renderSlidingQuad(int texture, float transparency) {
+
+ float slide = (System.currentTimeMillis() % 3000) / 3000f;
+ double pulse = (double) 1 + slide;
+
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture);
+ Tessellator tessellator = Tessellator.instance;
+
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ GL11.glEnable(GL11.GL_BLEND);
+ GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ GL11.glColor4f(1, 1, 1, transparency);
+
+ tessellator.startDrawingQuads();
+ tessellator.setColorRGBA_F(1, 1, 1, transparency);
+
+ tessellator.addVertexWithUV(-0.5D, 0.5D, 0F, 0, pulse);
+ tessellator.addVertexWithUV(0.5D, 0.5D, 0F, 0, pulse);
+ tessellator.addVertexWithUV(0.5D, -0.5D, 0F, 1, pulse);
+ tessellator.addVertexWithUV(-0.5D, -0.5D, 0F, 1, pulse);
+
+ tessellator.draw();
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
}
}
diff --git a/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java b/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java
index 7552f1be..c3029340 100644
--- a/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java
+++ b/ee3_client/ee3/client/core/handlers/KeyBindingHandler.java
@@ -3,7 +3,6 @@ package ee3.client.core.handlers;
import java.util.EnumSet;
import java.util.logging.Level;
-import net.minecraft.src.EntityClientPlayerMP;
import net.minecraft.src.Item;
import net.minecraft.src.ItemStack;
import net.minecraft.src.KeyBinding;
@@ -49,7 +48,7 @@ public class KeyBindingHandler extends KeyBindingRegistry.KeyHandler {
// Only operate at the end of the tick
if (tickEnd) {
// If we are not in a GUI of any kind, continue execution
- if (FMLClientHandler.instance().getClient().currentScreen == null) {
+ if (FMLClientHandler.instance().getClient().inGameHasFocus) {
// TODO Clean this up properly
if (kb.keyDescription == Reference.KEYBINDING_EXTRA) {
ItemStack currentItem = FMLClientHandler.instance().getClient().thePlayer.getCurrentEquippedItem();
diff --git a/ee3_common/ee3/common/EquivalentExchange3.java b/ee3_common/ee3/common/EquivalentExchange3.java
index b9aa4319..516e6ab4 100644
--- a/ee3_common/ee3/common/EquivalentExchange3.java
+++ b/ee3_common/ee3/common/EquivalentExchange3.java
@@ -80,7 +80,7 @@ public class EquivalentExchange3 {
TickRegistry.registerTickHandler(new VersionCheckTickHandler(), Side.CLIENT);
// Initialize the Render Tick Handler (Client only)
- TickRegistry.registerTickHandler(new RenderTickHandler(), Side.CLIENT);
+ proxy.registerRenderTickHandler();
// Register the KeyBinding Handler (Client only)
proxy.registerKeyBindingHandler();
diff --git a/ee3_common/ee3/common/core/CommonProxy.java b/ee3_common/ee3/common/core/CommonProxy.java
index 232e4207..35fd2dc4 100644
--- a/ee3_common/ee3/common/core/CommonProxy.java
+++ b/ee3_common/ee3/common/core/CommonProxy.java
@@ -27,6 +27,8 @@ public class CommonProxy implements IGuiHandler {
public void registerKeyBindingHandler() {}
+ public void registerRenderTickHandler() {}
+
public void registerDrawBlockHighlightHandler() {}
public void setKeyBinding(String name, int value) {}
diff --git a/ee3_common/ee3/common/core/handlers/RenderTickHandler.java b/ee3_common/ee3/common/core/handlers/RenderTickHandler.java
index 06445703..293cbed4 100644
--- a/ee3_common/ee3/common/core/handlers/RenderTickHandler.java
+++ b/ee3_common/ee3/common/core/handlers/RenderTickHandler.java
@@ -93,7 +93,6 @@ public class RenderTickHandler implements ITickHandler {
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glEnable(GL11.GL_COLOR_MATERIAL);
GL11.glEnable(GL11.GL_LIGHTING);
- RenderItem renderItem = new RenderItem();
RenderUtils.renderItemIntoGUI(minecraft.fontRenderer, minecraft.renderEngine, stack, (int) (sr.getScaledWidth() - (16 * overlayScale)), (int) (sr.getScaledHeight() - (16 * overlayScale)), overlayOpacity / 2, overlayScale);
if ((currentBlock != null) && (currentBlock.getItem() instanceof ItemBlock)) {
RenderUtils.renderRotatingBlockIntoGUI(minecraft.fontRenderer, minecraft.renderEngine, currentBlock, (int) (sr.getScaledWidth() - (16 * overlayScale) / 2 - 8), (int) (sr.getScaledHeight() - (16 * overlayScale) / 2 - 8), -90, blockScale);
diff --git a/ee3_common/ee3/common/core/helper/TransmutationHelper.java b/ee3_common/ee3/common/core/helper/TransmutationHelper.java
index 4f5d022b..1de1667e 100644
--- a/ee3_common/ee3/common/core/helper/TransmutationHelper.java
+++ b/ee3_common/ee3/common/core/helper/TransmutationHelper.java
@@ -38,7 +38,6 @@ public class TransmutationHelper {
if (nextItem != null) {
if (Block.blocksList[nextItem.itemID] != null) {
world.setBlockAndMetadataWithNotify(x, y, z, nextItem.itemID, nextItem.getItemDamage());
- // TODO Send the sound event to everyone around the player, and not just play the sound on the current client
world.playSoundAtEntity(player, Sounds.TRANSMUTE, 0.5F, 1.0F);
return true;
}
diff --git a/ee3_common/ee3/common/item/IChargeable.java b/ee3_common/ee3/common/item/IChargeable.java
index 98cdf141..58e9176c 100644
--- a/ee3_common/ee3/common/item/IChargeable.java
+++ b/ee3_common/ee3/common/item/IChargeable.java
@@ -3,11 +3,13 @@ package ee3.common.item;
import net.minecraft.src.ItemStack;
public interface IChargeable {
+
+ public abstract short getCharge(ItemStack stack);
- public abstract void setCharge(ItemStack stone, short charge);
-
- public abstract void increaseCharge(ItemStack stone);
-
- public abstract void decreaseCharge(ItemStack stone);
+ public abstract void setCharge(ItemStack stack, short charge);
+
+ public abstract void increaseCharge(ItemStack stack);
+
+ public abstract void decreaseCharge(ItemStack stack);
}
diff --git a/ee3_common/ee3/common/item/IKeyBound.java b/ee3_common/ee3/common/item/IKeyBound.java
new file mode 100644
index 00000000..7d633f9c
--- /dev/null
+++ b/ee3_common/ee3/common/item/IKeyBound.java
@@ -0,0 +1,7 @@
+package ee3.common.item;
+
+public interface IKeyBound {
+
+ public abstract void doKeyBindingAction(String keyBinding, boolean isSneaking);
+
+}
diff --git a/ee3_common/ee3/common/item/ItemMiniumStone.java b/ee3_common/ee3/common/item/ItemMiniumStone.java
index 5d20b384..533f949d 100644
--- a/ee3_common/ee3/common/item/ItemMiniumStone.java
+++ b/ee3_common/ee3/common/item/ItemMiniumStone.java
@@ -1,6 +1,5 @@
package ee3.common.item;
-import net.minecraft.src.EntityClientPlayerMP;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.EnumRarity;
import net.minecraft.src.ItemStack;
@@ -15,6 +14,7 @@ import ee3.common.lib.Colours;
import ee3.common.lib.ConfigurationSettings;
import ee3.common.lib.CustomItemRarity;
import ee3.common.lib.GuiIds;
+import ee3.common.lib.Reference;
import ee3.common.lib.Strings;
import ee3.common.network.PacketKeyPressed;
import ee3.common.network.PacketTypeHandler;
@@ -28,7 +28,8 @@ import ee3.common.network.PacketTypeHandler;
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
*
*/
-public class ItemMiniumStone extends ItemEE implements ITransmutationStone {
+public class ItemMiniumStone extends ItemEE
+ implements ITransmutationStone, IKeyBound {
public ItemMiniumStone(int id) {
super(id);
@@ -85,5 +86,14 @@ public class ItemMiniumStone extends ItemEE implements ITransmutationStone {
*/
PacketDispatcher.sendPacketToServer(PacketTypeHandler.populatePacket(new PacketKeyPressed(keyPressed)));
}
+
+ @Override
+ public void doKeyBindingAction(String keyBinding, boolean isSneaking) {
+
+ if (keyBinding.equals(Reference.KEYBINDING_EXTRA)) {
+ System.out.println("Extra key");
+ }
+
+ }
}
diff --git a/ee3_common/ee3/common/item/ItemPhilosopherStone.java b/ee3_common/ee3/common/item/ItemPhilosopherStone.java
index 04ac9fbf..f6ec07d9 100644
--- a/ee3_common/ee3/common/item/ItemPhilosopherStone.java
+++ b/ee3_common/ee3/common/item/ItemPhilosopherStone.java
@@ -12,7 +12,6 @@ import ee3.common.lib.GuiIds;
import ee3.common.lib.Strings;
import ee3.common.network.PacketKeyPressed;
import ee3.common.network.PacketTypeHandler;
-import net.minecraft.src.EntityClientPlayerMP;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.EnumRarity;
import net.minecraft.src.ItemStack;
@@ -73,25 +72,30 @@ public class ItemPhilosopherStone extends ItemEE
*/
PacketDispatcher.sendPacketToServer(PacketTypeHandler.populatePacket(new PacketKeyPressed(keyPressed)));
}
+
+ @Override
+ public short getCharge(ItemStack stack) {
+ return NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY);
+ }
@Override
- public void setCharge(ItemStack stone, short charge) {
+ public void setCharge(ItemStack stack, short charge) {
if (charge <= maxChargeLevel) {
- NBTHelper.setShort(stone, "chargeLevel", charge);
+ NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, charge);
}
}
@Override
- public void increaseCharge(ItemStack stone) {
- if (NBTHelper.getShort(stone, "chargeLevel") < maxChargeLevel) {
- NBTHelper.setShort(stone, "chargeLevel", (short)(NBTHelper.getShort(stone, "chargeLevel") + 1));
+ public void increaseCharge(ItemStack stack) {
+ if (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) < maxChargeLevel) {
+ NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, (short)(NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) + 1));
}
}
@Override
- public void decreaseCharge(ItemStack stone) {
- if (NBTHelper.getShort(stone, "chargeLevel") > 0) {
- NBTHelper.setShort(stone, "chargeLevel", (short)(NBTHelper.getShort(stone, "chargeLevel") - 1));
+ public void decreaseCharge(ItemStack stack) {
+ if (NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) > 0) {
+ NBTHelper.setShort(stack, Strings.NBT_CHARGE_LEVEL_KEY, (short)(NBTHelper.getShort(stack, Strings.NBT_CHARGE_LEVEL_KEY) - 1));
}
}
diff --git a/ee3_common/ee3/common/lib/Strings.java b/ee3_common/ee3/common/lib/Strings.java
index 9eb60933..194ba426 100644
--- a/ee3_common/ee3/common/lib/Strings.java
+++ b/ee3_common/ee3/common/lib/Strings.java
@@ -14,6 +14,9 @@ public class Strings {
/* Gui related constants */
public static final String GUI_CALCINATOR_NAME = "gui.calcinator.name";
+
+ /* NBT related constants */
+ public static final String NBT_CHARGE_LEVEL_KEY = "chargeLevel";
/* Block name constants */
public static final String CALCINATOR_NAME = "calcinator";
diff --git a/ee3_common/ee3/common/network/PacketKeyPressed.java b/ee3_common/ee3/common/network/PacketKeyPressed.java
index f7978b4d..e500f1a3 100644
--- a/ee3_common/ee3/common/network/PacketKeyPressed.java
+++ b/ee3_common/ee3/common/network/PacketKeyPressed.java
@@ -7,6 +7,7 @@ import java.io.IOException;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.common.registry.LanguageRegistry;
import ee3.common.EquivalentExchange3;
+import ee3.common.item.IKeyBound;
import ee3.common.item.ITransmutationStone;
import ee3.common.lib.GuiIds;
import ee3.common.lib.ItemIds;
@@ -38,7 +39,6 @@ public class PacketKeyPressed extends PacketEE {
this.key = key;
}
- @Override
public void writeData(DataOutputStream data) throws IOException {
data.writeUTF(key);
}
@@ -53,9 +53,13 @@ public class PacketKeyPressed extends PacketEE {
public void execute(INetworkManager manager, Player player) {
EntityPlayer thePlayer = (EntityPlayer) player;
-
+ /*
if ((this.key.equals(Reference.KEYBINDING_EXTRA)) && (thePlayer.getCurrentEquippedItem().getItem() instanceof ITransmutationStone)) {
thePlayer.openGui(EquivalentExchange3.instance, GuiIds.PORTABLE_CRAFTING, thePlayer.worldObj, (int)thePlayer.posX, (int)thePlayer.posY, (int)thePlayer.posZ);
}
+ */
+ if ((thePlayer.getCurrentEquippedItem() != null) && (thePlayer.getCurrentEquippedItem().getItem() instanceof IKeyBound)) {
+ ((IKeyBound) thePlayer.getCurrentEquippedItem().getItem()).doKeyBindingAction(this.key, thePlayer.isSneaking());
+ }
}
}
diff --git a/ee3_common/ee3/common/network/PacketTileUpdate.java b/ee3_common/ee3/common/network/PacketTileUpdate.java
index 3e8a6838..9d6b367f 100644
--- a/ee3_common/ee3/common/network/PacketTileUpdate.java
+++ b/ee3_common/ee3/common/network/PacketTileUpdate.java
@@ -52,7 +52,6 @@ public class PacketTileUpdate extends PacketEE {
this.player = player;
}
- @Override
public void writeData(DataOutputStream data) throws IOException {
data.writeInt(x);
data.writeInt(y);
diff --git a/resources/ee3/art/sprites/noise.png b/resources/ee3/art/sprites/noise.png
new file mode 100644
index 00000000..03f06c76
Binary files /dev/null and b/resources/ee3/art/sprites/noise.png differ
diff --git a/resources/ee3/art/sprites/xcf/noise.xcf b/resources/ee3/art/sprites/xcf/noise.xcf
new file mode 100644
index 00000000..4d965fb7
Binary files /dev/null and b/resources/ee3/art/sprites/xcf/noise.xcf differ
diff --git a/resources/ee3/lang/fr_FR.xml b/resources/ee3/lang/fr_FR.xml
index 4f36f4c2..9aebbe7c 100644
--- a/resources/ee3/lang/fr_FR.xml
+++ b/resources/ee3/lang/fr_FR.xml
@@ -14,7 +14,7 @@
Calcinateur
Lancement de la vérification de votre version par rapport à cette de reference :
Le lancement de la vérification a échoué
- Vous utilisez la version la plus à jour pour votre version de Minecraft
+ Vous utilisez la version (@REMOTE_MOD_VERSION@) la plus à jour pour votre version de Minecraft (@MINECRAFT_VERSION)
Vous utilisez une verison obsolète, pensez à effecuter une mise a jour ici - @MOD_UPDATE_LOCATION@
Erreur de connexion vers la version de référence (vérifiez votre connexion internet ?)
Verification de version désactiée
diff --git a/resources/ee3/lang/nl_NL.xml b/resources/ee3/lang/nl_NL.xml
index e851949a..c9212884 100644
--- a/resources/ee3/lang/nl_NL.xml
+++ b/resources/ee3/lang/nl_NL.xml
@@ -23,8 +23,8 @@
Equivalent Exchange 3
Start versiecontrole tegen extern versiebestand, te vinden op
De versiecontrole is niet geslaagd (versiecontrole niet correct gestart)
- Je gebruikt momenteel de meest recente versie voor jouw Minecraft versie
- Je gebruikt momenteel een verouderde versie; overweeg om up te daten - @MOD_UPDATE_LOCATION@
- Fout bij het verbinden met het extern versiecontrole bestand (controleer je internetverbinding)
+ Je gebruikt momenteel de meest recente versie (@REMOTE_MOD_VERSION@) van Equivalent Exchange 3 voor @MINECRAFT_VERSION@
+ Een nieuwe @MOD_NAME@ versie bestaat (@REMOTE_MOD_VERSION@) voor @MINECRAFT_VERSION@. Je vindt deze hier: @MOD_UPDATE_LOCATION@
+ Er deed zich een fout voor tijdens de versiecontrole
Externe versiecontrole uitgeschakeld, wordt overgeslagen
diff --git a/version.xml b/version.xml
index ad091f0c..106688dd 100644
--- a/version.xml
+++ b/version.xml
@@ -4,5 +4,5 @@
Version lookup for Equivalent Exchange 3. Format is "Current Version Number|URL to update page"
pre1a|http://goo.gl/Ria2V
pre1b|http://goo.gl/Ria2V
- pre2|http://goo.gl/Ria2V
+ pre1d|http://goo.gl/Ria2V
\ No newline at end of file