rain accumulation check command
This commit is contained in:
17
build.gradle
17
build.gradle
@@ -7,6 +7,10 @@ buildscript {
|
||||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id "com.diffplug.spotless" version "6.11.0"
|
||||
}
|
||||
apply plugin: 'net.minecraftforge.gradle'
|
||||
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
|
||||
apply plugin: 'eclipse'
|
||||
@@ -156,9 +160,20 @@ jar {
|
||||
}
|
||||
}
|
||||
|
||||
spotless {
|
||||
ratchetFrom 'origin/master'
|
||||
|
||||
java {
|
||||
importOrder()
|
||||
removeUnusedImports()
|
||||
palantirJavaFormat()
|
||||
}
|
||||
}
|
||||
|
||||
// Example configuration to allow publishing using the maven-publish task
|
||||
// This is the preferred method to reobfuscate your jar file
|
||||
jar.finalizedBy('reobfJar')
|
||||
jar.finalizedBy('reobfJar')
|
||||
assemble.finalizedBy('spotlessJavaApply')
|
||||
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing
|
||||
//publish.dependsOn('reobfJar')
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package stargazer.timelord.commands;
|
||||
|
||||
import static stargazer.timelord.Timelord.getDimensionsConfigMap;
|
||||
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import net.minecraft.command.CommandSource;
|
||||
@@ -10,30 +12,45 @@ import net.minecraft.world.server.ServerWorld;
|
||||
import net.minecraftforge.fml.network.PacketDistributor;
|
||||
import stargazer.timelord.Timelord;
|
||||
import stargazer.timelord.config.Configuration;
|
||||
import stargazer.timelord.logic.TimelordWorldData;
|
||||
import stargazer.timelord.net.TimePacket;
|
||||
|
||||
import static stargazer.timelord.Timelord.getDimensionsConfigMap;
|
||||
|
||||
public class TimelordCommands {
|
||||
public TimelordCommands(CommandDispatcher<CommandSource> dispatcher) {
|
||||
dispatcher.register(Commands.literal("timelord").then(Commands.literal("reload").requires(s -> s.hasPermissionLevel(4)).executes((command) -> {
|
||||
return reload(command.getSource());
|
||||
})));
|
||||
dispatcher.register(Commands.literal("timelord")
|
||||
.then(Commands.literal("reload")
|
||||
.requires(s -> s.hasPermissionLevel(4))
|
||||
.executes((command) -> reload(command.getSource())))
|
||||
.then(Commands.literal("rain")
|
||||
.requires(s -> s.hasPermissionLevel(4))
|
||||
.executes((command) -> getRainAcc(command.getSource()))));
|
||||
}
|
||||
|
||||
private int reload(CommandSource source) throws CommandSyntaxException {
|
||||
|
||||
ServerWorld sw = source.getWorld();
|
||||
for (ServerWorld world : sw.getServer().getWorlds()) {
|
||||
ResourceLocation rl = world.getDimensionKey().getLocation();
|
||||
getDimensionsConfigMap().put(rl, Configuration.init(world));
|
||||
Timelord.TIME_CHANNEL.send(PacketDistributor.ALL.noArg(),
|
||||
new TimePacket(rl, Configuration.getConfigAsString(getDimensionsConfigMap().get(rl)))
|
||||
);
|
||||
Timelord.TIME_CHANNEL.send(
|
||||
PacketDistributor.ALL.noArg(),
|
||||
new TimePacket(
|
||||
rl,
|
||||
Configuration.getConfigAsString(
|
||||
getDimensionsConfigMap().get(rl))));
|
||||
|
||||
source.sendFeedback(new StringTextComponent("Timelord config reloaded for " + world.getDimensionKey().getLocation()), true);
|
||||
source.sendFeedback(
|
||||
new StringTextComponent("Timelord config reloaded for "
|
||||
+ world.getDimensionKey().getLocation()),
|
||||
true);
|
||||
}
|
||||
source.sendFeedback(new StringTextComponent("Timelord config succesfully reloaded!"), true);
|
||||
return 1;
|
||||
}
|
||||
|
||||
private int getRainAcc(CommandSource source) throws CommandSyntaxException {
|
||||
ServerWorld sw = source.getWorld();
|
||||
TimelordWorldData worldData = TimelordWorldData.getForWorld(sw);
|
||||
source.sendFeedback(new StringTextComponent("Rain acc: " + worldData.getRainAcc()), true);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
package stargazer.timelord.logic;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.world.server.ServerWorld;
|
||||
import net.minecraft.world.storage.DimensionSavedDataManager;
|
||||
import net.minecraft.world.storage.WorldSavedData;
|
||||
import stargazer.timelord.Timelord;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
|
||||
public class TimelordWorldData extends WorldSavedData implements Supplier {
|
||||
|
||||
public TimelordWorldData() {
|
||||
@@ -34,7 +32,6 @@ public class TimelordWorldData extends WorldSavedData implements Supplier {
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void read(CompoundNBT nbt) {
|
||||
rainAcc = nbt.getLong("rain");
|
||||
@@ -46,6 +43,10 @@ public class TimelordWorldData extends WorldSavedData implements Supplier {
|
||||
return compound;
|
||||
}
|
||||
|
||||
public long getRainAcc() {
|
||||
return rainAcc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDirty() {
|
||||
return true;
|
||||
@@ -55,4 +56,4 @@ public class TimelordWorldData extends WorldSavedData implements Supplier {
|
||||
public Object get() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user