blob: 3742f29e47ccfefbc35f45be64e1cb8102e10fff (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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());
}
}
}
|