File tree 9 files changed +53
-9
lines changed
9 files changed +53
-9
lines changed Original file line number Diff line number Diff line change @@ -64,6 +64,7 @@ Please report bugs on the issues page on GitHub.
64
64
- Fly
65
65
- Daylight cycle
66
66
- Leaves decay
67
+ - Potion
67
68
- You have an idea what to add? Feel free to open an issue.
68
69
- ** DEFAULT VALUES** Set default values for worlds without settings
69
70
- ** SOPHISTICATED** Easy to use, fast and mostly bug-free.
@@ -84,15 +85,15 @@ Worlds is really easy to use. Here is the command syntax:
84
85
/worlds set legacy
85
86
/worlds set permission <permissionstring>
86
87
/worlds set gamemode <survival|creative|adventure|spectator>
87
- /worlds set <build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay> <true|false>
88
+ /worlds set <build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay|potion > <true|false>
88
89
/worlds unset
89
- /worlds unset <permission|gamemode|build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay>
90
+ /worlds unset <permission|gamemode|build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay|potion >
90
91
/worlds defaults
91
92
/worlds defaults legacy
92
93
/worlds defaults set permission <permissionstring>
93
94
/worlds defaults set gamemode <survival|creative|adventure|spectator>
94
- /worlds defaults set <build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay> <true|false>
95
- /worlds defaults unset <permission|gamemode|build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay>
95
+ /worlds defaults set <build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay|potion > <true|false>
96
+ /worlds defaults unset <permission|gamemode|build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay|potion >
96
97
```
97
98
98
99
For a full list of commands, their usage and a description what they are for, take a look at the [ wiki] ( https://plugins.surva.net/docs/Worlds#commands ) .
Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ website: https://plugins.surva.net/#worlds
10
10
commands :
11
11
worlds :
12
12
description : " Worlds plugin main command"
13
- usage : " /worlds list\n /worlds create <worldname> [type]\n /worlds <remove|load|unload|tp> <worldname>\n /worlds <copy|rename> <from> <to>\n /worlds set\n /worlds set legacy\n /worlds set permission <permissionstring>\n /worlds set gamemode <survival|creative|adventure|spectator>\n /worlds set <build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay> <true|false>\n /worlds unset\n /worlds unset <permission|gamemode|build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay>\n /worlds defaults\n /worlds defaults legacy\n /worlds defaults set permission <permissionstring>\n /worlds defaults set gamemode <survival|creative|adventure|spectator>\n /worlds defaults set <build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay> <true|false>\n /worlds defaults unset <permission|gamemode|build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay>"
13
+ usage : " /worlds list\n /worlds create <worldname> [type]\n /worlds <remove|load|unload|tp> <worldname>\n /worlds <copy|rename> <from> <to>\n /worlds set\n /worlds set legacy\n /worlds set permission <permissionstring>\n /worlds set gamemode <survival|creative|adventure|spectator>\n /worlds set <build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay|potion > <true|false>\n /worlds unset\n /worlds unset <permission|gamemode|build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay|potion >\n /worlds defaults\n /worlds defaults legacy\n /worlds defaults set permission <permissionstring>\n /worlds defaults set gamemode <survival|creative|adventure|spectator>\n /worlds defaults set <build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay|potion > <true|false>\n /worlds defaults unset <permission|gamemode|build|pvp|damage|interact|explode|drop|hunger|fly|daylightcycle|leavesdecay|potion >"
14
14
aliases : ["ws"]
15
15
permissions :
16
16
worlds.list :
Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ teleport:
71
71
set :
72
72
success : " §aDu hast §b{key} §ain §f{world} §aauf §c{value} §agesetzt."
73
73
list :
74
- values : " §Einstellungen für die Welt §f{name}\n\n §eberechtigung: {permission}\n §egamemode: {gamemode}\n §ebauen: {build}\n §epvp: {pvp}\n §eschaden: {damage}\n §einteragieren: {interact}\n §eexplosionen: {explode}\n §edrop: {drop}\n §ehunger: {hunger}\n §efliegen: {fly}\n §etag-nacht-zyklus: {daylightcycle}\n §eblätter verwesen: {leavesdecay}\n "
74
+ values : " §Einstellungen für die Welt §f{name}\n\n §eberechtigung: {permission}\n §egamemode: {gamemode}\n §ebauen: {build}\n §epvp: {pvp}\n §eschaden: {damage}\n §einteragieren: {interact}\n §eexplosionen: {explode}\n §edrop: {drop}\n §ehunger: {hunger}\n §efliegen: {fly}\n §etag-nacht-zyklus: {daylightcycle}\n §eblätter verwesen: {leavesdecay}\n §ezaubertränke: {potion} \n "
75
75
notset : " §7nicht gesetzt"
76
76
permission :
77
77
notdefault : " §cDu kannst keine Berechtigung für die Standard-Welt setzen."
86
86
# Defaults command
87
87
defaults :
88
88
list :
89
- values : " §Einstellungen für Welten auf diesem Server\n\n §eberechtigung: {permission}\n §egamemode: {gamemode}\n §ebauen: {build}\n §epvp: {pvp}\n §eschaden: {damage}\n §einteragieren: {interact}\n §eexplosionen: {explode}\n §edrop: {drop}\n §ehunger: {hunger}\n §efliegen: {fly}\n §etag-nacht-zyklus: {daylightcycle}\n §eblätter verwesen: {leavesdecay}\n "
89
+ values : " §Einstellungen für Welten auf diesem Server\n\n §eberechtigung: {permission}\n §egamemode: {gamemode}\n §ebauen: {build}\n §epvp: {pvp}\n §eschaden: {damage}\n §einteragieren: {interact}\n §eexplosionen: {explode}\n §edrop: {drop}\n §ehunger: {hunger}\n §efliegen: {fly}\n §etag-nacht-zyklus: {daylightcycle}\n §eblätter verwesen: {leavesdecay}\n §ezaubertränke: {potion} \n "
90
90
notset : " §7nicht gesetzt"
91
91
set :
92
92
success : " §aDu hast §b{key} §aauf §c{value} §aals Standard-Wert gesetzt."
@@ -111,6 +111,7 @@ forms:
111
111
fly : " Fliegen"
112
112
daylightcycle : " Tag-Nacht-Zyklus"
113
113
leavesdecay : " Blätter verwesen"
114
+ potion : " Zaubertränke"
114
115
options :
115
116
notset : " §7nicht eingestellt (kein Wert)"
116
117
true : " §aaktiviert"
Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ teleport:
71
71
set :
72
72
success : " §aYou've set §b{key} §ain §f{world} §ato §c{value}§a."
73
73
list :
74
- values : " §cSettings for world §f{name}\n\n §epermission: {permission}\n §egamemode: {gamemode}\n §ebuild: {build}\n §epvp: {pvp}\n §edamage: {damage}\n §einteract: {interact}\n §eexplode: {explode}\n §edrop: {drop}\n §ehunger: {hunger}\n §efly: {fly}\n §edaylightcycle: {daylightcycle}\n §eleavesdecay: {leavesdecay}\n "
74
+ values : " §cSettings for world §f{name}\n\n §epermission: {permission}\n §egamemode: {gamemode}\n §ebuild: {build}\n §epvp: {pvp}\n §edamage: {damage}\n §einteract: {interact}\n §eexplode: {explode}\n §edrop: {drop}\n §ehunger: {hunger}\n §efly: {fly}\n §edaylightcycle: {daylightcycle}\n §eleavesdecay: {leavesdecay}\n §epotion: {potion} \n "
75
75
notset : " §7not set"
76
76
permission :
77
77
notdefault : " §cYou can't set a permission on the default world."
86
86
# Defaults command
87
87
defaults :
88
88
list :
89
- values : " §cDefault settings for worlds on this server\n\n §epermission: {permission}\n §egamemode: {gamemode}\n §ebuild: {build}\n §epvp: {pvp}\n §edamage: {damage}\n §einteract: {interact}\n §eexplode: {explode}\n §edrop: {drop}\n §ehunger: {hunger}\n §efly: {fly}\n §edaylightcycle: {daylightcycle}\n §eleavesdecay: {leavesdecay}\n "
89
+ values : " §cDefault settings for worlds on this server\n\n §epermission: {permission}\n §egamemode: {gamemode}\n §ebuild: {build}\n §epvp: {pvp}\n §edamage: {damage}\n §einteract: {interact}\n §eexplode: {explode}\n §edrop: {drop}\n §ehunger: {hunger}\n §efly: {fly}\n §edaylightcycle: {daylightcycle}\n §eleavesdecay: {leavesdecay}\n §epotion: {potion} \n "
90
90
notset : " §7not set"
91
91
set :
92
92
success : " §aYou've set §b{key} §ato §c{value} §aas default value."
@@ -111,6 +111,7 @@ forms:
111
111
fly : " Flying"
112
112
daylightcycle : " Daylight cycling"
113
113
leavesdecay : " Leaves decay"
114
+ potion : " Potion"
114
115
options :
115
116
notset : " §7not set (null)"
116
117
true : " §aenabled"
Original file line number Diff line number Diff line change 21
21
use pocketmine \event \player \PlayerDropItemEvent ;
22
22
use pocketmine \event \player \PlayerExhaustEvent ;
23
23
use pocketmine \event \player \PlayerInteractEvent ;
24
+ use pocketmine \event \player \PlayerItemConsumeEvent ;
24
25
use pocketmine \event \player \PlayerJoinEvent ;
25
26
use pocketmine \item \PaintingItem ;
27
+ use pocketmine \item \Potion ;
26
28
use pocketmine \item \TieredTool ;
27
29
use pocketmine \Player ;
28
30
@@ -320,6 +322,26 @@ public function onLeavesDecay(LeavesDecayEvent $event): void
320
322
}
321
323
}
322
324
325
+ /**
326
+ * @param \pocketmine\event\player\PlayerItemConsumeEvent $event
327
+ */
328
+ public function onPlayerItemConsume (PlayerItemConsumeEvent $ event ): void
329
+ {
330
+ $ player = $ event ->getPlayer ();
331
+ $ item = $ event ->getItem ();
332
+ $ foldername = $ player ->getLevel ()->getFolderName ();
333
+
334
+ if (!($ item instanceof Potion)) {
335
+ return ;
336
+ }
337
+
338
+ if ($ world = $ this ->getWorlds ()->getWorldByName ($ foldername )) {
339
+ if ($ world ->getPotion () === false ) {
340
+ $ event ->setCancelled ();
341
+ }
342
+ }
343
+ }
344
+
323
345
/**
324
346
* @return Worlds
325
347
*/
Original file line number Diff line number Diff line change @@ -53,6 +53,7 @@ public function do(CommandSender $sender, array $args): bool
53
53
"fly " => $ this ->formatBool ($ defaults ->getFly ()),
54
54
"daylightcycle " => $ this ->formatBool ($ defaults ->getDaylightCycle ()),
55
55
"leavesdecay " => $ this ->formatBool ($ defaults ->getLeavesDecay ()),
56
+ "potion " => $ this ->formatBool ($ defaults ->getPotion ()),
56
57
]
57
58
)
58
59
);
Original file line number Diff line number Diff line change @@ -59,6 +59,7 @@ public function do(CommandSender $sender, array $args): bool
59
59
"fly " => $ this ->formatBool ($ world ->getFly ()),
60
60
"daylightcycle " => $ this ->formatBool ($ world ->getDaylightCycle ()),
61
61
"leavesdecay " => $ this ->formatBool ($ world ->getLeavesDecay ()),
62
+ "potion " => $ this ->formatBool ($ world ->getPotion ()),
62
63
]
63
64
)
64
65
);
Original file line number Diff line number Diff line change @@ -54,6 +54,9 @@ class World
54
54
/* @var bool|null */
55
55
protected $ leavesdecay ;
56
56
57
+ /* @var bool|null */
58
+ protected $ potion ;
59
+
57
60
public function __construct (Worlds $ worlds , Config $ config )
58
61
{
59
62
$ this ->worlds = $ worlds ;
@@ -135,6 +138,14 @@ public function removeValue(string $name): void
135
138
$ this ->loadItems ();
136
139
}
137
140
141
+ /**
142
+ * @return bool|null
143
+ */
144
+ public function getPotion (): ?bool
145
+ {
146
+ return $ this ->potion ;
147
+ }
148
+
138
149
/**
139
150
* @return bool|null
140
151
*/
Original file line number Diff line number Diff line change @@ -52,6 +52,9 @@ class Flags
52
52
"leavesdecay " => [
53
53
"type " => self ::TYPE_BOOL ,
54
54
],
55
+ "potion " => [
56
+ "type " => self ::TYPE_BOOL ,
57
+ ],
55
58
];
56
59
57
60
public const AVAILABLE_DEFAULT_FLAGS
@@ -89,6 +92,9 @@ class Flags
89
92
"leavesdecay " => [
90
93
"type " => self ::TYPE_BOOL ,
91
94
],
95
+ "potion " => [
96
+ "type " => self ::TYPE_BOOL ,
97
+ ],
92
98
];
93
99
94
100
}
You can’t perform that action at this time.
0 commit comments