From 96c52f4f100b4399200f401918b4b2f0913e0a3b Mon Sep 17 00:00:00 2001 From: radmanplays <95340057+radmanplays@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:40:19 +0330 Subject: [PATCH 1/3] AdvancedVClip --- examplemods/vclip.js | 80 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 71 insertions(+), 9 deletions(-) diff --git a/examplemods/vclip.js b/examplemods/vclip.js index 8582db3..28fbbd4 100644 --- a/examplemods/vclip.js +++ b/examplemods/vclip.js @@ -1,17 +1,79 @@ -ModAPI.meta.title("Simple VClip Exploit"); -ModAPI.meta.description("Use .vclip to vertically phase through blocks."); +ModAPI.meta.title("Advanced VClip Exploit"); +ModAPI.meta.description("Use .vclip 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 "); +} + 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."); } -}); \ No newline at end of file +}); From a4b93759345fdc3fc51ce2044957f4297627fbd3 Mon Sep 17 00:00:00 2001 From: ZXMushroom63 <116805577+ZXMushroom63@users.noreply.github.com> Date: Thu, 26 Sep 2024 11:38:23 +0800 Subject: [PATCH 2/3] Rename vclip.js to advanced_vclip.js --- examplemods/{vclip.js => advanced_vclip.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examplemods/{vclip.js => advanced_vclip.js} (100%) diff --git a/examplemods/vclip.js b/examplemods/advanced_vclip.js similarity index 100% rename from examplemods/vclip.js rename to examplemods/advanced_vclip.js From a710a55ea255d0a3bb7a40de42df2b98425ae547 Mon Sep 17 00:00:00 2001 From: ZXMushroom63 <116805577+ZXMushroom63@users.noreply.github.com> Date: Thu, 26 Sep 2024 11:52:28 +0800 Subject: [PATCH 3/3] Fix credits on advanced vclip --- examplemods/advanced_vclip.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examplemods/advanced_vclip.js b/examplemods/advanced_vclip.js index 28fbbd4..b6471c9 100644 --- a/examplemods/advanced_vclip.js +++ b/examplemods/advanced_vclip.js @@ -1,6 +1,6 @@ ModAPI.meta.title("Advanced VClip Exploit"); ModAPI.meta.description("Use .vclip to vertically phase through blocks with custom packet handling."); -ModAPI.meta.credits("By ZXMushroom63"); +ModAPI.meta.credits("By radmanplays"); // Custom syntax error function function syntaxError() {