Newer
Older
void-pack-super-server / work / decompile-ee3ecae0 / net / minecraft / server / IAsyncTaskHandlerReentrant.java
Simon Lindgren on 26 Mar 2020 619 bytes first commit
package net.minecraft.server;

public abstract class IAsyncTaskHandlerReentrant<R extends Runnable> extends IAsyncTaskHandler<R> {

    private int depth;

    public IAsyncTaskHandlerReentrant(String s) {
        super(s);
    }

    @Override
    protected boolean isNotMainThread() {
        return this.isEntered() || super.isNotMainThread();
    }

    protected boolean isEntered() {
        return this.depth != 0;
    }

    @Override
    protected void executeTask(R r0) {
        ++this.depth;

        try {
            super.executeTask(r0);
        } finally {
            --this.depth;
        }

    }
}