Skip to content

Commit aa27355

Browse files
1.4.7
1 parent d401b98 commit aa27355

File tree

15 files changed

+66
-46
lines changed

15 files changed

+66
-46
lines changed

src/main/java/me/opkarol/opc/OpAPI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ public static OpPlugin getInstance() {
1616

1717
public static void init(@NotNull OpPlugin plugin) {
1818
OpAPI.plugin = plugin;
19-
logInfo(plugin.getName());
2019
}
20+
2121
public static void addCommand(OpCommand command) {
2222
commands.add(command);
2323
}

src/main/java/me/opkarol/opc/OpC.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package me.opkarol.opc;
22

3-
import me.opkarol.opc.api.database.mysql.reflection.symbols.Identification;
43
import me.opkarol.opc.api.plugin.OpPlugin;
54

65
public class OpC extends OpPlugin {

src/main/java/me/opkarol/opc/api/configuration/CustomConfigurable.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package me.opkarol.opc.api.configuration;
22

3-
import me.opkarol.opc.OpC;
4-
53
import java.util.function.Consumer;
64

75
public interface CustomConfigurable {
@@ -10,9 +8,9 @@ default void save(String path) {
108
}
119

1210
default void get(String path) {
13-
OpC.getLog().info(path + " --- 2");
1411
get().accept(new CustomConfiguration().setPath(path));
1512
}
13+
1614
Consumer<CustomConfiguration> get();
1715

1816
Consumer<CustomConfiguration> save();

src/main/java/me/opkarol/opc/api/configuration/CustomConfiguration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public OpSerializableLocation getLocation(String path) {
145145
}
146146

147147
public <K extends Enum<K>> Optional<K> getEnum(String path, Class<K> clazz) {
148-
return StringUtil.getEnumValue(getPath(path), clazz);
148+
return StringUtil.getEnumValue(getString(path), clazz);
149149
}
150150

151151
public <K extends Enum<K>> K getUnsafeEnum(String path, Class<K> clazz) {
@@ -162,7 +162,8 @@ public CustomConfiguration save() {
162162
}
163163

164164
public CustomConfiguration useSectionKeys(Consumer<String> consumer) {
165-
return useSectionKeys(VariableUtil.ifEndsWithRemove(defaultPath, "."), consumer);
165+
configuration.useSectionKeys(VariableUtil.ifEndsWithRemove(defaultPath, "."), consumer);
166+
return this;
166167
}
167168

168169
public CustomConfiguration useSectionKeys(String path, Consumer<String> consumer) {

src/main/java/me/opkarol/opc/api/database/mysql/reflection/OpMReflection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ private void setTableName() {
8080
}
8181

8282
private List<Field> buildFields() {
83-
return OpMReflectionUtils.getFields(classObject, field -> OpMReflectionUtils.isAnnotationPresent(field.getClass(), Value.class));
83+
return OpMReflectionUtils.getFields(classObject, field -> field.isAnnotationPresent(Value.class));
8484
}
8585

8686
public Class<?> getClassObject() {

src/main/java/me/opkarol/opc/api/database/mysql/reflection/OpMReflectionUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import org.jetbrains.annotations.Nullable;
66

77
import java.lang.annotation.Annotation;
8-
import java.lang.reflect.Constructor;
98
import java.lang.reflect.*;
109
import java.util.ArrayList;
1110
import java.util.Arrays;

src/main/java/me/opkarol/opc/api/database/mysql/table/MySqlTable.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,16 @@ public String getTableValues() {
4949
builder.append(variable.name()).append(" ").append(variable.variableName());
5050
MySqlAttribute[] attributes = map.getOrDefault(variable, null);
5151
if (attributes != null && attributes.length != 0) {
52+
boolean alreadySet = false;
5253
for (MySqlAttribute attribute : attributes) {
5354
if (attribute.equals(MySqlAttribute.PRIMARY)) {
5455
primary = variable;
5556
} else {
57+
if (!alreadySet && variable.variableName().equals(MySqlVariableType.TEXT)) {
58+
builder.append(MySqlAttribute.CHARACTER_SET.getText());
59+
alreadySet = true;
60+
}
5661
builder.append(attribute.getText());
57-
5862
}
5963
}
6064
}

src/main/java/me/opkarol/opc/api/database/mysql/types/MySqlAttribute.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ public enum MySqlAttribute {
55
PRIMARY(" PRIMARY KEY (%s)"),
66
LENGTH(" (%s)"),
77
IGNORE_IN_SEARCH(""),
8-
IGNORE_IN_ALL_SEARCH("");
8+
IGNORE_IN_ALL_SEARCH(""),
9+
CHARACTER_SET(" CHARACTER SET utf8 COLLATE utf8_unicode_ci");
910

1011
private final String text;
1112

src/main/java/me/opkarol/opc/api/misc/HashCreator.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package me.opkarol.opc.api.misc;
22

3-
import me.opkarol.opc.OpC;
4-
53
import java.nio.charset.StandardCharsets;
64
import java.security.MessageDigest;
75
import java.security.NoSuchAlgorithmException;
@@ -70,7 +68,6 @@ public static UUID getMd5Uuid(String string) {
7068
}
7169

7270
public static UUID getSha1Uuid(String string) {
73-
OpC.getLog().info(getHashUuid(null, string, MESSAGE_DIGEST_SHA1, VERSION_5) + " --- " + string);
7471
return getHashUuid(null, string, MESSAGE_DIGEST_SHA1, VERSION_5);
7572
}
7673

src/main/java/me/opkarol/opc/api/misc/OpParticle.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ public OpParticle(Particle particle) {
3333

3434
public OpParticle(String path) {
3535
get(path);
36-
//OpC.getLog().info(String.valueOf(this.particle));
3736
}
3837

3938
public OpParticle() { }
@@ -216,7 +215,6 @@ public Consumer<CustomConfiguration> get() {
216215
this.setOffset(c.getString("offset"));
217216
this.location = c.getLocation("location");
218217
this.particle = c.getUnsafeEnum("particle", Particle.class);
219-
//OpC.getLog().info(String.valueOf(c.getUnsafeEnum("particle", Particle.class)));
220218
this.amount = c.getInt("amount");
221219
};
222220
}

src/main/java/me/opkarol/opc/api/misc/OpSound.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package me.opkarol.opc.api.misc;
22

3-
import me.opkarol.opc.OpC;
43
import me.opkarol.opc.api.configuration.CustomConfiguration;
54
import me.opkarol.opc.api.configuration.IEmptyConfiguration;
65
import me.opkarol.opc.api.location.OpSerializableLocation;
@@ -227,7 +226,6 @@ public OpSound setVolume(float volume) {
227226
@Override
228227
public Consumer<CustomConfiguration> get() {
229228
return c -> {
230-
OpC.getLog().info(c.getPath("volume") + " --- 1");
231229
this.volume = c.getFloat("volume");
232230
this.pitch = c.getFloat("pitch");
233231
this.sound = c.getUnsafeEnum("sound", Sound.class);

src/main/java/me/opkarol/opc/api/permission/PermissionManager.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import me.opkarol.opc.api.configuration.CustomConfigurable;
44
import me.opkarol.opc.api.configuration.CustomConfiguration;
5+
import me.opkarol.opc.api.list.OpList;
56
import org.bukkit.entity.Player;
67
import org.jetbrains.annotations.NotNull;
78

8-
import me.opkarol.opc.api.list.OpList;
99
import java.util.List;
1010
import java.util.function.Consumer;
1111

@@ -57,13 +57,15 @@ public PermissionManager(String path) {
5757

5858
public Object getPlayerObject(Player player, @NotNull OBJECT_TYPE type) {
5959
List<PermissionGroup<K>> groups = list.stream().filter(group ->
60-
player.hasPermission(group.group()) || group.group().equalsIgnoreCase("default"))
60+
player.hasPermission(group.group())
61+
|| group.group().equalsIgnoreCase("default")
62+
|| (group.group().equalsIgnoreCase("op") && player.isOp()))
6163
.toList();
6264
if (type.equals(OBJECT_TYPE.INTEGER)) {
63-
int lowest = -1;
65+
int lowest = Integer.MAX_VALUE;
6466
for (PermissionGroup<K> group : groups) {
6567
int object = (int) group.object();
66-
if (lowest == -1 || object < lowest) {
68+
if (object < lowest) {
6769
lowest = object;
6870
}
6971
}
@@ -74,16 +76,22 @@ public Object getPlayerObject(Player player, @NotNull OBJECT_TYPE type) {
7476

7577
@Override
7678
public Consumer<CustomConfiguration> get() {
77-
return get -> get.useSectionKeys(s -> add(new PermissionGroup<>(s, (K) get.get(get.getPath(s)))));
79+
return get -> get.useSectionKeys(s -> add(new PermissionGroup<>(s, (K) get.get(s))));
7880
}
7981

8082
@Override
8183
public Consumer<CustomConfiguration> save() {
8284
return save -> save.forEachIterable(list, group -> save.set(group.group(), group.object())).save();
8385
}
8486

85-
8687
public enum OBJECT_TYPE {
8788
INTEGER
8889
}
90+
91+
@Override
92+
public String toString() {
93+
return "PermissionManager{" +
94+
"list=" + list.toArrayString() +
95+
'}';
96+
}
8997
}

src/main/java/me/opkarol/opc/api/teleport/OpTeleport.java

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package me.opkarol.opc.api.teleport;
22

3-
import me.opkarol.opc.OpC;
43
import me.opkarol.opc.api.commands.OpCommandSender;
54
import me.opkarol.opc.api.configuration.CustomConfigurable;
65
import me.opkarol.opc.api.configuration.CustomConfiguration;
@@ -12,9 +11,12 @@
1211
import me.opkarol.opc.api.runnable.OpTimerRunnable;
1312
import me.opkarol.opc.api.utils.FormatUtils;
1413
import org.bukkit.Bukkit;
14+
import org.bukkit.Chunk;
15+
import org.bukkit.Material;
1516
import org.bukkit.block.Block;
1617
import org.bukkit.block.BlockFace;
1718
import org.bukkit.entity.Player;
19+
import org.bukkit.event.player.PlayerTeleportEvent;
1820
import org.jetbrains.annotations.NotNull;
1921

2022
import java.io.Serializable;
@@ -115,14 +117,15 @@ public OpTeleport addTeleport(Player player) {
115117

116118
public boolean isSafeLocation(@NotNull OpLocation location) {
117119
Block feet = location.getLocation().getBlock();
118-
if (!feet.getType().isTransparent() && !feet.getLocation().add(0, 1, 0).getBlock().getType().isTransparent()) {
120+
if (feet.getType().equals(Material.LAVA) || feet.getType().equals(Material.WATER) || !feet.getType().isTransparent() && !feet.getLocation().add(0, 1, 0).getBlock().getType().isTransparent()) {
119121
return false;
120122
}
121123
Block head = feet.getRelative(BlockFace.UP);
122124
if (!head.getType().isTransparent()) {
123125
return false;
124126
}
125127
Block ground = feet.getRelative(BlockFace.DOWN);
128+
126129
return ground.getType().isSolid();
127130
}
128131

@@ -159,32 +162,47 @@ public OpTeleport teleport(@NotNull Player player, @NotNull OpSerializableLocati
159162
if (teleportSettings == null) {
160163
teleportSettings = new DefaultTeleportSettings();
161164
}
165+
162166
if (getRegistration() != null) {
163167
registration.addPlayer(player, this);
164168
}
169+
165170
TeleportSettings settings = teleportSettings;
166-
settings.use(player, settings.getOnStart());
167-
location.getLocation().getChunk().load();
171+
loadChunk(location.getLocation().getChunk());
172+
168173
int playerTeleportLength = (int) group.getPlayerObject(player, PermissionManager.OBJECT_TYPE.INTEGER);
169-
if (playerTeleportLength < 1) {
170-
if (endActionMethod(location, player, settings)) {
171-
return this;
172-
}
173-
}
174-
task = new OpTimerRunnable().runTaskTimesDownAsynchronously((onEach, integer) -> {
175-
String s = String.valueOf(integer);
176-
settings.use(player, settings.getOnEach(), "%time%", s);
177-
}, end -> new OpRunnable(r -> {
174+
if (playerTeleportLength <= 1) {
178175
if (!endActionMethod(location, player, settings)) {
179176
settings.use(player, settings.getOnInvalid());
180177
}
178+
return this;
179+
} else {
180+
settings.use(player, settings.getOnStart());
181+
}
182+
183+
task = new OpTimerRunnable().runTaskTimesDownAsynchronously(
184+
(onEach, integer) -> {
185+
if (integer > 0) {
186+
settings.use(player, settings.getOnEach(), "%time%", String.valueOf(integer));
187+
}
188+
},
189+
end -> new OpRunnable(r -> {
190+
if (!endActionMethod(location, player, settings)) {
191+
settings.use(player, settings.getOnInvalid());
192+
}
181193
}).runTask(), playerTeleportLength);
182194
return this;
183195
}
184196

197+
private void loadChunk(@NotNull Chunk chunk) {
198+
if (!chunk.isLoaded()) {
199+
chunk.load();
200+
}
201+
}
202+
185203
private boolean endActionMethod(@NotNull OpSerializableLocation location, Player player, TeleportSettings settings) {
186204
if (isSafeLocation(location.toLocation())) {
187-
if (player.teleport(location.getLocation())) {
205+
if (player.teleport(location.getLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN)) {
188206
settings.use(player, settings.getOnEnd(), "%location%", location.toFamilyString());
189207
return true;
190208
}
@@ -296,7 +314,6 @@ public Consumer<CustomConfiguration> get() {
296314
return c -> {
297315
permissionGroup = new PermissionManager<>(c.getPath("permission"));
298316
settings = new TeleportSettings(c.getPath("settings"));
299-
OpC.getLog().info(settings.toString());
300317
location = c.getLocation("location");
301318
};
302319
}

src/main/java/me/opkarol/opc/api/teleport/TeleportSettings.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package me.opkarol.opc.api.teleport;
22

3+
import me.opkarol.opc.OpAPI;
34
import me.opkarol.opc.api.configuration.CustomConfigurable;
45
import me.opkarol.opc.api.configuration.CustomConfiguration;
56
import me.opkarol.opc.api.misc.OpParticle;
@@ -54,15 +55,16 @@ public void use(Player player, @NotNull TeleportSettingsVisual settingsVisual, S
5455
OpParticle particle = settingsVisual.particle();
5556
OpTitle title = settingsVisual.title();
5657
OpText text = settingsVisual.text();
57-
if (sound != null) {
58+
59+
if (sound != null && !sound.isEmpty()) {
5860
sound.play(player);
5961
}
6062

61-
if (particle != null) {
63+
if (particle != null && !particle.isEmpty()) {
6264
particle.display(player);
6365
}
6466

65-
if (title != null) {
67+
if (title != null && !title.isEmpty()) {
6668
if (specialData.length > 1) {
6769
title.setSubTitle(specialData[0], specialData[1]).setTitle(specialData[0], specialData[1]).display(player);
6870
} else {

src/main/java/me/opkarol/opc/api/teleport/TeleportSettingsVisual.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package me.opkarol.opc.api.teleport;
22

3-
import me.opkarol.opc.OpC;
43
import me.opkarol.opc.api.configuration.CustomConfigurable;
54
import me.opkarol.opc.api.configuration.CustomConfiguration;
65
import me.opkarol.opc.api.misc.OpParticle;
@@ -51,11 +50,10 @@ public OpTitle title() {
5150
@Override
5251
public @NotNull Consumer<CustomConfiguration> get() {
5352
return c -> {
54-
OpC.getLog().info(c.getDefaultPath() + " --- 3 " + c.getParticle("particle"));
5553
particle = c.getParticle("particle");
5654
sound = c.getSound("sound");
5755
title = c.getTitle("title");
58-
text = c.getText("");
56+
text = c.getText("text");
5957
};
6058
}
6159

@@ -64,7 +62,7 @@ public OpTitle title() {
6462
return c -> c.setConfigurable("particle", particle)
6563
.setConfigurable("sound", sound)
6664
.setConfigurable("title", title)
67-
.setConfigurable("", text);
65+
.setConfigurable("text", text);
6866
}
6967

7068
@Override

0 commit comments

Comments
 (0)