-
Notifications
You must be signed in to change notification settings - Fork 2
/
NewsAddon.java
150 lines (126 loc) · 6.68 KB
/
NewsAddon.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
package dev.janheist.newsaddon.main;
import dev.janheist.newsaddon.events.modifyMessage;
import dev.janheist.newsaddon.events.onReceiver;
import dev.janheist.newsaddon.events.onSend;
import dev.janheist.newsaddon.events.userMenuAction;
import dev.janheist.newsaddon.features.Dauerauftrag;
import dev.janheist.newsaddon.features.PlayerUtilities;
import dev.janheist.newsaddon.modules.UpdateChecker;
import dev.janheist.newsaddon.modules.WerbeCounter120;
import dev.janheist.newsaddon.modules.WerbeCounter90;
import dev.janheist.newsaddon.timer.WerbeTimer;
import net.labymod.api.EventManager;
import net.labymod.api.LabyModAddon;
import net.labymod.main.LabyMod;
import net.labymod.settings.elements.*;
import net.labymod.utils.Consumer;
import net.labymod.utils.Material;
import net.labymod.utils.ServerData;
import net.minecraft.client.Minecraft;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
public class NewsAddon extends LabyModAddon {
public final int VERSION = 4;
// Vor Release auf false setzen!
public final boolean DEBUGMODE = false;
public EventManager eventManager;
public int seconds120 = 0;
public int seconds90 = 0;
public List<String> das = new ArrayList<>();
public String scan_name;
public boolean scanner;
public Dauerauftrag dauerauftrag = new Dauerauftrag(this);
private PlayerUtilities pUtils = new PlayerUtilities();
public boolean sound90;
public String sound90ausw;
public boolean sound120;
public String sound120ausw;
public boolean soundDA;
public String soundDAausw;
public boolean playermenu;
public String daurl;
private boolean gotDA = false;
public PlayerUtilities getpUtils() {
return pUtils;
}
@Override
public void onEnable() {
System.out.println("| |");
System.out.println("| NEWS-ADDON by JAN HEIST aka. Mexykaner |");
System.out.println("| Aktuelle Version: " + VERSION + " |");
System.out.println("| |");
System.out.println("[NEWS-DEBUG] " + System.getenv("APPDATA") + File.separator + ".minecraft" + File.separator + "LabyMod" + File.separator + "addons-1.12");
System.out.println("[NEWS-DEBUG] " + Minecraft.getMinecraft().mcDataDir.getAbsolutePath() + File.separator + "LabyMod" + File.separator + "addons-1.12");
eventManager = this.getApi().getEventManager();
eventManager.register(new onSend(this));
eventManager.register(new onReceiver(this));
eventManager.register(new modifyMessage(this));
eventManager.register(new userMenuAction(this));
eventManager.registerOnJoin(new Consumer<ServerData>() {
@Override
public void accept(ServerData serverData) {
if (serverData.getIp().toLowerCase().contains("germanminer") || DEBUGMODE) {
pUtils.resetCounter();
try {
if (!gotDA) {
gotDA = true;
dauerauftrag.init();
UpdateChecker.initialize(VERSION);
}
} catch (IOException | ParseException e) {
e.printStackTrace();
}
}
}
});
getApi().registerModule(new WerbeCounter90());
getApi().registerModule(new WerbeCounter120());
WerbeCounter90.allowed = 1;
WerbeCounter120.allowed = 1;
this.scanner = false;
this.scan_name = "";
Timer timer = new Timer();
timer.schedule(new WerbeTimer(this), 0, 1000);
}
@Override
public void loadConfig() {
this.sound90 = !getConfig().has("sound90") || getConfig().get("sound90").getAsBoolean();
this.sound90ausw = getConfig().has("sound90ausw") ? getConfig().get("sound90ausw").getAsString() : "block.note.harp";
this.sound120 = !getConfig().has("sound120") || getConfig().get("sound120").getAsBoolean();
this.sound120ausw = getConfig().has("sound120ausw") ? getConfig().get("sound120ausw").getAsString() : "block.note.pling";
this.soundDA = !getConfig().has("soundDA") || getConfig().get("soundDA").getAsBoolean();
this.soundDAausw = getConfig().has("soundDAausw") ? getConfig().get("soundDAausw").getAsString() : "sirene_2";
this.playermenu = !getConfig().has("playermenu") || getConfig().get("playermenu").getAsBoolean();
this.daurl = getConfig().has("daurl") ? getConfig().get("daurl").getAsString() : "sirene_2";
}
@Override
protected void fillSettings(List<SettingsElement> list) {
getSubSettings().add(new HeaderElement("§7§l[§a§lNEWS§7§l] §a§oAddon by"));
getSubSettings().add(new HeaderElement("§b§l§oJan Heist aka. Mexykaner"));
getSubSettings().add(new HeaderElement(""));
getSubSettings().add(new HeaderElement("§a§lDaueraufträge"));
getSubSettings().add(new StringElement("Daten-URL", this, new ControlElement.IconData(Material.MOB_SPAWNER), "daurl", this.daurl));
getSubSettings().add(new HeaderElement(""));
getSubSettings().add(new HeaderElement("§a§lSounds"));
getSubSettings().add(new BooleanElement("Nach 90 Werbetimer", this, new ControlElement.IconData(Material.WATCH), "sound90", this.sound90));
getSubSettings().add(new StringElement("Sound bei 90 Sekunden", this, new ControlElement.IconData(Material.MOB_SPAWNER), "sound90ausw", this.sound90ausw));
getSubSettings().add(new BooleanElement("Nach 120 Werbetimer", this, new ControlElement.IconData(Material.WATCH), "sound120", this.sound120));
getSubSettings().add(new StringElement("Sound bei 120 Sekunden", this, new ControlElement.IconData(Material.MOB_SPAWNER), "sound120ausw", this.sound120ausw));
getSubSettings().add(new BooleanElement("Bei Dauerauftrag", this, new ControlElement.IconData(Material.PAPER), "soundDA", this.soundDA));
getSubSettings().add( new StringElement( "Sound wenn ein DA ansteht", this, new ControlElement.IconData( Material.MOB_SPAWNER ), "soundDAausw", this.soundDAausw ) );
getSubSettings().add(new HeaderElement(""));
getSubSettings().add(new HeaderElement("§a§lSpielermenü"));
getSubSettings().add(new BooleanElement("An = Aktiv", this, new ControlElement.IconData(Material.SKULL_ITEM), "playermenu", this.playermenu));
}
public void resetSeconds() {
seconds120 = 0;
seconds90 = 0;
}
public String getServer() {
return LabyMod.getInstance().getCurrentServerData().getIp().toLowerCase();
}
}