Jump to content

Skript aus Variable ausführen


DasNik03
 Share

Recommended Posts

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?

Link to comment
Share on other sites

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();
	}

 

Link to comment
Share on other sites

Erstmal das Array weg und ne Liste her.

https://stackoverflow.com/questions/5343689/java-reading-a-file-into-an-arraylist

Dann kannst du für jede Zeile dem Spieler ne Nachricht per ForEach schicken:

https://stackoverflow.com/questions/1818729/java-foreach-loop-for-integer-i-list

(Transferaufgabe: Deine Liste ist ArrayList<String> und die Anleitung hat ArrayList<Integer>)

  • Thanks 1
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
 Share

×
×
  • Create New...
B
B