forked from RepoMirrors/seppuku
Fixed accuracy issue with logout spots, Added blur shader toggle for the HudEditor Gui
This commit is contained in:
parent
16d36e916a
commit
fee42cc291
|
@ -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 = "RELEASE"
|
def buildmode = "IDE"
|
||||||
|
|
||||||
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 {
|
||||||
|
|
|
@ -9,6 +9,7 @@ import me.rigamortis.seppuku.impl.module.ui.HudEditorModule;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.GuiScreen;
|
import net.minecraft.client.gui.GuiScreen;
|
||||||
import net.minecraft.client.gui.ScaledResolution;
|
import net.minecraft.client.gui.ScaledResolution;
|
||||||
|
import net.minecraft.client.renderer.OpenGlHelper;
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -117,6 +118,10 @@ public final class GuiHudEditor extends GuiScreen {
|
||||||
public void onGuiClosed() {
|
public void onGuiClosed() {
|
||||||
Seppuku.INSTANCE.getConfigManager().saveAll();
|
Seppuku.INSTANCE.getConfigManager().saveAll();
|
||||||
|
|
||||||
|
if (OpenGlHelper.shadersSupported) {
|
||||||
|
mc.entityRenderer.stopUseShader();
|
||||||
|
}
|
||||||
|
|
||||||
for (HudComponent component : Seppuku.INSTANCE.getHudManager().getComponentList()) {
|
for (HudComponent component : Seppuku.INSTANCE.getHudManager().getComponentList()) {
|
||||||
if (component instanceof DraggableHudComponent) {
|
if (component instanceof DraggableHudComponent) {
|
||||||
if (component.isVisible()) {
|
if (component.isVisible()) {
|
||||||
|
|
|
@ -13,7 +13,7 @@ import me.rigamortis.seppuku.api.value.NumberValue;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.GlStateManager;
|
import net.minecraft.client.renderer.GlStateManager;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
|
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -76,7 +76,7 @@ public final class LogoutSpotsModule extends Module {
|
||||||
GlStateManager.enableAlpha();
|
GlStateManager.enableAlpha();
|
||||||
GlStateManager.enableDepth();
|
GlStateManager.enableDepth();
|
||||||
GlStateManager.color(1, 1, 1, 1);
|
GlStateManager.color(1, 1, 1, 1);
|
||||||
mc.getRenderManager().renderEntity(data.ghost, data.position.getX() - mc.getRenderManager().renderPosX, data.position.getY() - mc.getRenderManager().renderPosY, data.position.getZ() - mc.getRenderManager().renderPosZ, data.ghost.rotationYaw, mc.getRenderPartialTicks(), false);
|
mc.getRenderManager().renderEntity(data.ghost, data.position.x - mc.getRenderManager().renderPosX, data.position.y - mc.getRenderManager().renderPosY, data.position.z - mc.getRenderManager().renderPosZ, data.ghost.rotationYaw, mc.getRenderPartialTicks(), false);
|
||||||
GlStateManager.disableLighting();
|
GlStateManager.disableLighting();
|
||||||
GlStateManager.disableBlend();
|
GlStateManager.disableBlend();
|
||||||
GlStateManager.disableAlpha();
|
GlStateManager.disableAlpha();
|
||||||
|
@ -96,7 +96,7 @@ public final class LogoutSpotsModule extends Module {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
final GLUProjection.Projection projection = GLUProjection.getInstance().project(data.position.getX() - mc.getRenderManager().renderPosX, data.position.getY() - mc.getRenderManager().renderPosY, data.position.getZ() - mc.getRenderManager().renderPosZ, GLUProjection.ClampMode.NONE, true);
|
final GLUProjection.Projection projection = GLUProjection.getInstance().project(data.position.x - mc.getRenderManager().renderPosX, data.position.y - mc.getRenderManager().renderPosY, data.position.z - mc.getRenderManager().renderPosZ, GLUProjection.ClampMode.NONE, true);
|
||||||
if (projection != null && projection.isType(GLUProjection.Projection.Type.INSIDE)) {
|
if (projection != null && projection.isType(GLUProjection.Projection.Type.INSIDE)) {
|
||||||
GlStateManager.pushMatrix();
|
GlStateManager.pushMatrix();
|
||||||
GlStateManager.translate(projection.getX(), projection.getY(), 0);
|
GlStateManager.translate(projection.getX(), projection.getY(), 0);
|
||||||
|
@ -119,7 +119,8 @@ public final class LogoutSpotsModule extends Module {
|
||||||
|
|
||||||
final EntityPlayer player = this.playerCache.get(uuid);
|
final EntityPlayer player = this.playerCache.get(uuid);
|
||||||
|
|
||||||
final PlayerData data = new PlayerData(player.getPosition(), player.getGameProfile(), player);
|
//final Vec3d interp = MathUtil.interpolateEntity(player, mc.getRenderPartialTicks());
|
||||||
|
final PlayerData data = new PlayerData(player.getPositionVector(), player.getGameProfile(), player);
|
||||||
|
|
||||||
if (!this.hasPlayerLogged(uuid)) {
|
if (!this.hasPlayerLogged(uuid)) {
|
||||||
this.logoutCache.put(uuid, data);
|
this.logoutCache.put(uuid, data);
|
||||||
|
@ -156,16 +157,16 @@ public final class LogoutSpotsModule extends Module {
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isOutOfRange(PlayerData data) {
|
private boolean isOutOfRange(PlayerData data) {
|
||||||
BlockPos position = data.position;
|
Vec3d position = data.position;
|
||||||
return Minecraft.getMinecraft().player.getDistance(position.getX(), position.getY(), position.getZ()) > this.removeDistance.getInt();
|
return Minecraft.getMinecraft().player.getDistance(position.x, position.y, position.z) > this.removeDistance.getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class PlayerData {
|
private class PlayerData {
|
||||||
BlockPos position;
|
Vec3d position;
|
||||||
GameProfile profile;
|
GameProfile profile;
|
||||||
EntityPlayer ghost;
|
EntityPlayer ghost;
|
||||||
|
|
||||||
public PlayerData(BlockPos position, GameProfile profile, EntityPlayer ghost) {
|
public PlayerData(Vec3d position, GameProfile profile, EntityPlayer ghost) {
|
||||||
this.position = position;
|
this.position = position;
|
||||||
this.profile = profile;
|
this.profile = profile;
|
||||||
this.ghost = ghost;
|
this.ghost = ghost;
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
package me.rigamortis.seppuku.impl.module.ui;
|
package me.rigamortis.seppuku.impl.module.ui;
|
||||||
|
|
||||||
|
import me.rigamortis.seppuku.api.event.minecraft.EventDisplayGui;
|
||||||
import me.rigamortis.seppuku.api.module.Module;
|
import me.rigamortis.seppuku.api.module.Module;
|
||||||
import me.rigamortis.seppuku.impl.gui.hud.GuiHudEditor;
|
import me.rigamortis.seppuku.impl.gui.hud.GuiHudEditor;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.renderer.OpenGlHelper;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Author Seth
|
* Author Seth
|
||||||
|
@ -13,16 +17,33 @@ public final class HudEditorModule extends Module {
|
||||||
private boolean open;
|
private boolean open;
|
||||||
|
|
||||||
public HudEditorModule() {
|
public HudEditorModule() {
|
||||||
super("HudEditor", new String[] {"HudEdit", "HEdit"}, "Displays a menu to modify the hud", "NONE", -1, ModuleType.UI);
|
super("HudEditor", new String[]{"HudEdit", "HEdit"}, "Displays a menu to modify the hud", "NONE", -1, ModuleType.UI);
|
||||||
this.setHidden(true);
|
this.setHidden(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onToggle() {
|
public void onToggle() {
|
||||||
super.onToggle();
|
super.onToggle();
|
||||||
Minecraft.getMinecraft().displayGuiScreen(new GuiHudEditor());
|
final Minecraft mc = Minecraft.getMinecraft();
|
||||||
|
|
||||||
|
if (mc.world != null) {
|
||||||
|
mc.displayGuiScreen(new GuiHudEditor());
|
||||||
|
|
||||||
|
if (OpenGlHelper.shadersSupported) {
|
||||||
|
mc.entityRenderer.loadShader(new ResourceLocation("minecraft", "shaders/post/blur.json"));
|
||||||
|
}
|
||||||
this.open = true;
|
this.open = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Listener
|
||||||
|
public void displayGui(EventDisplayGui event) {
|
||||||
|
if (Minecraft.getMinecraft().currentScreen instanceof GuiHudEditor) {
|
||||||
|
if (event.getScreen() == null && this.open) {
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isOpen() {
|
public boolean isOpen() {
|
||||||
return open;
|
return open;
|
||||||
|
|
Loading…
Reference in New Issue