Update to 1.15.1

This commit is contained in:
Marcel Konrad
2019-12-26 19:18:34 +01:00
parent d68b9126d0
commit efdcf51c23
29 changed files with 416 additions and 285 deletions

View File

@@ -1,20 +1,13 @@
package exopandora.worldhandler.event;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.ParseResults;
import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import exopandora.worldhandler.config.Config;
import exopandora.worldhandler.util.BlockHelper;
import exopandora.worldhandler.util.CommandHelper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.command.CommandSource;
import net.minecraft.util.math.Vec3d;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.ClientChatEvent;
@@ -27,63 +20,66 @@ public class ClientEventHandler
@SubscribeEvent
public static void renderWorldLastEvent(RenderWorldLastEvent event)
{
if(Config.getSettings().highlightBlocks() && Minecraft.getInstance().world != null && Minecraft.getInstance().getRenderManager().info != null)
{
GlStateManager.pushMatrix();
GlStateManager.disableAlphaTest();
GlStateManager.enableBlend();
GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
GlStateManager.lineWidth(2.0F);
GlStateManager.disableTexture();
GlStateManager.depthMask(false);
final double constant = 0.0020000000949949026D;
Vec3d projected = Minecraft.getInstance().getRenderManager().info.getProjectedView();
double minX = Math.min(BlockHelper.getPos1().getX(), BlockHelper.getPos2().getX()) - constant - projected.x;
double minY = Math.min(BlockHelper.getPos1().getY(), BlockHelper.getPos2().getY()) - constant - projected.y;
double minZ = Math.min(BlockHelper.getPos1().getZ(), BlockHelper.getPos2().getZ()) - constant - projected.z;
double maxX = Math.max(BlockHelper.getPos1().getX(), BlockHelper.getPos2().getX()) + constant - projected.x + 1;
double maxY = Math.max(BlockHelper.getPos1().getY(), BlockHelper.getPos2().getY()) + constant - projected.y + 1;
double maxZ = Math.max(BlockHelper.getPos1().getZ(), BlockHelper.getPos2().getZ()) + constant - projected.z + 1;
Tessellator tesselator = Tessellator.getInstance();
BufferBuilder buffer = tesselator.getBuffer();
final int alpha = 255;
final int color1 = 223;
final int color2 = 127;
GlStateManager.lineWidth(2.0F);
buffer.begin(3, DefaultVertexFormats.POSITION_COLOR);
buffer.pos(minX, minY, minZ).color((float) color1, (float) color1, (float) color1, 0.0F).endVertex();
buffer.pos(minX, minY, minZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(maxX, minY, minZ).color(color1, color2, color2, alpha).endVertex();
buffer.pos(maxX, minY, maxZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(minX, minY, maxZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(minX, minY, minZ).color(color2, color2, color1, alpha).endVertex();
buffer.pos(minX, maxY, minZ).color(color2, color1, color2, alpha).endVertex();
buffer.pos(maxX, maxY, minZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(maxX, maxY, maxZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(minX, maxY, maxZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(minX, maxY, minZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(minX, maxY, maxZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(minX, minY, maxZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(maxX, minY, maxZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(maxX, maxY, maxZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(maxX, maxY, minZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(maxX, minY, minZ).color(color1, color1, color1, alpha).endVertex();
buffer.pos(maxX, minY, minZ).color((float) color1, (float) color1, (float) color1, 0.0F).endVertex();
tesselator.draw();
GlStateManager.lineWidth(1.0F);
GlStateManager.depthMask(true);
GlStateManager.enableTexture();
GlStateManager.disableBlend();
GlStateManager.enableAlphaTest();
GlStateManager.popMatrix();
}
// if(Config.getSettings().highlightBlocks() && Minecraft.getInstance().world != null && Minecraft.getInstance().getRenderManager().info != null)
// {
// final double constant = 0.0020000000949949026D;
// Vec3d projected = Minecraft.getInstance().getRenderManager().info.getProjectedView();
//
// double minX = Math.min(BlockHelper.getPos1().getX(), BlockHelper.getPos2().getX()) - constant - projected.getX();
// double minY = Math.min(BlockHelper.getPos1().getY(), BlockHelper.getPos2().getY()) - constant - projected.getY();
// double minZ = Math.min(BlockHelper.getPos1().getZ(), BlockHelper.getPos2().getZ()) - constant - projected.getZ();
//
// double maxX = Math.max(BlockHelper.getPos1().getX(), BlockHelper.getPos2().getX()) + constant - projected.getX() + 1;
// double maxY = Math.max(BlockHelper.getPos1().getY(), BlockHelper.getPos2().getY()) + constant - projected.getY() + 1;
// double maxZ = Math.max(BlockHelper.getPos1().getZ(), BlockHelper.getPos2().getZ()) + constant - projected.getZ() + 1;
//
// IVertexBuilder builder = Minecraft.getInstance().func_228019_au_().func_228487_b_().getBuffer(RenderType.func_228659_m_());
// WorldRenderer.func_228427_a_(event.getMatrixStack(), builder, minX, minY, minZ, maxX, maxY, maxZ, 1.0F, 0.5F, 0.5F, 1.0F);
//
// RenderSystem.pushMatrix();
// RenderSystem.disableAlphaTest();
// RenderSystem.enableBlend();
// RenderSystem.defaultBlendFunc();
// RenderSystem.lineWidth(2.0F);
// RenderSystem.disableTexture();
// RenderSystem.depthMask(false);
//
// Tessellator tesselator = Tessellator.getInstance();
// BufferBuilder buffer = tesselator.getBuffer();
//
// final int alpha = 255;
// final int color1 = 223;
// final int color2 = 127;
//
// RenderSystem.lineWidth(2.0F);
// buffer.begin(3, DefaultVertexFormats.POSITION_COLOR);
// buffer.func_225582_a_(minX, minY, minZ).func_225586_a_(color1, color1, color1, 0).endVertex();
// buffer.func_225582_a_(minX, minY, minZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(maxX, minY, minZ).func_225586_a_(color1, color2, color2, alpha).endVertex();
// buffer.func_225582_a_(maxX, minY, maxZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(minX, minY, maxZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(minX, minY, minZ).func_225586_a_(color2, color2, color1, alpha).endVertex();
// buffer.func_225582_a_(minX, maxY, minZ).func_225586_a_(color2, color1, color2, alpha).endVertex();
// buffer.func_225582_a_(maxX, maxY, minZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(maxX, maxY, maxZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(minX, maxY, maxZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(minX, maxY, minZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(minX, maxY, maxZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(minX, minY, maxZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(maxX, minY, maxZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(maxX, maxY, maxZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(maxX, maxY, minZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(maxX, minY, minZ).func_225586_a_(color1, color1, color1, alpha).endVertex();
// buffer.func_225582_a_(maxX, minY, minZ).func_225586_a_(color1, color1, color1, 0).endVertex();
// tesselator.draw();
//
// RenderSystem.lineWidth(1.0F);
// RenderSystem.depthMask(true);
// RenderSystem.enableTexture();
// RenderSystem.disableBlend();
// RenderSystem.enableAlphaTest();
// RenderSystem.popMatrix();
// }
}
@SubscribeEvent