Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Plugin] Lista administracji w gui ONLINE


Rekomendowane odpowiedzi

Opublikowano

plugin pisany ok. 10 minut, można było napisać inaczej, ale ja zrobiłem to w najprostszy sposób. (chodzi mi tutaj o {ONLINE})

Screen nr 1:

https://scr.hu/ZwKjNe

Screen nr 2:

https://scr.hu/M1ZpAq

config.yml:

inventory-size: 9
inventory-name: "&6Administracja"
online:
  tak: "&aTAK"
  nie: "&cNIE"
admins:
  0:
    name: "&8[ &6pan sponsor &8]"
    item-id: 1
    nick-admin: "pan_sponsor"
    lore:
      - "&8>> &7Ranga: &6SPONSOR"
      - "&8>> &7Online: {ONLINE}"
      - "&8>> &7Zajmuje sie: &6sponsorowaniem serwera"
  1:
    name: "&8[ &6pan xxx &8]"
    item-id: 1
    nick-admin: "pan_xxx"
    lore:
      - "&8>> &7Ranga: &6ADMIN"
      - "&8>> &7Online: {ONLINE}"
      - "&8>> &7Zajmuje sie: &6porzadkiem na serwerze"
  2:
    name: "&8[ &6yooniks &8]"
    item-id: 1
    nick-admin: "yooniks"
    lore:
      - "&8>> &7Ranga: &6DEVELOPER"
      - "&8>> &7Online: {ONLINE}"
      - "&8>> &7Zajmuje sie: &6pisaniem pluginow"

mozliwosc ustawienia az 54 czlonkow administracji. (sloty zaczynają sie od 0, kończą 53 - jeśli inventory-size == 54)

 

dl:

http://hostuje.net/file.php?id=a78245483e53b276dbbd961056ad11da

skan:

https://virustotal.com/pl/file/6a0db048bcb0ef594dc15837d1d77ce89d2405ab41f1d0925aa7a98cb22c861e/analysis/1501137363/

 

glowna komenda: "/admins" aliasy: "administracja, admini"

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Opublikowano
2 godziny temu, ˈyøøniks napisał:

plugin pisany ok. 10 minut, można było napisać inaczej, ale ja zrobiłem to w najprostszy sposób. (chodzi mi tutaj o {ONLINE})

Screen nr 1:


https://scr.hu/ZwKjNe

Screen nr 2:


https://scr.hu/M1ZpAq

config.yml:


inventory-size: 9
inventory-name: "&6Administracja"
online:
  tak: "&aTAK"
  nie: "&cNIE"
admins:
  0:
    name: "&8[ &6pan sponsor &8]"
    item-id: 1
    nick-admin: "pan_sponsor"
    lore:
      - "&8>> &7Ranga: &6SPONSOR"
      - "&8>> &7Online: {ONLINE}"
      - "&8>> &7Zajmuje sie: &6sponsorowaniem serwera"
  1:
    name: "&8[ &6pan xxx &8]"
    item-id: 1
    nick-admin: "pan_xxx"
    lore:
      - "&8>> &7Ranga: &6ADMIN"
      - "&8>> &7Online: {ONLINE}"
      - "&8>> &7Zajmuje sie: &6porzadkiem na serwerze"
  2:
    name: "&8[ &6yooniks &8]"
    item-id: 1
    nick-admin: "yooniks"
    lore:
      - "&8>> &7Ranga: &6DEVELOPER"
      - "&8>> &7Online: {ONLINE}"
      - "&8>> &7Zajmuje sie: &6pisaniem pluginow"

mozliwosc ustawienia az 54 czlonkow administracji. (sloty zaczynają sie od 0, kończą 53 - jeśli inventory-size == 54)

 

dl:

http://hostuje.net/file.php?id=ac9e17c5ae84a2de28fc482d2707c0ba

skan:

https://virustotal.com/pl/file/4970344e5a002de7716eedf47b7802d42e1ab00d24bfc0412b1e8a08819e603e/analysis/1501101129/

glowna komenda: "/admins" aliasy: "administracja, admini"

Plugin nie dopracowany, da rade wyrzucać itemy z GUI /admins - w tym przypadku stone.

Opublikowano
7 godzin temu, zastur123 napisał:

Plugin nie dopracowany, da rade wyrzucać itemy z GUI /admins - w tym przypadku stone.

a no tak, zapomniałem zarejestrować listenera w onEnable(), poprawione.

	@Override
	public void onEnable(){
		instance = this;
		this.getConfig().options().copyDefaults(true);
		this.saveConfig();
		this.getCommand("admins").setExecutor(new AdminsCommand());
	}

dl:

http://hostuje.net/file.php?id=a78245483e53b276dbbd961056ad11da

skan:

https://virustotal.com/pl/file/6a0db048bcb0ef594dc15837d1d77ce89d2405ab41f1d0925aa7a98cb22c861e/analysis/1501137363/

8 godzin temu, zastur123 napisał:

Plugin nie dopracowany, da rade wyrzucać itemy z GUI /admins - w tym przypadku stone.

i tak ps. id przedmiotu zmieniasz tutaj:

    item-id: 1

 

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Opublikowano

Kolego, poczytaj sobie o podstawach, bo ten kod to jakaś masakra....
Jak by to powiedział Kiepski "Halina mam zawał"

 

 

Kolego, poczytaj sobie o podstawach, bo ten kod to jakaś masakra....
Jak by to powiedział Kiepski "Halina mam zawał"

public class Util
{
    private static String isonline;
    
    public static String fixColor(final String text, final String player) {
        if (!Bukkit.getOfflinePlayer(player).hasPlayedBefore()) {
            Util.isonline = AdminsPlugin.instance.getConfig().getString("online.nie");
        }
        else {
            final boolean online = Bukkit.getOfflinePlayer(player).isOnline();
            Util.isonline = Boolean.toString(online).replace("false", AdminsPlugin.instance.getConfig().getString("online.nie")).replace("true", AdminsPlugin.instance.getConfig().getString("online.tak"));
        }
        return ChatColor.translateAlternateColorCodes('&', text.replace(">>", "»").replace("<<", "«").replace("*", "\u2022").replace("{ONLINE}", Util.isonline));
    }
    
    public static List<String> fColor(final List<String> strings, final String player) {
        final List<String> colors = new ArrayList<String>();
        for (final String s : strings) {
            colors.add(fixColor(s, player));
        }
        return colors;
    }
}

Bożeee, co to kur** ma być za fix color???

Nie żeby coś, ale musiałem spojrzeć 4 razy, żeby ogarnąć ten kod. Gorzej to nie mogło by być napisane.

1. masz jakąs dziwną metode fixcolor i nie uzywasz jej, tylko robisz .replace("&", "§")

2. ItemBuilder podjeb*ny ...

3. Poczytaj sobie o public, private itd. jak robisz zmienne to zrobi jakieś metody, a nie pobierasz od razu ze zmiennej (estetyka kodu).

4. Bukkit.createInventory((InventoryHolder)null......);  Po cholere cast ? 

5. Uzywasz buildera a robisz 2x to samo... new ItemStack(new ItemBuilder(............));

6. 4 klasy a z 20 -30  punktów bym zrobił ale nie chce mi sie

Opublikowano
3 godziny temu, TheMajster napisał:

Kolego, poczytaj sobie o podstawach, bo ten kod to jakaś masakra....
Jak by to powiedział Kiepski "Halina mam zawał"

 

 

Kolego, poczytaj sobie o podstawach, bo ten kod to jakaś masakra....
Jak by to powiedział Kiepski "Halina mam zawał"


public class Util
{
    private static String isonline;
    
    public static String fixColor(final String text, final String player) {
        if (!Bukkit.getOfflinePlayer(player).hasPlayedBefore()) {
            Util.isonline = AdminsPlugin.instance.getConfig().getString("online.nie");
        }
        else {
            final boolean online = Bukkit.getOfflinePlayer(player).isOnline();
            Util.isonline = Boolean.toString(online).replace("false", AdminsPlugin.instance.getConfig().getString("online.nie")).replace("true", AdminsPlugin.instance.getConfig().getString("online.tak"));
        }
        return ChatColor.translateAlternateColorCodes('&', text.replace(">>", "»").replace("<<", "«").replace("*", "\u2022").replace("{ONLINE}", Util.isonline));
    }
    
    public static List<String> fColor(final List<String> strings, final String player) {
        final List<String> colors = new ArrayList<String>();
        for (final String s : strings) {
            colors.add(fixColor(s, player));
        }
        return colors;
    }
}

Bożeee, co to kur** ma być za fix color???

Nie żeby coś, ale musiałem spojrzeć 4 razy, żeby ogarnąć ten kod. Gorzej to nie mogło by być napisane.

1. masz jakąs dziwną metode fixcolor i nie uzywasz jej, tylko robisz .replace("&", "§")

2. ItemBuilder podjeb*ny ...

3. Poczytaj sobie o public, private itd. jak robisz zmienne to zrobi jakieś metody, a nie pobierasz od razu ze zmiennej (estetyka kodu).

4. Bukkit.createInventory((InventoryHolder)null......);  Po cholere cast ? 

5. Uzywasz buildera a robisz 2x to samo... new ItemStack(new ItemBuilder(............));

6. 4 klasy a z 20 -30  punktów bym zrobił ale nie chce mi sie

yyy po pierwsze nie kiepski tylko pazdzioch i nie halina tylko helena.

 

plugin okej. tylko moze obciazac przy otwieraniu gui

Opublikowano
8 godzin temu, TheMajster napisał:

Kolego, poczytaj sobie o podstawach, bo ten kod to jakaś masakra....
Jak by to powiedział Kiepski "Halina mam zawał"

 

 

Kolego, poczytaj sobie o podstawach, bo ten kod to jakaś masakra....
Jak by to powiedział Kiepski "Halina mam zawał"


public class Util
{
    private static String isonline;
    
    public static String fixColor(final String text, final String player) {
        if (!Bukkit.getOfflinePlayer(player).hasPlayedBefore()) {
            Util.isonline = AdminsPlugin.instance.getConfig().getString("online.nie");
        }
        else {
            final boolean online = Bukkit.getOfflinePlayer(player).isOnline();
            Util.isonline = Boolean.toString(online).replace("false", AdminsPlugin.instance.getConfig().getString("online.nie")).replace("true", AdminsPlugin.instance.getConfig().getString("online.tak"));
        }
        return ChatColor.translateAlternateColorCodes('&', text.replace(">>", "»").replace("<<", "«").replace("*", "\u2022").replace("{ONLINE}", Util.isonline));
    }
    
    public static List<String> fColor(final List<String> strings, final String player) {
        final List<String> colors = new ArrayList<String>();
        for (final String s : strings) {
            colors.add(fixColor(s, player));
        }
        return colors;
    }
}

Bożeee, co to kur** ma być za fix color???

Nie żeby coś, ale musiałem spojrzeć 4 razy, żeby ogarnąć ten kod. Gorzej to nie mogło by być napisane.

1. masz jakąs dziwną metode fixcolor i nie uzywasz jej, tylko robisz .replace("&", "§")

2. ItemBuilder podjeb*ny ...

3. Poczytaj sobie o public, private itd. jak robisz zmienne to zrobi jakieś metody, a nie pobierasz od razu ze zmiennej (estetyka kodu).

4. Bukkit.createInventory((InventoryHolder)null......);  Po cholere cast ? 

5. Uzywasz buildera a robisz 2x to samo... new ItemStack(new ItemBuilder(............));

6. 4 klasy a z 20 -30  punktów bym zrobił ale nie chce mi sie

wut?

Tu masz util:

public class Util {
	
	private static String isonline;
	
	  @SuppressWarnings("deprecation")
	public static String fixColor(String text, String player)
	  {
		  if (!Bukkit.getOfflinePlayer(player).hasPlayedBefore()){
			  isonline = AdminsPlugin.instance.getConfig().getString("online.nie");
		  }
		  else{
			  boolean online = Bukkit.getOfflinePlayer(player).isOnline();
			  isonline = Boolean.toString(online).replace("false", AdminsPlugin.instance.getConfig().getString("online.nie")).replace("true", AdminsPlugin.instance.getConfig().getString("online.tak"));
		  }
		return ChatColor.translateAlternateColorCodes('&', text.replace(">>", "»").replace("<<", "«").replace("*", "•").replace("{ONLINE}", isonline));
	  }

	    public static List<String> fColor(List<String> strings, String player) {
	        List<String> colors = new ArrayList<String>();
	        for (String s : strings)
	            colors.add(fixColor(s, player));
	        return colors;
	    }

}

Tak bylo 10x latwiej zrobic replace dla {ONLINE}, no ale nie zmienilem nazwy metody.

Cytat

1. masz jakąs dziwną metode fixcolor i nie uzywasz jej, tylko robisz .replace("&", "§")

metoda fixcolor służy do całkiem czegoś innego, dlatego jej nie użyłem w np. tworzeniu inventory.

Cytat

4. Bukkit.createInventory((InventoryHolder)null......);  Po cholere cast ? 

Przecież to jasne ,że kod z dekomplikatora, to czego sie spodziewałeś? Pewnie dekompilowałeś procyonem/luytenem.

Oryginalny kod:

	public static final Inventory inv = Bukkit.createInventory(null, AdminsPlugin.instance.getConfig().getInt("inventory-size"), AdminsPlugin.instance.getConfig().getString("inventory-name").replace("&", "§"));
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
		final Player p = (Player)sender;
		final String x = "nullXD";
			p.openInventory(inv);
		    for (String s : AdminsPlugin.instance.getConfig().getConfigurationSection("admins").getKeys(false))
		      inv.setItem(Integer.parseInt(s), new ItemStack(new ItemBuilder(Material.getMaterial(AdminsPlugin.instance.getConfig().getInt("admins."+s+".item-id"))).setTitle(Util.fixColor(AdminsPlugin.instance.getConfig().getString("admins."+s+".name"), x)).addLores(Util.fColor(AdminsPlugin.instance.getConfig().getStringList("admins."+s+".lore"), AdminsPlugin.instance.getConfig().getString("admins."+s+".nick-admin"))).build()));
		return false;
	}
}
Cytat

2. ItemBuilder podjeb*ny ...

chyba nie będę tworzył nowego itembuilder specjalnie dla projektu z 4 klasami, polegajacym na liscie administracji.. Poza tym komu sie chce, jak ma sie gotowe, i nawet dobre pod ręką.

Cytat

3. Poczytaj sobie o public, private itd. jak robisz zmienne to zrobi jakieś metody, a nie pobierasz od razu ze zmiennej (estetyka kodu).

niektóre duże projekty miały tak samo, chciałem zrobić 1 projekt bez metody pobierania instancji.

a co do reszty:

plugin był pisany 10 minut, dlatego ma swój "kod", był pisany pod koniec dnia, gdy skończyłem już kilka pluginów większych, więc też troche nie myślałem.

5 godzin temu, krzukosz napisał:

yyy po pierwsze nie kiepski tylko pazdzioch i nie halina tylko helena.

 

plugin okej. tylko moze obciazac przy otwieraniu gui

:)

11 godzin temu, TheMajster napisał:

Kolego, poczytaj sobie o podstawach, bo ten kod to jakaś masakra....
Jak by to powiedział Kiepski "Halina mam zawał"

 

 

Kolego, poczytaj sobie o podstawach, bo ten kod to jakaś masakra....
Jak by to powiedział Kiepski "Halina mam zawał"


public class Util
{
    private static String isonline;
    
    public static String fixColor(final String text, final String player) {
        if (!Bukkit.getOfflinePlayer(player).hasPlayedBefore()) {
            Util.isonline = AdminsPlugin.instance.getConfig().getString("online.nie");
        }
        else {
            final boolean online = Bukkit.getOfflinePlayer(player).isOnline();
            Util.isonline = Boolean.toString(online).replace("false", AdminsPlugin.instance.getConfig().getString("online.nie")).replace("true", AdminsPlugin.instance.getConfig().getString("online.tak"));
        }
        return ChatColor.translateAlternateColorCodes('&', text.replace(">>", "»").replace("<<", "«").replace("*", "\u2022").replace("{ONLINE}", Util.isonline));
    }
    
    public static List<String> fColor(final List<String> strings, final String player) {
        final List<String> colors = new ArrayList<String>();
        for (final String s : strings) {
            colors.add(fixColor(s, player));
        }
        return colors;
    }
}

Bożeee, co to kur** ma być za fix color???

Nie żeby coś, ale musiałem spojrzeć 4 razy, żeby ogarnąć ten kod. Gorzej to nie mogło by być napisane.

1. masz jakąs dziwną metode fixcolor i nie uzywasz jej, tylko robisz .replace("&", "§")

2. ItemBuilder podjeb*ny ...

3. Poczytaj sobie o public, private itd. jak robisz zmienne to zrobi jakieś metody, a nie pobierasz od razu ze zmiennej (estetyka kodu).

4. Bukkit.createInventory((InventoryHolder)null......);  Po cholere cast ? 

5. Uzywasz buildera a robisz 2x to samo... new ItemStack(new ItemBuilder(............));

6. 4 klasy a z 20 -30  punktów bym zrobił ale nie chce mi sie

w skrócie, 1. metoda fixcolor służy do czegoś innego niż "robienie kolorków", a ,że jestem leniwy to jej nie nazwałem inaczej.
2. reszta to tylko robota twojego dekomplikatora

3. to tak jakbyś kazał mi robić cały czas getXXX w tym:

public class SettingsManager
{
	private static FileConfiguration cf = CorePlugin.getInst().getConfig();
    public static String inventory_menu_name_gui;
    public static String inventory_repair_name_gui;
    public static String inventory_repair_name_item;
    public static List<String> inventory_repair_lore_item;
    public static String inventory_enchant_name_gui;
    public static String inventory_enchant_name_item;
    public static List<String> inventory_enchant_lore_item;
    public static String inventory_shop_sell_name_gui;
    public static String inventory_shop_sell_name_item;
    public static List<String> inventory_shop_sell_lore_item;
    public static String inventory_shop_buy_name_gui;
    public static String inventory_shop_buy_name_item;
    public static List<String> inventory_shop_buy_lore_item;
    public static String messages_shop_error_monety;
    public static String inventory_effects_name_gui;
    public static String inventory_effects_name_item;
    public static List<String> inventory_effects_lore_item;
    public static String messages_enchant_error_item;
    public static String messages_enchant_succes_enchant_item;
    public static String messages_shop_succes_sell;
    public static String messages_shop_succes_buy;
    public static String messages_shop_error_items;
    public static List<String> SIDEBAR_LIST;
    public static String SIDEBAR_HEADER;
    public static String spawn_world;
    public static double spawn_x;
    public static double spawn_y;
    public static double spawn_z;
    public static int spawn_yaw;
    public static int spawn_pitch;
    public static String spawn_error;
    public static String spawn_success;
    public static int spawn_delay;
    public static String permmsg;
    public static boolean permmsg_actionbar;
    public static String perm_actionbar_msg;
    public static String usagemsg;
    public static boolean usage_actionbar;
    public static String usage_actionbar_msg;
    public static String spawn_set;
    public static String spawn_set_actionbar_msg;
    public static String spawn_already_teleport;
    public static boolean spawn_success_actionbar_enable;
    public static String spawn_success_actionbar_msg;
    public static String spawn_teleport_wait;
    public static boolean spawn_teleport_wait_actionbar_enable;
    public static String spawn_teleport_wait_actionbar_msg;

    
    public static void loadConfig() {
        inventory_menu_name_gui = cf.getString("inventory.menu.name-gui");
        inventory_repair_name_gui = cf.getString("inventory.repair.name-gui");
        inventory_repair_name_item = cf.getString("inventory.repair.name-item");
        inventory_repair_lore_item = cf.getStringList("inventory.repair.lore-item");
        inventory_enchant_name_gui = cf.getString("inventory.enchant.name-gui");
        inventory_enchant_name_item = cf.getString("inventory.enchant.name-item");
        inventory_enchant_lore_item = cf.getStringList("inventory.enchant.lore-item");
        inventory_shop_sell_name_gui = cf.getString("inventory.shop.sell.name-gui");
        inventory_shop_sell_name_item = cf.getString("inventory.shop.sell.name-item");
        inventory_shop_sell_lore_item = cf.getStringList("inventory.shop.sell.lore-item");
        inventory_shop_buy_name_gui = cf.getString("inventory.shop.buy.name-gui");
        inventory_shop_buy_name_item = cf.getString("inventory.shop.buy.name-item");
        inventory_shop_buy_lore_item = cf.getStringList("inventory.shop.buy.lore-item");
        messages_shop_error_monety = cf.getString("messages.shop.error-monety");
        inventory_effects_name_gui = cf.getString("inventory.effects.name-gui");
        inventory_effects_name_item = cf.getString("inventory.effects.name-item");
        inventory_effects_lore_item = cf.getStringList("inventory.effects.lore-item");
        messages_enchant_error_item = cf.getString("messages.enchant.error-item");
        messages_enchant_succes_enchant_item = cf.getString("messages.enchant.succes-item-enchant");
        messages_shop_succes_sell = cf.getString("messages.shop.succes-sell");
        messages_shop_succes_buy = cf.getString("messages.shop.succes-buy");
        messages_shop_error_items = cf.getString("messages.shop.error-items");
        SIDEBAR_LIST = cf.getStringList("sidebar.list");
        SIDEBAR_HEADER = cf.getString("sidebar.header");
        spawn_world = cf.getString("spawn.world");
        spawn_x = cf.getDouble("spawn.x");
        spawn_y = cf.getDouble("spawn.y");
        spawn_z = cf.getDouble("spawn.z");
        spawn_yaw = cf.getInt("spawn.yaw");
        spawn_pitch = cf.getInt("spawn.pitch");
        spawn_error = cf.getString("spawn.messages.teleport-error");
        spawn_success = cf.getString("spawn.messages.teleport-success");
        spawn_delay = cf.getInt("spawn.teleport-delay");
        permmsg = cf.getString("permission.error-perm");
        permmsg_actionbar = cf.getBoolean("permission.actionbar.enable");
        perm_actionbar_msg = cf.getString("permission.actionbar.msg");
        usagemsg = cf.getString("usage.error-usage");
        usage_actionbar = cf.getBoolean("usage.actionbar.enable");
        usage_actionbar_msg = cf.getString("usage.actionbar.msg");
        spawn_set = cf.getString("spawn.messages.spawn-set");
        spawn_set_actionbar_msg = cf.getString("spawn.messages.spawn-set-msg-actionbar");
        spawn_already_teleport= cf.getString("spawn.messages.already-teleport");
        spawn_success_actionbar_enable = cf.getBoolean("spawn.actionbar-teleport-success.enable");
        spawn_success_actionbar_msg = cf.getString("spawn.actionbar-teleport-success.msg");
        spawn_teleport_wait = cf.getString("spawn.messages.teleport-wait");
        spawn_teleport_wait_actionbar_enable = cf.getBoolean("spawn.actionbar-teleport-wait.enable");
        spawn_teleport_wait_actionbar_msg = cf.getString("spawn.actionbar-teleport-wait.msg");
    }

.. bezsens, ponad 50 zmiennych i do kazdej metode getXXX?

//

a jak chcesz sie przyczepiac do pluginu zrobionego w 10 minut, to naprawde sobie odpusc..
Coś tu jest źle? Jedynie jest "nieestetycznie" napisane, wiec plz, po co to nawet komentowałeś.. Jedyne co mogłem tu zrobić inaczej to zmienić metode na sprawdzanie czy gracz jest offline (wywalic), i zrobic od razu w lore to, no ale tak jest latwiej.

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Opublikowano
4 godziny temu, ˈyøøniks napisał:

wut?

Tu masz util:


public class Util {
	
	private static String isonline;
	
	  @SuppressWarnings("deprecation")
	public static String fixColor(String text, String player)
	  {
		  if (!Bukkit.getOfflinePlayer(player).hasPlayedBefore()){
			  isonline = AdminsPlugin.instance.getConfig().getString("online.nie");
		  }
		  else{
			  boolean online = Bukkit.getOfflinePlayer(player).isOnline();
			  isonline = Boolean.toString(online).replace("false", AdminsPlugin.instance.getConfig().getString("online.nie")).replace("true", AdminsPlugin.instance.getConfig().getString("online.tak"));
		  }
		return ChatColor.translateAlternateColorCodes('&', text.replace(">>", "»").replace("<<", "«").replace("*", "•").replace("{ONLINE}", isonline));
	  }

	    public static List<String> fColor(List<String> strings, String player) {
	        List<String> colors = new ArrayList<String>();
	        for (String s : strings)
	            colors.add(fixColor(s, player));
	        return colors;
	    }

}

Tak bylo 10x latwiej zrobic replace dla {ONLINE}, no ale nie zmienilem nazwy metody.

metoda fixcolor służy do całkiem czegoś innego, dlatego jej nie użyłem w np. tworzeniu inventory.

Przecież to jasne ,że kod z dekomplikatora, to czego sie spodziewałeś? Pewnie dekompilowałeś procyonem/luytenem.

Oryginalny kod:


	public static final Inventory inv = Bukkit.createInventory(null, AdminsPlugin.instance.getConfig().getInt("inventory-size"), AdminsPlugin.instance.getConfig().getString("inventory-name").replace("&", "§"));

	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
		final Player p = (Player)sender;
		final String x = "nullXD";
			p.openInventory(inv);
		    for (String s : AdminsPlugin.instance.getConfig().getConfigurationSection("admins").getKeys(false))
		      inv.setItem(Integer.parseInt(s), new ItemStack(new ItemBuilder(Material.getMaterial(AdminsPlugin.instance.getConfig().getInt("admins."+s+".item-id"))).setTitle(Util.fixColor(AdminsPlugin.instance.getConfig().getString("admins."+s+".name"), x)).addLores(Util.fColor(AdminsPlugin.instance.getConfig().getStringList("admins."+s+".lore"), AdminsPlugin.instance.getConfig().getString("admins."+s+".nick-admin"))).build()));
		return false;
	}
}

chyba nie będę tworzył nowego itembuilder specjalnie dla projektu z 4 klasami, polegajacym na liscie administracji.. Poza tym komu sie chce, jak ma sie gotowe, i nawet dobre pod ręką.

niektóre duże projekty miały tak samo, chciałem zrobić 1 projekt bez metody pobierania instancji.

a co do reszty:

plugin był pisany 10 minut, dlatego ma swój "kod", był pisany pod koniec dnia, gdy skończyłem już kilka pluginów większych, więc też troche nie myślałem.

:)

w skrócie, 1. metoda fixcolor służy do czegoś innego niż "robienie kolorków", a ,że jestem leniwy to jej nie nazwałem inaczej.
2. reszta to tylko robota twojego dekomplikatora

3. to tak jakbyś kazał mi robić cały czas getXXX w tym:


public class SettingsManager
{
	private static FileConfiguration cf = CorePlugin.getInst().getConfig();
    public static String inventory_menu_name_gui;
    public static String inventory_repair_name_gui;
    public static String inventory_repair_name_item;
    public static List<String> inventory_repair_lore_item;
    public static String inventory_enchant_name_gui;
    public static String inventory_enchant_name_item;
    public static List<String> inventory_enchant_lore_item;
    public static String inventory_shop_sell_name_gui;
    public static String inventory_shop_sell_name_item;
    public static List<String> inventory_shop_sell_lore_item;
    public static String inventory_shop_buy_name_gui;
    public static String inventory_shop_buy_name_item;
    public static List<String> inventory_shop_buy_lore_item;
    public static String messages_shop_error_monety;
    public static String inventory_effects_name_gui;
    public static String inventory_effects_name_item;
    public static List<String> inventory_effects_lore_item;
    public static String messages_enchant_error_item;
    public static String messages_enchant_succes_enchant_item;
    public static String messages_shop_succes_sell;
    public static String messages_shop_succes_buy;
    public static String messages_shop_error_items;
    public static List<String> SIDEBAR_LIST;
    public static String SIDEBAR_HEADER;
    public static String spawn_world;
    public static double spawn_x;
    public static double spawn_y;
    public static double spawn_z;
    public static int spawn_yaw;
    public static int spawn_pitch;
    public static String spawn_error;
    public static String spawn_success;
    public static int spawn_delay;
    public static String permmsg;
    public static boolean permmsg_actionbar;
    public static String perm_actionbar_msg;
    public static String usagemsg;
    public static boolean usage_actionbar;
    public static String usage_actionbar_msg;
    public static String spawn_set;
    public static String spawn_set_actionbar_msg;
    public static String spawn_already_teleport;
    public static boolean spawn_success_actionbar_enable;
    public static String spawn_success_actionbar_msg;
    public static String spawn_teleport_wait;
    public static boolean spawn_teleport_wait_actionbar_enable;
    public static String spawn_teleport_wait_actionbar_msg;

    
    public static void loadConfig() {
        inventory_menu_name_gui = cf.getString("inventory.menu.name-gui");
        inventory_repair_name_gui = cf.getString("inventory.repair.name-gui");
        inventory_repair_name_item = cf.getString("inventory.repair.name-item");
        inventory_repair_lore_item = cf.getStringList("inventory.repair.lore-item");
        inventory_enchant_name_gui = cf.getString("inventory.enchant.name-gui");
        inventory_enchant_name_item = cf.getString("inventory.enchant.name-item");
        inventory_enchant_lore_item = cf.getStringList("inventory.enchant.lore-item");
        inventory_shop_sell_name_gui = cf.getString("inventory.shop.sell.name-gui");
        inventory_shop_sell_name_item = cf.getString("inventory.shop.sell.name-item");
        inventory_shop_sell_lore_item = cf.getStringList("inventory.shop.sell.lore-item");
        inventory_shop_buy_name_gui = cf.getString("inventory.shop.buy.name-gui");
        inventory_shop_buy_name_item = cf.getString("inventory.shop.buy.name-item");
        inventory_shop_buy_lore_item = cf.getStringList("inventory.shop.buy.lore-item");
        messages_shop_error_monety = cf.getString("messages.shop.error-monety");
        inventory_effects_name_gui = cf.getString("inventory.effects.name-gui");
        inventory_effects_name_item = cf.getString("inventory.effects.name-item");
        inventory_effects_lore_item = cf.getStringList("inventory.effects.lore-item");
        messages_enchant_error_item = cf.getString("messages.enchant.error-item");
        messages_enchant_succes_enchant_item = cf.getString("messages.enchant.succes-item-enchant");
        messages_shop_succes_sell = cf.getString("messages.shop.succes-sell");
        messages_shop_succes_buy = cf.getString("messages.shop.succes-buy");
        messages_shop_error_items = cf.getString("messages.shop.error-items");
        SIDEBAR_LIST = cf.getStringList("sidebar.list");
        SIDEBAR_HEADER = cf.getString("sidebar.header");
        spawn_world = cf.getString("spawn.world");
        spawn_x = cf.getDouble("spawn.x");
        spawn_y = cf.getDouble("spawn.y");
        spawn_z = cf.getDouble("spawn.z");
        spawn_yaw = cf.getInt("spawn.yaw");
        spawn_pitch = cf.getInt("spawn.pitch");
        spawn_error = cf.getString("spawn.messages.teleport-error");
        spawn_success = cf.getString("spawn.messages.teleport-success");
        spawn_delay = cf.getInt("spawn.teleport-delay");
        permmsg = cf.getString("permission.error-perm");
        permmsg_actionbar = cf.getBoolean("permission.actionbar.enable");
        perm_actionbar_msg = cf.getString("permission.actionbar.msg");
        usagemsg = cf.getString("usage.error-usage");
        usage_actionbar = cf.getBoolean("usage.actionbar.enable");
        usage_actionbar_msg = cf.getString("usage.actionbar.msg");
        spawn_set = cf.getString("spawn.messages.spawn-set");
        spawn_set_actionbar_msg = cf.getString("spawn.messages.spawn-set-msg-actionbar");
        spawn_already_teleport= cf.getString("spawn.messages.already-teleport");
        spawn_success_actionbar_enable = cf.getBoolean("spawn.actionbar-teleport-success.enable");
        spawn_success_actionbar_msg = cf.getString("spawn.actionbar-teleport-success.msg");
        spawn_teleport_wait = cf.getString("spawn.messages.teleport-wait");
        spawn_teleport_wait_actionbar_enable = cf.getBoolean("spawn.actionbar-teleport-wait.enable");
        spawn_teleport_wait_actionbar_msg = cf.getString("spawn.actionbar-teleport-wait.msg");
    }

.. bezsens, ponad 50 zmiennych i do kazdej metode getXXX?

//

a jak chcesz sie przyczepiac do pluginu zrobionego w 10 minut, to naprawde sobie odpusc..
Coś tu jest źle? Jedynie jest "nieestetycznie" napisane, wiec plz, po co to nawet komentowałeś.. Jedyne co mogłem tu zrobić inaczej to zmienić metode na sprawdzanie czy gracz jest offline (wywalic), i zrobic od razu w lore to, no ale tak jest latwiej.

W 10 minut napewno tego nie pisałeś, patrząc na kod tak sądze. Nie znasz zmiennej boolean, po cholere robisz string na true albo false ??? 

Twój pkt 3.  Co za problem użyć lomboka, albo użyć intelij tam jest funkcja od masowego generowania.

ps. nazwy twoje po angielsku powalają, używaj translatora, bo jak sam próbujesz to ci nie wychodzi.

ItemBuilder, pytałeś sie karolka czy możesz jej użyć?? ja nie widze problemu, jak czytając twoje wypociny, chodzi mi o to że piszesz "duże projekty" to jest dla cb 1-2 min napisanie wlasnej takiej metody.

@krzukoszNapisałem, jak by to kiepski powiedział a nie Paździoch.. Czytaj ze zrozumieniem :)

Opublikowano
1 minutę temu, TheMajster napisał:

W 10 minut napewno tego nie pisałeś, patrząc na kod tak sądze. Nie znasz zmiennej boolean, po cholere robisz string na true albo false ??? 

Twój pkt 3.  Co za problem użyć lomboka, albo użyć intelij tam jest funkcja od masowego generowania.

ps. nazwy twoje po angielsku powalają, używaj translatora, bo jak sam próbujesz to ci nie wychodzi.

ItemBuilder, pytałeś sie karolka czy możesz jej użyć?? ja nie widze problemu, jak czytając twoje wypociny, chodzi mi o to że piszesz "duże projekty" to jest dla cb 1-2 min napisanie wlasnej takiej metody.

tacy jak ty są żałośni, zamiast pisać co jest źle, to musicie krytykować, chyba nie po to jest to forum?

Cytat

W 10 minut napewno tego nie pisałeś, patrząc na kod tak sądze. Nie znasz zmiennej boolean, po cholere robisz string na true albo false ??? 

premiumcase napisałem też coś ok. 10 minut :) Co możesz zobaczeć na yt.

Cytat

ps. nazwy twoje po angielsku powalają, używaj translatora, bo jak sam próbujesz to ci nie wychodzi.

okej, od dzisiaj specjalnie dla ciebie, dlatego iż nie znasz angielskiego będę pisał po polsku, abyś coś rozumiał.

5 minut temu, TheMajster napisał:

W 10 minut napewno tego nie pisałeś, patrząc na kod tak sądze. Nie znasz zmiennej boolean, po cholere robisz string na true albo false ??? 

Twój pkt 3.  Co za problem użyć lomboka, albo użyć intelij tam jest funkcja od masowego generowania.

ps. nazwy twoje po angielsku powalają, używaj translatora, bo jak sam próbujesz to ci nie wychodzi.

ItemBuilder, pytałeś sie karolka czy możesz jej użyć?? ja nie widze problemu, jak czytając twoje wypociny, chodzi mi o to że piszesz "duże projekty" to jest dla cb 1-2 min napisanie wlasnej takiej metody.

ahh, ten piekny task

package pl.majster.antycheat;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;

public class KnockTask
  extends BukkitRunnable
{
  public void run()
  {
	for (Player p : Bukkit.getOnlinePlayers())
    {
      Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ac noknock " + p.getName());
    }
  }
}

 

8 minut temu, TheMajster napisał:

W 10 minut napewno tego nie pisałeś, patrząc na kod tak sądze. Nie znasz zmiennej boolean, po cholere robisz string na true albo false ??? 

Twój pkt 3.  Co za problem użyć lomboka, albo użyć intelij tam jest funkcja od masowego generowania.

ps. nazwy twoje po angielsku powalają, używaj translatora, bo jak sam próbujesz to ci nie wychodzi.

ItemBuilder, pytałeś sie karolka czy możesz jej użyć?? ja nie widze problemu, jak czytając twoje wypociny, chodzi mi o to że piszesz "duże projekty" to jest dla cb 1-2 min napisanie wlasnej takiej metody.

tacy jak ty są żałośni, zamiast pisać co jest źle, to musicie krytykować, chyba nie po to jest to forum?

Cytat

W 10 minut napewno tego nie pisałeś, patrząc na kod tak sądze. Nie znasz zmiennej boolean, po cholere robisz string na true albo false ??? 

premiumcase napisałem też coś ok. 10 minut :) Co możesz zobaczeć na yt.

Cytat

ps. nazwy twoje po angielsku powalają, używaj translatora, bo jak sam próbujesz to ci nie wychodzi.

okej, od dzisiaj specjalnie dla ciebie, dlatego iż nie znasz angielskiego będę pisał po polsku, abyś coś rozumiał.

8 minut temu, TheMajster napisał:

W 10 minut napewno tego nie pisałeś, patrząc na kod tak sądze. Nie znasz zmiennej boolean, po cholere robisz string na true albo false ??? 

Twój pkt 3.  Co za problem użyć lomboka, albo użyć intelij tam jest funkcja od masowego generowania.

ps. nazwy twoje po angielsku powalają, używaj translatora, bo jak sam próbujesz to ci nie wychodzi.

ItemBuilder, pytałeś sie karolka czy możesz jej użyć?? ja nie widze problemu, jak czytając twoje wypociny, chodzi mi o to że piszesz "duże projekty" to jest dla cb 1-2 min napisanie wlasnej takiej metody.

ahh, ten piekny task

package pl.majster.antycheat;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;

public class KnockTask
  extends BukkitRunnable
{
  public void run()
  {
	for (Player p : Bukkit.getOnlinePlayers())
    {
      Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ac noknock " + p.getName());
    }
  }
}

twoj angielski tez nie powala

  public static FileConfiguration config;
  public static int jointime;
  public static int checktime;
  public static int howToBan;
  public static int radius;
  public static int tick;
  public static boolean visible;
  public static List<String> commands;
  public static String permission;
  public static String killmsg;
  public static int TimeDeleteSaveKill;
  public static boolean TaskKnock;
  public static boolean fastbotkill;
  public static int longradius;
  public static String longmessage;
  public static String longpermission;
  public static boolean fastbreakaban;
  public static String fastbreakpermission;
  public static String fastbreakmessage;
  public static Double fastbreakmessagechance;
  
  public static void onLoad()
  {
    config = Main.getPlugin().getConfig();
    jointime = config.getInt("Config.join");
    checktime = config.getInt("Config.check");
    radius = config.getInt("Config.radius");
    tick = config.getInt("Config.tick");
    TimeDeleteSaveKill = config.getInt("Config.savekills.deletetime");
    visible = config.getBoolean("Config.visible");
    TaskKnock = config.getBoolean("Config.knocktask");
    howToBan = config.getInt("Config.kills.max");
    commands = config.getStringList("Config.kills.commands");
    permission = config.getString("Config.message.permission");
    killmsg = config.getString("Config.message.kill");
    fastbotkill = config.getBoolean("Config.fastbot");
    longradius = config.getInt("Config.longradius");
    longmessage = config.getString("Config.longmessage");
    longpermission = config.getString("Config.longpermission");
    fastbreakaban = config.getBoolean("Config.fastbreakaban");
    fastbreakpermission = config.getString("Config.fastbreakpermission");
    fastbreakmessage = config.getString("Config.fastbreakmessage");
    fastbreakmessagechance = Double.valueOf(config.getDouble("Config.fastbreakmessagechance"));

lub to piekne nazywanie zmiennych z duzych liter

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Opublikowano
18 minut temu, ˈyøøniks napisał:

tacy jak ty są żałośni, zamiast pisać co jest źle, to musicie krytykować, chyba nie po to jest to forum?

premiumcase napisałem też coś ok. 10 minut :) Co możesz zobaczeć na yt.

okej, od dzisiaj specjalnie dla ciebie, dlatego iż nie znasz angielskiego będę pisał po polsku, abyś coś rozumiał.

ahh, ten piekny task


package pl.majster.antycheat;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;

public class KnockTask
  extends BukkitRunnable
{
  public void run()
  {
	for (Player p : Bukkit.getOnlinePlayers())
    {
      Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ac noknock " + p.getName());
    }
  }
}

 

tacy jak ty są żałośni, zamiast pisać co jest źle, to musicie krytykować, chyba nie po to jest to forum?

premiumcase napisałem też coś ok. 10 minut :) Co możesz zobaczeć na yt.

okej, od dzisiaj specjalnie dla ciebie, dlatego iż nie znasz angielskiego będę pisał po polsku, abyś coś rozumiał.

ahh, ten piekny task


package pl.majster.antycheat;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;

public class KnockTask
  extends BukkitRunnable
{
  public void run()
  {
	for (Player p : Bukkit.getOnlinePlayers())
    {
      Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ac noknock " + p.getName());
    }
  }
}

twoj angielski tez nie powala


  public static FileConfiguration config;
  public static int jointime;
  public static int checktime;
  public static int howToBan;
  public static int radius;
  public static int tick;
  public static boolean visible;
  public static List<String> commands;
  public static String permission;
  public static String killmsg;
  public static int TimeDeleteSaveKill;
  public static boolean TaskKnock;
  public static boolean fastbotkill;
  public static int longradius;
  public static String longmessage;
  public static String longpermission;
  public static boolean fastbreakaban;
  public static String fastbreakpermission;
  public static String fastbreakmessage;
  public static Double fastbreakmessagechance;
  
  public static void onLoad()
  {
    config = Main.getPlugin().getConfig();
    jointime = config.getInt("Config.join");
    checktime = config.getInt("Config.check");
    radius = config.getInt("Config.radius");
    tick = config.getInt("Config.tick");
    TimeDeleteSaveKill = config.getInt("Config.savekills.deletetime");
    visible = config.getBoolean("Config.visible");
    TaskKnock = config.getBoolean("Config.knocktask");
    howToBan = config.getInt("Config.kills.max");
    commands = config.getStringList("Config.kills.commands");
    permission = config.getString("Config.message.permission");
    killmsg = config.getString("Config.message.kill");
    fastbotkill = config.getBoolean("Config.fastbot");
    longradius = config.getInt("Config.longradius");
    longmessage = config.getString("Config.longmessage");
    longpermission = config.getString("Config.longpermission");
    fastbreakaban = config.getBoolean("Config.fastbreakaban");
    fastbreakpermission = config.getString("Config.fastbreakpermission");
    fastbreakmessage = config.getString("Config.fastbreakmessage");
    fastbreakmessagechance = Double.valueOf(config.getDouble("Config.fastbreakmessagechance"));

lub to piekne nazywanie zmiennych z duzych liter

   

Zaczne od końca i to będzie ostatnie co pisze w tym temacie, bo to nie za sensu pisać z osobą chorującą na mitomanię.

Dałeś mi kod starej klasy (z przed 1/2 roku/lat) gdzie z 2 zmienne zaczynają sie dużymi literami.

Co do taska, normalny task wykonywający komende. Ten task był testowy, zobacz sobie nawet w configu, żeby opcja tego była na false :)

"premiumcase napisałem też coś ok. 10 minut :) Co możesz zobaczeć na yt."    hahaha, już to widzę. 2 monitory, na jednym, kod z którym sie męczyłeś tydzień a na 2 to co przepisujesz...

"okej, od dzisiaj specjalnie dla ciebie, dlatego iż nie znasz angielskiego będę pisał po polsku, abyś coś rozumiał." Czytaj ze zrozumieniem, to ty powiniennes sie uczyć angielskiego.

Aaa, i powtarzasz się Dziecinko ;) 

Kolejny kur*a dzieciak zawitał na zlagowane forum, żeby zarobić pewnie na pisaniu/sprzedawaniu "Autorskich pluginów". Jak byś pisał już tak bardziej profesionalnie to byś zmienił środowisko IDE, eclipse jest chu*owe.  A widzę po kodzie że w eclipse siedzisz.

Opublikowano
10 minut temu, TheMajster napisał:

   

Zaczne od końca i to będzie ostatnie co pisze w tym temacie, bo to nie za sensu pisać z osobą chorującą na mitomanię.

Dałeś mi kod starej klasy (z przed 1/2 roku/lat) gdzie z 2 zmienne zaczynają sie dużymi literami.

Co do taska, normalny task wykonywający komende. Ten task był testowy, zobacz sobie nawet w configu, żeby opcja tego była na false :)

"premiumcase napisałem też coś ok. 10 minut :) Co możesz zobaczeć na yt."    hahaha, już to widzę. 2 monitory, na jednym, kod z którym sie męczyłeś tydzień a na 2 to co przepisujesz...

"okej, od dzisiaj specjalnie dla ciebie, dlatego iż nie znasz angielskiego będę pisał po polsku, abyś coś rozumiał." Czytaj ze zrozumieniem, to ty powiniennes sie uczyć angielskiego.

Aaa, i powtarzasz się Dziecinko ;) 

Kolejny kur*a dzieciak zawitał na zlagowane forum, żeby zarobić pewnie na pisaniu/sprzedawaniu "Autorskich pluginów". Jak byś pisał już tak bardziej profesionalnie to byś zmienił środowisko IDE, eclipse jest chu*owe.  A widzę po kodzie że w eclipse siedzisz.

przyzwyczaiłem sie do eclipse, a co do "zarabiania", czy ja gdzieś robie na zlecenia? Ja sie dopiero uczę :)

Cytat

"premiumcase napisałem też coś ok. 10 minut :) Co możesz zobaczeć na yt."    hahaha, już to widzę. 2 monitory, na jednym, kod z którym sie męczyłeś tydzień a na 2 to co przepisujesz...

2 monitory nie no, teraz to jebłem XDXDXD

robie wszystko na lapku i jest on ujowy, 30fpsów w mc na pustej mapie, nieźle

Cytat

Aaa, i powtarzasz się Dziecinko ;) 

nie mam 11 lat :)

48 minut temu, TheMajster napisał:

   

Zaczne od końca i to będzie ostatnie co pisze w tym temacie, bo to nie za sensu pisać z osobą chorującą na mitomanię.

Dałeś mi kod starej klasy (z przed 1/2 roku/lat) gdzie z 2 zmienne zaczynają sie dużymi literami.

Co do taska, normalny task wykonywający komende. Ten task był testowy, zobacz sobie nawet w configu, żeby opcja tego była na false :)

"premiumcase napisałem też coś ok. 10 minut :) Co możesz zobaczeć na yt."    hahaha, już to widzę. 2 monitory, na jednym, kod z którym sie męczyłeś tydzień a na 2 to co przepisujesz...

"okej, od dzisiaj specjalnie dla ciebie, dlatego iż nie znasz angielskiego będę pisał po polsku, abyś coś rozumiał." Czytaj ze zrozumieniem, to ty powiniennes sie uczyć angielskiego.

Aaa, i powtarzasz się Dziecinko ;) 

Kolejny kur*a dzieciak zawitał na zlagowane forum, żeby zarobić pewnie na pisaniu/sprzedawaniu "Autorskich pluginów". Jak byś pisał już tak bardziej profesionalnie to byś zmienił środowisko IDE, eclipse jest chu*owe.  A widzę po kodzie że w eclipse siedzisz.

kurwa no to jest smieszne, to tak jakbym ja komus komentowal post i krytykowal tylko dlatego ,że zzamiast getInstance od razu uzyl instance i uzyl metody "fixColor" w ktorej robi cos calkiem innego

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

  • JimForce zmienił(a) tytuł na Lista administracji w gui ONLINE
  • 7 miesięcy temu...
  • Marosking zmienił(a) tytuł na [Plugin] Lista administracji w gui ONLINE

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...