summaryrefslogtreecommitdiff
path: root/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2025-10-09 19:50:29 +1300
committerArslaan Pathan <[email protected]>2025-10-09 19:50:29 +1300
commitadff95bf54b19b1ad511f7412c976ed329a371e9 (patch)
treef91d4f381ffe2ac6add3d0ddca1258b8159dd638 /src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java
parente28913e8c1013008f149fb6dd99f8ff2c1ca2665 (diff)
downloadarslaansmagichax-adff95bf54b19b1ad511f7412c976ed329a371e9.tar.xz
arslaansmagichax-adff95bf54b19b1ad511f7412c976ed329a371e9.zip
i dont know
Diffstat (limited to 'src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java')
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java
new file mode 100644
index 0000000..a57c855
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java
@@ -0,0 +1,82 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
+
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.minecraft.block.AbstractBlock;
+import net.minecraft.block.BlockState;
+import net.minecraft.block.Blocks;
+import net.minecraft.entity.effect.StatusEffectInstance;
+import net.minecraft.entity.effect.StatusEffects;
+import net.minecraft.registry.Registries;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Xray extends Module {
+ private List<BlockState> interestingBlocks = new ArrayList<>();
+ private double previousGamma = 1.0;
+ private boolean setPreviousGamma = false;
+
+ public Xray() {
+ super("Xray", "Allows you to see through blocks.", -1, Category.RENDER);
+
+ interestingBlocks.add(Blocks.DIAMOND_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.DEEPSLATE_DIAMOND_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.GOLD_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.DEEPSLATE_GOLD_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.IRON_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.DEEPSLATE_IRON_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.REDSTONE_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.DEEPSLATE_REDSTONE_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.LAPIS_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.DEEPSLATE_LAPIS_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.EMERALD_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.DEEPSLATE_EMERALD_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.COAL_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.DEEPSLATE_COAL_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.COPPER_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.DEEPSLATE_COPPER_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.NETHER_QUARTZ_ORE.getDefaultState());
+ interestingBlocks.add(Blocks.NETHER_GOLD_ORE.getDefaultState());
+
+ interestingBlocks.add(Blocks.SPAWNER.getDefaultState());
+ interestingBlocks.add(Blocks.CHEST.getDefaultState());
+ interestingBlocks.add(Blocks.ANCIENT_DEBRIS.getDefaultState());
+ interestingBlocks.add(Blocks.GLOWSTONE.getDefaultState());
+
+ interestingBlocks.add(Blocks.WATER.getDefaultState());
+ interestingBlocks.add(Blocks.LAVA.getDefaultState());
+ }
+
+ @Override
+ protected void onEnable() {
+ if (mc.worldRenderer == null) return;
+
+ mc.worldRenderer.reload();
+ }
+
+ @Override
+ public void tick() {
+ if (!this.isEnabled() || mc.player == null || mc.world == null || mc.options == null) return;
+
+ if (!setPreviousGamma) previousGamma = mc.options.getGamma().getValue();
+ setPreviousGamma = true;
+ mc.options.getGamma().setValue(1000.0);
+ mc.player.addStatusEffect(new StatusEffectInstance(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()), 1, 255));
+ }
+
+ @Override
+ protected void onDisable() {
+ if (mc.worldRenderer == null || mc.options == null) return;
+
+ mc.worldRenderer.reload();
+ mc.options.getGamma().setValue(previousGamma);
+ setPreviousGamma = false;
+ }
+
+ public boolean isInterestingBlock(BlockState state) {
+ return interestingBlocks.contains(state);
+ }
+
+ // xraying is handled in BlockMixin
+}