Merge pull request #117 from mollthecoder/main
This commit is contained in:
commit
56d0e1a00d
|
|
@ -4,7 +4,7 @@ let realTps = 0;
|
||||||
let lastTps = 0;
|
let lastTps = 0;
|
||||||
window.addEventListener("load", ()=>{
|
window.addEventListener("load", ()=>{
|
||||||
requireMods(["mods/libhooktick.js"], () => {
|
requireMods(["mods/libhooktick.js"], () => {
|
||||||
everyTick(()=>{
|
beforeEveryTick(()=>{
|
||||||
lastTps++;
|
lastTps++;
|
||||||
});
|
});
|
||||||
setInterval(()=>{
|
setInterval(()=>{
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,49 @@
|
||||||
let __registeredTickCallbacks = [];
|
let __registeredAfterTickCallbacks = [];
|
||||||
|
let __registeredBeforeTickCallbacks = [];
|
||||||
window.addEventListener("load", ()=>{
|
window.addEventListener("load", ()=>{
|
||||||
let oldTick = tick;
|
const oldTick = tick;
|
||||||
clearInterval(tickInterval);
|
clearInterval(tickInterval);
|
||||||
tick = function(){
|
tick = function(){
|
||||||
|
__registeredBeforeTickCallbacks.forEach(func=>{
|
||||||
|
func();
|
||||||
|
});
|
||||||
oldTick();
|
oldTick();
|
||||||
__registeredTickCallbacks.forEach(func=>{
|
__registeredAfterTickCallbacks.forEach(func=>{
|
||||||
func();
|
func();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
tickInterval = setInterval(tick, 1000/tps);
|
tickInterval = setInterval(tick, 1000/tps);
|
||||||
});
|
});
|
||||||
function everyTick(callback){
|
function everyTick(callback) {
|
||||||
__registeredTickCallbacks.push(callback);
|
afterEveryTick(callback);
|
||||||
}
|
}
|
||||||
|
window.everyTick = everyTick;
|
||||||
|
function beforeEveryTick(callback) {
|
||||||
|
__registeredBeforeTickCallbacks.push(callback);
|
||||||
|
}
|
||||||
|
window.beforeEveryTick = beforeEveryTick;
|
||||||
|
function afterEveryTick(callback) {
|
||||||
|
__registeredAfterTickCallbacks.push(callback);
|
||||||
|
}
|
||||||
|
window.afterEveryTick = afterEveryTick;
|
||||||
|
function removeTickListener(callback, mode) {
|
||||||
|
let removed = false;
|
||||||
|
if(mode!=="before") {
|
||||||
|
let index = __registeredAfterTickCallbacks.indexOf(callback);
|
||||||
|
if (index === -1 && mode === "after") throw new Error(`Could not find callback.`);
|
||||||
|
if(index !== -1) {
|
||||||
|
__registeredAfterTickCallbacks.splice(index, 1);
|
||||||
|
removed = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(mode!=="after") {
|
||||||
|
let index = __registeredBeforeTickCallbacks.indexOf(callback);
|
||||||
|
if (index === -1 && mode === "before") throw new Error(`Could not find callback.`);
|
||||||
|
if(index !== -1) {
|
||||||
|
__registeredBeforeTickCallbacks.splice(index, 1);
|
||||||
|
removed = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return removed;
|
||||||
|
}
|
||||||
|
window.removeTickListener = removeTickListener;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue