forked from RepoMirrors/seppuku
Better logic for elytrafly and change chestnotifier to storagenotifier
This commit is contained in:
parent
228f884d91
commit
01efe24e23
10
build.gradle
10
build.gradle
|
@ -21,7 +21,7 @@ apply plugin: "com.github.johnrengelman.shadow"
|
||||||
version = "3.0"
|
version = "3.0"
|
||||||
group = "me.rigamortis"
|
group = "me.rigamortis"
|
||||||
archivesBaseName = "seppuku"
|
archivesBaseName = "seppuku"
|
||||||
def buildmode = "IDE"
|
def buildmode = "release"
|
||||||
|
|
||||||
sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
|
sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
|
||||||
compileJava {
|
compileJava {
|
||||||
|
@ -121,11 +121,3 @@ processResources {
|
||||||
exclude 'mcmod.info'
|
exclude 'mcmod.info'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buildmode.equals("IDE")) {
|
|
||||||
sourceSets {
|
|
||||||
main {
|
|
||||||
output.resourcesDir = output.classesDir
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ public final class ModuleManager {
|
||||||
add(new ObsidianReplaceModule());
|
add(new ObsidianReplaceModule());
|
||||||
add(new ChatTimeStampsModule());
|
add(new ChatTimeStampsModule());
|
||||||
add(new HudEditorModule());
|
add(new HudEditorModule());
|
||||||
add(new ChestAlertModule());
|
add(new StorageAlertModule());
|
||||||
add(new StrafeModule());
|
add(new StrafeModule());
|
||||||
add(new MapBypassModule());
|
add(new MapBypassModule());
|
||||||
add(new NoBossHealthModule());
|
add(new NoBossHealthModule());
|
||||||
|
|
|
@ -1,61 +0,0 @@
|
||||||
package me.rigamortis.seppuku.impl.module.misc;
|
|
||||||
|
|
||||||
import me.rigamortis.seppuku.Seppuku;
|
|
||||||
import me.rigamortis.seppuku.api.event.EventStageable;
|
|
||||||
import me.rigamortis.seppuku.api.event.network.EventReceivePacket;
|
|
||||||
import me.rigamortis.seppuku.api.module.Module;
|
|
||||||
import me.rigamortis.seppuku.api.value.Value;
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
|
||||||
import net.minecraft.network.play.server.SPacketChunkData;
|
|
||||||
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author Seth
|
|
||||||
* 8/25/2019 @ 10:27 PM.
|
|
||||||
*/
|
|
||||||
public final class ChestAlertModule extends Module {
|
|
||||||
|
|
||||||
public final Value<Mode> mode = new Value<Mode>("Mode", new String[]{"Mode", "M"}, "Change between alert modes.", Mode.CHAT);
|
|
||||||
|
|
||||||
private enum Mode {
|
|
||||||
CHAT, NOTIFICATION, BOTH
|
|
||||||
}
|
|
||||||
|
|
||||||
public ChestAlertModule() {
|
|
||||||
super("ChestAlert", new String[]{"ChestAlerts"}, "Alerts you how many chests are in a chunk when it's loaded", "NONE", -1, ModuleType.MISC);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Listener
|
|
||||||
public void recievePacket(EventReceivePacket event) {
|
|
||||||
if (event.getStage() == EventStageable.EventStage.POST) {
|
|
||||||
if (event.getPacket() instanceof SPacketChunkData) {
|
|
||||||
final SPacketChunkData packet = (SPacketChunkData) event.getPacket();
|
|
||||||
|
|
||||||
final Minecraft mc = Minecraft.getMinecraft();
|
|
||||||
|
|
||||||
int count = 0;
|
|
||||||
|
|
||||||
for(NBTTagCompound tag : packet.getTileEntityTags()) {
|
|
||||||
final String id = tag.getString("id");
|
|
||||||
|
|
||||||
if(id.equals("minecraft:chest")) {
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(count > 0) {
|
|
||||||
final String message = count + " Chests located at X: " + packet.getChunkX() * 16 + " Z: " + packet.getChunkZ() * 16;
|
|
||||||
if (this.mode.getValue() == Mode.CHAT || this.mode.getValue() == Mode.BOTH) {
|
|
||||||
Seppuku.INSTANCE.logChat(message);
|
|
||||||
}
|
|
||||||
if (this.mode.getValue() == Mode.NOTIFICATION || this.mode.getValue() == Mode.BOTH) {
|
|
||||||
Seppuku.INSTANCE.getNotificationManager().addNotification("", message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
package me.rigamortis.seppuku.impl.module.misc;
|
||||||
|
|
||||||
|
import me.rigamortis.seppuku.Seppuku;
|
||||||
|
import me.rigamortis.seppuku.api.event.EventStageable;
|
||||||
|
import me.rigamortis.seppuku.api.event.network.EventReceivePacket;
|
||||||
|
import me.rigamortis.seppuku.api.module.Module;
|
||||||
|
import me.rigamortis.seppuku.api.value.Value;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.network.play.server.SPacketChunkData;
|
||||||
|
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Author Seth
|
||||||
|
* 8/25/2019 @ 10:27 PM.
|
||||||
|
*/
|
||||||
|
public final class StorageAlertModule extends Module {
|
||||||
|
|
||||||
|
public final Value<Mode> mode = new Value<Mode>("Mode", new String[]{"Mode", "M"}, "Change between alert modes.", Mode.CHAT);
|
||||||
|
public final Value<Boolean> chests = new Value<Boolean>("Chests", new String[]{"Chests", "chest"}, "Count chests.", true);
|
||||||
|
public final Value<Boolean> echests = new Value<Boolean>("EnderChests", new String[]{"EnderChests", "echest"}, "Count ender chests.", false);
|
||||||
|
public final Value<Boolean> shulkers = new Value<Boolean>("ShulkerBoxes", new String[]{"ShulkerBoxes", "shul"}, "Count shulkers.", false);
|
||||||
|
public final Value<Boolean> hoppers = new Value<Boolean>("Hoppers", new String[]{"Hoppers", "hopp"}, "Count hoppers.", false);
|
||||||
|
public final Value<Boolean> droppers = new Value<Boolean>("Droppers", new String[]{"Droppers", "drop"}, "Count droppers.", false);
|
||||||
|
public final Value<Boolean> dispensers = new Value<Boolean>("Dispensers", new String[]{"Dispensers", "disp"}, "Count dispensers.", false);
|
||||||
|
public final Value<Boolean> stands = new Value<Boolean>("BrewingStands", new String[]{"BrewingStands", "brew"}, "Count brewing stands.", false);
|
||||||
|
|
||||||
|
private enum Mode {
|
||||||
|
CHAT, NOTIFICATION, BOTH
|
||||||
|
}
|
||||||
|
|
||||||
|
public StorageAlertModule() {
|
||||||
|
super("StorageAlert", new String[]{"StorageAlerts"}, "Alerts you how many storage blocks are in a chunk when it's loaded", "NONE", -1, ModuleType.MISC);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Listener
|
||||||
|
public void recievePacket(EventReceivePacket event) {
|
||||||
|
if (event.getStage() == EventStageable.EventStage.POST) {
|
||||||
|
if (event.getPacket() instanceof SPacketChunkData) {
|
||||||
|
final SPacketChunkData packet = (SPacketChunkData) event.getPacket();
|
||||||
|
|
||||||
|
final Minecraft mc = Minecraft.getMinecraft();
|
||||||
|
|
||||||
|
int count = 0;
|
||||||
|
|
||||||
|
for(NBTTagCompound tag : packet.getTileEntityTags()) {
|
||||||
|
final String id = tag.getString("id");
|
||||||
|
|
||||||
|
if(
|
||||||
|
(this.chests.getValue() && (id.equals("minecraft:chest") || id.equals("minecraft:trapped_chest"))) ||
|
||||||
|
(this.echests.getValue() && id.equals("minecraft:ender_chest")) ||
|
||||||
|
(this.shulkers.getValue() && id.endsWith("_shulker_box")) ||
|
||||||
|
(this.hoppers.getValue() && id.equals("minecraft:hopper")) ||
|
||||||
|
(this.droppers.getValue() && id.equals("minecraft:dropper")) ||
|
||||||
|
(this.dispensers.getValue() && id.equals("minecraft:dispenser")) ||
|
||||||
|
(this.stands.getValue() && id.equals("minecraft:brewing_stand"))
|
||||||
|
) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(count > 0) {
|
||||||
|
final String message = count + " storage blocks located at X: " + packet.getChunkX() * 16 + " Z: " + packet.getChunkZ() * 16;
|
||||||
|
if (this.mode.getValue() == Mode.CHAT || this.mode.getValue() == Mode.BOTH) {
|
||||||
|
Seppuku.INSTANCE.logChat(message);
|
||||||
|
}
|
||||||
|
if (this.mode.getValue() == Mode.NOTIFICATION || this.mode.getValue() == Mode.BOTH) {
|
||||||
|
Seppuku.INSTANCE.getNotificationManager().addNotification("", message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -36,7 +36,7 @@ public final class ElytraFlyModule extends Module {
|
||||||
public final Value<Boolean> infiniteDurability = new Value<Boolean>("InfiniteDurability", new String[]{"InfiniteDura", "dura", "inf", "infdura"}, "Enables an old exploit that sends the start elytra-flying packet each tick.", false);
|
public final Value<Boolean> infiniteDurability = new Value<Boolean>("InfiniteDurability", new String[]{"InfiniteDura", "dura", "inf", "infdura"}, "Enables an old exploit that sends the start elytra-flying packet each tick.", false);
|
||||||
public final Value<Boolean> noKick = new Value<Boolean>("NoKick", new String[]{"AntiKick", "Kick"}, "Bypass the server kicking you for flying while in elytra flight (Only works for Packet mode!).", true);
|
public final Value<Boolean> noKick = new Value<Boolean>("NoKick", new String[]{"AntiKick", "Kick"}, "Bypass the server kicking you for flying while in elytra flight (Only works for Packet mode!).", true);
|
||||||
|
|
||||||
public final Value<Boolean> fallStart = new Value<Boolean>("FallAuto", new String[]{"FallToStart","fallstart"}, "Only autostart if falling.", true);
|
public final Value<Boolean> fallStart = new Value<Boolean>("FallStart", new String[]{"FallToStart","fallstart"}, "Only autostart if falling.", true);
|
||||||
|
|
||||||
private final Timer timer = new Timer();
|
private final Timer timer = new Timer();
|
||||||
|
|
||||||
|
@ -78,12 +78,7 @@ public final class ElytraFlyModule extends Module {
|
||||||
// automatic jump start
|
// automatic jump start
|
||||||
if (this.autoStart.getValue()) {
|
if (this.autoStart.getValue()) {
|
||||||
if (mc.gameSettings.keyBindJump.isKeyDown() && !mc.player.isElytraFlying()) { // jump is held, player is not elytra flying
|
if (mc.gameSettings.keyBindJump.isKeyDown() && !mc.player.isElytraFlying()) { // jump is held, player is not elytra flying
|
||||||
if (this.fallStart.getValue() && mc.player.motionY < 0) { // player motion is falling
|
if ((this.fallStart.getValue() && mc.player.motionY < 0) || true) { // player motion is falling
|
||||||
if (this.timer.passed(this.delay.getValue())) {
|
|
||||||
mc.getConnection().sendPacket(new CPacketEntityAction(mc.player, CPacketEntityAction.Action.START_FALL_FLYING));
|
|
||||||
this.timer.reset();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (this.timer.passed(this.delay.getValue())) {
|
if (this.timer.passed(this.delay.getValue())) {
|
||||||
mc.getConnection().sendPacket(new CPacketEntityAction(mc.player, CPacketEntityAction.Action.START_FALL_FLYING));
|
mc.getConnection().sendPacket(new CPacketEntityAction(mc.player, CPacketEntityAction.Action.START_FALL_FLYING));
|
||||||
this.timer.reset();
|
this.timer.reset();
|
||||||
|
|
Loading…
Reference in New Issue