Jump to content

BloodSKreaper

User
  • Content Count

    456
  • Joined

  • Last visited

  • Days Won

    26

BloodSKreaper last won the day on May 20

BloodSKreaper had the most liked content!

Community Reputation

65 Sehr gut

6 Followers

About BloodSKreaper

  • Rank
    Goldminer

Profil Information

  • Geschlecht
    Männlich
  • Ort
    Zwischen den Zeilen
  • Hobbys
    Betreiben eines Servers

Minecraft Information

  • Minecraft
    BloodSKreaper

Kontakt

Recent Profile Visitors

1839 profile views
  1. Guten Tag, zunächst die Frage, warum es eine Forge Mod sein soll. Mit der Serversoftware spigot kann man Plugins, die dies umsetzen einfach hinzufügen. Mein Lösungsansatz wäre also, auf spigot umzusteigen und hier passende Plugins hinzuzufügen. Für die zusätzliche Minispiele-Welt würde ich auf MultiverseCore zurückgreifen. Für die Portale würde ich das Plugin MultiversePortals verwenden. Freundliche Grüße BloodSKreaper
  2. Die Fehlermeldung wäre praktisch, da man sonst nur raten kann. Auch wäre der genaue eingegebene Befehl interessant. Freundliche Grüße BloodSKreaper
  3. Guten Tag, es wäre praktisch zu wissen, auf welcher Plattform du Minecraft spielst (XBox, Java Version, Windows 10 Edition, etc.) Solltest du auf de Java Edition spielen, so könnte es die Fehlerfindung vereinfachen, wenn du den Debugging-Modus aktivierst (unter Einstellungen des Launchers auf "Ausgabeprotokoll öffnen, sobald das Spiel gestartet wird" aktiviert stellen). Wenn dies aktiviert ist, dann erhälst du ein Fenster in dem ganz viele Textzeilen erscheinen. Am Besten verbindest du dann auf einen Server und schaust, was in diesem Fenster für Meldungen erscheinen. Wenn du nicht selber daraus schlau wirst, dann kannst du die Nachrichten hier rein kopieren und hoffen, dass jemand weiß wie dein Problem zu lösen ist. Freundliche Grüße BloodSKreaper
  4. Guten Tag, sofern Sie den Kaufbeleg haben können Sie sich an den Minecraft Support wenden. Für Fälle wie Ihren hat Mojang folgende Hilfeseite erstellt: https://help.mojang.com/customer/portal/articles/2405037 Am Besten gehen Sie nach der beschriebenen Vorgehensweise vor. Freundliche Grüße BloodSKreaper
  5. Wenn das Ganze dir 10€ wert ist, dann würde ich das gerne übernehmen Freundliche Grüße BloodSKreaper PS: Schreib mir hier einfach eine PN mit allen Infos, die ich benötige
  6. Guten Tag, wenn ich das richtig verstehe, dass du jemanden dafür suchst eine Datei hochzuladen, dann würde ich mich gerne dafür bereit erklären xD Da ich aber nicht glaube, dass das dein ganzes Anliegen ist, bitte ich darum ein paar Erklärungen zu ergänzen. Freundliche Grüße BloodSKreaper
  7. https://www.spigotmc.org/resources/scoreboard.54501/
  8. Guten Tag, im Prinzip kann man das nur mit Java lösen, also einem auf Java basierendem spigot-Plugin. Dies erfordert aber Programmier-Kenntnisse. Generell will ich aber das Konzept einer Verfifizierung der Spieler über E-Mail in Frage stellen: Mit 10-minute Mail kann man sich einfach eine anonyme E-Mail Adresse erstellen und diese zur "Registrierung" verwenden. Das mag jetzt vielleicht etwas krass klingen, aber ich sehe den einzigen Mehrwert eines solchen Systems darin, die E-Mail Adressen der User zu erhalten. An deiner Stelle würde ich lieber auf ein anständiges AntiCheatSystem setzen. Freundliche Grüße BloodSKreaper
  9. Guten Abend, mit diesem Generator sollte dies einfach funktionieren: http://mapmaking.fr/give/ Freundliche Grüße BloodSKreaper
  10. Guten Tag, unter Profiles im Launcher kannst du ein neues Profile mit der Version 1.13 erstellen. Anschließend musst du dieses bei Neuigkeiten auswählen. Freundliche Grüße BloodSKreaper
  11. Guten Tag, nur an Minecraft zu bemessen, was für ein Computer gebraucht wird ist Schwachsinn. Minecraft an sich brauch fast keine Ressourcen, es würde auf jedem Laptop um 200€ perfekt laufen. Es wäre deshalb wichtig zu wissen, was du abgesehen von Minecraft spielen noch mit dem Computer machen willst. Wenn du beispielsweise noch aktuelle Triple-A Titel spielen willst benötigst du eine recht gute Grafikkarte. Auch beim Prozessor ist es wichtig, was du machen willst. Für 3D-Modelling zum Beispiel wird ein sehr guter Prozessor benötigt. Im Prinzip wäre eine genaue Beschreibung von dem, was du mit dem Computer machen willst am Besten. Somit kann ein Overkill vermieden werden und vielleicht Geld gespart werden. Freundliche Grüße BloodSKreaper
  12. Guten Abend Cedrics, interessant wäre sicherlich, was für einen Server du aufbauen willst und wie dieser heißen soll. Die Domain meincraft.net ist soweit ich das sehe ja schon vergriffen. Außerdem finde ich eine Aufbauphase von 2 Jahren recht lang, aber möglicherweise erklärt sich das mit dem Serverkonzept. Ein paar Infos, was das für ein Server sein soll wären sicher hilfreich bei der Entscheidungsfindung. Freundliche Grüße BloodSkreaper
  13. Guten Abend, im Prinzip musst du dann ja speichern, wer als letztes den Spieler geschlagen hat und beim Spielertod durch Void diese Information mitverarbeiten. Wichtig ist hierfür, dass man den Zeitstempel mitspeichert und eben eine bestimmte Zeit festlegt, die zwischen Hit und Tod sein darf. Dies könnte man mit einer HashMap lösen: In der Event-Listener Klasse @EventHandler public void onPvP(EntityDamageByEntityEvent event) { if (event.isCancelled()) return; // Abbruch, wenn Event gecancelled ist. if (!(event.getDamager() instanceof Player && event.getEntity() instanceof Player)) return; // Abbruch, wenn Angreifer oder Verteidiger kein Spieler ist // Speichert in der Verwaltungsklasse für Hits den Angreifer eines Spielers mit der derzeitigen // Zeit in Millisekunden ab. VerwaltungsklasseHits.setLastDamagerOfPlayer((Player) event.getEntity(), System.currentTimeMillis(), (Player) event.getDamager()); } /* * Gekürzte Variante. Wollte ursprünglich deinen Listener benutzen, aber mit so einem * unaufgeräumten Code wie deinem macht das keinen Spaß */ @EventHandler public void onDeath(PlayerDeathEvent e) { Player player = e.getEntity(); Player player2 = e.getEntity().getKiller(); if (player2 == null) { if (VerwaltungsklasseHits.getLastDamagerOfPlayer(player) == null) { // SPIELER IST NICHT DURCH ANDEREN SPIELER GESTORBEN // Hier kommt die Abhandlung für einen dummen Spieler hin: Todesnachricht setzen, etc. return; // Beenden des Unterprogramms } player2 = VerwaltungsklasseHits.getLastDamagerOfPlayer(player); } // Hier kommt die Abhandlung hin, wenn ein Spieler durch einen anderen Spieler getötet, // geschubbst, oder was auch immer wurde. } VerwaltungsklasseHits public class VerwaltungsklasseHits { private static HashMap<UUID, PlayerHit> playerhits = new HashMap<>(); public static void setLastDamagerOfPlayer(Player damagedPlayer, long timestamp, Player attackingPlayer) { PlayerHit ph = new PlayerHit(attackingPlayer.getUniqueId(), timestamp); playerhits.put(damagedPlayer.getUniqueId(), ph); } /* * Gibt die UUID des letzten Angreifers zurück, sofern der letzte Angriff nicht abgelaufen ist Ist * der letzte Angriff zu lange her, so wird null zurückgegeben */ public static UUID getLastDamagerUUIDOfPlayer(Player damagedPlayer) { PlayerHit ph = playerhits.get(damagedPlayer.getUniqueId()); if (ph == null) // Es gibt keinen letzten Angriff return null; if (ph.isOutdated()) {// Letzter Angriff ist zu lange her. playerhits.remove(damagedPlayer.getUniqueId()); // Lösche den abgelaufenen Hit return null; } return ph.getAttackerUUID(); } /* * Gibt den letzten Angreifer zurück, sofern der letzte Angriff nicht abgelaufen ist und der * Angreifer online ist. Ist der letzte Angriff zu lange her oder der Angreifer ist offline, so * wird null zurückgegeben */ public static Player getLastDamagerOfPlayer(Player damagedPlayer) { PlayerHit ph = playerhits.get(damagedPlayer.getUniqueId()); if (ph == null) // Es gibt keinen letzten Angriff return null; if (ph.isOutdated()) {// Letzter Angriff ist zu lange her. playerhits.remove(damagedPlayer.getUniqueId()); // Lösche den abgelaufenen Hit return null; } if (ph.getAttacker() == null) return null; return ph.getAttacker(); } /* * Löscht den PlayerHit-Eintrag eines bestimmten Spielers */ public static void removeLastPlayerHitOfPlayer(Player damagedPlayer) { playerhits.remove(damagedPlayer.getUniqueId()); } } PlayerHit public class PlayerHit { private UUID uuid; private long timestamp; public PlayerHit(UUID uuid, long timestamp) { this.uuid = uuid; this.timestamp = timestamp; } /* * Gibt die Minecraft-UUID des Angreifers zurück. */ public UUID getAttackerUUID() { return uuid; } /* * Wandelt die Minecraft-UUID des Angreifers in einen Spieler um und gibt diesen zurück. Ist der * Spieler der zugehörigen UUID offline, so wird null zurückgegebben. */ public Player getAttacker() { return Bukkit.getServer().getPlayer(uuid); } /* * Gibt zurück, ob der Hit noch aktuell ist, also ob er noch nicht zu lange her ist. */ public boolean isOutdated() { long differenceInMilliseconds = System.currentTimeMillis() - timestamp; //Zeitdifferenz zwischen jetzt und dem Angriff in ms double differenceInSeconds = differenceInMilliseconds / 1000; //Zeitdifferenz zwischen jetzt und dem Angriff in Sekunden if (differenceInSeconds > 10) { //Wenn Angriff länger als 10 Sekunden her then return true, else return false return true; } return false; } } Ich hoffe das ist ausreichend und funktioniert für dich. Habe dein Programm ja nicht und konnte deshalb nicht testen. Freundliche Grüße BloodSKreaper
  14. Guten Tag, Hast du Admin-Rechte?
×
×
  • Create New...