package com.example.examplemod;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.text.TextComponentString;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import com.mysql.cj.jdbc.Driver;
import org.apache.logging.log4j.Logger;
import com.ibm.icu.util.BytesTrie.Result;
@Mod(modid = ExampleMod.MODID, name = ExampleMod.NAME, version = ExampleMod.VERSION, serverSideOnly = true, acceptedMinecraftVersions = "[I]", acceptableRemoteVersions = "[/I]", acceptableSaveVersions = "*")
public class ExampleMod
{
public static final String MODID = "examplemod";
public static final String NAME = "Example Mod";
public static final String VERSION = "1.0";
private Connection conn;
private Statement statmt;
private PreparedStatement preparedStatement = null;
private static Logger logger;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
MinecraftForge.EVENT_BUS.register(this);
logger = event.getModLog();
}
@EventHandler
public void init(FMLInitializationEvent event)
{
MySQL("de1-db.falix.gg:3306", "s420032_osn", "u420032_JCOBHivPZO", "d2INAJk3PomSc.jht.TN7sw4");
// some example code
}
@SubscribeEvent
public void onPlayerLogged (PlayerLoggedInEvent e) {
EntityPlayerMP p = (EntityPlayerMP) e.player;
ArrayList<String> v1 = GetBungeeLoginResultNameIp(p.getName());
if (v1 != null) {
if (v1.get(0).equals(p.getName())) {
SetLoginResultNameIp(v1.get(0), v1.get(1));
}
}
else {
e.setCanceled(true);
}
}
public void MySQL(String url, String dbName, String user, String pass) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://" + url + "/" + dbName + "?useUnicode=true&characterEncoding=utf8&autoReconnect=true",
user, pass);
statmt = conn.createStatement();
statmt.execute(
"CREATE TABLE IF NOT EXISTS [ICODE]users[/ICODE] ([ICODE]user[/ICODE] varchar(255) PRIMARY KEY,[ICODE]time[/ICODE] varchar(255) NOT NULL)");
statmt.execute(
"CREATE TABLE IF NOT EXISTS [ICODE]NameIp[/ICODE] ([ICODE]name[/ICODE] varchar(255) PRIMARY KEY,[ICODE]ip[/ICODE] varchar(255) NOT NULL)");
} catch (Exception e) {
e.printStackTrace();
}
}
public void SetLoginResultNameIp(String name, String ip) {
try {
PreparedStatement e = conn
.prepareStatement("INSERT INTO NameIp (name, ip) VALUES (?,?);");
e.setString(1, name);
e.setString(2, ip);
e.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
}