CCBlueX Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    this is a blockanimations scripts

    Scripts
    2
    2
    473
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • So Lazy
      So Lazy last edited by

      Animations.js

      I added a blockanimation and fixed(maybe) the sigma blockanimation

      enjoy it 🙂

      1 Reply Last reply Reply Quote 0
      • cheesethesylveon
        cheesethesylveon last edited by cheesethesylveon

        i made the scripts more readable:

        var script = registerScript({
            name: "Animations",
            version: "1.1",
            authors: ["CzechHek-Fix"]
        });
        var ItemRenderer = Java.type("net.minecraft.client.renderer.ItemRenderer");
        var Float = Java.type("java.lang.Float");
        var prevEquippedProgressField = getField("field_78451_d");
        var equippedProgressField = getField("field_78454_c");
        var itemToRenderField = getField("field_78453_b");
        var rotateArroundXAndYMethod = getMethod("func_178101_a");
        var setLightMapFromPlayerMethod = getMethod("func_178109_a");
        var rotateWithPlayerRotationsMethod = getMethod("func_178110_a");
        var renderItemMapMethod = getMethod("func_178097_a");
        var transformFirstPersonItemMethod = getMethod("func_178096_b");
        var performDrinkingMethod = getMethod("func_178104_a");
        var doBlockTransformationsMethod = getMethod("func_178103_d");
        var doBowTransformationsMethod = getMethod("func_178098_a");
        var doItemUsedTransformationsMethod = getMethod("func_178105_d");
        var renderItemMethod = getMethod("func_178099_a");
        var renderPlayerArmMethod = getMethod("func_178095_a");
        var ItemCameraTransforms = Java.type("net.minecraft.client.renderer.block.model.ItemCameraTransforms");
        var ItemMap = Java.type("net.minecraft.item.ItemMap");
        var ItemSword = Java.type("net.minecraft.item.ItemSword");
        var EnumAction = Java.type("net.minecraft.item.EnumAction");
        var MathHelper = Java.type("net.minecraft.util.MathHelper");
        var LiquidBounce = Java.type("net.ccbluex.liquidbounce.LiquidBounce");
        var KillAura = Java.type("net.ccbluex.liquidbounce.features.module.modules.combat.KillAura");
        var SwingAnimation = Java.type("net.ccbluex.liquidbounce.features.module.modules.render.SwingAnimation");
        var MSTimer = Java.type("net.ccbluex.liquidbounce.utils.timer.MSTimer");
        var GL11 = Java.type("org.lwjgl.opengl.GL11");
        var GlStateManager = Java.type("net.minecraft.client.renderer.GlStateManager");
        var RenderHelper = Java.type("net.minecraft.client.renderer.RenderHelper");
        
        function getField(name) {
            var fields = ItemRenderer.class.getDeclaredFields();
            for (var i in fields)
                if (fields[i].getName() == name) {
                    fields[i].setAccessible(true);
                    return fields[i];
                }
        }
        
        function getMethod(name) {
            var methods = ItemRenderer.class.getDeclaredMethods();
            for (var i in methods)
                if (methods[i].getName() == name) {
                    methods[i].setAccessible(true);
                    return methods[i];
                }
        }
        var progress;
        var timer;
        script.registerModule({
            name: "Animations",
            category: "Render",
            description: "Change blocking animation.",
            settings: {
                mode: Setting.list({
                    name: "Mode",
                    default: "Custom",
                    values: ["PushDown", "Remix", "Sigma", "Custom2", "Custom"]
                }),
                posX: Setting.float({
                    name: "PosX",
                    default: 0,
                    min: -2,
                    max: 2
                }),
                posY: Setting.float({
                    name: "PosY",
                    default: 0.5,
                    min: -2,
                    max: 2
                }),
                posZ: Setting.float({
                    name: "PosZ",
                    default: 0.3,
                    min: -2,
                    max: 2
                }),
                rotX: Setting.float({
                    name: "RotX",
                    default: 30,
                    min: -180,
                    max: 180
                }),
                rotY: Setting.float({
                    name: "RotY",
                    default: -80,
                    min: -180,
                    max: 180
                }),
                rotZ: Setting.float({
                    name: "RotZ",
                    default: 60,
                    min: -180,
                    max: 180
                }),
                deviation: Setting.float({
                    name: "Deviation",
                    default: 75,
                    min: -500,
                    max: 500
                }),
                deviateXPos: Setting.boolean({
                    name: "DeviateXPos",
                    default: false
                }),
                deviateYPos: Setting.boolean({
                    name: "DeviateYPos",
                    default: false
                }),
                deviateZPos: Setting.boolean({
                    name: "DeviateZPos",
                    default: false
                }),
                deviateXRot: Setting.boolean({
                    name: "DeviateXRot",
                    default: false
                }),
                deviateYRot: Setting.boolean({
                    name: "DeviateYRot",
                    default: true
                }),
                deviateZRot: Setting.boolean({
                    name: "DeviateZRot",
                    default: false
                }),
                swingDuration: Setting.float({
                    name: "SwingDuration",
                    default: 500,
                    min: 0,
                    max: 2000
                }),
                custom2x: Setting.float({
                    name: "custom2x",
                    default: 1,
                    min: -1,
                    max: 1
                }),
                custom2y: Setting.float({
                    name: "custom2y",
                    default: 1,
                    min: -1,
                    max: 1
                }),
                custom2z: Setting.float({
                    name: "custom2z",
                    default: 1,
                    min: -1,
                    max: 1
                }),
            }
        }, function(module) {
            module.on("enable", function() {
                timer = new MSTimer();
                mc.entityRenderer.itemRenderer = new(Java.extend(ItemRenderer))(mc) {
                    func_78440_a: function(partialTicks) {
                        var f = new Float(1.0 - (prevEquippedProgressField.get(mc.entityRenderer.itemRenderer) + (equippedProgressField.get(mc.entityRenderer.itemRenderer) - prevEquippedProgressField.get(mc.entityRenderer.itemRenderer)) * partialTicks));
                        var abstractclientplayer = mc.thePlayer;
                        var f1 = abstractclientplayer.getSwingProgress(partialTicks);
                        partialTicks = new Float(partialTicks);
                        var f2 = new Float(abstractclientplayer.prevRotationPitch + (abstractclientplayer.rotationPitch - abstractclientplayer.prevRotationPitch) * partialTicks);
                        var f3 = new Float(abstractclientplayer.prevRotationYaw + (abstractclientplayer.rotationYaw - abstractclientplayer.prevRotationYaw) * partialTicks);
                        rotateArroundXAndYMethod.invoke(mc.entityRenderer.itemRenderer, f2, f3);
                        setLightMapFromPlayerMethod.invoke(mc.entityRenderer.itemRenderer, abstractclientplayer);
                        rotateWithPlayerRotationsMethod.invoke(mc.entityRenderer.itemRenderer, abstractclientplayer, partialTicks);
                        GlStateManager.enableRescaleNormal();
                        GlStateManager.pushMatrix();
                        if (itemToRenderField.get(mc.entityRenderer.itemRenderer) != null) {
                            var killAura = LiquidBounce.moduleManager.getModule(KillAura.class);
                            if (itemToRenderField.get(mc.entityRenderer.itemRenderer).getItem() instanceof ItemMap) {
                                renderItemMapMethod.invoke(mc.entityRenderer.itemRenderer, abstractclientplayer, f2, f, f1);
                            } else if (abstractclientplayer.getItemInUseCount() > 0 || (itemToRenderField.get(mc.entityRenderer.itemRenderer).getItem() instanceof ItemSword && killAura.getBlockingStatus())) {
                                var enumaction = killAura.getBlockingStatus() ? EnumAction.BLOCK : itemToRenderField.get(mc.entityRenderer.itemRenderer).getItemUseAction();
                                switch (enumaction) {
                                    case EnumAction.NONE:
                                        transformFirstPersonItemMethod.invoke(mc.entityRenderer.itemRenderer, f, new Float(0));
                                        break;
                                    case EnumAction.EAT:
                                    case EnumAction.DRINK:
                                        performDrinkingMethod.invoke(mc.entityRenderer.itemRenderer, abstractclientplayer, partialTicks);
                                        transformFirstPersonItemMethod.invoke(mc.entityRenderer.itemRenderer, f, f1);
                                        break;
                                    case EnumAction.BLOCK:
                                        switch (module.settings.mode.get()) {
                                            case "PushDown":
                                                GlStateManager.translate(0.56, -0.52, -0.5);
                                                GlStateManager.translate(0.0, f * -0.2, 0.0);
                                                GlStateManager.rotate(45.0, 0.0, 1.0, 0.0);
                                                var var3 = MathHelper.sin(0);
                                                var var4 = MathHelper.sin(0);
                                                GlStateManager.rotate(var3 * -20.0, 0.0, 1.0, 0.0);
                                                GlStateManager.rotate(var4 * -20.0, 0.0, 0.0, 1.0);
                                                GlStateManager.rotate(var4 * -80.0, 1.0, 0.0, 0.0);
                                                GlStateManager.scale(0.35, 0.35, 0.35);
                                                var var14 = MathHelper.sin(f1 * f1 * 3.1415927);
                                                var var15 = MathHelper.sin(MathHelper.sqrt_float(f1) * 3.1415927);
                                                GlStateManager.rotate(-var15 * 60 / 2.0, -5.0, -0.0, 9.0);
                                                GlStateManager.rotate(-var15 * 45, 1.0, var15 / 2, -0.0);
                                                GlStateManager.translate(-0.9, 0.5, 0.0);
                                                GlStateManager.rotate(30.0, 0.0, 1.0, 0.0);
                                                GlStateManager.rotate(-80.0, 1.0, 0.0, 0.0);
                                                GlStateManager.rotate(60.0, 0.0, 1.0, 0.0);
                                                GL11.glTranslated(1.05, 0.35, 0.5);
                                                GL11.glTranslatef(-1, abstractclientplayer.isSneaking() ? 0 : 0, 0);
                                                break;
                                            case "Remix":
                                                transformFirstPersonItemMethod.invoke(mc.entityRenderer.itemRenderer, f, new Float(f1));
                                                GlStateManager.translate(-0.5, 0.2, 0.0);
                                                GlStateManager.rotate(30.0, 0.0, 1.0, 0.0);
                                                GlStateManager.rotate(-80.0, 1.0, 0.0, 0.0);
                                                GlStateManager.rotate(60.0, 0.0, 1.0, 0.0);
                                                break;
                                            case "Sigma":
                                                GlStateManager.translate(0.56, -0.52, -0.5);
                                                GlStateManager.translate(0.0, f * -0.2, 0.0);
                                                GlStateManager.rotate(45.0, 0.0, 1.0, 0.0);
                                                var var3 = MathHelper.sin(0);
                                                var var4 = MathHelper.sin(0);
                                                GlStateManager.rotate(var3 * -20.0, 0.0, 1.0, 0.0);
                                                GlStateManager.rotate(var4 * -20.0, 0.0, 0.0, 1.0);
                                                GlStateManager.rotate(var4 * -80.0, 1.0, 0.0, 0.0);
                                                GlStateManager.scale(0.4, 0.4, 0.4);
                                                var var14 = MathHelper.sin(f1 * f1 * 3.1415927);
                                                var var15 = MathHelper.sin(MathHelper.sqrt_float(f1) * 3.1415927);
                                                GlStateManager.rotate(-var15 * 55 / 2.0, -8.0, -0.0, 9.0);
                                                GlStateManager.rotate(-var15 * 45, 1.0, var15 / 2, -0.0);
                                                GlStateManager.translate(-0.5, 0.3, 0.0);
                                                GlStateManager.rotate(30.0, 0.0, 1.0, 0.0);
                                                GlStateManager.rotate(-80.0, 1.0, 0.0, 0.0);
                                                GlStateManager.rotate(60.0, 0.0, 1.0, 0.0);
                                                GL11.glTranslated(1.2, 0.3, 0.5);
                                                GL11.glTranslatef(-1, abstractclientplayer.isSneaking() ? -0.1 : 0, 0.1);
                                                break;
                                            case "Custom2":
                                                transformFirstPersonItemMethod.invoke(mc.entityRenderer.itemRenderer, f, new Float(f1));
                                                GlStateManager.translate(module.settings.custom2x.get(), module.settings.custom2y.get(), module.settings.custom2z.get());
                                                GlStateManager.rotate(30.0, 0.0, 1.0, 0.0);
                                                GlStateManager.rotate(-80.0, 1.0, 0.0, 0.0);
                                                GlStateManager.rotate(60.0, 0.0, 1.0, 0.0);
                                                break;
                                            case "Custom":
                                                transformFirstPersonItemMethod.invoke(mc.entityRenderer.itemRenderer, f, new Float(0));
                                                progress = Math.abs(1 - timer.hasTimeLeft(module.settings.swingDuration.get()) / module.settings.swingDuration.get());
                                                var offset = (-Math.pow(progress < 1 ? progress - 0.5 : 0.5, 2) + 0.25) * module.settings.deviation.get();
                                                var offset2 = offset / 100;
                                                GlStateManager.translate(module.settings.posX.get() + (module.settings.deviateXPos.get() ? offset2 : 0), module.settings.posY.get() + (module.settings.deviateYPos.get() ? offset2 : 0), module.settings.posZ.get() + (module.settings.deviateZPos.get() ? -offset2 : 0));
                                                GlStateManager.rotate(module.settings.rotX.get() + (module.settings.deviateXRot.get() ? offset : 0), 0.0, 1.0, 0.0);
                                                GlStateManager.rotate(module.settings.rotY.get() + (module.settings.deviateYRot.get() ? offset : 0), 1.0, 0.0, 0.0);
                                                GlStateManager.rotate(module.settings.rotZ.get() + (module.settings.deviateZRot.get() ? offset : 0), 0.0, 1.0, 0.0);
                                                break;
                                        }
                                        break;
                                    case EnumAction.BOW:
                                        transformFirstPersonItemMethod.invoke(mc.entityRenderer.itemRenderer, f, f1);
                                        doBowTransformationsMethod.invoke(mc.entityRenderer.itemRenderer, partialTicks, abstractclientplayer);
                                        break;
                                }
                            } else {
                                if (!LiquidBounce.moduleManager.getModule(SwingAnimation.class).getState())
                                    doItemUsedTransformationsMethod.invoke(mc.entityRenderer.itemRenderer, f1);
                                transformFirstPersonItemMethod.invoke(mc.entityRenderer.itemRenderer, f, f1);
                            }
                            renderItemMethod.invoke(mc.entityRenderer.itemRenderer, abstractclientplayer, itemToRenderField.get(mc.entityRenderer.itemRenderer), ItemCameraTransforms.TransformType.FIRST_PERSON);
                        } else if (!abstractclientplayer.isInvisible()) {
                            renderPlayerArmMethod.invoke(mc.entityRenderer.itemRenderer, abstractclientplayer, f, f1);
                        }
                        GlStateManager.popMatrix();
                        GlStateManager.disableRescaleNormal();
                        RenderHelper.disableStandardItemLighting();
                    }
                };
            });
            module.on("update", function(event) {
                if (progress >= 1)
                    timer.reset();
            });
            module.on("disable", function() {
                mc.entityRenderer.itemRenderer = new ItemRenderer(mc);
            });
        });```
        1 Reply Last reply Reply Quote 2
        • First post
          Last post
        About
        • Terms of Service
        • Privacy Policy
        • Status
        • Contact Us
        Downloads
        • Releases
        • Source code
        • License
        Docs
        • Tutorials
        • CustomHUD
        • AutoSettings
        • ScriptAPI
        Community
        • Forum
        • Guilded
        • YouTube
        • Twitter
        • D.Tube