summaryrefslogtreecommitdiff
path: root/src/main/java/com/arslaancodes/arslaansmagichax/modules/impl/Xray.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/arslaancodes/arslaansmagichax/modules/impl/Xray.java')
-rw-r--r--src/main/java/com/arslaancodes/arslaansmagichax/modules/impl/Xray.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/main/java/com/arslaancodes/arslaansmagichax/modules/impl/Xray.java b/src/main/java/com/arslaancodes/arslaansmagichax/modules/impl/Xray.java
new file mode 100644
index 0000000..51e16ca
--- /dev/null
+++ b/src/main/java/com/arslaancodes/arslaansmagichax/modules/impl/Xray.java
@@ -0,0 +1,65 @@
+package com.arslaancodes.arslaansmagichax.modules.impl;
+
+import com.arslaancodes.arslaansmagichax.modules.Category;
+import com.arslaancodes.arslaansmagichax.modules.Module;
+import com.arslaancodes.arslaansmagichax.modules.settings.ModeSetting;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import net.minecraft.network.chat.Component;
+import net.minecraft.world.level.block.Blocks;
+import net.minecraft.world.level.block.state.BlockState;
+
+public class Xray extends Module {
+ private List<BlockState> interestingBlocks = new ArrayList<>();
+
+ public Xray() {
+ super("Xray", "Allows you to see through blocks.", -1, Category.RENDER);
+
+ // Add ores, spawners, liquids, etc.
+ interestingBlocks.add(Blocks.DIAMOND_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.DEEPSLATE_DIAMOND_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.GOLD_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.DEEPSLATE_GOLD_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.IRON_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.DEEPSLATE_IRON_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.REDSTONE_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.DEEPSLATE_REDSTONE_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.LAPIS_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.DEEPSLATE_LAPIS_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.EMERALD_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.DEEPSLATE_EMERALD_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.COAL_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.DEEPSLATE_COAL_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.COPPER_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.DEEPSLATE_COPPER_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.NETHER_QUARTZ_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.NETHER_GOLD_ORE.defaultBlockState());
+ interestingBlocks.add(Blocks.SPAWNER.defaultBlockState());
+ interestingBlocks.add(Blocks.CHEST.defaultBlockState());
+ interestingBlocks.add(Blocks.ANCIENT_DEBRIS.defaultBlockState());
+ interestingBlocks.add(Blocks.GLOWSTONE.defaultBlockState());
+ interestingBlocks.add(Blocks.WATER.defaultBlockState());
+ interestingBlocks.add(Blocks.LAVA.defaultBlockState());
+ }
+
+ @Override
+ protected void onEnable() {
+ if (mc.levelRenderer != null) mc.levelRenderer.allChanged();
+
+ if (mc.player != null) mc.player.displayClientMessage(Component.literal("[Xray] It is recommended to use this hack with Fullbright for a better experience."), false);
+ }
+
+
+ @Override
+ protected void onDisable() {
+ if (mc.levelRenderer != null) mc.levelRenderer.allChanged();
+ }
+
+ public boolean isInterestingBlock(BlockState state) {
+ return interestingBlocks.contains(state);
+ }
+
+ // xraying is handled in BlockMixin.java
+}
+