Jump to content

Recommended Posts

Posted

Hallo,

Ich habe ein Problem mit der Programmierung meines Minecraft Plugins.

Ich möchte gerne den Skript wie variablen (player) oder methoden wie ChatColor aus einer Variable verwenden können. (Zeile 11)

public void playerJoin(PlayerJoinEvent event) throws IOException
{
	Player player = event.getPlayer();
	readJoinMessage();
	if(joinMessage[0] == null)
	{
		joinMessage[0] = event.getJoinMessage();
	}
	for(int i = 0; joinMessage[i] != null && i < joinMessage.length; i++)
	}
		player.sendMessage(joinMessage[i]);
	}
}

Kann mir bitte jemand helfen?

Posted

Es schreibt Zeile für Zeile aus einer Textdatei in den Arrey joinMessage.

 

	File JoinMessageF = new File("Censored");
	String[] joinMessage = new String[10];
	public void readJoinMessage() throws IOException
	{
		FileReader fr = new FileReader(JoinMessageF);
		BufferedReader br = new BufferedReader(fr);
		int i = 0;
		for(String Line = "none"; Line != null && i < joinMessage.length;)
		{
			Line = br.readLine();
			joinMessage[i] = Line;
			i++;
		}
		br.close();
	}

 

Posted (edited)

Danke, aber das beantwortet nicht meine frage.

Aber mein Skript sieht jetzt so aus:

package Censored;

import java.io.*;
import java.util.*;
import org.bukkit.entity.*;
import org.bukkit.event.*;
import org.bukkit.event.player.*;
import org.bukkit.plugin.java.JavaPlugin;

public class mBridge extends JavaPlugin implements Listener
{
	File JoinMessageF = new File("Censored");
	ArrayList<String> joinMessage = new ArrayList<String>();
	public void readJoinMessage() throws IOException
	{
		Scanner s = new Scanner(JoinMessageF);
		while (s.hasNextLine()){
		    joinMessage.add(s.nextLine());
		}
		s.close();
	}
	@Override
	public void onEnable()
	{
		getServer().getPluginManager().registerEvents(this, this);
		System.out.println("Plugin mBridge successfull enabled!");
	}
	@Override
	public void onDisable()
	{
		System.out.println("Plugin mBridge successfull disabled!");
	}
	@EventHandler
	public void playerJoin(PlayerJoinEvent event) throws IOException
	{
		Player player = event.getPlayer();
		readJoinMessage();
		if(joinMessage.size() == 0)
		{
			joinMessage.add (event.getJoinMessage());
		}
		event.setJoinMessage(null);
		for(int i = 0; i < joinMessage.size(); i++)
		{
			player.sendMessage(joinMessage.get(i));
		}
	}
}

 

Edited by DasNik03
Posted
vor 30 Minuten schrieb DasNik03:

Danke, aber das beantwortet nicht meine frage.

Effektiv hast du bis jetzt nichtmal eine Frage gestellt.

Wenn du dir erhoffst, dass wir dir jetzt ein fertiges Plugin geben, dann hast du dich geschnitten. Du lernst daraus nichts.

Wenn dann kannst du gerne Fragen stellen wie "Wie kann ich dem Spieler eine Nachricht senden?"

Aber Fragen wie "Kann mir bitte einer helfen?" helfen genau nichts, denn bei was überhaupt?

Posted (edited)

Ich hatte gefragt ob und wie es geht, befehle aus der text Datei auch in java auszuführen.

also wenn in der Text Datei z.b. folgendes steht:

ChatColor.Red + "Hallo, " + player.getDisplayName()

folgendes ausgegeben wird:

Hallo, <Name>

und nicht:

ChatColor.Red + "Hallo, " + player.getDisplayName()

 

vor 2 Stunden schrieb DasNik03:

Ich möchte gerne den Skript wie variablen (player) oder methoden wie ChatColor aus einer Variable verwenden können. (Zeile 11)



 

Das ist doch eine Frage

Edited by DasNik03
Posted

Nope, das geht nur mit viel Magie im Hintergrund. Das geht nur mit Reflection und ist recht kompliziert um sowas umzusetzen.

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...
B
B