Skip to content
This repository has been archived by the owner on May 9, 2021. It is now read-only.

Commit

Permalink
Version 3.0.0
Browse files Browse the repository at this point in the history
- Big storage update
  - Mysql
  - Sqlite
  - MongoDB
  - Json
- code clean up
- new message design
  • Loading branch information
DevKrieger committed Nov 25, 2018
0 parents commit 5276e39
Show file tree
Hide file tree
Showing 54 changed files with 3,637 additions and 0 deletions.
46 changes: 46 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# ---> Java
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

.idea/
*.iml
eclipse.
.settings/
.classpath
.project
nbproject/
nbactions.xml
.idea
src/main/test
build.xml
bin/
dist/
manifest.mf
*/src/main/lombok

target/
test/
logs/
.svn/
*.zip

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

48 changes: 48 additions & 0 deletions coinsystem-bungeecord/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>CoinSystem</artifactId>
<groupId>ch.dkrieger.coinsystem</groupId>
<version>3.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<groupId>ch.dkrieger.coinsystem.bungeecord</groupId>
<artifactId>coinsystem-bungeecord</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>bungeecord-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>ch.dkrieger.coinsystem.core</groupId>
<artifactId>coinsystem-core</artifactId>
<version>${version}</version>
</dependency>
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-bootstrap</artifactId>
<version>1.8-1.12</version>
<scope>provided</scope>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
package ch.dkrieger.coinsystem.bungeecord;

import ch.dkrieger.coinsystem.bungeecord.event.ProxiedCoinPlayerCoinsChangeEvent;
import ch.dkrieger.coinsystem.bungeecord.event.ProxiedCoinPlayerColorSetEvent;
import ch.dkrieger.coinsystem.core.CoinSystem;
import ch.dkrieger.coinsystem.core.DKCoinsPlatform;
import ch.dkrieger.coinsystem.core.event.CoinChangeEventResult;
import ch.dkrieger.coinsystem.core.event.CoinsUpdateCause;
import ch.dkrieger.coinsystem.core.player.CoinPlayer;
import ch.dkrieger.coinsystem.core.player.PlayerColor;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Plugin;
import ch.dkrieger.coinsystem.bungeecord.listeners.PlayerListener;

import java.io.File;

public class BungeeCordCoinSystemBootstrap extends Plugin implements DKCoinsPlatform {

private static BungeeCordCoinSystemBootstrap instance;

@Override
public void onLoad() {
instance = this;

new CoinSystem(this);
}

@Override
public void onEnable() {
BungeeCord.getInstance().getPluginManager().registerListener(this,new PlayerListener());
}
@Override
public void onDisable(){
CoinSystem.getInstance().shutdown();
}

@Override
public String getPlatformName() {
return "BungeeCord";
}

@Override
public String getServerVersion() {
return BungeeCord.getInstance().getVersion()+" | "+BungeeCord.getInstance().getGameVersion();
}

@Override
public File getFolder() {
return new File("plugins/DKCoins/");
}

@Override
public String getColor(CoinPlayer player) {
ProxiedPlayer proxyPlayer = BungeeCord.getInstance().getPlayer(player.getUUID());
if(proxyPlayer == null) return null;
String color = CoinSystem.getInstance().getConfig().defaultColor;
for(PlayerColor colors : CoinSystem.getInstance().getConfig().playerColors){
if(proxyPlayer.hasPermission(colors.getPermission())){
color = colors.getColor();
break;
}
}
ProxiedCoinPlayerColorSetEvent event = new ProxiedCoinPlayerColorSetEvent(color,player,proxyPlayer);
BungeeCord.getInstance().getPluginManager().callEvent(event);
if(event.getColor() != null) color = event.getColor();
return color;
}
@Override
public CoinChangeEventResult executeCoinChangeEvent(CoinPlayer player, Long oldCoins, Long newCoins, CoinsUpdateCause cause, String message) {
ProxiedCoinPlayerCoinsChangeEvent event = new ProxiedCoinPlayerCoinsChangeEvent(player,oldCoins,newCoins,cause,message);
BungeeCord.getInstance().getPluginManager().callEvent(event);
return new CoinChangeEventResult(event.isCancelled(),event.getNewCoins());
}
public static BungeeCordCoinSystemBootstrap getInstance(){
return instance;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package ch.dkrieger.coinsystem.bungeecord.event;

import ch.dkrieger.coinsystem.core.event.CoinsUpdateCause;
import net.md_5.bungee.api.plugin.Event;
import ch.dkrieger.coinsystem.core.player.CoinPlayer;

public class ProxiedCoinPlayerCoinsChangeEvent extends Event{


private CoinPlayer coinplayer;
private Long oldCoins, newCoins;
private boolean cancelled;
private String message;
private CoinsUpdateCause cause;

public ProxiedCoinPlayerCoinsChangeEvent(CoinPlayer coinplayer, Long oldCoins, Long newCoins, CoinsUpdateCause cause, String message){
this.newCoins = newCoins;
this.oldCoins = oldCoins;
this.coinplayer = coinplayer;
this.cause = cause;
this.message = message;
this.cancelled = false;
}
public CoinPlayer getCoinPlayer(){
return this.coinplayer;
}
public String getMessage() {
return message;
}
public Long getNewCoins(){
return this.newCoins;
}
public Long getOldCoins(){
return this.oldCoins;
}
public CoinsUpdateCause getCause() {
return cause;
}
public boolean isCancelled(){
return this.cancelled;
}
public void setCancelled(Boolean value){
this.cancelled = value;
}
public void setNewCoins(Long amount){
this.newCoins = amount;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package ch.dkrieger.coinsystem.bungeecord.event;

/*
* Copyright (c) 2018 Davide W. created on 06.02.18 18:52
*/

import ch.dkrieger.coinsystem.core.player.CoinPlayer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Event;

public class ProxiedCoinPlayerColorSetEvent extends Event{

private String color;
private CoinPlayer player;
private ProxiedPlayer proxiedPlayer;

public ProxiedCoinPlayerColorSetEvent(String color, CoinPlayer player, ProxiedPlayer proxiedPlayer) {
this.color = color;
this.player = player;
this.proxiedPlayer = proxiedPlayer;
}
public String getColor(){
return this.color;
}
public CoinPlayer getPlayer() {
return player;
}

public ProxiedPlayer getProxiedPlayer() {
return proxiedPlayer;
}

public void setColor(String color){
this.color = color;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package ch.dkrieger.coinsystem.bungeecord.listeners;


import ch.dkrieger.coinsystem.bungeecord.BungeeCordCoinSystemBootstrap;
import ch.dkrieger.coinsystem.core.CoinSystem;
import ch.dkrieger.coinsystem.core.manager.MessageManager;
import ch.dkrieger.coinsystem.core.player.CoinPlayer;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.event.LoginEvent;
import net.md_5.bungee.api.event.PlayerDisconnectEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;

public class PlayerListener implements Listener{

@EventHandler
public void onLogin(final LoginEvent event){
BungeeCord.getInstance().getScheduler().runAsync(BungeeCordCoinSystemBootstrap.getInstance(), ()->{
CoinPlayer player = null;
try {
try{
player = CoinSystem.getInstance().getPlayerManager().getPlayerSave(event.getConnection().getUniqueId());
}catch (Exception exception2){}
player = CoinSystem.getInstance().getPlayerManager().getPlayerSave(event.getConnection().getUniqueId());
}catch (Exception exception){
event.setCancelled(true);
event.setCancelReason(new TextComponent("§cError"));
exception.printStackTrace();
}
if(player == null) player = CoinSystem.getInstance().getPlayerManager().createPlayer(event.getConnection().getName()
,event.getConnection().getUniqueId());
else player.updateInfos(event.getConnection().getName(),CoinSystem.getInstance().getPlatform().getColor(player)
,System.currentTimeMillis());
});
}
@EventHandler
public void onLeave(final PlayerDisconnectEvent event){
BungeeCord.getInstance().getScheduler().runAsync(BungeeCordCoinSystemBootstrap.getInstance(),()->{
CoinPlayer player = CoinSystem.getInstance().getPlayerManager().getPlayer(event.getPlayer().getUniqueId());
if(player != null) player.updateInfos(event.getPlayer().getName(),CoinSystem.getInstance().getPlatform().getColor(player)
,System.currentTimeMillis());
});
}
}
7 changes: 7 additions & 0 deletions coinsystem-bungeecord/src/main/resources/bungee.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: DKCoins
author: Dkrieger
description:
version: 3.0.0

main: ch.dkrieger.coinsystem.bungeecord.BungeeCordCoinSystemBootstrap
commands:
68 changes: 68 additions & 0 deletions coinsystem-core/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>CoinSystem</artifactId>
<groupId>ch.dkrieger.coinsystem</groupId>
<version>3.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<groupId>ch.dkrieger.coinsystem.core</groupId>
<artifactId>coinsystem-core</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>bungeecord-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-chat</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-config</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.25.2</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-common</artifactId>
<version>4.1.25.Final</version>
</dependency>
</dependencies>

</project>
Loading

0 comments on commit 5276e39

Please sign in to comment.