aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java
diff options
context:
space:
mode:
authorIRONM00N <64110067+IRONM00N@users.noreply.github.com>2022-02-27 11:53:57 -0500
committerIRONM00N <64110067+IRONM00N@users.noreply.github.com>2022-02-27 11:53:57 -0500
commitb09f774d422263ce15b97d6d0804beddf856176d (patch)
treee542258481d7496b15679f3c329ef9e087c7d8fc /src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java
parent22cb02adbeb24b7ec98f843bcaba99cebe3e4f03 (diff)
downloadnotenoughupdates-b09f774d422263ce15b97d6d0804beddf856176d.tar.gz
notenoughupdates-b09f774d422263ce15b97d6d0804beddf856176d.tar.bz2
notenoughupdates-b09f774d422263ce15b97d6d0804beddf856176d.zip
feat: improve formating :)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java350
1 files changed, 180 insertions, 170 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java
index 2d681bc3..b56737e7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/MiningStuff.java
@@ -26,174 +26,184 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import java.util.Map;
public class MiningStuff {
- private static BlockPos overlayLoc = null;
- private static long titaniumNotifMillis = 0;
- private static Minecraft mc;
-
- public MiningStuff() {
- mc = Minecraft.getMinecraft();
- }
-
- public static void processBlockChangePacket(S23PacketBlockChange packetIn) {
- if (!NotEnoughUpdates.INSTANCE.config.mining.titaniumAlert) {
- return;
- }
-
- IBlockState state = packetIn.getBlockState();
- if (SBInfo.getInstance().getLocation() != null &&
- SBInfo.getInstance().getLocation().startsWith("mining_") &&
- state.getBlock() == Blocks.stone && state.getValue(BlockStone.VARIANT) == BlockStone.EnumType.DIORITE_SMOOTH) {
-
- for (Map.Entry<String, Float> entry : MiningOverlay.commissionProgress.entrySet()) {
- String s = entry.getKey();
- if (s.contains("Titanium")) {
- if (entry.getValue() == 1f) {
- return;
- }
- BlockPos pos = packetIn.getBlockPosition();
-
- IBlockState existingBlock = Minecraft.getMinecraft().theWorld.getBlockState(pos);
- if (existingBlock == null) return;
- if (existingBlock.getBlock() == Blocks.stone && existingBlock.getValue(BlockStone.VARIANT) == BlockStone.EnumType.DIORITE_SMOOTH)
- return;
- if (!checkIfAnyIsAir(getAttachedBlocks(pos)) && NotEnoughUpdates.INSTANCE.config.mining.titaniumAlertMustBeVisible)
- return;
- BlockPos player = Minecraft.getMinecraft().thePlayer.getPosition();
-
- double distSq = pos.distanceSq(player);
-
- if (distSq < 12 * 12) {
- titaniumNotifMillis = System.currentTimeMillis();
- }
- return;
- }
- }
- }
- }
-
- private static BlockPos[] getAttachedBlocks(BlockPos block) {
- BlockPos[] blocks = new BlockPos[6];
- blocks[0] = new BlockPos(block.getX() - 1, block.getY(), block.getZ());
- blocks[1] = new BlockPos(block.getX() + 1, block.getY(), block.getZ());
- blocks[2] = new BlockPos(block.getX(), block.getY() - 1, block.getZ());
- blocks[3] = new BlockPos(block.getX(), block.getY() + 1, block.getZ());
- blocks[4] = new BlockPos(block.getX(), block.getY(), block.getZ() - 1);
- blocks[5] = new BlockPos(block.getX(), block.getY(), block.getZ() + 1);
- return blocks;
- }
-
- private static boolean checkIfAnyIsAir(BlockPos[] blocks) {
- for (BlockPos block : blocks) {
- if (mc.theWorld.getBlockState(block).getBlock() instanceof BlockAir) {
- return true;
- }
- }
- return false;
- }
-
- @SubscribeEvent
- public void onRenderOverlay(RenderGameOverlayEvent.Post event) {
- if (!NotEnoughUpdates.INSTANCE.config.mining.titaniumAlert) {
- return;
- }
- if (titaniumNotifMillis <= 0) return;
-
- int delta = (int) (System.currentTimeMillis() - titaniumNotifMillis);
- int notifLen = 5000;
- int fadeLen = 500;
- if (delta > 0 && delta < notifLen && event.type == RenderGameOverlayEvent.ElementType.ALL) {
- ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
- int width = scaledResolution.getScaledWidth();
- int height = scaledResolution.getScaledHeight();
-
- GlStateManager.enableBlend();
- GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
-
- GlStateManager.pushMatrix();
- GlStateManager.translate((float) (width / 2), (float) (height / 2), 0.0F);
- GlStateManager.scale(4.0F, 4.0F, 4.0F);
-
- int colour1 = 0xcc;
- int colour2 = 0xff;
-
- double factor = (Math.sin(delta * 2 * Math.PI / 1000) + 1) / 2;
- int colour = (int) (colour1 * factor + colour2 * (1 - factor));
-
- int alpha = 255;
- if (delta < fadeLen) {
- alpha = delta * 255 / fadeLen;
- } else if (delta > notifLen - fadeLen) {
- alpha = (notifLen - delta) * 255 / fadeLen;
- }
-
- if (alpha > 10) {
- TextRenderUtils.drawStringCenteredScaledMaxWidth("Titanium has spawned nearby!", Minecraft.getMinecraft().fontRendererObj,
- 0, 0, true, width / 4 - 20, colour | (colour << 8) | (colour << 16) | (alpha << 24));
- }
-
- GlStateManager.popMatrix();
- }
- }
-
- @SubscribeEvent
- public void renderWorldLast(RenderWorldLastEvent event) {
- if (overlayLoc == null) return;
-
- Entity viewer = Minecraft.getMinecraft().getRenderViewEntity();
- double viewerX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * event.partialTicks;
- double viewerY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * event.partialTicks;
- double viewerZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * event.partialTicks;
-
- AxisAlignedBB bb = new AxisAlignedBB(
- overlayLoc.getX() - viewerX,
- overlayLoc.getY() - viewerY,
- overlayLoc.getZ() - viewerZ,
- overlayLoc.getX() + 1 - viewerX,
- overlayLoc.getY() + 1 - viewerY,
- overlayLoc.getZ() + 1 - viewerZ).expand(0.01f, 0.01f, 0.01f);
-
- GlStateManager.disableCull();
- CustomItemEffects.drawFilledBoundingBox(bb, 1f, SpecialColour.special(0, 100, 0xff0000));
- GlStateManager.enableCull();
- GlStateManager.enableTexture2D();
- }
-
- @SubscribeEvent
- public void onLoadWorld(WorldEvent.Load event) {
- overlayLoc = null;
- }
-
- @SubscribeEvent
- public void onChatReceived(ClientChatReceivedEvent event) {
- if (!NotEnoughUpdates.INSTANCE.config.mining.puzzlerSolver) {
- overlayLoc = null;
- return;
- }
-
- if (event.message.getFormattedText().startsWith("\u00A7e[NPC] \u00A7dPuzzler") &&
- event.message.getUnformattedText().contains(":")) {
- String clean = Utils.cleanColour(event.message.getUnformattedText());
- clean = clean.split(":")[1].trim();
-
- BlockPos pos = new BlockPos(181, 195, 135);
-
- for (int i = 0; i < clean.length(); i++) {
- char c = clean.charAt(i);
-
- if (c == '\u25C0') { //Left
- pos = pos.add(1, 0, 0);
- } else if (c == '\u25B2') { //Up
- pos = pos.add(0, 0, 1);
- } else if (c == '\u25BC') { //Down
- pos = pos.add(0, 0, -1);
- } else if (c == '\u25B6') { //Right
- pos = pos.add(-1, 0, 0);
- } else {
- return;
- }
- }
-
- overlayLoc = pos;
- }
- }
+ private static BlockPos overlayLoc = null;
+ private static long titaniumNotifMillis = 0;
+ private static Minecraft mc;
+
+ public MiningStuff() {
+ mc = Minecraft.getMinecraft();
+ }
+
+ public static void processBlockChangePacket(S23PacketBlockChange packetIn) {
+ if (!NotEnoughUpdates.INSTANCE.config.mining.titaniumAlert) {
+ return;
+ }
+
+ IBlockState state = packetIn.getBlockState();
+ if (SBInfo.getInstance().getLocation() != null &&
+ SBInfo.getInstance().getLocation().startsWith("mining_") &&
+ state.getBlock() == Blocks.stone && state.getValue(BlockStone.VARIANT) == BlockStone.EnumType.DIORITE_SMOOTH) {
+
+ for (Map.Entry<String, Float> entry : MiningOverlay.commissionProgress.entrySet()) {
+ String s = entry.getKey();
+ if (s.contains("Titanium")) {
+ if (entry.getValue() == 1f) {
+ return;
+ }
+ BlockPos pos = packetIn.getBlockPosition();
+
+ IBlockState existingBlock = Minecraft.getMinecraft().theWorld.getBlockState(pos);
+ if (existingBlock == null) return;
+ if (existingBlock.getBlock() == Blocks.stone &&
+ existingBlock.getValue(BlockStone.VARIANT) == BlockStone.EnumType.DIORITE_SMOOTH)
+ return;
+ if (!checkIfAnyIsAir(getAttachedBlocks(pos)) &&
+ NotEnoughUpdates.INSTANCE.config.mining.titaniumAlertMustBeVisible)
+ return;
+ BlockPos player = Minecraft.getMinecraft().thePlayer.getPosition();
+
+ double distSq = pos.distanceSq(player);
+
+ if (distSq < 12 * 12) {
+ titaniumNotifMillis = System.currentTimeMillis();
+ }
+ return;
+ }
+ }
+ }
+ }
+
+ private static BlockPos[] getAttachedBlocks(BlockPos block) {
+ BlockPos[] blocks = new BlockPos[6];
+ blocks[0] = new BlockPos(block.getX() - 1, block.getY(), block.getZ());
+ blocks[1] = new BlockPos(block.getX() + 1, block.getY(), block.getZ());
+ blocks[2] = new BlockPos(block.getX(), block.getY() - 1, block.getZ());
+ blocks[3] = new BlockPos(block.getX(), block.getY() + 1, block.getZ());
+ blocks[4] = new BlockPos(block.getX(), block.getY(), block.getZ() - 1);
+ blocks[5] = new BlockPos(block.getX(), block.getY(), block.getZ() + 1);
+ return blocks;
+ }
+
+ private static boolean checkIfAnyIsAir(BlockPos[] blocks) {
+ for (BlockPos block : blocks) {
+ if (mc.theWorld.getBlockState(block).getBlock() instanceof BlockAir) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @SubscribeEvent
+ public void onRenderOverlay(RenderGameOverlayEvent.Post event) {
+ if (!NotEnoughUpdates.INSTANCE.config.mining.titaniumAlert) {
+ return;
+ }
+ if (titaniumNotifMillis <= 0) return;
+
+ int delta = (int) (System.currentTimeMillis() - titaniumNotifMillis);
+ int notifLen = 5000;
+ int fadeLen = 500;
+ if (delta > 0 && delta < notifLen && event.type == RenderGameOverlayEvent.ElementType.ALL) {
+ ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
+ int width = scaledResolution.getScaledWidth();
+ int height = scaledResolution.getScaledHeight();
+
+ GlStateManager.enableBlend();
+ GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
+
+ GlStateManager.pushMatrix();
+ GlStateManager.translate((float) (width / 2), (float) (height / 2), 0.0F);
+ GlStateManager.scale(4.0F, 4.0F, 4.0F);
+
+ int colour1 = 0xcc;
+ int colour2 = 0xff;
+
+ double factor = (Math.sin(delta * 2 * Math.PI / 1000) + 1) / 2;
+ int colour = (int) (colour1 * factor + colour2 * (1 - factor));
+
+ int alpha = 255;
+ if (delta < fadeLen) {
+ alpha = delta * 255 / fadeLen;
+ } else if (delta > notifLen - fadeLen) {
+ alpha = (notifLen - delta) * 255 / fadeLen;
+ }
+
+ if (alpha > 10) {
+ TextRenderUtils.drawStringCenteredScaledMaxWidth(
+ "Titanium has spawned nearby!",
+ Minecraft.getMinecraft().fontRendererObj,
+ 0,
+ 0,
+ true,
+ width / 4 - 20,
+ colour | (colour << 8) | (colour << 16) | (alpha << 24)
+ );
+ }
+
+ GlStateManager.popMatrix();
+ }
+ }
+
+ @SubscribeEvent
+ public void renderWorldLast(RenderWorldLastEvent event) {
+ if (overlayLoc == null) return;
+
+ Entity viewer = Minecraft.getMinecraft().getRenderViewEntity();
+ double viewerX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * event.partialTicks;
+ double viewerY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * event.partialTicks;
+ double viewerZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * event.partialTicks;
+
+ AxisAlignedBB bb = new AxisAlignedBB(
+ overlayLoc.getX() - viewerX,
+ overlayLoc.getY() - viewerY,
+ overlayLoc.getZ() - viewerZ,
+ overlayLoc.getX() + 1 - viewerX,
+ overlayLoc.getY() + 1 - viewerY,
+ overlayLoc.getZ() + 1 - viewerZ
+ ).expand(0.01f, 0.01f, 0.01f);
+
+ GlStateManager.disableCull();
+ CustomItemEffects.drawFilledBoundingBox(bb, 1f, SpecialColour.special(0, 100, 0xff0000));
+ GlStateManager.enableCull();
+ GlStateManager.enableTexture2D();
+ }
+
+ @SubscribeEvent
+ public void onLoadWorld(WorldEvent.Load event) {
+ overlayLoc = null;
+ }
+
+ @SubscribeEvent
+ public void onChatReceived(ClientChatReceivedEvent event) {
+ if (!NotEnoughUpdates.INSTANCE.config.mining.puzzlerSolver) {
+ overlayLoc = null;
+ return;
+ }
+
+ if (event.message.getFormattedText().startsWith("\u00A7e[NPC] \u00A7dPuzzler") &&
+ event.message.getUnformattedText().contains(":")) {
+ String clean = Utils.cleanColour(event.message.getUnformattedText());
+ clean = clean.split(":")[1].trim();
+
+ BlockPos pos = new BlockPos(181, 195, 135);
+
+ for (int i = 0; i < clean.length(); i++) {
+ char c = clean.charAt(i);
+
+ if (c == '\u25C0') { //Left
+ pos = pos.add(1, 0, 0);
+ } else if (c == '\u25B2') { //Up
+ pos = pos.add(0, 0, 1);
+ } else if (c == '\u25BC') { //Down
+ pos = pos.add(0, 0, -1);
+ } else if (c == '\u25B6') { //Right
+ pos = pos.add(-1, 0, 0);
+ } else {
+ return;
+ }
+ }
+
+ overlayLoc = pos;
+ }
+ }
}