26.2-snap-6

This commit is contained in:
gnembon committed 2026-05-10 21:38:16 +02:00
1 parent 6e332f9c0b
commit 83aea79da0
8 files changed
+79 -51

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@ org.gradle.configuration-cache=false
# Fabric Properties
# check https://fabricmc.net/develop/
minecraft_version=26.2-snapshot-4
minecraft_version=26.2-snapshot-6
loader_version=0.19.2
loom_version=1.15-SNAPSHOT
@@ -14,6 +14,8 @@ import net.minecraft.client.renderer.LevelRenderer;
import net.minecraft.client.renderer.LevelTargetBundle;
import net.minecraft.client.renderer.RenderBuffers;
import net.minecraft.client.renderer.ShaderManager;
import net.minecraft.client.renderer.SubmitNodeCollector;
import net.minecraft.client.renderer.SubmitNodeStorage;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher;
import net.minecraft.client.renderer.chunk.ChunkSectionsToRender;
import net.minecraft.client.renderer.entity.EntityRenderDispatcher;
@@ -44,6 +46,8 @@ public class LevelRenderer_scarpetRenderMixin
@Shadow @Final private LevelRenderState levelRenderState;
@Shadow @Final private SubmitNodeStorage submitNodeStorage;
@Inject(method = "<init>", at = @At("RETURN"))
private void addRenderers(EntityRenderDispatcher entityRenderDispatcher, BlockEntityRenderDispatcher blockEntityRenderDispatcher, ModelManager modelManager, TextureManager textureManager, AtlasManager atlasManager, ShaderManager shaderManager, GameRenderer gameRenderer, int width, int height, CallbackInfo ci)
{
@@ -52,10 +56,10 @@ public class LevelRenderer_scarpetRenderMixin
@Inject(method = "render", at = @At(
value = "INVOKE",
target = "Lnet/minecraft/client/renderer/LevelRenderer;addMainPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lnet/minecraft/client/renderer/feature/FeatureRenderDispatcher$PreparedFrame;Lcom/mojang/blaze3d/buffers/GpuBufferSlice;Lnet/minecraft/client/renderer/state/level/LevelRenderState;Lnet/minecraft/util/profiling/ProfilerFiller;Lnet/minecraft/client/renderer/chunk/ChunkSectionsToRender;)V",
//target = "Lnet/minecraft/client/renderer/LevelRenderer;addAlwaysOnTopPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lcom/mojang/blaze3d/buffers/GpuBufferSlice;)V",
//target = "Lnet/minecraft/client/renderer/LevelRenderer;submitFeatures(Lnet/minecraft/client/renderer/state/level/LevelRenderState;Lnet/minecraft/client/renderer/SubmitNodeCollector;Z)V",
target = "Lnet/minecraft/client/renderer/LevelRenderer;addMainPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lcom/mojang/blaze3d/buffers/GpuBufferSlice;Lnet/minecraft/client/renderer/state/level/LevelRenderState;Lnet/minecraft/util/profiling/ProfilerFiller;Lnet/minecraft/client/renderer/chunk/ChunkSectionsToRender;)V",
//target = "Lnet/minecraft/client/renderer/LevelRenderer;addMainPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lcom/mojang/blaze3d/buffers/GpuBufferSlice;Lnet/minecraft/client/renderer/state/level/LevelRenderState;Lnet/minecraft/util/profiling/ProfilerFiller;Lnet/minecraft/client/renderer/chunk/ChunkSectionsToRender;)V",
//target = "Lnet/minecraft/client/renderer/LevelRenderer;addLateDebugPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lnet/minecraft/client/renderer/state/level/CameraRenderState;Lcom/mojang/blaze3d/buffers/GpuBufferSlice;Lorg/joml/Matrix4fc;)V",
shift = At.Shift.AFTER
))
@@ -70,9 +74,9 @@ public class LevelRenderer_scarpetRenderMixin
final float deltaPartialTick = deltaTracker.getGameTimeDeltaPartialTick(false);
FramePass pass = frameGraphBuilder.addPass("scarpet_shapes");
targets.main = pass.readsAndWrites(targets.main);
pass.executes(() -> CarpetClient.shapes.render(renderBuffers, levelRenderState, modelViewMatrix, deltaPartialTick));
featureRenderDispatcher.renderAllFeatures();
renderBuffers.bufferSource().uploadAndDraw();
pass.executes(() -> CarpetClient.shapes.render(submitNodeStorage, levelRenderState, modelViewMatrix, deltaPartialTick));
//featureRenderDispatcher.renderAllFeatures(submitNodeStorage);
//renderBuffers.bufferSource().uploadAndDraw();
}
}
}
@@ -53,7 +53,8 @@ public abstract class PistonHeadRenderer_movableBEMixin implements BlockEntityRe
}
@Inject(method = "submit(Lnet/minecraft/client/renderer/blockentity/state/PistonHeadRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/level/CameraRenderState;)V",
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitMovingBlock(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/block/MovingBlockRenderState;)V",
at = @At(value = "INVOKE",
target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitMovingBlock(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/block/MovingBlockRenderState;I)V",
ordinal = 0))
private void endMethod(PistonHeadRenderState pistonHeadRenderState, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState cameraRenderState, CallbackInfo ci)
//private void endMethod(PistonMovingBlockEntity pistonBlockEntity_1, float partialTicks, PoseStack matrixStack_1, int i, int j, Vec3 vec3, ModelFeatureRenderer.CrumblingOverlay crumblingOverlay, SubmitNodeCollector submitNodeCollector, CallbackInfo ci)
@@ -13,10 +13,10 @@ public class StructurePiece_scarpetPlopMixin
{
@Redirect(method = "placeBlock", at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/level/chunk/ChunkAccess;markPosForPostprocessing(Lnet/minecraft/core/BlockPos;)V"
target = "Lnet/minecraft/world/level/chunk/ChunkAccess;markPosForPostProcessing(Lnet/minecraft/core/BlockPos;)V"
))
private void markOrNot(ChunkAccess chunk, BlockPos pos)
{
if (!CarpetSettings.skipGenerationChecks.get()) chunk.markPosForPostprocessing(pos);
if (!CarpetSettings.skipGenerationChecks.get()) chunk.markPosForPostProcessing(pos);
}
}
@@ -18,9 +18,12 @@ import com.google.common.collect.Lists;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import com.mojang.serialization.DataResult;
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextColor;
import net.minecraft.resources.Identifier;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.ServerScoreboard;
@@ -36,6 +39,7 @@ import net.minecraft.world.scores.ScoreAccess;
import net.minecraft.world.scores.ScoreHolder;
import net.minecraft.world.scores.Scoreboard;
import net.minecraft.world.scores.Team;
import net.minecraft.world.scores.TeamColor;
import net.minecraft.world.scores.criteria.ObjectiveCriteria;
import org.jetbrains.annotations.Nullable;
@@ -433,18 +437,20 @@ public class Scoreboards
case "color" -> {
if (!modifying)
{
return new StringValue(team.getColor().getName());
return new StringValue(team.getColor().get().getSerializedName());
}
if (!(settingVal instanceof StringValue))
{
throw new InternalExpressionException("'team_property' requires a string as the third argument for the property " + propertyVal.getString());
}
ChatFormatting color = ChatFormatting.getByName(settingVal.getString().toUpperCase());
if (color == null || !color.isColor())
TeamColor teamColor = TeamColor.byName(settingVal.getString().toLowerCase());
//DataResult<TextColor> color = TextColor.parseColor(settingVal.getString().toUpperCase());
//ChatFormatting color = ChatFormatting.valueOf(settingVal.getString().toUpperCase());;
if (teamColor == null)
{
throw new InternalExpressionException("Unknown value for property " + propertyVal.getString() + ": " + settingVal.getString());
}
team.setColor(color);
team.setColor(Optional.of(teamColor));
}
case "deathMessageVisibility" -> {
if (!modifying)
@@ -60,7 +60,7 @@ import net.minecraft.commands.CommandBuildContext;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.SharedSuggestionProvider;
import net.minecraft.commands.arguments.AngleArgument;
import net.minecraft.commands.arguments.ColorArgument;
import net.minecraft.commands.arguments.TeamColorArgument;
import net.minecraft.commands.arguments.CompoundTagArgument;
import net.minecraft.commands.arguments.DimensionArgument;
import net.minecraft.commands.arguments.EntityAnchorArgument;
@@ -108,6 +108,7 @@ import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.phys.Vec2;
import net.minecraft.world.scores.ScoreHolder;
import net.minecraft.world.scores.TeamColor;
import org.jspecify.annotations.Nullable;
import static net.minecraft.commands.Commands.argument;
@@ -144,10 +145,10 @@ public abstract class CommandArgument
(c, p) -> ValueConversions.ofBlockPredicate(c.getSource().getServer().registryAccess(), BlockPredicateArgument.getBlockPredicate(c, p)),
param -> (ctx, builder) -> ctx.getArgument(param, BlockPredicateArgument.class).listSuggestions(ctx, builder)
),
new VanillaUnconfigurableArgument("teamcolor", ColorArgument::color,
new VanillaUnconfigurableArgument("teamcolor", TeamColorArgument::teamColor,
(c, p) -> {
ChatFormatting format = ColorArgument.getColor(c, p);
return ListValue.of(StringValue.of(format.getName()), ValueConversions.ofRGB(format.getColor()));
TeamColor format = TeamColorArgument.getTeamColor(c, p);
return ListValue.of(StringValue.of(format.getSerializedName()), ValueConversions.ofRGB(format.rgb()));
},
false
),
@@ -47,6 +47,7 @@ import net.minecraft.world.level.levelgen.feature.featuresize.TwoLayersFeatureSi
import net.minecraft.world.level.levelgen.feature.foliageplacers.BlobFoliagePlacer;
import net.minecraft.world.level.levelgen.feature.foliageplacers.FancyFoliagePlacer;
import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider;
import net.minecraft.world.level.levelgen.feature.stateproviders.RuleBasedStateProvider;
import net.minecraft.world.level.levelgen.heightproviders.ConstantHeight;
import net.minecraft.world.level.levelgen.structure.BoundingBox;
import net.minecraft.world.level.levelgen.structure.Structure;
@@ -65,6 +66,8 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProc
import org.jspecify.annotations.Nullable;
import static net.minecraft.world.level.levelgen.feature.configurations.TreeConfiguration.CAN_PLACE_BELOW_TREE_TRUNKS;
public class FeatureGenerator
{
@Nullable
@@ -272,16 +275,19 @@ public class FeatureGenerator
return null;
}
private static RuleBasedStateProvider belowTrees = RuleBasedStateProvider.ifTrueThenProvide(CAN_PLACE_BELOW_TREE_TRUNKS, Blocks.DIRT);
private static TreeConfiguration.TreeConfigurationBuilder createTree(Block block, Block block2, int i, int j, int k, int l)
{
return new TreeConfiguration.TreeConfigurationBuilder(BlockStateProvider.simple(block), new StraightTrunkPlacer(i, j, k), BlockStateProvider.simple(block2), new BlobFoliagePlacer(ConstantInt.of(l), ConstantInt.of(0), 3), new TwoLayersFeatureSize(1, 0, 1));
return new TreeConfiguration.TreeConfigurationBuilder(BlockStateProvider.simple(block), new StraightTrunkPlacer(i, j, k), BlockStateProvider.simple(block2), new BlobFoliagePlacer(ConstantInt.of(l), ConstantInt.of(0), 3), new TwoLayersFeatureSize(1, 0, 1), belowTrees);
}
public static final Map<String, Function<ServerLevel, Thing>> featureMap = new HashMap<>()
{{
// TODO remove this using what place feature is using
put("oak_bees", l -> simpleTree(createTree(Blocks.OAK_LOG, Blocks.OAK_LEAVES, 4, 2, 0, 2).ignoreVines().decorators(List.of(new BeehiveDecorator(1.00F))).build()));
put("fancy_oak_bees", l -> simpleTree((new TreeConfiguration.TreeConfigurationBuilder(BlockStateProvider.simple(Blocks.OAK_LOG), new FancyTrunkPlacer(3, 11, 0), BlockStateProvider.simple(Blocks.OAK_LEAVES), new FancyFoliagePlacer(ConstantInt.of(2), ConstantInt.of(4), 4), new TwoLayersFeatureSize(0, 0, 0, OptionalInt.of(4)))).ignoreVines().decorators(List.of(new BeehiveDecorator(1.00F))).build()));
put("fancy_oak_bees", l -> simpleTree((new TreeConfiguration.TreeConfigurationBuilder(BlockStateProvider.simple(Blocks.OAK_LOG), new FancyTrunkPlacer(3, 11, 0), BlockStateProvider.simple(Blocks.OAK_LEAVES), new FancyFoliagePlacer(ConstantInt.of(2), ConstantInt.of(4), 4), new TwoLayersFeatureSize(0, 0, 0, OptionalInt.of(4)), belowTrees)).ignoreVines().decorators(List.of(new BeehiveDecorator(1.00F))).build()));
put("birch_bees", l -> simpleTree(createTree(Blocks.BIRCH_LOG, Blocks.BIRCH_LEAVES, 5, 2, 0, 2).ignoreVines().decorators(List.of(new BeehiveDecorator(1.00F))).build()));
put("coral_tree", l -> simplePlop(Feature.CORAL_TREE, FeatureConfiguration.NONE));
@@ -6,11 +6,10 @@ import carpet.script.utils.shapes.ShapeDirection;
import com.mojang.blaze3d.pipeline.RenderTarget;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.ByteBufferBuilder;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.VertexFormat;
import com.mojang.blaze3d.vertex.VertexFormat.Mode;
//import com.mojang.blaze3d.vertex.VertexFormat.Mode;
import com.mojang.math.Axis;
import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
@@ -26,8 +25,8 @@ import net.minecraft.client.gui.Font;
import net.minecraft.client.gui.components.debug.DebugScreenEntries;
import net.minecraft.client.gui.font.TextRenderable;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderBuffers;
//import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.SubmitNodeStorage;
import net.minecraft.client.renderer.block.BlockModelRenderState;
import net.minecraft.client.renderer.entity.DisplayRenderer;
import net.minecraft.client.renderer.rendertype.RenderType;
@@ -115,7 +114,7 @@ public class ShapesRenderer
labels = new HashMap<>();
}
public void render(RenderBuffers renderBuffers, LevelRenderState cameraa, Matrix4fc matrix4f, float partialTick)
public void render(SubmitNodeStorage submitNodeStorage, LevelRenderState cameraa, Matrix4fc matrix4f, float partialTick)
{
Runnable token = Carpet.startProfilerSection("Scarpet client");
// posestack is not needed anymore - left as TODO to cleanup later
@@ -169,7 +168,7 @@ public class ShapesRenderer
shapes.get(dimensionType).values().forEach(s -> {
if ((!s.shape.debug || entityBoxes) && s.shouldRender(dimensionType))
{
s.renderLines(matrices, cameraX, cameraY, cameraZ, partialTick, cameraa, s.shape.seethrough ? onTop : normal);
s.renderLines(matrices, cameraX, cameraY, cameraZ, partialTick, cameraa, s.shape.seethrough ? onTop : normal, submitNodeStorage );
}
});
// faces
@@ -191,23 +190,23 @@ public class ShapesRenderer
labels.get(dimensionType).values().forEach(s -> {
if ((!s.shape.debug || entityBoxes) && s.shouldRender(dimensionType))
{
s.renderLines(matrices, cameraX, cameraY, cameraZ, partialTick, cameraa, s.shape.seethrough ? onTop : normal);
s.renderLines(matrices, cameraX, cameraY, cameraZ, partialTick, cameraa, s.shape.seethrough ? onTop : normal, submitNodeStorage );
}
});
}
MultiBufferSource.BufferSource bufferSource = renderBuffers.bufferSource();
bufferSource.uploadAndDraw();
//MultiBufferSource.BufferSource bufferSource = renderBuffers. bufferSource();
//bufferSource.uploadAndDraw();
normal.submit(client.gameRenderer.featureRenderDispatcher().getSubmitNodeStorage(), cameraa.cameraRenderState, false);
bufferSource.uploadAndDraw();
normal.submit(submitNodeStorage, cameraa.cameraRenderState, false);
//bufferSource.uploadAndDraw();
if (false) {
final RenderTarget mainRenderTarget = Minecraft.getInstance().gameRenderer.mainRenderTarget();
RenderSystem.getDevice().createCommandEncoder().clearDepthTexture(mainRenderTarget.getDepthTexture(), 1.0);
onTop.submit(client.gameRenderer.featureRenderDispatcher().getSubmitNodeStorage(), cameraa.cameraRenderState, true);
bufferSource.uploadAndDraw();
onTop.submit(submitNodeStorage, cameraa.cameraRenderState, true);
//bufferSource.uploadAndDraw();
RenderSystem.getDevice().createCommandEncoder().clearDepthTexture(Minecraft.getInstance().gameRenderer.mainRenderTarget().getDepthTexture(), 1.0);
@@ -286,7 +285,7 @@ public class ShapesRenderer
long expiryTick;
double renderEpsilon;
public abstract void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives);
public abstract void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives, SubmitNodeStorage submitNodeStorage);
public void renderFaces(double cx, double cy, double cz, float partialTick, DrawableGizmoPrimitives primitives)
{
@@ -360,7 +359,7 @@ public class ShapesRenderer
@Override
public void renderLines(PoseStack matrices, double cx, double cy,
double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives)
double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives, SubmitNodeStorage submitNodeStorage)
{
if (shape.a == 0.0)
{
@@ -417,7 +416,7 @@ public class ShapesRenderer
blockState = shape.blockState;
MultiBufferSource.BufferSource immediate = client.gameRenderer.renderBuffers().bufferSource();
//MultiBufferSource.BufferSource immediate = client.gameRenderer.renderBuffers().bufferSource();
if (!isitem)
{
// draw the block itself
@@ -433,7 +432,7 @@ public class ShapesRenderer
//renderState.model = state;
//renderState.block = blockState.getBlock();
renderState.submit(matrices, client.gameRenderer.featureRenderDispatcher().getSubmitNodeStorage(), light, OverlayTexture.NO_OVERLAY, EntityRenderState.NO_OUTLINE);
renderState.submit(matrices, submitNodeStorage, light, OverlayTexture.NO_OVERLAY, EntityRenderState.NO_OUTLINE);
//client.getBlockRenderer().renderSingleBlock(blockState, matrices, immediate, light, OverlayTexture.NO_OVERLAY);
@@ -476,7 +475,7 @@ public class ShapesRenderer
//matrices.mulPose(levelRenderState.cameraRenderState.);
blockEntityRenderer.submit(state, matrices,client.gameRenderer.featureRenderDispatcher().getSubmitNodeStorage(), levelRenderState.cameraRenderState);
blockEntityRenderer.submit(state, matrices,submitNodeStorage, levelRenderState.cameraRenderState);
//blockEntityRenderer.submit(BlockEntity, partialTick,
// matrices, light, OverlayTexture.NO_OVERLAY, camera1.getPosition(), null, client.gameRenderer.getFeatureRenderDispatcher().getSubmitNodeStorage());
@@ -492,14 +491,14 @@ public class ShapesRenderer
final ItemStackRenderState itemState = new ItemStackRenderState();
client.getItemModelResolver().updateForTopItem(itemState, shape.item, ItemDisplayContext.FIXED, client.level, null, 0);
itemState.submit(matrices, client.gameRenderer.featureRenderDispatcher().getSubmitNodeStorage(), light, OverlayTexture.NO_OVERLAY, EntityRenderState.NO_OUTLINE);
itemState.submit(matrices, submitNodeStorage, light, OverlayTexture.NO_OVERLAY, EntityRenderState.NO_OUTLINE);
//client.getItemRenderer().renderStatic(shape.item, transformType, light,
// OverlayTexture.NO_OVERLAY, matrices, immediate, client.level, (int) shape.key(client.level.registryAccess()));
}
}
matrices.popPose();
immediate.uploadAndDraw();
//immediate.uploadAndDraw();
////RenderSystem.disableCull();
////RenderSystem.disableDepthTest();
////RenderSystem.depthMask(false);
@@ -523,7 +522,7 @@ public class ShapesRenderer
}
@Override
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives)
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives, SubmitNodeStorage submitNodeStorage)
{
if (shape.a == 0.0)
{
@@ -575,22 +574,33 @@ public class ShapesRenderer
}
//try (ByteBufferBuilder bbb = new ByteBufferBuilder(RenderType.TRANSIENT_BUFFER_SIZE))
//{
MultiBufferSource.BufferSource immediate = Minecraft.getInstance().gameRenderer.renderBuffers().bufferSource();
//MultiBufferSource.BufferSource immediate = Minecraft.getInstance().gameRenderer.renderBuffers().bufferSource();
// text doesn't appear if backgroud is set
///script run draw_shape('label', 100, 'pos', [200, 100, 200], 'text', 'Hewwo World!', 'color', 0xffffffff, 'fill', 0x33333333)
//textRenderer.drawInBatch(shape.value, text_x, 0.0F, shape.textcolor, false, matrices.last().pose(), immediate, Font.DisplayMode.SEE_THROUGH, shape.textbck, 15728880);
final Font.PreparedText preparedText = textRenderer.prepareText(shape.value.getVisualOrderText(), text_x, 0.0F, shape.textcolor, false, false,0);
preparedText.visit(new Font.GlyphVisitor() {
/*preparedText.visit(new Font.GlyphVisitor() {
@Override
public void acceptRenderable(final TextRenderable renderable) {
final VertexConsumer buffer = immediate.getBuffer(renderable.renderType(Font.DisplayMode.NORMAL));
final VertexConsumer buffer = getVertexBuilder(renderable.renderType(Font.DisplayMode.NORMAL));
renderable.render(matrices.last().pose(), buffer, LightCoordsUtil.FULL_BRIGHT, false);
}
});
immediate.uploadAndDraw();
preparedText.visit(new Font.GlyphVisitor() {
@Override
public void acceptRenderable(final TextRenderable renderable) {
//final VertexConsumer buffer = immediate.getBuffer(renderable.renderType(Font.DisplayMode.NORMAL));
renderable.render(matrices.last().pose(), buffer, LightCoordsUtil.FULL_BRIGHT, false);
}
});
*/
//immediate.uploadAndDraw();
//}
matrices.popPose();
////RenderSystem.enableCull();
@@ -626,7 +636,7 @@ public class ShapesRenderer
}
@Override
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives)
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives, SubmitNodeStorage submitNodeStorage)
{
if (shape.a == 0.0)
{
@@ -670,7 +680,7 @@ public class ShapesRenderer
}
@Override
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives)
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives, SubmitNodeStorage submitNodeStorage)
{
Vec3 v1 = shape.relativiseRender(client.level, shape.from, partialTick);
Vec3 v2 = shape.relativiseRender(client.level, shape.to, partialTick);
@@ -685,8 +695,8 @@ public class ShapesRenderer
public static class RenderedPolyface extends RenderedShape<ShapeDispatcher.Polyface>
{
// mode now can only be 4, 5, or 6
private static final VertexFormat.Mode[] faceIndices = new VertexFormat.Mode[]{
Mode.LINES, Mode.LINES, Mode.DEBUG_LINES, Mode.DEBUG_LINE_STRIP, Mode.TRIANGLES, Mode.TRIANGLE_STRIP, Mode.TRIANGLE_FAN, Mode.QUADS};
//private static final VertexFormat.Mode[] faceIndices = new VertexFormat.Mode[]{
// Mode.LINES, Mode.LINES, Mode.DEBUG_LINES, Mode.DEBUG_LINE_STRIP, Mode.TRIANGLES, Mode.TRIANGLE_STRIP, Mode.TRIANGLE_FAN, Mode.QUADS};
private static final RenderType [] renderTypes = new RenderType[] {
RenderTypes.lines(),
@@ -742,7 +752,7 @@ public class ShapesRenderer
@Override
public void renderLines(PoseStack matrices, double cx, double cy,
double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives)
double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives, SubmitNodeStorage submitNodeStorage)
{
if (shape.a == 0)
{
@@ -877,7 +887,7 @@ public class ShapesRenderer
}
@Override
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives)
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives, SubmitNodeStorage submitNodeStorage)
{
if (shape.a == 0.0)
{
@@ -913,7 +923,7 @@ public class ShapesRenderer
}
@Override
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives)
public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives, SubmitNodeStorage submitNodeStorage)
{
if (shape.a == 0.0)
{