Fixes for quotations, free translucent, fix boss bar
This commit is contained in:
@@ -13,6 +13,8 @@ import me.cortex.voxy.client.saver.ContextSelectionSystem;
|
|||||||
import me.cortex.voxy.common.world.WorldEngine;
|
import me.cortex.voxy.common.world.WorldEngine;
|
||||||
import me.cortex.voxy.client.importers.WorldImporter;
|
import me.cortex.voxy.client.importers.WorldImporter;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.hud.BossBarHud;
|
||||||
|
import net.minecraft.client.gui.hud.ClientBossBar;
|
||||||
import net.minecraft.client.render.Camera;
|
import net.minecraft.client.render.Camera;
|
||||||
import net.minecraft.client.render.Frustum;
|
import net.minecraft.client.render.Frustum;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
@@ -20,6 +22,7 @@ import net.minecraft.entity.boss.BossBar;
|
|||||||
import net.minecraft.entity.boss.ServerBossBar;
|
import net.minecraft.entity.boss.ServerBossBar;
|
||||||
import net.minecraft.registry.RegistryKeys;
|
import net.minecraft.registry.RegistryKeys;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.chunk.WorldChunk;
|
import net.minecraft.world.chunk.WorldChunk;
|
||||||
import org.joml.Matrix4f;
|
import org.joml.Matrix4f;
|
||||||
@@ -239,15 +242,20 @@ public class VoxelCore {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var importer = new WorldImporter(this.world, mcWorld);
|
var importer = new WorldImporter(this.world, mcWorld);
|
||||||
var bossBar = new ServerBossBar(Text.of("Voxy world importer"), BossBar.Color.GREEN, BossBar.Style.PROGRESS);
|
var bossBar = new ClientBossBar(MathHelper.randomUuid(), Text.of("Voxy world importer"), 0.0f, BossBar.Color.GREEN, BossBar.Style.PROGRESS, false, false, false);
|
||||||
bossBar.addPlayer(MinecraftClient.getInstance().getServer().getPlayerManager().getPlayer(MinecraftClient.getInstance().player.getUuid()));
|
MinecraftClient.getInstance().inGameHud.getBossBarHud().bossBars.put(bossBar.getUuid(), bossBar);
|
||||||
importer.importWorldAsyncStart(worldPath, 4, (a,b)->
|
importer.importWorldAsyncStart(worldPath, 4, (a,b)->
|
||||||
MinecraftClient.getInstance().executeSync(()-> {
|
MinecraftClient.getInstance().executeSync(()-> {
|
||||||
bossBar.setPercent(((float) a)/((float) b));
|
bossBar.setPercent(((float) a)/((float) b));
|
||||||
bossBar.setName(Text.of("Voxy import: "+ a+"/"+b + " region files"));
|
bossBar.setName(Text.of("Voxy import: "+ a+"/"+b + " region files"));
|
||||||
}),
|
}),
|
||||||
()-> {
|
()-> {
|
||||||
MinecraftClient.getInstance().executeSync(bossBar::clearPlayers);
|
MinecraftClient.getInstance().executeSync(()-> {
|
||||||
|
MinecraftClient.getInstance().inGameHud.getBossBarHud().bossBars.remove(bossBar.getUuid());
|
||||||
|
String msg = "Voxy world import finished";
|
||||||
|
MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.literal(msg));
|
||||||
|
System.err.println(msg);
|
||||||
|
});
|
||||||
this.importer = null;
|
this.importer = null;
|
||||||
});
|
});
|
||||||
this.importer = importer;
|
this.importer = importer;
|
||||||
|
|||||||
@@ -60,9 +60,6 @@ public class Gl46FarWorldRenderer extends AbstractFarWorldRenderer<Gl46Viewport>
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void bindResources(Gl46Viewport viewport) {
|
protected void bindResources(Gl46Viewport viewport) {
|
||||||
glBindBuffer(GL_DRAW_INDIRECT_BUFFER, this.glCommandBuffer.id);
|
|
||||||
glBindBuffer(GL_PARAMETER_BUFFER_ARB, this.glCommandCountBuffer.id);
|
|
||||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, SharedIndexBuffer.INSTANCE.id());
|
|
||||||
glBindBufferBase(GL_UNIFORM_BUFFER, 0, this.uniformBuffer.id);
|
glBindBufferBase(GL_UNIFORM_BUFFER, 0, this.uniformBuffer.id);
|
||||||
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 1, this.geometry.geometryId());
|
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 1, this.geometry.geometryId());
|
||||||
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 2, this.glCommandBuffer.id);
|
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 2, this.glCommandBuffer.id);
|
||||||
@@ -72,6 +69,13 @@ public class Gl46FarWorldRenderer extends AbstractFarWorldRenderer<Gl46Viewport>
|
|||||||
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 6, this.models.getBufferId());
|
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 6, this.models.getBufferId());
|
||||||
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 7, this.models.getColourBufferId());
|
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 7, this.models.getColourBufferId());
|
||||||
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 8, this.lightDataBuffer.id);//Lighting LUT
|
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 8, this.lightDataBuffer.id);//Lighting LUT
|
||||||
|
glBindBuffer(GL_DRAW_INDIRECT_BUFFER, this.glCommandBuffer.id);
|
||||||
|
glBindBuffer(GL_PARAMETER_BUFFER_ARB, this.glCommandCountBuffer.id);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, SharedIndexBuffer.INSTANCE.id());
|
||||||
|
|
||||||
|
//Bind the texture atlas
|
||||||
|
glBindSampler(0, this.models.getSamplerId());
|
||||||
|
glBindTextureUnit(0, this.models.getTextureId());
|
||||||
}
|
}
|
||||||
|
|
||||||
//FIXME: dont do something like this as it breaks multiviewport mods
|
//FIXME: dont do something like this as it breaks multiviewport mods
|
||||||
@@ -127,11 +131,6 @@ public class Gl46FarWorldRenderer extends AbstractFarWorldRenderer<Gl46Viewport>
|
|||||||
UploadStream.INSTANCE.commit();
|
UploadStream.INSTANCE.commit();
|
||||||
glBindVertexArray(AbstractFarWorldRenderer.STATIC_VAO);
|
glBindVertexArray(AbstractFarWorldRenderer.STATIC_VAO);
|
||||||
|
|
||||||
|
|
||||||
//Bind the texture atlas
|
|
||||||
glBindSampler(0, this.models.getSamplerId());
|
|
||||||
glBindTextureUnit(0, this.models.getTextureId());
|
|
||||||
|
|
||||||
glClearNamedBufferData(this.glCommandCountBuffer.id, GL_R32UI, GL_RED_INTEGER, GL_UNSIGNED_INT, new int[1]);
|
glClearNamedBufferData(this.glCommandCountBuffer.id, GL_R32UI, GL_RED_INTEGER, GL_UNSIGNED_INT, new int[1]);
|
||||||
this.commandGen.bind();
|
this.commandGen.bind();
|
||||||
this.bindResources(viewport);
|
this.bindResources(viewport);
|
||||||
@@ -143,7 +142,7 @@ public class Gl46FarWorldRenderer extends AbstractFarWorldRenderer<Gl46Viewport>
|
|||||||
glDisable(GL_CULL_FACE);
|
glDisable(GL_CULL_FACE);
|
||||||
//glPointSize(10);
|
//glPointSize(10);
|
||||||
//TODO: replace glMultiDrawElementsIndirectCountARB with glMultiDrawElementsIndirect on intel gpus, since it performs so much better
|
//TODO: replace glMultiDrawElementsIndirectCountARB with glMultiDrawElementsIndirect on intel gpus, since it performs so much better
|
||||||
//glMultiDrawElementsIndirect(GL_TRIANGLES, GL_UNSIGNED_SHORT, 0, (int) (this.geometry.getSectionCount()*0.9), 0);
|
//glMultiDrawElementsIndirect(GL_TRIANGLES, GL_UNSIGNED_SHORT, 0, drawCnt, 0);
|
||||||
glMultiDrawElementsIndirectCountARB(GL_TRIANGLES, GL_UNSIGNED_SHORT, 0, 0, (int) (this.geometry.getSectionCount()*4.4), 0);
|
glMultiDrawElementsIndirectCountARB(GL_TRIANGLES, GL_UNSIGNED_SHORT, 0, 0, (int) (this.geometry.getSectionCount()*4.4), 0);
|
||||||
glEnable(GL_CULL_FACE);
|
glEnable(GL_CULL_FACE);
|
||||||
|
|
||||||
@@ -155,7 +154,6 @@ public class Gl46FarWorldRenderer extends AbstractFarWorldRenderer<Gl46Viewport>
|
|||||||
System.out.println(cnt);
|
System.out.println(cnt);
|
||||||
});
|
});
|
||||||
DownloadStream.INSTANCE.commit();
|
DownloadStream.INSTANCE.commit();
|
||||||
DownloadStream.INSTANCE.tick();
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -184,6 +184,7 @@ public class NvMeshFarWorldRenderer extends AbstractFarWorldRenderer<NvMeshViewp
|
|||||||
public void shutdown() {
|
public void shutdown() {
|
||||||
super.shutdown();
|
super.shutdown();
|
||||||
this.terrain.free();
|
this.terrain.free();
|
||||||
|
this.translucent.free();
|
||||||
this.cull.free();
|
this.cull.free();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,10 @@ public class WorldImportCommand {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
var wn = world.getFileName().toString();
|
var wn = world.getFileName().toString();
|
||||||
if (CommandSource.shouldSuggest(sb.getRemaining(), wn)) {
|
if (CommandSource.shouldSuggest(sb.getRemaining(), wn) || CommandSource.shouldSuggest(sb.getRemaining(), '"'+wn)) {
|
||||||
|
if (wn.contains(" ")) {
|
||||||
|
wn = '"' + wn + '"';
|
||||||
|
}
|
||||||
sb.suggest(wn);
|
sb.suggest(wn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ accessible field net/minecraft/client/render/GameRenderer zoom F
|
|||||||
accessible field net/minecraft/client/world/ClientWorld worldRenderer Lnet/minecraft/client/render/WorldRenderer;
|
accessible field net/minecraft/client/world/ClientWorld worldRenderer Lnet/minecraft/client/render/WorldRenderer;
|
||||||
accessible field net/minecraft/world/biome/source/BiomeAccess seed J
|
accessible field net/minecraft/world/biome/source/BiomeAccess seed J
|
||||||
|
|
||||||
|
accessible field net/minecraft/client/gui/hud/BossBarHud bossBars Ljava/util/Map;
|
||||||
|
|
||||||
accessible field net/minecraft/client/render/RenderLayer$MultiPhaseParameters texture Lnet/minecraft/client/render/RenderPhase$TextureBase;
|
accessible field net/minecraft/client/render/RenderLayer$MultiPhaseParameters texture Lnet/minecraft/client/render/RenderPhase$TextureBase;
|
||||||
accessible field net/minecraft/client/render/RenderLayer$MultiPhase phases Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;
|
accessible field net/minecraft/client/render/RenderLayer$MultiPhase phases Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;
|
||||||
accessible field net/minecraft/client/network/ClientPlayerInteractionManager networkHandler Lnet/minecraft/client/network/ClientPlayNetworkHandler;
|
accessible field net/minecraft/client/network/ClientPlayerInteractionManager networkHandler Lnet/minecraft/client/network/ClientPlayNetworkHandler;
|
||||||
|
|||||||
Reference in New Issue
Block a user