Skip to content

Commit 70cff07

Browse files
committed
Update 1.0.0
1 parent 3fdc40c commit 70cff07

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+499
-285
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
*.iml
22
/.idea
33
/build
4+
/lib/*
45
/.gradle/
56
/.settings/
67
/bin/

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ ModLoader for Minecraft ReIndev
44

55
## Community
66

7-
You can join the official ReIndev Discord [here](https://discord.gg/38Vfes6NpR)
7+
You can [join the official ReIndev Discord here](https://discord.gg/38Vfes6NpR)
8+
9+
A feature missing to make your mod? [Just open an issue!](https://github.com/Fox2Code/FoxLoader/issues)
810

911
## Documentation
1012

betacraft/build.gradle

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ version project['foxloader.version']
44
dependencies {
55
// compileOnly("com.github.Vatuu:discord-rpc:1.6.2")
66
// compileOnly("aaaaaaaa:bbbbbbb:1.0.0") something.repo/aaaaaaaa/bbbbbbb/1.0.0/bbbbbbb-1.0.0.pom
7+
8+
// Let's use betacraft project fir client dev runs.
9+
implementation(project(":client"))
10+
11+
//noinspection GradlePackageUpdate
12+
implementation("net.java.jinput:jinput:2.0.5")
13+
//noinspection GradlePackageUpdate
14+
implementation("org.lwjgl.lwjgl:lwjgl:2.9.3")
15+
//noinspection GradlePackageUpdate
16+
implementation("org.lwjgl.lwjgl:lwjgl_util:2.9.3")
17+
//noinspection GradlePackageUpdate
18+
implementation("org.lwjgl.lwjgl:lwjgl-platform:2.9.3")
719
}
820

921
tasks.withType(Jar) {

betacraft/src/main/java/FoxLoader.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
import com.fox2code.foxloader.launcher.ClientMain;
12
import org.betacraft.Wrapper;
23

34
import java.awt.*;
45
import java.io.*;
5-
import java.net.Proxy;
66
import java.net.URL;
7-
import java.net.URLStreamHandler;
87
import java.util.ArrayList;
98
import java.util.Map;
10-
import java.util.Properties;
119

1210
public class FoxLoader extends Wrapper {
1311
static {
@@ -16,6 +14,10 @@ public class FoxLoader extends Wrapper {
1614
System.out.println("FoxLoader BetaCraft wrapper loaded!");
1715
}
1816

17+
public static void main(String[] args) throws Exception {
18+
ClientMain.main(args);
19+
}
20+
1921
private static boolean checkAllowDiscordRpc(String mainFolder) {
2022
// Let allow mods to disable BetaCraft RPC
2123
return !new File(mainFolder + File.separator + "config" +

client/build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ dependencies {
66
api(project(":common"))
77

88
// Do not use API here
9-
implementation(fileTree(dir: 'libs', include: ['*.jar']))
9+
implementation(fileTree(dir: 'libs', include: [project['reindev.clientJar'] as String]))
1010

1111
//noinspection GradlePackageUpdate
12-
api("net.java.jinput:jinput:2.0.5")
12+
compileOnly("net.java.jinput:jinput:2.0.5")
1313
//noinspection GradlePackageUpdate
14-
api("org.lwjgl.lwjgl:lwjgl:2.9.3")
14+
compileOnly("org.lwjgl.lwjgl:lwjgl:2.9.3")
1515
//noinspection GradlePackageUpdate
16-
api("org.lwjgl.lwjgl:lwjgl_util:2.9.3")
16+
compileOnly("org.lwjgl.lwjgl:lwjgl_util:2.9.3")
1717
//noinspection GradlePackageUpdate
18-
api("org.lwjgl.lwjgl:lwjgl-platform:2.9.3")
18+
compileOnly("org.lwjgl.lwjgl:lwjgl-platform:2.9.3")
1919

2020
// Do no expose spark APIs to mods
21-
implementation(project['spark.dependency'] as String)
21+
compileOnly(project['spark.dependency'] as String)
2222
}

client/src/main/java/com/fox2code/foxloader/client/ClientCommandWrapper.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,14 @@ public ClientCommandWrapper(CommandCompat commandCompat) {
1717
public void onExecute(String[] args, EntityPlayerSP commandExecutor) {
1818
this.commandCompat.onExecute(args, (NetworkPlayer) commandExecutor);
1919
}
20+
21+
@Override
22+
public void printHelpInformation(EntityPlayerSP entityPlayerSP) {
23+
this.commandCompat.printHelpInformation((NetworkPlayer) entityPlayerSP);
24+
}
25+
26+
@Override
27+
public String commandSyntax() {
28+
return this.commandCompat.commandSyntax();
29+
}
2030
}

client/src/main/java/com/fox2code/foxloader/client/gui/GuiModList.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.fox2code.foxloader.loader.ModContainer;
44
import com.fox2code.foxloader.loader.ModLoader;
55
import com.fox2code.foxloader.updater.UpdateManager;
6+
import net.minecraft.client.Minecraft;
67
import net.minecraft.src.client.gui.*;
78
import org.lwjgl.Sys;
89

@@ -11,6 +12,7 @@ public class GuiModList extends GuiScreen {
1112
private GuiModListContainer modListContainer;
1213
private GuiSmallButton guiUpdateAll, guiConfigureMod;
1314
private boolean doSingleUpdate;
15+
private GuiScreen guiScreen;
1416

1517
public GuiModList(GuiScreen parent) {
1618
this.parent = parent;
@@ -55,6 +57,8 @@ protected void actionPerformed(GuiButton var1) {
5557
} else if (var1.id == 3) {
5658
if (this.doSingleUpdate) {
5759
UpdateManager.getInstance().doUpdates();
60+
} else if (this.guiScreen != null) {
61+
Minecraft.getInstance().displayGuiScreen(this.guiScreen);
5862
}
5963
} else {
6064
this.modListContainer.actionPerformed(var1);
@@ -70,11 +74,15 @@ void updateGuiState() {
7074
final ModContainer modContainer = this.modListContainer.getSelectedModContainer();
7175
this.guiUpdateAll.enabled = UpdateManager.getInstance().hasUpdates();
7276
this.doSingleUpdate = false;
77+
this.guiScreen = null;
7378
this.guiConfigureMod.displayString = st.translateKey("mods.configureMod");
7479
if (UpdateManager.getInstance().hasUpdate(modContainer.id)) {
7580
this.doSingleUpdate = true;
7681
this.guiConfigureMod.enabled = true;
7782
this.guiConfigureMod.displayString = st.translateKey("mods.updateMod");
83+
} else if (modContainer.getConfigObject() instanceof GuiScreen) {
84+
this.guiScreen = (GuiScreen) modContainer.getConfigObject();
85+
this.guiConfigureMod.enabled = true;
7886
} else {
7987
this.guiConfigureMod.enabled = false;
8088
}

client/src/main/java/com/fox2code/foxloader/client/gui/GuiModListContainer.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,11 @@ protected void drawSlot(int i, int i1, int i2, int i3, Tessellator tessellator)
5454
ModContainer modContainer = this.mods[i];
5555

5656
String name = UpdateManager.getInstance().getUpdateState(modContainer.id).colorPrefix +
57-
modContainer.name + " " + modContainer.version + ChatColors.RESET;
57+
modContainer.name + " " + modContainer.version;
58+
if (modContainer.unofficial) {
59+
name += ChatColors.GRAY + " (Unofficial)";
60+
}
61+
name += ChatColors.RESET;
5862
String id = modContainer.description;
5963
String file = modContainer.getFileName() + " (id: " + modContainer.id + ")";
6064

client/src/main/java/com/fox2code/foxloader/client/mixins/MixinEntityClientPlayerMP.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package com.fox2code.foxloader.client.mixins;
22

3-
import com.fox2code.foxloader.client.network.Packet250PluginMessage;
3+
import com.fox2code.foxloader.client.network.NetClientHandlerExtensions;
44
import com.fox2code.foxloader.loader.ModContainer;
55
import com.fox2code.foxloader.network.NetworkPlayer;
66
import net.minecraft.client.Minecraft;
77
import net.minecraft.src.client.Session;
88
import net.minecraft.src.client.packets.NetClientHandler;
9+
import net.minecraft.src.client.packets.Packet250PluginMessage;
910
import net.minecraft.src.client.player.EntityClientPlayerMP;
1011
import net.minecraft.src.client.player.EntityPlayerSP;
1112
import net.minecraft.src.game.level.World;
@@ -26,7 +27,7 @@ public MixinEntityClientPlayerMP(Minecraft var1, World var2, Session var3, int v
2627
@Inject(at = @At("RETURN"), method = "<init>")
2728
public void onNewMixinEntityClientPlayerMP(
2829
Minecraft var1, World var2, Session var3, NetClientHandler var4, CallbackInfo ci) {
29-
Packet250PluginMessage.isSupported = false;
30+
3031
}
3132

3233
@Override
@@ -36,9 +37,7 @@ public ConnectionType getConnectionType() {
3637

3738
@Override
3839
public void sendNetworkData(ModContainer modContainer, byte[] data) {
39-
if (Packet250PluginMessage.isSupported) {
40-
sendQueue.addToSendQueue(new Packet250PluginMessage(modContainer.id, data));
41-
}
40+
sendQueue.addToSendQueue(new Packet250PluginMessage(modContainer.id, data));
4241
}
4342

4443
@Override
@@ -48,7 +47,7 @@ public void displayChatMessage(String chatMessage) {
4847

4948
@Override
5049
public boolean hasFoxLoader() {
51-
return Packet250PluginMessage.isSupported;
50+
return sendQueue != null && ((NetClientHandlerExtensions) sendQueue).isFoxLoader();
5251
}
5352

5453
@Override

client/src/main/java/com/fox2code/foxloader/client/mixins/MixinGuiMainMenu.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.fox2code.foxloader.client.gui.GuiModList;
44
import com.fox2code.foxloader.client.gui.GuiUpdateButton;
55
import com.fox2code.foxloader.launcher.BuildConfig;
6+
import com.fox2code.foxloader.loader.ModLoader;
67
import net.minecraft.src.client.gui.*;
78
import org.spongepowered.asm.mixin.Mixin;
89
import org.spongepowered.asm.mixin.injection.At;
@@ -13,7 +14,7 @@
1314
public abstract class MixinGuiMainMenu extends GuiScreen {
1415
@Inject(method = "initGui", at = @At(value = "RETURN"))
1516
public void onInitGui(CallbackInfo ci) {
16-
this.controlList.add(new GuiUpdateButton(500, this.width - 61, 25, 60, 20, "Mods"));
17+
this.controlList.add(new GuiUpdateButton(500, this.width - 62, 2, 60, 20, "Mods"));
1718
}
1819

1920
@Inject(method = "actionPerformed", at = @At(value = "HEAD"), cancellable = true)
@@ -27,8 +28,10 @@ public void onActionPerformed(GuiButton var1, CallbackInfo ci) {
2728
@Inject(method = "drawScreen", at = @At(value = "INVOKE",
2829
target = "Lnet/minecraft/src/client/gui/GuiScreen;drawScreen(IIF)V"))
2930
public void onDrawGuiScreen(int n, int n2, float deltaTicks, CallbackInfo ci) {
30-
this.drawString(this.fontRenderer, "FoxLoader " + BuildConfig.FOXLOADER_VERSION, 2, this.height - 34, 16777215);
31-
this.drawCenteredString(this.fontRenderer,
32-
"You are using an Experimental Version of FoxLoader", this.width / 2, this.height / 4 + 36, 16764108);
31+
this.drawString(this.fontRenderer, "FoxLoader " + BuildConfig.FOXLOADER_VERSION, 2, this.height - 20, 16777215);
32+
if (ModLoader.I_AM_EXPERIMENTAL) {
33+
this.drawCenteredString(this.fontRenderer, "You are using an Experimental Version of FoxLoader",
34+
this.width / 2, this.height / 4 + 36, 16764108);
35+
}
3336
}
3437
}

0 commit comments

Comments
 (0)