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

Usunięcie itemstacka i zastąpienie czym innym


MieciuXD1234

Rekomendowane odpowiedzi

Opublikowano

nie rozumiem, wytlumacz bardziej.

sprobuje ci pomoc

private static Inventory inv = Bukkit.createInventory(null, 9, "inventory");



public void onClick(InventoryClickEvent e){
if (e.getInventory.getName.equals(inv.getName){
if (e.getSlot == 1){
//tu chceesz cos zrobic?

 

 

 

JAVA <3

 

Opublikowano

Nie, chodzi mi o konkretnie Ci napisze: Jest item np bedrock w pewnym gui i jeśli np. wpisze komendę /cos to usuwa item z tego gui i np. zastępuje go redstone. 

Opublikowano

mozesz zrobic to na zasadzie czegos takiego:

- zapisujesz do czegos gracz_true/false (albo jakas lista (arraylist/hashmap), czy cos, albo .yml)

- przy otwieraniu inventory sprawdzasz czy gracz_true lub gracz_false

- jesli np. false otwierasz gui i ustawiasz inv.setItem(3, itemstack), jesli true inv.setItem(3, itemstacktrue)

 

chcesz caly kod, czy zrozumiales?

 

 

JAVA <3

 

Opublikowano
1 minutę temu, Entify napisał:

mozesz zrobic to na zasadzie czegos takiego:

- zapisujesz do czegos gracz_true/false (albo jakas lista (arraylist), czy cos, albo .yml)

- przy otwieraniu inventory sprawdzasz czy gracz_true lub gracz_false

- jesli np. false otwierasz gui i ustawiasz inv.setItem(3, itemstack), jesli true inv.setItem(3, itemstacktrue)

 

chcesz caly kod, czy zrozumiales?

Tylko 1 nie wiem, jak mam przypisać do gracza true/false. To jak coś to możesz dać.

Zrobiłem tak: if(gracz_false == GuiManager.invhelper.setItem(0, ItemManager.getInstance().getlic)) {

Ale to nie działa o to Ci chodziło?

Opublikowano

w configu:

main.getPlugin().getConfig().options().copyDefaults(true);
main.getPlugin().getConfig().set("gracze."+player+".boolean", true);
i pozniej sprawdzasz
if (main.getPlugin().getConfig().getBoolean("gracze."+player+".boolean")){

(chociaz kilka razy lepiej bylo by z hashmapka, ale ja dopiero ogarniam hashmapki wiec za bardzo w niej nie pomoge, moze ktos inny zrobi ci przyklad na hmapce)

50 minut temu, MieciuXD1234 napisał:

Tylko 1 nie wiem, jak mam przypisać do gracza true/false. To jak coś to możesz dać.

Zrobiłem tak: if(gracz_false == GuiManager.invhelper.setItem(0, ItemManager.getInstance().getlic)) {

Ale to nie działa o to Ci chodziło?

ehh

tu masz przyklad jak sie uczylem/uczeXD

#NIEWIEMCZYTODZIALADOBRZE

package me.entify.hashmaps;

import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class HashMapsPlugin extends JavaPlugin implements Listener{
	
	private static HashMap<Player, Boolean> m = new HashMap();
	
	public void onEnable(){
		getCommand("hashmap").setExecutor(this);
		Bukkit.getPluginManager().registerEvents(this, this);
	}

	
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
		if (cmd.getName().equalsIgnoreCase("hashmap")){
			final Player p = (Player)sender;
			if (args.length != 1){
				sender.sendMessage("Twoja hashmapka wynosi: "+m.get(p));
				sender.sendMessage("/hashmap <true|false>");
				return true;
			}
			if (args[0].equalsIgnoreCase("true")){
				if (m.containsKey(p) && m.get(p)){
					p.sendMessage("Twoja hashmapka wynosi juz true!");
				}
				else{
					m.remove(p);
					m.put(p, true);
					sender.sendMessage("twoja hashmapka wynosi od teraz "+m.get(p));
				}
			}
			else if (args[0].equalsIgnoreCase("false")){
				if (m.containsKey(p) && !m.get(p)){
					p.sendMessage("Twoja hashmapka wynosi juz false!");
				}
				else{
					m.remove(p);
					m.put(p, false);
					sender.sendMessage("twoja hashmapka wynosi od teraz "+m.get(p));
				}
			}
			else if (!args[0].equalsIgnoreCase("false") && !args[0].equalsIgnoreCase("true")){
				p.sendMessage("Downie ty! Zle uzycie!");
			}
		}
		return false;
	}

	@EventHandler
	public void onJoin(final PlayerJoinEvent e){
		final Player p = e.getPlayer();
		if (!m.containsKey(p)){
			m.put(p, true);
			p.sendMessage("Twoja hasmapka wynosi teraz true!");
		}
	}
}

 

 

 

JAVA <3

 

Opublikowano
1 godzinę temu, Entify napisał:

w configu:


main.getPlugin().getConfig().options().copyDefaults(true);
main.getPlugin().getConfig().set("gracze."+player+".boolean", true);
i pozniej sprawdzasz
if (main.getPlugin().getConfig().getBoolean("gracze."+player+".boolean")){

(chociaz kilka razy lepiej bylo by z hashmapka, ale ja dopiero ogarniam hashmapki wiec za bardzo w niej nie pomoge, moze ktos inny zrobi ci przyklad na hmapce)

ehh

tu masz przyklad jak sie uczylem/uczeXD

#NIEWIEMCZYTODZIALADOBRZE


package me.entify.hashmaps;

import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class HashMapsPlugin extends JavaPlugin implements Listener{
	
	private static HashMap<Player, Boolean> m = new HashMap();
	
	public void onEnable(){
		getCommand("hashmap").setExecutor(this);
		Bukkit.getPluginManager().registerEvents(this, this);
	}

	
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
		if (cmd.getName().equalsIgnoreCase("hashmap")){
			final Player p = (Player)sender;
			if (args.length != 1){
				sender.sendMessage("Twoja hashmapka wynosi: "+m.get(p));
				sender.sendMessage("/hashmap <true|false>");
				return true;
			}
			if (args[0].equalsIgnoreCase("true")){
				if (m.containsKey(p) && m.get(p)){
					p.sendMessage("Twoja hashmapka wynosi juz true!");
				}
				else{
					m.remove(p);
					m.put(p, true);
					sender.sendMessage("twoja hashmapka wynosi od teraz "+m.get(p));
				}
			}
			else if (args[0].equalsIgnoreCase("false")){
				if (m.containsKey(p) && !m.get(p)){
					p.sendMessage("Twoja hashmapka wynosi juz false!");
				}
				else{
					m.remove(p);
					m.put(p, false);
					sender.sendMessage("twoja hashmapka wynosi od teraz "+m.get(p));
				}
			}
			else if (!args[0].equalsIgnoreCase("false") && !args[0].equalsIgnoreCase("true")){
				p.sendMessage("Downie ty! Zle uzycie!");
			}
		}
		return false;
	}

	@EventHandler
	public void onJoin(final PlayerJoinEvent e){
		final Player p = e.getPlayer();
		if (!m.containsKey(p)){
			m.put(p, true);
			p.sendMessage("Twoja hasmapka wynosi teraz true!");
		}
	}
}

 

Dobra dzięki już to ogarniam ;))))))) Jeszcze raz dzięki!

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...