mirror of
https://github.com/TotalFreedomMC/TF-Marriage.git
synced 2024-06-28 08:50:48 +00:00
much fix
This commit is contained in:
parent
32909936a4
commit
ee46cdb7f4
|
@ -11,6 +11,15 @@
|
||||||
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
|
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.7.10-R0.1-SNAPSHOT" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.7.10-R0.1-SNAPSHOT" level="project" />
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library name="Maven: org.spigotmc:spigot:1.8-R0.1-SNAPSHOT">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MODULE_DIR$/lib/spigot.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
<orderEntry type="library" name="Maven: com.google.guava:guava:17.0" level="project" />
|
<orderEntry type="library" name="Maven: com.google.guava:guava:17.0" level="project" />
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" />
|
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" />
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -70,6 +70,13 @@
|
||||||
<version>1.7.10-R0.1-SNAPSHOT</version>
|
<version>1.7.10-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.spigotmc</groupId>
|
||||||
|
<artifactId>spigot</artifactId>
|
||||||
|
<version>1.8-R0.1-SNAPSHOT</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>D:\Programming\bukkit\Marriage/lib/spigot.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
|
|
BIN
lib/spigot.jar
Normal file
BIN
lib/spigot.jar
Normal file
Binary file not shown.
7
pom.xml
7
pom.xml
|
@ -28,6 +28,13 @@
|
||||||
<version>1.7.10-R0.1-SNAPSHOT</version>
|
<version>1.7.10-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.spigotmc</groupId>
|
||||||
|
<artifactId>spigot</artifactId>
|
||||||
|
<version>1.8-R0.1-SNAPSHOT</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${project.basedir}/lib/spigot.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
|
|
|
@ -108,7 +108,7 @@ public abstract class Command {
|
||||||
|
|
||||||
protected void broadcast(String message, Object... args) {
|
protected void broadcast(String message, Object... args) {
|
||||||
message = ChatColor.translateAlternateColorCodes('&', String.format(message, args));
|
message = ChatColor.translateAlternateColorCodes('&', String.format(message, args));
|
||||||
sender.sendMessage(message);
|
Bukkit.broadcastMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPermission() {
|
public String getPermission() {
|
||||||
|
|
|
@ -17,14 +17,14 @@ public class CommandHelp extends Command {
|
||||||
MarriageCommandExecutor commandExecutor = ((MarriageBase) marriage).getCommandExecutor();
|
MarriageCommandExecutor commandExecutor = ((MarriageBase) marriage).getCommandExecutor();
|
||||||
reply("Author: &alenis0012");
|
reply("Author: &alenis0012");
|
||||||
reply("Version: &a" + marriage.getPlugin().getDescription().getVersion());
|
reply("Version: &a" + marriage.getPlugin().getDescription().getVersion());
|
||||||
reply("&2&m----------&2< &a&lMarriage Command Help &2>&2&m----------"); // Play around with the amount of dashes later
|
reply("&2&m---------&2< &a&lMarriage Command Help &2>&2&m---------"); // Play around with the amount of dashes later
|
||||||
for(Command command : commandExecutor.getSubCommands()) {
|
for(Command command : commandExecutor.getSubCommands()) {
|
||||||
if(command.isHidden()) {
|
if(command.isHidden()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
String alias = command instanceof CommandMarry ? "" : command.getAliases()[0] + " ";
|
String alias = command instanceof CommandMarry ? "" : command.getAliases()[0] + " ";
|
||||||
reply("&a/marry" + alias + " " + command.getUsage() + " &f- &7" + command.getDescription());
|
reply("&a/marry " + alias + command.getUsage() + " &f- &7" + command.getDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
reply("&2&m--------------------------------------------"); // Play around with the amount of dashes later
|
reply("&2&m--------------------------------------------"); // Play around with the amount of dashes later
|
||||||
|
|
|
@ -30,10 +30,27 @@ public class CommandMarry extends Command {
|
||||||
if(Settings.ENABLE_PRIEST.value()) {
|
if(Settings.ENABLE_PRIEST.value()) {
|
||||||
Player player1 = getArgAsPlayer(-1);
|
Player player1 = getArgAsPlayer(-1);
|
||||||
Player player2 = getArgAsPlayer(0);
|
Player player2 = getArgAsPlayer(0);
|
||||||
|
if(player1 == null) {
|
||||||
|
reply(Message.PLAYER_NOT_FOUND, getArg(-1));
|
||||||
|
return;
|
||||||
|
} if(player2 == null) {
|
||||||
|
reply(Message.PLAYER_NOT_FOUND, getArg(0));
|
||||||
|
return;
|
||||||
|
}
|
||||||
MPlayer mp1 = marriage.getMPlayer(player1.getUniqueId());
|
MPlayer mp1 = marriage.getMPlayer(player1.getUniqueId());
|
||||||
MPlayer mp2 = marriage.getMPlayer(player2.getUniqueId());
|
MPlayer mp2 = marriage.getMPlayer(player2.getUniqueId());
|
||||||
|
if(mp1.isMarried() || mp2.isMarried()) {
|
||||||
|
reply(Message.ALREADY_MARRIED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
MPlayer mp = marriage.getMPlayer(player.getUniqueId());
|
MPlayer mp = marriage.getMPlayer(player.getUniqueId());
|
||||||
|
if(!mp.isPriest()) {
|
||||||
|
reply(Message.NOT_A_PRIEST);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
marriage.marry(mp1, mp2);
|
||||||
|
broadcast(Message.MARRIED, player1.getName(), player2.getName());
|
||||||
} else {
|
} else {
|
||||||
Player target = getArgAsPlayer(-1);
|
Player target = getArgAsPlayer(-1);
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
|
|
|
@ -16,7 +16,7 @@ import java.util.concurrent.TimeUnit;
|
||||||
public class CommandSeen extends Command {
|
public class CommandSeen extends Command {
|
||||||
public CommandSeen(Marriage marriage) {
|
public CommandSeen(Marriage marriage) {
|
||||||
super(marriage, "seen");
|
super(marriage, "seen");
|
||||||
setDescription("Check when your partner last logged in to the server.");
|
setDescription("Check when your partner last logged in.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -30,7 +30,8 @@ public enum Message {
|
||||||
TELEPORTED("&aYou have been teleported to your partners location!"),
|
TELEPORTED("&aYou have been teleported to your partners location!"),
|
||||||
TELEPORTED_2("&aYour partner has just teleported to you!"),
|
TELEPORTED_2("&aYour partner has just teleported to you!"),
|
||||||
ONLINE_SINCE("&aYour partner has been &2ONLINE &afor %s!"),
|
ONLINE_SINCE("&aYour partner has been &2ONLINE &afor %s!"),
|
||||||
OFFLINE_SINCE("&aYour partner has been &cOFFLINE &afor %ss!");
|
OFFLINE_SINCE("&aYour partner has been &cOFFLINE &afor %ss!"),
|
||||||
|
NOT_A_PRIEST("&cYou are not permitted to marry 2 players!");
|
||||||
|
|
||||||
private final String defaultMessage;
|
private final String defaultMessage;
|
||||||
private String message;
|
private String message;
|
||||||
|
|
|
@ -88,6 +88,7 @@ public class MarriageCore extends MarriageBase {
|
||||||
MarriageData mdata = new MarriageData(player1.getUniqueId(), player2.getUniqueId());
|
MarriageData mdata = new MarriageData(player1.getUniqueId(), player2.getUniqueId());
|
||||||
((MarriagePlayer) player1).addMarriage(mdata);
|
((MarriagePlayer) player1).addMarriage(mdata);
|
||||||
((MarriagePlayer) player2).addMarriage(mdata);
|
((MarriagePlayer) player2).addMarriage(mdata);
|
||||||
|
dataManager.savePlayer((MarriagePlayer) player1);
|
||||||
return mdata;
|
return mdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,6 +96,15 @@ public class MarriageCore extends MarriageBase {
|
||||||
public ListQuery getMarriageList(int scale, int page) {
|
public ListQuery getMarriageList(int scale, int page) {
|
||||||
return dataManager.listMarriages(scale, page);
|
return dataManager.listMarriages(scale, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void removeMarriage(final MData mdata) {
|
||||||
|
new Thread() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
dataManager.deleteMarriage(mdata.getPlayer1Id(), mdata.getPllayer2Id());
|
||||||
|
}
|
||||||
|
}.start();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unload player from the memory
|
* Unload player from the memory
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package com.lenis0012.bukkit.marriage2.internal.data;
|
package com.lenis0012.bukkit.marriage2.internal.data;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.lenis0012.bukkit.marriage2.Gender;
|
|
||||||
import com.lenis0012.bukkit.marriage2.MData;
|
import com.lenis0012.bukkit.marriage2.MData;
|
||||||
import com.lenis0012.bukkit.marriage2.MPlayer;
|
import com.lenis0012.bukkit.marriage2.MPlayer;
|
||||||
import com.lenis0012.bukkit.marriage2.internal.MarriageCore;
|
import com.lenis0012.bukkit.marriage2.internal.MarriageCore;
|
||||||
|
@ -15,7 +13,6 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
@ -57,11 +54,11 @@ public class DataConverter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int percent = (completed + 1) / totalFiles;
|
// int percent = (int) (((completed + 1) / (double) totalFiles) * 100.0);
|
||||||
if(percent >= lastPercent + 5) {
|
// if(percent >= lastPercent + 5) {
|
||||||
lastPercent += 5;
|
// lastPercent += 5;
|
||||||
reportStatus(percent);
|
// reportStatus(percent);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Insert data into new DB...
|
// Insert data into new DB...
|
||||||
|
@ -98,9 +95,6 @@ public class DataConverter {
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
core.getLogger().log(Level.WARNING, "Failed to convert data for player!", e);
|
core.getLogger().log(Level.WARNING, "Failed to convert data for player!", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
int percent = ++completed / totalFiles;
|
|
||||||
reportStatus(percent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save changes
|
// Save changes
|
||||||
|
@ -126,5 +120,6 @@ public class DataConverter {
|
||||||
bar.append('_');
|
bar.append('_');
|
||||||
}
|
}
|
||||||
bar.append("] (").append(percent).append("%)");
|
bar.append("] (").append(percent).append("%)");
|
||||||
|
core.getLogger().log(Level.INFO, bar.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,9 @@ public class DataManager {
|
||||||
public DataManager(MarriageCore core, FileConfiguration config) {
|
public DataManager(MarriageCore core, FileConfiguration config) {
|
||||||
this.core = core;
|
this.core = core;
|
||||||
String driver = "org.sqlite.JDBC";
|
String driver = "org.sqlite.JDBC";
|
||||||
|
String idLine = "id INTEGER PRIMARY KEY AUTOINCREMENT,";
|
||||||
|
String endLine = ");";
|
||||||
|
|
||||||
if(config.getBoolean("MySQL.enabled")) {
|
if(config.getBoolean("MySQL.enabled")) {
|
||||||
String user = config.getString("MySQL.user", "root");
|
String user = config.getString("MySQL.user", "root");
|
||||||
String pswd = config.getString("MySQL.password", "");
|
String pswd = config.getString("MySQL.password", "");
|
||||||
|
@ -37,6 +40,8 @@ public class DataManager {
|
||||||
String database = config.getString("MySQL.database", "myserver");
|
String database = config.getString("MySQL.database", "myserver");
|
||||||
this.prefix = config.getString("MySQL.prefix", "marriage_");
|
this.prefix = config.getString("MySQL.prefix", "marriage_");
|
||||||
this.url = String.format("jdbc:mysql://%s/%s?user=%s&password=%s", host, database, user, pswd);
|
this.url = String.format("jdbc:mysql://%s/%s?user=%s&password=%s", host, database, user, pswd);
|
||||||
|
idLine = "id INT NOT NULL AUTO_INCREMENT,";
|
||||||
|
endLine = ",PRIMARY KEY(id));";
|
||||||
} else {
|
} else {
|
||||||
this.url = String.format("jdbc:sqlite:%s", new File(core.getPlugin().getDataFolder(), "database.db"));
|
this.url = String.format("jdbc:sqlite:%s", new File(core.getPlugin().getDataFolder(), "database.db"));
|
||||||
this.prefix = "";
|
this.prefix = "";
|
||||||
|
@ -58,17 +63,17 @@ public class DataManager {
|
||||||
+ "priest BIT,"
|
+ "priest BIT,"
|
||||||
+ "lastlogin BIGINT);", prefix));
|
+ "lastlogin BIGINT);", prefix));
|
||||||
statement.executeUpdate(String.format("CREATE TABLE IF NOT EXISTS %sdata ("
|
statement.executeUpdate(String.format("CREATE TABLE IF NOT EXISTS %sdata ("
|
||||||
+ "id INT NOT NULL AUTO_INCREMENT,"
|
+ idLine
|
||||||
+ "player1 VARCHAR(128) NOT NULL,"
|
+ "player1 VARCHAR(128) NOT NULL,"
|
||||||
+ "player2 VARCHAR(128) NOT NULL,"
|
+ "player2 VARCHAR(128) NOT NULL,"
|
||||||
+ "home_world VARCHAR(128) NOT NULL,"
|
+ "home_world VARCHAR(128) NOT NULL,"
|
||||||
+ "home_x DOUBLE,"
|
+ "home_x DOUBLE,"
|
||||||
+ "home_y DOUBLE,"
|
+ "home_y DOUBLE,"
|
||||||
+ "home_z DOUBLE,"
|
+ "home_z DOUBLE,"
|
||||||
+ "home_yaw FLOAT,"
|
+ "home_yaw FLOAT,"
|
||||||
+ "home_pitch FLOAT,"
|
+ "home_pitch FLOAT,"
|
||||||
+ "pvp_enabled BIT,"
|
+ "pvp_enabled BIT"
|
||||||
+ "PRIMARY KEY(id));", prefix));
|
+ endLine, prefix));
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
core.getLogger().log(Level.WARNING, "Failed to load player data", e);
|
core.getLogger().log(Level.WARNING, "Failed to load player data", e);
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -87,7 +92,7 @@ public class DataManager {
|
||||||
Connection connection = newConnection();
|
Connection connection = newConnection();
|
||||||
try {
|
try {
|
||||||
PreparedStatement ps = connection.prepareStatement(String.format(
|
PreparedStatement ps = connection.prepareStatement(String.format(
|
||||||
"SELECT * FROM %splayers WHERE unique_user_id=?;", prefix));
|
"SELECT * FROM %splayers WHERE unique_user_id=?;", prefix));
|
||||||
ps.setString(1, uuid.toString());
|
ps.setString(1, uuid.toString());
|
||||||
player = new MarriagePlayer(uuid, ps.executeQuery());
|
player = new MarriagePlayer(uuid, ps.executeQuery());
|
||||||
loadMarriages(connection, player, false);
|
loadMarriages(connection, player, false);
|
||||||
|
@ -126,30 +131,31 @@ public class DataManager {
|
||||||
// Not in database yet
|
// Not in database yet
|
||||||
ps = connection.prepareStatement(String.format(
|
ps = connection.prepareStatement(String.format(
|
||||||
"INSERT INTO %splayers (unique_user_id,gender,priest,lastlogin) VALUES(?,?,?,?);", prefix));
|
"INSERT INTO %splayers (unique_user_id,gender,priest,lastlogin) VALUES(?,?,?,?);", prefix));
|
||||||
ps.setString(1, player.getUniqueId().toString());
|
player.save(ps);
|
||||||
ps.setString(2, player.getGender().toString());
|
|
||||||
ps.setBoolean(3, player.isPriest());
|
|
||||||
ps.setLong(4, System.currentTimeMillis());
|
|
||||||
ps.executeUpdate();
|
ps.executeUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save marriages
|
// Save marriages
|
||||||
if(player.getMarriage() != null) {
|
if(player.getMarriage() != null) {
|
||||||
MarriageData mdata = (MarriageData) player.getMarriage();
|
MarriageData mdata = (MarriageData) player.getMarriage();
|
||||||
if(mdata.getId() >= 0 || mdata.isSaved()) {
|
ps = connection.prepareStatement(String.format("SELECT * FROM %sdata WHERE player1=? AND player2=?;", prefix));
|
||||||
// Update existing entry
|
ps.setString(1, mdata.getPlayer1Id().toString());
|
||||||
ps = connection.prepareStatement(String.format(
|
ps.setString(2, mdata.getPllayer2Id().toString());
|
||||||
"UPDATE %sdata SET player1=?,player2=?,home_world=?,home_x=?,home_y=?,home_z=?,home_yaw=?,home_pitch=?,pvp_enabled=? WHERE id=?;", prefix));
|
result = ps.executeQuery();
|
||||||
mdata.save(ps);
|
if(result.next()) {
|
||||||
ps.setInt(10, mdata.getId());
|
// Update existing entry
|
||||||
ps.executeUpdate();
|
ps = connection.prepareStatement(String.format(
|
||||||
} else {
|
"UPDATE %sdata SET player1=?,player2=?,home_world=?,home_x=?,home_y=?,home_z=?,home_yaw=?,home_pitch=?,pvp_enabled=? WHERE id=?;", prefix));
|
||||||
mdata.setSaved(true);
|
mdata.save(ps);
|
||||||
ps = connection.prepareStatement(String.format(
|
ps.setInt(10, mdata.getId());
|
||||||
"INSERT INTO %sdata (player1,player2,home_world,home_x,home_y,home_z,home_yaw,home_pitch,pvp_enabled) VALUES(?,?,?,?,?,?,?,?,?);", prefix));
|
ps.executeUpdate();
|
||||||
mdata.save(ps);
|
} else {
|
||||||
ps.executeUpdate();
|
mdata.setSaved(true);
|
||||||
}
|
ps = connection.prepareStatement(String.format(
|
||||||
|
"INSERT INTO %sdata (player1,player2,home_world,home_x,home_y,home_z,home_yaw,home_pitch,pvp_enabled) VALUES(?,?,?,?,?,?,?,?,?);", prefix));
|
||||||
|
mdata.save(ps);
|
||||||
|
ps.executeUpdate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
core.getLogger().log(Level.WARNING, "Failed to load player data", e);
|
core.getLogger().log(Level.WARNING, "Failed to load player data", e);
|
||||||
|
@ -166,7 +172,7 @@ public class DataManager {
|
||||||
|
|
||||||
private void loadMarriages(Connection connection, MarriagePlayer player, boolean alt) throws SQLException {
|
private void loadMarriages(Connection connection, MarriagePlayer player, boolean alt) throws SQLException {
|
||||||
PreparedStatement ps = connection.prepareStatement(String.format(
|
PreparedStatement ps = connection.prepareStatement(String.format(
|
||||||
"SELECT * FROM %sdata WHERE %s=?;", prefix, alt ? "player2" : "player1", prefix));
|
"SELECT * FROM %sdata WHERE %s=?;", prefix, alt ? "player2" : "player1", prefix));
|
||||||
ps.setString(1, player.getUniqueId().toString());
|
ps.setString(1, player.getUniqueId().toString());
|
||||||
ResultSet result = ps.executeQuery();
|
ResultSet result = ps.executeQuery();
|
||||||
while(result.next()) {
|
while(result.next()) {
|
||||||
|
@ -185,6 +191,26 @@ public class DataManager {
|
||||||
loadMarriages(connection, player, true);
|
loadMarriages(connection, player, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deleteMarriage(UUID player1, UUID player2) {
|
||||||
|
Connection connection = newConnection();
|
||||||
|
try {
|
||||||
|
PreparedStatement ps = connection.prepareStatement(String.format("DELETE FROM %sdata WHERE player1=? AND player2=?;", prefix));
|
||||||
|
ps.setString(1, player1.toString());
|
||||||
|
ps.setString(2, player2.toString());
|
||||||
|
ps.executeUpdate();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
core.getLogger().log(Level.WARNING, "Failed to load player data", e);
|
||||||
|
} finally {
|
||||||
|
if(connection != null) {
|
||||||
|
try {
|
||||||
|
connection.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ListQuery listMarriages(int scale, int page) {
|
public ListQuery listMarriages(int scale, int page) {
|
||||||
Connection connection = newConnection();
|
Connection connection = newConnection();
|
||||||
|
|
|
@ -103,7 +103,8 @@ public class MarriageData implements MData {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public UUID getOtherPlayer(UUID me) {
|
public UUID getOtherPlayer(UUID me) {
|
||||||
return me == player1 ? player2 : player1;
|
System.out.println(player1.toString() + " - " + player2.toString() + " > " + me.toString());
|
||||||
|
return me.toString().equalsIgnoreCase(player1.toString()) ? player2 : player1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isSaved() {
|
public boolean isSaved() {
|
||||||
|
|
|
@ -12,6 +12,7 @@ import com.lenis0012.bukkit.marriage2.Gender;
|
||||||
import com.lenis0012.bukkit.marriage2.MData;
|
import com.lenis0012.bukkit.marriage2.MData;
|
||||||
import com.lenis0012.bukkit.marriage2.MPlayer;
|
import com.lenis0012.bukkit.marriage2.MPlayer;
|
||||||
import com.lenis0012.bukkit.marriage2.Marriage;
|
import com.lenis0012.bukkit.marriage2.Marriage;
|
||||||
|
import com.lenis0012.bukkit.marriage2.internal.MarriageCore;
|
||||||
import com.lenis0012.bukkit.marriage2.internal.MarriagePlugin;
|
import com.lenis0012.bukkit.marriage2.internal.MarriagePlugin;
|
||||||
|
|
||||||
public class MarriagePlayer implements MPlayer {
|
public class MarriagePlayer implements MPlayer {
|
||||||
|
@ -103,6 +104,11 @@ public class MarriagePlayer implements MPlayer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void divorce() {
|
public void divorce() {
|
||||||
|
if(marriage == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
((MarriageCore) MarriagePlugin.getInstance()).removeMarriage(marriage);
|
||||||
MarriagePlayer partner = (MarriagePlayer) getPartner();
|
MarriagePlayer partner = (MarriagePlayer) getPartner();
|
||||||
partner.marriage = null;
|
partner.marriage = null;
|
||||||
this.marriage = null;
|
this.marriage = null;
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.lenis0012.bukkit.marriage2.listeners;
|
||||||
|
|
||||||
|
import com.lenis0012.bukkit.marriage2.MPlayer;
|
||||||
|
import com.lenis0012.bukkit.marriage2.internal.MarriageCore;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||||
|
|
||||||
|
public class ChatListener implements Listener {
|
||||||
|
private final MarriageCore core;
|
||||||
|
|
||||||
|
public ChatListener(MarriageCore core) {
|
||||||
|
this.core = core;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerChat(AsyncPlayerChatEvent event) {
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
MPlayer mp = core.getMPlayer(player.getUniqueId());
|
||||||
|
if(mp.isMarried()) {
|
||||||
|
event.setFormat(ChatColor.DARK_RED + ChatColor.BOLD.toString() + "<3 " + ChatColor.RESET.toString() + event.getFormat());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,68 @@
|
||||||
|
package com.lenis0012.bukkit.marriage2.listeners;
|
||||||
|
|
||||||
|
import com.google.common.cache.Cache;
|
||||||
|
import com.google.common.cache.CacheBuilder;
|
||||||
|
import com.google.common.cache.CacheLoader;
|
||||||
|
import com.google.common.cache.LoadingCache;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
import com.lenis0012.bukkit.marriage2.MData;
|
||||||
|
import com.lenis0012.bukkit.marriage2.MPlayer;
|
||||||
|
import com.lenis0012.bukkit.marriage2.internal.MarriageCore;
|
||||||
|
import net.minecraft.server.v1_8_R3.EnumParticle;
|
||||||
|
import net.minecraft.server.v1_8_R3.PacketPlayOutWorldParticles;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class KissListener implements Listener {
|
||||||
|
private final List<String> cooldown = Lists.newArrayList();
|
||||||
|
private final MarriageCore core;
|
||||||
|
|
||||||
|
public KissListener(MarriageCore core) {
|
||||||
|
this.core = core;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerInteract(PlayerInteractEntityEvent event) {
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
Entity e = event.getRightClicked();
|
||||||
|
if(e instanceof Player) {
|
||||||
|
final Player clicked = (Player) e;
|
||||||
|
if(player.isSneaking() && clicked.isSneaking()) {
|
||||||
|
MPlayer mp = core.getMPlayer(player.getUniqueId());
|
||||||
|
if(mp.isMarried()) {
|
||||||
|
MData data = mp.getMarriage();
|
||||||
|
if(clicked.getUniqueId().toString().equalsIgnoreCase(data.getOtherPlayer(player.getUniqueId()).toString())) {
|
||||||
|
if(!cooldown.contains(player.getName()) && !cooldown.contains(clicked.getName())) {
|
||||||
|
cooldown.add(player.getName());
|
||||||
|
cooldown.add(clicked.getName());
|
||||||
|
Location l1 = player.getEyeLocation();
|
||||||
|
Location l2 = clicked.getEyeLocation();
|
||||||
|
Location l = l1.clone().add((l2.getX() - l1.getX()) / 2, (l2.getY() - l1.getY()) / 2, (l2.getZ() - l1.getZ()) / 2);
|
||||||
|
|
||||||
|
PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(EnumParticle.HEART, false, (float) l.getX(), (float) l.getY(), (float) l.getZ(), 0.3F, 0.3F, 0.3F, 1F, 7);
|
||||||
|
for(Player p : player.getWorld().getPlayers()) {
|
||||||
|
((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet);
|
||||||
|
}
|
||||||
|
|
||||||
|
Bukkit.getScheduler().runTaskLater(core.getPlugin(), new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
cooldown.remove(player.getName());
|
||||||
|
cooldown.remove(clicked.getName());
|
||||||
|
}
|
||||||
|
}, 40L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue