this is a blockanimations scripts
-
-
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); }); });```