aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/core/handler
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/miscutil/core/handler')
-rw-r--r--src/Java/miscutil/core/handler/XEventHandler.java61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/Java/miscutil/core/handler/XEventHandler.java b/src/Java/miscutil/core/handler/XEventHandler.java
new file mode 100644
index 0000000000..3742f29e47
--- /dev/null
+++ b/src/Java/miscutil/core/handler/XEventHandler.java
@@ -0,0 +1,61 @@
+package miscutil.core.handler;
+
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.metatileentity.BaseMetaTileEntity;
+import gregtech.api.metatileentity.BaseTileEntity;
+import miscutil.core.util.Utils;
+import miscutil.gregtech.metatileentity.implementations.base.GregtechMetaSafeBlockBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.event.world.BlockEvent.BreakEvent;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+
+public class XEventHandler {
+ @SubscribeEvent
+ public void onBreakBlock(BreakEvent event) {
+ TileEntity entity = event.world.getTileEntity(event.x, event.y, event.z);
+ EntityPlayer playerInternal = event.getPlayer();
+
+ try{
+ if (entity instanceof BaseTileEntity){
+ IMetaTileEntity X = ((BaseMetaTileEntity)entity).getMetaTileEntity();
+ if (X instanceof GregtechMetaSafeBlockBase){
+
+ String ownerUUID = ((GregtechMetaSafeBlockBase)X).ownerUUID;
+ String accessorUUID = playerInternal.getUniqueID().toString();
+ Utils.LOG_WARNING("Owner UUID: "+ownerUUID);
+ Utils.LOG_WARNING("Accessor UUID: "+accessorUUID);
+
+ if (((GregtechMetaSafeBlockBase)X).bUnbreakable){
+ if (accessorUUID.equals(ownerUUID)){
+ Utils.messagePlayer(playerInternal, "Since you own this block, it has been destroyed.");
+ event.setCanceled(false);
+ }
+ else {
+ Utils.messagePlayer(playerInternal, "Since you do not own this block, it has not been destroyed.");
+ event.setCanceled(true);
+ }
+ //
+ }
+ }
+ }
+ }
+ catch (NullPointerException e) {
+ System.out.print("Caught a NullPointerException involving Safe Blocks. Cause: "+e.getCause());
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+}