summaryrefslogtreecommitdiff
path: root/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules')
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java20
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java31
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java82
3 files changed, 118 insertions, 15 deletions
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java
index e48d9a6..5c95e1e 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java
@@ -2,10 +2,13 @@ package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.text.Text;
import org.lwjgl.glfw.GLFW;
public class Flight extends Module {
+ private int flyingTickCounter = 0;
+
public Flight() {
super("Flight", "Enables creative flight in survival.", GLFW.GLFW_KEY_G, Category.MOVEMENT);
}
@@ -22,6 +25,13 @@ public class Flight extends Module {
mc.player.getAbilities().allowFlying = true;
mc.player.getAbilities().flying = true;
+
+ if (flyingTickCounter >= 20) {
+ sendYPacket(-0.0625);
+ sendYPacket(0);
+ flyingTickCounter = 0;
+ }
+ flyingTickCounter++;
}
@Override
@@ -31,4 +41,14 @@ public class Flight extends Module {
mc.player.getAbilities().flying = false;
}
}
+
+ private static void sendYPacket(double height) {
+ double x = mc.player.getX();
+ double y = mc.player.getY();
+ double z = mc.player.getZ();
+
+ PlayerMoveC2SPacket packet = new PlayerMoveC2SPacket.PositionAndOnGround(x, y + height, z, false, mc.player.horizontalCollision);
+
+ mc.player.networkHandler.sendPacket(packet);
+ }
}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java
index 3085f02..bf72c6a 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java
@@ -11,10 +11,10 @@ import net.minecraft.registry.Registries;
import java.util.Objects;
public class Fullbright extends Module {
- private ModeSetting mode = new ModeSetting("Mode", "Gamma", "Effect", "Gamma");
+ private ModeSetting mode = new ModeSetting("Mode", "Gamma", "Effect", "Gamma", "Effect + Gamma");
private SimpleOption<Double> option;
private double previousGamma = 1.0;
- private boolean didSetGamma = false; // in case the mod was initialized on client load/saved state
+ private boolean setPreviousGamma = false;
public Fullbright() {
super("Fullbright", "Brightens up your world!", -1, Category.RENDER);
@@ -25,10 +25,10 @@ public class Fullbright extends Module {
protected void onEnable() {
if (mc.options == null) return;
if (Objects.equals(mode.getMode(), "Gamma")) {
- previousGamma = mc.options.getGamma().getValue();
+ if (!setPreviousGamma) previousGamma = mc.options.getGamma().getValue();
+ setPreviousGamma = true;
mc.options.getGamma().setValue(1000.0);
}
- didSetGamma = true;
}
@Override
@@ -36,19 +36,20 @@ public class Fullbright extends Module {
if (!this.isEnabled() || mc.player == null) return;
if (Objects.equals(mode.getMode(), "Effect")) {
- if (didSetGamma) {
- // undo gamma if switching mode
- mc.options.getGamma().setValue(previousGamma);
- didSetGamma = false;
- }
- mc.player.addStatusEffect(new StatusEffectInstance(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()), 1, 0));
+ mc.options.getGamma().setValue(previousGamma);
+ setPreviousGamma = false;
+ mc.player.addStatusEffect(new StatusEffectInstance(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()), 1, 255));
}
if (Objects.equals(mode.getMode(), "Gamma")) {
- if (!didSetGamma) {
- previousGamma = mc.options.getGamma().getValue();
- mc.options.getGamma().setValue(1000.0);
- didSetGamma = true;
- }
+ if (!setPreviousGamma) previousGamma = mc.options.getGamma().getValue();
+ setPreviousGamma = true;
+ mc.options.getGamma().setValue(1000.0);
+ }
+ if (Objects.equals(mode.getMode(), "Effect + Gamma")) {
+ 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));
}
}
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
+}