forked from RepoMirrors/kami-blue
Add BlockData and EntityTools
This commit is contained in:
parent
fc6ef469db
commit
0f2e203f7d
|
@ -0,0 +1,54 @@
|
|||
package me.zeroeightsix.kami.module.modules.utils;
|
||||
|
||||
import me.zero.alpine.listener.EventHandler;
|
||||
import me.zero.alpine.listener.Listener;
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.util.Wrapper;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraftforge.fml.common.gameevent.InputEvent;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author 0x2E | PretendingToCode
|
||||
*
|
||||
* TODO: Fix delay timer because that shit broken
|
||||
* TODO: Move this back to proper category
|
||||
*/
|
||||
@Module.Info(name = "BlockData", category = Module.Category.EXPERIMENTAL, description = "Right click blocks to display their data")
|
||||
public class BlockData extends Module {
|
||||
private int delay = 0;
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
if (delay > 0) {
|
||||
delay--;
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public Listener<InputEvent.MouseInputEvent> mouseListener = new Listener<>(event -> {
|
||||
if (Mouse.getEventButton() == 1 && delay == 0) {
|
||||
if (mc.objectMouseOver.typeOfHit.equals(RayTraceResult.Type.BLOCK)) {
|
||||
BlockPos blockpos = mc.objectMouseOver.getBlockPos();
|
||||
IBlockState iblockstate = mc.world.getBlockState(blockpos);
|
||||
Block block = iblockstate.getBlock();
|
||||
|
||||
if (block.hasTileEntity()) {
|
||||
TileEntity t = mc.world.getTileEntity(blockpos);
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
Objects.requireNonNull(t).writeToNBT(tag);
|
||||
|
||||
Command.sendChatMessage(getChatName() + "&6&lBlock Tags:\n" + tag + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
package me.zeroeightsix.kami.module.modules.utils;
|
||||
|
||||
import me.zero.alpine.listener.EventHandler;
|
||||
import me.zero.alpine.listener.Listener;
|
||||
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.util.Wrapper;
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
import net.minecraftforge.fml.common.gameevent.InputEvent;
|
||||
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
/**
|
||||
* @author 0x2E | PretendingToCode
|
||||
*
|
||||
* Inspired by ForgeHax, recreated with expressed permission from creator
|
||||
*
|
||||
* TODO: Fix delay timer because that shit broken
|
||||
* TODO: Move this back to proper category
|
||||
*/
|
||||
@Module.Info(name = "EntityTools", category = Module.Category.EXPERIMENTAL, description = "Right click entities to perform actions on them")
|
||||
public class EntityTools extends Module {
|
||||
private Setting<Mode> mode = register(Settings.e("Mode", Mode.DELETE));
|
||||
private int delay = 0;
|
||||
private enum Mode {
|
||||
DELETE, INFO
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
if (delay > 0) {
|
||||
delay--;
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public Listener<InputEvent.MouseInputEvent> mouseListener = new Listener<>(event -> {
|
||||
if (Mouse.getEventButton() == 1 && delay == 0) {
|
||||
if (mc.objectMouseOver.typeOfHit.equals(RayTraceResult.Type.ENTITY)) {
|
||||
if (mode.getValue().equals(Mode.DELETE)) {
|
||||
mc.world.removeEntity(mc.objectMouseOver.entityHit);
|
||||
}
|
||||
|
||||
if (mode.getValue().equals(Mode.INFO)) {
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
mc.objectMouseOver.entityHit.writeToNBT(tag);
|
||||
Command.sendChatMessage(getChatName() + "&6&lEntity Tags:\n" + tag + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
Loading…
Reference in New Issue