./gradlew :1.15.2:setCoreVersion

Also `./gradlew :jGui:1.15.2:setCoreVersion`.
This commit is contained in:
Jonas Herzig
2020-04-06 12:35:56 +02:00
parent f3c4092c72
commit b119d2d127
70 changed files with 1217 additions and 1217 deletions

View File

@@ -7,16 +7,16 @@ import java.lang.reflect.Field;
//#if MC>=11500
//#else
import com.replaymod.render.mixin.ChunkRenderDispatcherAccessor;
import com.replaymod.render.mixin.WorldRendererAccessor;
import com.replaymod.render.utils.JailingQueue;
import net.minecraft.client.render.chunk.BlockBufferBuilderStorage;
import net.minecraft.client.render.chunk.ChunkBuilder;
import net.minecraft.client.render.chunk.ChunkRenderTask;
import net.minecraft.client.render.chunk.ChunkRenderWorker;
import net.minecraft.client.render.chunk.ChunkRenderer;
import java.util.Iterator;
import static com.replaymod.core.versions.MCVer.*;
//$$ import com.replaymod.render.mixin.ChunkRenderDispatcherAccessor;
//$$ import com.replaymod.render.mixin.WorldRendererAccessor;
//$$ import com.replaymod.render.utils.JailingQueue;
//$$ import net.minecraft.client.render.chunk.BlockBufferBuilderStorage;
//$$ import net.minecraft.client.render.chunk.ChunkBuilder;
//$$ import net.minecraft.client.render.chunk.ChunkRenderTask;
//$$ import net.minecraft.client.render.chunk.ChunkRenderWorker;
//$$ import net.minecraft.client.render.chunk.ChunkRenderer;
//$$ import java.util.Iterator;
//$$ import static com.replaymod.core.versions.MCVer.*;
//#endif
//#if MC>=10904
@@ -35,14 +35,14 @@ public class ChunkLoadingRenderGlobal {
//#if MC>=11500
//#else
private ChunkBuilder renderDispatcher;
//$$ private ChunkBuilder renderDispatcher;
//#if MC>=11400
private JailingQueue<ChunkRenderTask> workerJailingQueue;
//$$ private JailingQueue<ChunkRenderTask> workerJailingQueue;
//#else
//$$ private JailingQueue<ChunkCompileTaskGenerator> workerJailingQueue;
//#endif
private ChunkRenderWorkerAccessor renderWorker;
private int frame;
//$$ private ChunkRenderWorkerAccessor renderWorker;
//$$ private int frame;
//#endif
public ChunkLoadingRenderGlobal(
@@ -55,10 +55,10 @@ public class ChunkLoadingRenderGlobal {
this.hooked = renderGlobal;
//#if MC>=11500
//$$ install();
//#else
setup(((WorldRendererAccessor) renderGlobal).getRenderDispatcher());
install();
//#else
//$$ setup(((WorldRendererAccessor) renderGlobal).getRenderDispatcher());
//$$ install();
//#endif
}
@@ -77,94 +77,94 @@ public class ChunkLoadingRenderGlobal {
//#if MC>=11500
//#else
public void updateRenderDispatcher(ChunkBuilder renderDispatcher) {
if (this.renderDispatcher != null) {
workerJailingQueue.freeAll();
this.renderDispatcher = null;
}
if (renderDispatcher != null) {
setup(renderDispatcher);
}
}
private void setup(ChunkBuilder renderDispatcher) {
this.renderDispatcher = renderDispatcher;
this.renderWorker = (ChunkRenderWorkerAccessor) new ChunkRenderWorker(renderDispatcher, new BlockBufferBuilderStorage());
ChunkRenderDispatcherAccessor renderDispatcherAcc = (ChunkRenderDispatcherAccessor) renderDispatcher;
int workerThreads = renderDispatcherAcc.getListThreadedWorkers().size();
//$$ public void updateRenderDispatcher(ChunkBuilder renderDispatcher) {
//$$ if (this.renderDispatcher != null) {
//$$ workerJailingQueue.freeAll();
//$$ this.renderDispatcher = null;
//$$ }
//$$ if (renderDispatcher != null) {
//$$ setup(renderDispatcher);
//$$ }
//$$ }
//$$
//$$ private void setup(ChunkBuilder renderDispatcher) {
//$$ this.renderDispatcher = renderDispatcher;
//$$ this.renderWorker = (ChunkRenderWorkerAccessor) new ChunkRenderWorker(renderDispatcher, new BlockBufferBuilderStorage());
//$$ ChunkRenderDispatcherAccessor renderDispatcherAcc = (ChunkRenderDispatcherAccessor) renderDispatcher;
//$$
//$$ int workerThreads = renderDispatcherAcc.getListThreadedWorkers().size();
//#if MC>=10904
PriorityBlockingQueue<ChunkRenderTask> queueChunkUpdates = renderDispatcherAcc.getQueueChunkUpdates();
//$$ PriorityBlockingQueue<ChunkRenderTask> queueChunkUpdates = renderDispatcherAcc.getQueueChunkUpdates();
//#else
//$$ BlockingQueue<ChunkCompileTaskGenerator> queueChunkUpdates = renderDispatcherAcc.getQueueChunkUpdates();
//#endif
workerJailingQueue = new JailingQueue<>(queueChunkUpdates);
renderDispatcherAcc.setQueueChunkUpdates(workerJailingQueue);
//$$ workerJailingQueue = new JailingQueue<>(queueChunkUpdates);
//$$ renderDispatcherAcc.setQueueChunkUpdates(workerJailingQueue);
//#if MC>=10904
ChunkRenderTask element = new ChunkRenderTask(
null,
null,
0
//$$ ChunkRenderTask element = new ChunkRenderTask(
//$$ null,
//$$ null,
//$$ 0
//#if MC>=11400
, null
//$$ , null
//#endif
);
//$$ );
//#else
//$$ ChunkCompileTaskGenerator element = new ChunkCompileTaskGenerator(null, null);
//#endif
element.cancel();
for (int i = 0; i < workerThreads; i++) {
queueChunkUpdates.add(element);
}
// Temporary workaround for dead lock, will be replaced by a new (ShaderMod compatible) mechanism later
//noinspection StatementWithEmptyBody
while (renderDispatcher.runTasksSync(0)) {}
workerJailingQueue.jail(workerThreads);
renderDispatcherAcc.setQueueChunkUpdates(queueChunkUpdates);
}
public void updateChunks() {
while (renderDispatcher.runTasksSync(0)) {
((WorldRendererAccessor) hooked).setDisplayListEntitiesDirty(true);
}
//$$ element.cancel();
//$$ for (int i = 0; i < workerThreads; i++) {
//$$ queueChunkUpdates.add(element);
//$$ }
//$$
//$$ // Temporary workaround for dead lock, will be replaced by a new (ShaderMod compatible) mechanism later
//$$ //noinspection StatementWithEmptyBody
//$$ while (renderDispatcher.runTasksSync(0)) {}
//$$
//$$ workerJailingQueue.jail(workerThreads);
//$$ renderDispatcherAcc.setQueueChunkUpdates(queueChunkUpdates);
//$$ }
//$$
//$$ public void updateChunks() {
//$$ while (renderDispatcher.runTasksSync(0)) {
//$$ ((WorldRendererAccessor) hooked).setDisplayListEntitiesDirty(true);
//$$ }
//$$
//#if MC>=10904
PriorityBlockingQueue<ChunkRenderTask> queueChunkUpdates;
//$$ PriorityBlockingQueue<ChunkRenderTask> queueChunkUpdates;
//#else
//$$ BlockingQueue<ChunkCompileTaskGenerator> queueChunkUpdates;
//#endif
queueChunkUpdates = ((ChunkRenderDispatcherAccessor) renderDispatcher).getQueueChunkUpdates();
while (!queueChunkUpdates.isEmpty()) {
try {
renderWorker.doRunTask(queueChunkUpdates.poll());
} catch (InterruptedException ignored) { }
}
Iterator<ChunkRenderer> iterator = ((WorldRendererAccessor) hooked).getChunksToUpdate().iterator();
while (iterator.hasNext()) {
ChunkRenderer renderchunk = iterator.next();
renderDispatcher.rebuildSync(renderchunk);
//$$ queueChunkUpdates = ((ChunkRenderDispatcherAccessor) renderDispatcher).getQueueChunkUpdates();
//$$ while (!queueChunkUpdates.isEmpty()) {
//$$ try {
//$$ renderWorker.doRunTask(queueChunkUpdates.poll());
//$$ } catch (InterruptedException ignored) { }
//$$ }
//$$
//$$ Iterator<ChunkRenderer> iterator = ((WorldRendererAccessor) hooked).getChunksToUpdate().iterator();
//$$ while (iterator.hasNext()) {
//$$ ChunkRenderer renderchunk = iterator.next();
//$$
//$$ renderDispatcher.rebuildSync(renderchunk);
//$$
//#if MC>=10904
renderchunk.unscheduleRebuild();
//$$ renderchunk.unscheduleRebuild();
//#else
//$$ renderchunk.setNeedsUpdate(false);
//#endif
iterator.remove();
}
}
public int nextFrameId() {
return frame++;
}
//$$ iterator.remove();
//$$ }
//$$ }
//$$
//$$ public int nextFrameId() {
//$$ return frame++;
//$$ }
//#endif
public void uninstall() {
//#if MC<11500
workerJailingQueue.freeAll();
//$$ workerJailingQueue.freeAll();
//#endif
try {
@@ -180,9 +180,9 @@ public class ChunkLoadingRenderGlobal {
}
//#if MC>=11500
//$$ public interface IBlockOnChunkRebuilds {
//$$ boolean uploadEverythingBlocking();
//$$ }
public interface IBlockOnChunkRebuilds {
boolean uploadEverythingBlocking();
}
//#endif
}
//#endif

View File

@@ -9,7 +9,7 @@ import lombok.Getter;
import net.minecraft.client.MinecraftClient;
//#if MC>=11500
//$$ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.util.math.MatrixStack;
//#endif
//#if MC>=11400
@@ -64,9 +64,9 @@ public class EntityRendererHandler implements WorldRenderer {
if (mc.world != null && mc.player != null) {
//#if MC>=11500
//$$ mc.gameRenderer.renderWorld(partialTicks, finishTimeNano, new MatrixStack());
mc.gameRenderer.renderWorld(partialTicks, finishTimeNano, new MatrixStack());
//#else
mc.gameRenderer.renderWorld(partialTicks, finishTimeNano);
//$$ mc.gameRenderer.renderWorld(partialTicks, finishTimeNano);
//#endif
}