Skip to content

Commit

Permalink
Merge pull request #2 from tanishisherewithhh/v2.2.2
Browse files Browse the repository at this point in the history
V2.2.2
  • Loading branch information
tanishisherewithhh authored Feb 18, 2023
2 parents 46d5a31 + e1a246e commit 7b9871c
Show file tree
Hide file tree
Showing 24 changed files with 268 additions and 42 deletions.
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ org.gradle.parallel=true
loader_version=0.14.11

# Mod Properties
mod_version = 2.2.1
mod_version = 2.2.2
maven_group = net.smphack
archives_base_name = smp-hack

# Dependencies
fabric_version=0.68.1+1.19.3
fabric_version=0.68.1+1.19.3
21 changes: 21 additions & 0 deletions src/main/java/net/fabricmc/smphack/CrystalModifier.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package net.fabricmc.smphack;

import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.entity.Entity;

import java.util.HashMap;

@Environment(EnvType.CLIENT)
public class CrystalModifier implements ClientModInitializer {
public static final int delay = 0;
public static final HashMap<Entity, Integer> toKill = new HashMap<>();

public CrystalModifier() {
}

public void onInitializeClient() {
toKill.clear();
}
}
14 changes: 13 additions & 1 deletion src/main/java/net/fabricmc/smphack/HUDoverlay.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ public class HUDoverlay implements HudRenderCallback {
Fullbright fullbright = new Fullbright();
SpeedMine speedmine= new SpeedMine();
NoWeather noWeather=new NoWeather();
float prevRainGradient;
int tw = 10;
int th = 10;
boolean Fullbright;
Expand Down Expand Up @@ -74,6 +75,12 @@ public class HUDoverlay implements HudRenderCallback {
GLFW.GLFW_KEY_V,
"Imperials"
));
private static final KeyBinding VelocityKey = KeyBindingHelper.registerKeyBinding(new KeyBinding(
"Veloctiy toggle",
InputUtil.Type.KEYSYM,
GLFW.GLFW_KEY_B,
"Imperials"
));

MinecraftClient mc = MinecraftClient.getInstance();
@Override
Expand All @@ -82,6 +89,9 @@ public void onHudRender(MatrixStack matrices, float tickDelta) {
if (mc != null )
{
assert mc.player != null;
assert MinecraftClient.getInstance().world != null;
prevRainGradient = MinecraftClient.getInstance().world.getRainGradient(prevRainGradient);


//To stop rendering if debug screen or F3 menu is enabled
if (mc.options.debugEnabled) {return;}
Expand Down Expand Up @@ -191,9 +201,11 @@ public void onHudRender(MatrixStack matrices, float tickDelta) {
}
else
{
if(MinecraftClient.getInstance().world.isRaining()) {
MinecraftClient.getInstance().world.setRainGradient(0);
}
}


}
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/net/fabricmc/smphack/RGBtext/CharacterMode.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ public static void init() {

int screenWidth = MinecraftClient.getInstance().getWindow().getScaledWidth();
//End of initializing variables;
String text = "X " + xp + " Y " + yp + " Z " + zp;
String text = "X " + xp + " Y " + yp + " Z " + zp;
String FPS = "FPS "+fps;
String LOGO = "SMP-Hack v2-2-0";
String LOGO = "SMP-Hack v2-2-2";
String Speed="BPS "+bps;
int x_offset = 0;

Expand Down
17 changes: 7 additions & 10 deletions src/main/java/net/fabricmc/smphack/config/ControllersConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ public class ControllersConfig implements ConfigData {
public static String CoordsSide = "BottomLeft";
private boolean enableSpeedmine = false;
private int flySpeed = 10;
private boolean enableCommand = false;
private String commandName = ".freecam";
private boolean NoHurtCam=false;
private boolean actionBar = true;

public float getJETPACK_MAX_SPEED() {
Expand Down Expand Up @@ -58,6 +57,12 @@ public boolean getFullbright() {
public void setFullbright(boolean fullbright) {
this.Fullbright=fullbright;
}
public boolean getNoHurtCam() {
return NoHurtCam;
}
public void setNoHurtCam(boolean noHurtCam) {
this.NoHurtCam=noHurtCam;
}

public boolean getNoWeather() {
return NoWeather;
Expand Down Expand Up @@ -98,14 +103,6 @@ public void setFlySpeed(int flySpeed) {
this.flySpeed = flySpeed;
}

public boolean isEnableCommand() {
return enableCommand;
}

public String getCommandName() {
return commandName;
}

public boolean isActionBar() {
return actionBar;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,10 @@ public ConfigScreenFactory<?> getModConfigScreenFactory() {
.setDefaultValue(false)
.setSaveConsumer(newValue -> GeneralConfig.getConfig().setNoWeather(newValue))
.build());
settings.addEntry(entryBuilder.startBooleanToggle(Text.of("NoHurtCam"), GeneralConfig.getConfig().getNoHurtCam())
.setDefaultValue(false)
.setSaveConsumer(newValue -> GeneralConfig.getConfig().setNoHurtCam(newValue))
.build());

settings.addEntry(entryBuilder.startBooleanToggle(Text.of("Antikick for creative fly"), GeneralConfig.getConfig().isEnableAntikick())
.setDefaultValue(true)
Expand Down
6 changes: 0 additions & 6 deletions src/main/java/net/fabricmc/smphack/fullbright/fullbright.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package net.fabricmc.smphack.mixin;

import net.minecraft.util.Hand;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.Entity;
import net.minecraft.entity.decoration.EndCrystalEntity;
import net.minecraft.item.HoeItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ToolItem;
import net.minecraft.item.ToolMaterial;
import net.minecraft.item.ToolMaterials;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.network.ClientConnection;
import net.minecraft.network.Packet;
import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.hit.EntityHitResult;
import net.minecraft.entity.Entity.RemovalReason;
import net.minecraft.util.hit.HitResult.Type;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

//Crystal modifier mixin
@Mixin({ClientConnection.class})
public class ClientConnectionMixin {
public ClientConnectionMixin() {
}

@Inject(
method = {"send(Lnet/minecraft/network/Packet;)V"},
at = {@At("HEAD")}
)
private void onPacketSend(Packet<?> packet, CallbackInfo info) {
final MinecraftClient mc = MinecraftClient.getInstance();
if (packet instanceof PlayerInteractEntityC2SPacket interactPacket) {
interactPacket.handle(new PlayerInteractEntityC2SPacket.Handler() {
public void interact(Hand hand) {
}

public void interactAt(Hand hand, Vec3d pos) {
}

public void attack() {
HitResult hitResult = mc.crosshairTarget;
if (hitResult != null) {
if (hitResult.getType() == Type.ENTITY) {
EntityHitResult entityHitResult = (EntityHitResult)hitResult;
Entity entity = entityHitResult.getEntity();
if (entity instanceof EndCrystalEntity) {
assert mc.player != null;
StatusEffectInstance weakness = mc.player.getStatusEffect(StatusEffects.WEAKNESS);
StatusEffectInstance strength = mc.player.getStatusEffect(StatusEffects.STRENGTH);
if (weakness != null && (strength == null || strength.getAmplifier() <= weakness.getAmplifier()) && !ClientConnectionMixin.this.isTool(mc.player.getMainHandStack())) {
return;
}

entity.kill();
entity.setRemoved(RemovalReason.KILLED);
entity.onRemoved();
}
}

}
}
});
}

}

private boolean isTool(ItemStack itemStack) {
if (itemStack.getItem() instanceof ToolItem && !(itemStack.getItem() instanceof HoeItem)) {
ToolMaterial material = ((ToolItem)itemStack.getItem()).getMaterial();
return material == ToolMaterials.DIAMOND || material == ToolMaterials.NETHERITE;
} else {
return false;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

//NoWeather mixin
@Mixin(ClientPlayNetworkHandler.class)
public abstract class ClientPlayNetworkHandlerMixin {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.player.PlayerAbilities;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
Expand All @@ -16,8 +17,11 @@
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

//Freecam Mixin

@Mixin(ClientPlayerEntity.class)
public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity {
ClientPlayerEntity player;

@Shadow
protected abstract boolean isCamera();
Expand Down Expand Up @@ -54,6 +58,11 @@ private void preventJumpingInCameraMode(CallbackInfo ci) {
this.jumping = false;
}
}
@Inject(method = "sendMessage(Lnet/minecraft/text/Text;)V", at = @At("HEAD"))
private void sendMessage(Text message, CallbackInfo ci)
{
assert this.player!=null;
}

@Inject(method = "isSneaking", at = @At("HEAD"), cancellable = true)
private void preventSneakingInCameraMode(CallbackInfoReturnable<Boolean> cir) {
Expand Down
1 change: 1 addition & 0 deletions src/main/java/net/fabricmc/smphack/mixin/EntityMixin.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

//Freecam mixin
@Mixin(net.minecraft.entity.Entity.class)
public abstract class EntityMixin {

Expand Down
15 changes: 0 additions & 15 deletions src/main/java/net/fabricmc/smphack/mixin/ExampleMixin.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.spongepowered.asm.mixin.injection.At.Shift;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//FreeCam Mixin

@Mixin(value = GameRenderer.class, priority = 1001)
public abstract class GameRendererMixin {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;

//FireOverlayMixin
@Mixin(InGameOverlayRenderer.class)
public abstract class InGameOverlayRendererMixin {
@ModifyArg(
Expand Down
46 changes: 46 additions & 0 deletions src/main/java/net/fabricmc/smphack/mixin/MinecraftClientMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package net.fabricmc.smphack.mixin;

import net.fabricmc.smphack.CrystalModifier;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.Entity;
import net.minecraft.entity.Entity.RemovalReason;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.Iterator;
import java.util.Map;

//Crystal modifier mixin
@Mixin({MinecraftClient.class})
public class MinecraftClientMixin {
public MinecraftClientMixin() {
}

@Inject(
method = {"tick"},
at = {@At("HEAD")}
)
private void onPreTick(CallbackInfo info) {
Iterator<Map.Entry<Entity, Integer>> iterator = CrystalModifier.toKill.entrySet().iterator();

while(iterator.hasNext()) {
Map.Entry<Entity, Integer> entry = iterator.next();
Entity entity = (Entity)entry.getKey();
int delay = (Integer)entry.getValue() - 1;
delay=0;
if (delay == 0) {
iterator.remove();
if (!entity.isAlive()) {
entity.kill();
entity.setRemoved(RemovalReason.KILLED);
entity.onRemoved();
}
} else {
entry.setValue(delay);
}
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import java.util.Objects;

//SpeedMine Mixin
@Mixin(ClientPlayerInteractionManager.class)
public abstract class MiningCooldownFixMixin {
String SpeedMode;
Expand Down
26 changes: 26 additions & 0 deletions src/main/java/net/fabricmc/smphack/mixin/MixinGameRenderer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package net.fabricmc.smphack.mixin;

import net.fabricmc.smphack.GeneralConfig;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.util.math.MatrixStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyArg;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

//Hurtcam mixin
@Mixin(GameRenderer.class)
public class MixinGameRenderer {
boolean Nohurtcam;
@ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/RotationAxis;rotationDegrees(F)Lorg/joml/Quaternionf;"), method = "bobViewWhenHurt", require = 4)
public float changeBobIntensity(float value) {
return (float) (0* value);
}

@Inject(method = "bobViewWhenHurt", at = @At("HEAD"), cancellable = true)
public void disableHurtCam(MatrixStack matrices, float tickDelta, CallbackInfo ci) {
Nohurtcam=GeneralConfig.getConfig().getNoHurtCam();
if (!Nohurtcam) ci.cancel();
}
}
Loading

0 comments on commit 7b9871c

Please sign in to comment.