Skip to content
This repository was archived by the owner on Mar 23, 2023. It is now read-only.

Commit c76177f

Browse files
v0.5.0
ok
1 parent c599a03 commit c76177f

File tree

8 files changed

+274
-280
lines changed

8 files changed

+274
-280
lines changed

src/main/java/com/snoworange/mousse/Main.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class Main {
4040

4141
public static final String MOD_ID = "mousse";
4242
public static final String NAME = "Mousse";
43-
public static final String VERSION = "v0.4.10";
43+
public static final String VERSION = "v0.5.0";
4444

4545
public static Minecraft mc = Minecraft.getMinecraft();
4646

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.snoworange.mousse.mixin.mixins;
2+
3+
import com.snoworange.mousse.module.modules.player.Capes;
4+
import net.minecraft.client.Minecraft;
5+
import net.minecraft.client.entity.AbstractClientPlayer;
6+
import net.minecraft.client.network.NetworkPlayerInfo;
7+
import net.minecraft.util.ResourceLocation;
8+
import org.spongepowered.asm.mixin.Mixin;
9+
import org.spongepowered.asm.mixin.Shadow;
10+
import org.spongepowered.asm.mixin.injection.At;
11+
import org.spongepowered.asm.mixin.injection.Inject;
12+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
13+
14+
import javax.annotation.Nullable;
15+
import java.util.UUID;
16+
17+
@Mixin(value={AbstractClientPlayer.class})
18+
public abstract class MixinAbstractClientPlayer {
19+
@Shadow
20+
@Nullable
21+
protected abstract NetworkPlayerInfo getPlayerInfo();
22+
23+
@Inject(method={"getLocationCape"}, at={@At(value="HEAD")}, cancellable=true)
24+
public void getLocationCape(CallbackInfoReturnable<ResourceLocation> callbackInfoReturnable) {
25+
NetworkPlayerInfo info = this.getPlayerInfo();
26+
UUID uuid = null;
27+
if (info != null) {
28+
uuid = this.getPlayerInfo().getGameProfile().getId();
29+
}
30+
ResourceLocation cape = Capes.getCapeResource((AbstractClientPlayer)(Object)this);
31+
if (uuid != null && Minecraft.getMinecraft().getSession().getUsername().equals(this.getPlayerInfo().getGameProfile().getName())) {
32+
callbackInfoReturnable.setReturnValue(cape);
33+
}
34+
}
35+
}

src/main/java/com/snoworange/mousse/module/modules/combat/Dispenser32k.java

Lines changed: 179 additions & 151 deletions
Large diffs are not rendered by default.

src/main/java/com/snoworange/mousse/module/modules/player/Capes.java

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,11 @@
99

1010
public class Capes extends Module {
1111

12-
public static Map<String, String[]> UUIDs = new HashMap<String, String[]>();
13-
1412
public Capes() {
1513
super("Capes", "", Category.PLAYER, 0);
16-
17-
UUIDs.put("Jonakip", new String[]{"05b09c32-fe1b-4563-bbc6-db9968070d94"});
18-
UUIDs.put("Snoworange2b2t", new String[]{"fe1ad3a4-9e5d-4f68-a04c-2e74bd07df42"});
1914
}
20-
private static Capes instance;
21-
public static final ResourceLocation JONAKIP_CAPE = new ResourceLocation("assets/textures/CapeJonakip.png");
22-
public static final ResourceLocation SNOWORANGE_CAPE = new ResourceLocation("assets/textures/CapeSnoworange.png");
23-
public static final ResourceLocation MOUSSE_CAPE = new ResourceLocation("assets/minecraft/textures/CapeMousse.png");
15+
public static Capes instance;
16+
public static final ResourceLocation MOUSSE_CAPE = new ResourceLocation("assets/minecraft/textures/cape_mousse.png");
2417

2518
@Override
2619
public void onEnable() {
@@ -40,32 +33,6 @@ public static Capes getInstance() {
4033
}
4134

4235
public static ResourceLocation getCapeResource(AbstractClientPlayer player) {
43-
44-
for (String name : UUIDs.keySet()) {
45-
for (String uuid : UUIDs.get(name)) {
46-
if (name.equalsIgnoreCase("Jonakip") && player.getUniqueID().toString().equals(uuid)) {
47-
return JONAKIP_CAPE;
48-
}
49-
50-
if (name.equalsIgnoreCase("Snoworange2b2t") && player.getUniqueID().toString().equals(uuid)) {
51-
return SNOWORANGE_CAPE;
52-
}
53-
54-
if (!player.getUniqueID().toString().equals(uuid)) continue;
55-
return MOUSSE_CAPE;
56-
//up is correct, but for testing we return SNOWORANGE_CAPE (minecon2011 lol)
57-
//return SNOWORANGE_CAPE;
58-
}
59-
}
60-
return null;
61-
}
62-
63-
public static boolean hasCape(UUID uuid) {
64-
Iterator<String> iterator = UUIDs.keySet().iterator();
65-
if (iterator.hasNext()) {
66-
String name = iterator.next();
67-
return Arrays.asList((Object[]) UUIDs.get(name)).contains(uuid.toString());
68-
}
69-
return false;
36+
return MOUSSE_CAPE;
7037
}
7138
}

src/main/java/com/snoworange/mousse/util/misc/FileUtils.java

Lines changed: 53 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.snoworange.mousse.Main;
44
import com.snoworange.mousse.module.Module;
55
import com.snoworange.mousse.module.ModuleManager;
6+
import com.snoworange.mousse.setting.Setting;
67
import com.snoworange.mousse.setting.settings.BooleanSetting;
78
import com.snoworange.mousse.setting.settings.KeyBindSetting;
89
import com.snoworange.mousse.setting.settings.ModeSetting;
@@ -21,13 +22,13 @@ public class FileUtils {
2122
public static void saveAll() {
2223
saveActiveModules(mousse);
2324
saveBinds(mousse);
24-
saveModuleSetting(mousse);
25+
saveSettings(mousse);
2526
}
2627

2728
public static void loadAll() {
2829
loadActiveModules(mousse);
2930
loadBinds(mousse);
30-
loadModuleSetting(mousse);
31+
loadSettings(mousse);
3132
}
3233

3334
public static void createDirectory() {
@@ -137,103 +138,65 @@ public static void loadBinds(final File file) {
137138
ex.printStackTrace();
138139
}
139140

140-
public static void saveModuleSetting(final File directory) {
141-
142-
File setting = config;
143-
144-
if(!directory.exists()){
145-
directory.mkdir();
146-
}
147-
if(!setting.exists()){
148-
setting.mkdir();
149-
}
150-
151-
try{
152-
for (Module m : Main.moduleManager.getModuleList()){
153-
File module = new File(setting, m.getName());
154-
if (!module.exists()) {
155-
module.createNewFile();
141+
public static void saveSettings(final File file) {
142+
Exception ex;
143+
try {
144+
final File settings = new File(file.getAbsolutePath(), "Settings.txt");
145+
final BufferedWriter bw = new BufferedWriter(new FileWriter(settings));
146+
for (final Module m : ModuleManager.instance.getModuleList()) {
147+
bw.write(m.getName() + ":");
148+
for (final Setting<?> s : m.settings) {
149+
bw.write(s.name + "-" + s.value + ":");
156150
}
157-
158-
PrintWriter pw = new PrintWriter(module);
159-
160-
final String[] str = {""};
161-
162-
str[0] += m.isToggled()?"1":"0";
163-
str[0] += "\n";
164-
165-
m.settings.forEach(s -> {
166-
if(s instanceof KeyBindSetting){
167-
str[0] += "0"+String.valueOf(((KeyBindSetting) s).getKeyCode());
168-
}
169-
if(s instanceof BooleanSetting){
170-
str[0] += ((BooleanSetting)s).isEnable()?"11":"10";
171-
}
172-
if(s instanceof ModeSetting){
173-
str[0] += "2"+ ((ModeSetting) s).index;
174-
}
175-
if(s instanceof NumberSetting){
176-
str[0] += "3"+ String.valueOf(((NumberSetting) s).value);
177-
}
178-
str[0] += "\n";
179-
});
180-
181-
pw.print(str[0]);
182-
pw.close();
151+
bw.write("\r\n");
183152
}
184-
}catch (IOException e){
185-
153+
bw.close();
154+
return;
186155
}
156+
catch (Exception e) {
157+
ex = e;
158+
}
159+
ex.printStackTrace();
187160
}
188161

189-
public static void loadModuleSetting(final File directory) {
190-
191-
File setting = config;
192-
193-
if (setting.isDirectory()){
194-
for (Module m : Main.moduleManager.getModuleList()) {
195-
File SettingFile = new File(setting, m.getName());
196-
try {
197-
FileReader filereader = new FileReader(SettingFile);
198-
int ch;
199-
String str = "";
200-
while((ch = filereader.read()) != -1){
201-
str += String.valueOf((char)ch);
202-
}
203-
int i = 0;
204-
for (String val : Arrays.asList(str.split("\n"))) {
205-
if(i == 0) {
206-
//m.setToggled(val.equals("1")?true:false);
207-
System.out.println("Balls");
208-
}else {
209-
210-
String dat = val.substring(1);
211-
if (val.startsWith("0")) {
212-
KeyBindSetting bind = (KeyBindSetting)m.settings.get(i-1);
213-
bind.keyCode = Integer.parseInt(dat);
214-
}
215-
if (val.startsWith("1")) {
216-
BooleanSetting bind = (BooleanSetting)m.settings.get(i-1);
217-
bind.setEnable(val.equals("1"));
218-
}
219-
if (val.startsWith("2")) {
220-
ModeSetting bind = (ModeSetting)m.settings.get(i-1);
221-
bind.index = Integer.parseInt(dat);
222-
}
223-
if (val.startsWith("3")) {
224-
NumberSetting bind = (NumberSetting)m.settings.get(i-1);
225-
bind.value = Double.parseDouble(dat);
226-
}
162+
public static void loadSettings(final File file) {
163+
Exception ex;
164+
try {
165+
final File settings = new File(file.getAbsolutePath(), "Settings.txt");
166+
if (!settings.exists()) {
167+
settings.createNewFile();
168+
return;
169+
}
170+
final BufferedReader br = new BufferedReader(new FileReader(settings));
171+
final List<String> linezz = Files.readAllLines(settings.toPath());
172+
for (final String line : linezz) {
173+
final String[] regex = line.split(":");
174+
for (final Module m : ModuleManager.instance.getModuleList()) {
175+
for (int i = 1; i < regex.length; ++i) {
176+
final String term = regex[i];
177+
final String[] pair = term.split("-");
178+
final Setting<?> s = (Setting<?>) m.settings;
179+
if (s instanceof BooleanSetting) {
180+
final BooleanSetting sb = (BooleanSetting) s;
181+
sb.setEnable(Boolean.parseBoolean(pair[1]));
182+
}
183+
if (s instanceof NumberSetting) {
184+
final NumberSetting sd = (NumberSetting) s;
185+
sd.setValue(Double.parseDouble(pair[1]));
186+
}
187+
if (s instanceof ModeSetting) {
188+
final ModeSetting sm = (ModeSetting) s;
189+
sm.is(pair[1]);
227190
}
228-
i++;
229191
}
230-
} catch (FileNotFoundException e) {
231-
e.printStackTrace();
232-
} catch (IOException | ClassCastException | StringIndexOutOfBoundsException e) {
233-
e.printStackTrace();
234-
SettingFile.delete();
235192
}
236193
}
194+
br.close();
195+
return;
237196
}
197+
catch (Exception e) {
198+
ex = e;
199+
}
200+
ex.printStackTrace();
238201
}
239202
}
2.21 KB
Loading

src/main/resources/mcmod.info

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"modid": "mousse",
44
"name": "Mousse",
55
"description": "Advanced utility mod for Minecraft 1.12.2",
6-
"version": "0.4.10",
6+
"version": "0.5.0",
77
"mcversion": "1.12.2",
88
"url": "",
99
"updateUrl": "",

src/main/resources/mixins.mousse.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"mixins": [
77
"MixinGuiMainMenu",
88
"MixinGuiScreen",
9-
"MixinNetworkManager"
9+
"MixinNetworkManager",
10+
"MixinAbstractClientPlayer"
1011
]
1112
}

0 commit comments

Comments
 (0)