Merge pull request #49 from Silent-Client/TEST2

Test2
This commit is contained in:
kirillsaint 2023-10-08 15:33:48 +06:00 committed by GitHub
commit 5931698a3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 1439 additions and 788 deletions

View File

@ -87,18 +87,18 @@ public class Input {
ColorUtils.setColor(theme.getBorderColor().getRGB()); ColorUtils.setColor(theme.getBorderColor().getRGB());
if(value.length() != 0) { if(value.length() != 0) {
renderText = value; renderText = value;
ColorUtils.setColor(theme.getFocusedBorderColor().getRGB());
} }
if(keyValue) { if(keyValue) {
if(key != -1) { if(key != -1) {
renderText = Keyboard.getKeyName(key); renderText = Keyboard.getKeyName(key);
ColorUtils.setColor(theme.getFocusedBorderColor().getRGB()); } else {
renderText = "NONE";
} }
if(isFocused) { if(isFocused) {
renderText = "..."; renderText = "...";
ColorUtils.setColor(theme.getFocusedBorderColor().getRGB());
} }
} }
ColorUtils.setColor(theme.getFocusedBorderColor().getRGB());
float textX = x + 2; float textX = x + 2;
if(center) { if(center) {
textX = x + (width / 2) - (Client.getInstance().getSilentFontRenderer().getStringWidth(renderText, small ? 12 : 14, SilentFontRenderer.FontType.TITLE) / 2); textX = x + (width / 2) - (Client.getInstance().getSilentFontRenderer().getStringWidth(renderText, small ? 12 : 14, SilentFontRenderer.FontType.TITLE) / 2);
@ -129,10 +129,19 @@ public class Input {
public void onKeyTyped(char typedChar, int keyCode) { public void onKeyTyped(char typedChar, int keyCode) {
if(isFocused) { if(isFocused) {
if(keyValue) { if(keyValue) {
if(keyCode == Keyboard.KEY_ESCAPE) {
key = -1;
isFocused = false;
return;
}
key = keyCode; key = keyCode;
isFocused = false; isFocused = false;
return; return;
} }
if(keyCode == Keyboard.KEY_ESCAPE) {
isFocused = false;
return;
}
if(keyCode == Keyboard.KEY_BACK) { if(keyCode == Keyboard.KEY_BACK) {
if (value != null || value.length() != 0 || value != "") { if (value != null || value.length() != 0 || value != "") {
this.value = StringUtils.chop(this.value); this.value = StringUtils.chop(this.value);

View File

@ -67,7 +67,7 @@ public class ModSettings extends SilentScreen {
this.silentInputs.add(new Input(setting.getName(), setting.getValString())); this.silentInputs.add(new Input(setting.getName(), setting.getValString()));
} }
if(setting.isKeybind()) { if(setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
this.silentInputs.add(new Input(setting.getName(), setting.getKeybind())); this.silentInputs.add(new Input(setting.getName(), setting.getKeybind()));
} }
} }
@ -87,7 +87,7 @@ public class ModSettings extends SilentScreen {
setting.setValString(this.silentInputs.get(inputIndex).getValue().length() != 0 ? this.silentInputs.get(inputIndex).getValue() : setting.defaultsval); setting.setValString(this.silentInputs.get(inputIndex).getValue().length() != 0 ? this.silentInputs.get(inputIndex).getValue() : setting.defaultsval);
inputIndex++; inputIndex++;
} }
if (setting.isKeybind()) { if (setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
setting.setKeybind(this.silentInputs.get(inputIndex).getKey() != 0 ? this.silentInputs.get(inputIndex).getKey() : setting.defaultkval); setting.setKeybind(this.silentInputs.get(inputIndex).getKey() != 0 ? this.silentInputs.get(inputIndex).getKey() : setting.defaultkval);
inputIndex++; inputIndex++;
} }
@ -170,7 +170,7 @@ public class ModSettings extends SilentScreen {
inputIndex++; inputIndex++;
} }
if(setting.isKeybind()) { if(setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
Client.getInstance().getSilentFontRenderer().drawString(setting.getName() + ":", x + 100, settingY + 1, 12, SilentFontRenderer.FontType.TITLE); Client.getInstance().getSilentFontRenderer().drawString(setting.getName() + ":", x + 100, settingY + 1, 12, SilentFontRenderer.FontType.TITLE);
this.silentInputs.get(inputIndex).render(mouseX, mouseY, x + width - 50 - 5, settingY, 50, true, new DefaultInputTheme(), true); this.silentInputs.get(inputIndex).render(mouseX, mouseY, x + width - 50 - 5, settingY, 50, true, new DefaultInputTheme(), true);
ColorUtils.setColor(-1); ColorUtils.setColor(-1);
@ -349,7 +349,7 @@ public class ModSettings extends SilentScreen {
inputIndex++; inputIndex++;
} }
if(setting.isKeybind()) { if(setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
this.silentInputs.get(inputIndex).onClick(mouseX, mouseY, x + width - 50 - 5, settingY, 50, true); this.silentInputs.get(inputIndex).onClick(mouseX, mouseY, x + width - 50 - 5, settingY, 50, true);
settingY += 5; settingY += 5;
inputIndex++; inputIndex++;
@ -429,7 +429,7 @@ public class ModSettings extends SilentScreen {
setting.setValString(this.silentInputs.get(inputIndex).getValue()); setting.setValString(this.silentInputs.get(inputIndex).getValue());
inputIndex++; inputIndex++;
} }
if (setting.isKeybind()) { if (setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
this.silentInputs.get(inputIndex).onKeyTyped(typedChar, keyCode); this.silentInputs.get(inputIndex).onKeyTyped(typedChar, keyCode);
setting.setKeybind(this.silentInputs.get(inputIndex).getKey()); setting.setKeybind(this.silentInputs.get(inputIndex).getKey());
inputIndex++; inputIndex++;

View File

@ -159,6 +159,17 @@ public class ModMenu extends SilentScreen {
Client.getInstance().getSilentFontRenderer().drawString(mod.getName(), modX, modY + 10 - 6, 12, SilentFontRenderer.FontType.TITLE); Client.getInstance().getSilentFontRenderer().drawString(mod.getName(), modX, modY + 10 - 6, 12, SilentFontRenderer.FontType.TITLE);
if(mod.isUpdated() || mod.isNew()) {
String status = "UPDATED";
if(mod.isNew()) {
status = "NEW";
}
float badgeX = modX + Client.getInstance().getSilentFontRenderer().getStringWidth(mod.getName(), 12, SilentFontRenderer.FontType.TITLE) + 2;
float badgeY = modY + 6;
RenderUtil.drawRoundedRect(badgeX, badgeY, Client.getInstance().getSilentFontRenderer().getStringWidth(status, 6, SilentFontRenderer.FontType.HEADER) + 4, 8, 8, Color.RED.getRGB());
Client.getInstance().getSilentFontRenderer().drawString(status, badgeX + 2, badgeY + 1, 6, SilentFontRenderer.FontType.HEADER);
}
if(modCategory == ModCategory.MODS) { if(modCategory == ModCategory.MODS) {
Switch.render(mouseX, mouseY, 129, modY + 10 - 4, mod.switchAniamation, mod.isEnabled(), mod.isForceDisabled(), mod.isForceDisabled() ? "Force disabled" : null); Switch.render(mouseX, mouseY, 129, modY + 10 - 4, mod.switchAniamation, mod.isEnabled(), mod.isForceDisabled(), mod.isForceDisabled() ? "Force disabled" : null);
if(Switch.isHovered(mouseX, mouseY, 129, modY + 10 - 4)) { if(Switch.isHovered(mouseX, mouseY, 129, modY + 10 - 4)) {

View File

@ -69,7 +69,7 @@ public class ModSettings extends SilentScreen {
this.silentInputs.add(new Input(setting.getName(), setting.getValString())); this.silentInputs.add(new Input(setting.getName(), setting.getValString()));
} }
if(setting.isKeybind()) { if(setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
this.silentInputs.add(new Input(setting.getName(), setting.getKeybind())); this.silentInputs.add(new Input(setting.getName(), setting.getKeybind()));
} }
} }
@ -117,7 +117,7 @@ public class ModSettings extends SilentScreen {
settingY += 5; settingY += 5;
inputIndex++; inputIndex++;
} }
if(setting.isKeybind()) { if(setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
Client.getInstance().getSilentFontRenderer().drawString(setting.getName(), 3, settingY, 12, SilentFontRenderer.FontType.TITLE); Client.getInstance().getSilentFontRenderer().drawString(setting.getName(), 3, settingY, 12, SilentFontRenderer.FontType.TITLE);
this.silentInputs.get(inputIndex).render(mouseX, mouseY, 150 - 50 - 3, settingY, 50, true, new DefaultInputTheme(), true); this.silentInputs.get(inputIndex).render(mouseX, mouseY, 150 - 50 - 3, settingY, 50, true, new DefaultInputTheme(), true);
settingY += 5; settingY += 5;
@ -247,7 +247,7 @@ public class ModSettings extends SilentScreen {
settingY += 5; settingY += 5;
inputIndex++; inputIndex++;
} }
if(setting.isKeybind()) { if(setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
Client.getInstance().getSilentFontRenderer().drawString(setting.getName(), 3, settingY, 12, SilentFontRenderer.FontType.TITLE); Client.getInstance().getSilentFontRenderer().drawString(setting.getName(), 3, settingY, 12, SilentFontRenderer.FontType.TITLE);
this.silentInputs.get(inputIndex).onClick(mouseX, mouseY, 150 - 50 - 3, (int) settingY, 50, true); this.silentInputs.get(inputIndex).onClick(mouseX, mouseY, 150 - 50 - 3, (int) settingY, 50, true);
settingY += 5; settingY += 5;
@ -351,7 +351,7 @@ public class ModSettings extends SilentScreen {
inputIndex++; inputIndex++;
} }
if (setting.isKeybind()) { if (setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
this.silentInputs.get(inputIndex).onKeyTyped(typedChar, keyCode); this.silentInputs.get(inputIndex).onKeyTyped(typedChar, keyCode);
setting.setKeybind(this.silentInputs.get(inputIndex).getKey()); setting.setKeybind(this.silentInputs.get(inputIndex).getKey());
inputIndex++; inputIndex++;
@ -372,7 +372,7 @@ public class ModSettings extends SilentScreen {
setting.setValString(this.silentInputs.get(inputIndex).getValue().length() != 0 ? this.silentInputs.get(inputIndex).getValue() : setting.defaultsval); setting.setValString(this.silentInputs.get(inputIndex).getValue().length() != 0 ? this.silentInputs.get(inputIndex).getValue() : setting.defaultsval);
inputIndex++; inputIndex++;
} }
if (setting.isKeybind()) { if (setting.isKeybind() && !setting.getName().startsWith("Quickplay Mode")) {
setting.setKeybind(this.silentInputs.get(inputIndex).getKey() != 0 ? this.silentInputs.get(inputIndex).getKey() : setting.defaultkval); setting.setKeybind(this.silentInputs.get(inputIndex).getKey() != 0 ? this.silentInputs.get(inputIndex).getKey() : setting.defaultkval);
inputIndex++; inputIndex++;
} }

View File

@ -0,0 +1,154 @@
package net.silentclient.client.gui.quickplay;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.util.ResourceLocation;
import net.silentclient.client.Client;
import net.silentclient.client.gui.SilentScreen;
import net.silentclient.client.gui.animation.SimpleAnimation;
import net.silentclient.client.gui.elements.IconButton;
import net.silentclient.client.gui.font.SilentFontRenderer;
import net.silentclient.client.gui.lite.clickgui.utils.MouseUtils;
import net.silentclient.client.gui.theme.Theme;
import net.silentclient.client.gui.util.RenderUtil;
import net.silentclient.client.mods.hypixel.QuickPlayMod;
import net.silentclient.client.mods.util.Server;
import net.silentclient.client.utils.MenuBlurUtils;
import net.silentclient.client.utils.MouseCursorHandler;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
import java.awt.*;
import java.io.IOException;
public class QuickplayGui extends SilentScreen {
private SimpleAnimation scrollAnimation = new SimpleAnimation(0.0F);
private float scrollY = 0;
@Override
public void initGui() {
super.initGui();
MenuBlurUtils.loadBlur();
defaultCursor = false;
this.scrollY = 0;
this.buttonList.clear();
this.buttonList.add(new IconButton(0, this.width - 14 - 3, 3, 14, 14, 8, 8, new ResourceLocation("silentclient/icons/exit.png")));
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
MouseCursorHandler.CursorType cursorType = getCursor(silentInputs, buttonList);
MenuBlurUtils.renderBackground(this);
Client.getInstance().getSilentFontRenderer().drawString("Quickplay",3, 3, 14, SilentFontRenderer.FontType.TITLE);
super.drawScreen(mouseX, mouseY, partialTicks);
int modeBaseX = this.width / 2;
int column = 1;
float modeY = 24 - scrollAnimation.getValue();
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_SCISSOR_TEST);
ScaledResolution r = new ScaledResolution(Minecraft.getMinecraft());
int s = r.getScaleFactor();
int listHeight = height - 24;
int translatedY = r.getScaledHeight() - 24 - listHeight;
GL11.glScissor(0 * s, translatedY * s, this.width * s, listHeight * s);
for(QuickPlayMod.QuickplayModeType quickplayMode : (Server.isRuHypixel() ? QuickPlayMod.ruhypixelQuickplayModes : QuickPlayMod.hypixelQuickplayModes)) {
int modeX = column == 1 ? modeBaseX - 155 : modeBaseX + 5;
boolean isHovered = MouseUtils.isInside(mouseX, mouseY, modeX, modeY, 150, 30);
if(isHovered) {
cursorType = MouseCursorHandler.CursorType.POINTER;
RenderUtil.drawRoundedRect(modeX, modeY, 150, 30, 3, new Color(255, 255, 255, 30).getRGB());
}
RenderUtil.drawRoundedOutline(modeX, modeY, 150, 30, 3, 1, Theme.borderColor().getRGB());
RenderUtil.drawImage(new ResourceLocation("silentclient/mods/quickplay/"+quickplayMode.icon+".png"), modeX + 2, modeY + 2, 26, 26);
Client.getInstance().getSilentFontRenderer().drawString(quickplayMode.name, modeX + 32, modeY + 8, 14, SilentFontRenderer.FontType.TITLE);
if(column == 1) {
column = 2;
} else {
column = 1;
modeY += 40;
}
}
GL11.glDisable(GL11.GL_SCISSOR_TEST);
GL11.glPopMatrix();
Client.getInstance().getMouseCursorHandler().enableCursor(cursorType);
scrollAnimation.setAnimation(scrollY, 12);
}
@Override
public void handleMouseInput() throws IOException {
super.handleMouseInput();
int dw = Mouse.getEventDWheel();
double newScrollY = this.scrollY;
int height = this.height;
if(dw != 0) {
if (dw > 0) {
dw = -1;
} else {
dw = 1;
}
float amountScrolled = (float) (dw * 10);
if (newScrollY + amountScrolled > 0)
newScrollY += amountScrolled;
else
newScrollY = 0;
if((newScrollY < ((Math.ceil((Server.isRuHypixel() ? QuickPlayMod.ruhypixelQuickplayModes : QuickPlayMod.hypixelQuickplayModes).size() / 2) + 1) * 30) && (((Math.ceil((Server.isRuHypixel() ? QuickPlayMod.ruhypixelQuickplayModes : QuickPlayMod.hypixelQuickplayModes).size() / 2) + 1) * 30) + 24) > height) || amountScrolled < 0) {
this.scrollY = (float) newScrollY;
if(this.scrollY < 0) {
this.scrollY = 0;
}
}
}
}
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
super.mouseClicked(mouseX, mouseY, mouseButton);
int modeBaseX = this.width / 2;
int column = 1;
float modeY = 24 - scrollAnimation.getValue();
for(QuickPlayMod.QuickplayModeType quickplayMode : (Server.isRuHypixel() ? QuickPlayMod.ruhypixelQuickplayModes : QuickPlayMod.hypixelQuickplayModes)) {
int modeX = column == 1 ? modeBaseX - 155 : modeBaseX + 5;
boolean isHovered = MouseUtils.isInside(mouseX, mouseY, modeX, modeY, 150, 30);
if(isHovered) {
mc.displayGuiScreen(new QuickplayModeGui(quickplayMode));
break;
}
if(column == 1) {
column = 2;
} else {
column = 1;
modeY += 40;
}
}
}
@Override
protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button);
switch (button.id) {
case 0:
mc.displayGuiScreen(null);
break;
}
}
@Override
public void onGuiClosed() {
super.onGuiClosed();
MenuBlurUtils.unloadBlur();
}
}

View File

@ -0,0 +1,202 @@
package net.silentclient.client.gui.quickplay;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.util.ResourceLocation;
import net.silentclient.client.Client;
import net.silentclient.client.gui.SilentScreen;
import net.silentclient.client.gui.animation.SimpleAnimation;
import net.silentclient.client.gui.elements.IconButton;
import net.silentclient.client.gui.elements.Input;
import net.silentclient.client.gui.font.SilentFontRenderer;
import net.silentclient.client.gui.lite.clickgui.utils.MouseUtils;
import net.silentclient.client.gui.theme.Theme;
import net.silentclient.client.gui.theme.input.DefaultInputTheme;
import net.silentclient.client.gui.util.RenderUtil;
import net.silentclient.client.mods.hypixel.QuickPlayMod;
import net.silentclient.client.mods.util.Server;
import net.silentclient.client.utils.MenuBlurUtils;
import net.silentclient.client.utils.MouseCursorHandler;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
import java.awt.*;
import java.io.IOException;
public class QuickplayModeGui extends SilentScreen {
private final QuickPlayMod.QuickplayModeType quickplayMode;
private SimpleAnimation scrollAnimation = new SimpleAnimation(0.0F);
private float scrollY = 0;
public QuickplayModeGui(QuickPlayMod.QuickplayModeType quickplayMode) {
this.quickplayMode = quickplayMode;
}
@Override
public void initGui() {
super.initGui();
this.scrollY = 0;
MenuBlurUtils.loadBlur();
defaultCursor = false;
this.buttonList.clear();
this.silentInputs.clear();
this.buttonList.add(new IconButton(0, this.width - 14 - 3, 3, 14, 14, 8, 8, new ResourceLocation("silentclient/icons/exit.png")));
for(QuickPlayMod.QuickplayCommandType quickplayMode : quickplayMode.modes) {
this.silentInputs.add(new Input(quickplayMode.name, Client.getInstance().getSettingsManager().getSettingByClass(QuickPlayMod.class, String.format("Quickplay Mode:%s:%s", Server.isRuHypixel() ? "RuHypixel" : "Hypixel", quickplayMode.command)).getKeybind()));
}
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
MouseCursorHandler.CursorType cursorType = getCursor(silentInputs, buttonList);
MenuBlurUtils.renderBackground(this);
Client.getInstance().getSilentFontRenderer().drawString("Quickplay",3, 3, 14, SilentFontRenderer.FontType.TITLE);
super.drawScreen(mouseX, mouseY, partialTicks);
int modeBaseX = this.width / 2;
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_SCISSOR_TEST);
ScaledResolution r = new ScaledResolution(Minecraft.getMinecraft());
int s = r.getScaleFactor();
int listHeight = height - 24;
int translatedY = r.getScaledHeight() - 24 - listHeight;
GL11.glScissor(0 * s, translatedY * s, this.width * s, listHeight * s);
RenderUtil.drawRoundedOutline(modeBaseX - 205, 24 - scrollAnimation.getValue(), 410, 30, 3, 1, Theme.borderColor().getRGB());
RenderUtil.drawImage(new ResourceLocation("silentclient/mods/quickplay/"+quickplayMode.icon+".png"), modeBaseX - 205 + 2, 24 + 2 - scrollAnimation.getValue(), 26, 26);
Client.getInstance().getSilentFontRenderer().drawString(quickplayMode.name, modeBaseX - 205 + 32, 24 + 8 - scrollAnimation.getValue(), 14, SilentFontRenderer.FontType.TITLE);
int column = 1;
float modeY = 24 + 40 - scrollAnimation.getValue();
int inputIndex = 0;
for(QuickPlayMod.QuickplayCommandType quickplayMode : quickplayMode.modes) {
int modeX = column == 1 ? modeBaseX - 205 : modeBaseX + 5;
boolean isCommandHovered = MouseUtils.isInside(mouseX, mouseY, modeX, modeY, 140, 20);
if(isCommandHovered) {
cursorType = MouseCursorHandler.CursorType.POINTER;
RenderUtil.drawRoundedRect(modeX, modeY, 140, 20, 3, new Color(255, 255, 255, 30).getRGB());
}
RenderUtil.drawRoundedOutline(modeX, modeY, 140, 20, 3, 1, Theme.borderColor().getRGB());
Client.getInstance().getSilentFontRenderer().drawString(quickplayMode.name, modeX + 3, modeY + 3, 14, SilentFontRenderer.FontType.TITLE, 140);
this.silentInputs.get(inputIndex).render(mouseX, mouseY, modeX + 145, modeY, 55, false, new DefaultInputTheme(), true);
if(column == 1) {
column = 2;
} else {
column = 1;
modeY += 30;
}
inputIndex++;
}
GL11.glDisable(GL11.GL_SCISSOR_TEST);
GL11.glPopMatrix();
Client.getInstance().getMouseCursorHandler().enableCursor(cursorType);
scrollAnimation.setAnimation(scrollY, 12);
}
@Override
public void handleMouseInput() throws IOException {
super.handleMouseInput();
int dw = Mouse.getEventDWheel();
double newScrollY = this.scrollY;
int height = this.height;
if(dw != 0) {
if (dw > 0) {
dw = -1;
} else {
dw = 1;
}
float amountScrolled = (float) (dw * 10);
if (newScrollY + amountScrolled > 0)
newScrollY += amountScrolled;
else
newScrollY = 0;
if((newScrollY < ((Math.ceil(quickplayMode.modes.size() / 2) + 1) * 20) && (((Math.ceil(quickplayMode.modes.size() / 2) + 1) * 20) + 24 + 40) > height) || amountScrolled < 0) {
this.scrollY = (float) newScrollY;
if(this.scrollY < 0) {
this.scrollY = 0;
}
}
}
}
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
super.mouseClicked(mouseX, mouseY, mouseButton);
int modeBaseX = this.width / 2;
RenderUtil.drawRoundedOutline(modeBaseX - 205, 24, 410, 30, 3, 1, Theme.borderColor().getRGB());
RenderUtil.drawImage(new ResourceLocation("silentclient/mods/quickplay/"+quickplayMode.icon+".png"), modeBaseX - 205 + 2, 24 + 2, 26, 26);
Client.getInstance().getSilentFontRenderer().drawString(quickplayMode.name, modeBaseX - 205 + 32, 24 + 8, 14, SilentFontRenderer.FontType.TITLE);
int column = 1;
float modeY = 24 + 40 - scrollAnimation.getValue();
int inputIndex = 0;
for(QuickPlayMod.QuickplayCommandType quickplayMode : quickplayMode.modes) {
int modeX = column == 1 ? modeBaseX - 205 : modeBaseX + 5;
boolean isCommandHovered = MouseUtils.isInside(mouseX, mouseY, modeX, modeY, 140, 20);
if(isCommandHovered) {
QuickPlayMod.runCommand(quickplayMode.command);
mc.displayGuiScreen(null);
}
this.silentInputs.get(inputIndex).onClick(mouseX, mouseY, modeX + 145, (int) modeY, 55, false);
if(column == 1) {
column = 2;
} else {
column = 1;
modeY += 30;
}
inputIndex++;
}
}
@Override
protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button);
switch (button.id) {
case 0:
mc.displayGuiScreen(new QuickplayGui());
break;
}
}
@Override
protected void keyTyped(char typedChar, int keyCode) throws IOException {
int inputIndex = 0;
boolean neededKeyCheck = true;
for(QuickPlayMod.QuickplayCommandType quickplayMode : quickplayMode.modes) {
if(silentInputs.get(inputIndex).isFocused()) {
this.silentInputs.get(inputIndex).onKeyTyped(typedChar, keyCode);
Client.getInstance().getSettingsManager().getSettingByClass(QuickPlayMod.class, String.format("Quickplay Mode:%s:%s", Server.isRuHypixel() ? "RuHypixel" : "Hypixel", quickplayMode.command)).setKeybind(this.silentInputs.get(inputIndex).getKey());
if(keyCode == Keyboard.KEY_ESCAPE) {
neededKeyCheck = false;
break;
}
}
inputIndex++;
}
if (neededKeyCheck && keyCode == Keyboard.KEY_ESCAPE) {
mc.displayGuiScreen(null);
};
}
@Override
public void onGuiClosed() {
super.onGuiClosed();
MenuBlurUtils.unloadBlur();
}
}

View File

@ -9,6 +9,7 @@ import net.minecraft.network.play.server.S48PacketResourcePackSend;
import net.minecraft.util.IChatComponent; import net.minecraft.util.IChatComponent;
import net.silentclient.client.event.impl.EntityDamageEvent; import net.silentclient.client.event.impl.EntityDamageEvent;
import net.silentclient.client.hooks.NetHandlerPlayClientHook; import net.silentclient.client.hooks.NetHandlerPlayClientHook;
import net.silentclient.client.utils.Players;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.*; import org.spongepowered.asm.mixin.injection.*;
@ -31,6 +32,7 @@ public class NetHandlerPlayClientMixin {
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;displayGuiScreen(Lnet/minecraft/client/gui/GuiScreen;)V") at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;displayGuiScreen(Lnet/minecraft/client/gui/GuiScreen;)V")
) )
private GuiScreen skipTerrainScreen(GuiScreen original) { private GuiScreen skipTerrainScreen(GuiScreen original) {
Players.reload();
return null; return null;
} }

View File

@ -79,13 +79,16 @@ public class RendererLivingEntityMixin<T extends EntityLivingBase> {
if (entity instanceof IMob && entityDistance > Client.getInstance().getSettingsManager().getSettingByClass(FPSBoostMod.class, "Hostile Entity Render Distance").getValInt()) { if (entity instanceof IMob && entityDistance > Client.getInstance().getSettingsManager().getSettingByClass(FPSBoostMod.class, "Hostile Entity Render Distance").getValInt()) {
ci.cancel(); ci.cancel();
return; return;
} else if ((entity instanceof EntityAnimal || entity instanceof EntityAmbientCreature || entity instanceof EntityWaterMob) && entityDistance > Client.getInstance().getSettingsManager().getSettingByClass(FPSBoostMod.class, "Passive Entity Render Distance").getValInt()) { }
if ((entity instanceof EntityAnimal || entity instanceof EntityAmbientCreature || entity instanceof EntityWaterMob) && entityDistance > Client.getInstance().getSettingsManager().getSettingByClass(FPSBoostMod.class, "Passive Entity Render Distance").getValInt()) {
ci.cancel(); ci.cancel();
return; return;
} else if (entity instanceof EntityPlayer && entityDistance > Client.getInstance().getSettingsManager().getSettingByClass(FPSBoostMod.class, "Player Render Distance").getValInt()) { }
if (entity instanceof EntityPlayer && entityDistance > Client.getInstance().getSettingsManager().getSettingByClass(FPSBoostMod.class, "Player Render Distance").getValInt()) {
ci.cancel(); ci.cancel();
return; return;
} else if (entityDistance > Client.getInstance().getSettingsManager().getSettingByClass(FPSBoostMod.class, "Misc. Entity Render Distance").getValInt()) { }
if (entityDistance > Client.getInstance().getSettingsManager().getSettingByClass(FPSBoostMod.class, "Misc. Entity Render Distance").getValInt()) {
ci.cancel(); ci.cancel();
return; return;
} }

View File

@ -1,59 +1,14 @@
package net.silentclient.client.mods; package net.silentclient.client.mods;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import net.silentclient.client.Client; import net.silentclient.client.Client;
import net.silentclient.client.mods.hud.ArmorStatusMod; import net.silentclient.client.mods.hud.*;
import net.silentclient.client.mods.hud.BlockInfoMod;
import net.silentclient.client.mods.hud.BossBarMod;
import net.silentclient.client.mods.hud.CPSMod;
import net.silentclient.client.mods.hud.ClockMod;
import net.silentclient.client.mods.hud.ComboCounterMod;
import net.silentclient.client.mods.hud.CoordinatesMod;
import net.silentclient.client.mods.hud.DayCounterMod;
import net.silentclient.client.mods.hud.FPSMod;
import net.silentclient.client.mods.hud.KeystrokesMod;
import net.silentclient.client.mods.hud.MemoryMod;
import net.silentclient.client.mods.hud.PackDisplayMod;
import net.silentclient.client.mods.hud.PingMod;
import net.silentclient.client.mods.hud.PotionHudMod;
import net.silentclient.client.mods.hud.ReachDisplayMod;
import net.silentclient.client.mods.hud.ScoreboardMod;
import net.silentclient.client.mods.hud.ServerAddressMod;
import net.silentclient.client.mods.hud.SpeedometerMod;
import net.silentclient.client.mods.hypixel.AutoGGMod; import net.silentclient.client.mods.hypixel.AutoGGMod;
import net.silentclient.client.mods.hypixel.AutoTipMod; import net.silentclient.client.mods.hypixel.AutoTipMod;
import net.silentclient.client.mods.hypixel.LevelHeadMod; import net.silentclient.client.mods.hypixel.LevelHeadMod;
import net.silentclient.client.mods.hypixel.QuickPlayMod;
import net.silentclient.client.mods.hypixel.togglechat.ToggleChatMod; import net.silentclient.client.mods.hypixel.togglechat.ToggleChatMod;
import net.silentclient.client.mods.player.AutoSprintMod; import net.silentclient.client.mods.player.*;
import net.silentclient.client.mods.player.AutoTextMod; import net.silentclient.client.mods.render.*;
import net.silentclient.client.mods.player.DonationsAlertsMod;
import net.silentclient.client.mods.player.NickHiderMod;
import net.silentclient.client.mods.player.PerspectiveMod;
import net.silentclient.client.mods.player.ZoomMod;
import net.silentclient.client.mods.render.AnimationsMod;
import net.silentclient.client.mods.render.BlockOverlayMod;
import net.silentclient.client.mods.render.ChatMod;
import net.silentclient.client.mods.render.ChunkBordersMod;
import net.silentclient.client.mods.render.ClearGlassMod;
import net.silentclient.client.mods.render.ColorSaturationMod;
import net.silentclient.client.mods.render.CrosshairMod;
import net.silentclient.client.mods.render.DamageTintMod;
import net.silentclient.client.mods.render.HitColorMod;
import net.silentclient.client.mods.render.HitboxesMod;
import net.silentclient.client.mods.render.InventoryBlurMod;
import net.silentclient.client.mods.render.ItemPhysicsMod;
import net.silentclient.client.mods.render.NametagsMod;
import net.silentclient.client.mods.render.NewMotionBlurMod;
import net.silentclient.client.mods.render.PackTweaksMod;
import net.silentclient.client.mods.render.ParticlesMod;
import net.silentclient.client.mods.render.TNTTimerMod;
import net.silentclient.client.mods.render.TabMod;
import net.silentclient.client.mods.render.TitlesMod;
import net.silentclient.client.mods.render.UhcOverlayMod;
import net.silentclient.client.mods.settings.CosmeticsMod; import net.silentclient.client.mods.settings.CosmeticsMod;
import net.silentclient.client.mods.settings.FPSBoostMod; import net.silentclient.client.mods.settings.FPSBoostMod;
import net.silentclient.client.mods.settings.GeneralMod; import net.silentclient.client.mods.settings.GeneralMod;
@ -67,6 +22,11 @@ import net.silentclient.client.mods.world.PlayerCounterMod;
import net.silentclient.client.mods.world.TimeChangerMod; import net.silentclient.client.mods.world.TimeChangerMod;
import net.silentclient.client.mods.world.WeatherChangerMod; import net.silentclient.client.mods.world.WeatherChangerMod;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ModInstances { public class ModInstances {
private ArrayList<Mod> mods = new ArrayList<Mod>(); private ArrayList<Mod> mods = new ArrayList<Mod>();
@ -227,6 +187,7 @@ public class ModInstances {
if(Client.getInstance().getBuildData().getBranch().equals("fushka")) { if(Client.getInstance().getBuildData().getBranch().equals("fushka")) {
mods.add(new DonationsAlertsMod()); mods.add(new DonationsAlertsMod());
} }
mods.add(new QuickPlayMod());
} }
public void postInit() { public void postInit() {

View File

@ -160,7 +160,7 @@ public class Setting implements Comparable<Setting> {
} }
public boolean isKeyDown() { public boolean isKeyDown() {
if(!isKeybind()) { if(!isKeybind() || kval == -1) {
return false; return false;
} }

View File

@ -0,0 +1,143 @@
package net.silentclient.client.mods.hypixel;
import com.google.common.reflect.TypeToken;
import net.minecraft.client.Minecraft;
import net.silentclient.client.Client;
import net.silentclient.client.event.EventTarget;
import net.silentclient.client.event.impl.KeyEvent;
import net.silentclient.client.gui.quickplay.QuickplayGui;
import net.silentclient.client.mods.Mod;
import net.silentclient.client.mods.ModCategory;
import net.silentclient.client.mods.Setting;
import net.silentclient.client.mods.util.Server;
import org.lwjgl.input.Keyboard;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Type;
import java.util.ArrayList;
public class QuickPlayMod extends Mod {
public static ArrayList<QuickplayModeType> hypixelQuickplayModes;
public static ArrayList<QuickplayModeType> ruhypixelQuickplayModes;
public static boolean sending = false;
public QuickPlayMod() {
super("Quickplay", ModCategory.MODS, "silentclient/icons/mods/quickplay.png");
}
@Override
public void setup() {
super.setup();
setNewMod(true);
this.addKeybindSetting("Open Menu", this, Keyboard.KEY_MINUS);
initHypixelModes();
initRuHypixelModes();
}
private void initHypixelModes() {
try {
Client.logger.info("Initialising Hypixel Quickplay Modes");
InputStream in = getClass().getResourceAsStream("/assets/minecraft/silentclient/mods/quickplay/modes_hypixel.json");
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuffer content = new StringBuffer();
String inputLine;
while ((inputLine = reader.readLine()) != null) {
content.append(inputLine);
}
Type listType = new TypeToken<ArrayList<QuickplayModeType>>(){}.getType();
hypixelQuickplayModes = Client.getInstance().getGson().fromJson(content.toString(), listType);
for(QuickplayModeType mode : hypixelQuickplayModes) {
Client.logger.info(String.format("Initialising Hypixel Quickplay Mode (%s)", mode.name));
mode.modes.forEach((command) -> {
Client.logger.info(String.format("Initialising Hypixel Quickplay Mode (%s) Command (%s)", mode.name, command.name));
this.addKeybindSetting("Quickplay Mode:Hypixel:"+command.command, this, -1);
});
}
} catch (Exception err) {
Client.logger.catching(err);
}
}
private void initRuHypixelModes() {
try {
Client.logger.info("Initialising RuHypixel Quickplay Modes");
InputStream in = getClass().getResourceAsStream("/assets/minecraft/silentclient/mods/quickplay/modes_ruhypixel.json");
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuffer content = new StringBuffer();
String inputLine;
while ((inputLine = reader.readLine()) != null) {
content.append(inputLine);
}
Type listType = new TypeToken<ArrayList<QuickplayModeType>>(){}.getType();
ruhypixelQuickplayModes = Client.getInstance().getGson().fromJson(content.toString(), listType);
for(QuickplayModeType mode : ruhypixelQuickplayModes) {
Client.logger.info(String.format("Initialising RuHypixel Quickplay Mode (%s)", mode.name));
mode.modes.forEach((command) -> {
Client.logger.info(String.format("Initialising RuHypixel Quickplay Mode (%s) Command (%s)", mode.name, command.name));
this.addKeybindSetting("Quickplay Mode:RuHypixel:"+command.command, this, -1);
});
}
} catch (Exception err) {
Client.logger.catching(err);
}
}
public static void runCommand(String command) {
if(sending) {
return;
}
sending = true;
(new Thread("QPM: " + command) {
public void run() {
Minecraft.getMinecraft().thePlayer.sendChatMessage(command);
try {
Thread.sleep(2000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
sending = false;
}
}).start();
}
@EventTarget
public void onClick(KeyEvent event) {
if(mc.thePlayer != null && mc.theWorld != null && mc.currentScreen == null) {
for(Setting setting : Client.getInstance().getSettingsManager().getSettingByMod(this)) {
if(setting.isKeybind()) {
if(setting.getName().equals("Open Menu")) {
// Open Menu
if(setting.isKeyDown() && (Server.isHypixel() || Server.isRuHypixel())) {
mc.displayGuiScreen(new QuickplayGui());
}
} else {
if(sending) {
return;
}
String[] args = setting.getName().split(":");
if(((args[1].equals("Hypixel") && Server.isHypixel()) || (args[1].equals("RuHypixel") && Server.isRuHypixel())) && setting.isKeyDown()) {
runCommand(args[2]);
}
}
}
}
}
}
public class QuickplayModeType {
public String name;
public String icon;
public ArrayList<QuickplayCommandType> modes;
}
public class QuickplayCommandType {
public String name;
public String command;
}
}

View File

@ -1,46 +0,0 @@
package net.silentclient.client.mods.hypixel.bedwarsbeds;
import java.lang.reflect.Field;
import org.lwjgl.opengl.GLContext;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ChunkRenderContainer;
import net.minecraft.client.renderer.RenderList;
import net.minecraft.client.renderer.VboRenderList;
import net.silentclient.client.event.EventTarget;
import net.silentclient.client.event.impl.RenderTickEvent;
import net.silentclient.client.mods.Mod;
import net.silentclient.client.mods.ModCategory;
public class BedwarsBedsMod extends Mod {
public BedwarsBedsMod() {
super("Bedwars Beds", ModCategory.MODS, "silentclient/icons/mods/bedwarsbeds.png");
}
@Override
public boolean isForceDisabled() {
return !GLContext.getCapabilities().OpenGL32;
}
@EventTarget
public void onTick(RenderTickEvent event) {
if(isForceDisabled()) {
return;
}
try {
Field e = Minecraft.getMinecraft().renderGlobal.getClass().getDeclaredField("renderContainer");
e.setAccessible(true);
ChunkRenderContainer renderContainer = (ChunkRenderContainer) e.get(Minecraft.getMinecraft().renderGlobal);
if (renderContainer instanceof VboRenderList) {
e.set(Minecraft.getMinecraft().renderGlobal, new HookedVboRenderList());
} else if (renderContainer instanceof RenderList) {
e.set(Minecraft.getMinecraft().renderGlobal, new HookedRenderList());
}
} catch (SecurityException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException nosuchfieldexception) {
nosuchfieldexception.printStackTrace();
}
}
}

View File

@ -1,365 +0,0 @@
package net.silentclient.client.mods.hypixel.bedwarsbeds;
import java.util.HashMap;
import net.minecraft.client.Minecraft;
import net.minecraft.init.Blocks;
import net.minecraft.util.BlockPos;
import org.lwjgl.util.vector.Vector3f;
public class BedwarsData {
private static HashMap<String, String> heightsMap = new HashMap<String, String>();
private static int[] cachedBedColourSegments = null;
private static long timeOfLastCache;
public static int getLowestBlock(int x, int z) {
for (int i = 0; i < 100; ++i) {
if (!Minecraft.getMinecraft().theWorld.getBlockState(new BlockPos(x, i, z)).getBlock().getDefaultState().equals(Blocks.air.getDefaultState())) {
return i;
}
}
return -1;
}
public static String getHeightsString() {
StringBuilder b = new StringBuilder();
for (int i = -2; i <= 2; ++i) {
for (int j = -2; j <= 2; ++j) {
b.append(getLowestBlock(i * 5, j * 5)).append(",");
}
}
return b.toString();
}
public static String getCurrentMapName() {
String heights = getHeightsString();
String mapName = (String) BedwarsData.heightsMap.get(heights);
return mapName == null ? "UNKNOWN" : mapName;
}
public static int getColourIdForPos(BlockPos pos) {
return getBedColourSegments()[getSegmentNumForPos(pos)];
}
public static Vector3f getColourForPos(BlockPos pos) {
int id = getColourIdForPos(pos);
switch (id) {
case 0:
return new Vector3f(43.0F, 0.0F, 45.0F);
case 1:
return new Vector3f(189.0F, -6.0F, 0.0F);
case 2:
return new Vector3f(190.0F, -87.0F, 33.0F);
case 3:
return new Vector3f(338.0F, -40.0F, 36.0F);
case 4:
return new Vector3f(214.0F, -78.0F, -29.0F);
case 5:
return new Vector3f(0.0F, 0.0F, 0.0F);
case 6:
return new Vector3f(238.0F, -20.0F, 1.0F);
case 7:
return new Vector3f(91.0F, -5.0F, 15.0F);
default:
return new Vector3f(0.0F, 0.0F, 0.0F);
}
}
public static int[] getBedColourSegments() {
if (System.currentTimeMillis() - BedwarsData.timeOfLastCache < 3000L && BedwarsData.cachedBedColourSegments != null) {
return BedwarsData.cachedBedColourSegments;
} else {
BedwarsData.timeOfLastCache = System.currentTimeMillis();
String s = getCurrentMapName();
byte b0 = -1;
switch (s.hashCode()) {
case -2127832817:
if (s.equals("Hollow")) {
b0 = 12;
}
break;
case -2066516632:
if (s.equals("Speedway")) {
b0 = 11;
}
break;
case -2030051349:
if (s.equals("Aquarium")) {
b0 = 18;
}
break;
case -2022811672:
if (s.equals("Lectus")) {
b0 = 28;
}
break;
case -1946685265:
if (s.equals("Pernicious")) {
b0 = 14;
}
break;
case -1891512576:
if (s.equals("Chained")) {
b0 = 25;
}
break;
case -1793484691:
if (s.equals("Temple")) {
b0 = 15;
}
break;
case -1362593870:
if (s.equals("Steampunk")) {
b0 = 13;
}
break;
case -1250609183:
if (s.equals("Rooftop")) {
b0 = 4;
}
break;
case -712865462:
if (s.equals("Stonekeep")) {
b0 = 22;
}
break;
case -708491190:
if (s.equals("Eastwood")) {
b0 = 21;
}
break;
case -675209562:
if (s.equals("Swashbuckle")) {
b0 = 23;
}
break;
case -147584549:
if (s.equals("Playground")) {
b0 = 6;
}
break;
case -60461228:
if (s.equals("Jurassic")) {
b0 = 27;
}
break;
case 65391950:
if (s.equals("Crypt")) {
b0 = 1;
}
break;
case 73609615:
if (s.equals("Lotus")) {
b0 = 8;
}
break;
case 601014429:
if (s.equals("Treenan")) {
b0 = 20;
}
break;
case 673068839:
if (s.equals("Airshow")) {
b0 = 0;
}
break;
case 688644453:
if (s.equals("Invasion")) {
b0 = 16;
}
break;
case 799700365:
if (s.equals("Orchestra")) {
b0 = 9;
}
break;
case 916564665:
if (s.equals("Archway")) {
b0 = 24;
}
break;
case 1386045189:
if (s.equals("Dragonstar")) {
b0 = 7;
}
break;
case 1558896284:
if (s.equals("Sandcastle")) {
b0 = 26;
}
break;
case 1726400934:
if (s.equals("Boletum")) {
b0 = 19;
}
break;
case 1772835215:
if (s.equals("Glacier")) {
b0 = 2;
}
break;
case 1790335218:
if (s.equals("Waterfall")) {
b0 = 10;
}
break;
case 1793076202:
if (s.equals("Lighthouse")) {
b0 = 3;
}
break;
case 1964569124:
if (s.equals("Amazon")) {
b0 = 5;
}
break;
case 1970308300:
if (s.equals("Ashore")) {
b0 = 17;
}
}
switch (b0) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
BedwarsData.cachedBedColourSegments = new int[] { 0, 1, 2, 3, 4, 5, 6, 7};
break;
case 13:
BedwarsData.cachedBedColourSegments = new int[] { 2, 1, 0, 7, 6, 5, 4, 3};
break;
case 14:
BedwarsData.cachedBedColourSegments = new int[] { 4, 5, 6, 7, 0, 1, 2, 3};
break;
case 15:
BedwarsData.cachedBedColourSegments = new int[] { 0, 6, 6, 7, 7, 5, 5, 0};
break;
case 16:
BedwarsData.cachedBedColourSegments = new int[] { 7, 7, 0, 0, 5, 5, 6, 6};
break;
case 17:
case 18:
case 19:
case 20:
case 21:
BedwarsData.cachedBedColourSegments = new int[] { 5, 6, 6, 7, 7, 0, 0, 5};
break;
case 22:
BedwarsData.cachedBedColourSegments = new int[] { 7, 0, 0, 5, 5, 6, 6, 7};
break;
case 23:
case 24:
case 25:
BedwarsData.cachedBedColourSegments = new int[] { 6, 7, 7, 0, 0, 5, 5, 6};
break;
case 26:
BedwarsData.cachedBedColourSegments = new int[] { 7, 6, 6, 0, 0, 5, 5, 7};
break;
case 27:
BedwarsData.cachedBedColourSegments = new int[] { 0, 7, 7, 6, 6, 5, 5, 0};
break;
case 28:
BedwarsData.cachedBedColourSegments = new int[] { 0, 0, 7, 7, 5, 5, 6, 6};
}
return BedwarsData.cachedBedColourSegments == null ? new int[] { 5, 5, 5, 5, 5, 5, 5, 5} : BedwarsData.cachedBedColourSegments;
}
}
public static int getSegmentNumForPos(BlockPos pos) {
return pos.getX() > 0 ? (pos.getZ() > 0 ? (Math.abs(pos.getX()) > Math.abs(pos.getZ()) ? 0 : 1) : (Math.abs(pos.getX()) > Math.abs(pos.getZ()) ? 7 : 6)) : (pos.getZ() > 0 ? (Math.abs(pos.getX()) > Math.abs(pos.getZ()) ? 3 : 2) : (Math.abs(pos.getX()) > Math.abs(pos.getZ()) ? 4 : 5));
}
static {
BedwarsData.heightsMap.put("60,60,-1,64,64,60,61,-1,65,64,-1,-1,-1,-1,-1,64,65,-1,61,60,64,64,-1,60,60,", "Airshow");
BedwarsData.heightsMap.put("62,61,62,61,61,61,62,62,62,62,62,62,-1,63,62,62,62,62,62,-1,62,61,62,62,61,", "Crypt");
BedwarsData.heightsMap.put("56,56,-1,56,56,56,-1,-1,-1,56,-1,-1,-1,-1,-1,56,-1,-1,-1,56,56,56,-1,56,56,", "Glacier");
BedwarsData.heightsMap.put("55,55,58,56,55,50,51,53,52,53,53,51,51,51,55,54,51,50,51,53,54,52,51,51,55,", "Lighthouse");
BedwarsData.heightsMap.put("20,20,-1,-1,20,20,20,-1,-1,20,-1,-1,-1,-1,-1,20,-1,-1,20,20,20,-1,-1,20,20,", "Rooftop");
BedwarsData.heightsMap.put("60,60,60,60,60,60,60,63,60,60,60,60,-1,60,60,60,60,63,60,60,60,60,60,60,60,", "Amazon");
BedwarsData.heightsMap.put("65,65,65,65,65,65,65,65,65,65,65,65,107,65,65,65,65,65,65,65,65,65,65,65,65,", "Playground");
BedwarsData.heightsMap.put("63,63,56,63,63,63,56,56,56,63,56,56,48,56,56,63,56,56,56,63,63,63,56,63,63,", "Steampunk");
BedwarsData.heightsMap.put("65,68,65,67,65,67,65,65,65,68,65,65,65,65,65,68,65,65,65,67,65,67,65,68,65,", "Dragonstar");
BedwarsData.heightsMap.put("57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,", "Lotus");
BedwarsData.heightsMap.put("-1,66,63,66,-1,66,49,50,49,66,63,50,50,50,63,66,49,50,49,66,-1,66,63,66,-1,", "Orchestra");
BedwarsData.heightsMap.put("58,59,59,58,58,58,-1,-1,-1,59,59,-1,-1,-1,59,59,-1,-1,-1,58,58,58,59,59,58,", "Waterfall");
BedwarsData.heightsMap.put("-1,61,57,56,64,56,76,57,54,54,54,54,64,54,54,54,54,57,76,56,64,56,57,61,-1,", "Speedway");
BedwarsData.heightsMap.put("57,55,55,56,57,56,57,-1,58,55,55,-1,-1,-1,55,55,56,-1,56,56,55,56,55,55,55,", "Hollow");
BedwarsData.heightsMap.put("-1,68,60,65,-1,65,-1,66,-1,68,60,66,-1,66,63,68,-1,66,-1,65,-1,65,60,68,-1,", "Pernicious");
BedwarsData.heightsMap.put("48,49,54,52,49,51,49,49,49,50,52,49,48,49,52,52,49,49,49,51,54,51,52,51,48,", "Ashore");
BedwarsData.heightsMap.put("62,59,57,59,-1,58,62,60,-1,59,57,59,-1,59,57,59,-1,60,62,58,-1,59,57,59,62,", "Swashbuckle");
BedwarsData.heightsMap.put("76,76,88,-1,-1,77,87,-1,-1,-1,87,-1,-1,-1,84,88,-1,-1,85,76,-1,87,87,76,76,", "Boletum");
BedwarsData.heightsMap.put("52,50,50,51,51,51,55,-1,63,-1,55,-1,79,-1,55,-1,63,-1,55,51,51,51,50,50,52,", "Chained");
BedwarsData.heightsMap.put("71,81,81,81,81,80,77,83,70,81,71,71,-1,-1,71,81,75,81,77,74,81,69,81,81,77,", "Aquarium");
BedwarsData.heightsMap.put("58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,", "Archway");
BedwarsData.heightsMap.put("36,35,35,35,36,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,36,35,35,35,36,", "Stonekeep");
BedwarsData.heightsMap.put("-1,-1,84,-1,-1,-1,84,80,83,88,84,81,79,82,79,84,86,80,82,-1,77,77,98,-1,-1,", "Invasion");
BedwarsData.heightsMap.put("55,54,53,53,54,53,52,52,52,54,53,51,51,52,54,53,53,52,53,54,55,53,53,53,55,", "Treenan");
BedwarsData.heightsMap.put("53,53,53,53,53,53,55,77,55,53,53,77,59,77,53,53,55,77,55,53,53,53,53,53,53,", "Eastwood");
BedwarsData.heightsMap.put("55,51,52,52,53,52,50,51,52,54,52,51,50,49,51,51,52,51,52,52,53,52,53,52,52,", "Lectus");
BedwarsData.heightsMap.put("58,56,56,56,58,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,58,56,56,56,58,", "Jurassic");
BedwarsData.heightsMap.put("52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,", "Temple");
BedwarsData.heightsMap.put("57,60,59,59,59,59,58,58,58,59,59,58,58,58,59,59,58,58,58,59,59,59,59,59,59,", "Sandcastle");
}
}

View File

@ -1,59 +0,0 @@
package net.silentclient.client.mods.hypixel.bedwarsbeds;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ChunkRenderContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.chunk.ListedRenderChunk;
import net.minecraft.client.renderer.chunk.RenderChunk;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.EnumWorldBlockLayer;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.vector.Vector3f;
import org.lwjgl.util.vector.Vector4f;
public class HookedRenderList extends ChunkRenderContainer {
public void renderChunkLayer(EnumWorldBlockLayer layer) {
if (this.initialized) {
Iterator<RenderChunk> iterator = this.renderChunks.iterator();
while (iterator.hasNext()) {
RenderChunk renderchunk = (RenderChunk) iterator.next();
ListedRenderChunk listedrenderchunk = (ListedRenderChunk) renderchunk;
GlStateManager.pushMatrix();
this.preRenderChunk(renderchunk);
HashMap<String, Serializable> data = new HashMap<String, Serializable>();
data.put("bed_colour_enabled", Integer.valueOf(1));
Vector3f colour = BedwarsData.getColourForPos(renderchunk.getPosition().add(8, 0, 8));
data.put("bed_colour", Integer.valueOf((int) colour.x));
data.put("bed_colour_s", Integer.valueOf((int) colour.y));
data.put("bed_colour_v", Integer.valueOf((int) colour.z));
String[] sprites = new String[] { "bed_feet_end", "bed_feet_side", "bed_feet_top", "bed_head_end", "bed_head_side", "bed_head_top"};
String[] astring = sprites;
int i = sprites.length;
for (int j = 0; j < i; ++j) {
String s = astring[j];
TextureAtlasSprite sprite = Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite("minecraft:blocks/" + s);
data.put(s, new Vector4f(sprite.getMinU(), sprite.getMaxU(), sprite.getMinV(), sprite.getMaxV()));
ShaderManager.getShaderManager().putShaderData(ShaderManager.Shader.WORLD, data);
}
ShaderManager.getShaderManager().enableShader(ShaderManager.Shader.WORLD);
GL11.glCallList(listedrenderchunk.getDisplayList(layer, listedrenderchunk.getCompiledChunk()));
ShaderManager.getShaderManager().disableShader();
GlStateManager.popMatrix();
}
GlStateManager.resetColor();
this.renderChunks.clear();
}
}
}

View File

@ -1,74 +0,0 @@
package net.silentclient.client.mods.hypixel.bedwarsbeds;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ChunkRenderContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.chunk.RenderChunk;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.VertexBuffer;
import net.minecraft.util.EnumWorldBlockLayer;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.vector.Vector3f;
import org.lwjgl.util.vector.Vector4f;
public class HookedVboRenderList extends ChunkRenderContainer {
public void renderChunkLayer(EnumWorldBlockLayer layer) {
if (this.initialized) {
Iterator<?> iterator = this.renderChunks.iterator();
while (iterator.hasNext()) {
RenderChunk renderchunk = (RenderChunk) iterator.next();
VertexBuffer vertexbuffer = renderchunk.getVertexBufferByLayer(layer.ordinal());
GlStateManager.pushMatrix();
this.preRenderChunk(renderchunk);
renderchunk.multModelviewMatrix();
vertexbuffer.bindBuffer();
this.setupArrayPointers();
HashMap<String, Serializable> data = new HashMap<String, Serializable>();
data.put("bed_colour_enabled", Integer.valueOf(1));
Vector3f colour = BedwarsData.getColourForPos(renderchunk.getPosition().add(8, 0, 8));
data.put("bed_colour", Integer.valueOf((int) colour.x));
data.put("bed_colour_s", Integer.valueOf((int) colour.y));
data.put("bed_colour_v", Integer.valueOf((int) colour.z));
String[] sprites = new String[] { "bed_feet_end", "bed_feet_side", "bed_feet_top", "bed_head_end", "bed_head_side", "bed_head_top"};
String[] astring = sprites;
int i = sprites.length;
for (int j = 0; j < i; ++j) {
String s = astring[j];
TextureAtlasSprite sprite = Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite("minecraft:blocks/" + s);
data.put(s, new Vector4f(sprite.getMinU(), sprite.getMaxU(), sprite.getMinV(), sprite.getMaxV()));
ShaderManager.getShaderManager().putShaderData(ShaderManager.Shader.WORLD, data);
}
ShaderManager.getShaderManager().enableShader(ShaderManager.Shader.WORLD);
vertexbuffer.drawArrays(7);
ShaderManager.getShaderManager().disableShader();
GlStateManager.popMatrix();
}
OpenGlHelper.glBindBuffer(OpenGlHelper.GL_ARRAY_BUFFER, 0);
GlStateManager.resetColor();
this.renderChunks.clear();
}
}
private void setupArrayPointers() {
GL11.glVertexPointer(3, 5126, 28, 0L);
GL11.glColorPointer(4, 5121, 28, 12L);
GL11.glTexCoordPointer(2, 5126, 28, 16L);
OpenGlHelper.setClientActiveTexture(OpenGlHelper.lightmapTexUnit);
GL11.glTexCoordPointer(2, 5122, 28, 24L);
OpenGlHelper.setClientActiveTexture(OpenGlHelper.defaultTexUnit);
}
}

View File

@ -1,169 +0,0 @@
package net.silentclient.client.mods.hypixel.bedwarsbeds;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import org.lwjgl.opengl.GL20;
import org.lwjgl.util.vector.Vector3f;
import org.lwjgl.util.vector.Vector4f;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
public class ShaderManager {
private static ShaderManager INSTANCE = new ShaderManager();
private HashMap<Shader, int[]> shaderMap = new HashMap<Shader, int[]>();
private HashMap<Shader, HashMap<?, ?>> shaderData = new HashMap<Shader, HashMap<?, ?>>();
public static ShaderManager getShaderManager() {
return ShaderManager.INSTANCE;
}
public void putShaderData(ShaderManager.Shader type, HashMap<?, ?> data) {
this.shaderData.put(type, data);
}
public void disableShader() {
GL20.glUseProgram(0);
}
public void enableShader(ShaderManager.Shader type) {
if (!this.shaderMap.containsKey(type)) {
this.loadProgram(type);
}
GL20.glUseProgram(((int[]) this.shaderMap.get(type))[2]);
this.loadData(type);
}
private void loadData(ShaderManager.Shader type) {
HashMap<?, ?> map = (HashMap<?, ?>) this.shaderData.get(type);
if (map != null) {
Iterator<?> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = (String) iterator.next();
int location = GL20.glGetUniformLocation(((int[]) this.shaderMap.get(type))[2], key);
Object data = map.get(key);
if (data instanceof Integer) {
GL20.glUniform1i(location, ((Integer) data).intValue());
} else if (data instanceof Float) {
GL20.glUniform1f(location, ((Float) data).floatValue());
} else if (data instanceof Vector3f) {
Vector3f vec = (Vector3f) data;
GL20.glUniform3f(location, vec.x, vec.y, vec.z);
} else {
if (!(data instanceof Vector4f)) {
throw new UnsupportedOperationException("Failed to load data into shader: Unsupported data type.");
}
Vector4f vec1 = (Vector4f) data;
GL20.glUniform4f(location, vec1.x, vec1.y, vec1.z, vec1.w);
}
}
}
}
private void loadProgram(ShaderManager.Shader type) {
int vertShader = this.createShader('謱', this.getShaderSource('謱', type));
if (vertShader != -1) {
int fragShader = this.createShader('謰', this.getShaderSource('謰', type));
if (fragShader != -1) {
int program = GL20.glCreateProgram();
GL20.glAttachShader(program, vertShader);
GL20.glAttachShader(program, fragShader);
GL20.glLinkProgram(program);
if (GL20.glGetProgrami(program, '讂') == 0) {
System.err.println(GL20.glGetProgramInfoLog(program, 100));
} else {
GL20.glValidateProgram(program);
if (GL20.glGetProgrami(program, '讃') == 0) {
System.err.println(GL20.glGetProgramInfoLog(program, 100));
} else {
this.shaderMap.put(type, new int[] { vertShader, fragShader, program});
}
}
}
}
}
private String getShaderSource(int shaderType, ShaderManager.Shader shaderName) {
ResourceLocation loc = new ResourceLocation("silentclient/shaders/" + shaderName.toString().toLowerCase() + ".shd");
InputStream is = null;
try {
is = Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream();
} catch (IOException ioexception) {
ioexception.printStackTrace();
}
try {
BufferedReader e = new BufferedReader(new InputStreamReader(is));
Throwable throwable = null;
try {
StringBuilder builder = new StringBuilder();
String line;
while ((line = e.readLine()) != null) {
builder.append(line).append("\n");
}
String source = builder.toString();
return shaderType == '謱' ? source.split("###FRAGMENT SHADER")[0].split("###VERTEX SHADER")[1].trim() : (shaderType == '謰' ? source.split("###FRAGMENT SHADER")[1].trim() : null);
} catch (Throwable throwable1) {
throwable = throwable1;
throw throwable1;
} finally {
if (e != null) {
if (throwable != null) {
try {
e.close();
} catch (Throwable throwable2) {
throwable.addSuppressed(throwable2);
}
} else {
e.close();
}
}
}
} catch (IOException ioexception1) {
ioexception1.printStackTrace();
return null;
}
}
private int createShader(int programType, String source) {
int shader = GL20.glCreateShader(programType);
GL20.glShaderSource(shader, source);
GL20.glCompileShader(shader);
if (GL20.glGetShaderi(shader, '讁') == 0) {
System.err.println(GL20.glGetShaderInfoLog(shader, 100));
return -1;
} else {
return shader;
}
}
public static enum Shader {
WORLD, HUD;
}
}

View File

@ -18,6 +18,7 @@ import net.silentclient.client.gui.theme.Theme;
import net.silentclient.client.mods.CustomFontRenderer; import net.silentclient.client.mods.CustomFontRenderer;
import net.silentclient.client.mods.Mod; import net.silentclient.client.mods.Mod;
import net.silentclient.client.mods.ModCategory; import net.silentclient.client.mods.ModCategory;
import net.silentclient.client.mods.util.Server;
import net.silentclient.client.utils.MenuBlurUtils; import net.silentclient.client.utils.MenuBlurUtils;
import net.silentclient.client.utils.MouseCursorHandler; import net.silentclient.client.utils.MouseCursorHandler;
import net.silentclient.client.utils.NotificationUtils; import net.silentclient.client.utils.NotificationUtils;
@ -38,6 +39,11 @@ public class AutoTextMod extends Mod {
super("Auto Text", ModCategory.MODS, "silentclient/icons/mods/autotext.png"); super("Auto Text", ModCategory.MODS, "silentclient/icons/mods/autotext.png");
} }
@Override
public boolean isForceDisabled() {
return Server.isHypixel();
}
@Override @Override
public MouseCursorHandler.CursorType renderCustomLiteComponent(int x, int y, int width, int height, int mouseX, int mouseY) { public MouseCursorHandler.CursorType renderCustomLiteComponent(int x, int y, int width, int height, int mouseX, int mouseY) {
MouseCursorHandler.CursorType cursorType = null; MouseCursorHandler.CursorType cursorType = null;
@ -180,7 +186,7 @@ public class AutoTextMod extends Mod {
@EventTarget @EventTarget
public void onClick(KeyEvent event) { public void onClick(KeyEvent event) {
if(mc.thePlayer != null && mc.theWorld != null && mc.currentScreen == null && !sending) { if(mc.thePlayer != null && mc.theWorld != null && mc.currentScreen == null && !sending && !isForceDisabled()) {
for(AutoTextCommand command : commands) { for(AutoTextCommand command : commands) {
if(command.getKey() == event.getKey()) { if(command.getKey() == event.getKey()) {
Client.getInstance().getModInstances().getAutoText().sending = true; Client.getInstance().getModInstances().getAutoText().sending = true;

View File

@ -19,7 +19,7 @@ public class Players {
public static final Map<String, PlayerResponse.Account> playersCache = new WeakHashMap<>(); public static final Map<String, PlayerResponse.Account> playersCache = new WeakHashMap<>();
public static void reload() { public static void reload() {
// playersCache.clear(); playersCache.clear();
} }
public static String getPlayerStatus(boolean isMainPlayer, String name, UUID id, AbstractClientPlayer playerRow) { public static String getPlayerStatus(boolean isMainPlayer, String name, UUID id, AbstractClientPlayer playerRow) {
@ -117,10 +117,28 @@ public class Players {
Players.getPlayerStatus(false, ((AbstractClientPlayerExt) Minecraft.getMinecraft().thePlayer).silent$getNameClear(), EntityPlayer.getUUID(Minecraft.getMinecraft().thePlayer.getGameProfile()), Minecraft.getMinecraft().thePlayer); Players.getPlayerStatus(false, ((AbstractClientPlayerExt) Minecraft.getMinecraft().thePlayer).silent$getNameClear(), EntityPlayer.getUUID(Minecraft.getMinecraft().thePlayer.getGameProfile()), Minecraft.getMinecraft().thePlayer);
} }
} }
if(playersCache.containsKey(account.getUsername())) { if(Minecraft.getMinecraft().theWorld != null && getPlayerEntityByName(account.original_username) != null) {
playersCache.remove(account.getUsername()); Client.logger.info("Account processing: " + account.getUsername());
if(playersCache.containsKey(account.getUsername())) {
playersCache.remove(account.getUsername());
}
playersCache.put(account.getUsername(), account);
} }
playersCache.put(account.getUsername(), account); }
public static EntityPlayer getPlayerEntityByName(String name)
{
for (int i = 0; i < Minecraft.getMinecraft().theWorld.playerEntities.size(); ++i)
{
EntityPlayer entityplayer = (EntityPlayer)Minecraft.getMinecraft().theWorld.playerEntities.get(i);
if (name.equalsIgnoreCase(entityplayer.getName()))
{
return entityplayer;
}
}
return null;
} }
public static PlayerResponse getAccount(String name) { public static PlayerResponse getAccount(String name) {

View File

@ -163,8 +163,6 @@ public class EntityCulling {
return; return;
} }
// System.out.println("Working!!");
//#if MC==10809 //#if MC==10809
EntityLivingBase entity = (EntityLivingBase)event.getEntity(); EntityLivingBase entity = (EntityLivingBase)event.getEntity();
//#else //#else
@ -198,7 +196,9 @@ public class EntityCulling {
//$$ RenderLivingBase<EntityLivingBase> renderer = event.getRenderer(); //$$ RenderLivingBase<EntityLivingBase> renderer = event.getRenderer();
//#endif //#endif
renderer.renderName(entity, x, y, z); if(entity instanceof EntityPlayer) {
renderer.renderName(entity, x, y, z);
}
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,609 @@
[
{
"name": "Main Lobby",
"icon": "main_lobby",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby main"
},
{
"name": "Run Lobby Command",
"command": "/lobby"
},
{
"name": "Run /stuck",
"command": "/stuck"
}
]
},
{
"name": "Arcade",
"icon": "arcade",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby arcade"
},
{
"name": "Blocking Dead",
"command": "/play arcade_day_one"
},
{
"name": "Bounty Hunters",
"command": "/play arcade_bounty_hunters"
},
{
"name": "Capture The Wool",
"command": "/play arcade_pvp_ctw"
},
{
"name": "Creeper Attack",
"command": "/play arcade_creeper_attack"
},
{
"name": "Dragon Wars",
"command": "/play arcade_dragon_wars"
},
{
"name": "Ender Spleef",
"command": "/play arcade_ender_spleef"
},
{
"name": "Farm Hunt",
"command": "/play arcade_farm_hunt"
},
{
"name": "Football",
"command": "/play arcade_soccer"
},
{
"name": "Galaxy Wars",
"command": "/play arcade_starwars"
},
{
"name": "Hide and Seek - Party Pooper",
"command": "/play arcade_hide_and_seek_party_pooper"
},
{
"name": "Hide and Seek - Prop Hunt",
"command": "/play arcade_hide_and_seek_prop_hunt"
},
{
"name": "Hole in the Wall",
"command": "/play arcade_hole_in_the_wall"
},
{
"name": "Hypixel Says",
"command": "/play arcade_simon_says"
},
{
"name": "Santa Says",
"command": "/play arcade_santa_says"
},
{
"name": "Mini Walls",
"command": "/play arcade_mini_walls"
},
{
"name": "Party Games",
"command": "/play arcade_party_games_1"
},
{
"name": "Pixel Painters",
"command": "/play arcade_pixel_painters"
},
{
"name": "Throw Out",
"command": "/play arcade_throw_out"
},
{
"name": "Zombies - Dead End",
"command": "/play arcade_zombies_dead_end"
},
{
"name": "Zombies - Bad Blood",
"command": "/play arcade_zombies_bad_blood"
},
{
"name": "Zombies - Alien Arcadium",
"command": "/play arcade_zombies_alien_arcadium"
}
]
},
{
"name": "Bed Wars",
"icon": "bedwars",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby bedwars"
},
{
"name": "Solo",
"command": "/play bedwars_eight_one"
},
{
"name": "Doubles",
"command": "/play bedwars_eight_two"
},
{
"name": "3v3v3v3",
"command": "/play bedwars_four_three"
},
{
"name": "4v4v4v4",
"command": "/play bedwars_four_four"
},
{
"name": "4v4",
"command": "/play bedwars_two_four"
},
{
"name": "Capture",
"command": "/play bedwars_capture"
},
{
"name": "Rush Doubles",
"command": "/play bedwars_eight_two_rush"
},
{
"name": "Rush 4v4",
"command": "/play bedwars_four_four_rush"
},
{
"name": "Ultimate Doubles",
"command": "/play bedwars_eight_two_ultimate"
},
{
"name": "Ultimate 4v4",
"command": "/play bedwars_four_four_ultimate"
},
{
"name": "Castles",
"command": "/play bedwars_castle"
},
{
"name": "Voidless Doubles",
"command": "/play bedwars_eight_two_voidless"
},
{
"name": "Voidless 4v4",
"command": "/play bedwars_four_four_voidless"
},
{
"name": "Armed Doubles",
"command": "/play bedwars_eight two_armed"
},
{
"name": "Armed 4v4",
"command": "/play bedwars_four_four_armed"
},
{
"name": "Lucky Blocks Doubles",
"command": "/play bedwars_eight two_lucky"
},
{
"name": "Lucky Blocks 4v4",
"command": "/play bedwars_four_four_lucky"
}
]
},
{
"name": "Blitz SG",
"icon": "blitz",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby blitz"
},
{
"name": "Solo",
"command": "/play blitz_solo_normal"
},
{
"name": "Teams",
"command": "/play blitz_teams_normal"
}
]
},
{
"name": "Build Battle",
"icon": "build_battle",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby buildbattle"
},
{
"name": "Solo",
"command": "/play build_battle_solo_normal"
},
{
"name": "Teams",
"command": "/play build_battle_teams_normal"
},
{
"name": "Pro Mode",
"command": "/play build_battle_solo_pro"
},
{
"name": "Guess The Build",
"command": "/play build_battle_guess_the_build"
}
]
},
{
"name": "Classic Games",
"icon": "classic",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby classic"
},
{
"name": "Vampirez",
"command": "/play vampirez"
},
{
"name": "Quakecraft Solo",
"command": "/play quake_solo"
},
{
"name": "Quakecraft Teams",
"command": "/play quake_teams"
},
{
"name": "Paintball",
"command": "/play paintball"
},
{
"name": "Arena Brawl 1v1",
"command": "/play arena_1v1"
},
{
"name": "Arena Brawl 2v2",
"command": "/play arena_2v2"
},
{
"name": "Arena Brawl 4v4",
"command": "/play arena_4v4"
},
{
"name": "The Walls",
"command": "/play walls"
},
{
"name": "Turbo Kart Racers",
"command": "/play tkr"
}
]
},
{
"name": "Cops and Crims",
"icon": "cvc",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby cops"
},
{
"name": "Defusal",
"command": "/play mcgo_normal"
},
{
"name": "Team Deathmatch",
"command": "/play mcgo_deathmatch"
},
{
"name": "Defusal Party",
"command": "/play mcgo_normal_party"
},
{
"name": "Team Deathmatch Party",
"command": "/play mcgo_deathmatch_party"
}
]
},
{
"name": "Duels",
"icon": "duels",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby duels"
},
{
"name": "Blitz 1v1",
"command": "/play duels_blitz_duel"
},
{
"name": "Bow 1v1",
"command": "/play duels_bow_duel"
},
{
"name": "Bow Spleef 1v1",
"command": "/play duels_bowspleef_duel"
},
{
"name": "Boxing",
"command": "/play duels_boxing_duel"
},
{
"name": "Bridge 1v1",
"command": "/play duels_bridge_duel"
},
{
"name": "Bridge 2v2",
"command": "/play duels_bridge_doubles"
},
{
"name": "Bridge 2v2v2v2",
"command": "/play duels_bridge_2v2v2v2"
},
{
"name": "Bridge 3v3",
"command": "/play duels_bridge_threes"
},
{
"name": "Bridge 3v3v3v3",
"command": "/play duels_bridge_3v3v3v3"
},
{
"name": "Bridge 4v4",
"command": "/play duels_bridge_four"
},
{
"name": "Bridge CTF",
"command": "/play duels_capture_threes"
},{
"name": "Classic 1v1",
"command": "/play duels_classic_duel"
},
{
"name": "Combo 1v1",
"command": "/play duels_combo_duel"
},
{
"name": "MegaWalls 1v1",
"command": "/play duels_mw_duel"
},
{
"name": "MegaWalls 2v2",
"command": "/play duels_mw_doubles"
},
{
"name": "NoDebuff 1v1",
"command": "/play duels_potion_duel"
},
{
"name": "OP 1v1",
"command": "/play duels_op_duel"
},
{
"name": "OP 2v2",
"command": "/play duels_op_doubles"
},
{
"name": "Parkour",
"command": "/play duels_parkour_eight"
},
{
"name": "SkyWars 1v1",
"command": "/play duels_sw_duel"
},
{
"name": "SkyWars 2v2",
"command": "/play duels_sw_doubles"
},
{
"name": "Sumo",
"command": "/play duels_sumo_duel"
},
{
"name": "UHC 1v1",
"command": "/play duels_uhc_duel"
},
{
"name": "UHC 2v2",
"command": "/play duels_uhc_doubles"
},
{
"name": "UHC 4v4",
"command": "/play arena_4v4"
},
{
"name": "UHC Deathmatch",
"command": "/play duels_uhc_meetup"
}
]
},
{
"name": "Murder Mystery",
"icon": "murder",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby murder"
},
{
"name": "Classic",
"command": "/play murder_classic"
},
{
"name": "Assassins",
"command": "/play murder_assassins"
},
{
"name": "Infection V2",
"command": "/play murder_infection"
},
{
"name": "Double Up!",
"command": "/play murder_double_up"
}
]
},
{
"name": "SkyWars",
"icon": "skywars",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby skywars"
},
{
"name": "Solo Normal",
"command": "/play solo_normal"
},
{
"name": "Solo Insane",
"command": "/play solo_insane"
},
{
"name": "Doubles Normal",
"command": "/play teams_normal"
},
{
"name": "Doubles Insane",
"command": "/play teams_insane"
},
{
"name": "Mega Normal",
"command": "/play mega_normal"
},
{
"name": "Mega Doubles",
"command": "/play mega_doubles"
},
{
"name": "Solo TNT Madness",
"command": "/play solo_insane_tnt_madness"
},
{
"name": "Doubles TNT Madness",
"command": "/play teams_insane_tnt_madness"
},
{
"name": "Solo Rush",
"command": "/play solo_insane_rush"
},
{
"name": "Doubles Rush",
"command": "/play teams_insane_rush"
},
{
"name": "Solo Slime",
"command": "/play solo_insane_slime"
},
{
"name": "Doubles Slime",
"command": "/play teams_insane_slime"
},
{
"name": "Solo Lucky Blocks",
"command": "/play solo_insane_lucky"
},
{
"name": "Doubles Lucky Blocks",
"command": "/play teams_insane_lucky"
},
{
"name": "Hunter vs. Beasts",
"command": "/play solo_insane_hunters_vs_beasts"
}
]
},
{
"name": "Smash Heroes",
"icon": "smash_heroes",
"modes": [
{
"name": "Solo",
"command": "/play super_smash_solo_normal"
},
{
"name": "2v2",
"command": "/play super_smash_2v2_normal"
},
{
"name": "2v2v2",
"command": "/play super_smash_teams_normal"
},
{
"name": "Friends",
"command": "/play super_smash_friends_normal"
},
{
"name": "1v1",
"command": "/play super_smash_1v1_normal"
}
]
},
{
"name": "TNT Games",
"icon": "tnt",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby tnt"
},
{
"name": "TNT Run",
"command": "/play tnt_tntrun"
},
{
"name": "PVP Run",
"command": "/play tnt_pvprun"
},
{
"name": "Bow Spleef",
"command": "/play tnt_bowspleef"
},
{
"name": "TNT Tag",
"command": "/play tnt_tntag"
},
{
"name": "Wizards",
"command": "/play tnt_capture"
}
]
},
{
"name": "Warlords",
"icon": "warlords",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby warlords"
},
{
"name": "Capture the Flag",
"command": "/play warlords_ctf_mini"
},
{
"name": "Domination",
"command": "/play warlords_domination"
},
{
"name": "Team Deathmatch",
"command": "/play warlords_team_deathmatch"
}
]
},
{
"name": "Wool Wars",
"icon": "woolwars",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby woolwars"
},
{
"name": "4v4",
"command": "/play wool_wool_wars_two_four"
}
]
}
]

View File

@ -0,0 +1,138 @@
[
{
"name": "Lobby",
"icon": "ruhypixel",
"modes": [
{
"name": "Go to Lobby",
"command": "/lobby"
}
]
},
{
"name": "Arcade",
"icon": "arcade",
"modes": [
{
"name": "Block Party",
"command": "/play BLOCK_PARTY"
},
{
"name": "Dropper",
"command": "/play DROPPER"
},
{
"name": "Murder Mystery",
"command": "/play MURDERMYSTERY_CLASSIC"
}
]
},
{
"name": "Bed Wars",
"icon": "bedwars",
"modes": [
{
"name": "Solo",
"command": "/play BEDWARS_SOLO"
},
{
"name": "Doubles",
"command": "/play BEDWARS_TEAM"
},
{
"name": "3v3v3v3",
"command": "/play BEDWARS_3v3v3v3"
},
{
"name": "4v4v4v4",
"command": "/play BEDWARS_4v4v4v4"
}
]
},
{
"name": "Duels",
"icon": "duels",
"modes": [
{
"name": "Bed Wars",
"command": "/play BEDWARS_DUELS"
},
{
"name": "Bridge",
"command": "/play DUEL_THE_BRIDGE"
},
{
"name": "Boxing",
"command": "/play DUEL_BOXING"
},
{
"name": "Classic",
"command": "/play DUEL_CLASSIC"
},
{
"name": "Combo",
"command": "/play DUEL_COMBO"
},
{
"name": "NoDebuff",
"command": "/play DUEL_NODEBUFF"
},
{
"name": "OP",
"command": "/play DUEL_OP"
},
{
"name": "Pearl Fight",
"command": "/play DUEL_PEARL_FIGHT"
},
{
"name": "Sky Wars",
"command": "/play SKYWARS_DUELS"
},
{
"name": "Stick Fight",
"command": "/play DUEL_STICK_DUELS"
},
{
"name": "Sumo",
"command": "/play DUEL_SUMO"
},
{
"name": "UHC",
"command": "/play DUEL_UHC"
}
]
},
{
"name": "SkyWars",
"icon": "skywars",
"modes": [
{
"name": "Solo",
"command": "/play SKYWARS_SOLO_INSANE"
},
{
"name": "Teams",
"command": "/play SKYWARS_TEAM_INSANE"
},
{
"name": "Ranked",
"command": "/play SKYWARS_RANKED"
}
]
},
{
"name": "TNT Games",
"icon": "tnt",
"modes": [
{
"name": "TNT Run",
"command": "/play TNT_RUN"
},
{
"name": "TNT Tag",
"command": "/play TNT_TAG"
}
]
}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -0,0 +1,108 @@
// Вид объекта с мини-режимом
{
"name": "Название режима",
"icon": "оставь пустым",
"modes": [
{
"name": "Название режима",
"command": "команда для входа в режима"
}
]
}
// Так же нужно указывать команду для входа в лобби с названием "Go to Lobby One" (если у мини-режима есть лобби)
// Пример
{
"name": "Arcade",
"icon": "arcade",
"modes": [
{
"name": "Go to Lobby One",
"command": "/lobby arcade"
},
{
"name": "Blocking Dead",
"command": "/play arcade_day_one"
},
{
"name": "Bounty Hunters",
"command": "/play arcade_bounty_hunters"
},
{
"name": "Capture The Wool",
"command": "/play arcade_pvp_ctw"
},
{
"name": "Creeper Attack",
"command": "/play arcade_creeper_attack"
},
{
"name": "Dragon Wars",
"command": "/play arcade_dragon_wars"
},
{
"name": "Ender Spleef",
"command": "/play arcade_ender_spleef"
},
{
"name": "Farm Hunt",
"command": "/play arcade_farm_hunt"
},
{
"name": "Football",
"command": "/play arcade_soccer"
},
{
"name": "Galaxy Wars",
"command": "/play arcade_starwars"
},
{
"name": "Hide and Seek - Party Pooper",
"command": "/play arcade_hide_and_seek_party_pooper"
},
{
"name": "Hide and Seek - Prop Hunt",
"command": "/play arcade_hide_and_seek_prop_hunt"
},
{
"name": "Hole in the Wall",
"command": "/play arcade_hole_in_the_wall"
},
{
"name": "Hypixel Says",
"command": "/play arcade_simon_says"
},
{
"name": "Santa Says",
"command": "/play arcade_santa_says"
},
{
"name": "Mini Walls",
"command": "/play arcade_mini_walls"
},
{
"name": "Party Games",
"command": "/play arcade_party_games_1"
},
{
"name": "Pixel Painters",
"command": "/play arcade_pixel_painters"
},
{
"name": "Throw Out",
"command": "/play arcade_throw_out"
},
{
"name": "Zombies - Dead End",
"command": "/play arcade_zombies_dead_end"
},
{
"name": "Zombies - Bad Blood",
"command": "/play arcade_zombies_bad_blood"
},
{
"name": "Zombies - Alien Arcadium",
"command": "/play arcade_zombies_alien_arcadium"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB