26.2-snap-6
This commit is contained in:
1 parent
6e332f9c0b
commit
83aea79da0
8 files changed
+79
-51
No files matched your search
+1
-1
@@ -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)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user