Updated build.gradle to automatically build fat jars with the dependencies in the /libs folder. This utilizes the shade.sh shell script. Use ./gradlew without explicitely invoking the build task, as this will automatically build a fat jar.
Sorry for this painful commit, but git somehow f'd up and sees changes in files where there aren't any.
This commit is contained in:
3
src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java
Normal file → Executable file
3
src/main/java/eu/crushedpixel/replaymod/gui/GuiConstants.java
Normal file → Executable file
@@ -42,4 +42,7 @@ public class GuiConstants {
|
||||
|
||||
public static final int REPLAY_EDITOR_UP_BUTTON = 5006;
|
||||
public static final int REPLAY_EDITOR_DOWN_BUTTON = 5007;
|
||||
|
||||
public static final int REPLAY_EDITOR_REMOVE_BUTTON = 5008;
|
||||
public static final int REPLAY_EDITOR_ADD_BUTTON = 5009;
|
||||
}
|
||||
|
||||
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySaving.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySaving.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiSpectateSelection.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiSpectateSelection.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoFramerateSlider.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoFramerateSlider.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoQualitySlider.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoQualitySlider.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/PasswordTextField.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/PasswordTextField.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiArrowButton.java
Normal file → Executable file
4
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java
Normal file → Executable file
4
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java
Normal file → Executable file
@@ -190,4 +190,8 @@ public class GuiDropdown<T> extends GuiTextField {
|
||||
public void removeSelectionListener(SelectionListener listener) {
|
||||
this.selectionListeners.remove(listener);
|
||||
}
|
||||
|
||||
public boolean isExpanded() {
|
||||
return open;
|
||||
}
|
||||
}
|
||||
|
||||
12
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java
Normal file → Executable file
12
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java
Normal file → Executable file
@@ -42,7 +42,7 @@ public class GuiEntryList<T> extends GuiTextField {
|
||||
//drawing the entries
|
||||
for(int i=0; i-upperIndex<visibleElements; i++) {
|
||||
if(i<upperIndex) continue;
|
||||
|
||||
|
||||
if(i >= elements.size()) break;
|
||||
|
||||
if(i == selectionIndex) {
|
||||
@@ -84,6 +84,7 @@ public class GuiEntryList<T> extends GuiTextField {
|
||||
|
||||
@Override
|
||||
public void mouseClicked(int xPos, int yPos, int mouseButton) {
|
||||
if(!(xPos >= xPosition && xPos <= xPosition+width && yPos >= yPosition && yPos <= yPosition+height)) return;
|
||||
int clickedIndex = (int)Math.floor((yPos-yPosition) / elementHeight) + upperIndex;
|
||||
if(clickedIndex < elements.size() && clickedIndex >= 0) {
|
||||
selectionIndex = clickedIndex;
|
||||
@@ -96,7 +97,7 @@ public class GuiEntryList<T> extends GuiTextField {
|
||||
listener.onSelectionChanged(selectionIndex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setText(String text) {}
|
||||
|
||||
@@ -122,13 +123,16 @@ public class GuiEntryList<T> extends GuiTextField {
|
||||
}
|
||||
|
||||
public T getElement(int index) {
|
||||
return elements.get(index);
|
||||
if(index >= 0) {
|
||||
return elements.get(index);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getSelectionIndex() {
|
||||
return selectionIndex;
|
||||
}
|
||||
|
||||
|
||||
public void setSelectionIndex(int index) {
|
||||
this.selectionIndex = index;
|
||||
if(selectionIndex < 0) selectionIndex = -1;
|
||||
|
||||
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiMouseInput.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiMouseInput.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiNumberInput.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListEntry.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListExtended.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiReplayListExtended.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/listeners/SelectionListener.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/elements/listeners/SelectionListener.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/online/GuiLoginPrompt.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/online/GuiUploadFile.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/online/ReplayFileList.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/online/ReplayFileList.java
Normal file → Executable file
94
src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java
Normal file → Executable file
94
src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java
Normal file → Executable file
@@ -2,6 +2,7 @@ package eu.crushedpixel.replaymod.gui.replaystudio;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -24,13 +25,13 @@ public class GuiConnectPart extends GuiStudioPart {
|
||||
private static final String TITLE = "Connect Replays";
|
||||
|
||||
private boolean initialized = false;
|
||||
|
||||
|
||||
private GuiEntryList<String> concatList;
|
||||
private GuiDropdown<String> replayDropdown;
|
||||
|
||||
|
||||
private GuiButton removeButton, addButton;
|
||||
private GuiArrowButton upButton, downButton;
|
||||
|
||||
|
||||
private List<File> replayFiles;
|
||||
private List<String> filesToConcat;
|
||||
|
||||
@@ -65,9 +66,9 @@ public class GuiConnectPart extends GuiStudioPart {
|
||||
concatList.setElements(filesToConcat);
|
||||
|
||||
concatList.setSelectionIndex(0);
|
||||
|
||||
|
||||
replayDropdown = new GuiDropdown(1, fontRendererObj, 250, yPos+5, 0, 4);
|
||||
|
||||
|
||||
replayDropdown.clearElements();
|
||||
replayFiles = ReplayFileIO.getAllReplayFiles();
|
||||
int index = -1;
|
||||
@@ -80,19 +81,20 @@ public class GuiConnectPart extends GuiStudioPart {
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
|
||||
replayDropdown.setSelectionPos(index);
|
||||
|
||||
|
||||
replayDropdown.addSelectionListener(new SelectionListener() {
|
||||
|
||||
|
||||
@Override
|
||||
public void onSelectionChanged(int selectionIndex) {
|
||||
filesToConcat.set(concatList.getSelectionIndex(), (String)replayDropdown.getElement(selectionIndex));
|
||||
concatList.setElements(filesToConcat);
|
||||
|
||||
try {
|
||||
filesToConcat.set(concatList.getSelectionIndex(), (String)replayDropdown.getElement(selectionIndex));
|
||||
concatList.setElements(filesToConcat);
|
||||
} catch(Exception e) {} //Sorry, too lazy to properly avoid this Exception here
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
concatList.addSelectionListener(new SelectionListener() {
|
||||
@Override
|
||||
public void onSelectionChanged(int selectionIndex) {
|
||||
@@ -106,54 +108,58 @@ public class GuiConnectPart extends GuiStudioPart {
|
||||
}
|
||||
i++;
|
||||
}
|
||||
removeButton.enabled = upButton.enabled = downButton.enabled = !(selectionIndex < 0 || selectionIndex >= filesToConcat.size());
|
||||
if(upButton.enabled && selectionIndex == 0) upButton.enabled = false;
|
||||
if(downButton.enabled && selectionIndex == filesToConcat.size()-1) downButton.enabled = false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
upButton = new GuiArrowButton(GuiConstants.REPLAY_EDITOR_UP_BUTTON, 195, yPos+40, "", true);
|
||||
buttonList.add(upButton);
|
||||
|
||||
|
||||
downButton = new GuiArrowButton(GuiConstants.REPLAY_EDITOR_DOWN_BUTTON, 219, yPos+40, "", false);
|
||||
buttonList.add(downButton);
|
||||
|
||||
|
||||
int w = GuiReplayStudio.instance.width-243-20-4;
|
||||
|
||||
removeButton = new GuiButton(1, 243, yPos+40, "Remove");
|
||||
|
||||
removeButton = new GuiButton(GuiConstants.REPLAY_EDITOR_REMOVE_BUTTON, 249, yPos+40, "Remove");
|
||||
buttonList.add(removeButton);
|
||||
|
||||
addButton = new GuiButton(1, 0, yPos+40, "Add");
|
||||
|
||||
addButton = new GuiButton(GuiConstants.REPLAY_EDITOR_ADD_BUTTON, 0, yPos+40, "Add");
|
||||
buttonList.add(addButton);
|
||||
|
||||
|
||||
concatList.setSelectionIndex(0);
|
||||
}
|
||||
|
||||
int w = GuiReplayStudio.instance.width-243-20-4;
|
||||
addButton.xPosition = 243+6+(w/2);
|
||||
|
||||
|
||||
int w = GuiReplayStudio.instance.width-249-20-4;
|
||||
addButton.xPosition = 249+6+(w/2);
|
||||
|
||||
addButton.width = w/2+2;
|
||||
removeButton.width = w/2+2;
|
||||
|
||||
replayDropdown.width = GuiReplayStudio.instance.width-250-20;
|
||||
|
||||
|
||||
replayDropdown.width = GuiReplayStudio.instance.width-250-18;
|
||||
|
||||
int h = GuiReplayStudio.instance.height-yPos-20;
|
||||
int rows = (int)(h / (float)GuiEntryList.elementHeight);
|
||||
concatList.setVisibleElements(rows);
|
||||
|
||||
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(int mouseX, int mouseY, int mouseButton) {
|
||||
public void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
|
||||
super.mouseClicked(mouseX, mouseY, mouseButton); //call this first to ensure the dropdown is still open
|
||||
concatList.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
replayDropdown.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
|
||||
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||
concatList.drawTextBox();
|
||||
replayDropdown.drawTextBox();
|
||||
|
||||
|
||||
drawString(fontRendererObj, "Replay:", 200, yPos+5+7, Color.WHITE.getRGB());
|
||||
|
||||
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -165,4 +171,28 @@ public class GuiConnectPart extends GuiStudioPart {
|
||||
public void keyTyped(char typedChar, int keyCode) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) {
|
||||
if(!button.enabled || replayDropdown.isExpanded()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(button.id == GuiConstants.REPLAY_EDITOR_ADD_BUTTON) {
|
||||
filesToConcat.add(FilenameUtils.getBaseName(replayFiles.get(0).getAbsolutePath()));
|
||||
concatList.setElements(filesToConcat);
|
||||
concatList.setSelectionIndex(filesToConcat.size()-1);
|
||||
} else if(button.id == GuiConstants.REPLAY_EDITOR_REMOVE_BUTTON) {
|
||||
int indexBefore = concatList.getSelectionIndex();
|
||||
if(indexBefore >= 0 && indexBefore < filesToConcat.size()) {
|
||||
filesToConcat.remove(indexBefore);
|
||||
concatList.setElements(filesToConcat);
|
||||
if(filesToConcat.size() <= indexBefore) {
|
||||
concatList.setSelectionIndex(filesToConcat.size()-1);
|
||||
} else {
|
||||
concatList.setSelectionIndex(indexBefore);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
0
src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiReplayStudio.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiReplayStudio.java
Normal file → Executable file
6
src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiStudioPart.java
Normal file → Executable file
6
src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiStudioPart.java
Normal file → Executable file
@@ -1,5 +1,7 @@
|
||||
package eu.crushedpixel.replaymod.gui.replaystudio;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
|
||||
public abstract class GuiStudioPart extends GuiScreen {
|
||||
@@ -20,5 +22,7 @@ public abstract class GuiStudioPart extends GuiScreen {
|
||||
public abstract void keyTyped(char typedChar, int keyCode);
|
||||
|
||||
@Override
|
||||
public abstract void mouseClicked(int mouseX, int mouseY, int mouseButton);
|
||||
public void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
|
||||
super.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
}
|
||||
}
|
||||
|
||||
0
src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiTrimPart.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiTrimPart.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiRenameReplay.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/ReplayList.java
Normal file → Executable file
0
src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/ReplayList.java
Normal file → Executable file
Reference in New Issue
Block a user