Skip to content

Commit e97c1bb

Browse files
committed
v1.3.0 changelog:
-ported Master Of Time to BTW beta 3.0 snapshot 5 (NOT COMPATIBLE WITH snapshot 3a !)
1 parent 1cfb3bb commit e97c1bb

7 files changed

Lines changed: 56 additions & 102 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ minecraft_version = 1.6.4
55
yarn_mappings = 1.6.4+build.420
66
loader_version = 0.14.19
77

8-
mod_version = 1.2.1
8+
mod_version = 1.3.0
99
maven_group = net.dravigen
1010
archives_base_name = Master Of Time
1111

src/main/java/net/dravigen/time_master/TimeMasterAddon.java

Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import net.minecraft.server.MinecraftServer;
88
import net.minecraft.src.*;
99
import org.lwjgl.input.Keyboard;
10+
1011
import java.util.List;
1112

1213
public class TimeMasterAddon extends BTWAddon {
@@ -20,22 +21,43 @@ public class TimeMasterAddon extends BTWAddon {
2021
public static boolean maxSpeedTest = false;
2122
public static double tps;
2223

23-
public static DataEntry<Float> INCREASE_VALUE = DataProvider.getBuilder(float.class)
24-
.global()
25-
.name("increase_value")
26-
.defaultSupplier(() -> (float) 10)
27-
.readNBT(NBTTagCompound::getFloat)
28-
.writeNBT(NBTTagCompound::setFloat)
29-
.build();
3024

31-
public static DataEntry<Float> DECREASE_VALUE = DataProvider.getBuilder(float.class)
25+
private static final String MASTER_OF_TIME_DATA_NAME = "MasterOfTimeData";
26+
public static final DataEntry.WorldDataEntry<float[]> MASTER_OF_TIME_DATA = DataProvider.getBuilder(float[].class)
27+
.name(MASTER_OF_TIME_DATA_NAME)
28+
.defaultSupplier(()-> new float[]{10f,0.25f})
29+
.readNBT(tag -> {
30+
if(!tag.hasKey(MASTER_OF_TIME_DATA_NAME)) {
31+
NBTTagCompound defaultValue = new NBTTagCompound();
32+
defaultValue.setFloat("increaseValue", 10f);
33+
defaultValue.setFloat("decreaseValue",0.25f);
34+
tag.setCompoundTag(MASTER_OF_TIME_DATA_NAME, defaultValue);
35+
}
36+
NBTTagCompound value = tag.getCompoundTag(MASTER_OF_TIME_DATA_NAME);
37+
return new float[]{value.getFloat("increaseValue"),value.getFloat("decreaseValue")};
38+
})
39+
.writeNBT((tag, value) -> {
40+
NBTTagCompound newValue = new NBTTagCompound();
41+
newValue.setFloat("increaseValue", value[0]);
42+
newValue.setFloat("decreaseValue", value[1]);
43+
tag.setCompoundTag(MASTER_OF_TIME_DATA_NAME, newValue);
44+
})
3245
.global()
33-
.name("decrease_value")
34-
.defaultSupplier(() -> (float) 0.25)
35-
.readNBT(NBTTagCompound::getFloat)
36-
.writeNBT(NBTTagCompound::setFloat)
3746
.build();
3847

48+
public static float getIncreaseValue(WorldServer server){
49+
return server.getData(MASTER_OF_TIME_DATA)[0];
50+
}
51+
public static float getDecreaseValue(WorldServer server){
52+
return server.getData(MASTER_OF_TIME_DATA)[1];
53+
}
54+
public static void setIncreaseValue(WorldServer server, float value){
55+
server.setData(MASTER_OF_TIME_DATA,new float[]{value,server.getData(MASTER_OF_TIME_DATA)[1]});
56+
}
57+
public static void setDecreaseValue(WorldServer server, float value){
58+
server.setData(MASTER_OF_TIME_DATA,new float[]{server.getData(MASTER_OF_TIME_DATA)[0],value});
59+
}
60+
3961
public TimeMasterAddon() {
4062
super();
4163
}
@@ -53,6 +75,7 @@ public void initialize() {
5375
if (!MinecraftServer.getIsServer()) {
5476
initKeybind();
5577
}
78+
5679
}
5780

5881
private void createNewCommand() {
@@ -144,15 +167,16 @@ public void processCommand(ICommandSender iCommandSender, String[] strings) {
144167

145168
}
146169
}
170+
147171
case "keybindsvalue" -> {
148172
try {
149173
WorldServer worldServer = MinecraftServer.getServer().worldServers[0];
150174
if (strings[1].equals("increasevalue")) {
151-
worldServer.setData(INCREASE_VALUE, Math.min(250, Float.parseFloat(strings[2])));
152-
iCommandSender.sendChatToPlayer(ChatMessageComponent.createFromText("By pressing " + Keyboard.getKeyName(increase_time_speed_key.keyCode) + ", the world speed will be set to " + worldServer.getData(INCREASE_VALUE) + "x"));
175+
setIncreaseValue(worldServer,Math.min(250, Float.parseFloat(strings[2])));
176+
iCommandSender.sendChatToPlayer(ChatMessageComponent.createFromText("By pressing " + Keyboard.getKeyName(increase_time_speed_key.keyCode) + ", the world speed will be set to " + getIncreaseValue(worldServer) + "x"));
153177
} else if (strings[1].equals("decreasevalue")) {
154-
worldServer.setData(DECREASE_VALUE, Math.max(0.05F, Float.parseFloat(strings[2])));
155-
iCommandSender.sendChatToPlayer(ChatMessageComponent.createFromText("By pressing " + Keyboard.getKeyName(decrease_time_speed_key.keyCode) + ", the world speed will be set to " + worldServer.getData(DECREASE_VALUE) + "x"));
178+
setDecreaseValue(worldServer,Math.max(0.05F, Float.parseFloat(strings[2])));
179+
iCommandSender.sendChatToPlayer(ChatMessageComponent.createFromText("By pressing " + Keyboard.getKeyName(decrease_time_speed_key.keyCode) + ", the world speed will be set to " + getDecreaseValue(worldServer) + "x"));
156180
}
157181
} catch (NumberFormatException e) {
158182
throw new WrongUsageException("Invalid command.");
@@ -172,8 +196,9 @@ public void initKeybind(){
172196

173197
@Override
174198
public void preInitialize() {
175-
INCREASE_VALUE.register();
176-
DECREASE_VALUE.register();
199+
//INCREASE_VALUE.register();
200+
//DECREASE_VALUE.register();
201+
MASTER_OF_TIME_DATA.register();
177202
}
178203

179204
}

src/main/java/net/dravigen/time_master/mixin/MinecraftServerMixin.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ public abstract class MinecraftServerMixin {
2121
@Shadow
2222
public abstract ServerConfigurationManager getConfigurationManager();
2323

24-
@Shadow public abstract void sendChatToPlayer(ChatMessageComponent par1ChatMessageComponent);
25-
26-
@Shadow private static MinecraftServer mcServer;
2724
@Unique
2825
long prevTime;
2926

src/main/java/net/dravigen/time_master/mixin/NetClientHandlerMixin.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/main/java/net/dravigen/time_master/packet/PacketHandlerC2S.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,27 @@ public static void handle(Packet250CustomPayload packet, EntityPlayerMP player)
3030
MinecraftServer server = MinecraftServer.getServer();
3131
String[] splitText = receivedMessage.split(":");
3232
String subChannel = splitText[0];
33-
if (splitText.length==2) {
34-
String property = splitText[1];
35-
}
3633
if (server.getConfigurationManager().isPlayerOpped(player.getEntityName())) {
34+
WorldServer worldServer = player.getServerForPlayer();
3735
switch (subChannel) {
3836
case "reset" -> {
3937
TimeMasterAddon.worldSpeedModifier = 1;
4038
server.getConfigurationManager().sendChatMsg(ChatMessageComponent.createFromText("The world speed got reset"));
4139
}
4240
case "increase" -> {
43-
float value = server.worldServers[0].getData(TimeMasterAddon.INCREASE_VALUE);
44-
TimeMasterAddon.worldSpeedModifier = value;
45-
server.getConfigurationManager().sendChatMsg(ChatMessageComponent.createFromText("The world speed got increased to " + value));
41+
float value = TimeMasterAddon.getIncreaseValue(worldServer);
42+
if (value >= 0.05) {
43+
TimeMasterAddon.worldSpeedModifier = value;
44+
server.getConfigurationManager().sendChatMsg(ChatMessageComponent.createFromText("The world speed got increased to " + value));
45+
}else server.getConfigurationManager().sendChatMsg(ChatMessageComponent.createFromText("Increase value is too low ! You cannot go beyond 0.05 !").setColor(EnumChatFormatting.RED));
4646
}
4747
case "decrease" -> {
48-
float value = server.worldServers[0].getData(TimeMasterAddon.DECREASE_VALUE);
49-
TimeMasterAddon.worldSpeedModifier = value;
50-
server.getConfigurationManager().sendChatMsg(ChatMessageComponent.createFromText("The world speed got decreased to " + value));
48+
float value = TimeMasterAddon.getDecreaseValue(worldServer);
49+
if (value >= 0.05) {
50+
TimeMasterAddon.worldSpeedModifier = value;
51+
server.getConfigurationManager().sendChatMsg(ChatMessageComponent.createFromText("The world speed got decreased to " + value));
52+
}else server.getConfigurationManager().sendChatMsg(ChatMessageComponent.createFromText("Decrease value is too low ! You cannot go beyond 0.05 !").setColor(EnumChatFormatting.RED));
5153
}
52-
5354
}
5455
}
5556
} catch (IOException e) {

src/main/java/net/dravigen/time_master/packet/PacketHandlerS2C.java

Lines changed: 0 additions & 46 deletions
This file was deleted.

src/main/resources/time_master.mixins.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
"NetServerHandlerMixin"
1010
],
1111
"client": [
12-
"EntityClientPlayerMPMixin",
13-
"NetClientHandlerMixin"
12+
"EntityClientPlayerMPMixin"
1413
],
1514
"injectors": {
1615
"defaultRequire": 1

0 commit comments

Comments
 (0)