mirror of
https://github.com/eaglerforge/EaglerForgeInjector
synced 2025-07-23 14:11:16 -09:00
AdvancedVClip
This commit is contained in:
parent
53a0a063ce
commit
96c52f4f10
@ -1,17 +1,79 @@
|
||||
ModAPI.meta.title("Simple VClip Exploit");
|
||||
ModAPI.meta.description("Use .vclip <offset> to vertically phase through blocks.");
|
||||
ModAPI.meta.title("Advanced VClip Exploit");
|
||||
ModAPI.meta.description("Use .vclip <offset> to vertically phase through blocks with custom packet handling.");
|
||||
ModAPI.meta.credits("By ZXMushroom63");
|
||||
|
||||
// Custom syntax error function
|
||||
function syntaxError() {
|
||||
ModAPI.displayToChat("[AdvancedVClip] Syntax error: Usage is .vclip <offset>");
|
||||
}
|
||||
|
||||
ModAPI.require("player");
|
||||
ModAPI.addEventListener("sendchatmessage", (ev) => {
|
||||
var msg = ev.message.toLowerCase();
|
||||
if (msg.startsWith(".vclip")) {
|
||||
ev.preventDefault();
|
||||
var yOffset = 1;
|
||||
if (msg.split(" ")[1]) {
|
||||
yOffset = parseFloat(msg.split(" ")[1]) || 0;
|
||||
|
||||
var args = msg.split(" ");
|
||||
if (args.length != 2) {
|
||||
syntaxError();
|
||||
return;
|
||||
}
|
||||
ModAPI.player.setPosition(ModAPI.player.posX, ModAPI.player.posY
|
||||
+ yOffset, ModAPI.player.posZ);
|
||||
ModAPI.displayToChat("[SimpleVClip] VClipped " + yOffset + " blocks.");
|
||||
|
||||
var offset = parseFloat(args[1]);
|
||||
if (isNaN(offset)) {
|
||||
syntaxError();
|
||||
return;
|
||||
}
|
||||
|
||||
var packetsRequired = Math.ceil(Math.abs(offset / 10));
|
||||
if (packetsRequired > 20) {
|
||||
packetsRequired = 1; // Limit to avoid server kicking for too many packets
|
||||
}
|
||||
|
||||
var player = ModAPI.player;
|
||||
var ridingEntity = player.ridingEntity;
|
||||
|
||||
if (ridingEntity != null) {
|
||||
// Player is riding an entity
|
||||
for (var packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) {
|
||||
// Simulate entity movement
|
||||
ridingEntity.posY += offset / packetsRequired; // Move a fraction of the total offset
|
||||
player.sendQueue.addToSendQueue({
|
||||
"action": "RIDING_JUMP", // Simulate a riding jump action
|
||||
"entityId": ridingEntity.getEntityId(),
|
||||
});
|
||||
}
|
||||
|
||||
// Final move
|
||||
ridingEntity.posY += offset / packetsRequired;
|
||||
player.sendQueue.addToSendQueue({
|
||||
"action": "RIDING_JUMP",
|
||||
"entityId": ridingEntity.getEntityId(),
|
||||
});
|
||||
|
||||
} else {
|
||||
// Player is not riding any entity
|
||||
for (var packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) {
|
||||
player.getNetHandler().addToSendQueue({
|
||||
"x": player.posX,
|
||||
"y": player.posY,
|
||||
"z": player.posZ,
|
||||
"onGround": true
|
||||
});
|
||||
}
|
||||
|
||||
// Final move
|
||||
player.getNetHandler().addToSendQueue({
|
||||
"x": player.posX,
|
||||
"y": player.posY + offset,
|
||||
"z": player.posZ,
|
||||
"onGround": true
|
||||
});
|
||||
|
||||
// Set the player’s final position
|
||||
player.setPosition(player.posX, player.posY + offset, player.posZ);
|
||||
}
|
||||
|
||||
ModAPI.displayToChat("[AdvancedVClip] VClipped " + offset + " blocks.");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user