Skip to content
This repository was archived by the owner on Jan 19, 2021. It is now read-only.

Commit 3ef9c91

Browse files
committed
Release 2.8.0
1 parent 6f0a2c4 commit 3ef9c91

11 files changed

Lines changed: 589 additions & 161 deletions

File tree

.classpath

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@
1313
<classpathentry kind="lib" path="C:/Users/User/Desktop/szerver/1131/cache/patched_1.13.1.jar"/>
1414
<classpathentry kind="lib" path="C:/Users/User/Desktop/szerver/1131/cache/patched_1.13.2.jar"/>
1515
<classpathentry kind="lib" path="C:/Users/User/Desktop/szerver/1131/cache/patched_1.13.jar"/>
16+
<classpathentry kind="lib" path="C:/Users/User/Downloads/Vault (1).jar"/>
1617
<classpathentry kind="output" path="bin"/>
1718
</classpath>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
eclipse.preferences.version=1
22
encoding/<project>=UTF-8
3+
separateDerivedEncodings=true

languages/en_US.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
break: §7You have broken out one §e%type%§7 spawner.
22
place: §7You have placen one §e%type%§7 spawner.
33
limit-reach: §cYou have reached the daily spawner break limit (%limit%).
4+
no-enough-money: §cYou do not have enough money!
5+
no-enough-space-inv: §cThere are not enough space in your inventory!
6+
give: '&aGave %count% &e%type%&a spawner to you.'
7+
no-perm: '&cYou do not have permission to perform this action.'

languages/hu_HU.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
break: §7Kiütöttél egy §e%type%§7 spawnert.
22
place: §7Letettél egy §e%type%§7 spawnert.
33
limit-reach: §cElérted a napi kiüthető spawner limitet (%limit%).
4+
no-enough-money: §cNincs elég pénzed!
5+
no-enough-space-inv: §cNincs elég hely a táskádban!
6+
give: '&aKaptál %count% &e%type%&a spawnert.'
7+
no-perm: '&cEhhez nincs jogod.'

src/me/poma123/spawners/Command.java

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

src/me/poma123/spawners/Listener.java

Lines changed: 188 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,21 @@
66
import java.util.TreeMap;
77
import java.util.regex.Pattern;
88

9-
import org.apache.commons.lang.RandomStringUtils;
109
import org.apache.commons.lang.StringUtils;
10+
import org.bukkit.Bukkit;
1111
import org.bukkit.ChatColor;
1212
import org.bukkit.Material;
1313
import org.bukkit.block.Block;
1414
import org.bukkit.block.CreatureSpawner;
15+
import org.bukkit.block.Sign;
1516
import org.bukkit.entity.EntityType;
1617
import org.bukkit.entity.Player;
1718
import org.bukkit.event.EventHandler;
1819
import org.bukkit.event.EventPriority;
1920
import org.bukkit.event.block.BlockBreakEvent;
2021
import org.bukkit.event.block.BlockPlaceEvent;
22+
import org.bukkit.event.block.SignChangeEvent;
23+
import org.bukkit.event.player.PlayerInteractEvent;
2124
import org.bukkit.event.player.PlayerJoinEvent;
2225
import org.bukkit.inventory.ItemStack;
2326
import org.bukkit.inventory.meta.ItemMeta;
@@ -28,14 +31,15 @@
2831
import net.md_5.bungee.api.chat.ComponentBuilder;
2932
import net.md_5.bungee.api.chat.HoverEvent;
3033
import net.md_5.bungee.api.chat.TextComponent;
34+
import net.milkbowl.vault.economy.Economy;
3135

3236
public class Listener implements org.bukkit.event.Listener {
3337
Map<String, Integer> limit = new TreeMap<String, Integer>();
3438
SettingsManager sett = SettingsManager.getInstance();
35-
private Plugin plugin = Command.getPlugin(Command.class);
39+
private Plugin plugin = PickupSpawners.getPlugin(PickupSpawners.class);
3640
public static int breakedSpawners = 0;
37-
38-
private Material material = Command.material;
41+
42+
private Material material = PickupSpawners.material;
3943

4044
public static String getLang(Player p) {
4145
String[] s = StringUtils.split(p.spigot().getLocale(), '_');
@@ -45,7 +49,7 @@ public static String getLang(Player p) {
4549
public static String getLangExact(Player p) {
4650

4751
return p.spigot().getLocale();
48-
52+
4953
}
5054

5155
public static TextComponent getHoverClick(String message, String hover, String click) {
@@ -105,8 +109,11 @@ public void onSpawnerBreak(BlockBreakEvent e) {
105109
if (limit.containsKey(e.getPlayer().getName())) {
106110
if (limit.get(e.getPlayer().getName()) >= limitcount) {
107111

108-
e.getPlayer().sendMessage(Language.getReplacedLocale(e.getPlayer(), LocalePath.LIMIT_REACH, "%limit%", String.valueOf(limitcount)));
109-
//e.getPlayer().sendMessage(lang.equals("hu")? "§cElérted a napi kiüthető spawner limitet (" + limitcount + ").": "§cYou have reached the daily spawner break limit (" + limitcount + ").");
112+
e.getPlayer().sendMessage(Language.getReplacedLocale(e.getPlayer(), LocalePath.LIMIT_REACH,
113+
"%limit%", String.valueOf(limitcount)));
114+
// e.getPlayer().sendMessage(lang.equals("hu")? "§cElérted a napi kiüthető
115+
// spawner limitet (" + limitcount + ").": "§cYou have reached the daily spawner
116+
// break limit (" + limitcount + ").");
110117
e.setCancelled(true);
111118
return;
112119
}
@@ -183,10 +190,14 @@ public void onSpawnerBreak(BlockBreakEvent e) {
183190
spawner.setItemMeta(swmeta);
184191

185192
s.getWorld().dropItemNaturally(s.getLocation(), spawner);
186-
e.getPlayer().sendMessage(Language.getReplacedLocale(e.getPlayer(), LocalePath.BREAK, "%type%", cs.getSpawnedType().name().toLowerCase()));
187-
193+
e.getPlayer().sendMessage(Language.getReplacedLocale(e.getPlayer(), LocalePath.BREAK, "%type%",
194+
cs.getSpawnedType().name().toLowerCase()));
195+
188196
breakedSpawners++;
189-
// e.getPlayer().sendMessage(lang.equals("hu")? "§7Kiütöttél egy §e" + cs.getSpawnedType().name().toLowerCase() + " §7spawnert!" : "§7You have broken out one §e" + cs.getSpawnedType().name().toLowerCase() + "§7 spawner.");
197+
// e.getPlayer().sendMessage(lang.equals("hu")? "§7Kiütöttél egy §e" +
198+
// cs.getSpawnedType().name().toLowerCase() + " §7spawnert!" : "§7You have
199+
// broken out one §e" + cs.getSpawnedType().name().toLowerCase() + "§7
200+
// spawner.");
190201
if (!e.getPlayer().hasPermission("spawnerlimit.bypass")) {
191202
if (limit.containsKey(e.getPlayer().getName())) {
192203
Integer value = limit.get(e.getPlayer().getName()) + 1;
@@ -229,14 +240,19 @@ public void onSpawnerPlace(BlockPlaceEvent event) {
229240
spawner.setSpawnedType(EntityType.valueOf(spawnerName));
230241
spawner.update(true, true);
231242

232-
event.getPlayer().sendMessage(Language.getReplacedLocale(event.getPlayer(), LocalePath.PLACE, "%type%", spawnerName.toLowerCase()));
233-
//event.getPlayer().sendMessage(lang.equals("hu")? "§7Letettél egy §e" + spawnerName.toLowerCase() + " §7spawnert!" : "§7You have placen one §e" + spawnerName.toLowerCase() + "§7 spawner.");
243+
event.getPlayer().sendMessage(Language.getReplacedLocale(event.getPlayer(), LocalePath.PLACE,
244+
"%type%", spawnerName.toLowerCase()));
245+
// event.getPlayer().sendMessage(lang.equals("hu")? "§7Letettél egy §e" +
246+
// spawnerName.toLowerCase() + " §7spawnert!" : "§7You have placen one §e" +
247+
// spawnerName.toLowerCase() + "§7 spawner.");
234248
} catch (IllegalArgumentException e) {
235249
spawner.setSpawnedType(EntityType.valueOf("PIG"));
236250
spawner.update(true, true);
237251

238-
event.getPlayer().sendMessage(Language.getReplacedLocale(event.getPlayer(), LocalePath.PLACE, "%type%", "pig"));
239-
//event.getPlayer().sendMessage(lang.equals("hu") ? "§7Letettél egy §epig §7spawnert!": "§7You have placen one §epig §7spawner.");
252+
event.getPlayer().sendMessage(
253+
Language.getReplacedLocale(event.getPlayer(), LocalePath.PLACE, "%type%", "pig"));
254+
// event.getPlayer().sendMessage(lang.equals("hu") ? "§7Letettél egy §epig
255+
// §7spawnert!": "§7You have placen one §epig §7spawner.");
240256
}
241257

242258
return;
@@ -269,4 +285,162 @@ public void onSpawnerPlace(BlockPlaceEvent event) {
269285

270286
}
271287
}
288+
289+
@EventHandler
290+
public void onSignClick(PlayerInteractEvent e) {
291+
292+
Player p = e.getPlayer();
293+
Block b = e.getClickedBlock();
294+
if (e.getAction().equals(org.bukkit.event.block.Action.RIGHT_CLICK_BLOCK)) {
295+
if (p.hasPermission("pickupspawners.signshop.use")) {
296+
if (b.getType().toString().contains("SIGN")) {
297+
298+
Sign s = (Sign) b.getState();
299+
if (s.getLine(0).equalsIgnoreCase("§1[PickupSpawners]")) {
300+
if (s.getLine(1).startsWith("B ")) {
301+
String spawnedType = s.getLine(2).toUpperCase();
302+
Integer count = 1;
303+
double price = 0;
304+
if (s.getLine(3) != null && PickupSpawners.isInteger(s.getLine(3))) {
305+
count = Integer.parseInt(s.getLine(3));
306+
}
307+
308+
if (PickupSpawners.isDouble(s.getLine(1).split(" ")[1])) {
309+
price = Double.parseDouble(s.getLine(1).split(" ")[1]);
310+
}
311+
312+
if (me.poma123.spawners.PickupSpawners.entities.contains(spawnedType.toLowerCase())) {
313+
314+
if (p.getInventory().firstEmpty() == -1) {
315+
p.sendMessage(Language.getLocale(p, LocalePath.NO_ENOUGH_SPACE_INV));
316+
return;
317+
}
318+
EntityType.valueOf(spawnedType);
319+
ItemStack spawner = new ItemStack(me.poma123.spawners.PickupSpawners.material, count);
320+
ItemMeta swmeta = spawner.getItemMeta();
321+
// swmeta.setLocalizedName();
322+
swmeta.setDisplayName("§e" + spawnedType.toLowerCase() + " §7Spawner");
323+
324+
spawner.setItemMeta(swmeta);
325+
if (PickupSpawners.vault != null) {
326+
Economy economy = PickupSpawners.vault.getEconomy();
327+
328+
if (economy.getBalance(p) >= price) {
329+
economy.withdrawPlayer(p, price);
330+
p.getInventory().addItem(spawner);
331+
p.sendMessage(Language.getReplacedLocale(p, LocalePath.GIVE, "%count% %type%", count + " " + spawnedType.toLowerCase()));
332+
} else {
333+
p.sendMessage(Language.getLocale(p, LocalePath.NO_ENOUGH_MONEY));
334+
}
335+
336+
} else {
337+
plugin.getLogger().warning(
338+
"§cThere was an error when attempt to buy a spawner. Vault is not installed.");
339+
p.sendMessage(
340+
"§c[PickupSpawners] There was an error when attempt to buy a spawner. Please contact an administrator and tell them to look at the Console.");
341+
return;
342+
}
343+
344+
} else {
345+
p.sendMessage(me.poma123.spawners.Listener.getLang(p).equals("hu")
346+
? "§cA megadott entitás típus nem létezik."
347+
: "§cThis entity type is invalid.");
348+
}
349+
}
350+
}
351+
}
352+
} else {
353+
354+
355+
p.sendMessage(Language.getLocale(p, LocalePath.NO_PERM));
356+
}
357+
}
358+
}
359+
360+
361+
@EventHandler
362+
public void onSignChange(SignChangeEvent e) {
363+
364+
Player p = e.getPlayer();
365+
Block b = e.getBlock();
366+
367+
// TODO is shop enabled in config
368+
if (p.hasPermission("pickupspawners.signshop.create")) {
369+
Sign sign = (Sign) b.getState();
370+
if (e.getLines()[0].equalsIgnoreCase("[PickupSpawners]") || e.getLines()[0].equalsIgnoreCase("[Spawners]")
371+
|| e.getLines()[0].equalsIgnoreCase("[ps]")) {
372+
// if
373+
// (s.getConfig().getStringList("shop-sign-prefixes").contains(e.getLines()[0]))
374+
// {
375+
if (e.getLine(1).startsWith("B") || e.getLine(1).startsWith("b")) {
376+
if (e.getLine(1).contains(" ") && PickupSpawners.isInteger(e.getLine(1).split(" ")[1])) {
377+
sign.setLine(0, "§1[PickupSpawners]");
378+
sign.setLine(1, e.getLine(1).replace("b", "B"));
379+
if (PickupSpawners.entities.contains(e.getLine(2).toLowerCase())) {
380+
sign.setLine(2, e.getLine(2).toLowerCase());
381+
if (PickupSpawners.isInteger(e.getLine(3))) {
382+
sign.setLine(3, e.getLine(3));
383+
384+
} else {
385+
sign.setLine(3, "1");
386+
}
387+
388+
389+
p.sendMessage("§e[PickupSpawners] §aBuy sign succesfully created!");
390+
391+
} else {
392+
393+
sign.setLine(0, "§4[PickupSpawners]");
394+
sign.setLine(1, "");
395+
sign.setLine(2, "§cINVALID");
396+
p.sendMessage("§e[PickupSpawners] §cInvalid entity name.");
397+
398+
/*
399+
* final Player receipient =p; final ComponentBuilder message = new
400+
* ComponentBuilder("§e[PickupSpawners] §cInvalid entity name. ");
401+
*
402+
* String entity = ""; int size = entities.size() / 2; int second =
403+
* entities.size() - size -1;
404+
*
405+
* for (int i = 0; i < size; i++) {
406+
*
407+
* entity = entity + "\n§e- §7" + entities.get(i) + " §e- §7" +
408+
* entities.get(second); second++; }
409+
*
410+
*
411+
* message.append(ChatColor.GRAY +
412+
* " §7[Valid entities] §o(Hover with cursor!)"); // message.event(new
413+
* ClickEvent(ClickEvent.Action.RUN_COMMAND, "")); message.event(new
414+
* HoverEvent(Action.SHOW_TEXT, TextComponent.fromLegacyText(entity)));
415+
*
416+
* receipient.spigot().sendMessage(message.create());
417+
*/
418+
}
419+
420+
} else {
421+
sign.setLine(0, "§4[PickupSpawners]");
422+
sign.setLine(2, "§cINVALID");
423+
p.sendMessage(
424+
"§e[PickupSpawners] §cInvalid price line. §7(Valid price line: §oB <price>§r§7. Example: §oB 500§r§7)");
425+
}
426+
} else {
427+
sign.setLine(0, "§4[PickupSpawners]");
428+
sign.setLine(2, "§cINVALID");
429+
p.sendMessage(
430+
"§e[PickupSpawners] §cInvalid price line. §7(Valid price line: §oB <price>§r§7. Example: §oB 500§r§7)");
431+
}
432+
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
433+
@Override
434+
public void run() {
435+
436+
sign.update();
437+
}
438+
}, 2);
439+
440+
}
441+
442+
}
443+
444+
}
445+
272446
}

0 commit comments

Comments
 (0)