-
Notifications
You must be signed in to change notification settings - Fork 2
/
RotationTool.java
48 lines (41 loc) · 1.62 KB
/
RotationTool.java
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
package cyano.poweradvantage.items;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class RotationTool extends net.minecraft.item.Item{
public RotationTool(){
super();
super.setMaxStackSize(1);
}
@Override
public EnumActionResult onItemUse(final ItemStack item, final EntityPlayer player, final World w,
final BlockPos coord, final EnumHand hand, final EnumFacing facing,
final float partialX, final float partialY, final float partialZ) {
IBlockState bs = w.getBlockState(coord);
/* // comment this line to turn the wrench into a hacker tool
try { // hacker info
FMLLog.info("%s",new StringBuilder()
.append("Hacker output:\n")
.append("\nBlockstate = ").append(block)
.append("\n\nBlock class dump:\n").append(superDump(block.getBlock()))
.append("\n\nTileEntity class dump:\n")
.append(w.getTileEntity(coord) == null ? "null" : superDump(w.getTileEntity(coord)))
.toString());
} catch (IllegalAccessException e) {
FMLLog.log(Level.WARN,e,"Hacker fail!");
}
//*/
if(bs.getBlock().rotateBlock(w,coord, facing)) return EnumActionResult.SUCCESS;
if(bs.withRotation(Rotation.COUNTERCLOCKWISE_90) != bs) {
w.setBlockState(coord, bs.withRotation(Rotation.COUNTERCLOCKWISE_90));
return EnumActionResult.SUCCESS;
}
return EnumActionResult.PASS;
}
}