[SCRIPT BASE] Core 4.11 - Simple, yet powerful ScriptAPI base
-
@CzechHek but smh after update to core 3.6, ur invmanager no longer work. And it even cause lag.
p/s: also the AutoGapple by @commandblock2 doesn't work too, it makes me can't right click properly -
@Asutoboki-kun Yeah I have not yet updated to Core 3.6 plus the original one was problematic
-
@commandblock2 so can you fix it?
-
@Asutoboki-kun I'll see what's wrong with it later
-
@commandblock2 wait the script in my folder is old, so will check later the latest one
-
@Asutoboki-kun Hmm I just updated(fixed keeping right key down when there is no gapple and health is low). It worked in my case.
But it will still fuck up in the following strange situation.
When the health is low and there is a Gapple in the inventory, andC16PacketClientStatus
was not defined.
If you just launch the client and use the module when trying to eat a gapple in inventory(not in hotbar),jdk.nashorn.internal.runtime.ECMAException: ReferenceError: "C16PacketClientStatus" is not defined
spamms the log. However, doing a.scriptmanager reload
in game just fixed that.Edit:
@CzechHek I have the exact same problem, BlockAnimation.js crashed when launching. However, if I launch without this and use.scriptmanager reload
to load this module, it all worked fine. (Too bad this forum doesn't support underline) -
@commandblock2 In that case new package importing via loaded classes in ClassLoader is unreliable, even tho it shouldn't. It works every time on 2 different setups, I've tested both legacy and new Core scripts for a week. I could try to import packages onLoad or in the old way.
-
Introducing Reflector
Reflector is a really useful utility that makes any class fully accessible.
It automatically converts names to srg and manipulates with values via reflections.Example:
///api_version=2 (script = registerScript({ name: "Reflector", authors: ["CzechHek"], version: "1.0" })).import("Core.lib"); module = { onEnable: function () { print(adaptedMc.debugFPS); //accessing a private field blockRenderDispatcher = adaptedMc.blockRenderDispatcher; //storing a private field inside a variable (will store an adapted version of it) print(blockRenderDispatcher.blockModelRenderer); //accessing a private field of an adapted block render dispatcher adaptedMc.resize(1280, 720); //calling a private method (supports any argument count) adaptedLB.isStarting = true; //setting a value of a private field } } adaptedMc = new Reflector(mc); adaptedLB = new Reflector(LiquidBounce.INSTANCE); //INSTANCE is needed to change isStarting field //requires Core 3.17+, supports any java object, automatically converts to srg names
https://github.com/CzechHek/Core/blob/master/Examples/reflector.js
core can now also send packets without triggering packet event [sendPacket()] and other stuff yay
-
epic sexer
-
@bruh-ok said in [SCRIPT BASE] Core 3.17 - Simple, yet powerful ScriptAPI base:
epic sexer
THE SEEEEEEEEEEEEEEEX
-
Core 3.19
Fixed Core's autoupdating on custom LBs with changed file directories.
You will need to update manually to have Core automatically update itself.
(only regarding Core.lib file, script autoupdating works fine)Fixed ClickGUI hooking when there's only a single script that has
scriptAutoUpdate = false
.
this won't matter to most of youAdded a few utils and stuff k thx bye.
-
When I turn on the animation block, it does not work as it should, it does not show what I set up
-
@deadhadijg You need to explain that properly. Contact me directly here or CzechHek#6969.
-
Core 3.23 is here
I've been getting many reports of Core not working properly recently. This was caused by its autoupdating system, which was dependant on dyskord.cc which has been down for quite a time now.
I've adressed the issue like this:
- Recoded broken autoupdating, now it checks github for latest version directly. It should also be more stable.
- Fixed Core reseting its log, which made it check for updates on every reload.
- Fixed minor issue that caused updated scripts to be duplicated in script list.
You have to download this version manually, after that you will receive updates automatically like before.
If you don't know how:
Right click: https://raw.githubusercontent.com/CzechHek/Core/master/Core.lib
Save link as...
Core.lib, put it into %appdata%\Roaming.minecraft\LiquidBounce-1.8\scripts -
Released Core 3.24
-
Added support for custom auto update urls.
Core.updateURL = "arawlink.com/smth.js" or you can disable updates: Core.updateURL = "" or Core.updateURL = false or null or smth like that
- Added TextEditor util. You can edit text files with it:
editor = new TextEditor(new File("smth.txt")); editor.text = "cool" or editor.setText("cool") editor.getText() == editor.text == "cool" editor.file == new File("smth.txt") editor.file = new File("smthelse.txt") or editor.setFile(new File("smthelse.txt"))
- Prevented creation of global variables after use of specific Core utils.
- Improved legacy support. (fixed autoupdates, names of scripts, modules, ...)
- Fixed CME crash when script updated during a reload.
-
-
Update 3.25
-
@plumer-man Yep, I'm only posting about important updates.
-
Core 3.28 brings artificial events!
All events are available for you
Thanks to @commandblock2 for giving me this idea, you can now use all events implemented in LiquidBounce, such as:
- onBlockBB
- onClientShutdown
- onEntityMovement
- onPushOut
- onRenderEntity
- onScreen
- onText
- onTick
Here is an example from https://github.com/CzechHek/Core/blob/master/Examples/artificial events.js
///api_version=2 (script = registerScript({ name: "ArtificialEvents", authors: ["CzechHek"], version: "1.0" })).import("Core.lib"); module = { onBlockBB: function (e) { var x = e.getX(), y = e.getY(), z = e.getZ(), block = e.getBlock(), bb = e.getBoundingBox(); e.setBoundingBox(bb.expand(0, 0.5, 0)); }, onClientShutdown: function () {}, onEntityMovement: function (e) { var entity = e.getMovedEntity(); }, onPushOut: function (e) { e.cancelEvent() }, onRenderEntity: function (e) { var entity = e.getEntity(), x = e.getX(), y = e.getY(), z = e.getZ(), yaw = e.getEntityYaw(), partialTicks = e.getPartialTicks(); }, onScreen: function (e) { var screen = e.getGuiScreen(); }, onText: function (e) { if (mc.thePlayer) { var text = e.getText(); e.setText(text.replace(mc.thePlayer.getName(), "axolotlus")); } }, onTick: function () {} }
-