From ed8cf5196e520ecf559db3512cec4269f18dae94 Mon Sep 17 00:00:00 2001
From: feildmaster <admin@feildmaster.com>
Date: Mon, 2 Apr 2012 07:43:59 -0500
Subject: [PATCH] Add BlockRedstoneLamp for diff visibility.

---
 .../minecraft/server/BlockRedstoneLamp.java   | 47 +++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 src/main/java/net/minecraft/server/BlockRedstoneLamp.java

diff --git a/src/main/java/net/minecraft/server/BlockRedstoneLamp.java b/src/main/java/net/minecraft/server/BlockRedstoneLamp.java
new file mode 100644
index 0000000000..8ca090f3ea
--- /dev/null
+++ b/src/main/java/net/minecraft/server/BlockRedstoneLamp.java
@@ -0,0 +1,47 @@
+package net.minecraft.server;
+
+import java.util.Random;
+
+public class BlockRedstoneLamp extends Block {
+
+    private final boolean a;
+
+    public BlockRedstoneLamp(int i, boolean flag) {
+        super(i, 211, Material.BUILDABLE_GLASS);
+        this.a = flag;
+        if (flag) {
+            this.a(1.0F);
+            ++this.textureId;
+        }
+    }
+
+    public void onPlace(World world, int i, int j, int k) {
+        if (!world.isStatic) {
+            if (this.a && !world.isBlockIndirectlyPowered(i, j, k)) {
+                world.c(i, j, k, this.id, 4);
+            } else if (!this.a && world.isBlockIndirectlyPowered(i, j, k)) {
+                world.setTypeId(i, j, k, Block.REDSTONE_LAMP_ON.id);
+            }
+        }
+    }
+
+    public void doPhysics(World world, int i, int j, int k, int l) {
+        if (!world.isStatic) {
+            if (this.a && !world.isBlockIndirectlyPowered(i, j, k)) {
+                world.c(i, j, k, this.id, 4);
+            } else if (!this.a && world.isBlockIndirectlyPowered(i, j, k)) {
+                world.setTypeId(i, j, k, Block.REDSTONE_LAMP_ON.id);
+            }
+        }
+    }
+
+    public void a(World world, int i, int j, int k, Random random) {
+        if (!world.isStatic && this.a && !world.isBlockIndirectlyPowered(i, j, k)) {
+            world.setTypeId(i, j, k, Block.REDSTONE_LAMP_OFF.id);
+        }
+    }
+
+    public int getDropType(int i, Random random, int j) {
+        return Block.REDSTONE_LAMP_OFF.id;
+    }
+}