summaryrefslogtreecommitdiff
path: root/java/darkknight/jewelrycraft/events
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-01-29 18:28:37 +0000
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-01-29 18:28:37 +0000
commit73ca377dc01f859dabd7b07738cb7aeb762272b1 (patch)
tree9c0acccbfbf78e813fb838ab566c96a40c5f36bb /java/darkknight/jewelrycraft/events
parent06f62473f0622efe6decc32b70516a7c5d3d3572 (diff)
Made lots of changes
Diffstat (limited to 'java/darkknight/jewelrycraft/events')
-rw-r--r--java/darkknight/jewelrycraft/events/BucketHandler.java10
-rw-r--r--java/darkknight/jewelrycraft/events/EntityEventHandler.java158
-rw-r--r--java/darkknight/jewelrycraft/events/KeyBindings.java32
-rw-r--r--java/darkknight/jewelrycraft/events/ScreenHandler.java57
4 files changed, 243 insertions, 14 deletions
diff --git a/java/darkknight/jewelrycraft/events/BucketHandler.java b/java/darkknight/jewelrycraft/events/BucketHandler.java
index ec0b280..6eef59b 100644
--- a/java/darkknight/jewelrycraft/events/BucketHandler.java
+++ b/java/darkknight/jewelrycraft/events/BucketHandler.java
@@ -36,12 +36,9 @@ public class BucketHandler
@SubscribeEvent
public void onBucketFill(FillBucketEvent event)
- {
-
- ItemStack result = fillCustomBucket(event.world, event.target);
-
- if (result == null) return;
-
+ {
+ ItemStack result = fillCustomBucket(event.world, event.target);
+ if (result == null) return;
event.result = result;
event.setResult(Result.ALLOW);
}
@@ -67,7 +64,6 @@ public class BucketHandler
{
itemID = Integer.parseInt(splitData[0]);
itemDamage = Integer.parseInt(splitData[1]);
-
JewelryNBT.addMetal(item, new ItemStack(Item.getItemById(itemID), 1, itemDamage));
}
catch (Exception e)
diff --git a/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/java/darkknight/jewelrycraft/events/EntityEventHandler.java
index ed7c3e7..c791d74 100644
--- a/java/darkknight/jewelrycraft/events/EntityEventHandler.java
+++ b/java/darkknight/jewelrycraft/events/EntityEventHandler.java
@@ -6,24 +6,31 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
-import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.client.event.EntityViewRenderEvent;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import net.minecraftforge.event.world.WorldEvent;
+
+import org.lwjgl.opengl.GL11;
+
import cpw.mods.fml.common.FMLCommonHandler;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.container.JewelryInventory;
import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.lib.Reference;
import darkknight.jewelrycraft.network.PacketClearColorCache;
import darkknight.jewelrycraft.util.BlockUtils;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.PlayerUtils;
/**
@@ -32,11 +39,8 @@ import darkknight.jewelrycraft.util.PlayerUtils;
public class EntityEventHandler
{
- public static final String OPENBLOCKS_PERSIST_TAG = "Jewelrycraft";
- public static final String GIVEN_GUIDE_TAG = "givenGuive";
@SubscribeEvent
- @SideOnly(Side.SERVER)
public void onEntityJoinWorld(EntityJoinWorldEvent event)
{
if (event.entity instanceof EntityPlayerMP) JewelrycraftMod.netWrapper.sendTo(new PacketClearColorCache(), (EntityPlayerMP) event.entity);
@@ -48,7 +52,7 @@ public class EntityEventHandler
EntityPlayer player = (EntityPlayer) entity;
NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
- boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean(GIVEN_GUIDE_TAG);
+ boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide");
if (shouldGiveManual)
{
ItemStack manual = new ItemStack(ItemList.guide);
@@ -56,8 +60,107 @@ public class EntityEventHandler
{
BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
}
- persistTag.setBoolean(GIVEN_GUIDE_TAG, true);
+ persistTag.setBoolean("givenGuide", true);
}
+
+ boolean render = persistTag.getBoolean("fancyRender");
+ JewelrycraftMod.fancyRender = render;
+ // System.out.println("FancyRender: " + JewelrycraftMod.fancyRender
+ // + " Render:" + render);
+ }
+ }
+
+ @SubscribeEvent
+ public void onEntityUpdate(LivingUpdateEvent event)
+ {
+ final Entity entity = event.entity;
+ if (!entity.worldObj.isRemote && entity instanceof EntityPlayer)
+ {
+ EntityPlayer player = (EntityPlayer) entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ for (String l : JewelrycraftUtil.curses.keySet())
+ if (!persistTag.hasKey(l) || player.getHealth() >= 19F) persistTag.setInteger(l, -1);
+ if (!player.isDead && player.getHealth() > 0F && player.getHealth() < 19F) persistTag.setInteger(Reference.MODNAME + ":" + "Blind", 0);
+ // boolean render = persistTag.getBoolean("fancyRender");
+ // System.out.println("FancyRender: " + JewelrycraftMod.fancyRender
+ // + " Render:" + render);
+ // circle(player.worldObj, player.posX, player.posY, player.posZ,
+ // 4);
+ }
+ if (entity instanceof EntityPlayer)
+ {
+ EntityPlayer player = (EntityPlayer) entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ persistTag.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ }
+ }
+
+ // public static void circle(World world, double x, double y, double z, int
+ // radius)
+ // {
+ // for (int i = 0; i < radius; i++)
+ // for (int j = 0; j < radius; j++)
+ // for (int k = 0; k < radius; k++)
+ // {
+ // double distance = (radius - i) * (radius - i) + (radius - j) * (radius -
+ // j) + (radius - k) * (radius - k);
+ //
+ // if (distance - 1 == (radius * radius) || distance - 2 == (radius *
+ // radius))
+ // {
+ // Minecraft.getMinecraft().effectRenderer.addEffect(new
+ // EntityShadowsFX(world, x + i - radius + 1F, y + j - radius / 2 - 1.5f, z
+ // + k - radius + 1F, 2F, 0.05F));
+ // Minecraft.getMinecraft().effectRenderer.addEffect(new
+ // EntityShadowsFX(world, x - i + radius - 1F, y + j - radius / 2 - 1.5f, z
+ // + k - radius + 1F, 2F, 0.05F));
+ //
+ // Minecraft.getMinecraft().effectRenderer.addEffect(new
+ // EntityShadowsFX(world, x + i - radius + 1F, y + j - radius / 2 - 1.5f, z
+ // - k + radius - 1F, 2F, 0.05F));
+ // Minecraft.getMinecraft().effectRenderer.addEffect(new
+ // EntityShadowsFX(world, x - i + radius - 1F, y + j - radius / 2 - 1.5f, z
+ // - k + radius - 1F, 2F, 0.05F));
+ // }
+ // }
+ //
+ // for (int i = 0; i < radius; i++)
+ // for (int j = radius - 1; j >= 0; j--)
+ // for (int k = 0; k < radius; k++)
+ // {
+ // double distance = (radius - i) * (radius - i) + (radius - j) * (radius -
+ // j) + (radius - k) * (radius - k);
+ //
+ // if (distance - 1 == (radius * radius) || distance - 2 == (radius *
+ // radius))
+ // {
+ // Minecraft.getMinecraft().effectRenderer.addEffect(new
+ // EntityShadowsFX(world, x + i - radius + 1F, y - j + radius / 2 + 0.5f, z
+ // + k - radius + 1F, 2F, 0.05F));
+ // Minecraft.getMinecraft().effectRenderer.addEffect(new
+ // EntityShadowsFX(world, x - i + radius - 1F, y - j + radius / 2 + 0.5f, z
+ // + k - radius + 1F, 2F, 0.05F));
+ //
+ // Minecraft.getMinecraft().effectRenderer.addEffect(new
+ // EntityShadowsFX(world, x + i - radius + 1F, y - j + radius / 2 + 0.5f, z
+ // - k + radius - 1F, 2F, 0.05F));
+ // Minecraft.getMinecraft().effectRenderer.addEffect(new
+ // EntityShadowsFX(world, x - i + radius - 1F, y - j + radius / 2 + 0.5f, z
+ // - k + radius - 1F, 2F, 0.05F));
+ // }
+ // }
+ // }
+
+ @SubscribeEvent
+ public void onEntityDead(LivingDeathEvent event)
+ {
+ final Entity entity = event.entity;
+ if (!entity.worldObj.isRemote && entity instanceof EntityPlayer)
+ {
+ EntityPlayer player = (EntityPlayer) entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ for (String l : JewelrycraftUtil.curses.keySet())
+ if (persistTag.getInteger(l) == 0) persistTag.setInteger(l, -1);
}
}
@@ -115,4 +218,45 @@ public class EntityEventHandler
}
}
}
+
+ @SubscribeEvent
+ @SideOnly(Side.CLIENT)
+ public void fogColors(EntityViewRenderEvent.FogColors event)
+ {
+ if (event.entity instanceof EntityPlayer)
+ {
+ EntityPlayer player = (EntityPlayer) event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ if (persistTag.getBoolean("nearStartedRitual"))
+ {
+ event.red = 0f;
+ event.green = 0f;
+ event.blue = 0f;
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
+
+ @SubscribeEvent
+ @SideOnly(Side.CLIENT)
+ public void fogDensity(EntityViewRenderEvent.FogDensity event)
+ {
+ }
+
+ @SubscribeEvent
+ @SideOnly(Side.CLIENT)
+ public void renderFog(EntityViewRenderEvent.RenderFogEvent event)
+ {
+ if (event.entity instanceof EntityPlayer)
+ {
+ EntityPlayer player = (EntityPlayer) event.entity;
+ NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ if (persistTag.getBoolean("nearStartedRitual"))
+ {
+ GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP);
+ GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F);
+ }
+ }
+ if (event.isCancelable()) event.setCanceled(true);
+ }
} \ No newline at end of file
diff --git a/java/darkknight/jewelrycraft/events/KeyBindings.java b/java/darkknight/jewelrycraft/events/KeyBindings.java
new file mode 100644
index 0000000..462be0c
--- /dev/null
+++ b/java/darkknight/jewelrycraft/events/KeyBindings.java
@@ -0,0 +1,32 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.settings.KeyBinding;
+
+import org.lwjgl.input.Keyboard;
+
+import cpw.mods.fml.client.registry.ClientRegistry;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.InputEvent;
+import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.network.PacketKeyPressEvent;
+
+public class KeyBindings
+{
+ public static KeyBinding render = new KeyBinding("Pretty Render", Keyboard.KEY_Z, "Jewelrycraft");
+ public static KeyBinding inventory = new KeyBinding("Jewelry Inventory", Keyboard.KEY_J, "Jewelrycraft");
+
+ public KeyBindings()
+ {
+ ClientRegistry.registerKeyBinding(render);
+ ClientRegistry.registerKeyBinding(inventory);
+ }
+
+ @SubscribeEvent
+ public void onKeyInput(InputEvent.KeyInputEvent event)
+ {
+ if (render.isPressed()) JewelrycraftMod.fancyRender = !JewelrycraftMod.fancyRender;
+ if (inventory.isPressed()) JewelrycraftMod.netWrapper.sendToServer(new PacketKeyPressEvent(0));
+ }
+} \ No newline at end of file
diff --git a/java/darkknight/jewelrycraft/events/ScreenHandler.java b/java/darkknight/jewelrycraft/events/ScreenHandler.java
new file mode 100644
index 0000000..300968a
--- /dev/null
+++ b/java/darkknight/jewelrycraft/events/ScreenHandler.java
@@ -0,0 +1,57 @@
+package darkknight.jewelrycraft.events;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.Gui;
+import net.minecraft.client.gui.GuiChat;
+import net.minecraft.client.settings.KeyBinding;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderGameOverlayEvent;
+import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
+
+import org.lwjgl.input.Keyboard;
+
+import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.client.registry.ClientRegistry;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.PlayerUtils;
+
+public class ScreenHandler extends Gui
+{
+ private Minecraft mc;
+
+ public static NBTTagCompound tagCache;
+ public static int cooldown;
+
+ public ScreenHandler(Minecraft mc)
+ {
+ super();
+ this.mc = mc;
+ }
+
+ @SubscribeEvent
+ public void onEntityJoinWorld(RenderGameOverlayEvent event)
+ {
+ if (cooldown == 0)
+ {
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ cooldown = 500;
+ }
+ else cooldown--;
+
+ if (event.isCancelable() || event.type != ElementType.EXPERIENCE || tagCache == null) return;
+ mc.renderEngine.bindTexture(new ResourceLocation("jewelrycraft", "textures/gui/curses1.png"));
+ for (String l : JewelrycraftUtil.curses.keySet())
+ if (tagCache.getInteger(l) > -1){
+ int tag = JewelrycraftUtil.curses.get(l) + 1;
+ int size = 32;
+ this.drawTexturedModalRect(2 + size * tag, 2, tag % size * size, tag / size * size, size, size);
+ }
+ }
+} \ No newline at end of file