Hey leute,
ich bin gerade dabei ein kleines Plugin für meinen Server zu Coden. Es macht bis jetzt wenn man [Shop] auf ein Schild schreibt das dann ein Schild erstellt wird mit dem man sich dann einen Shop kaufen kann. Zum schluss möchte ich es so machen das wenn sich jemand einen Shop kauft das er in eine YML eingetragen wird. Das möchte ich so aussehen lassen:
Shops:
Spielername:
Anzahl: 1
Bis jetzt geht auch alles nur das Werte einspeichern in die YML leider nicht. :/
Kann mir da vieleicht jemand weiterhelfen?
Code:
OnEnable() teil:
loadConfigurations(); teil:
Danke schonmal für alle Antworten!
MFG
Max
ich bin gerade dabei ein kleines Plugin für meinen Server zu Coden. Es macht bis jetzt wenn man [Shop] auf ein Schild schreibt das dann ein Schild erstellt wird mit dem man sich dann einen Shop kaufen kann. Zum schluss möchte ich es so machen das wenn sich jemand einen Shop kauft das er in eine YML eingetragen wird. Das möchte ich so aussehen lassen:
Shops:
Spielername:
Anzahl: 1
Bis jetzt geht auch alles nur das Werte einspeichern in die YML leider nicht. :/
Kann mir da vieleicht jemand weiterhelfen?
Code:
package me.minemax.PeopleCraftSystem;
import java.io.File;
import java.io.IOException;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.block.Sign;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
public class ShopSystemSign implements Listener {
private Economy econ;
private FileConfiguration cfg;
public ShopSystemSign(PeopleCraftSystem peopleCraftSystem) {
this.econ = PeopleCraftSystem.economy;
}
public static void loadShopFile() {
File file = new File("plugins/PeopleCraft-System" + "Shops.yml");
FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);
try {
cfg.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
@EventHandler
public void signplace(SignChangeEvent event) {
Player p = event.getPlayer();
if (p.hasPermission("pcsystem.sign.create")) {
Location loc = event.getPlayer().getLocation();
if (loc.getWorld().getName().equals("spawn")) {
if (event.getLine(0).contains("[Shop]")) {
event.setLine(0, ChatColor.DARK_GREEN + "" + ChatColor.BOLD + "[Shop]");
p.sendMessage(ChatColor.BOLD + "PeopleCraft-ShopSytemschild erfolgreich erstellt!");
}
}
}
if (event.getLine(0).contains("[Shop]")) {
if (!p.hasPermission("pcsystem.sign.create")) {
event.getBlock().breakNaturally();
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Das Schild wurde wieder entfernt da du nicht die Rechte dazu hast");
}
}
}
@EventHandler
public void signclick(PlayerInteractEvent event2) {
Player p = event2.getPlayer();
Location loc2 = p.getLocation();
if (loc2.getWorld().getName().equals("spawn")) {
if (event2.getAction() == Action.RIGHT_CLICK_BLOCK) {
BlockState bs = event2.getClickedBlock().getState();
if (bs instanceof Sign) {
Sign sign = (Sign) bs;
String line0 = sign.getLine(0);
String line1 = sign.getLine(1);
if (line0.contains("[Shop]")) {
int price = 1000;
if (this.econ.has(p.getName(), price)) {
this.econ.withdrawPlayer(p.getName(), price);
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "rg addowner " + line1 + " " + p.getName() + " -w spawn");
Bukkit.getServer().broadcastMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + p.getName() + " hat sich gerade einen Shop gekauft!");
Bukkit.getServer().broadcastMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Mache "+ ChatColor.DARK_RED + "/warp shop" + ChatColor.GRAY + " um alle Spielershops zu sehen.");
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Du hast erfolgreich einen Shop erworben. Viel spass damit!");
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Du hast folgenden Shop erworben: " + line1);
sign.setLine(0, ChatColor.BLACK + " ");
sign.setLine(1, ChatColor.BLACK + "" + ChatColor.BOLD + "Shop von:");
sign.setLine(2, p.getName());
sign.setLine(3, ChatColor.BLACK + " ");
sign.update();
cfg.set("Shops." + p.getName() + ".Anzahl", 1);
} else {
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Du hast nicht genug Geld!");
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Du brauchst: " + ChatColor.DARK_RED + price + ChatColor.GRAY + " Bux");
}
}
}
}
}
}
}
import java.io.File;
import java.io.IOException;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.block.Sign;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
public class ShopSystemSign implements Listener {
private Economy econ;
private FileConfiguration cfg;
public ShopSystemSign(PeopleCraftSystem peopleCraftSystem) {
this.econ = PeopleCraftSystem.economy;
}
public static void loadShopFile() {
File file = new File("plugins/PeopleCraft-System" + "Shops.yml");
FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);
try {
cfg.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
@EventHandler
public void signplace(SignChangeEvent event) {
Player p = event.getPlayer();
if (p.hasPermission("pcsystem.sign.create")) {
Location loc = event.getPlayer().getLocation();
if (loc.getWorld().getName().equals("spawn")) {
if (event.getLine(0).contains("[Shop]")) {
event.setLine(0, ChatColor.DARK_GREEN + "" + ChatColor.BOLD + "[Shop]");
p.sendMessage(ChatColor.BOLD + "PeopleCraft-ShopSytemschild erfolgreich erstellt!");
}
}
}
if (event.getLine(0).contains("[Shop]")) {
if (!p.hasPermission("pcsystem.sign.create")) {
event.getBlock().breakNaturally();
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Das Schild wurde wieder entfernt da du nicht die Rechte dazu hast");
}
}
}
@EventHandler
public void signclick(PlayerInteractEvent event2) {
Player p = event2.getPlayer();
Location loc2 = p.getLocation();
if (loc2.getWorld().getName().equals("spawn")) {
if (event2.getAction() == Action.RIGHT_CLICK_BLOCK) {
BlockState bs = event2.getClickedBlock().getState();
if (bs instanceof Sign) {
Sign sign = (Sign) bs;
String line0 = sign.getLine(0);
String line1 = sign.getLine(1);
if (line0.contains("[Shop]")) {
int price = 1000;
if (this.econ.has(p.getName(), price)) {
this.econ.withdrawPlayer(p.getName(), price);
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "rg addowner " + line1 + " " + p.getName() + " -w spawn");
Bukkit.getServer().broadcastMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + p.getName() + " hat sich gerade einen Shop gekauft!");
Bukkit.getServer().broadcastMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Mache "+ ChatColor.DARK_RED + "/warp shop" + ChatColor.GRAY + " um alle Spielershops zu sehen.");
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Du hast erfolgreich einen Shop erworben. Viel spass damit!");
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Du hast folgenden Shop erworben: " + line1);
sign.setLine(0, ChatColor.BLACK + " ");
sign.setLine(1, ChatColor.BLACK + "" + ChatColor.BOLD + "Shop von:");
sign.setLine(2, p.getName());
sign.setLine(3, ChatColor.BLACK + " ");
sign.update();
cfg.set("Shops." + p.getName() + ".Anzahl", 1);
} else {
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Du hast nicht genug Geld!");
p.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_RED + "PeopleCraft-System" + ChatColor.DARK_GRAY+ "] " + ChatColor.GRAY + "Du brauchst: " + ChatColor.DARK_RED + price + ChatColor.GRAY + " Bux");
}
}
}
}
}
}
}
OnEnable() teil:
loadConfigurations();
loadConfigurations(); teil:
private void loadConfigurations()
{
try
{
ShopSystemSign.loadShopFile();
}
catch (Exception e)
{
System.err.println("[PeopleCraftSystem] Error!");
}
{
try
{
ShopSystemSign.loadShopFile();
}
catch (Exception e)
{
System.err.println("[PeopleCraftSystem] Error!");
}
Danke schonmal für alle Antworten!
MFG
Max