8 Commits

Author SHA1 Message Date
Dico
fd368a8aac Patch buggy movement blocking when logging in
Added a separate event handler for PlayerMoveEvent which instead of cancelling the event, sets the new position to the old one.
This should fix the buggy, flashy screen you get when you move your cursor while not yet logged in.
2016-06-23 05:21:24 +02:00
Dico
bfcb22f650 Merge pull request #46 from psrcek/patch-1
Fix for bug, where you can shift click and toggle levers
2016-06-21 22:35:53 +02:00
psrcek
1602ad2185 Fix for bug, where you can shift click and toggle levers 2016-06-21 21:46:48 +02:00
Dico200
cebdb90d60 Fix cycle for 1.10 (will break in 1.8 now..) 2016-06-12 20:02:06 +02:00
Dico200
6320d78a37 Mysql update tweak 2016-06-12 18:13:42 +02:00
Dico
47a0a92225 Merge pull request #45 from psrcek/dev
Fixed typo
2016-06-12 18:09:40 +02:00
Dico200
a6ea05a459 made /check display email not confirmed warning 2016-06-12 18:04:17 +02:00
psrcek
f5c51645d2 Fixed typo 2016-06-12 13:34:33 +02:00
6 changed files with 19 additions and 13 deletions

View File

@@ -185,7 +185,7 @@ def toggle_command(sender, command, label, args):
return " &cAlready disabled: " + details[1]
if arglen == 2 and not arg2.isdigit():
return " &cArgument '%s' was not recognized. \nUse &o/toggle %s details &cfor more detailsrmation." % (arg2, setting)
return " &cArgument '%s' was not recognized. \nUse &o/toggle %s info &cfor more information." % (arg2, setting)
if not enabled:
values[uuid] = {}

View File

@@ -6,6 +6,7 @@ import org.bukkit as bukkit
from org.bukkit import *
from helpers import *
# Version number and requirements
alias_version = "2.1.0"
@@ -131,7 +132,7 @@ def on_alias_command(sender, cmd, label, args):
return
if args[0].lower() != "player" and not is_player(sender):
msg(sender, "&cThe console cannot have aliases")
return
return True
subcommands[args[0].lower()](sender, args[1:])
except:
subcommands["help"](sender, "1")
@@ -381,9 +382,8 @@ def save_data(uuid):
def save_data_thread(uuid):
conn = zxJDBC.connect(mysql_database, mysql_user, mysql_pass, "com.mysql.jdbc.Driver")
curs = conn.cursor()
value = json_dumps(data[uuid])
curs.execute("INSERT INTO `chatalias` VALUES (?, ?) ON DUPLICATE KEY UPDATE `alias` = ?;",
(uuid, value, value))
curs.execute("INSERT INTO `chatalias` (`uuid`, `alias`) VALUES (?, ?) ON DUPLICATE KEY UPDATE `alias` = VALUES(`alias`);",
(uuid, json_dumps(data[uuid])))
conn.commit()
curs.close()
conn.close()

View File

@@ -35,11 +35,11 @@ def get_website_data(player):
conn = zxJDBC.connect(mysql_database, mysql_user, mysql_pass, "com.mysql.jdbc.Driver")
curs = conn.cursor()
uuid = str(uid(player)).replace("-", "")
curs.execute("SELECT DISTINCT `id`, `email` FROM users WHERE `uuid` = ? LIMIT 1", (uuid,))
curs.execute("SELECT DISTINCT `id`, `email`, `confirmed` FROM users WHERE `uuid` = ? LIMIT 1", (uuid,))
results = curs.fetchall()
curs.close()
conn.close()
return ("http://redstoner.com/users/%s" % results[0][0], results[0][1]) if results else (None, None)
return ("http://redstoner.com/users/%s" % results[0][0], results[0][1], False if results[0][2] == 0 else True) if results else (None, None, True)
# receive country based on the user's IP
@@ -68,6 +68,8 @@ def get_all_data(sender, player):
website = get_website_data(player)
msg(sender, "&6> Website account: &e%s" % website[0])
msg(sender, "&6> email: &e%s" % website[1])
if not website[2]:
msg(sender, "&6> &cEmail NOT Confirmed!")
msg(sender, "&7 -- Data provided by ipinfo.io")
msg(sender, "&6> Country: &e%s" % get_country(data))
msg(sender, "&7 -- Data provided by Mojang")

View File

@@ -56,7 +56,7 @@ def on_slot_change(event):
def do_cycle(player, down):
inv = player.getInventory()
items = inv.getContents()
items = inv.getStorageContents()
shift = -9 if down else 9
shift = shift % len(items)
for _ in range(4):
@@ -64,7 +64,7 @@ def do_cycle(player, down):
uniq_items = sorted(set(list(items)[:9])) # get unique inventory
if uniq_items != [None]: # row not empty
break
inv.setContents(items)
inv.setStorageContents(items)
def save_cyclers():
save_json_file("cycle", no_cyclers)

View File

@@ -173,8 +173,6 @@ def on_block_break(event):
def on_interact(event):
if (str(event.getAction()) == "RIGHT_CLICK_BLOCK") and not event.isCancelled():
sender = event.getPlayer()
if sender.isSneaking():
return
block = event.getClickedBlock()
pos_str = location_str(block)
data = inputs.get(pos_str)

View File

@@ -12,7 +12,7 @@ from player import get_py_player, py_players
wait_time = 30 #seconds
admin_perm = "utils.loginsecurity.admin"
min_pass_length = 8
blocked_events = ["block.BlockBreakEvent", "block.BlockPlaceEvent", "player.PlayerMoveEvent","player.AsyncPlayerChatEvent"]
blocked_events = ["block.BlockBreakEvent", "block.BlockPlaceEvent", "player.AsyncPlayerChatEvent"]
@@ -273,4 +273,10 @@ def pre_command_proccess(event):
args = event.getMessage().split(" ")
if not args[0].lower() == "/login":
msg(player.player, "&4You need to login before you do that!")
event.setCancelled(True)
event.setCancelled(True)
@hook.event("player.PlayerMoveEvent","normal")
def player_move(event):
user = get_py_player(event.getPlayer())
if user.logging_in:
event.setTo(event.getFrom())