Skip to content

Commit 461ead7

Browse files
committed
gravity option
1 parent f2f9d81 commit 461ead7

25 files changed

Lines changed: 106 additions & 83 deletions

pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
<groupId>simplexity</groupId>
88
<artifactId>SimplePlayerFreeze</artifactId>
9-
<version>1.1.0</version>
9+
<version>1.2.0</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SimplePlayerFreeze</name>
1313

1414
<properties>
15-
<java.version>1.8</java.version>
15+
<java.version>21</java.version>
1616
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1717
</properties>
1818

@@ -23,8 +23,8 @@
2323
<artifactId>maven-compiler-plugin</artifactId>
2424
<version>3.8.1</version>
2525
<configuration>
26-
<source>16</source>
27-
<target>16</target>
26+
<source>21</source>
27+
<target>21</target>
2828
</configuration>
2929
</plugin>
3030
<plugin>
@@ -68,7 +68,7 @@
6868
<dependency>
6969
<groupId>io.papermc.paper</groupId>
7070
<artifactId>paper-api</artifactId>
71-
<version>1.20.2-R0.1-SNAPSHOT</version>
71+
<version>1.20.6-R0.1-SNAPSHOT</version>
7272
<scope>provided</scope>
7373
</dependency>
7474
<dependency>

src/main/java/simplexity/simpleplayerfreeze/SimplePlayerFreeze.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,25 @@
88
import simplexity.simpleplayerfreeze.commands.ReloadConfig;
99
import simplexity.simpleplayerfreeze.commands.UnfreezePlayer;
1010
import simplexity.simpleplayerfreeze.configs.ConfigHandler;
11-
import simplexity.simpleplayerfreeze.listeners.*;
11+
import simplexity.simpleplayerfreeze.listeners.ChatListener;
12+
import simplexity.simpleplayerfreeze.listeners.CommandListener;
13+
import simplexity.simpleplayerfreeze.listeners.CraftingListener;
14+
import simplexity.simpleplayerfreeze.listeners.DropListener;
15+
import simplexity.simpleplayerfreeze.listeners.EXPPickupListener;
16+
import simplexity.simpleplayerfreeze.listeners.InteractListener;
17+
import simplexity.simpleplayerfreeze.listeners.ItemConsumeListener;
18+
import simplexity.simpleplayerfreeze.listeners.JoinListener;
19+
import simplexity.simpleplayerfreeze.listeners.LeaveListener;
20+
import simplexity.simpleplayerfreeze.listeners.MoveListener;
21+
import simplexity.simpleplayerfreeze.listeners.PickupListener;
22+
import simplexity.simpleplayerfreeze.listeners.SwitchItemListener;
1223
import simplexity.simpleplayerfreeze.placeholderapi.IsFrozenPlaceholder;
1324

1425
public final class SimplePlayerFreeze extends JavaPlugin {
1526
public static SimplePlayerFreeze instance;
1627
public static Server server;
1728
public static ConsoleCommandSender sfConsoleSender;
18-
29+
1930
@Override
2031
public void onEnable() {
2132
instance = this;
@@ -36,6 +47,7 @@ public void onEnable() {
3647
this.reloadConfig();
3748
ConfigHandler.getInstance().reloadConfigSettings();
3849
}
50+
3951
// Registers the Event Listeners for the events that will be blocked when someone is frozen
4052
private void registerListeners() {
4153
getServer().getPluginManager().registerEvents(new ChatListener(), this);
@@ -51,7 +63,7 @@ private void registerListeners() {
5163
getServer().getPluginManager().registerEvents(new ItemConsumeListener(), this);
5264
getServer().getPluginManager().registerEvents(new CommandListener(), this);
5365
}
54-
66+
5567
public static ConsoleCommandSender getSFConsoleSender() {
5668
return sfConsoleSender;
5769
}

src/main/java/simplexity/simpleplayerfreeze/Util.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import simplexity.simpleplayerfreeze.configs.LocaleHandler;
1313

1414
public class Util {
15-
15+
1616
public static MiniMessage miniMessage = MiniMessage.miniMessage();
1717
public static String namespace = "simpleplayerfreeze";
1818
public static NamespacedKey isFrozenKey = new NamespacedKey(namespace, "isfrozen");
@@ -24,32 +24,33 @@ public class Util {
2424
public static Permission freezeNotify = new Permission("spf.notify");
2525
public static Permission freezeChatSpy = new Permission("spf.chatspy");
2626
public static Permission reloadPermission = new Permission("spf.reload");
27-
27+
2828
public static void sendErrorMessage(CommandSender sender, String message) {
2929
if (message.isEmpty()) return;
3030
sender.sendMessage(miniMessage.deserialize(message));
3131
}
32+
3233
public static void sendUserMessage(CommandSender sender, String message) {
3334
if (message.isEmpty()) return;
3435
sender.sendMessage(miniMessage.deserialize(LocaleHandler.getInstance().getPrefix() + message));
3536
}
36-
37+
3738
public static void sendUserMessageWithPlayer(CommandSender sender, String message, Player player) {
3839
if (message.isEmpty()) return;
3940
sender.sendMessage(miniMessage.deserialize(ConfigHandler.getInstance().getPrefix() + message,
4041
Placeholder.component("name", player.displayName())));
4142
}
42-
43+
4344
public static void formatMutedMessages(CommandSender sender, String format, Player player, Component message) {
4445
if (format.isEmpty()) return;
4546
sender.sendMessage(miniMessage.deserialize(format,
4647
Placeholder.component("player", player.displayName()),
4748
Placeholder.component("message", message)));
4849
}
49-
50-
50+
51+
5152
public static boolean isFrozen(Player player) {
5253
return player.getPersistentDataContainer().getOrDefault(isFrozenKey, PersistentDataType.BOOLEAN, false);
5354
}
54-
55+
5556
}

src/main/java/simplexity/simpleplayerfreeze/commands/FreezePlayer.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import org.bukkit.command.CommandSender;
77
import org.bukkit.entity.Player;
88
import org.jetbrains.annotations.NotNull;
9-
import simplexity.simpleplayerfreeze.configs.ConfigHandler;
109
import simplexity.simpleplayerfreeze.Util;
1110
import simplexity.simpleplayerfreeze.configs.LocaleHandler;
1211
import simplexity.simpleplayerfreeze.freeze.FreezeFunctionality;

src/main/java/simplexity/simpleplayerfreeze/commands/FreezeSpy.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,27 @@
66
import org.bukkit.entity.Player;
77
import org.bukkit.persistence.PersistentDataType;
88
import org.jetbrains.annotations.NotNull;
9-
import simplexity.simpleplayerfreeze.configs.ConfigHandler;
109
import simplexity.simpleplayerfreeze.Util;
1110
import simplexity.simpleplayerfreeze.configs.LocaleHandler;
1211
import simplexity.simpleplayerfreeze.listeners.JoinListener;
1312

1413
public class FreezeSpy implements CommandExecutor {
15-
16-
14+
15+
1716
@Override
1817
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
1918
if (!sender.hasPermission(Util.freezeChatSpy)) {
20-
Util.sendErrorMessage( sender, LocaleHandler.getInstance().getNoPermission());
19+
Util.sendErrorMessage(sender, LocaleHandler.getInstance().getNoPermission());
2120
return false;
2221
}
2322
if (!(sender instanceof Player player)) {
24-
Util.sendErrorMessage( sender, LocaleHandler.getInstance().getOnlyPlayer());
23+
Util.sendErrorMessage(sender, LocaleHandler.getInstance().getOnlyPlayer());
2524
return false;
2625
}
2726
toggleSpy(player);
2827
return true;
2928
}
30-
29+
3130
private void toggleSpy(Player player) {
3231
if (!player.getPersistentDataContainer().getOrDefault(Util.freezeSpyDisabled, PersistentDataType.BOOLEAN, false)) {
3332
player.getPersistentDataContainer().set(Util.freezeSpyDisabled, PersistentDataType.BOOLEAN, true);

src/main/java/simplexity/simpleplayerfreeze/commands/ReloadConfig.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
import org.bukkit.command.CommandExecutor;
55
import org.bukkit.command.CommandSender;
66
import org.jetbrains.annotations.NotNull;
7-
import simplexity.simpleplayerfreeze.configs.ConfigHandler;
8-
import simplexity.simpleplayerfreeze.SimplePlayerFreeze;
97
import simplexity.simpleplayerfreeze.Util;
8+
import simplexity.simpleplayerfreeze.configs.ConfigHandler;
109
import simplexity.simpleplayerfreeze.configs.LocaleHandler;
1110

1211
public class ReloadConfig implements CommandExecutor {
13-
12+
1413
// Reloads the configuration
15-
14+
1615
@Override
1716
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
1817
if (!sender.hasPermission(Util.reloadPermission)) {

src/main/java/simplexity/simpleplayerfreeze/commands/UnfreezePlayer.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@
66
import org.bukkit.command.CommandSender;
77
import org.bukkit.entity.Player;
88
import org.jetbrains.annotations.NotNull;
9-
import simplexity.simpleplayerfreeze.configs.ConfigHandler;
109
import simplexity.simpleplayerfreeze.Util;
1110
import simplexity.simpleplayerfreeze.configs.LocaleHandler;
1211
import simplexity.simpleplayerfreeze.freeze.FreezeFunctionality;
1312

1413
public class UnfreezePlayer implements CommandExecutor {
15-
14+
1615
// Unfreezes a frozen player
17-
16+
1817
@Override
1918
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
2019
if (!sender.hasPermission(Util.unfreezePermission)) return false;
@@ -35,5 +34,5 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
3534
Util.sendUserMessageWithPlayer(sender, LocaleHandler.getInstance().getUnfreezeMessage(), player);
3635
return true;
3736
}
38-
37+
3938
}

src/main/java/simplexity/simpleplayerfreeze/configs/ConfigHandler.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,14 @@ public class ConfigHandler {
1313
private String placeholderAPIFormat;
1414
private boolean freezePersist, freezeGlow, freezeDismount, freezeFlight, freezeInvulnerability, preventMovement,
1515
preventInteract, preventCrafting, preventXPPickup, preventItemPickup, preventItemDrop, preventItemUse,
16-
preventHotbarSwitch, preventInventoryInteraction, preventWalking, preventCommands, consoleSeesMutedMessages, consoleFreezeLoginNotified;
16+
preventHotbarSwitch, preventInventoryInteraction, preventWalking, preventCommands, consoleSeesMutedMessages,
17+
consoleFreezeLoginNotified, preventJumping;
1718
public static int chatBehavior;
1819
public static ArrayList<String> whitelistedCommandList = new ArrayList<>();
19-
private ConfigHandler(){}
20+
21+
private ConfigHandler() {
22+
}
23+
2024
public static ConfigHandler getInstance() {
2125
if (instance == null) instance = new ConfigHandler();
2226
return instance;
@@ -30,13 +34,13 @@ public void reloadConfigSettings() {
3034
reloadConfigCommands();
3135
reloadConfigIntegers();
3236
}
33-
37+
3438
private void reloadMessages() {
3539
FileConfiguration config = SimplePlayerFreeze.getInstance().getConfig();
3640
placeholderAPIFormat = config.getString("placeholder-api-format");
3741

3842
}
39-
43+
4044
private void reloadConfigBooleans() {
4145
FileConfiguration config = SimplePlayerFreeze.getInstance().getConfig();
4246
freezePersist = config.getBoolean("freeze-persist", true);
@@ -46,6 +50,7 @@ private void reloadConfigBooleans() {
4650
freezeInvulnerability = config.getBoolean("freeze-invulnerability", true);
4751
preventWalking = config.getBoolean("prevent-walking", true);
4852
preventMovement = config.getBoolean("prevent-movement", true);
53+
preventJumping = config.getBoolean("prevent-jumping", true);
4954
preventInteract = config.getBoolean("prevent-interact", true);
5055
preventCrafting = config.getBoolean("prevent-crafting", true);
5156
preventXPPickup = config.getBoolean("prevent-xp-pickup", true);
@@ -58,14 +63,14 @@ private void reloadConfigBooleans() {
5863
consoleSeesMutedMessages = config.getBoolean("console-sees-muted-messages", true);
5964
consoleFreezeLoginNotified = config.getBoolean("console-freeze-login-notified", true);
6065
}
61-
66+
6267
private static void reloadConfigCommands() {
6368
FileConfiguration config = SimplePlayerFreeze.getInstance().getConfig();
6469
whitelistedCommandList.clear();
6570
List<String> commandList = config.getStringList("whitelisted-commands");
6671
whitelistedCommandList.addAll(commandList);
6772
}
68-
73+
6974
private static void reloadConfigIntegers() {
7075
FileConfiguration config = SimplePlayerFreeze.getInstance().getConfig();
7176
chatBehavior = config.getInt("chat-behavior");
@@ -154,4 +159,8 @@ public String getPlaceholderAPIFormat() {
154159
public String getPrefix() {
155160
return prefix;
156161
}
162+
163+
public boolean shouldPreventJumping() {
164+
return preventJumping;
165+
}
157166
}

src/main/java/simplexity/simpleplayerfreeze/configs/LocaleHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class LocaleHandler {
1515
private final File localeFile = new File(SimplePlayerFreeze.getInstance().getDataFolder(), fileName);
1616
private final FileConfiguration localeConfig = new YamlConfiguration();
1717
private final Logger logger = SimplePlayerFreeze.getInstance().getLogger();
18-
private String prefix, cannotChat, cannotUseCommand, freezeMessage, unfreezeMessage ,
18+
private String prefix, cannotChat, cannotUseCommand, freezeMessage, unfreezeMessage,
1919
reloadMessage, haveBeenFrozen, haveBeenUnfrozen, noPermission, noPlayer, loginMessage, loginNotif,
2020
loginNotifNowUnfrozen, loginNotifConsole, loginNotifConsoleUnfreezing, cannotBeFrozen, notFrozen, shadowMuteFormat,
2121
freezeSpyEnabled, freezeSpyDisabled, onlyPlayer;

src/main/java/simplexity/simpleplayerfreeze/freeze/FreezeFunctionality.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package simplexity.simpleplayerfreeze.freeze;
22

3+
import org.bukkit.attribute.Attribute;
34
import org.bukkit.entity.Player;
45
import org.bukkit.persistence.PersistentDataType;
5-
import simplexity.simpleplayerfreeze.configs.ConfigHandler;
66
import simplexity.simpleplayerfreeze.Util;
7+
import simplexity.simpleplayerfreeze.configs.ConfigHandler;
78
import simplexity.simpleplayerfreeze.configs.LocaleHandler;
89

910
public class FreezeFunctionality {
@@ -25,6 +26,9 @@ public static void setFrozen(Player player) {
2526
if (ConfigHandler.getInstance().shouldPreventWalking()) {
2627
player.setWalkSpeed(0f);
2728
}
29+
if (ConfigHandler.getInstance().shouldPreventJumping()) {
30+
player.getAttribute(Attribute.GENERIC_GRAVITY).setBaseValue(1);
31+
}
2832
Util.sendUserMessage(player, LocaleHandler.getInstance().getHaveBeenFrozen());
2933
}
3034

@@ -34,6 +38,7 @@ public static void setUnfrozen(Player player) {
3438
player.setInvulnerable(false);
3539
player.setGlowing(false);
3640
player.setWalkSpeed(0.2f);
41+
player.getAttribute(Attribute.GENERIC_GRAVITY).setBaseValue(0.08);
3742
Util.sendUserMessageWithPlayer(player, LocaleHandler.getInstance().getHaveBeenUnfrozen(), player);
3843
}
3944

0 commit comments

Comments
 (0)