forked from Hirohiko360/LiquidBounceScripts
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAutoCockBlock.js
More file actions
122 lines (105 loc) · 5.52 KB
/
AutoCockBlock.js
File metadata and controls
122 lines (105 loc) · 5.52 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
var scriptName = "AutoCockBlock";
var scriptVersion = Math.random();
var scriptAuthor = "Etho";
var Renderer = new Renderer();
var RendererClient;
var Timer = Java.type("java.util.Timer");
var BlockPos = Java.type('net.minecraft.util.BlockPos');
var C02PacketUseEntity = Java.type('net.minecraft.network.play.client.C02PacketUseEntity');
var C02PacketUseEntityACTION = Java.type('net.minecraft.network.play.client.C02PacketUseEntity.Action');
var C08PacketPlayerBlockPlacement = Java.type('net.minecraft.network.play.client.C08PacketPlayerBlockPlacement');
var Vec3 = Java.type('net.minecraft.util.Vec3');
var KeyBinding = Java.type('net.minecraft.client.settings.KeyBinding');
function setTimeout(func, milliseconds) {
var timer = new Timer("setTimeout", true);
timer.schedule(function () {
func();
}, milliseconds);
return timer;
}
function Renderer() {
var BlockTimeout = value.createInteger("BlockTimeout", 300, 1, 1000);
var BlockRange = value.createInteger("BlockRange", 4, 1, 6);
var Attack = value.createBoolean("OnAttack", true)
var Interact = value.createBoolean("Interact", false)
var BypassBlock = value.createList("Mode", ["Basic", "VeltPVP"], "Basic");
this.getName = function () {
return "AutoBlock";
};
this.getDescription = function () {
return "Customizable Autoblock";
};
this.getCategory = function () {
return "fun";
};
this.onUpdate = function () {
if(Attack.get() == false) {
if(mc.gameSettings.keyBindAttack.pressed == true) {
if (BypassBlock.get() == "Basic") {
if(mc.thePlayer.getHeldItem().getItem() != null) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
setTimeout(function () {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), false);
}, BlockTimeout.get())
if(Interact.get() == true) {
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(entity, new Vec3(randomNumber(-50, 50) / 100,randomNumber(0, 200) / 100,randomNumber(-50, 50) / 100)));
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(entity, C02PacketUseEntityACTION.INTERACT));
}
mc.thePlayer.sendQueue.addToSendQueue(new C08PacketPlayerBlockPlacement(mc.thePlayer.inventory.getCurrentItem()));
}
}
}
}
}
this.onAttack = function (event) {
var entity = event.getTargetEntity();
if(Attack.get() == true) {
if(mc.thePlayer.getHeldItem().getItem() != null) {
if(mc.thePlayer.getDistanceToEntity(entity) <= BlockRange.get()) {
if (BypassBlock.get() == "Basic") {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
setTimeout(function () {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), false);
}, BlockTimeout.get())
if(Interact.get() == true) {
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(entity, new Vec3(randomNumber(-50, 50) / 100,randomNumber(0, 200) / 100,randomNumber(-50, 50) / 100)));
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(entity, C02PacketUseEntityACTION.INTERACT));
}
mc.thePlayer.sendQueue.addToSendQueue(new C08PacketPlayerBlockPlacement(mc.thePlayer.inventory.getCurrentItem()));
}
if (BypassBlock.get() == "VeltPVP") {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
setTimeout(function () {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), false);
}, BlockTimeout.get())
if(Interact.get() == true) {
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(entity, new Vec3(randomNumber(-50, 50) / 100,randomNumber(0, 200) / 100,randomNumber(-50, 50) / 100)));
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(entity, C02PacketUseEntityACTION.INTERACT));
}
setTimeout(function() {
mc.thePlayer.sendQueue.addToSendQueue(new C08PacketPlayerBlockPlacement(new BlockPos(-1,-1,-1), 255, mc.thePlayer.inventory.getCurrentItem(), 0, 0, 0));
}, 12);
}
}
}
}
}
this.onDisable = function() {}
this.onEnable = function() {}
this.addValues = function(values) {
values.add(BlockTimeout);
values.add(BlockRange);
values.add(Attack);
values.add(Interact);
values.add(BypassBlock);
}
}
function randomNumber(max, min) {
return Math.round(min + Math.random() * ((max - min)));
}
function onEnable() {
RendererClient = moduleManager.registerModule(Renderer);
};
function onDisable() {
moduleManager.unregisterModule(RendererClient);
};