Arraylist
var module = rise.registerModule("Arraylist", "A arraylist made in Rise's script api!")
var modules = []
var font = render.getMinecraftFontRenderer()
var speed = 0.05;
var padding = 2;
script.handle("onUnload", function () {
module.unregister()
})
module.handle("onEnable", function(e) {
var unprocessedModules = rise.getModules()
modules = []
for (var index = 0; index < unprocessedModules.length; index++) {
modules[index] = [unprocessedModules[index], rise.newVec2(0, 0), font.width(unprocessedModules[index].getName())]
}
modules.sort(
function(a, b){
return font.width(b[0].getName()) - font.width(a[0].getName())
}
)
})
module.handle("onRender2D", function(e) {
var targetPosition = rise.newVec2(10, 10)
for (var index = 0; index < modules.length; index++) {
var module = modules[index]
if (module[0].isEnabled()) {
module[1].setX(lerp(module[1].getX(), targetPosition.getX(), speed))
module[1].setY(lerp(module[1].getY(), targetPosition.getY(), speed))
} else {
if (module[1].getX() + module[2] < 0) {
module[1].setY(targetPosition.getY())
continue
}
module[1].setX(lerp(module[1].getX(), -module[2] - 1, speed))
}
var height = font.height() + padding * 2;
if (module[0].isEnabled()) targetPosition.setY(targetPosition.getY() + height)
render.rectangle(module[1].getX() - padding, module[1].getY() - 1 - padding, module[2] + (padding * 2), height, [0, 0, 0, 100])
font.drawWithShadow(module[0].getName(), module[1].getX() + padding / 2, module[1].getY() + padding / 2, [255, 255, 255, 255])
}
return e
})
function lerp(a, b, c) {
return a + c * (b - a);
}
Last updated